【例1】用图解法求解如下二维线性规划问题。
友情链接:例1详解可点击这里
【例1】的MATLAB求解。
%原目标函数,为转化为极小,取目标函数中设计变量的相反数
c=[-1;-1];
%线性不等式约束
A=[1 -2;1 2];
b=[4;8];
%设计变量的边界约束,由于无上界,故设置ub=[Inf;Inf]
lb=[0;0];
ub=[Inf;Inf];
%求最优解x和目标函数值 fval,由于无等式约束,故设置Aeq=[ ],beq=[ ]
[x,fval]=linprog(c,A,b,[],[],lb,ub)
Optimization terminated.
x=
6.0000
1.0000
%原问题极值的相反数
fval=
-7.0000
【例2】用单纯形法求解下列线性规划问题。
友情链接:例1详解可点击这里
【例2】的 MATLAB求解。
%目标函数,为转化为极小,取目标函数中设计变量的相反数
c=[-4;-3];
%线性不等式约束
A=[3 4;3 3;4 2];
b=[12;10;8];
%设计变量的边界约束,由于无上界,故设置ub=[Inf;Inf]
lb=[0;0];
ub=[Inf;Inf];
%求最优解x和目标函数值fval,由于无等式约束,故设置Aeq=[ ],beq[ ],且输出参数exitflag [x,fval,exitflag]=linprog(c,A,b,[],[],Ib,ub)
%最优解向量 x =
0.8000
2.4000
%在最优解向量x处的原线性规划问题的目标函数值的相反数
fval=
-10.4000
%优化结束时的状态指示,exitflag参数的值为1,代表线性规划问题收敛到了最优解x
exitflag=
1
【例3】使用大M法求解如下线性规划问题。
友情链接:例3详情可点击这里
【例3】的 MATLAB求解。
%目标函数,为转化为极小,取目标函数中设计变量的相反数
c=[-1;-3;1];
%线性等式约束
Aeq=[1 1 2;-1 2 1];
beq=[4;4];
%设计变量的边界约束,由于无上界,故设置ub=[Inf;Inf;Inf]
lb=[0;0;0];
ub=[Inf;Inf;Inf];
%求最优解x和目标函数值fval,由于无线性不等式约束和边界约束,故设置A=[ ],b=[ ],
%且输出参数exitflag和 output
[x,fval,exitflag,output]=linprog(c,[],[],Aeq,beq,lb,ub)
Optimization terminated.
%最优解向量 x
x=
1.333
2.6667
0.0000
%在最优解向量x 处的原线性规划问题的目标函数值的相反数
fval =
-9.33335
%优化结束时的状态指示,exitflag参数的值为1,代表线性规划问题收敛到了最优解x
exitflag=
1
%优化算法的输出信息结构变量
output = %输出信息结构变量
iterations:4 %说明优化算法迭代 4次
algorithm:'large-scale: interior point'
%说明采用的是大型规模的内点算法
cgiterations:0
message∶'Optimization terminated.' %退出信息
【例4】求解下列线性标准化问题。
【例4】的MATLAB求解。
%目标函数,为转化为极小,取目标函数中设计变量的相反数
c=[-3;1;1];
%线性不等式约束
A=[1 -2 1;4 -1 -2];
b=[11;-3];
%线性等式约束Aeq=[-2 0 1];
beq=[1];
%设计变量的边界约束,由于无上界,故设置ub=[Inf;Inf;Inf〕
lb=[0;0;0];
ub=[Inf;Inf; Inf);
%求最优解x和目标函数值 fval,且输出参数exitflag、output和lambda [x,fval,exitflag,output,lambda]=linprog(c,A,b,Aeq,beq,Ib,ub)
Optimization terminated.
%最优解向量x
x=
4.0000
1.0000
9.0000
%在最优解向量x处的原线性规划问题的目标函数值的相反数
fval =
-2.0000
%优化结束时的状态指示,exitflag参数的值为1,代表线性规划问题收敛到了最优解x
exitflag=
1
%优化算法的输出信息结构变量
output= %输出信息结构变量
iterations:6 %说明优化算法迭代4次
algorithm:'large-scale:interior point'
%说明采用的是大型规模的内点算法
cgiterations:0 %取值为0,为了后向兼容而设定
message∶'Optimization terminated.' %退出信息
%最优解 x处的拉格朗日乘子结构变量
lambda=
ineqlin:[2x1 double]
eqlin:-0.6667
upper:[3x1 double]
lower:[3x1 double]
• END •
模友们可能已经发现:现在公众号推送文章的顺序,已经不会按时间排列了。这种变化,可能会让各位模友错过我们每天的推送。
所以,如果你还想像往常一样,聚焦数模乐园,就需要将“数模乐园”标为星标公众号,同时在阅读完文章后,别忘了给一个“在看”哦。
星标步骤
(1)点击页面最上方“数模乐园”,进入公众号主页
(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
扫码关注我们
2020国际赛QQ参赛群
球分享
球点赞
球在看