优化-运输问题

问题一:运输问题
模型所求问题都是以产销平衡为前提的条件下进行的,但是在实际问题中绝大多数问题往往都是产销不平衡的,因此就需要将产销不平衡问题转化为产销平衡问题。
当产大于销时:
只需要假想增加一个销地(可以看做为一个存储地),该城销售量为产大于销的部分,而在单位运价表中从个产地销往此假想销售地的运价为0,由此转化为一个产销平衡问题。
当销大于产时:
可以假想增加一个产地,该产地的产量为实际需求量大于实际产量部分,而从该假想产地到个销售地的运价为0,由此转化为一个产销平衡问题。
在这里插入图片描述

model:
!4发点4收点运输问题,增加了一个虚拟产地;
sets:
warehouses/wh1..wh4/: capacity;
vendors/v1..v4/: 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=6 4 9 1;
demand=2 8 5 5;
cost=3 12 3 9
     1 9 2 8
     7 4 10 5
     0 0 0 0;
enddata
end

不进行假设
lingo解决6个发点8个收点的最小运输费用问题
在这里插入图片描述
在这里插入图片描述

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值