DENGAN ADANYA KENDALA TAMBAHAN
SKRIPSI
PAULINUS SITANGGANG
050803060
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
APLIKASI ALGORITMABRANCH AND BOUND UNTUK MENGOPTIMALKAN PERMASALAHAN PENUGASAN
DENGAN ADANYA KENDALA TAMBAHAN
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains
PAULINUS SITANGGANG 050803060
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : APLIKASI ALGORITMA BRANCH AND BOUND
UNTUK MENGOPTIMALKAN PERMASALAHAN PENUGASAN DENGAN ADANYA KENDALA TAMBAHAN
Kategori : SKRIPSI
Nama : PAULINUS SITANGGANG
Nomor Induk Mahasiswa : 050803060
Program Studi : SARJANA (S1) MATEMATIKA
Departemen : MATEMATIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, Maret 2010
Komisi Pembimbing :
Pembimbing II Pembimbing I
Drs. Henry Rani Sitepu, M.Si Prof. Dr. Herman Mawengkang NIP 19530303 198303 1 002 NIP 19461128 197403 1 001
Diketahui/Disetujui oleh
Departemen Matematika FMIPA USU Ketua,
iii
PERNYATAAN
APLIKASI ALGORITMABRANCH AND BOUNDUNTUK MENGOPTIMALKAN PERMASALAHAN PENUGASAN
DENGAN ADANYA KENDALA TAMBAHAN
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Maret 2010
PENGHARGAAN
v
ABSTRAK
Masalah penugasan adalah merupakan suatu masalah yang sangat nyata dalam kehidupan keprofesian. Secara umum masalah ini berkisar tentang bagaimana memasangkan orang atau karyawan dengan job yang ada secara tepat. Sehingga biaya atau waktu yang diperlukan adalah minimum. Karena dalam kehidupan nyata setiap pekerjaan itu berbeda-beda dan setiap orang memiliki keahlian yang berberbeda-beda pula, maka biaya yang dibutuhkan untuk setiap pemilihan pekerjaan tentunya berbeda pula.
APPLICATIONS ALGORITHM BRANCH AND BOUND FOR OPTIMIZING ASSIGNMENT PROBLEM
WITH ADDITIONAL CONSTRAINTS
ABSTRACT
Assignment problem is a very real problem in life professions. In general, this issue revolves on how to pair the person or employee with an existing job properly. So that the cost or time required is minimum. Because in real life every job is different and everyone has different skills, the cost needed for every vote certainly different jobs.
vii
BAB 1 PENDAHULUAN 1
1.1 Latar Belakang 1
1.2 Perumusan Masalah 2
1.3 Pembatasan Masalah 2
1.4 Tujuan penelitian 2
1.5 Manfaat penelitian 3
1.6 Metode penelitian 3
1.7 Tinjauan Pustaka 3
BAB 2 LANDASAN TEORI 6
2.1 Matriks 6
2.1.1 Pengertian Matriks 6
2.1.2 Penjumlahan Matriks 7
2.1.3 Perkalian Matriks 7
2.1.4 Perkalian Matriks Dengan Bilangan 8
2.2 Masalah Transportasi 8
BAB 3 PEMBAHASAN 13
3.1 AlgoritmaBranch and Bound 13
3.1.1 Pembangkit Status SecaraBreadht First Search 13 3.1.2 Pembangkit Status SecaraDepth First Search 14
3.2 Contoh Kasus dan Penyelesaiannya 15
3.3 Pembahasan Dengan Adanya Kendala Tambahan 26
3.3.1 UntukJob Lebih Banyak Dari Pekerja 26
3.3.2 Untuk Pekerja Lebih Banyak DariJob 34
BAB 4 KESIMPULAN DAN SARAN 40
DAFTAR TABEL
Halaman
ix
DAFTAR GAMBAR
Halaman
Gambar 3.1 Diagram pohon untuk metodaBranch and Bound 14
Gambar 3.2 Akar pohonassignment problem untuk 16
Gambar 3.3 Pohon ruang status untuk simpul 2 17
Gambar 3.4 Pohon ruang status untuk simpul 3 17
Gambar 3.5 Pohon ruang status untuk simpul 4 18
Gambar 3.6 Pohon ruang status untuk simpul 5 19
Gambar 3.7 Pohon ruang status untuk simpul 6 20
Gambar 3.8 Pohon ruang status untuk simpul 7 21
Gambar 3.9 Pohon ruang status untuk simpul 8 22
Gambar 3.10 Pohon ruang status untuk simpul 9 23
Gambar 3.11 Pohon ruang status untuk simpul 10 24
ABSTRAK
Masalah penugasan adalah merupakan suatu masalah yang sangat nyata dalam kehidupan keprofesian. Secara umum masalah ini berkisar tentang bagaimana memasangkan orang atau karyawan dengan job yang ada secara tepat. Sehingga biaya atau waktu yang diperlukan adalah minimum. Karena dalam kehidupan nyata setiap pekerjaan itu berbeda-beda dan setiap orang memiliki keahlian yang berberbeda-beda pula, maka biaya yang dibutuhkan untuk setiap pemilihan pekerjaan tentunya berbeda pula.
vi
APPLICATIONS ALGORITHM BRANCH AND BOUND FOR OPTIMIZING ASSIGNMENT PROBLEM
WITH ADDITIONAL CONSTRAINTS
ABSTRACT
Assignment problem is a very real problem in life professions. In general, this issue revolves on how to pair the person or employee with an existing job properly. So that the cost or time required is minimum. Because in real life every job is different and everyone has different skills, the cost needed for every vote certainly different jobs.
PENDAHULUAN
1.1 Latar Belakang
Permasalahan penugasan atau assignment problem adalah suatu persoalan dimana harus
melakukan penugasan terhadap sekumpulan orang yang kepada sekumpulan job yang
ada, sehingga tepat satu orang yang bersesuaian dengan tepat satu job yang ada.
Penugasan satu orang dengan job yang ada ( menghasilkan biaya (cost) sebesar
dan orang 1 dengan job 2 menghasilkan biaya dan seterusnya untuk setiap
orang dan job yang ada. Sehingga ada c
( ) ( )
1,1 ,c 1, 2 ,K ,c( ) ( ) ( )
1,n c, 2,1 ,c 2, 2 ,( )
2,3 , ,( )
2, , ,( )
,c K c n K c n n . Maka misalkan setiap 4 orang dengan 4 job yang ada
menghasilkan 4! kemungkinan yaitu 24 kemungkinan yang ada. Namun yang dicari disini
atau fungsi objektifnya adalah mencari biaya seminimum mungkin sehingga dalam
penugasan ini bagi orang yang melakukan penugasan dapat mengeluarkan biaya
seminimum mungkin. Diperlukan suatu algoritma yang efektif untuk memecahkan
persoalan ini, algoritmaBranch and Bound adalah salah satu algoritma yg bisa digunakan
untuk meyelesaikan masalah.
Metode Branch and Bound pertama kali ditemukan oleh Land dan Doig, dan
dikembangkan lebih lanjut oleh Little serta peneliti peneliti lain. Teknik ini dapat
2
Algoritma Breadht First Search adalah merupakan bagian darialgoritma Branch
and Bound yang akan digunakan untuk mencari solusi dari permasalahan penugasan.
Dengan menggunakan sistem pencari solusi dalam ruang solusi yang sistematis atau
dalam Algoritma Breadth First Search dengan menggunakan pohon maka permasalahan
untuk menemukan solusi terbaik akan ditemukan.
1.2 Perumusan Masalah
Adapun yang menjadi permasalahan tulisan ini adalah bagaimana mencari simpul yang
optimal dengan menggunakan Algoritma Branch and Bound sehingga diperoleh solusi
yang optimal pada permasalahan penugasan dengan adanya kasus tambahan.
1.3 Pembatasan Masalah
Pada tulisan ini masalah hanya dibatasi sampai pada tahap pencarian solusi
optimal dari permasalahan penugasan dengan adanya kasus tambahan dengan
menggunakanAlgoritma Branch and Bound.
1.4 Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk mencari solusi yang optimal dengan menggunakan
1.5 Manfaat Penelitian
Manfaat penelitian ini adalah:
1. Sebagai bahan tambahan dalam pembahasan Algoritma Branch and Bound
khususnya dengan menggunakanAlgoritma Breadht First Search.
2. Sebagai masukan untuk pemimpin perusahaan untuk menemukan solusi optimal
dari masalah penugasan.
3. Sebagai penerapan ilmu pengetahuan yang dimiliki penulis.
1.6 Metodologi Penelitian
Metode penelitian yang akan digunakan adalah penelitian literatur. Prosedur yang
dilakukan adalah:
1. Menguraikan teori dasar yang menunjang terhadap pembahasan.
2. Menguraikan penjelasan masalah assignment problem dengan menggunakan
algoritmaBranch and Bound.
3. Menyelesaikan contoh kasus permasalahan assignment problem dengan matriks
dengan algoritmaBranch and Bound.
1.7 Tinjauan Pustaka
Sebagai referensi literatur yang mendukung penelitian ini, penulis menggunakan beberapa
buku dan jurnal antara lain:
(Made Mahendra Adtyaman, 2007; 1-5) Untuk menyelesaikan permasalahan
penugasan dengan menggunakan algoritma Branch and Bound digunakan prinsip-prinsip
4
1. Memasukkan simpul akar ke dalam antrian . Jika simpul akar adalah simpul
solusi(goal node), maka solusi sudah ditemukan, stop.
2. Jika antrian kosong, maka tidak ada solusi, stop.
3. Jika tidak kosong, pilih dari antrian simpul yang mempunyai paling
kecil. Jika terdapat bebebrapa simpul yang memenuhi, pilih satu secara
sembarang.
4. Jika simpul adalah simpul solusi, berarti solusi sudah ditemukan, stop. Jika
simpul bukan simpul solusi, maka bangkitkan semua anak-anaknya. Jika tidak
mempunyai anak, kembali ke langkah 2.
5. Untuk setiap anak dari simpul , hitung , dan masukkan semua anak-anak
tersebut ke dalam antrian .
6. Kembali ke langkah 2.
(Munir Rinaldi, 2003). Algoritma Branch and Bound merupakan metode
pencarian dalam ruang solusi yang di transformasikan dalam bentuk ruang pohon
pencarian.
(Hamdy A. Taha, 1993). Masalah penugasan adalah masalah penempatan
pekerja ke mesin, pekerjaan ketika ditugaskan ke mesin
dengan biaya dengan total biaya terendah.
0, jika pekerjaan tidak ditugaskan ke mesin
1, jika pekerjaan ditugaskan ke mesin ij
jadi model ini diketahui:
BAB 2
LANDASAN TEORI
2.1 Matriks
2.1.1 Pengertian Matriks
Matriks adalah susunan segi empat siku-siku dari bilangan bilangan. Bilangan-bilangan
dalalm susunan tersebut dinamakan entri dalam matriks (Anton, 1988: 22). Jika adalah
sebuah matriks, maka akan meggunakan untuk menyatakan entri yang terdapat di
dalam baris dan kolom dari matriks . Secara umum matriks dituliskan sebagai
berikut:
Matriks di atas disebut matriks berukuran kali (ditulis ) karena memiliki
baris dan kolom.
Contoh:
2.1.2 Penjumlahan Matriks
Jika dan adalah sebarang dua matriks yang ukurannya sama, maka jumlah
adalah matriks yang diperoleh dengan menambahkan bersama-sama entri yang
bersesuaian dalam kedua matriks tersebut. Matriks-matriks yang ukurannya berbeda tidak
dapat dijumlahkan (Howard Anton, 1988 : 23).
Contoh :
Misalkan dan
Maka
2.1.3 Perkalian Matriks
Jika adalah matriks dan adalah matriks , maka hasil kali adalah
matriks yang entri-entrinya ditentukan sebagai berikut. Untuk mencari entri dalam
baris- dan kolom- dari , pilihlah baris- dari matriks dan kolom- dari matriks .
Kalikanlah entri-entri yang bersesuaian dari baris dan kolom tersebut bersama-sama dan
kemudian tambahkanlah hasil kali yang dihasilkan (Anton, 1988 :25).
Contoh :
Diketahui , dan
Tinjaulah perkalian matriks dan . Karena adalah matriks berukuran dan
adalah matriks berukuran maka hasil kali adalah matriks .
8
Jadi, diperoleh .
2.1.4 Perkalian Matriks Dengan Bilangan
Jika adalah suatu matriks dan adalah suatu bilangan, maka hasil kali (product)
adalah matriks yang diperoleh dengan mengalikan masing-masing entri dari oleh .
Dalam hal ini ditulis . Khususnya dengan yang disebut negatif dari ,
diartikan matriks yang diperoleh dari dengan cara mengalikan setiap elemennya dengan
atau cukup dengan mengubah tanda semua elemennya.
Contoh :
Diketahui matriks
Maka dan
2.2 Masalah Transportasi
Model transportasi merupakan kasus khusus dari persoalan program linear dengan tujuan
untuk mengangkut barang tunggal dari berbagai asal (origin) ke berbagai tujuan
(destination) dengan biaya angkut serendah mungkin (Taha, 1996). Adanya informasi
transportasi digunakan untuk menentukan program pengiriman optimal yang melibatkan
biaya pengiriman total yang minimum.
Model transportasi adalah suatu kasus khusus dari persoalan program linear,
berarti model transportasi memiliki ciri khas yang dimiliki pula oleh masalah program
linear, yaitu:
1. Fungsi objektif (tujuan) yang linear
Struktur persyaratan linear
Setiap persoalan program linear memiliki sekumpulan persyaratan linear,yaitu:
2. Persyaratan tidak negatif
Variabel struktur dan variabelslack masalah program linear terbatas pada nilai tidak
negative, ditulis:
Koefisien bernilai 1 atau 0
ialah koefisien variabel struktur.
Dalam arti sederhana, model transportasi berusaha menentukan rencana transportasi
sebuah barang dari sejumlah sumber ke sejumlah tujuan. Data dalam model ini
mencakup:
1. Tingkat penawaran di setiap sumber dan jumlah permintaan di setiap tujuan.
2. Biaya transportasi per unit barang dari setiap sumber ke setiap tujuan.
10
jumlah yang harus dikirim dari setia sumber ke setiap tujuan sedemikian rupa sehingga
biaya transportasi total diminimumkan. Asumsi dasar dari model ini adalah bahwa biaya
transportasi di sebuah rute tertentu adalah proporsional secara langsung dengan jumlah
unit yang dikirimkan. Defenisi “unit transportasi” akan bervariasi bergantung pada jenis
“barang” yang dikirimkan.
Gambar dibawah ini memperlihatkan sebuah model transportasi dari sebuah
jaringan dengan sumber dan tujuan. Sebuah sumber dan tujuan diwakili dengan
sebuah node. Busur yang menghubungkan sebuah sumber dan sebuah tujuan mewakili
rute pengiriman barang tersebut. Jumlah penawaran di sumber adala dan permintaan
di tujuan adalah . Biaya unit transportasi antara sumber dan adalah .
Anggap mewakili jumlah barang yang dikirimkan dari sumber ke tujuan ,
maka model LP yang mewakili masalah transportasi ini diketahui secara umum sebagai
berikut:
Sumber Tujuan
:
Unit penawaran unit permintaan
Kelompok batasan pertama menetapkan bahwa jumlah pengiriman dari sebuah
sumber tidak dapat melebihi penawarannya. Demikian pula kelompok batasan kedua
mengharuskan bahwa jumlah pengiriman ke sebuah tujuan harus memenuhi
permintaannya. Model yang baru digambarkan diatas menyiratkan bahwa penawaran total
harus setidaknya sama dengan permintaan total . Ketika penawaran total
sama dengan permintaan total ( = ), formulasi yang dihasilkan disebut
Model Transportasi Berimbang (balanced transportation model). Model ini berbeda
dengan model di atas hanya dalam fakta bahwa semua batasan adalah persamaan yaitu:
Dalam kehidupan nyata tidak selalu dapat dipastikan bahwa penawaran sama
dengan permintaan atau melebihinya. Tetapi sebuah model transportasi dapat selalu
berimbang. Pengimbangan ini disamping kegunaanya dalam pemodelan situasi praktis
tertentu, penting untuk pengembangan sebuah metode pemecahan sepenuhnya
memanfaatkan struktur khusus dari model transportasi ini.
Untuk mendapat gambaran yang jelas tentang model transportasi akan
ditampilkan contoh persoalan berikut. Sebuah perusahaan memiliki tiga pabrik di luar
kota dan menghasilkan barang yang sama. Produksi ketiga pabrik ini di sebarkan ke
empat toko penjualan. Tiga pabrik ditandai dengan . Sedangkan toko
tempat penyaluran barang ini ditandai dengan . Data relevan tentang
kapasitas pabrik maupun permintaan pelanggan dan biaya pengiriman tiap rute
12
Tabel 2.1 Model Transportasi
Asal Destination (Tujuan) Kapasitas Asal
Permintaan
Tujuan
Matriks persoalan transportasi ini memiliki 3 baris dan 4 kolom.
Dalam menyelesaikan permasalahan transportasi dibutuhkan persyaratan sebagai
berikut: , yang merupakan persyaratan yang
harus dipenuhi. Dalam tabel perlu diperhatikan bahwa subskrip pertama disetiap simbol
menunjukkan asal tertentu dan subkrip kedua menunjukkan tujuan tertentu. Misalkan
adalah biaya pengangkutan 1 unit barang dari ke , dan variabel ialah banyak
unit barang yang diangkut ke .
Jika adalah banyak baris dan adalah banyak kolom dalam persoalan
transportasi, maka dapat dinyatakan persoalan secara lengkap dengan
persamaan. Jika persyaratan dipenuhi, maka selalu mungkin untuk menyusun
penyelesaian dasar awal. Ini berarti banyak sel yang terisi dalam program transportasi
PEMBAHASAN
3.1 AlgoritmaBranch and Bound
Algoritma Branch and Bound merupakan metode pencarian solusi di dalam ruang solusi
secara sistematis yang di implementasikan dalam suatu pohon ruang status dinamis.
Setiap status tersebut diberikan biaya (cost) dalam pencapaian solusi. Semakin kecilcost,
semakin cepat solusi ditemukan. Algoritma Branch and Bound bukan saja sebuah teknik
yang terbatas untuk menyelesaikan permasalahan Integer Programming, tetapi
merupakan penyelesaian pendekatan yang dapat diterapkan pada sejumlah tipe masalah
yang berbeda.
Konsep utama yang mendasari teknik Branch and Bound (pencabangan dan
pembatasan) adalah dengan membagi dan menyelesaikan (divide and conquer).
Pendekatan Branch and Bound dapat didasarkan pada prinsip bahwa total himpunan
penyelesaian layak dapat dipisah menjadi himpunan bagian penyelesaian yang lebih kecil.
Ada dua yang menjadi dasar dari algoritma Branch and bound ini yaitu: algoritma
Breadht First Search dan algoritmaDepth First Search.
14
disebut Best First Search. Pada implementasi Branch and Bound langkah-langkahnya
adalah:
1. Bangkitkan anak dari semua simpul awal.
2. Masukkan setiap simpul tersebut ke dalam antrian sesuai urutan cost-nya dari
kecil ke besar.
3. Keluarkan simpul yang terletak padahead antrian (simpul dengan cost terkecil).
4. Ulangi langkah 1.
3.1.2 Pembangkit Status SecaraDepth First Search
Prinsip Depth First Search (DFS) adalah selalu membangkitkan anak pertama dari
simpul pada pohon ruang solusi. Pada implementasi Branch and Bound
langkah-langkahnya adalah:
1. Cost dari simpul awal (misal: ) akan menjadicost patokan awal ( ).
2. Bangkitkan anak pertama yang masih hidup dari (misal: ). Jika tidak ada lagi
anak simpul yang mungkin akan dibangkitkan, maka kembali ke simpul bapaknya.
3. Jika maka ulangi langkah 1, tapi jika tidak, matikan simpul dan
kembali ke simpul (backtrack/kembali) lalu ulangi langkah 2.
4. Ulangi terus langkah-langkahnya sampai menemukan simpul/solusi yang optimal.
1
2 3
4 5
Gambar diatas memperlihatkan pembagian (pencabangan) menjadi dua sub
masalah pohon dengan cabang-cabang atau busur dari simpul 1 menjadi dua simpul yang
bersesuaian dengan dua sub masalah. Pohon ini yang akan terus berkembang setahap
demi setahap yang disebut sebagai pohon penyelesaian (solution tree) untuk algoritma
tersebut. Variabel yang digunakan untuk pencabangan tersebut disebut variabel
pencabangan.
3.2 Contoh Kasus dan Penyelesaiannya
Sebuah perusahaan akan melakukan penugasan kepada 4 orang karyawan barunya untuk
mengoperasikan 4 buah mesin. Setiap karyawan memiliki memiliki biaya yang
berbeda-beda untuk menyelesaikan produk di setiap mesin yang mereka operasikan. Dari hasil
yang diperoleh di lapangan biaya yang mereka keluarkan untuk setiap mesinnya
dinyatakan dalam bentuk matriks di bawah ini (dalam satuan ribuan):
Pertanyaan: carilah penugasan yang tepat untuk menghasilkan biaya yang minimum.
Terlebih dahulu akan mencari lower bound pada matriks ini secara seksama.
Untuk mencarilower bound dari persoalan ini, carilah 4 biaya yang paling minimum dari
matriks ini. Harus 4 karena mewakilkan setiap pekerjaan yang ada.
Jadi dari matrik diatas,lower bound yang ada yaitu:
Yang artinya persoalan diatas paling tidak memiliki total biaya minimum 50.
16
Gambar 3.2 Akar pohonassignment problem untuk
Selanjutnya, misalkan untuk orang ke-1 dan job ke- maka biaya minimum yang
ada adalah ditambah biaya-biaya minimum darijob dan orang yang tersisa (biaya
minimum ini mewakilkan sebagai pencarian sisa solusi yang ada). Jadi persamaan dari
fungsi pembatas yang ada adalah:
Dalam hal ini,
Perhitungan selanjutnya untuk simpul-simpul yang lain pada pohon ruang status
adalah sebagai berikut:
1. Simpul 2, orang ke-1,job ke-1
Karena dipilih , maka untuk stiap nilai dari pada baris 1 dan kolom 1 diubah
menjadi – (artinya tidak dihiraukan untuk mencari biaya minimum yang lainnya).
1
2
X1=1
Gambar 3.3 Pohon ruang status untuk simpul 2
2. Simpul 3, orang ke-1,job ke-2
Untuk nilai batas pada simpul ke-3 pada pohon ruang status ini adalah:
18
3. Simpul ke 4, orang ke-1,job ke-3
Untuk nilai batas pada simpul ke 4 pada pohon ruang status ini adalah:
Gambar 3.5 Pohon ruang status untuk simpul 4
4. Simpul 5, orang ke-1,job ke-4
Gambar 3.6 Pohon ruang status untuk simpul 5
Nilai pada setiap simpul di dalam pohon ruang status di atas bermakna sebagai
berikut:
a. Jika orang ke-1 dicocokkan dengan job ke-1, maka biaya yang diperlukan paling
sedikit 100.
b. Jika orang ke-1 dicocokkan dengan job ke-2, maka biaya yang diperlukan paling
sedikit 60.
c. Jika orang ke-1 dicocokkan dengan job ke-3, maka biaya yang di perlukan paling
sedikit 75.
d. Jika orang ke-1 dicocokkan dengan job ke-4, maka biaya yang diperlukan paling
sedikit 85.
Sekarang disini bisa dilihat bahwa simpul yang hidup adalah simpul 2,3,4, dan 5.
Langkah selanjutnya dalam algoritma Branch and Bound adalah memilih simpul hidup
yang memiliki cost paling kecil, yaitu simpul 3 dengan nilai 60. Simpul 3 menjadi
simpul-E yang akan diekspansi lagi. Perhitungan selanjutnya untuk simpul-simpul anak
20
5. Simpul 6, orang ke-2,job ke-1
Nilai batas untuk simpul 6 pada pohon ruang status adalah
Dimana 10 didapat dari hasil orang ke-1 dengan job ke-2, dan 30 dari orang ke-2
dengan job ke-1. Sedangkan angka 20 dan 25 adalah biaya minimum lainnnya
yang menunjukkan ke ruang solusi.
Gambar 3.7 Pohon ruang status untuk simpul 6
Nilai batas untuk simpul 7 pada pohon ruang status adalah:
Gambar 3.8 pohon ruang status untuk simpul 7
7. Simpul 8, orang ke-2,job ke-4
22
Gambar 3.9 Pohon ruang status untuk simpul 8
Sekarang simpul yang hidup adalah simpul 2,6,7,8,4, dan 5. Langkah berikutnya
adalah mencari simpul dengan nilai terkecil, yaitu simpul 7 dengan nilai 55, maka
simpul inilah yang akan dikembangkan untuk menjadi simpul-E. Perhitungan selanjutnya
untuk simpul-simpul anak pada pohon ruang status dari simpul 7 yaitu sebagai berikut:
8. Simpul 9, orang ke-3,job ke-1
Gambar 3.10 Pohon ruang status untuk simpul 9
9. Simpul 10, orang ke-3,job ke-4
24
Gambar 3.11 Pohon ruang status untuk simpul 10
Bisa dilihat disini kalau simpul-simpul yang hidup adalah simpul 2,6,9,10,8,4, dan
5. Dengan melihat nilai-nilai yang ada, maka yang paling kecil adalah simpul 9
dengan nilai 65, sehingga yang menjadi simpul-E adalah simpul 9. Berikut adalah
pengembangan simpul 9:
10. Simpul 11, orang ke-4,job ke-4
Karena dengan algoritma Branch and Bound ini sudah mencapai simpul solusi
yang ada, maka proses berhenti. Sehingga pohon yang terbentuk merupakan sebuah solusi
dariassignment problem yang ada. Berikut adalah pohon ruang solusinya:
Gambar 3.12 Pohon ruang solusiAssignment Problem
Jadi jawaban untuk dari assignment problem dengan contoh diatas yaitu biaya
minimum yang dikeluarkan adalah 65 dengan susunan penugasannya adalah sebagai
berikut:
Orang 1:job 2 (10)
Orang 2:job 3 (20)
Orang 3:job 1 (5)
26
3.3 Pembahasan Dengan Adanya Kendala Tambahan
3.3.1 UntukJob Lebih Banyak Dari Pekerja
Contoh:
Tn.Abdi berencana akan melakukan mutasi terhadap 4 orang karyawannya yaitu Hasan,
Budi, Andre, dan Nico. Ternyata dalam melakukan mutasi ini hanya terdapat 3 pekerjaan.
Adapun hasil dari analisis pekerjaan dapat dilihat dari matriks di bawah ini:
Pertanyaan:
Tentukan hasil dari penugasan pekerja terhadap job sehingga biaya yang dikeluarkan
adalah minimum!
Untuk bisa menyelesaikan permasalahan diatas maka harus ditambahkan 1 kolom
dummy.Sehingga bentuk permasalahan yang baru adalah sebagai berikut:
Selanjutnya selesaikan persoalan ini dengan menggunakan algoritma Branch and Bound
sebagai berikut:
Lower bounddari matriks diatas adalah,
a. Simpul 2, karyawan ke-1,job ke-1
Maka diperoleh:
b. Simpul 3, karyawan ke-1,job ke-2
Maka diperoleh:
c. Simpul 4, karyawan ke-1,job ke-3
Maka diperoleh:
d. Simpul 5, karyawan ke-1,job ke-4
28
Pohon ruang status yang terbentuk sampai saat ini adalah:
Gambar 3.13 Pohon ruang status simpul 5 untukjob lebih banyak dari pekerja
Disini dapat dilihat bahwa nilai yang paling minimum adalah simpul ke-3 dengan
biaya sebesar 32. Sekarang simpul yang hidup adalah simpul 2,3,4, dan 5. Langkah
selanjutnya adalah mengekspansi simpul ke-3 (simpul yang paling minimum).
e. Simpul 6, karyawan ke-2,job ke-1
Maka diperoleh:
f. Simpul 7, karyawan ke-2,job ke-3
Simpul 8, karyawan ke-2,job ke-4
Maka diperoleh:
Pohon ruang status yang terbentuk saat ini adalah:
1
2 3 4 5
X1=1 X1=2 X1=3 X1=4
6 7 8
X2=4 X2=1 X2=3
Gambar 3.14 Pohon ruang status simpul 8 untukjob lebih banyak dari pekerja
Sekarang simpul yang hidup adalah 2,6,7,8,4, dan 5. Langkah selanjutnya adalah
mencari simpul dengan nilai (cost) terkecil, yaitu simpul ke-8. Maka simpul inilah yang
akan dikembangkan untuk menjadi simpul-E. Sehingga perhitungan selanjutnya adalah
30
g. Simpul 9, karyawan ke-3,job ke-1
Maka diperoleh:
h. Simpul 10, karyawan ke-3,job ke-3
Maka diperoleh:
Dilihat bahwa simpul-simpul yang hidup adalah simpul 2,4.5,6,7,9, dan 10.
Karena disini nilai simpul dari 9 dan 10 nilainya sama, maka langkah selanjutnya adalah
jadikan kedua simpul ini menjadi simpul-E yang akan diekspansi.
i. Simpul 10.1, karyawan ke-4,job ke-3
Maka diperoleh:
Karena dengan algoritma Branch and Bound ini sudah mencapai simpul solusi,
maka proses berhenti. Sehingga pohon yang terbentuk adalah:
32
Jadi jawaban dariassignment problem diatas adalah:
Hasan :job 2 (12)
Budi :job 4 (0)
Andre :job 1 (20)
Nico :job 3 (8)
Dengan total .
Artinya Hasan pada pekerjaan 2, Budi pada pekerjaan 4, Andre pada pekerjaan 1,
dan Nico pada pekerjaan 3. Karena pekerjaan 4 tidak tersedia maka Budi tidak memilih
tempat kerja.
j. Simpul 10.2, karyawan ke-4,job ke-1
Maka diperoleh:
Karena dengan algoritmaBranch and Bound sudah mencapai simpul solusi, maka
Gambar 3.17 Pohon solusi kedua untukjob lebih banyak dari pekerja
Jadi jawaban dariassignment problem diatas adalah:
Hasan :job 2 (12)
Budi :job 4 (0)
Andre :job 3 (12)
Nico :job 1 (16)
Dengan total .
Artinya Hasan pada pekerjaan 2, Budi pada pekerjaan 4, Andre pada pekerjaan 3,
dan Nico pada pekerjaan 1. Karena pekerjaan 4 tidak tersedia maka Budi tidak memilih
tempat kerja.
34
3.3.2 Untuk Pekerja Lebih Banyak DariJob
Sebuah salon kecantikan akan melakukan perekrutan untuk 4 orang pekerjaan perawatan
wajah, dari hasil perekrutan ternyata hanya 3 pelamar yang berhasil lolos seleksi, yaitu
Ani, Susi, dan Silvy. Berdasarkan tes ketrampilan yang dilakukan oleh pihak salon, biaya
yang dihasilkan untuk tiap pekerjaan disajikan dalam matriks dibawh ini.
Untuk dapat menyelesaikan matriks ini akan ditambahkan 1 baris dummy yang
nilainya akan diisi dengan 0. Sehingga menjadi:
Dengan begini, solusi untuk masalah assignment problem dapat dicari
perhitungannya sebagai berikut:
Cari lower bound dari matriks diatas:
Ini akan menjadi simpul akar atau simpul 1.
a. Simpul 2, orang ke-1, pek-1
b. Simpul 3, orang ke-1, pek-2
Maka diperoleh:
c. Simpul 4, orang ke-1, pek-3
Maka diperoleh:
d. Simpul 5, orang ke-1, pek-4
36
Simpul yang hidup adalah simpul 2,3,4,dan 5. Karena simpul ke-2 adalah simpul
yang paling kecil maka simpul ini menjadi simpul-E yang akan diekspansi lagi.
Perhitungan selanjutnya untuk simpul-simpul anak pohon ruang status dari simpul 2
adalah sebgai berikut:
e. Simpul 6, orang ke-2,job ke-2
Maka diperoleh:
f. Simpul 7, orang ke-2,job-3
Maka diperoleh:
g. Simpul 8, orang ke-2,job ke-4
1
2 3 4 5
X1=2 X1=3 X1=4 X1=1
6 7 8
X2=2 X2=3 X2=4
Gambar 3.19 Pohon simpul 8 untuk pekerja lebih banyak darijob
Sekarang simpul yang hidup adalah 3,4,5,6,7, dan 8. Langkah berikutnya adalah
mencari simpul dengan nilai terkecil, yaitu simpul 7 dengan nilai 110, maka simpul
inilah yang akan dikembangkan untuk menjadi simpul-E. Perhitungan selanjutnya untuk
simpul-simpul anak pohon adalah sebagai berikut:
h. Simpul 9, orang ke-3,job ke-2
Maka diperoleh:
38
Gambar 3.20 Pohon simpul 10 untuk pekerja lebih banyak darijob
Dapat dilihat bahwa simpul-simpul yang hidup adalah simpul 3,4,5,6,8,9, dan 10.
Dengan melihat yang ada, maka yang paling kecil adalah simpul 9 dengan nilai 120,
sehingga menjadi simpul-E. Perhitungan selanjutnya adalah:
j. Simpul 11, orang ke-4,job ke-4
Karena algoritma Branch and Bound ini sudah mencapai solusi yang ada, maka
proses dihentikan.
Gambar 3.21 Pohon solusi untuk pekerja lebih banyak darijob
Jadi jawaban assignment problem diatas adalah biaya minimum yang dikeluarkan adalah
120. Dengan susunan penugasannya adalah sebagai berikut:
Ani :job 1 (30)
Susi :job 3 (50)
Silvy :job 2 (40)
Dummy :job 4 (0)
Dengan .
BAB 4
KESIMPULAN DAN SARAN
4.1 Kesimpulan
Berdasarkan dari hasil pembahasan yang dilakukan maka dapat diambil kesimpulan yaitu:
1. Untuk menyelesaikan masalah penugasan pada kasus dengan algoritma
Branch and Bound, langkah pertama yang dilakukan adalah mencari lower bound
dari matriks penugasan. Kemudian akan dicabangkan simpul-simpul yang timbul,
dan memilih cost yang paling kecil dari simpul yang selanjutnya disebut simpul-E
yang akan diekspansi.
2. Untuk menyelesaikan masalah penugasan dengan kendala tambahan maka harus
menambahkan kolom atau barusdummy yang nilainya 0.
4.2 Saran
Terdapat saran untuk kemajuan studi ini di masa mendatang, yaitu dalam skripsi ini
penulis hanya menyelesaikan permasalahan penugasan dengan menggunakan algoritma
BFS, oleh karena itu penulis menyarankan untuk mengembangkan penyelesaikan masalah
Adtyaman, Made M.. 2007. Algoritma Branch and Bound Dalam Kegunaannya Memecahkan Assignment Problem. http//:www.informatika.com.
Anton, Howard. 1987.Aljabar Linier Elementer.Jakarta: Erlangga.
Munir, Rinaldi. 2003.Matematika Diskrit. Bandung: Informatika Bandung.
Thie, Paul R.. 1979. An Introduction to Linear Programming and Game Theory. New York: John Wiley & Sons, Inc.
Wolfe, Carvel S.. 1985. Linear Programming With Basic and Fortran. Virginia: Reston Publishing Company.