1、 cost, volume;endsets目标函数; min=sum(links: cost*volume);需求约束; for(vendors(J): sum(waters(I): volume(I,J)=demand1(J); volume(I,J)=demand2(J); 供应约束; for(waters(I): sum(vendors(J): volume(I,J) =capacity(I); !这里是数据;data: capacity=50 60 50; demand1=30 70 10 10; demand2=80 140 30 50; cost=160 130 220 170 1
2、40 130 190 150 190 200 230 10000;enddataend得到结果为:Global optimal solution found. Objective value: 24400.00 Total solver iterations: 13 Variable Value Reduced Cost CAPACITY( W1) 50.00000 0.000000 CAPACITY( W2) 60.00000 0.000000 CAPACITY( W3) 50.00000 0.000000 DEMAND1( V1) 30.00000 0.000000 DEMAND1( V2
3、) 70.00000 0.000000 DEMAND1( V3) 10.00000 0.000000 DEMAND1( V4) 10.00000 0.000000 DEMAND2( V1) 80.00000 0.000000 DEMAND2( V2) 140.0000 0.000000 DEMAND2( V3) 30.00000 0.000000 DEMAND2( V4) 50.00000 0.000000 COST( W1, V1) 160.0000 0.000000 COST( W1, V2) 130.0000 0.000000 COST( W1, V3) 220.0000 0.00000
4、0 COST( W1, V4) 170.0000 0.000000 COST( W2, V1) 140.0000 0.000000 COST( W2, V2) 130.0000 0.000000 COST( W2, V3) 190.0000 0.000000 COST( W2, V4) 150.0000 0.000000 COST( W3, V1) 190.0000 0.000000 COST( W3, V2) 200.0000 0.000000 COST( W3, V3) 230.0000 0.000000 COST( W3, V4) 10000.00 0.000000 VOLUME( W1
5、, V1) 0.000000 30.00000 VOLUME( W1, V2) 50.00000 0.000000 VOLUME( W1, V3) 0.000000 50.00000 VOLUME( W1, V4) 0.000000 20.00000 VOLUME( W2, V1) 0.000000 10.00000 VOLUME( W2, V2) 50.00000 0.000000 VOLUME( W2, V3) 0.000000 20.00000 VOLUME( W2, V4) 10.00000 0.000000 VOLUME( W3, V1) 40.00000 0.000000 VOLU
6、ME( W3, V2) 0.000000 10.00000 VOLUME( W3, V3) 10.00000 0.000000 VOLUME( W3, V4) 0.000000 9790.000 Row Slack or Surplus Dual Price 1 24400.00 -1.000000 2 10.00000 0.000000 3 30.00000 0.000000 4 0.000000 -40.00000 5 0.000000 -20.00000 6 40.00000 0.000000 7 40.00000 0.000000 8 20.00000 0.000000 9 40.00
7、000 0.000000 10 0.000000 -130.0000 11 0.000000 -130.0000 12 0.000000 -190.0000送水方案是:A水库向一区供水50千吨,B水库向乙、丁区分别供水50,10千吨,C水库向甲、丙分别供水40,10千吨。引水管理费为24400元,利润为144000-72000-24400=47600元。讨论:如果A,B,C三个水库每天的最大供水量都提高一倍,则公司总供水能力为320千吨,大于总需求量300千吨,水库供水量不能全部卖出,因而不能像前面那样,将获利最多转为引水管理费最少。此时我们首先需要计算A,B,C三个水库分别向甲、乙、丙、丁四
8、个区供应每千吨水的净利润,即从收入900元中减去其他管理费450元,再减去引水管理费,得到表二。净利润(元/千吨)甲乙丙丁A290320230280B310260300C2502200/于是决策目标是:Max,其中Cij表示第i个水库向第j个区供水的净利润.由于水库供水量不能全部卖出,所以上面约束应改为:将上式构成的线性规划模型输入LINGO求解得到: demand; max=sum(links: volume(I,J)=demand(J);=capacity(I); capacity=100 120 100; demand=80 140 30 50; cost=290 320 230 280
9、 310 320 260 300 260 250 220 0; 88700.00 6 CAPACITY( W1) 100.0000 0.000000 CAPACITY( W2) 120.0000 0.000000 CAPACITY( W3) 100.0000 0.000000 DEMAND( V1) 80.00000 0.000000 DEMAND( V2) 140.0000 0.000000 DEMAND( V3) 30.00000 0.000000 DEMAND( V4) 50.00000 0.000000 COST( W1, V1) 290.0000 0.000000 COST( W1,
10、 V2) 320.0000 0.000000 COST( W1, V3) 230.0000 0.000000 COST( W1, V4) 280.0000 0.000000 COST( W2, V1) 310.0000 0.000000 COST( W2, V2) 320.0000 0.000000 COST( W2, V3) 260.0000 0.000000 COST( W2, V4) 300.0000 0.000000 COST( W3, V1) 260.0000 0.000000 COST( W3, V2) 250.0000 0.000000 COST( W3, V3) 220.000
11、0 0.000000 COST( W3, V4) 0.000000 0.000000 VOLUME( W1, V1) 0.000000 20.00000 VOLUME( W1, V2) 100.0000 0.000000 VOLUME( W1, V3) 0.000000 40.00000 VOLUME( W2, V1) 30.00000 0.000000 VOLUME( W2, V2) 40.00000 0.000000 VOLUME( W2, V3) 0.000000 10.00000 VOLUME( W2, V4) 50.00000 0.000000 VOLUME( W3, V1) 50.
12、00000 0.000000 VOLUME( W3, V2) 0.000000 20.00000 VOLUME( W3, V3) 30.00000 0.000000 VOLUME( W3, V4) 0.000000 250.0000 1 88700.00 1.000000 2 0.000000 260.0000 3 0.000000 270.0000 4 0.000000 220.0000 5 0.000000 250.0000 6 0.000000 50.00000 7 0.000000 50.00000送水方案为:A水库向乙区供水100千吨,B水库向甲、乙、丁区分别供水30,40,50千吨
13、,C水库向甲、丙、区分别供水50,30千吨。总利润为88700元。评注:本题考虑的是将某种物资从若干供应点运往一些需求点,在供需量约束条件下使总费用最小,或总利润最大,这类问题一般称为运输问题,是线性规划应用最广泛的领域之一。在标准的运输问题中,供需量通常是平衡的,即供应点的总供应量等于需求点的总需求量。本题中供需量不平衡,但这并不会引起本质的区别,一样可以方便地建立线性规划模型求解。第二题 货机装运本题中,目标是使得在本次飞行中获利最大。货仓的重量限制、体积限制表中已给出。同时也已知了各货物的种类、重量、所占空间以及所获利润,由此可以表示出决策变量、目标函数以及约束条件,通过LINGO软件即
14、可求出结果。【模型假设】问题中没有对货物装运提出其它要求,我们可做如下假设:1) 每种货物可以分割到任意小;2) 每种货物可以在一个或多个货舱中任意分布;3) 多种货物可以混装,并保证不留空隙。决策变量:用Xij表示第i种货物装入第j个货舱 重量(吨),货舱j=1,2,3分别表示前仓、中仓、后仓.Ci 表示第i种货物所得的利润(元/吨),Di表示第i种货物所占的空间。决策目标是最大利润,即约束条件包括以下四个方面:1) 供装载的四种货物的总重量的约束,即2)三个货舱的重量限制,即3)三个货舱的空间限制,即4)三个货舱装入重量的平衡约束,即将以上模型输入LINGO中求解,程序为:huowu/w1
15、.w4/:product1,product2,profit;huocang/c1.c3/:limit1,limit2;links(huowu,huocang):c,x;product1=18 15 23 12;product2=480 650 580 390;profit=3100 3800 3500 2850;limit1=6800 8700 5300;limit2=10 16 8; max=sum(links(i,j):profit(i)*x(i,j);for(huowu(i): sum(huocang(j):c(i,j)=1);for(huocang(j): sum(huowu(i):=
16、4);x(i,j)limit2(j);product2(i)*x(i,j)=limit1(j);=product1(i);for(huocang(j)|j#lt#3:x(i,j)/limit2(j)=sum(huowu(i):x(i,j+1)/limit2(j+1);运行结果为: Global optimal solution found. 121515.8 10 PRODUCT1( W1) 18.00000 0.000000 PRODUCT1( W2) 15.00000 0.000000 PRODUCT1( W3) 23.00000 0.000000 PRODUCT1( W4) 12.000
17、00 0.000000 PRODUCT2( W1) 480.0000 0.000000 PRODUCT2( W2) 650.0000 0.000000 PRODUCT2( W3) 580.0000 0.000000 PRODUCT2( W4) 390.0000 0.000000 PROFIT( W1) 3100.000 0.000000 PROFIT( W2) 3800.000 0.000000 PROFIT( W3) 3500.000 0.000000 PROFIT( W4) 2850.000 0.000000 LIMIT1( C1) 6800.000 0.000000 LIMIT1( C2
18、) 8700.000 0.000000 LIMIT1( C3) 5300.000 0.000000 LIMIT2( C1) 10.00000 0.000000 LIMIT2( C2) 16.00000 0.000000 LIMIT2( C3) 8.000000 0.000000 C( W1, C1) 0.000000 0.000000 C( W1, C2) 0.000000 0.000000 C( W1, C3) 0.000000 0.000000 C( W2, C1) 0.000000 0.000000 C( W2, C2) 0.000000 0.000000 C( W2, C3) 0.00
19、0000 0.000000 C( W3, C1) 0.000000 0.000000 C( W3, C2) 0.000000 0.000000 C( W3, C3) 0.000000 0.000000 C( W4, C1) 0.000000 0.000000 C( W4, C2) 0.000000 0.000000 C( W4, C3) 0.000000 0.000000 X( W1, C1) 0.000000 400.0000 X( W1, C2) 0.000000 57.89474 X( W1, C3) 0.000000 400.0000 X( W2, C1) 10.00000 0.000
20、000 X( W2, C2) 0.000000 239.4737 X( W2, C3) 5.000000 0.000000 X( W3, C1) 0.000000 0.000000 X( W3, C2) 12.94737 0.000000 X( W3, C3) 3.000000 0.000000 X( W4, C1) 0.000000 650.0000 X( W4, C2) 3.052632 0.000000 X( W4, C3) 0.000000 650.0000 1 121515.8 1.000000 2 1.000000 0.000000 3 1.000000 0.000000 4 1.
21、000000 0.000000 5 1.000000 0.000000 6 4.000000 0.000000 7 4.000000 0.000000 8 4.000000 0.000000 9 0.000000 0.000000 10 0.000000 5453.289 11 0.000000 0.000000 12 300.0000 0.000000 13 0.000000 3.421053 14 310.0000 0.000000 15 18.00000 0.000000 16 0.000000 300.0000 17 7.052632 0.000000 18 8.947368 0.00
22、0000 19 0.000000 35000.00 20 0.000000 -28000.00实际上不妨将所得到的最优解做四舍五入,结果为货物2装入前仓10吨,装入后仓5吨,货物3装入中仓13吨,装入后仓3吨,货物4装入中仓3吨。最大利润约121516元。若限制条件,每种货物只能放在一个货仓,该如何求解问题。2) 供装载的四种货物的总重量的约束,即5)为了表示每种货物只能放在一个货仓,故引入0-1变量, =1表示第i种货物装入第j个货舱。=0则表示第i种货物未装入第j个货舱,则有:=0,1 max=sum(links(i,j):for(links:bin(c);x=c*x);Local optimal solution found. 110300.0 Extended solver steps: 0 48 PRODUCT