线性规划
设
x
1
x_1
x1桶牛奶生产
A
1
A_1
A1,
x
2
x_2
x2桶牛奶生产
A
2
A_2
A2
model:
max = 72*x1+64*x2;
[milk] x1 + x2<50;
[time] 12*x1+8*x2<480;
[cpct] 3*x1<100;
end
Slack or Surplus:0无剩余
Dual Price(影子价格):最优解下“资源“增加1单位时”效益“的增量。
原料增加1单位,利润增加48——35元买一桶牛奶(可以)
时间增加1单位,利润增加2——临时工人2元1小时
0:增长不影响利润
灵敏度分析:
LINGO->range
就是说,
m
a
x
=
72
∗
x
1
+
64
∗
x
2
max = 72*x1+64*x2
max=72∗x1+64∗x2,
x
1
x1
x1的系数(64,96)变化,生产计划是不变的。x2同理。
下面一段:满足影子价格的条件下,原料最多增加10目标函数不变,比如说,35元买牛奶,最多买10桶。
运输问题
自来水运输
min=160*x11+130*x12+220*x13+170*x14+140*x21+130*x22+190*x23+150*x24+190*x31+200*x32+230*x33;
x11+x12+x13+x14=50;
x21+x22+x23+x24=60;
x31+x32+x33=50;
30<=x11+x21+x31;
x11+x21+x31<=80;
70<=x12+x22+x32;
x12+x22+x32<=140;
10<=x13+x23+x33;
x13+x23+x33<=30;
10<=x14+x24;
x14+x24<=50;
货机装运(矩阵)
!定义集合及变量;
sets:
cang/1..3/:WET,VOL;
wu/1..4/:w,v,p;
link(wu,cang):x;
endsets
!对已知变量赋值;
data:
WET=10,16,8; VOL=6800,8700,5300;
w=18,15,23,12; v=480,650, 580,390;
p=3100,3800,3500,2850;
enddata
max=@sum(wu(i):p(i)*@sum(cang(j):x(i,j)));
@for(wu(i):@sum(cang(j):x(i,j))<w(i));
@for(cang(j):@sum(wu(i):x(i,j))<WET(j));
@for(cang(j):@sum(wu(i):v(i)*x(i,j))<VOL(j));
@for(cang(j):
@for(cang(k)|k #GT# j: !#GT#是大于等于的含义;
@sum(wu(i):x(i,j)/WET(j))=@sum(wu(i):x(i,k)/WET(k)));
);
END
整数规划
max=2*x1+3*x2+4*x3;
1.5*x1+3*x2+5*x3<600;
280*x1+250*x2+400*x3
<60000;
@gin(x1);@gin(x2);@gin(x3); !x1x2x3为非负整数
非线性规划
max=2*x1+3*x2+4*x3;
1.5*x1+3*x2+5*x3<600;
280*x1+250*x2+400*x3<60000;
x1*(x1-80)>0;
x2*(x2-80)>0;
x3*(x3-80)>0;
@gin(x1);@gin(x2);@gin(x3);