【数学建模】12 线性规划模型的求解方法

1 图解法

(1)有线性规划模型
• 目标函数
• 约束条件
在二元的约束条件画出来是直线,三元的约束条件画出来是一个平面。所以在约束条件转化为等于后,可以采用图解法
在这里插入图片描述

2 MATLAB函数求解方法

(1)模型: min z = cX
s.t AX <=b
命令

x = linprog(c,A,b)

(2)模型: min z = cX
s.t Ax <=b
Aeq.X = beq(等式约束)
命令

x = linprog(c,A,Aeq,beq)

(3)模范规范化
在这里插入图片描述

f = [-72 -64]'
A = [1 1;12 8]
b = [50 480]
vlb = [0 0]% 约束条件下限
vub=[100/3;inf]
[x,xmin] = linprog(f,A,b,[],[],vlb,vub)

运行结果
x =[20 30]’ fmin = 3360

3 Lingo法

(1)代码实现

model
max = 72*x1 +64*x2
[milk] x1 + x2 < 50
[time] 12*x1 + 8*x2 < 480
[epct] x*x1 <100
end

(2)Lingo实验结果分析
在这里插入图片描述

如图中的
MILK 0.0000 48.0000表示MILK增加一个单位,利润增加48。就比如如果公式中的50变成51,fmin = 3360+48
TIME 0.0000 2.00000表示TIME增加一个单位,利润增长2.
CPCT 40.000 0.0000 表示这个约束有40的波动,在这个区间内变化,利润是不会变的
(3)价值和应用分析
Lingo options –>Output Level–>选择Verbose
Lingo options–>Dual Computations –>选择Price & Range
在这里插入图片描述

X1 72 24 8表示X当前系数是72,增加24范围内或减小8的范围内,整个方案是不变的
X2 64 8 16 表示X2当前系数是64,增加8范围内或减小16的范围内,整个方案是不变的
MILK 50 10 6.66667 表示可以变动范围是最多增加10,最多减小6.66667
以下同理

4 课后习题

在这里插入图片描述

clear all;
close all;
clc;
f=[-5, -4,-6];
A=[1 -1 1;3 2 4;3 2 0];
b=[20 42 3]'; 
lb=[0 0 0 ]'; %自变量下界bai
[X,FVAL]=linprog(f,A,b,[],[],lb)

在这里插入图片描述

clear all;
close all;
clc;
f=[-5, -4,-6];
A =[2 -1 1;-8 2 -2]% 不等式参数
b =[12 8]' 
Aeq=[-2 0 1;1 1 0];% 等式参数
beq=[3 7]'; 
lb=[0 0 0 ]'; %自变量下界bai
[X,FVAL]=linprog(f,A,b,Aeq,beq,lb,ub)

© 版权声明
THE END
喜欢就支持一下吧
点赞58 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容