资源描述:
《第4讲+用MATLAB软件解线性规划》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第4讲用MATLAB软件解线性规划制作:江西科技师范学院万重杰MATLAB软件求解线性规划的命令函数是:linprog()适用的数学模型是如下的标准形式:调用格式为:x=linprog(c,A,b,Aeq,beq,vlb,vub)附注:1.若没有不等式约束时,则令A=[];b=[];若没有等式约束时,则令Aeq=[];beq=[];若x的下界没有特殊限制时,则令vlb=[0;0;…;0];(n元)4.若x的上界没有特殊限制时,则令vub=[];例1求解线性规划:解:先把模型写成下面的标准形式c=[-3,-4,-3];
2、A=[564;436];b=[200;150];A1=[];b1=[];x1=[0;0;0];x2=[];x=linprog(c,A,b,A1,b1,x1,x2),z=-c*x在命令窗口输入下列命令:运行结果为:x=0.000025.000012.5000z=137.5000x[x,fval][x,fval,exitflag]4.[x,fval,exitflag,output]输出格式有以下几种形式:其中:x表示决策变量的最优解;fval表示目标函数的最优值;exitflag为结束标志,其值>0时表示计算结果收敛到
3、最优解x,=0时表示迭代次数超过允许最大次数,<0时表示计算结果没有收敛.output为求解过程的一些信息,如迭代次数、算法等信息.例2求解线性规划:解:c=[-500-1000-300200];A=[2300;3400];b=[26;54];Aeq=[1011];beq=12;v=[0;0;0;0];u=[inf;inf;4;inf];[x,f,flag,opt]=linprog(c,A,b,Aeq,beq,v,u)z=-c*x在命令窗口输入下列命令:运行结果为:x=8.00003.33334.00000.0000z=
4、8.5333e+003f=-8.5333e+003flag=1opt=iterations:8cgiterations:0algorithm:'lipsol'