- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
刘攀测控1101u201113455
《系统仿真与matlab》综合试题
题 目:最优生产计划问题(难度系数:)
编 号: 14
难度系数: ( ( ( (
姓 名 刘攀
班 级 测控技术与仪器1101班
学 号 u201113455
联系方式
成 绩
目录:
1.建模过程 ..................................3
2.实现中的关键难点 ...............................4~6
3.程序运行指南 .................................6
4.程序运行实例分析 ..............................7~9
5.个人总结 ...............................10
1.建模过程
最优生产计划问题(难度系数:* * * *)
在许多实际问题中,往往要对一个有多个变量决定的问题求最大值或最小值,这时要用到有哪些信誉好的足球投注网站方法。
模型假设
一计算机公司引进A、B两种类型的芯片技术,总耗资400,000元,准备生产这两种类型的芯片出售 生产一片A芯片的成本为1950元,而市场售价为3390元,生产一片B芯片的成本为2250元,而市场售价为3990元,由于市场存在竞争;每售出一片A芯片,A芯片就会降价0.1元;并且令B芯片降价0.04元,每售出一片B 芯片,B芯片就会降价0.1元,并且令A芯片降价0.03元,假设生产的芯片都能卖出。
(提示:设A、B两种类型的芯片的数量分别为、,市场售价分别为、。用R表示出售所有芯片后的总收入,用C表示生产芯片的总费用,L表示总利润。可知,
,,,
, 目标函数)
仿真要求 首先了解梯度下降算法,用梯度下降算法编程求解此问题。系统输入为A、B两种类型的芯片的初始数量、。系统输出为制订生产的计划,以获得最大利润,以及每次迭代后目标函数的取值。.要求有输入、输出界面,仿真过程。
2.实现中的关键难点
2.1算法描述:梯度下降法
优化算法
许多实际问题利用数学建模的方法得到下面常规的优化形式:min f(x),s.t. g(x) ≥0,
x∈D. 其中,x是一个n维矢量,D是问题的定义域,F可行域。
关于f(x):
当x=(x)时,f(x)是一条曲线;
当x=(x1, x2)时,f(x1, x2)是一个曲面;
当x=(x1, x2, x3)时,f(x1, x2, x3)是一个体密度(或类位势函数);
当x=(x1, x2, …, xn)时,f(x1, x2, …, xn)是一个超曲面。
自然有许多极大值和极小值,必然各有一个全局最大值和全局最小值。
曲面,超曲面,与上相同。有些算法,只能在自己的小范围内有哪些信誉好的足球投注网站极大值或极小值。这些算法称为局部优化算法,常称为经典优化算法。
另有些算法,可以在整个超曲面取值范围内有哪些信誉好的足球投注网站最大值或最小值。这些算法称为全局性优化算法,又称为现代优化算法。
见右图。局部极小值是C点(x0)。
梯度,即导数,但是有方向,是一个矢量。
曲线情况下,表达式为如果,f’(x)0,则
x增加,y也增加,相当于B点;如果
f’(x)0,则x增加,y减小,相当于A点。
要有哪些信誉好的足球投注网站极小值C点,在A点必须向x增加方
向有哪些信誉好的足球投注网站,此时与A点梯度方向相反;在B点
必须向x减小方向有哪些信誉好的足球投注网站,此时与B点梯度方
向相反。总之,有哪些信誉好的足球投注网站极小值,必须向负梯度方
向有哪些信誉好的足球投注网站。
梯度,即导数,但是有方向,是一个矢量。曲线情况下,表达式为:
一般情况下分析:
2.2算法改进:梯度上升法求最大值
以下为核心的算法,迭代过程为:
x1=round(x1+e*s1);
x2=round(x2+e*s2);
其中s1,s2均为函数对x1,x2的偏导
伪代码为:
syms x1;
syms x2;
p1=3390-0.1*x1-0.03*x2;
p2=3990-0.04*x1-0.1*x2;
r=p1*x1+p2*x2;
c=400000+1950*x1+2250*x2;
f=r-c;
zx1=diff(f,x1);
zx2=diff(f,x2);
X1= get(handles.inputx1,String);
X2= get(handles.inputx2,String);
i=1;
l(i)=f(x1,x2);
e=0.8;
文档评论(0)