Hey people,
I’ve got an issue about my model.
I created a gams model to find cmax on my flowshop problem. Firstly i tried with 5 jobs, the problem solved immiedetly and it worked perfectly. After that i tried the same codes to solve the same problem with 10 jobs. Gams found the best solution which i already know in 255.6 secs. But the solution has not come to an end. It was taking days. The issue is the solving procces takes days and i wanna know why and where is the problem.
Thank you so much for your help.
option lp = cplex;
set
j is numarasi /1*15/
m makine numarasi /1*3/;
alias (j, i);
table
P(j,m) islem süreleri
1 2 3
1 22 20 7
2 7 18 14
3 6 19 15
4 20 12 4
5 16 20 14
6 5 14 8
7 9 14 12
8 5 15 11
9 11 12 11
10 7 15 3
11 21 14 4
12 11 16 2
13 8 16 13
14 8 16 4
15 25 12 8
;
scalar
L büyük bir sayı /1000/
*zamanlama2
J_1 iş sayısı -1 /9/;
*siralama3
variables
X(i,j,m) m makinesinde i işinden sonra j işi geliyorsa 1 değilse 0
C(j,m) m makinesinde j işinin tamamlanma zamanı
CJ(j) j işinin tamamlanma zamanı
CMAX maksimum tamamlanma zamani;
binary variables
X(i,j,m);
equations
siralama1 (i,m) her makinede her işten sonra en fazla bir iş
siralama2 (j,m) her makinede her işten önce en fazla bir iş
siralama3 (m) makinedeki takip sayıisi iş sayısından bir az olması
zamanlama1 (j,m) ilk makinede zamanlama
zamanlama2 (i,j,m) işler arası zamanlama
zamanlama3 (j,m) makineler arası zamanlama
zamanlama4 (j,m) her işin tamamlanma zamanı
makstamamlanma (j) maksimum tamamlanma zamanı
;
siralama1 (i,m).. sum(j, X(i,j,m)$(ord(j)<>ord(i))) =l= 1;
siralama2 (j,m).. sum(i, X(i,j,m)$(ord(j)<>ord(i))) =l= 1;
siralama3 (m).. sum (i, sum (j, X(i,j,m)$(ord(j)<>ord(i)))) =e= 14;
zamanlama1 (j,m)$(ord(m)=1).. C(j,m) =g= P(j,m);
zamanlama2 (i,j,m)$(ord(j)<>ord(i)).. C(j,m) - C(i,m) + 1000 *(1-X(i,j,m)) =g= P(j,m);
zamanlama3 (j,m)$(ord(m)>1).. C(j,m) - C(j,m-1) =g= P(j,m);
zamanlama4 (j,m)$(ord(m)=3).. CJ(j) =e= C(j,m);
makstamamlanma (j).. CMAX =g= CJ(j);
model akistipi /all/;
solve akistipi using mip minimizing CMAX;
display X.l, C.l, CJ.l;
* 255.66 saniye sonra optimal değere ulaştı