Lingo应用(一)装配线平衡

Lingo User Manual
Chapter12 Model:ASLBAL

问题描述

Lingo应用(一)装配线平衡

代码

model:

sets:
task/1..11/:t;
!工序
a b c d e f g h i j  k
1 2 3 4 5 6 7 8 9 10 11;
pred(task,task)/
1,2
2,3
3,6
3,7
6,10
7,10
10,11
4,5
5,8
5,9
8,10
9,10/;
!工位数;
station/1..4/;
txs(task,station):x;
endsets

data:
t=45 11 9 50 15 12 12 12 12 8 9;
enddata

@for(task(i): [must_assign_constraint]
	@sum(station(k):x(i,k))=1
);


@for(pred(i,j): [sequence_constraint]
	@sum(station(k):
	k*x(j,k)-k*x(i,k))>=0
);

@for(station(k): [cycle_time_constraint]
	@sum(txs(i,k):t(i)*x(i,k))<=ct
);

min=ct;
@for(txs:
	@bin(x)
);

end

求解

Lingo应用(一)装配线平衡
工位:工序
1:4
2:1
3:2,5,8,9
4:3,6,7,10,11
节拍:50
工位时间:50,45,11+15+12+12=50,9+12+12+8+9=50