二、Matlab编程实现
1、求解下列线性规划问题01
解:编写M 文件 → 将M文件存盘,并命名为example1.m → 在Matlab指令窗运行example1即可得所求结果。
c=[2;3;-5];
a=[-2,5,-1;1,3,1]; b=[-10;12];
aeq=[1,1,1];
beq=7;
x=linprog(-c,a,b,aeq,beq,zeros(3,1))
value=c'*x
2、求解线性规划问题02
解:编写Matlab程序如下:
c=[2;3;1];
a=[1,4,2;3,2,0];
b=[8;6];
[x,y]=linprog(c,-a,-b,[],[],zeros(3,1))
三、将问题可以转化为线性规划的问题
很多看起来不是线性规划的问题也可以通过变换变成线性规划的问题来解决
3.1、比如将带有绝对值的复杂问题,转化为LP问题
四、建模思路全过程
1、提出问题:投资的收益和风险问题
2、符号规定和基本假设
3、模型的分析与建立
4、模型一的求解
clc,clear
a=0;
hold on
while a<0.05
c=[-0.05,-0.27,-0.19,-0.185,-0.185];
A=[zeros(4,1),diag([0.025,0.015,0.055,0.026])];
b=a*ones(4,1);
Aeq=[1,1.01,1.02,1.045,1.065];
beq=1;
LB=zeros(5,1);
[x,Q]=linprog(c,A,b,Aeq,beq,LB);
Q=-Q;
plot(a,Q,'*r');
a=a+0.001;
end
xlabel('a'),ylabel('Q')
5、结果分析