简单货机装运模型lingo求解

线性规划

lingo重点:集合语言:

题目如下:
题目概要

一、集合段

  • 集合一:cang表示有三个仓库
  • 集合二:wu表示有四个货物
  • 集合三:link(wu,cang) 是wu四个元素/cang三个元素形成的矩阵集合

WET:每个cang的限重量
VOL:每个cang的限空间
w:每个wu的质量上限
v:每个wu的密度倒数
p:每个wu的利润
x(ij):第i个wu运输到第j个cang的质量

!【集合段】定义集合及变量;
sets: 
	cang/1..3/:WET,VOL;
	wu/1..4/:w,v,p;
	link(wu,cang):x;
endsets

二、数据段

对每个向量进行赋值货物 i=1234代表四个货物, 货舱 j=123表示前中后舱

!【数据段】对已知变量赋值;
data: 
	WET=10,16,8; VOL=6800,8700,5300; 
	w=18,15,23,12; v=480,650, 580,390; 
	p=3100,3800,3500,2850;
enddata

三、目标函数约束段

目标函数
m a x z = Σ i p ( i ) ( Σ j x ( i j ) ) maxz = Σ^ip(i)(Σ^jx(ij)) maxz=Σip(i)(Σjx(ij))
四种货物总质量约束
Σ j x ( i j ) ≤ w ( i ) , i = 1 , 2 , 3 , 4 Σ^jx(ij) ≤ w(i),i=1,2,3,4 Σjx(ij)w(i),i=1,2,3,4
三货舱质量限制
Σ i x ( i j ) ≤ W E T ( j ) , j = 1 , 2 , 3 Σ^ix(ij) ≤ WET(j),j=1,2,3 Σix(ij)WET(j),j=1,2,3
三货舱空间限制
Σ i v ( i ) x ( i j ) ≤ V O L ( j ) , j = 1 , 2 , 3 Σ^iv(i)x(ij) ≤ VOL(j),j=1,2,3 Σiv(i)x(ij)VOL(j),j=1,2,3
三个货舱装入质量的平衡约束
(互不相等且必须两两比较用该式代码)
Σ x ( i j ) / W E T ( j ) = Σ x ( i k ) / W E T ( k ) , j , k = 1 , 2 , 3 ; j ≠ k Σx(ij)/WET(j) = Σx(ik)/WET(k),j,k=1,2,3;j≠k Σx(ij)/WET(j)=Σx(ik)/WET(k),j,k=1,2,3;j̸=k
对于Σ使用sum函数自然遍历下标,对于满足好几个相似的式子如上

max=@sum(wu(i):p(i)*@sum(cang(j):x(i,j)));
@for(wu(i):@sum(cang(j):x(i,j))<w(i));
@for(cang(j):@sum(wu(i):x(i,j))<WET(j));
@for(cang(j):@sum(wu(i):v(i)*x(i,j))<VOL(j));
@for(cang(j):
	@for(cang(k)|k #GT# j:	!#GT#是大于等于的含义;
		@sum(wu(i):x(i,j)/WET(j))=@sum(wu(i):x(i,k)/WET(k)));
);
END
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值