Anonim .2003. Buku Panduan Pendidikan Program Sarjana IPB tahun 2000-2005 edisi tahun 2003. BAPSI dan BAAK IPB.
Garfinkel RS, Nemhauser GL .1972. Integer Programming. New York: John Willey & Sons.
Nash SG, Sofer A .1996. Linear and Nonlinear Programming. New York: McGraw-Hill.
Ng PH, Martin LM. 2002. Classroom Scheduling Problems:A Discrete Optimization Approach. The UMAP Journal 23.1:57-66.
Taha HA .1975. Integer Programming. New York: Academic Press.
Winston WL .1995. Introduction to Mathematical Programming 2nded. New York: Duxbury.
14
15
x2
x1
Lampiran 1 Contoh penyelesaian suatu LP dengan metode branch and bound Dari LP pada Contoh 2
Misalkan diberikan integer programming berikut: Maksimumkan z=2x1+3x2 …(1)
Terhadap : x1+2x2 ≤10 …(2) 3x1+4x2 ≤25 …(3) x x1, 2 ≥0 dan integer ...(4)
Penyelesaian :
Daerah fisibel untuk masalah IP di atas diberikan pada gambar berikut :
2 4 6 8 10 x1 -1 1 2 3 4 5 6 x2
Gambar 1. Daerah Fisibel IP
LP tersebut anggap sebagai Subproblem 1. 1. Cari solusi LP-Relaksasi dari subproblem 1
Dengan mengeliminasi persamaan (2) dan (3) didapat x1 = 5, x2 = 2,5. Substitusikan hasil tersebut ke dalam persamaan (1) didapat z = 17,5.
Karena solusi yang didapat belum memenuhi kendala integer maka harus dibuat subproblem baru, yaitu:
Subproblem 2 : Subproblem 1 + kendala
(
x2 ≥3)
Subproblem 3 : Subproblem 1 + kendala
(
x2 ≤2)
Daerah fisibel untuk subproblem 2 dan subproblem 3 diberikan pada gambar berikut :
2 4 6 8 10 -1 1 2 3 4 5 6
Gambar 2. Daerah Fisibel untuk Subproblem 2 dan Subproblem 3
2. Cari solusi LP-Relaksasi dari subproblem 2 3 2 x = Substitusikan x2 =3 ke persamaan x1+2x2 =10 …(5) x1= 5 x2= 2,5
16
x2
x1
Sehingga didapatkan x1=4. Substitusikan nilai x1 dan x2 yang didapat ke persamaan (1) sehingga diperoleh z = 17.
3. Cari solusi LP-Relaksasi dari subproblem 3 2
2 x =
Substitusikan x2 =2 ke persamaan (5)
Sehingga didapatkan x1=5, 667. Substitusikan nilai x1 dan x2 yang didapat ke persamaan (1) sehingga diperoleh z = 13,333.
Karena solusi yang didapat belum memenuhi kendala integer maka harus dibuat subproblem baru, yaitu:
Subproblem 4 : Subproblem 3 + kendala
(
x1≤5)
Subproblem 5 : Subproblem 3 + kendala
(
x1≥6)
Daerah fisibel untuk subproblem 4 dan subproblem 5 diberikan pada gambar berikut :
2 4 6 8 10 -1 1 2 3 4 5 6
Gambar 4. Daerah Fisibel untuk subproblem 4 dan subproblem 5
4. Cari solusi LP-Relaksasi dari subproblem 4
1 5 x =
Substitusikan x1=5 ke persamaan (5)
Sehingga didapatkan x2=2, 5. Substitusikan nilai x1 dan x2 yang didapat ke persamaan (1) sehingga diperoleh z = 17,5. Karena titik (5;2,5) tidak berada di daerah fisibel subproblem 4, maka subproblem 4 tidak memiliki solusi fisibel.
5. Cari solusi LP-Relaksasi dari subproblem 5
1 6 x =
Substitusikan x1=6 ke persamaan 3x1+4x2 =25 …(6)
Sehingga didapatkan x2=1, 75. Substitusikan nilai x1 dan x2 yang didapat ke persamaan (1) sehingga diperoleh z = 17,25.
Karena solusi yang didapat belum memenuhi kendala integer maka harus dibuat subproblem baru, yaitu:
Subproblem 6 : Subproblem 5 + kendala
(
x2 ≥2)
Subproblem 7 : Subproblem 5 + kendala
(
x2 ≤1)
Subproblem 4 Subproblem 5
17
x2
x1
Daerah fisibel untuk subproblem 6 dan subproblem 7 diberikan pada gambar berikut :
2 4 6 8 10 -1 1 2 3 4 5 6
Gambar 5. Daerah Fisibel untuk subproblem 6 dan subproblem 7
6. Cari solusi LP-Relaksasi dari subproblem 6
2 2 x =
Substitusikan x2=2 ke persamaan (5)
Sehingga didapatkan x1=6. Substitusikan nilai x1 dan x2 yang didapat ke persamaan (1) sehingga diperoleh z = 18. Karena titik (6,2) tidak berada di daerah fisibel LP (lihat gambar), maka subproblem 6 tidak memiliki solusi fisibel.
7. Cari solusi LP-Relaksasi dari subproblem 7
2 1 x =
Substitusikan x2=1 ke persamaan (6)
Sehingga didapatkan x1=7. Substitusikan nilai x1 dan x2 yang didapat ke persamaan (1) sehingga diperoleh z = 17.
Dari subproblem-subproblem di atas terlihat bahwa subproblem 2 dan subproblem 7 yang memenuhi kendala integer. Karena nilai fungsi objektik dari kedua subproblem tersebut sama, maka solusi optimal dari LP tersebut terdapat pada titik x1=7 dan x2=1 serta x1=4 dan
3 2
x = dengan nilai fungsi objektif 17.
Subproblem 6
Subproblem 7
18
Lampiran 2 Program untuk menyelesaikan masalah Penjadwalan Perkuliahan Semester Genap di Departemen Matematika dengan menggunakan Lingo 8.0.
MODEL:
TITLE Penjadwalan Mata Kuliah Semester genap di Departemen Matematika; SETS: WAKTU /W1 W2..W19/; MATA_KULIAH /M1 M2..M42/; RUANGAN / R1 R2 .. R12/; KOMBINASI(WAKTU,MATA_KULIAH,RUANGAN): X; ENDSETS !Fungsi Objektif; MAX = @SUM(KOMBINASI(I,J,K):X); !Kendala;
!1 Mata kuliah wajib semester yang sama tidak boleh diselenggarakan pada periode waktu yang sama;
!a Mata kuliah wajib semester 4;
@FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#7:X(I,J,K)) )<=1);
!b Mata kuliah wajib semester 6;
@FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#12 #AND# J#GT#6:X(I,J,K)))<=1);
!2 Mata kuliah beresponsi, jadwal kuliah dan jadwal responsi harus diselenggarakan dalam hari yang berbeda;
! Kalkulus 3; @SUM(WAKTU(I)|I#EQ#1:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#3:X( I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#5:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#3:X( I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#9:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#3:X( I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#13:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#3:X (I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#17:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#3:X (I,J,K)+ X(I+1,J,K)+X(I+2,J,K))))<=1;
!Persamaan Differensial Biasa;
@SUM(WAKTU(I)|I#EQ#1:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#5 #AND# J#GT#2:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#5:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#5 #AND# J#GT#2:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#9:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#5 #AND# J#GT#2:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#13:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#5 #AND# J#GT#2:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1;
19
@SUM(WAKTU(I)|I#EQ#17:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#5 #AND# J#GT#2:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K))))<=1;
!Analisis Real;
@SUM(WAKTU(I)|I#EQ#1:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#9 #AND# J#GT#6:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#5:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#9 #AND# J#GT#6:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#9:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#9 #AND# J#GT#6:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#13:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#9 #AND# J#GT#6:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#17:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#9 #AND# J#GT#6:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K))))<=1;
!Statistika Matematika;
@SUM(WAKTU(I)|I#EQ#1:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#11 #AND# J#GT#8:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#5:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#11 #AND# J#GT#8:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#9:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#11 #AND# J#GT#8:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#13:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#11 #AND# J#GT#8:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#17:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#11 #AND# J#GT#8:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K))))<=1;
!Pemodelan Matematika;
@SUM(WAKTU(I)|I#EQ#1:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#15 #AND# J#GT#12:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#5:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#15 #AND# J#GT#12:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#9:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#15 #AND# J#GT#12:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#13:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#15 #AND# J#GT#12:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#17:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#15 #AND# J#GT#12:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K))))<=1;
!Analisis Peubah Ganda;
@SUM(WAKTU(I)|I#EQ#1:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#18 #AND# J#GT#15:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#5:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#18 #AND# J#GT#15:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1;
20
@SUM(WAKTU(I)|I#EQ#9:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#18 #AND# J#GT#15:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#13:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#18 #AND# J#GT#15:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#17:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#18 #AND# J#GT#15:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K))))<=1;
!Analisis Numerik Lanjut;
@SUM(WAKTU(I)|I#EQ#1:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#26 #AND# J#GT#23:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#5:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#26 #AND# J#GT#23:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#9:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#26 #AND# J#GT#23:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#13:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#26 #AND# J#GT#23:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#17:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#26 #AND# J#GT#23:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K))))<=1;
!Numerik Stokastik;
@SUM(WAKTU(I)|I#EQ#1:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#30 #AND# J#GT#27:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#5:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#30 #AND# J#GT#27:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#9:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#30 #AND# J#GT#27:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#13:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#30 #AND# J#GT#27:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#17:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#30 #AND# J#GT#27:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K))))<=1;
!Struktur Data;
@SUM(WAKTU(I)|I#EQ#1:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#32 #AND# J#GT#29:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#5:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#32 #AND# J#GT#29:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#9:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#32 #AND# J#GT#29:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#13:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#32 #AND# J#GT#29:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K)+X(I+3,J,K))))<=1; @SUM(WAKTU(I)|I#EQ#17:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#32 #AND# J#GT#29:X(I,J,K)+ X(I+1,J,K)+X(I+2,J,K))))<=1;
!3 Mata kuliah wajib dengan mata kuliah pilihan dalam semester yang sama tidak boleh diselenggarakan pada waktu sama;
21
!a Mata kuliah wajib semester 4 dengan mata kuliah pilihan semester 4;
@FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#EQ#1:X(I,J,K)+ X(I,J+1,K)+X(I,J+2,K)+X(I,J+3,K)+X(I,J+4,K)+X(I,J+5,K)+X(I,J+11,K) +X(I,J+17,K)+X(I,J+29,K)+X(I,J+30,K)+X(I,J+34,K)))<=1);
!b Mata kuliah wajib semester 6 dengan mata kuliah pilihan bidang minat pemodelan;
@FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#EQ#7:X(I,J,K)+ X(I,J+1,K)+X(I,J+2,K)+X(I,J+3,K)+X(I,J+4,K)+X(I,J+6,K)+X(I,J+7,K)+ X(I,J+8,K)))<=1);
!c Mata kuliah wajib semester 6 dengan mata kuliah pilihan bidang minat industri;
@FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#EQ#7:X(I,J,K)+ X(I,J+1,K)+X(I,J+2,K)+X(I,J+3,K)+X(I,J+4,K)+X(I,J+12,K)+X(I,J+13,K )+X(I,J+14,K)))<=1);
!d Mata kuliah wajib semester 6 dengan mata kuliah pilihan bidang minat murni;
@FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#EQ#7:X(I,J,K)+ X(I,J+1,K)+X(I,J+2,K)+X(I,J+3,K)+X(I,J+4,K)+X(I,J+15,K)+X(I,J+16,K )+X(I,J+17,K)+X(I,J+18,K)+X(I,J+19,K)))<=1);
!e Mata kuliah wajib semester 6 dengan mata kuliah pilihan bidang minat komputasi;
@FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#EQ#7:X(I,J,K)+ X(I,J+1,K)+X(I,J+2,K)+X(I,J+3,K)+X(I,J+4,K)+X(I,J+25,K)+X(I,J+26,K )+X(I,J+27,K)))<=1);
!f Mata kuliah wajib semester 6 dengan mata kuliah pilihan bidang minat ekonomi;
@FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#EQ#7:X(I,J,K)+ X(I,J+1,K)+X(I,J+2,K)+X(I,J+3,K)+X(I,J+4,K)+X(I,J+29,K)+X(I,J+30,K )+X(I,J+31,K)))<=1);
!g Mata kuliah wajib semester 6 dengan mata kuliah pilihan bidang minat lingkungan;
@FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#EQ#7:X(I,J,K)+ X(I,J+1,K)+X(I,J+2,K)+X(I,J+3,K)+X(I,J+4,K)+X(I,J+32,K)+X(I,J+33,K )))<=1);
!4 Mata kuliah dalam bidang minat yang sama tidak boleh diselenggarakan pada periode waktu yang sama;
!a Bidang minat pemodelan;
@FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#EQ#12:X(I,J,K) ))<=1); @FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#16 #AND# J#GT#12:X(I,J,K)))<=1); @FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#18 #AND# J#GT#15:X(I,J,K)))<=1);
!b Bidang minat industri;
@FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#EQ#18:X(I,J,K) ))<=1);
@FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#22 #AND# J#GT#18:X(I,J,K)))<=1);
!c Bidang minat murni;
@FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#27 #AND# J#GT#21:X(I,J,K)))<=1);
22
@FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#30 #AND# J#GT#26:X(I,J,K)))<=1);
!d Bidang minat komputasi;
@FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#32 #AND# J#GT#29:X(I,J,K)))<=1); @FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#35 #AND# J#GT#31:X(I,J,K)))<=1); !e ekonomi; @FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#EQ#35:X(I,J,K) ))<=1); @FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#39 #AND# J#GT#35:X(I,J,K)))<=1); !f lingkungan; @FOR(WAKTU(I):@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#41 #AND# J#GT#38:X(I,J,K)))<=1);
!5 Mata kuliah yang wajib tidak boleh dilaksanakan pada sore hari; @SUM(WAKTU(I)|I#EQ#4:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#12: X(I,J,K) + X(I+4,J,K)+X(I+8,J,K)+X(I+12,J,K))))=0;
!6 Setiap mata kuliah dilaksanakan tepat dalam satu ruangan; @FOR(MATA_KULIAH(J):@SUM(WAKTU(I):@SUM(RUANGAN(K):X(I,J,K)))=1);
!7 Paling banyak satu mata kuliah diselenggarakan dalam suatu ruangan dan suatu periode waktu;
@FOR(WAKTU(I):@FOR(RUANGAN(K):@SUM(MATA_KULIAH(J):X(I,J,K))<=1)); !8 Mata kuliah dengan waktu tatap muka di kelas 3 jam tidak boleh dilaksanakan pada waktu tatap muka di kelas 2 jam;
@SUM(WAKTU(I)|I#EQ#4:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#13: X(I,J,K) + X(I+4,J,K)+X(I+8,J,K)+X(I+12,J,K)+X(I+14,J,K))))=0; @SUM(WAKTU(I)|I#EQ#4:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#EQ#15: X(I,J,K) + X(I+4,J,K)+X(I+8,J,K)+X(I+12,J,K)+X(I+14,J,K))))=0; @SUM(WAKTU(I)|I#EQ#4:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#28 #AND# J#GT#17: X(I,J,K) + X(I+4,J,K)+X(I+8,J,K)+X(I+12,J,K)+X(I+14,J,K))))=0; @SUM(WAKTU(I)|I#EQ#4:@SUM(RUANGAN(K):@SUM(MATA_KULIAH(J)|J#LT#41 #AND# J#GT#31: X(I,J,K) + X(I+4,J,K)+X(I+8,J,K)+X(I+12,J,K)+X(I+14,J,K))))=0; !9 variabel X adalah integer nol atau satu;
@FOR(KOMBINASI:@BIN(X)); END