minz=13x1+9x2+10x3+11x4+12x5+8x6 x1+x4=400 x,+x。=600 x2+x6=500 st 0.4x1+1.1x,+x2≤800 0.5x,+1.2x+1.3x≤900 x.≥0i=12.….6 解答
min 13 1 9 2 10 3 11 4 12 5 8 6 z = x + x + x + x + x + x = + + + + + = + = + = 0, 1,2, ,6 0.5 1.2 1.3 900 0.4 1.1 800 500 600 x 400 . . 4 5 6 1 2 3 3 6 2 5 1 4 x i x x x x x x x x x x x st i 解答
用 MATLAB优化工具箱解线性规划 1、模型:minz=cX st.aX<b 命令:x= linprog(c,A,b) 2、模型:minz=cX s.t. AX<b Aeg·X=beqg 命令:x= linprog(c,A,b,Aeq,beq) 注意:若没有不等式:AX≤b存在,则令A=[],b=[
用MATLAB优化工具箱解线性规划 min z=cX s.t. AX b 1、模型: 命令:x=linprog(c,A,b) 2、模型:min z=cX s.t. AX b Aeq X = beq 命令:x=linprog(c,A,b,Aeq,beq) 注意:若没有不等式: AX b 存在,则令A=[ ],b=[ ]
3、模型:minz=cⅩ s.t. AX<b Aeg·X=beq VLB<<VUB 命令:[1]x= Linprog(c,A,b,Aeq,beq,VLB,VUB) [2]x=linprog(c, A, b, Aeq, beq, VLB, VUB, Xo 注意:[1]若没有等式约束AeqX=beq,则令Aeq=[ beg=I [2]其中X表示初始点 命令:[x, fval=- linprog(…) 返回最优解ⅹ及ⅹ处的目标函数值fval
3、模型:min z=cX s.t. AX b Aeq X = beq VLB≤X≤VUB 命令:[1] x=linprog(c,A,b,Aeq,beq, VLB,VUB) [2] x=linprog(c,A,b,Aeq,beq, VLB,VUB, X0) 注意:[1] 若没有等式约束: , 则令Aeq=[ ], beq=[ ]. [2]其中X0表示初始点 Aeq X = beq 4、命令:[x,fval]=linprog(…) 返回最优解x及x处的目标函数值fval
例1maxz=0.4x1+0.28x2+0.32x3+0.72x4+0.64x+06孓6 S:t.0.01x1+001x2+0.01x2+0.03x+0.03x+0.03x≤85 0.02x1+0.05x4≤700 0.02x,+0.05x。<100 003x3+0.08x≤900 x.≥0 j=1,2,…6 解编写M文件xgh1m如下: c=-0.4-0.28-0.32-0.72-0.64-0.6; A=0.010.010.010.030.030.03:0.02000.0500:00.02000.050;00 0.03000.081; b=850;700;100;900; Aeqll; beq=[l; To Matlab(xxghl) |0:0:0;00;0;vub=l; Ix, fval=linprog(c, A, b, Aeq, beq, vlb, vub
解 编写M文件xxgh1.m如下: c=[-0.4 -0.28 -0.32 -0.72 -0.64 -0.6]; A=[0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08]; b=[850;700;100;900]; Aeq=[]; beq=[]; vlb=[0;0;0;0;0;0]; vub=[]; [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) 例 1 max 1 2 3 4 5 6 z = 0.4x + 0.28x + 0.32x + 0.72x + 0.64x + 0.6x . . 0.01 0.01 0.01 0.03 0.03 0.03 850 st x1 + x2 + x3 + x4 + x5 + x6 0.02 0.05 700 x1 + x4 0.02 0.05 100 x2 + x5 0.03 0.08 900 x3 + x6 x 0 j = 1,2,6 j To Matlab (xxgh1)
例2mnz=6x1+3x2+4x3 min 2=(6 4)x2 t.x1+x2+x3=120 x,≥30 111 120 0≤x2≤50 O10 50 x,≥20 30 20 解:编写M文件xh2m如下: C=634]; A=|010 b=50; Aeqlll 1 beq=120]; vb=30,0,20; To Matlab(xxgh2 vub=; x, fval]=linprog(c, A, b, Aeq, beq, vlb, vub)
例 2 min 6 1 3 2 4 3 z = x + x + x s.t. x1 + x2 + x3 = 120 3 0 x1 0 x2 50 20 x3 解: 编写M文件xxgh2.m如下: c=[6 3 4]; A=[0 1 0]; b=[50]; Aeq=[1 1 1]; beq=[120]; vlb=[30,0,20]; vub=[]; [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) To Matlab (xxgh2) = 3 2 1 min (6 3 4) x x x z 3 2 1 20 0 30 x x x 50 120 0 1 0 1 1 1 . . 3 2 1 x x x st