第十章非线性规划.docVIP

  • 1
  • 0
  • 约3.02千字
  • 约 6页
  • 2019-07-05 发布于江苏
  • 举报
第十章 非线性规划 §10—1 问题提出----公交公司的营运策略 一个大型的公交公司: (1)年预算2亿元; (2)营业额与全部营运车辆的总里程M成正比,总里程M与车辆数B、员工总人数W、燃油总量F的关系(统计分析而得的经验公式)是 , (其中,M单位千公里;F单位立方米); (3)初始:B=700,W=2200 ; (4)各项费用:购新车21万元每辆,卖车得7.5万元每辆,维护费0.8万元每辆,雇佣新员工0.8万元每个,解雇旧员工0.6万元每个,年薪3万元每个员工,油价0.3万元每立方米; (5)每辆车:至少配备3个员工,至多燃50立方米油。 请提供营运策略,使营业额最大。 §10—2 问题分析与模型建立 这是优化问题,优化问题的三个要素是决策变量、约束条件和目标函数。 决策变量:购买车数;出售车数;新雇员工数;解雇员工数;每车年燃油量 。 约束条件:年预算约束;车数与员工数;每车的最大燃油量;非负性。 目标函数:总里程M的最大化。 根据题给数据,建立如下优化模型: (注意到,在目标函数、约束条件的表达式中,决策变量不是以线性形式出现的) §10—3 数学知识:非线性规划 1.无约束优化问题 ,其中向量的n个分量都是决策变量,称目标函数。 用Matlab求解:先建立函数文件mbhs.m,内容是的表达式;再回到Matlab命令区,输入决策变量初值数据x0,执行命令 [x,fmin]=fminunc(@mbhs,x0) 如:的最优解是 用Matlab计算,函数文件为 function f=mbhs(x) f=2*x(1)^2+3*x(2)^2; 再输入初值 x0=[1;1]; 并执行上述命令,结果输出为 x = 1.0e-008 * 0.1253 0.3817 fmin = 4.6849e-017 2.约束优化问题 其中:向量的n个分量都是决策变量,称目标函数、等式约束函数、不等式约束函数、L下界、U上界。 用Matlab求解:先把模型写成适用于Matlab的标准形式 约束条件中:把线性的式子提炼出来得前两个式子;后三个式子都是列向量。 (如: ) 再建立两个函数文件:目标函数mbhs.m;约束函数yshs.m 再回到Matlab命令区,输入各项数据及决策变量初值数据x0,执行命令 [x,fmin]=fmincon(@mbhs,x0,A,b,Aeq,beq,L,U,@yshs) 例:单位球内, 曲面的上方, 平面之中(不是上面), 满足上述三个条件的区域记为D,求函数 在D上的最大值、最大值点。 解: (1)目标函数mbhs.m function f=mbhs(x) f=-exp(x(1)*x(2)*x(3))*sin(x(1)+x(2)-x(3))-exp(-x(1)*x(2))*cos(x(3)^2-1); (2)约束函数yshs.m function [g,h]=yshs(x) g=[x(1)^2+x(2)^2+x(3)^2-1;x(1)^2+x(2)^2-0.5-0.1*x(1)*x(2)-x(3)]; h=[]; (3)数据准备 x0=[0.0;0.02;0.02];A=[];b=[];Aeq=[1,1,1];beq=0.08; L=[-1;-1;-1];U=[1;1;1]; (4)执行命令 [x,fmin]=fmincon(@mbhs,x0,A,b,Aeq,beq,L,U,@yshs) (5)结果 x = 0.2367 0.2368 -0.3935 fmin = -1.3732 答:最大值点(0.2367,0.2368,-0.3935),最大值1.3732 §10—4 模型求解 (1)目标函数mbhs.m function f=mbhs(x) f=-15.7*(700+x(1)-x(2))^0.06*(2200+ x(3)-x(4))^0.32*((700+x(1)-x(2))*x(5))^0.56; (2)约束函数yshs.m function [g,h]=yshs(x) g=21.8*x(1)-8.3*x(2)+3.8*x(3)-2.4*x(4)+210*x(5)+0.3*(x(1)-x(2))*x(5)-12840; h=[]; (3)数据准备 x0=[0;0;0;0;25];A=[3,-3,-1,1,0];b=100;Aeq=[];beq=[]; L=[0;0;0;0;0];U=[Inf; Inf; Inf; Inf;50]; (4)执行命令 [x,fmin]=fmincon(@mbhs,x0,A,b,Aeq,beq,L,U,@yshs) (5)结果 x

文档评论(0)

1亿VIP精品文档

相关文档