这个是我的毕业设计,老师让用lingo做,我按例子一步步做下来可是怎末也不对,希望高手指点一下! 数学模型:Min z=∑∑∑cijxijk +∑∑∑(tsi-tai)xijk+∑∑∑(tsi+cij-tdi)xijk, 约束:∑j∑kxijk=1 ∑ixijk<=1, (tsi+cij)xij,k-1<=tskxijk, xijk=1,泊位j上停靠着第k艘船i
=0其他
i:
船的号码
j:泊位号码
k: 停泊顺序
cij :泊位j上船i的操作时间
tai :船i到达的时间
tsi:船i开始工作的时间
tdi :船i离开的时间
我设的:m每艘船上的箱数,a到达时间,l离开时间,r每个泊位的效率,
我设的:m每艘船上的箱数,a到达时间,l离开时间,r每个泊位的效率, c泊位上的工作时间,t开始工作的时间
MODEL: sets: ship/1..11/:m,a,l,x,i; berth/1..4/:r,j; link(ship,berth):c,t; endsets data: m=428 45 259 172 684 356 435 350 150 250 333; a=9 9 0.5 21 0.5 8.5 7 11.5 21.5 22 9; l=20 21 13 23.83 23.83 21 20.5 23.83 23.83 23.83 23.83; r=90 60 30 30; enddata !Objective function; [OBJ]min=@sum(link(i,j,k):c(i,j)*x(i,j,k))+@sum(link(i,j,k):t(i)*x(i,j,k)-a(i)*x(i,j ,k)); @for(link(i,j):c(i,j)*r(j)=m(i)); @for(link(j,k) sum(link(j,k):x(i,j,k)=1)); @for(ship(i) sum(ship(i):x(i,j,k)); @for(link(i,j,k):t(i)*x(i,k-1)+c(i,j)*x(i,j,k-1)<t(k)*x(i,j,k); @for(k<11,k>0); end cij :泊位j上船i的操作时间
tai :船i到达的时间
tsi:船i开始工作的时间
tdi :船i离开的时间
我设的:m每艘船上的箱数,a到达时间,l离开时间,r每个泊位的效率,
我设的:m每艘船上的箱数,a到达时间,l离开时间,r每个泊位的效率, c泊位上的工作时间,t开始工作的时间
MODEL: sets: ship/1..11/:m,a,l,x,i; berth/1..4/:r,j; link(ship,berth):c,t; endsets data: m=428 45 259 172 684 356 435 350 150 250 333; a=9 9 0.5 21 0.5 8.5 7 11.5 21.5 22 9; l=20 21 13 23.83 23.83 21 20.5 23.83 23.83 23.83 23.83; r=90 60 30 30; enddata !Objective function; [OBJ]min=@sum(link(i,j,k):c(i,j)*x(i,j,k))+@sum(link(i,j,k):t(i)*x(i,j,k)-a(i)*x(i,j ,k)); @for(link(i,j):c(i,j)*r(j)=m(i)); @for(link(j,k) sum(link(j,k):x(i,j,k)=1)); @for(ship(i) sum(ship(i):x(i,j,k)); @for(link(i,j,k):t(i)*x(i,k-1)+c(i,j)*x(i,j,k-1)<t(k)*x(i,j,k); @for(k<11,k>0); end
[此贴子已经被作者于2008-5-25 20:29:02编辑过] |