利用Lingo解一个具体的运输问题例子

  • 格式:doc
  • 大小:92.00 KB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三:利用Lingo 解一个具体的运输问题例子

1、 实验目的和任务

1.1. 进一步掌握Lingo 编程操作;

1.2通过实验进一步掌握运筹学运输问题的建模以及求解过程,提高学生分析问题和解决问题能力。

2、 实验仪器、设备及材料

计算机、Lingo

3、 实验内容

运输问题

问题P271

设有某种物资需要从m 个产地12,,...,m A A A 运到n 个销地12,,...,n B B B ,其中每个产地的生产量为12,,...,m a a a ,每个销地的需求量为12,,...,n b b b 。设从产地i A 到销地j B 的运费单价为(1,2,...,,1,2,...,),ij c i m j n ==,问如何调运可使总运费最少?

3个产地4个销地的运输问题

建模

决策变量:决策变量就是产地i A 到销地j B 的运量ij x

目标函数:

11min m n

ij ij i j z c x ===∑∑,

约束条件:第i 个产地的运出量应小于或等于该地的生产量,即

1,1,2,...,.n ij i j x

a i m =≤=∑

第j 个销地的运入量应等于该地的需求量,即

1,1,2,....m ij j i x

b j n ===∑

求解过程

编写模型程序:

model :

! 3 Warehouse,4 Customer Transportation Problem;

sets :

Warehouse/1..3/:a;

Customer/1..4/:b;

Routes(warehouse,customer):c,x;

endsets

!here are the parameters;

data :

a=30,25,21;

b=15,17,22,12;

c=6,2,6,7,

4,9,5,3,

8,8,1,5;

enddata

! The objective;

[obj] min =@sum (routes:c*x);

!The supply constraints;

@for (warehouse(i):[sup]@sum (customer(j):x(i,j))<=a(i));

!The demand constraints;

@for (customer(j):[dem] @sum (warehouse(i):x(i,j))=b(j));

end

计算结果:

Global optimal solution found.

Objective value: 161.0000

Total solver iterations: 6

Variable Value Reduced Cost

A( 1) 30.00000 0.000000

A( 2) 25.00000 0.000000

A( 3) 21.00000 0.000000

B( 1) 15.00000 0.000000

B( 2) 17.00000 0.000000

B( 3) 22.00000 0.000000

C( 1, 1) 6.000000 0.000000

C( 1, 2) 2.000000 0.000000

C( 1, 3) 6.000000 0.000000

C( 1, 4) 7.000000 0.000000

C( 2, 1) 4.000000 0.000000

C( 2, 2) 9.000000 0.000000

C( 2, 3) 5.000000 0.000000

C( 2, 4) 3.000000 0.000000

C( 3, 1) 8.000000 0.000000

C( 3, 2) 8.000000 0.000000

C( 3, 3) 1.000000 0.000000

C( 3, 4) 5.000000 0.000000

X( 1, 1) 2.000000 0.000000

X( 1, 2) 17.00000 0.000000

X( 1, 3) 1.000000 0.000000

X( 1, 4) 0.000000 2.000000

X( 2, 1) 13.00000 0.000000

X( 2, 2) 0.000000 9.000000

X( 2, 3) 0.000000 1.000000

X( 2, 4) 12.00000 0.000000

X( 3, 1) 0.000000 7.000000

X( 3, 2) 0.000000 11.00000

X( 3, 3) 21.00000 0.000000

X( 3, 4) 0.000000 5.000000

Row Slack or Surplus Dual Price

OBJ 161.0000 -1.000000

SUP( 1) 10.00000 0.000000

SUP( 2) 0.000000 2.000000

SUP( 3) 0.000000 5.000000

DEM( 1) 0.000000 -6.000000

DEM( 2) 0.000000 -2.000000

DEM( 3) 0.000000 -6.000000

事实上,我们关心更多的是那些非零变量,因此,可选择“Lingo|solution..”弹出一个对话框(介绍此

对话框),选择“nonzeros only”,即可只列出非零变量:

Global optimal solution found.

Objective value: 161.0000

Total solver iterations: 6

Variable Value Reduced Cost