使用LINGO软件计算6个发点8个收点的最小费用运输问题。产销单位运价如下表。
|
销地 产地 |
B1 |
B2 |
B3 |
B4 |
B5 |
B6 |
B7 |
B8 |
产量 |
|
A1 |
6 |
2 |
6 |
7 |
4 |
2 |
5 |
9 |
60 |
|
A2 |
4 |
9 |
5 |
3 |
8 |
5 |
8 |
2 |
55 |
|
A3 |
5 |
2 |
1 |
9 |
7 |
4 |
3 |
3 |
51 |
|
A4 |
7 |
6 |
7 |
3 |
9 |
2 |
7 |
1 |
43 |
|
A5 |
2 |
3 |
9 |
5 |
7 |
2 |
6 |
5 |
41 |
|
A6 |
5 |
5 |
2 |
2 |
8 |
1 |
4 |
3 |
52 |
|
销量 |
35 |
37 |
22 |
32 |
41 |
32 |
43 |
38 |
使用LINGO软件,编制程序如下:
model:
!6发点8收点运输问题;
sets:
warehouses/wh1..wh6/: capacity;
vendors/v1..v8/: demand;
links(warehouses,vendors): cost, volume;
endsets
!目标函数;
min=@sum(links: cost*volume);
!需求约束;
@for(vendors(J):
@sum(warehouses(I): volume(I,J))=demand(J));
!产量约束;
@for(warehouses(I):
@sum(vendors(J): volume(I,J))<=capacity(I));
!这里是数据;
data:
capacity=60 55 51 43 41 52;
demand=35 37 22 32 41 32 43 38;
cost=6 2 6 7 4 2 9 5
4 9 5 3 8 5 8 2
5 2 1 9 7 4 3 3
7 6 7 3 9 2 7 1
2 3 9 5 7 2 6 5
5 5 2 2 8 1 4 3;
enddata
end