Converting time variable to binary variable

Problems with modeling
Post Reply
mdemircioglu
User
User
Posts: 1
Joined: 4 years ago

Converting time variable to binary variable

Post by mdemircioglu »

Dear GAMS users,
I want to improve the flow shop problem.
My problem is I have starting time and compilation time variables which are integer variables.
But I cant convert these variables into binary variable.

start(m,k) 'start time for job in position k on m'
comp(m,k) 'completion time for job in position k on m'

---- VAR start start time for job in position k on m

LOWER LEVEL UPPER MARGINAL

bending .i1 . . +INF 1.000
bending .i2 . 1.000 +INF .
bending .i3 . 4.000 +INF .
bending .i4 . 6.000 +INF .
bending .i5 . 11.000 +INF .
bending .i6 . 14.000 +INF .
bending .i7 . 18.000 +INF .
soldering.i1 . 1.000 +INF .
soldering.i2 . 4.000 +INF .
soldering.i3 . 6.000 +INF .
soldering.i4 . 11.000 +INF .
soldering.i5 . 14.000 +INF .
soldering.i6 . 18.000 +INF .
soldering.i7 . 24.000 +INF .
assembly .i1 . 4.000 +INF .
assembly .i2 . 6.000 +INF .
assembly .i3 . 11.000 +INF .
assembly .i4 . 15.000 +INF .
assembly .i5 . 22.000 +INF .
assembly .i6 . 28.000 +INF .
assembly .i7 . 31.000 +INF .

---- VAR comp completion time for job in position k on m

LOWER LEVEL UPPER MARGINAL

bending .i1 . 1.000 +INF .
bending .i2 . 4.000 +INF .
bending .i3 . 6.000 +INF .
bending .i4 . 11.000 +INF .
bending .i5 . 14.000 +INF .
bending .i6 . 18.000 +INF .
bending .i7 . 24.000 +INF .
soldering.i1 . 4.000 +INF .
soldering.i2 . 6.000 +INF .
soldering.i3 . 9.000 +INF .
soldering.i4 . 14.000 +INF .
soldering.i5 . 17.000 +INF .
soldering.i6 . 24.000 +INF .
soldering.i7 . 26.000 +INF .
assembly .i1 . 6.000 +INF .
assembly .i2 . 11.000 +INF .
assembly .i3 . 15.000 +INF .
assembly .i4 . 22.000 +INF .
assembly .i5 . 28.000 +INF .
assembly .i6 . 31.000 +INF .
assembly .i7 . 32.000 +INF .

I want to convert this 2 variables to when the machine is busy at time "t" it must be 1, if not it is 0.
New binary variable elv(m,t) = 0 or 1. t = 0 ,1... , 32 (32=compilation time for the last item)
For example elv(1,1) = 1. Bending machine is working on time 1.

Thanks for your time to read the post. Any help will be appreciated
Post Reply