EverydayOneCat

知识点
1.笔记
2.数学规划
数学规划指在一系列客观或主观限制条件下,寻求合理分配有限资源,使所关注的某个或多个指标达到最大(或最小)的数学理论和方法
最优化数学模型的一般形式:

三个要素:决策变量decision variable,目标函数objective function,约束条件constraints。
2.1运输问题(经典)
有两个粮库A1、A2向三个粮站B1、B2、B3调运大米,两个粮库现存大米分别4吨、8吨,三个粮站至少需要大米分别为2、4、5吨,两个粮库到三个粮站的距离(单位:公里)如下:问如何调运使运费最低。

设粮库A1、A2调运到三个粮站B1、B2 、B3的大米重量分别为x1,x2, x3, x4, x5, x6


LinGo代码:(LinGo默认变量都为非负数)
model:
min=12*x1+24*x2+8*x3+30*x4+12*x5+24*x6 ;
x1+x2+x3<4 ;
x4+x5+x6<8 ;
x1+x4>2 ;
x2+x5>4 ;
x3+x6>5 ;
end
运行结果:

我们在数学建模中有一套标准,变量更换为:

建立数学模型:

Lingo代码:
model:
sets:
lk/1..2/:a;
lz/1..3/:b;
link(lk,lz):c,x;
endsets
data:
a=4,8;
b=2,4,5;
c=12,24,8,30,12,24;
enddata
min=@sum(link(i,j):c(i,j)*x(i,j));
@for(lk(i):@sum(lz(j):x(i,j))<a(i));
@for(lz(j):@sum(lk(i):x(i,j))>b(j));
end


2.2阶段生产问题(经典)
某公司生产某产品,最大生产能力为10000单位,每单位存储费2元,预定的销售量与单位成本如下:

求生产计划:使1)满足需求; 2)不超过生产能力;3)成本(生产成本与存储费之和)最低.
解:假定1月初无库存,4月底卖完,当月生产的不库存,库存量无限制。
模型1:

根据模型编写Lingo代码:
model:
sets:
yue/1..4/:x,c,d;
endsets
data:
a=10000;
e=2;
c=70 71 80 76;
d=6000 7000 12000 6000;
enddata
min=@sum(yue:c*x)+@sum(yue(j)|j#le#3:@sum(yue(i)|i#le#j:x-d)*e);
@for(yue(j)|j#le#3:@sum(yue(i)|i#le#j:x)>@sum(yue(i)|i#le#j:d));
@sum(yue:x)=@sum(yue:d);
@for(yue:x<a);
end
这里需要注意:|#le#是小于等于;lt是小于,ge是大于等于,gt是大于,ne是不等于

模型2:

根据模型编写Lingo代码:
model:
sets:
yue/1..4/:x,c,d,s;
endsets
data:
a=10000;
e=2;
c=70 71 80 76;
d=6000 7000 12000 6000;
enddata
min=@sum(yue:c*x+s*e);
@for(yue(i)|i#le#3:s(i+1)=s(i)+x(i)-d(i));
s(1)=0;
s(4)+x(4)-d(4)=0;
@for(yue:x<a);
end

2.3灵敏度分析
生产计划问题某工厂计划安排生产Ⅰ、Ⅱ两种产品,已知每种单位产品的利润,生产单位产品所需设备台时及A、B两种原材料的消耗,现有原材料和设备台时的定额如表所示,问:
1)怎么安排生产使得工厂获利最大?
2)产品Ⅰ的单位利润降低到1.8万元,改变生产计划吗?降低到1万元呢?
3)产品Ⅱ的单位利润增大到5万元,要不要改变生产计划?
4)如果产品Ⅰ、Ⅱ的单位利润同时降低了1万元,要不要改变生产计划?

编写Lingo代码: