3
daerah fisibel dengan nilai fungsi objektif yang terbesar. Dan untuk masalah minimisasi,
nilai optimum dari suatu persamaan linear merupakan suatu nilai yang berada dalam
daerah fisibel dengan nilai fungsi objektif yang terkecil.
Winston 2004
2.3 Pemrograman Linear Integer
Pemrograman linear integer atau disebut juga sebagai integer programming IP
merupakan suatu pemrograman linear yang sebagian atau semua variabel yang digunakan
merupakan integer taknegatif. Jika suatu IP menggunakan semua variabel yang berupa
integer, maka IP tersebut disebut pure integer programming
PIP. Jika
suatu IP
menggunakan sebagian variabel saja yang berupa integer, maka IP tersebut disebut
mixed integer programming MIP. Jika suatu IP menggunakan semua variabel yang bernilai
0 atau 1, maka IP tersebut disebut 0-1 IP.
Winston 2004
Definisi 6 Pemrograman Linear Relaksasi
Pemrograman linear relaksasi atau disebut juga
PL-relaksasi merupakan
suatu pemrograman linear yang diperoleh dari suatu
IP yang dihilangkan kendala integer atau kendala 0-1 untuk semua variabelnya. Untuk
masalah maksimisasi, nilai optimum suatu fungsi objektif PL-relaksasi lebih besar atau
sama dengan nilai optimum fungsi objektif IP, sedangkan untuk masalah minimisasi, nilai
optimum suatu fungsi objektif PL-relaksasi lebih kecil atau sama dengan nilai optimum
fungsi objektif IP.
Winston 2004
2.4 Metode Branch and Bound
Dalam penulisan
karya ilmiah
ini digunakan software LINGO 11.0 untuk
memperoleh solusi optimum dari masalah IP. LINGO 11.0 merupakan sebuah program yang
didesain untuk menentukan solusi model linear, nonlinear, dan optimisasi integer
dengan mudah dan efisien. Program ini menggunakan metode branch dan bound
untuk menyelesaikan masalah IP.
Prinsip dasar metode branch and bound adalah mencari nilai optimum dari suatu IP
secara efisien dengan memecah daerah fisibel menjadi subproblem-subproblem.
Misal diberikan Subproblem n dari suatu IP, anggap
merupakan bilangan pecahan yang merupakan solusi suatu PL-relaksasi dan
bernilai di antara s dan dengan s suatu
bilangan bulat. Karena merupakan bilangan
pecahan maka nilai yang berada di daerah dari daerah fisibel Subproblem n
tidak akan memuat solusi IP yang fisibel karena tidak memenuhi kendala integer,
sehingga diperlukan dua subproblem baru yaitu:
Subproblem n + 1: Subproblem n +
kendala Subproblem n + 2: Subproblem n +
kendala Suatu subproblem tidak memerlukan
cabang subproblem baru jika memenuhi minimal satu dari situasi sebagai berikut:
1. subproblem tersebut tidak fisibel, sehingga
tidak dapat menghasilkan solusi optimum untuk IP,
2. subproblem tersebut menghasilkan solusi
optimum dengan semua variabel bernilai integer;
jika solusi
optimum ini
mempunyai nilai fungsi objektif yang lebih baik daripada solusi fisibel yang
diperoleh sebelumnya, maka solusi ini menjadi kandidat solusi optimum dan nilai
fungsi objektifnya menjadi batas bawah dalam masalah maksimisasi dan batas
atas
dalam masalah
minimisasi; subproblem
tersebut dimungkinkan
menghasilkan solusi optimum masalah IP, 3.
solusi optimum subproblem tersebut lebih kecil daripada batas bawah yang diperoleh
sebelumnya dalam masalah maksimisasi. Winston 2004
Contoh 1 Misalkan diberikan IP berikut:
Maksimumkan terhadap
integer 2
Metode branch and bound dimulai dengan menentukan solusi PL-relaksasi Subproblem
1. Solusi PL-relaksasi untuk masalah tersebut adalah
. . dan
. detail penghitungan dapat dilihat di Lampiran 1. Solusi tersebut tidak
memenuhi kendala integer. Oleh karena itu, harus dibuat subproblem yang baru dengan
memilih variabel yang tidak memenuhi kendala
integer. Dengan
memilih . , maka daerah
pada Subproblem 1 tidak akan memuat solusi IP
yang fisibel karena tidak memenuhi kendala integer. Subproblem yang baru adalah sebagai
berikut: Subproblem 2: Subproblem 1 + kendala
4 Subproblem 3: Subproblem 1 + kendala
Solusi optimal dari Subproblem 2 adalah . dan
. yang dapat dilihat pada Lampiran 1. Solusi tersebut tidak
memenuhi kendala integer. Oleh karena itu, harus dibuat subproblem yang baru dengan
memilih variabel yang tidak memenuhi kendala integer. Dengan memilih
. , maka daerah
pada Subproblem 2 tidak akan memuat solusi IP yang fisibel
karena tidak memenuhi kendala integer. Subproblem yang baru adalah sebagai berikut:
Subproblem 4: Subproblem 2 + kendala
Subproblem 5: Subproblem 2 + kendala Solusi optimal dari Subproblem 4 adalah
dan yang dapat dilihat
pada Lampiran 1. Karena semua variabel bernilai integer solusinya memenuhi kendala
integer, maka
tidak perlu
membuat subproblem
baru dan
solusi tersebut
merupakan solusi fisibel yang merupakan kandidat solusi optimal IP 2 dengan
dijadikan sebagai batas bawah. Solusi optimal dari Subproblem 5 adalah
dan yang dapat dilihat
pada Lampiran 1. Karena semua variabel bernilai integer solusinya memenuhi kendala
integer, maka
tidak perlu
membuat subproblem
baru dan
solusi tersebut
merupakan solusi fisibel yang merupakan kandidat solusi optimal IP 2 dengan
. Nilai z pada Subproblem 5 lebih besar dari
nilai z pada Subproblem 4, sehingga batas bawah diganti menjadi
dan nilai z pada Subproblem 4 sudah tidak diperlukan lagi.
Subproblem 3 mempunyai solusi optimal . dan
. yang dapat dilihat pada Lampiran 1. Solusi tersebut
tidak memenuhi kendala integer. Oleh karena itu, harus dibuat subproblem yang baru
dengan memilih
variabel yang
tidak memenuhi kendala integer. Dengan memilih
. , maka diperoleh subproblem yang baru adalah sebagai berikut:
Subproblem 6: Subproblem 3 + kendala Subproblem 7: Subproblem 3 + kendala
Solusi optimal dari Subproblem 6 adalah .
dan . yang dapat
dilihat pada Lampiran 1. Solusi tersebut tidak memenuhi kendala integer. Nilai z pada
Subproblem 6 lebih kecil daripada batas bawah pada Subproblem 5, sehingga tidak
perlu membuat subproblem yang baru dan iterasi dihentikan. Subproblem 7 ternyata
tidak memiliki solusi fisibel yang dapat dilihat pada
Lampiran 1.
Oleh karena
itu, Subproblem 7 tidak dapat dijadikan sebagai
solusi optimal IP 2. Solusi optimal dari Subproblem 5 menjadi
solusi optimal IP 2 dengan dan
. Bagan dari penyelesaian IP 2 dengan
algoritme branch
and bound
ditunjukkan pada Gambar 1.
Subproblem 4 dan
BB = 21 Subproblem 3
. dan .
Subproblem 5 dan
BB = 25 Subproblem 6
. dan
. BB = 25
Subproblem 7 Tidak Fisibel
Subproblem 1 .
. dan .
Subproblem 2 . dan
.
Gambar 1 Bagan dari penyelesaian IP 2 dengan algoritme branch and bound. Keterangan : BB = Batas Bawah; t = Iterasi; X = Berhenti
t
t
t X
t X
t
t X
t X
III MASALAH PENJADWALAN MATA KULIAH MAYOR-MINOR
Bab ini akan membahas deskripsi masalah penjadwalan mata kuliah kurikulum mayor-
minor, batasan masalah, dan asumsi yang digunakan dalam karya ilmiah ini, kemudian
dilanjutkan dengan formulasi matematika terhadap permalahan tersebut.
3.1
Perumusan Masalah
Kurikulum mayor-minor yang diterapkan IPB telah menginjak tahun ke enam.
Pelaksanaan kurikulum ini dikelola oleh departemen dan Direktorat Administrasi
Pendidikan, namun dalam pelaksanaannya masih ada beberapa masalah, antara lain
terdapat jadwal kuliahresponsi mayor-minor yang tumpang tindih.
Masalah jadwal perkuliahan mayor-minor yang
tumpang tindih
menyebabkan mahasiswa tidak nyaman dalam memilih mata
kuliah yang akan diikuti pada suatu semester. Masalah
tersebut sering
dialami oleh
mahasiswa setiap awal semester perkuliahan. Oleh karena itu, penulis akan menjadwalkan
mata kuliah mayor-minor guna memberikan kenyamanan bagi semua pihak yang terkait
dengan kurikulum ini.
Penjadwalan ini dibuat menggunakan sejumlah mata kuliah yang akan dijadwalkan
pada suatu semester, sejumlah ruangan yang dapat digunakan, sejumlah hari dalam
seminggu, dan sejumlah periode waktu dalam sehari. Penjadwalan dilakukan sedemikian
sehingga
dapat memenuhi
syarat-syarat sebagai berikut:
1. semua mata kuliah mayor-minor dapat
dijadwalkan tanpa ada mata kuliah yang tumpang tindih dalam semester yang sama,
2. untuk mata kuliah yang beresponsi, jadwal
kuliah dan
jadwal responsi
harus dijadwalkan pada hari yang berbeda dan
kuliah dijadwalkan sebelum responsi, 3.
setiap mata kuliah dijadwalkan tepat dalam satu ruangan, satu hari, dan suatu
periode waktu tertentu, 4.
setiap mata kuliah dengan waktu tatap muka dua, tiga, atau empat jam harus
dijadwalkan dalam satu hari dengan periode waktu yang berurutan,
5. setiap mata kuliah harus terjadwalkan
sesuai dengan waktu tatap mukanya, 6.
setiap mata kuliah dijadwalkan tepat satu kali dalam seminggu,
7. tidak ada jadwal kuliah atau responsi pada
pukul 12.00-13.00 setiap harinya, 8.
tidak ada jadwal kuliah atau responsi pada hari Jumat pukul 11.00-12.00,
9. perkuliahan dijadwalkan dari hari Senin
sampai hari Jumat, 10.
jika diperlukan penjadwalan di hari Sabtu, maka mata kuliah yang berjenis kuliah
tanpa responsi tidak boleh dijadwalkan pada hari Sabtu dan dibatasi sampai
periode waktu tertentu. Untuk membatasi masalah penjadwalan
mata kuliah mayor-minor ini, maka digunakan beberapa asumsi antara lain:
1. setiap mata kuliah dijadwalkan sesuai
dengan yang tertera pada buku Panduan Program Sarjana Institut Pertanian Bogor
edisi 2011 tanpa mempertimbangkan mahasiswa yang tidak mengambil mata
kuliah pada semester yang tertera pada buku
panduan, mahasiswa
yang mengulang, dan juga mahasiswa yang
pernah mengambil cuti, 2.
mata kuliah yang dijadwalkan terdiri atas mata kuliah mayor dan mata kuliah minor
dan mata kuliah minor merupakan bagian dari mata kuliah mayor yang bersesuaian,
3. mata kuliah yang diambil oleh mahasiswa
dari mayor
yang berbeda
boleh dijadwalkan secara bersamaan,
4. ada sejumlah ruangan yang bisa digunakan
kapan saja, 5.
semua dosen dan asisten bisa mengajar kapan saja.
3.2 Formulasi Masalah dalam Model