非线性规划模型ppt课件.ppt
非线性规划模型0:引言: 1:如果目标函数和约束条件有一个或多个变量为非线性函数,则称这种规划问题为非线性规划问题。其模型为: ljxgmixhtsRxxfzjin,2, 1,01.,2, 1,0.),(min2:如果仅有等式约束hi,则可以用lagrange乘子法构造L(x,)=f(x)+ ihi(x)(i为参数),化为无约束优化问题,然后利用无约束优化最优解必要条件来求解。3:故求解时主要考虑只有不等式约束模型: 2,2, 1,0.),(minljxgtsRxxfzjn一:一些非线性规划模型: 1:供应与选址问题: 某公司有6个建筑工地要开工,每个工地的位置(用平面坐标a,b表示,距离单位:千米)及水泥日用量d(吨)由下表给出。目前有两个临时料场位于A(5,1),B(2,7),日储量各有20吨,假设从料场到工地之间均有直线道相连;试制定每天的供应计划,即从A,B两料场分别向各工地运多少吨水泥,使总的吨千米数最小。 为了进一步减少吨千米数,打算舍弃两个临时料场,改建两个新的,日储量仍各有20吨,问应建在何处,节省的吨千米数有多大?123456 a1.258.750.55.7537.25 b1.250.754.7556.57.25 c3547611 工地位置(a,b)及水泥日用量 d解:(1):这是双目标规划问题:一个是收益,一个是风险,一般不能同时满足。将两个函数合并成一个函数,从而使问题简化。 (2)该投资的决策问题的数学模型为: (3)参数意义:=0时,表示不考虑风险;=1时,表示不考虑收益,主要考虑风险。(7) (4)取=1进行求解。非线性规划问题。 3:武器分配问题(p110)4:1995年数学模型竞赛A题:飞行管理问题(p110) 60, 0500021620)(max2121221222121xxxxzgxxxxxxzf约束条件目标函数二:二次规划及有效集法: 1:二次规划的标准形式: 8. .,21)(minbAxtsRHcxHxxxfnnT对称2:如果(8)式中约束条件Ax=b,则可用lagrange乘子法求解:(9) 构造)的最优解。即为(其中解出求导得对9,00,21,xxbAxAcHxxRbAxcxHxxxLmTT3:对有不等式约束的(8);可讨论其约束条件mmmmbxabxabbxaabAx1111把其中起约束的不等式改为不等式,不起约束的不等式去掉,化为等式约束的二次规划求解。称为有效集法。三:用MATLAB优化工具箱解二次规划。 1:解法: (1)化 的标准形。 (2)输入H,c,A,b; (3)用qp 程序求解。bAxtsRHcxHxxxfnnT.,21)(min对称2:常见的qp程序: X=qp(H,c,A,b) x=qp(H,c,A,b,v1) x=qp(H,c,A,b,v1,v2,x0,ne,dis,1)% 解H非正定的QP x,lag=qp(H,c,A,b,,)qp中的参数除H,c,A,b同lp.3:例:求解:0,32222.12422),(min212121212122212121xxxxxxxxtsxxxxxxxxf解:(1)将这个二次规划化为标准形: 322,12211112, 4,2111,21bAcHxxx(2)编程计算: to MATLAB erciguihua.m 结果:x=(0.6667,1.3333) f=-17.5556三:带约束非线性规划的解法: 1:通常解法有: 可行方向法 罚函数法 梯度投影法(参考运筹学清华大学出版社;最优化理论袁亚湘,科学出版社。 逐步二次规划法(MATLAB中采用)2:逐步二次规划法思想:(解模型(1) (1)构造lagrange函数 ,2,11xLxgxhxfxLljjjmiii用二次函数逼近 化为二次规划问题,求解。 (3)实际中是迭代法求解。四:用MATLAB优化工具箱解带约束非线性规划: 1:解法程序: ,2, 1,0, ,0, 0, gradvvoptxfunconstrxoptxfunconstrxxfunconstrxFun.m 文件要同时给出目标函数f和约束条件g。形式为f,g=fun(x);x0为迭代初值;opt为算法选择;v1为下界;v2为上界;grad.m文件要(用分析法)同时给出目标函数f和约束条件g的梯度,形式为df,dg=fun(x);g和dg的表达形式请见下例:2:例:研究:的极小值问题。带约束0, 5 . 11100,212221212212xxxxxxxxxf解:分不给出梯度和给出梯度两种情况。 不给出梯度: to MATlAB notidu.m 给出梯度时 : to MATLAB yestidu.m五:供应与选址问题求解:1:用旧料场时:是一线性规划问题:计算结果如下: to MATLAB liaochxxml.m(调用了liaochxx.m函数)i123456Ci1(料场 A)350701Ci2(料场 B)0040610总吨千米数为liaochxx(x) 为136。2。2:改建新料场的计算:非线性规划问题: to MATLAB liaochml.m结果为:总吨千米数为liaoch(x) 为89.9,比使用原料场减少了46.3.i123456新 料 场位置Ci1(料场 A)354710(5.6348,4.8687)Ci2(料场 B)0000511 (7.2497,7.7499)下图:画出了工地,原料场,新料场的位置(+为工地,*为原料场,o为新料场。)新料场建于用料最大的工地边,你预计到了吗?0123456789012345678六:任务: 求解投资决策问题; 武器分配问题;