This is a model of scheduling problem from an article called “Multistage-Based Genetic Algorithm for Flexible Job-Shop Scheduling Problem”.
Kisit_2 and Kisit_3 are disjunctive constraint. But ı couldn t understand how can it be .
disjunctive consttraints are generally expressed like this:
(…)x(i,j)
(…)(1-x(i,j))
And solution of the model beneath is infeasible. I couldn t the reason.
Im waiting for your advices
Sets i Isler /1,2,3/
j Operasyonlar /1,2,3/
k Makineler/1,2,3/;
Alias(i,f);
Alias(j,g);
Set a(i,j,f,g,k)/ 1.1.2.1.1, 1.1.3.1.1, 1.1.3.2.1
2.1.3.1.1, 2.1.3.2.1
3.1.3.2.1
1.1.2.1.2, 1.1.1.3.2, 1.1.2.2.2, 1.1.2.3.2, 1.1.3.3.2
1.2.1.3.2, 1.2.2.2.2, 1.2.2.3.2, 1.2.3.3.2
1.3.2.2.2, 1.3.2.3.2, 1.3.3.3.2
2.2.2.3.2, 2.2.3.3.2
2.3.3.3.2
1.3.2.1.3, 1.3.2.2.3, 1.3.3.2.3, 1.3.3.3.3
2.1.2.2.3, 2.1.3.2.3, 2.1.3.3.3
2.2.3.2.3, 2.2.3.3.3
3.2.3.3.3/;
Table t(k,i,j) Operation times(Saniye\Parça)
1.1 1.2 1.3 2.1 2.2 2.3 3.1 3.2 3.3
1 25 100 100 35 100 100 20 25 100
2 25 15 30 100 25 40 100 100 15
3 100 100 30 35 25 100 100 25 15
Table b(k,i,j) Alternative Machines
1.1 1.2 1.3 2.1 2.2 2.3 3.1 3.2 3.3
1 1 0 0 1 0 0 1 1 0
2 1 1 1 0 1 1 0 0 1
3 0 0 1 1 1 0 0 1 1
Scalar M;
M= -10000;
Parameter syc(i)/1 3, 2 3, 3 3/;
Binary Variable x(i,j,k)
Binary Variable y(i,j,f,g,k)
Integer Variable c(i,j)
Variable Cmax;
Equations
Kisit_1(i,j,k)
Kisit_2(i,j,f,g,k)
Kisit_3(i,j,f,g,k)
Kisit_4(i,j)
Kisit_5(i,j)
Kisit_7(i,j,f,g,k);
*Kisit_1 e eklenebilir b(k,i,j)>=1
Kisit_1(i,j,k)$(ord(j)>1)… c(i,j) - c(i,j-1) =G= t(k,i,j)*x(i,j,k) ;
Kisit_2(i,j,f,g,k)$a(i,j,f,g,k)… (c(f,g) - c(i,j) - t(k,f,g))*x(i,j,k)*x(f,g,k) =G= 0;
Kisit_3(i,j,f,g,k)$a(i,j,f,g,k)… (c(i,j) - c(f,g) - t(k,i,j))*x(i,j,k)*x(f,g,k) =G= 0;
Kisit_4(i,j)… sum(k$(b(k,i,j)>0),x(i,j,k)) =E= 1;
Kisit_5(i,j)$(ord(j)>=card(j))… Cmax =G= c(i,j);
Kisit_7(i,j,f,g,k)$a(i,j,f,g,k)… x(i,j,k)*x(f,g,k) =L= 1;
Model GenLin /all/;
$onecho > baron.opt
nlpsol=4
$offecho
OPTION NLP=BARON;
GenLin.optfile=1;
GenLin.workspace=1000;
GenLin.optcr=0;
GenLin.reslim=3600;
option limrow=32;
Solve GenLin Minimizing Cmax Using minlp;
–
To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.