使用LINGO 软件计算6 个发点8 个收点的最小费用运输问题。产销单位运价如下表
建立数学模型
使用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
运行结果
Global optimal solution found.
Objective value: 664.0000
Total solver iterations: 0
Variable Value Reduced Cost
CAPACITY( WH1) 60.00000 0.000000
CAPACITY( WH2) 55.00000 0.000000
CAPACITY( WH3) 51.00000 0.000000
CAPACITY( WH4) 43.00000 0.000000
CAPACITY( WH5) 41.00000 0.000000
CAPACITY( WH6) 52.00000 0.000000
DEMAND( V1) 35.00000 0.000000
DEMAND( V2) 37.00000 0.000000
DEMAND( V3) 22.00000 0.000000
DEMAND( V4) 32.00000 0.000000
DEMAND( V5) 41.00000 0.000000
DEMAND( V6) 32.00000 0.0