
一、某商店拟制定某种商品7—12月的进货、销售计划。已知商店最大库存量为1500件,6月底已有存货300件,年底的库存以不少于300件为宜,以后每月进货一次。假设各月份该商品买进、售出单价如下表。若每件每月的库存费为0.5元,问各月进货、售货多少件,才能使净收益最大。试建立数学模型,并求解。
| 月 | 7 | 8 | 9 | 10 | 11 | 12 |
| 买进(元/件) | 28 | 26 | 25 | 27 | 24 | 23.5 |
| 卖出(元/件) | 29 | 27 | 26 | 28 | 25 | 25 |
(1)月末进货:从七月为第一月开始,设第i月售货、进货量分别为,件,则第i月末工厂的库存量为300+,工厂的利润Z应是产品卖价减去进价与库存费用,故目标函数为
Max Z=29+27+26+28+25+25-28
-26-25-27-24-23.5-0.5[300+]整理得
Z=-900+31.5+29+27.5+29+25.5+25-30.5-28-26.5-28-24.5-23.5.
约束条件有:商店的最大库容量
300-+1500
300+1500(i=2,3,4,5,6)
年底的最小库存
300300
月最大销售
300-0
300+(i=2,3,4,5,6)
因此本问题的数学模型为
Max -900+32+29.5+28+29.5+26+25.5-30.5-28
-26.5-28-24.5-23.5;
s.t. 300-+1500,
300+1500(i=2,3,4,5,6),
300300,
300-0,
300+(i=2,3,4,5,6),
(i,j=1,2,3,4,5,6);
化简得数学模型为
Max -900+32+29.5+28+29.5+26+25.5-30.5-28
-26.5-28-24.5-23.5;
s.t. - 1200,
-+-1200,
-+-+-1200,
-+-+-+- 1200,
-+-+-+- +-1200,
-+-+-+- +-+- 1200,
-+-+-+-+-+-,
- -300,
---300,
-+---300,
-+-+-- -300,
-+-+-+- --300,
-+-+-+- +-- -300,
(i,j=1,2,3,4,5,6)
利用lingo编制程序(见附录)求解得
最大净收益为5250元,此时==300,=======0
==1500
(2)月初进货:从七月为第一月开始,设第i月售货、进货量分别为,件,则第i月末工厂的库存量为300+,工厂的利润Z应是产品卖价减去进价与库存费用,故目标函数为
Max Z=29+27+26+28+25+25-28
-26-25-27-24-23.5-0.5[300++]整理得
Z=-900+31.5+29+27.5+29+25.5-31.5-28.5-27-28.5-25-24.
约束条件有:商店的最大库容量
300+1500;
300+1500(i=1,2,3,4,5);
年底的最小库存
300300;
月最大销售
300+(i=1,2,3,4,5,6)
因此本问题的数学模型为
Max Z=-900+31.5+29+27.5+29+25.5+25-31.5
-28.5-27-28.5-25-24;
s.t. 300+1500,
300+1500(i=1,2,3,4,5),
300300,
300+(i=1,2,3,4,5,6),
(i,j=1,2,3,4,5,6);
化简得数学模型为
Max -900+31.5+29+27.5+29+25.5-31.5
-28.5-27-28.5-25-24,
s.t. 1200,
-+1200,
-+-+1200,
-+-+-+1200,
-+-+-+- +1200,
-+-+-+- +-+ 1200,
-+-+-+-+-+-0,
--300,
+ ---300,
-+--+-300,
-+-+-- +-300,
-+-+-+- -+-300,
-+-+-+- +--+-300,
(i,j=1,2,3,4,5,6);
利用lingo编制程序(见附录)解得:
=======1500,==1200,==0 此时最优值为7050元
通过表格数据不难分析发现该解是最优解,其与表格数据相一致。
综合(1)、(2)得出该问题的解为=======1500,==1200,
==0 ,最优值为7050元。
二、某货船的载重量为12000吨,总容积为45000,冷藏容积为3000,可燃性指数总和不得超过7500,准备装6种货物,每种货物的单价、重量、体积和可燃性指数如下表。试确立相应的装货方案,使价值最高。
| 货物 | 重量 | 体积 | 可燃性 | 是否冷藏 | 单价 |
| A1 | 0.2 | 1.2 | 1 | 是 | 50 |
| A2 | 0.5 | 2.3 | 2 | 否 | 100 |
| A3 | 0.5 | 3.0 | 4 | 否 | 150 |
| A4 | 0.12 | 4.5 | 1 | 是 | 100 |
| A5 | 0.25 | 5.2 | 3 | 否 | 250 |
| A6 | 0.5 | 6.4 | 9 | 否 | 200 |
Max Z=50+100+150+100+250+200
约束条件应有四组:(1)货船的载重量
0.2+0.5+0.5+0.12+0.25+0.512000;
(2)总容积
1.2+2.3+3.0+4.5+5.2+6.445000;
(3)冷藏容积
1.2+4.53000;
(4)可燃性
+2+4++3+97500;
因此本问题的数学模型(化简后)为:
Max Z=50+100+150+100+250+200;
s.t. 0.2+0.5+0.5+0.12+0.25+0.512000,
1.2+2.3+3.0+4.5+5.2+6.445000,
1.2+4.53000,
+2+4++3+97500,
0 (i=1,2,3,4,5,6);
2.用lingo编制程序并求解得=666.6667, =2277.778,max Z=636111.1
分析:从表中数据对比中,不难分析出总重量和总体积都是富裕的,起主要控制作用的是可燃性和冷藏容积。为使价值最高,则“每单位可燃性”和“每单位冷藏容积”所代表的价值应尽量大,从而,的数量应尽量大。Lingo计算结果也说明了这一点。
由于件数只能是整数:取=666,=2278,则 max Z=636100
故该问题的最优解为 ====0,=666,=2278
最大价值为636100
三、某公司下设三个工厂,生产同一种产品,现要把三个工厂生产的产品运送给四个客户,工厂的产量,订户的需求量以及从三个工厂到四个订户的单位运费如下表:
| 工厂 | 订 户 | 供应量 | |||
| 1 | 2 | 3 | 4 | ||
| 1 | 5 | 2 | 6 | 7 | 30 |
| 2 | 3 | 5 | 4 | 10 | 20 |
| 3 | 4 | 3 | 2 | 13 | 40 |
| 需求量 | 20 | 10 | 45 | 25 | |
⑴订户4的订货量要保证满足;
⑵其余订户的订货量满足程度不低于80%;
⑶工厂3调运给订户1的产品数不低于15;
⑷因线路问题,工厂2应尽可能不分配给订户4;
⑸订户1和订户3的满足程度应尽可能平衡;
求在满足上述条件下的最佳分配方案.
解:1.设第i工厂运送的j订户的运货量为,单位运费为,工厂的供应量为。分配的目的是运输总费用最小,则目标函数可表示如下:
Min Z=
约束条件有(1)产品运输量与产品供应量应平衡;
=
(2)订户4的订货量要保证满足;
++=25
(3)订户1,2,3的订货量满足程度不低于80%;
++250.8
++100.8
++450.8
(4)工厂3调运给订户1的产品数不低于15;
15
(5)工厂2应尽可能不分配给订户4;
=0
(6)订户1和订户3的满足程度应尽可能平衡;
整理化简并加上非负约束可得本题的数学模型为
Max Z=-5-2-6-7-3-5-4-10-4-3-2-13;
s.t. +++=30,
+++=20,
+++=40,
++=25 ,
++16,
++8,
++36,
15,
=0,
9+9+9- 4-4-4=0,
0,
2.编制lingo程序并求解得:
Max Z=-375.4615
此时=====0,=5,==25,=2.538462,=14.46154,=15,=3
分析:产品的单位属性未给,故依据产品的量是否取整可得
(1)运输量能够取到小数(如为重量,体积等),可取小数,则最优解为
=====0,=5,==25,=2.538462,=14.46154,=15,=3
此时总运费为375.4615
(2)运输量只能取整数(如件数等),则利用线性规划解得特点在和进行调整
1).取=2,=15,此时订户1和订户3的满意程度(定义为实际运输量与需求量之比)分别为0.85和0.8888,相差0.03888,此时总运费为376
2).取=3,=14,此时订户1和订户3的满意程度分别为0.9和0.86666,相差0.0334,此时总运费为375
显然2)更满足条件(6),故最优解为:
=====0,=5,==25,=3,=14,=15,=3
总运费为375
附录 lingo程序及运行结果
一.
(1)题程序
model:
max=-900+31.5*x11+29*x21+27.5*x31+29*x41+25.5*x51+25*x61-30.5*x12-28*x22-26.5*x32-28*x42-25.5*x52-23.5*x62;
x12-x11<=1200;
x12-x11+x22-x21<=1200;
x12-x11+x22-x21+x32-x31<=1200;
x12-x11+x22-x21+x32-x31+x42-x41<=1200;
x12-x11+x22-x21+x32-x31+x42-x41+x52-x51<=1200;
x12-x11+x22-x21+x32-x31+x42-x41+x52-x51+x62-x61<=1200;
x12-x11+x22-x21+x32-x31+x42-x41+x52-x51+x62-x61>=0;
-x11>=-300;
x12-x11-x21>=-300;
x12-x11+x22-x21-x31>=-300;
x12-x11+x22-x21+x32-x31-x41>=-300;
x12-x11+x22-x21+x32-x31+x42-x41-x51>=-300;
x12-x11+x22-x21+x32-x31+x42-x41+x52-x51-x61>=-300;
end
运行结果:
Global optimal solution found.
Objective value: 5250.000
Total solver iterations: 0
Variable Value Reduced Cost
X11 300.0000 0.000000
X21 0.000000 1.500000
X31 0.000000 0.5000000
X41 1500.000 0.000000
X51 0.000000 2.500000
X61 0.000000 0.5000000
X12 0.000000 0.000000
X22 0.000000 0.000000
X32 1500.000 0.000000
X42 0.000000 0.000000
X52 0.000000 0.000000
X62 300.0000 0.000000
Row Slack or Surplus Dual Price
1 5250.000 1.000000
2 1500.000 0.000000
3 1500.000 0.000000
4 0.000000 2.500000
5 1500.000 0.000000
6 1500.000 0.000000
7 1200.000 0.000000
8 0.000000 -23.50000
9 0.000000 -1.000000
10 0.000000 -2.500000
11 0.000000 -1.500000
12 0.000000 -1.000000
13 0.000000 -2.500000
14 0.000000 -2.000000
(2)题程序
model:
max=-900+31.5*x11+29*x21+27.5*x31+29*x41+25.5*x51+25*x61-31.5*x12-28.5*x22-27*x32-28.5*x42-25*x52-24*x62;
x12<=1200;
x12-x11+x22<=1200;
x12-x11+x22-x21+x32<=1200;
x12-x11+x22-x21+x32-x31+x42<=1200;
x12-x11+x22-x21+x32-x31+x42-x41+x52<=1200;
x12-x11+x22-x21+x32-x31+x42-x41+x52-x51+x62<=1200;
x12-x11+x22-x21+x32-x31+x42-x41+x52-x51+x62-x61>=0;
X12-x11>=-300;
X22+x12-x11-x21>=-300;
x12-x11+x22-x21-x31+X32>=-300;
x12-x11+x22-x21+x32-x31-x41+X42>=-300;
x12-x11+x22-x21+x32-x31+x42-x41-x51+X52>=-300;
x12-x11+x22-x21+x32-x31+x42-x41+x52-x51-x61+X62>=-300;
end
运行结果: Global optimal solution found.
Objective value: 7050.000
Total solver iterations: 0
Variable Value Reduced Cost
X11 1500.000 0.000000
X21 1500.000 0.000000
X31 0.000000 0.000000
X41 1500.000 0.000000
X51 1500.000 0.000000
X61 1200.000 0.000000
X12 1200.000 0.000000
X22 1500.000 0.000000
X32 1500.000 0.000000
X42 0.000000 1.000000
X52 1500.000 0.000000
X62 1500.000 0.000000
Row Slack or Surplus Dual Price
1 7050.000 1.000000
2 0.000000 0.000000
3 0.000000 0.5000000
4 0.000000 0.5000000
5 0.000000 1.500000
6 0.000000 0.5000000
7 0.000000 1.000000
8 0.000000 -25.00000
9 0.000000 -3.000000
10 0.000000 -2.000000
11 1500.000 0.000000
12 0.000000 -4.000000
13 0.000000 -1.500000
14 300.0000 0.000000
二.程序及运行结果
model:
max=50*x1+100*x2+150*x3+100*x4+250*x5+200*x6;
0.2*x1+0.5*x2+0.5*x3+0.12*x4+0.25*x5+0.5*x6<=12000;
1.2*x1+2.3*x2+3*x3+4.5*x4+5.2*x5+6.4*x6<=45000;
1.2*x1+4.5*x4<=3000;
x1+2*x2+4*x3+x4+3*x5+9*x6<=7500;
end
Global optimal solution found.
Objective value: 636111.1
Total solver iterations: 5
Variable Value Reduced Cost
X1 0.000000 37.77778
X2 0.000000 66.66667
X3 0.000000 183.3333
X4 666.6667 0.000000
X5 2277.778 0.000000
X6 0.000000 550.0000
Row Slack or Surplus Dual Price
1 636111.1 1.000000
2 11350.56 0.000000
3 30155.56 0.000000
4 0.000000 3.703704
5 0.000000 83.33333
三.程序及运行结果
model:
max=-5*x11-2*x12-6*x13-7*x14-3*x21-5*x22-4*x23-10*x24-4*x31-3*x32-2*x33-13*x34;
x11+x12+x13+x14=30;
x21+x22+x23+x24=20;
x31+x32+x33+x34=40;
x14+x24+x34=25;
x11+x21+x31>=16;
x12+x22+x32>=8;
x13+x23+x33>=36;
x31>=15;
x24=0;
9*x11+9*x21+9*x31-4*x13-4*x23-4*x33=0;
!9*x11+9*x21+9*x31-4*x13-4*x23-4*x33>=-20;
end
Global optimal solution found.
Objective value: -375.4615
Total solver iterations: 7
Variable Value Reduced Cost
X11 0.000000 5.000000
X12 5.000000 0.000000
X13 0.000000 5.000000
X14 25.00000 0.000000
X21 2.538462 0.000000
X22 3.000000 0.000000
X23 14.46154 0.000000
X24 0.000000 0.000000
X31 15.00000 0.000000
X32 0.000000 0.000000
X33 25.00000 0.000000
X34 0.000000 5.000000
Row Slack or Surplus Dual Price
1 -375.4615 1.000000
2 0.000000 -0.6923077
3 0.000000 -3.692308
4 0.000000 -1.692308
5 0.000000 -6.307692
6 1.538462 0.000000
7 0.000000 -1.307692
8 3.461538 0.000000
9 0.000000 -3.000000
10 0.000000 0.000000
11 0.000000 0.7692308E-01
