第二章 多变量优化

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

灵敏性分析
对19英寸彩电的价格弹性系数a做灵敏性分 析。 syms x1 x2 a y = (339-a*x1-.003*x2)*x1+(399-.004*x1.01*x2)*x2-(400000+195*x1+225*x2); dydx1 = diff(y,x1) dydx2 = diff(y,x2) [x1maxa,x2maxa] = solve(dydx1,dydx2)
现在加入限制条件:
例2.2 公司现在允许的生产能力每年可以生 产1000台电视(每周约200台),但现在 生产电视所需的电路板不足,电路板供应 商每年可以提供8000块21英寸彩电的电路 板,5000块19英寸彩电电路板。考虑到这 种情况,公司应该怎样确定其生产量。
采用五步法建模
第一步,提出问题。 变量: s=19英寸彩电的售出数量(每年) t=21英寸彩电的售出数量(每年) p=19英寸彩电的销售价格(美元/台) q=21英寸彩电的销售价格(美元/台) C=生产彩电的成本(美元/年) R=彩电的销售收入(美元/年) P=彩电的销售利润(美元/年)
水平集图形:
Optimal level set y = y max and constaint x 1+x 2 = 10000 10000 9000 8000 7000 2 6000 1
x2
x 10 5 4 3
5
5000 0 4000 3000 2000 1000 0 -1 -2 -3 -4
0
2000
应用拉格朗日乘子法
首先考虑约束直线: dydx1 = diff(y,x1); dydx2 = diff(y,x2); dgdx1 = diff(g,x1); dgdx2 = diff(g,x2); [lambdahat, x1hat, x2hat] = solve(dydx1lambda*dgdx1, dydx2-lambda*dgdx2, g);
第三步,推导模型公式
记:x1=s,x2=t,y=P Y=f(x1,x2) =(339-0.01x1-0.003x2)x1+(399-0.004x10.01x2)x2-(400000+195x1+225x2) 目标:求f在满足如下约束的集合S上的最大 值。 S={x1<=5000,x2<=8000,x1+x2<=10000, x1>=0,x2>=0}
可行域
12000
10000
8000
x2
6000
4000
2000
0
0
2000
4000
6000 x1
8000
10000
12000
第四步,模型求解
引入符号变量,定义模型及约束: clear all; close all; syms x1 x2 lambda y = (339-.01*x1-.003*x2)*x1+(399-.004*x1.01*x2)*x2-(400000+195*x1+225*x2); g = x1 + x2 - 10000;
14 12 10 8 6 4 2 0 0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018 a 0.02
计算s(y,a)
dyda=diff(y,a) sya=subs(dyda*a/y,a,0.01)
2.2 Байду номын сангаас格朗日乘子
彩电问题回顾: 例2.1 19英寸彩电:建议零售价339美元/台, 成本195美元/台;21英寸彩电:建议零售 价399美元/台,成本225美元/台。固定成 本:40万美元。 对每种类型的彩电,每售出一台平均售价下 降1美分。每售出一台21英寸彩电,19英 寸彩电平均售价下降0.3美分,反之是0.4 美分。问题是:每种彩电应该各生产多少 台?
假设: p=339-0.01s-0.03t q=399-0.04s-0.01t R=ps+qt C=400000+195s+225t P=R-C S<=5000,t<=8000,s+t<=10000 s>=0,t>=0 目标:求P的最大值。
第二步,选择建模方法
有约束的多变量优化。 拉格朗日乘子法。
第五步,回答问题
p=339-.01*x1-.003*x2 pp=subs(p,[x1,x2],[x1max,x2max]) q=399-.004*x1-.01*x2 qq= subs(q,[x1,x2],[x1max,x2max]) C=400000+195*x1+225*x2 CC= subs(C,[x1,x2],[x1max,x2max]) R=p*x1+q*x2 RR=subs(R,[x1,x2],[x1max,x2max]) PP=RR-CC PPV=PP/RR
第二章 多变量优化
2.1 无约束最优化 例2.1 19英寸彩电:建议零售价339美元/台, 成本195美元/台;21英寸彩电:建议零售 价399美元/台,成本225美元/台。固定成 本:40万美元。 对每种类型的彩电,每售出一台平均售价下 降1美分。每售出一台21英寸彩电,19英 寸彩电平均售价下降0.3美分,反之是0.4 美分。问题是:每种彩电应该各生产多少 台?
(339-1/100 x 1-3/1000 x 2) x 1+...-225 x 2
5
x 10 6 4 2 0 -2 -4 10000
10000 5000 4000 x2 0 2000 0 x1 8000 6000
(339-.01 x 1-.003 x 2) x 1+...-(400000+195 x 1+225 x 2) 10000 9000 8000 7000 6000
考虑其他两条边界:
一条为x2=0,另一条为x1=5000 可重复运用拉格朗日乘子法。 也可将约束条件代入目标函数,然后求解 一维极值问题。
图示表示
figure, ezcontourf(y,[0 5000 0 8000]); hold on; ezplot(y-yhat,[0 5000 0 8000]); hold on; ezplot(g,[0 5000 0 8000]); hold on; plot(x1hat,x2hat,'ko'); colorbar('EastOutside'); title('Optimal level set y = y_{max} and constaints x_1+x_2 \leq 10000, x_1 \leq 5000, x_2\leq 8000');
7000 6000 5000 0.005 0.006 0.007 0.008 0.009 0.01 0.011 0.012 0.013 0.014 0.015 a
计算灵敏性的具体数值,用于刻画灵 敏性的大小。
dx1da=diff(x1maxa,a); Sx1a=dx1da*a/x1maxa; S1=subs(Sx1a,a,0.01) dx2da=diff(x2maxa,a); Sx2a=dx2da*a/x2maxa; S2=subs(Sx2a,a,0.01)
绘制等高线
figure ezcontour('(339-.01*x1-.003*x2)*x1+(399.004*x1-.01*x2)*x2(400000+195*x1+225*x2)',[0,10000,0,100 00]) hold on grid on plot(4735,7043,'ro')
4000 x1
6000
8000
10000
考虑该约束直线的两个端点:
两个端点分别为:(5000,5000),(2000,8000) y1=subs(y,[x1,x2],[5000,5000]) y2=subs(y,[x1,x2],[2000,8000])
y1=515000.00 y2=488000.00
代码实现
clear all; clf; syms x1 x2 y = (339-.01*x1-.003*x2)*x1+(399-.004*x1-.01*x2)*x2(400000+195*x1+225*x2); ezsurf(y,[0 10000 0 10000]); dydx1 = diff(y,x1); dydx2 = diff(y,x2); [x1max, x2max] = solve(dydx1,dydx2); x1max = double(x1max); x2max = double(x2max); ymax=subs(y,[x1,x2],[x1max,x2max]);
Optimal level set y = y max and constaints x 1+x 2 10000, x 1 5000, x 2 8000 8000 7000 6000 5000
输出结果:
format bank lambdahat=double(lambdahat) x1hat = double(x1hat) x2hat = double(x2hat) yhat=subs(y,[x1,x2],[x1hat,x2hat])
绘制水平集:
ezcontourf(y,[0 10000 0 10000]); hold on; ezplot(y-yhat,[0 10000 0 10000]); hold on; ezplot(g,[0 10000 0 10000]); hold on; plot(x1hat,x2hat,'ko'); colorbar('EastOutside') title('Optimal level set y = y_{max} and constaint x_1+x_2 = 10000')
采用五步法建模
第一步,提出问题。 变量: s=19英寸彩电的售出数量(每年) t=21英寸彩电的售出数量(每年) p=19英寸彩电的销售价格(美元/台) q=21英寸彩电的销售价格(美元/台) C=生产彩电的成本(美元/年) R=彩电的销售收入(美元/年) P=彩电的销售利润(美元/年)
假设: p=339-0.01s-0.003t q=399-0.004s-0.01t R=ps+qt C=400000+195s+225t P=R-C s>=0,t>=0 目标:求P的最大值。
利润对a的灵敏性
y=subs(y,[x1,x2],[x1maxa,x2maxa]) ezplot(y,[0,0.02])
y与a之间的关系曲线
5 1662000 (339-1662000/(-49+40000 a) a-144 (-21+7250 a)/(-49+40000 a))/(-49+40000 a)+...-10800000 (-21+7250 a)/(-49+40000 a) x 10 16
灵敏性分析
绘制关系曲线 figure, subplot(2,1,1); ezplot(x1maxa,[0.005,0.015]); subplot(2,1,2); ezplot(x2maxa,[0.005,0.015]);
1662000/(-49+40000 a) 10000 8000 6000 4000 0.005 0.006 0.007 0.008 0.009 0.01 0.011 0.012 0.013 0.014 0.015 a 48000 (-21+7250 a)/(-49+40000 a)
第二步,选择建模方法
无约束的多变量优化 相关的定理:给定定义在n维空间Rn的子集 S上的函数y=f(x1,…,xn),若f在S的某个内 点(x1,…,xn)达极大值或极小值,设f在这点 可微,则在这个点上 f=0.
第三步,推导模型公式
将该问题表示为与建模方法相对应的标准 形式。
第四步,求解模型
x2
5000 4000 3000 2000 1000 0
0
1000 2000
3000 4000
5000 6000 7000 x1
8000 9000 10000
xf 144 0.02 x1 0.007 x2 0 1 f x2 174 0.007 x1 0.02 x2 0 554000 x1 4735 117 x 824000 7043 2 117
相关文档
最新文档