Aplikasi Algoritma Branch And Bound Untuk Mengoptimalkan Permasalahan Penugasan Dengan Adanya Kendala Tambahan

(1)

DENGAN ADANYA KENDALA TAMBAHAN

SKRIPSI

PAULINUS SITANGGANG

050803060

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2010


(2)

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

MEDAN 2010


(3)

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,


(4)

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

PAULINUS SITANGGANG 050803060


(5)

PENGHARGAAN


(6)

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.

Fungsi objektif dari masalah ini adalah bagaimana meminimumkan biaya yang terjadi selama penugasan, sehingga kita sebagai pihak yang melakukan penugasan mengeluarkan biaya seminimum mungkin. Algoritma Branch and Bound merupakan pendekatan yang baik dalam mencari solusi ini. Dengan metodeBreadht First Search dan menggunakan metode pencarian solusi dalam ruang solusi yang sistematis, algoritma ini sangat tepat untuk masalah ini.


(7)

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.

Objective function of this problem is how to minimize costs incurred during the assignment, so that we as a part an assignment spend a minimum cost. Branch and Bound algorithm is a good approach in finding solutions. Breadht First Search method and search using the solution in a systematic solution space, this algorithm is very appropriate for this problem.


(8)

vii

DAFTAR ISI

Halaman

PERSETUJUAN ii

PERNYATAAN iii

PENGHARGAAN iv

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL viii

DAFTAR GAMBAR ix

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


(9)

DAFTAR TABEL

Halaman


(10)

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

Gambar 3.12 Pohon ruang solusiAssignment Problem 25 Gambar 3.13 Pohon ruang status simpul 5 untukjob lebih banyak dari pekerja 28 Gambar 3.14 Pohon ruang status simpul 8 untukjob lebih banyak dari pekerja 29 Gambar 3.15 Pohon status simpul 10 untukjob lebih banyak dari pekerja 30 Gambar 3.16 Pohon solusi pertama untukjob lebih banyak dari pekerja 31 Gambar 3.17 Pohon solusi kedua untukjob lebih banyak dari pekerja 33 Gambar 3.18 Pohon simpul 5 untuk pekerja lebih banyak darijob 35 Gambar 3.19 Pohon simpul 8 untuk pekerja lebih banyak darijob 37 Gambar 3.20 Pohon simpul 10 untuk pekerja lebih banyak darijob 38 Gambar 3.21 Pohon solusi untuk pekerja lebih banyak darijob 39


(11)

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.

Fungsi objektif dari masalah ini adalah bagaimana meminimumkan biaya yang terjadi selama penugasan, sehingga kita sebagai pihak yang melakukan penugasan mengeluarkan biaya seminimum mungkin. Algoritma Branch and Bound merupakan pendekatan yang baik dalam mencari solusi ini. Dengan metodeBreadht First Search dan menggunakan metode pencarian solusi dalam ruang solusi yang sistematis, algoritma ini sangat tepat untuk masalah ini.


(12)

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.

Objective function of this problem is how to minimize costs incurred during the assignment, so that we as a part an assignment spend a minimum cost. Branch and Bound algorithm is a good approach in finding solutions. Breadht First Search method and search using the solution in a systematic solution space, this algorithm is very appropriate for this problem.


(13)

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 digunakan baik untuk masalahpure maupunmixed integer programming.


(14)

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


(15)

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 sebagai berikut:


(16)

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 i j x i j  =  

jadi model ini diketahui:

1 1

minimumkan n

ij ij i j

z c x = = =

∑∑


(17)

Dengan batasan:

=n = =

i

ij i n

x 1 , , 2 , 1 , 1 K

= = = n j

ij j n

x 1 , , 2 , 1 ,


(18)

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:


(19)

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 . Perhitungan-perhitungan untuk hasil kali adalah:


(20)

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 tentang besar kapasitas tiap tiap asal, permintaan total masing-masing tempat tujuan, dan


(21)

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.


(22)

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

:

Minimumkan:

Dengan batasan: 1

1

2 2


(23)

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 ditampilkan dalam tabel berikut.


(24)

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 kurang dari banyaknya baris dan kolom dalam matriks transportasi. Jika banyaknya sel


(25)

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.


(26)

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


(27)

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.


(28)

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). Nilai batas untuk simpul 2 pada pohon ruang status adalah:


(29)

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:


(30)

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


(31)

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 pada pohon ruang status dari simpul 3 adalah sebagai berikut:


(32)

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


(33)

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


(34)

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


(35)

Gambar 3.10 Pohon ruang status untuk simpul 9

9. Simpul 10, orang ke-3,job ke-4


(36)

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


(37)

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) Orang 4:job 4 (30)


(38)

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,


(39)

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


(40)

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


(41)

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 untuk simpul-simpul anak pada pohon ruang status daris simpul 8 adalah sebagai berikut:


(42)

30

g. Simpul 9, karyawan ke-3,job ke-1

Maka diperoleh:

h. Simpul 10, karyawan ke-3,job ke-3

Maka diperoleh:


(43)

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:

1

2 3 4 5

7

6 8

9 10

X1=4

X1=1 X1=2 X1=3

X2=1 X2=3 X2=4

X3=1 X3=3

11 X4=3


(44)

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 proses berhenti. Sehingga pohon yang terbentuk adalah:


(45)

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.


(46)

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


(47)

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


(48)

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


(49)

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:


(50)

38

Maka diperoleh:

1

2 3 4 5

X1=2 X1=3 X1=4 X1=1

6 7 8

X2=2 X2=3 X2=4

9 10

X3=2 X3=4

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


(51)

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 .


(52)

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 penugasan dengan algoritma dan metoda yang berbeda.


(53)

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.


(1)

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


(2)

37

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:


(3)

Maka diperoleh:

1

2 3 4 5

X1=2 X1=3 X1=4 X1=1

6 7 8

X2=2 X2=3 X2=4

9 10

X3=2 X3=4

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


(4)

39

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 .


(5)

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 penugasan dengan algoritma dan metoda yang berbeda.


(6)

DAFTAR PUSTAKA

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.