第三讲 多变量最优化

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
假设:影响水箱设计的因素很多。在我们的模型中, 考虑水箱的形状和尺寸、体积、表面积,以及圆柱体 和圆锥体的半径。
模型建立:
圆柱体的体积 圆锥体的体积 水箱的容积
V1 R2h1
1 V2 R 2 h2 3
V V1 V2
圆柱体的表面积 圆锥体的表面积 总表面积
S1 2 Rh1
求偏导数并令其为零,可解得
1662000 x 400000a 49 581700 y 8700 40000a 49
可画出x和y关于a的曲线图. 19英寸彩电的价格弹性系数a的提高,会导致 19英寸彩电的最优生产量x的下降,及21英寸 彩电的最优生产量y的提高。而且,图中显示 x比y对于a更敏感。
>> x0 = [0, 0]; >> options = optimset(‘gradobj’, ‘on’); >> [x, yval] = fminunc(‘tvsell’, x0, options)
例:单变量最优化
x f ( x, a ) a x2
求a=1时 f 在区间[-2,1]上的极小值点及极小值. function y = myfun(x, a) y = x/(a+x^2); >> options = optimset(‘tolx’, 1e-004); >> [x, yval] = fminbnd(‘myfun’, -2, 1, options, 1)
如果在求极值时使用函数的梯度,则在目标函数的m-文件 中应有两个输出,第二个输出为目标函数的梯度向量. function [y, g] = tvsell_b(x) y = -(339 - 0.01*x(1) - 0.003*x(2)) * x(1) - (399 - 0.004*x(1) - 0.01*x(2)) * x(2) + (400000 + 195*x(1) + 225*x(2)); g = [144 - 0.02*x(1) - 0.007*x(2), 174 – 0.007*x(1) – 0.02*x(2))];
将L对变量 h1 , h2 , 分别求偏导,并令其为0,即
L 113.04 37.68 0 h1 18.84 h2 L 37.68 0 2 h2 36 h2 L 2 37.68h1 18.84 36 h2 450 0
利用计算机代数系统,求得三位小数的解:
ຫໍສະໝຸດ Baiduatlab 优化函数
无约束多变量函数极小 1) 建立目标函数的m-文件 function y = tvsell(x) y = -(339 - 0.01*x(1) - 0.003*x(2)) * x(1) - (399 - 0.004*x(1) - 0.01*x(2)) * x(2) + (400000 + 195*x(1) + 225*x(2)); 2)求解 >> x0 = [0, 0]; >> [x, yval] = fminunc(‘tvsell’, x0) fminunc
在竞争的销售市场中,每年售出的彩电数量会影响彩电的平 均售价。据估计,对每种类型的彩电,每多售出一台,平均 销售价格会下降1美分。而且19英寸彩电的销售会影响21英 寸彩电的销售,反之亦然。据估计,每售出一台21英寸彩电, 19英寸彩电的平均售价会下降0.3美分,而每售出一台19英 寸彩电,21英寸彩电的平均售价会下降0.4美分。
计算机代数系统--matlab
>> [x, y] = meshgrid(0:400:10000, 0:400:10000); >> z = (339 - 0.01*x - 0.003*y).*x + (399 - 0.004*x - 0.01*y).*y - (400000 + 195*x + 225*y); >> mesh(x, y, z)
问题是:每种彩电应该各生产多少台?
提出问题:
变量:
x=19英寸彩电的售出数量(每年)
假设:
p 339 0.01 x 0.003 y
y=21英寸彩电的售出数量(每年)
p=19英寸彩电的销售价格(美元) q=21英寸彩电的销售价格(美元) R=彩电销售的收入(美元/年) C=生产彩电的成本(美元) P=彩电销售的利润(美元/年)
h1 7.918, h2 5.367, 3.000
f (h1 , h2 ) 1097.11 (m2 )
模型的敏感性:
拉格朗日乘子的值 3.000, 意思是如果总表面积增加1个单位,水箱的 容积大约增加3m2.
Matlab 的优化函数
约束极小
[x, fval, exitflag, ouput, lambda, grad, hessian] = fmincon(‘objfun’, x0, A, b, A1, b1, LB, UB, ‘nonlcon’, options, p1, p2,…)
2 S2 R R 2 h2
S S1 S2
我们希望最大化水箱的容积V,而总表面积S限制 了水箱的容积,所以问题是
1 Max f ( h1 , h2 ) R h1 R 2 h2 3
2
2 s.t . 2 Rh1 R R 2 h2 450.
模型求解: 定义函数
计算可得,在a=0.01时,有
dx 66480000000 22160000000 2 da (40000a 49) 41067
22160000000 0.01 400 S ( x, a ) ( )( ) 1.1 41067 554000 / 117 351
9695 S ( y, a ) 0.27 36153
2
因此,19英寸彩电的价格弹性系数提高10%, 会使利润下降4%.
>> syms a >> z = (339 - a*x - 0.003*y).*x + (399 - 0.004*x - 0.01*y).*y - (400000 + 195*x + 225*y) >> dzdx = diff(z, x) >> dzdy = diff(z, y) >> s = solve('-2*a*x + 144 - 7/1000*y = 0', '-7/1000*x - 1/50*y + 174 = 0', 'x', 'y') >> dxda = diff(s.x, a) >> sxa = dxda * a / s.x >> a = 0.01 >> eval(sxa)
1 2 L( h1 , h2 , ) R h1 R 2 h2 2 Rh1 R R 2 h2 450 3 将 R 6, 3.14 代入,化简得
2
2 L 113.04h1 37.68h2 (37.68h1 18.84 36 h2 450)
21592000 f 553641. 39
回答问题:
这家公司可以通过生成4735台19英寸彩电和 7043台21英寸彩电来获得最大利润,每年获得 的净利润为553641美元,每台19英寸彩电的平 均售价为270.52美元,每台21英寸彩电的平均 售价为309.63美元。生产的总支出为2908000 美元,相应的利润率为19%。因此建议这家公 司应该实行推出新产品的计划。
q 399 0.004 x 0.01 y
R px qy
C 400000 195 x 225 y
P R C
x, y 0
目标:最大化利润函数P
选择建模方法
无约束多变量最优化问题
建立模型: P R C (339 0.01 x 0.003 y ) x (399 0.004 x 0.01 y) y (400000 195 x 225 y)
连续约束优化—拉格朗日乘子法
例:考虑航天飞机上固定在飞机 墙上供宇航员使用的水箱。水箱 的形状类似于谷仓,即在圆柱体 顶部接一个圆锥体。如果其半径 为6m,而总的表面积限定为 450m2,请确定圆柱体和圆锥体 的高度,使谷仓的容积最大。
h1
h2
提出问题:
在满足设计限制的前提下,为宇航员最大化 水箱容积。
多 变 量 最 优 化
例:竞争性产品生产中的利润最大化
一家彩电制造商计划推出两种新产品:一种19英寸液晶平板 电视机,制造商建议零售价为339美元;另一种21英寸液晶 平板电视机,零售价为399美元。公司付出的成本为19英寸 彩电每台195美元,21英寸彩电每台225美元,还要加上 400000美元的固定成本。
灵敏性分析 在向公司报告结论之前,应对我们关于彩电市场 和生产过程所做的假设进行灵敏性分析,以保证 结果具有稳健性。 我们主要关心的是决策变量x和y的值,因为公司 要据此来确定生产量。 对19英寸彩电的价格弹性系数a的灵敏性进行分析.
P (339 ax 0.003 y ) x (399 0.004 x 0.01 y ) y (400000 195 x 225 y ) 144 x 0.01 x 2 174 y 0.01 y 2 0.007 xy 400000
如果将19英寸彩电的价格弹性系数提高10%,则 我们应将19英寸彩电的生产量缩小11%,21英寸 彩电的生产量扩大2.7%.
考虑y对于a的灵敏性。 计算可得,在a=0.01时,有
dP P dx P dy P P 2 x1 a da x da y da a
0.01 554000 S ( y, a ) 0.40 117 (21592000 / 39)
min f ( x )
x
s .t . Ax b A1 x b1 C ( x) 0 C1 ( x ) 0 LB x UB .
例:求解极值问题
2 2 min f ( x ) e x1 (4 x1 2 x2 4 x1 x2 2 x2 1)
s.t . x1 x2 1, 1.5 x1 x2 x1 x2 0, x1 x2 10 0, x1 0, x2 0.
function y = funobj(x) y = exp(x(1)) * (4*x(1)^2 + 2*x(2)^2 + 4*x(1)*x(2) + 2*x(2) + 1);
function [c1, c2] = nonlcon(x) c1 = [1.5 + x(1)*x(2) - x(1) - x(2); -x(1)*x(2) - 10]; c2 = 0; >> x0 = [1, 1]; >> A = [1, -1]; b = 1; >> LB = [0, 0]; UB = [inf, inf]; >> [x,f] = fmincon('funobj', x0, A, b, [], [], LB, UB, 'nonlcon')
>> syms x y >> z = (339 - 0.01*x - 0.003*y).*x + (399 - 0.004*x - 0.01*y).*y - (400000 + 195*x + 225*y); >> dzdx = diff(z, x) >> dzdy = diff(z, y) >> s = solve(‘-1/50*x + 144 - 7/1000*y = 0', '-7/1000*x - 1/50*y + 174 = 0', 'x', 'y') >> subs(z, {x, y}, [s.x, s.y])
144 x 0.01 x 2 174 y 0.01 y 2 0.007 xy 400000
P 求解模型: 144 0.02 x 0.007 y 0 x P 174 0.007 x 0.02 y 0 y
解得全局极大值点
x 4735, y 7043.
相关文档
最新文档