数模学习(3):线性规划(老哥)

一般线性规划问题的(数学)标准型

在这里插入图片描述

可以转化为线性规划的问题

请添加图片描述

在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')

👇运行结果

请添加图片描述
在这里插入图片描述