




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MATLAB 优化应用1线性规划模型一、线性规划课题:实例i :生产计划问题假设某厂计划生产甲、乙两种产品,现库存主要材料有 A类3600公斤,B类2000公斤,C类3000公斤。每件甲产品需用材料 A类9公斤,B类4公 斤,C类3公斤。每件乙产品,需用材料 A类4公斤,B类5公斤,C类10公斤。甲单位产品的利润70元,乙单位产品的利润120元。问如何安排生产, 才能使该厂所获的利润最大。建立数学模型:设x1、x2分别为生产甲、乙产品的件数。f为该厂所获总润。max 仁70x1+120x 2s.t 9x 1+4x 2 0实例2 :投资问题某公司有一批资金用于 4个工程项目的投资,其投资各项目时
2、所得的净收益 (投入资金锪百分比)如下表:工程项目收益表工程项目ABCD收益(%)1510812由于某种原因,决定用于项目A的投资不大于其他各项投资之和而用于项目B和C的投资要大于项目D的投资。试确定全文该公司收益最大的投资分配方案。建立数学模型:设x1、x2、x3、x4分别代表用于项目A、B、C、D的投资百分数。max 仁0.15x1+0.1x 2+0.08 x 3+0.12 x 4s.t x 1-x 2- x 3 - x 4 v 0x2+ x 3- x 4 0x 1+x 2 +x 3+ x 4=1Xj 0 j=1,2,3,4实例3 :运输问题有A、B、C三个食品加工厂,负责供给甲、乙、丙、
3、丁四个市场。三个厂每天生产食品箱数上限如下表:工厂ABC生产数604050四个市场每天的需求量如下表:市场甲乙丙丁需求量20353334从各厂运到各市场的运输费(元/每箱)由下表给出:收占 发 占市场甲乙丙丁工A2132厂B1321C3411求在基本满足供需平衡的约束条件下使总运输费用最小。建立数学模型:设ai j为由工厂i运到市场j的费用,Xi j是由工厂i运到市场j的箱数。bi是工厂i的产量,dj是市场j的需求量。b= ( 60 40 50 )d= ( 20 35 33 34 )s.t当我们用MATLAB软件作优化问题时,所有求 maxf的问题化为求min(-f )来作。约束g i (x)
4、 0,化为-g i0来作。上述实例去掉实际背景,归结出规划问题:目标函数和约束条件都是变量x的线性函数。形如: (1)min f T Xs.t A X bAeq X =beqlb X ub其中X为n维未知向量,f T=f 1化,们为目标函数系数向量,小于等于约束系数矩阵A为mx n矩阵,b为其右端m维列向量,Aeq为等式约束系数矩阵,beq为等式约束右端常数列向量。lb,ub为自变量取值上界与下界约束的n维常数向量。二.线性规划问题求最优解函数:调用格式:x=linprog(f Ab)x=li nprog(f,A,b,Aeq,beq)x=li nprog(f,A,b,Aeq,beq,lb,ub
5、)x=li nprog(f,A,b,Aeq,beq,lb,ub,xO)x=li nprog(f,A,b,Aeq,beq,lb,ub,xO,optio ns)x,fval=li nprog()x, fval, exitflag=li nprog()x, fval, exitflag, output=li nprog()x, fval, exitflag, output, lambda=li nprog()说明:x=linprog(fAb)返回值x为最优解向量。x=linprog(fAb,Aeq,beq)作有等式约束的问题。若没有不等式约束,则令A= 、b=。x=linprog(f,A,b,Aeq
6、,beq,lb,ub,xO,options)中lb ,ub 为变量x的下界和上界,x0为初值点,options 为指定优化参数进行最小化。Optio ns的参数描述:Display显示水平。选择off不显示输出;选择iter#示每一步迭代过程的输出;选择final显示最终结果。MaxFu nEvals函数评价的最大允许次数Maxiter最大允许迭代次数TolX x处的终止容限x,fval=linprog(左端fval返回解x处的目标函数值。x,fval,exitflag,output,lambda=li nprog(f,A,b, Aeq,beq,lb,ub,x0)的输出部分:exitflag描
7、述函数计算的退出条件:若为正值,表示目标函数收敛于解x处;若为负值,表示目标函数不收敛;若为零值,表示已经达到函数评价或迭代的最大次数。output返回优化信息:output.iteratio ns表示迭代次数;output.algorithm表示所采用的算法;outprt.fu ncCou nt表示函数评价次数。lambda 返回 x 处的拉格朗日乘子。它有以下属性:lambda.lower-lambda 的下界; lambda.upper-lambda 的上界; lambda.ineqlin-lambda 的线性不等式; lambda.eqlin-lambda 的线性等式。三 举例例 1
8、:求解线性规划问题:max f=2x 1 +5x 21-5X 2s.t 先将目标函数转化成最小值问题: min(-f)=- 2x 程序:f=-2 -5; A=1 0;0 1;1 2;b=4;3;8; x,fval=linprog(f,A,b) f=fval*(-1) 结果: x = 23fval = -19.0000 maxf = 19 例 2 :minf=5x 1-x 2+2x 3 +3x 4 -8x 5S.t -2x 1 +x 2-X 3+X 4-3x 5 62x 1 +X 2-X 3+4x 4+X 5 7OSj 15 j=1,2,3,4,5 程序: f=5 -1 2 3 -8;A=-2
9、1 -1 1 -3;2 1 -1 4 1; b=6;7;lb=O O O O O; ub=15 15 15 15 15;X,fval=linprog(f,A,b,lb,ub) 结果: X =O.OOOOO.OOOO8.OOOOO.OOOO15.OOOO minf =-1O4例 3 :求解线性规划问题:minf=5X 1+X 2 +2X 3 +3X 4+X 5S.t -2x 1 +X 2-X 3+X 4-3x 5 12x 1 +3x 2-X 3 +2x 4+X5W-2OSjWl j=1,2,3,4,5程序:f=5 1 2 3 1;A=-2 1 -1 1 -3;2 3 -1 2 1;b=1;-2;
10、lb=0 0 0 0 0;运行结果:ub=1 1 1 1 1;x,fval,exitflag,output,lambda=linprog(f,A,b,lb,ub)Exiting: One or more of the residuals, duality gap, or total relative error has grown 100000 times greater than its minimum value so far: the primal appears to be infeasible (and the dual unbounded).(The dual residual 0
11、将其转换为标准形式: min f=-70x1-120x 2s.t 9x 1+4x 2w 36004x 1+5x 2w 20003x 1+10x 2w 3000XX 2 0程序: f=-70 -120;A=9 4 ;4 5;3 10 ; b=3600;2000;3000; lb=0 0;ub=;x,fval,exitflag=linprog(f,A,b,lb,ub) maxf=-fval结果: x =200.0000240.0000fval =-4.2800e+004exitflag =1maxf =4.2800e+004例 5 :求解实例 2建立数学模型:max f=0.15x 1 +0.1x
12、 2 +0.08 x 3+0.12 x 4S.t x 1-X 2- x 3 - x 4 0x1+x 2+x 3+ x 4=1Xj 0 j=1,2,3,4将其转换为标准形式:min z=-0.15x1-0.1x 2-0.08 x 3-0.12 x 4S.t X 1-X 2- x 3 - x 4 0 j=1,2,3,4程序: f = -0.15;-0.1;-0.08;-0.12;A = 1 -1 -1 -10 -1 -1 1;b = 0; 0;Aeq=1 1 1 1;beq=1;lb = zeroS(4,1);X,fval,eXitflag = linprog(f,A,b,Aeq,beq,lb)
13、f=-fval结果: X =0.50000.25000.00000.2500fval =-0.1300exitflag =0.1300即4个项目的投资百分数分别为 50% ,25% ,0, 25%时可使该公司获得最大的收益,其最大收益可到达 13% 。过程正常收敛。例 6 : 求解实例 3建立数学模型:设 ai j 为由工厂i运到市场j的费用,Xj j是由工厂i运到市场j的箱数。6是工厂i的产量,dj是市场j的需求量。b= ( 60 40 50 )T d= ( 20 35 33 34 )s.tx i ; 0程序:A=2 1 3 2;1 3 2 1;3 4 1 1;f=A(:);B= 1 0 0
14、1 0 010 0 10 00 10 0 100 1 00 1 00 01 0 010 0 10 0 1;D=1 1 1 0 0 0 0 0 0 0 0 00 00 1 110 0 00 0 00 00 0 001 1 10 0 00 00 0 000 0 01 1 1;b=60;40;50;d=20;35;33;34;lb=zeros(12,1);x,fval,exitflag=linprog(f,B,b,D,d,lb)结果:x =0.000020.00000.000035.00000.00000.00000.00000.000033.00000.000018.468215.5318fval
15、 =122.0000eXitflag =即运输方案为:甲市场的货由 B 厂送 20 箱;乙市场的货由 A 厂送 35 箱;丙商场的货由 C 厂送 33 箱;丁市场的货由 B 厂送 18 箱,再由 C 厂送 16 箱。最低总运费为: 122 元。2 非线性规划模型一非线性规划课题实例 1 表面积为 36 平方米的最大长方体体积。 建立数学模型: 设x、y、z分别为长方体的三个棱长,f为长方体体积。max f = x y (36-2 x y)/2 (x+y)实例 2 投资决策问题某公司准备用5000万元用于A、B两个项目的投资,设Xi、X2分别表示配给项目A、B的投资。预计项目A、B的年收益分别为
16、20%和16%。同时,投 资后总的风险损失将随着总投资和单位投资的增加而增加,已知总的风险损失为2x12+x22+(x 1+x 2)2.问应如何分配资金,才能使期望的收益最大,同时使风险损失为最小。建立数学模型:2 2 2max f=20x i+16x 2-入2xi +x 2 +(x i+x 2)s.t X1+X2 w 5000x 1 0,X2 0目标函数中的入AO是权重系数。由以上实例去掉实际背景,其目标函数与约束条件至少有一处是非线性的,称其为非线性问题。 非线性规划问题可分为无约束问题和有约束问题。实例 1 为无约束问题,实例 2 为有约束问题。无约束非线性规划问题:求解无约束最优化问题
17、的方法主要有两类:直接搜索法1 fminunc 函数调用格式: x=fminunc(fun,x0)(Search method) 和梯度法 (Gradient method).x=fminunc(fun,x0,options)x=fminunc(fun,x0,options,P1,P2)x,fval=fminunc()x,fval, exitflag=fminunc()x,fval, exitflag,output=fminunc()x,fval, exitflag,output,grad=fminunc()x,fval, exitflag,output,grad,hessian=fminun
18、c()说明: fun 为需最小化的目标函数, x0 为给定的搜索的初始点。 options 指定优化参数。返回的 x 为最优解向量; fval 为 x 处的目标函数值; exitflag 描述函数的输出条件; output 返回优化信息; grad 返回目标函数在 x 处的梯度。 Hessian返回在 x 处目标函数的 Hessian 矩阵信息。例 1 : 求 程序:编辑 ff1.m 文件function f=ff1(x)f=8*x(1)-4*x (2) +x(1)A2+3*x(2)A2;通过绘图确定一个初始点:x,y=meshgrid(-10:.5:10);z= 8*x-4*y +x.A2+
19、3*y.A2; surf(x,y,z) 选初始点: x0=(0,0) x0=0,0;x,fval,exitflag=fminunc(ff1,x0)结果: x =-4.0000 0.6667fval =-17.3333 exitflag =1例 2 : 程序:编辑 ff2.m 文件: function f=ff2(x)f=4*x(1)八2+5*x(1)*x(2)+2*x (2)八2;取初始点: x0=(1,1)x0=1,1;x,fval,exitflag=fminunc(ff2,x0) 结果: x =1.0e-007 * -0.1721 0.1896 fval =2.7239e-016exitf
20、lag =1例 3 :将上例用提供的梯度 g 最小化函数进行优化计算。 修改 M 文件为: function f,g=ff3(x)f=4*x(1)A2+5*x(1)*x(2)+2*x (2)八2;if nargut 1g(1)=8*x(1)+5*x(2);g(2)=5*x(1)+4*x(2);end通过下面将优化选项结构options.GradObj 设置为on来得到梯度值。options=optimset( Gradobj , on ); x0=1,1;x,fval,exitflag=fminunc(ff3,x0,options)结果: x =1.0e-015 * -0.2220 -0.22
21、20 fval =5.4234e-031exitflag =12 minsearch 函数调用格式: x=fminsearch(fun,x0)x=fminsearch(fun,x0,options)x=fminsearch(fun,x0,options,P1,P2)x,fval=fminsearch()x,fval, exitflag=fminsearch()x,fval, exitf lag,output=fminsearch()x,fval, exitflag,output,grad=fminsearch()x,fval, exitflag,output,grad,hessian=fmin
22、search(说明: 参数及返回变量同上一函数。对求解二次以上的问题,)fminsearch 函数比 fminunc 函数有效。3 多元非线性最小二乘问题: 非线线性最小二乘问题的数学模型为: 其中 L 为常数。调用格式: x=lsqnonlin(fun,x0)x=lsqnonlin(fun,x0,lb,ub)x=lsqnonlin(fun,x0,options)x=lsqnonlin(fun,x0,options,P1,P2)x,resnorm=lsqnonlin()x,resnorm, residual,exitflag=lsqnonlin()x,re snorm, residual ,
23、exitflag,output=lsqnonlin()x,resnorm, residual,exitflag, output,lambda=lsqnonlin()x,resnorm, r esidual,exitflag, output,lambda,jacobian=lsqnonlin(说明:x返回解向量;resnorm 返回x处残差的平方范数值:sum(fun(x).A2); residual 返回 x 处的残差值 fun(x) ; lambda 返回包含 x 处拉格朗日乘子的结构参数; jacobian 返回解 x 处的 fun 函数的雅可比矩阵。lsqnonlin 默认时选择大型优化
24、算法。 Lsqnonlin 通过将 options.LargeScale设置为of来作中型优化算法。其采用一维搜索法。例 4求 minf=4(x2-x1)2+(x 2-4) 2 ,选择初始点 x0(1,1)程序:f =4*(x (2) -x(1)八2+(x (2)-4)八2 x,reshorm=lsqnonlin(f,1,1) 结果: x =3.9896 3.9912reshorm =5.0037e-009例5:求 ,选择初始点 x0(0.2,0.3) 求解:先编辑 ff5.m 文件:function f=ff5(x)k=1:10;f=2+2*k-exp(k*x(1)-exp(k*x(2);然
25、后作程序: x0=0.2,0.3;x,resnorm=lsqnonlin(ff5,x0)结果 : x =0.2578 0.2578resnorm =124.3622有约束非线性规划问题:s.t Gi (x)0i=1, ,mGj (x) =0j=m+1, ,nxl xxu其中: F(x) 为多元实值函数,G(x) 为向量值函数,在有约束非线性规划问题中,通常要将该问题转换为更简单的子问题,数学模型: min F(x)可表达为:这些子问题可以求并作为迭代过程的基础。其基于 K-T 方程解的方法。 它的 K-T 方程方程第一行描述了目标函数和约束条件在解处梯度的取消。由于梯度取消,需要用拉格朗日乘子
26、入来平衡目标函数与约束梯度间大小的差异。调用格式 : x=fmincon(f,x0,A,b)x=fmincon(f,x0,A,b,Aeq,beq)x=fmincon(f,x0,A,b,Aeq,beq,lb,ub)x=fmincon(f,x0,A,b,Aeq,beq,lb,ub,nonlcon)x=fmincon(f,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)x,fval=fminc on()x, fval, exitflag=fmincon()x, fval, exitflag, output=fmincon()x, fval, exitflag, output
27、, lambda=fmincon()说明:x=fmincon(f,x0Ab)返回值x为最优解向量。其中:x0为初始点。A,b为不等式约束的系数矩阵和右端列向量。x=fmincon(f,x0,A,b,Aeq,beq)作有等式约束的问题。若没有不等式约束,则令 A= 、b= 。x=fmincon(f, x0,A,b,Aeq,beq,lb,ub, nonlcon ,options)中 lb ,ub 为变量 x 的下界和上界; nonlcon=fun, 由 M 文件 fun.m 给定非线性不等式约束c (x) W0廿等式约束g(x)=0; options为指定优化参数进行最小化。例 6:求解: min
28、 100(x2-x12 )2+(1-x 1)2s.tXi 2;X2 2程序: 首先建立 ff6.m 文件:function f=ff6(x)f=100*(x (2)-x (2)A2)A2+(1-x(1)A2;然后在工作空间键入程序:x0=1.1,1.1;A=1 0;0 1;b=2;2;x,fval=fmincon(ff6,x0,A,b)结果: x =1.0000 1.0000fval =3.1936e-011例 7 :求解:首先建立目标函数文件 ff7.m 文件:function f=ff7(x)f=-x(1)*x(2)*x(3)然后将约束条件改写成如下不等式:-x i -2x 2-2x 3W
29、 0Xi+2x 2 +2x 3 w 72在工作空间键入程序:A=-1 -2 -2;1 2 2; b=0;72; x0=10;10;10;x,fval=fmincon(ff71,x0,A,b) 结果: x =24.000012.000012.0000fval =-3456例 8 求解: minf=e x1 (6x 1 2+3x 22+2x 1 x2+4x 2+1)s.t x1x2-x 1-x2+1w 0 -2x 1x2-5w 0程序: 首先建立目标函数文件 ff8.m 文件: function f=ff8(x)f=exp(x(1)*(6*x(1)八2+3*x (2)八2+2*x(1)*x (2)
30、+4*x (2)+1);再建立非线性的约束条件文件: ff8g.m function c,g=ff8g(x)c(1)=x(1)*x(2)-x(1)-x(2)+1;c(2)=-2*x(1)*x(2)-5;g=; 然后在工作空间键入程序:x0=1,1;nonlcon=ff8g x, fval =fmincon(ff8,x0,nonlcon)结果: x =-2.5000 1.0000fval =3.3244exitflag =1当有等式约束时,要放在矩阵 g 的位置,如上例中加等式约束:x(1)+2*x(1)=0程序: 首先建立 fun1.m 文件: functionc,g=ff8g1(x)c(1)
31、=x(1)*x(2)-x(1)-x(2)+1;c(2)=-2*x(1)*x(2)-5;g(1)=x(1)+2*x(2); 然后在工作空间键入程序:x0=-1,1; nonlcon=ff8g1;nonlcon)x, fval,exitflag =fmincon(ff8,x0,结果:-2.23611.1180fval =3.6576exitflag =3二次规划模型数学模型:其中 H 为二次型矩阵, A、 Aeq 分别为不等式约束与等式约束系数矩阵, f,b,beq,lb,ub,x 为向量。 求解二次规划问题函数为 quadprog( )调用格式 : X= quadprog(H,f,A,b)X=
32、quadprog(H,f,A,b,Aeq,beq)X= quadprog(H,f,A,b,Aeq,beq,lb,ub)X= quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)X= quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options)x,fval= quadprog()x,fval,exitflag= quadprog()x,fval,exitflag,output= quadprog()x,fval,exitflag,output,lambda= quadprog()为指定优化参数。输出参数中, x 是返回最优Lambda 是返回解 x 入包含
33、拉格朗日乘子的说明: 输入参数中, x0 为初始点;若无等式约束或无不等式约束,就将相应的矩阵和向量设置为空; options 解; fval 是返回解所对应的目标函数值; exitflag 是描述搜索是否收敛; output 是返回包含优化信息的结构。 参数。例 1 :求解:二次规划问题min f(x)= x 1 -3x 2 +3x 1 2+4x 22-2x 1x2s.t 2xi +x 2 2-x i+4x 2 3程序: f=1;-3H=6 -2;-2 8A=2 1;-1 4b=2;3X,fval,exitflag=quadprog(H,f,A,b)结果: X =-0.04550.3636f
34、val =-0.5682exitflag =1例 2 :求解:二次规划问题22min +x 1 +2x 2 -2x 1x2-4x 1-12x 2s.t Xi+x 2 2-x i +2x 2 w 22x i +x 2 w 3 0n)为一个n维向量;fi(x)为目标函数,i=1, 2,m; g (x)为系统约束,j=1,2,。,k当目标函数处于冲突状态时,不存在最优解使所有目标函数同时达到最优。于是我们寻求有效解(又称非劣解或非支配解或帕累托解 )定义:若( Q)的邻域内不存在 心,使得(+ Ax Q),且则称 为有效解。多目标规划问题的几种常用解法:(1) 主要目标法其基本思想是:在多目标问题中
35、,根据问题的实际情况,确定一个目标为主要目标,而把其余目标作为次要目标,并且根据经验,选取一定的界限值。这样 就可以把次要目标作为约束来处理,于是就将原来的多目标问题转化为一个在新的约束下的单目标最优化问题。(2) 线性加权和法其基本思想是:按照多目标fi(x) (i=1,2,的重要程度,分别乘以一组权系数Xj(j=1, 2,,m然后相加作为目标函数而构成单目标规划问题。即,其中例1 :某钢铁厂准备用5000万用于A、B两个项目的技术改造投资。设 X1、X2分别表示分配给项目A、B的投资。据专家预估计,投资项目 A、B的年收 益分别为70%和66%。同时,投资后总的风险损失将随着总投资和单项投
36、资的增加而增加,已知总的风险损失为0.02x 12+0.01x 22+0.04(x 1+X2)2,问应如何分配资金才能使期望的收益最大,同时使风险损失为最小。建立数学模型max f 1 (x)=70x1 +66x 2min f 2(x)= 0.02x12+0.01x 22+0.04(x1+x 2)2s.t x1+x 2w 50000w x1, 0 w x2线性加权构造目标函数: max f=0.5f1(x) -0.5f2(x)化最小值问题:min (-f)=- 0.5f1(x) +0.5f2(x)首先编辑目标函数 M 文件 ff11.m function f=ff11(x) f=-0.5*(7
37、0*x(1)+66*x (2)+0.5*(0.02*x(1)八2+0.01*x (2)八2+0.04*(x(1)+x(2)八2); 调用单目标规划求最小值问题的函数x0=1000,1000A=1 1;b=5000;lb=zeros(2,1);x,fval, exitflag=fmincon(ff11,x0, A,b,lb,)f1=70*x(1)+66*x(2)f2=0.02*x(1)A2+0.01*x (2)A2+0.04*(x(1)+x(2)A2结果: x =307.1428414.2857fval =-1.2211e+004exitflag =1f1 =4.8843e+004f2 =2.4
38、421e+004(3) 极大极小法x R,我们先求诸目标函数值fi(x)的最大值,然后再求这些其基本思想是:对于极小化的多目标规划,让其中最大的目标函数值尽可能地小为此,对每个 最大值中的最小值。即构造单目标规划:(4) 目标达到法对于多目标规划:s.t gj (x)0 j=1,2,-,n先设计与目标函数相应的一组目标值理想化向量 ,再设Y为一松弛因子标量。设为权值系数向量。于是多目标规划问题化为:在 Matlab 的优化工具箱中, fgoalattain 函数用于解决此类问题。 其数学模型形式为:min YF(x)- weight ( goalc(x) 0ceq(x)=0A x bAeq x
39、=beqlb xub其中,x,weight,goal,b,beq,lb禾廿ub为向量,A和Aeq为矩阵,c(x),ceq(x) 禾廿F(x)为函数,调用格式:x=fgoalattain(F,x0,goal,weight)x=fgoalattain(F,x0,goal,weight,A,b)x=fgoalattain(F,x0,goal,weight,A,b,Aeq,beq)x=fgoalattain(F,x0,goal,weight,A,b,Aeq,beq,lb,ub) x=fgoalattain(F,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon) x=fg
40、oalattain(F,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon,options)x=fgoalattain(F,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2)x,fval=fgoalattain()x,fval,attainfactor=fgoalattain()x,fval,attainfactor,exitflag,output=fgoalattain()x,fval,attainfactor,exitflag,output,lambda=fgoalattain()说明: F 为目标函
41、数; x0 为初值; goal 为 F 达到的指定目标; weight 为参数指定权重; A、b 为线性不等式约束的矩阵与向量;Aeq 、beq 为等式约束的矩阵与向量; lb 、ub 为变量 x 的上、下界向量; nonlcon 为定义非线性不等式约束函数 c(x) 和等式约束函数 ceq(x) ;options 中设置优化参数。x 返回最优解; fval 返回解 x 处的目标函数值; attainfactor 返回解 x 处的目标达到因子; exitflag 描述计算的退出条件; output 返回包含优化信息的输 出参数; lambda 返回包含拉格朗日乘子的参数。例2 :某化工厂拟生产
42、两种新产品A和B,其生产设备费用分别为2万元/吨和5万元/吨。这两种产品均将造成环境污染,设由公害所造成的损失可折算为A为4万元/吨,B为1万元/吨。由于条件限制,工厂生产产品A和B的最大生产能力各为每月5吨和6吨,而市场需要这两种产品的总量每月不少于7 吨。试问工厂如何安排生产计划,在满足市场需要的前提下,使设备投资和公害损失均达最小。该工厂决策认为,这两个目标中环境污染应优先考虑, 设备投资的目标值为 20 万元,公害损失的目标为 12 万元。建立数学模型:设工厂每月生产产品 A为乂!吨,B为X2吨,设备投资费为f(x !),公害损失费为f(x2),则问题表达为多目标优化问题:min f
43、1(x)=2x 1+5x 2min f 2(x)=4x 1+x 2s.t xi 0程序: 首先编辑目标函数 M 文件 ffi2.mfunction f=ffi2(x)f(i)=2*x(i)+5*x(2);f(2)= 4*x(i) +x(2);按给定目标取:goal=20,i2; weight=20,i2;x0=2,2A=i 0; 0 i;-i -i;b=5 6 -7; lb=zeros(2,i);x,fval,attainfactor,exitflag=fgoalattain(ffi2,x0,goal,weight,A,b,lb,)结果: x =2.9i674.0833fval =26.250
44、0i5.7500attainfactor =0.3i25exitflag =i例3 :某工厂生产两种产品甲和乙,已知生产甲产品 i00 公斤需 6个工时,生产乙产品 i00 公斤需 8个工时。假定每日可用的工时数为 48 工时。这两 种产品每 i00 公斤均可获利 500 元。乙产品较受欢迎,且若有个老顾客要求每日供应他乙种产品 500 公斤,问应如何安排生产计划?建立数学模型:设生产甲、乙两种产品的数量分别为 x 和 x( 以公斤计 ) ,要使生产计划比较合理,应考虑用工时尽量少,获利尽量大,其用多目标规划描述这:min f 1=6x 1+8x 2max f 2=100(x 1+x 2) m
45、ax f 3=x 2s.t 6x i+8x 2 5Xi ,x 2 0将其标准化为:min f 1=6x 1+8x 2min - f 2=-100(x1+x 2)min - f 3=-x 2s.t 6x i+8x 2 48-X 2 -5x 1 ,x 20程序: 首先编辑目标函数 M 文件 ff13.mfunction f=ff13(x)f(1)=6*x(1)+8*x(2);f(2)= -100*(x(1) +x(2);f(3)=-x(2);按给定目标取:goal=48 -1000 -5;weight=48 -1000 -5;x0=2 2;A=6 8; 0 -1;b=48 -5;lb=zeros(
46、2,1);x,fval,attainfactor,exitflag=fgoalattain(ff13,x0,goal,weight,A,b,lb,)结果: x =1.33335.0000fval =48.0000 -633.3333-5.0000attainfactor =1.6338e-008exitflag =1即生产计划为每日生产甲产品 133.33 公斤,生产乙产品 500 公斤。5最大最小化模型基本思想:在对策论中,我们常遇到这样的问题:在最不利的条件下,寻求最有利的策略。在实际问题中也有许多求最大值的最小化问题。例如急救中心选址问题就是要规戈康到所有地点最大距离的最小值。在投资规划中要确定最大风险的最低限度等等。为此,对每个x R,我们先求诸目标值f)的最大值,然后再求这些最大值中的最小值。最大最小化问题的数学模型:求解最大最小化问题的函数为 fmininax调用格式:x=fminimax(F,xO,)x=fminimax(F,xO,A,b)x=fminimax(F,xO,A,b,Aeq,beq)x=fminimax(F,xO,A,b,Aeq,beq,lb,ub)x=fminimax(F,xO,A,b,Aeq,beq,lb,ub,nonlcon)x=fminimax(F,xO,A,b,Aeq,beq,lb,ub,nonlco
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工期延误的合同问题解决途径2篇
- 厂房买卖协议全解析3篇
- 代收款授权委托书怎么写3篇
- 律师授权委托书应注意的问题3篇
- 住宅院落买卖合同优化3篇
- 学生考试诚信宣誓3篇
- 砼构件生产成本控制考核试卷
- 农业机械租赁业务中的收益管理考核试卷
- 羊绒面料图案设计试题考核试卷
- 精密仪器中合成材料制造技术的研究进展考核试卷
- 公路工程标准施工招标文件(2018年版)
- 个人理财-形考作业4(第8-9章)-国开(ZJ)-参考资料
- DL∕T 1654-2016 磷酸酯抗燃油氧化安定性和腐蚀性试验方法
- AQ/T 2059-2016 磷石膏库安全技术规程(正式版)
- 青岛超银中学2022-2023学年七年级下学期阶段性调研地理试题【带答案】
- 2024年安徽省初中(八年级)学业水平考试初二会考生物+地理试卷真题
- 4000m3d制药废水计算书
- 越剧古装衣介绍
- 人事行政工作成功典范总结
- 英国皇室文化课件
- 咯血个案护理
评论
0/150
提交评论