MATLAB 简介 数学建模 第六部分 MATLAB 优化算法 一、线性规划算法 调用格式:[x, fval, exitflag]= linprog(f,A,b, Aeq,beq,lb,ub, x0) 说明:返回值x为最优解向量,fval为最优值;若没有不等式约束,则令A=[ ]、b=[ ] ;lb ,ub为变量x的下界和上界,x0为初值点; exitflag 描述函数计算的退出条件:若为正值,表示目标函数收敛于解x处;若为负值,表示目标函数不收敛;若为零值,表示已经达到函数评价或迭代的最大次数
例1、求解线性规划问题 max f=70x1+120x2 s
t 9x1+4x2≤3600 4x1+5x2≤2000 3x1+10x2≤3000 x1,x2≥0 将其转换为标准形式: min f=-70x1-120x2 s
t 9x1+4x2≤3600 4x1+5x2≤2000 3x1+10x2≤3000 x1,x2≥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) MATLAB 简介 数学建模 maxf=-fval 例2、求解线性规划问题 max f=0
15x1+0
08 x3+0
12 x4 s
t x1-x2- x3- x4≤0 x2+ x3- x4≥0 x1+x2+x3+ x4=1 xj≥0 , j=1,2,3,4 将其转换为标准形式: min z=-0
15x1-0
08 x3-0
12 x4 s
t x1-x2- x3- x4≤0 -x2- x3+ x4≤0 x1+x2+x3+ x4=1 xj≥0 , j=1,2,3,4 算法如下:f = [-0