一般线性规划问题的(数学)标准型
可以转化为线性规划的问题
在MATLAB中规定的线性规划的标准形式
其中f,x,b,beq,lb,ub为列向量,f称为价值向量,b称为资源向量,A,Aeq为矩阵。
MATLAB官方给出的使用示例
x返回的是决策向量的取值,fval返回的是目标函数的最优值,f为价值向量,
A,b对应的是线性不等式约束,Aeq,beq对应的是线性等式约束,
lb和ub分别对应的是决策向量的下界向量和上界向量。
✨实战例题(max转min)👇
✍MATLAB代码:
f=[-2;-3;5];
a=[-2,5,-1;1,3,1];b=[-10;12];
aeq=[1,1,1];
beq=[7];
[x,y]=linprog(f,a,b,aeq,beq,zeros(3,1));
x,y=-y
✨建模实战
✍开始解题
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.0651];
beq=1;LB=zeros(5,1);
[x,Q]=linprog(c,A,b,Aeq,beq,LB);
Q=-Q; plot(a,Q, '*k');
a=a+0.001;
end
xlabel('a'),ylabel('Q')
👇运行结果