当前位置: 首页 > 范文大全 > 公文范文 >

[运筹学整数规划例题] 整数规划建模例题

时间:2021-11-04 14:50:18 来源:网友投稿

 . . .

 .. ..

 练习4.9 连续投资问题

 某公司现有资金10万元,拟在今后五年考虑用于下列项目的投资:

 项目A:从第一年到第四年每年年初需要投资,并于次年收回本利115%,但要求第一年投资最低金额为4万元,第二.三.四年不限.

 项目B:第三年初需要投资,到第五年末能收回本利128%,但规定最低投资金额为3万元,最高金额为5万元.

 项目C:第二年初需要投资,到第五年末能收回本利140%,但规定其投资金额或为2万元,或为4万元,或为6万元,或为8万元.

 项目D:五年每年年初都可购买公债,于当年末归还,并获利6%,此项目投资金额不限.

 试问该公司应图和确定这些项目的每年投资金额,使到第五年末拥有最大的资金收益.

 (1) 为项目各年月初投入向量。

 (2) 为 i 种项目j年的月初的投入。

 (3) 向量c中的元素为i年末j种项目收回本例的百分比。

 (4) 矩阵A中元素为约束条件中每个变量的系数。

 (5) Z为第5年末能拥有的资金本利最大总额。

 因此目标函数为

 束条件应是每年年初的投资额应等于该投资者年初所拥有的资金.

 第1年年初该投资者拥有10万元资金,故有

 .

 第2年年初该投资者手中拥有资金只有,故有

 .

 第3年年初该投资者拥有资金为从项目收回的本金: ,及从项目中第1年投资收回的本金: ,故有

 同理第4年、第5年有约束为

 ,

 max=1.15*x4a+1.28*x3b+1.4*x2c+1.06*x5d;

  x1a+x1d=100000;

 -1.06*x1d+x2a+x2c+x2d=0;

 -1.15*x1a-1.06*x2d+x3a+x3b+x3d=0;

 -1.15*x2a-1.06*x3d+x4a+x4d=0;

 -1.15*x3a-1.06*x4d+x5d=0;

 x2c=40000 ;

 x2c=60000;

 x2c=80000;

 x2c=20000;

 x3b>=30000;

 x3b<=50000;

 x1a>=0;x2a>=0;x3a>=0;x4a>=0;x5a>=0;

 x1b>=0;x2b>=0;x3b>=0;x4b>=0;x5b>=0;

 x1c>=0;x2c>=0;x3c>=0;x4c>=0;x5c>=0;

 x1d>=0;x2d>=0;x3d>=0;x4d>=0;x5d>=0;

  Variable Value Reduced Cost

  X4A 22900.00 0.000000

  X3B 50000.00 0.000000

  X2C 40000.00 0.000000

  X5D 0.000000 0.000000

  X1A 62264.15 0.000000

  X1D 37735.85 0.000000

  X2A 0.000000 0.000000

  X2D 0.000000 0.3036000E-01

  X3A 0.000000 0.000000

  X3D 21603.77 0.000000

  X4D 0.000000 0.2640000E-01

  X5A 0.000000 0.000000

  X1B 0.000000 0.000000

  X2B 0.000000 0.000000

  X4B 0.000000 0.000000

  X5B 0.000000 0.000000

  X1C 0.000000 0.000000

  X3C 0.000000 0.000000

  X4C 0.000000 0.000000

  X5C 0.000000 0.000000

  Row Slack or Surplus Dual Price

  1 80000.00 1.000000

  2 0.000000 1.401850

  3 0.000000 1.322500

  4 0.000000 1.219000

  5 0.000000 1.150000

  6 0.000000 1.060000

  7 0.000000 -0.8388608E+18

  8 -20000.00 -0.1280000E+10

  9 -40000.00 -0.1280000E+10

  10 -20000.00 0.1280000E+10

  11 20000.00 0.000000

  12 0.000000 0.6100000E-01

  13 62264.15 0.000000

  14 0.000000 0.000000

  15 0.000000 0.000000

  16 22900.00 0.000000

  17 0.000000 0.000000

  18 0.000000 0.000000

  19 0.000000 0.000000

  20 50000.00 0.000000

  21 0.000000 0.000000

  22 0.000000 0.000000

  23 0.000000 0.000000

  24 40000.00 0.000000

  25 0.000000 0.000000

  26 0.000000 0.000000

  27 0.000000 0.000000

  28 37735.85 0.000000

  29 0.000000 0.000000

  30 21603.77 0.000000

  31 0.000000 0.000000

  32 0.000000 0.000000

 4.10

 某城市的消防总站将全市划分为11个防火区,现有4个消防站,图4-11给出的是该城市各防火区域和防火站的示意图,其中1,2,3,4,表示消防站1,2,…11表示防火区域,根据历史资料证实,各消防站可在事先规定允许的时间对所负责的区域的火灾予以扑灭,图中没有虚线连接的就表示不负责,现在总部提出:能否减少消防站的数目,仍能保证负责各地区的防火任务?如果可以的话,应该关闭哪个?

 练习4.10

 某城市的消防站总部将全市划分为11个防火区,现有四的。。。。。。

 解:根据题意,用xi表示第i个消防站的关系的打开关闭情况

 X=1; 第i个消防站不关闭

  0; 第i个消防站关闭

 用y代表第i个消防站到第j个防火区域的到达情况,0表示不可达,1表示可达,Y=[1,1,1,1,0,1,1,1,0,0,0;

  1,1,0,1,0,0,0,1,1,0,0;

  0,0,0,1,1,1,0,0,0,0,1;

  0,0,0,0,0,1,1,1,1,1,1;]

 则问题可归结为0—1整数规划模型。

 min z=sum x(i);

 St x(i)*y(i,j)>=1;j=1,2,3...11

 

  x(i)<=3;

  X=0或1

 

 利用lingo求解

 model:

 sets:

 n_i/1..4/:x;

 n_j/1..11/;

 link(n_i,n_j):y;

 endsets

 data:

 y=1,1,1,1,0,1,1,1,0,0,0,1,1,0,1,0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1;

 enddata

 [obj]min=sum(n_i(i):x(i));

 for(n_j(j):sum(n_i(i):x(i)*y(i,j))>=1;);

 for(n_j(j):sum(n_i(i):x(i))<=3;);

 for(n_i(i):bin(x(i));x(i)>=0;);

 end

 运行结果:

 Global optimal solution found.

  Objective value: 3.000000

  Extended solver steps: 0

  Total solver iterations: 0

  Variable Value Reduced Cost

  X( 1) 1.000000 1.000000

  X( 2) 0.000000 1.000000

  X( 3) 1.000000 1.000000

  X( 4) 1.000000 1.000000

  Y( 1, 1) 1.000000 0.000000

  Y( 1, 2) 1.000000 0.000000

  Y( 1, 3) 1.000000 0.000000

  Y( 1, 4) 1.000000 0.000000

  Y( 1, 5) 0.000000 0.000000

  Y( 1, 6) 1.000000 0.000000

  Y( 1, 7) 1.000000 0.000000

  Y( 1, 8) 1.000000 0.000000

  Y( 1, 9) 0.000000 0.000000

  Y( 1, 10) 0.000000 0.000000

  Y( 1, 11) 0.000000 0.000000

  Y( 2, 1) 1.000000 0.000000

  Y( 2, 2) 1.000000 0.000000

  Y( 2, 3) 0.000000 0.000000

  Y( 2, 4) 1.000000 0.000000

  Y( 2, 5) 0.000000 0.000000

  Y( 2, 6) 0.000000 0.000000

  Y( 2, 7) 0.000000 0.000000

  Y( 2, 8) 1.000000 0.000000

  Y( 2, 9) 1.000000 0.000000

  Y( 2, 10) 0.000000 0.000000

  Y( 2, 11) 0.000000 0.000000

  Y( 3, 1) 0.000000 0.000000

  Y( 3, 2) 0.000000 0.000000

  Y( 3, 3) 0.000000 0.000000

  Y( 3, 4) 1.000000 0.000000

  Y( 3, 5) 1.000000 0.000000

  Y( 3, 6) 1.000000 0.000000

  Y( 3, 7) 0.000000 0.000000

  Y( 3, 8) 0.000000 0.000000

  Y( 3, 9) 0.000000 0.000000

  Y( 3, 10) 0.000000 0.000000

  Y( 3, 11) 1.000000 0.000000

  Y( 4, 1) 0.000000 0.000000

  Y( 4, 2) 0.000000 0.000000

  Y( 4, 3) 0.000000 0.000000

  Y( 4, 4) 0.000000 0.000000

  Y( 4, 5) 0.000000 0.000000

  Y( 4, 6) 1.000000 0.000000

  Y( 4, 7) 1.000000 0.000000

  Y( 4, 8) 1.000000 0.000000

  Y( 4, 9) 1.000000 0.000000

  Y( 4, 10) 1.000000 0.000000

  Y( 4, 11) 1.000000 0.000000

  Row Slack or Surplus Dual Price

  OBJ 3.000000 -1.000000

  2 0.000000 0.000000

  3 0.000000 0.000000

  4 0.000000 0.000000

  5 1.000000 0.000000

  6 0.000000 0.000000

  7 2.000000 0.000000

  8 1.000000 0.000000

  9 1.000000 0.000000

  10 0.000000 0.000000

  11 0.000000 0.000000

  12 1.000000 0.000000

  13 0.000000 0.000000

  14 0.000000 0.000000

  15 0.000000 0.000000

  16 0.000000 0.000000

  17 0.000000 0.000000

  18 0.000000 0.000000

  19 0.000000 0.000000

  20 0.000000 0.000000

  21 0.000000 0.000000

  22 0.000000 0.000000

  23 0.000000 0.000000

  24 1.000000 0.000000

  25 0.000000 0.000000

  26 1.000000 0.000000

  27 1.000000 0.000000

 结果如下:

 X= X=X=1,X=0;即应关闭2号消防站。

 1

 1

 2

 1

 2

 3

 4

 9

 10

 11

 7

 5

 6

 4

 8

 3

 4.11

 某航空公司主要经营A,B,C三个大城市之间的航线飞行,这些航线每天航班起飞与到达时间如表4-16所示,假如飞机在机场停留损失费用大致与停留时间的平方成正比,又知每架飞机从降落到下一班起飞至少需要2h的准备时间,试分析确定一个使总的停留损失费用最小的飞行方案。

 航班号

 出发城市

 起飞时间

 到达城市

 到达时间

 101

 A

 9:00

 B

 2:00(次日)

 102

 A

 10:00

 B

 12:00

 103

 A

 15:00

 B

 13:00

 104

 A

 20:00

 C

 18:00

 105

 A

 22:00

 C

 24:00

 106

 B

 4:00

 A

 7:00

 107

 B

 11:00

 A

 14:00

 108

 B

 15:00

 A

 18:00

 109

 C

 7:00

 A

 11:00

 110

 C

 15:00

 A

 19:00

 111

 B

 13:00

 C

 18:00

 112

 B

 18:00

 C

 23:00

 113

 C

 15:00

 B

 20:00

 114

 C

 7:00

 B

 12:00

 解:设飞机停留一小时的损失费为a元,则停留两小时损失为4a元,停留3小时的损失费用为9a元,依次类推,对A.、B、C三个城市建立的指派问题效率矩阵分别如下表:

  城市A

  起飞

 到达

  101

  102

  103

  104

  105

  106

  4a

  9a

  64a

 169a

  225a

  107

  361a

  400a

  625a

  36a

  64a

  108

  225a

  256a

  441a

  4a

  16a

  109

  484a

  529a

  16a

  81a

  121a

  110

  196a

  225a

  400a

  625a

  9a

 用匈牙利法

 解得最优解为:

  起飞

 到达

  101

  102

  103

  104

  105

  106

  0

  1

  0

 0

  0

  107

  0

  0

  0

  1

  0

  108

  0

  0

  0

  0

  1

  109

  0

  0

  1

  0

  0

  110

  1

  0

  0

  0

  0

  城市B

  起飞

 到达

  101

  102

  103

  104

  105

  106

  256a

  529a

  9a

 625a

  36a

  107

  225a

  484a

  4a

  576a

  25a

  108

  100a

  289a

  441a

  361a

  576a

  109

  64a

  225a

  361a

  289a

  484a

  110

  256a

  529a

  9a

  625a

  36a

 解得最优解为:

  起飞

 到达

  101

  102

  103

  104

  105

  106

  0

  0

  1

 0

  0

  107

  1

  0

  0

  0

  0

  108

  0

  1

  0

  0

  0

  109

  0

  0

  0

  1

  0

  110

  0

  0

  0

  0

  1

  城市C

  起飞

 到达

  109

  110

  113

  114

  104

  49a

  225a

  225a

 49a

  105

  25a

  169a

  169a

  25a

  111

  169a

  441a

  441a

  169a

  112

  64a

  226a

  256a

  64a

 解得最优解为:

  起飞

 到达

  109

  110

  113

  114

  104

  0

  1

  0

 0

  105

  0

  0

  1

  0

  111

  1

  0

  0

  0

  112

  0

  0

  0

  1

相关热词搜索: 运筹学 例题 整数 规划