design and analysis of algorithm - simulation...
TRANSCRIPT
Design and Analysis of AlgorithmWeek 7: Brute Force Algorithm Part 2: Exhaustive Search
Dr. Putu Harry Gunawan1
1Department of Computational ScienceSchool of ComputingTelkom University
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 1 / 40
Outline
1 IntroductionIntroduction
2 Traveling Salesman ProblemTraveling Salesman Problem
3 Knapsack ProblemKnapsack Problem
4 Assignment Cost Problem
5 ReferencesReferences
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 2 / 40
Outline
1 IntroductionIntroduction
2 Traveling Salesman ProblemTraveling Salesman Problem
3 Knapsack ProblemKnapsack Problem
4 Assignment Cost Problem
5 ReferencesReferences
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 3 / 40
Introduction
Berbagai macam masalah biasanya perlu menemukan sebuah elemndengan properti khusus pada sebuah domain yang dapat membesar secaraexponensial. Biasanya terdapat pada masalah yang masuk secara implisitmaupun explisit ke dalam kombinatorik, seperti permutasi, kombinasi, dansubset dari sebuah himpunan. Seperti pada masalah optimasi: yaitubertujuan untuk menemukan suatu elemen yang memaksimumkan ataumeminimumkan beberapa karakteristik yang diinginkan seperti padasebuah panjang lintasan atau sebuah biaya.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 4 / 40
Introduction
Exhaustive search merupakan sutau pendekatan brute force untukmasalah yang berkaitan dengan kombinatorik. Algoritma ini mengijinkan:
membentuk setiap elemen dari domain permasalahan,
menyeleksi elemen yang memenuhi semua konstrain,
menemukan sebuah elemen yang diinginkan ( sesuatu yangmengoptimalkan fungsi objek).
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 5 / 40
Introduction
Exhaustive search merupakan sutau pendekatan brute force untukmasalah yang berkaitan dengan kombinatorik. Algoritma ini mengijinkan:
membentuk setiap elemen dari domain permasalahan,
menyeleksi elemen yang memenuhi semua konstrain,
menemukan sebuah elemen yang diinginkan ( sesuatu yangmengoptimalkan fungsi objek).
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 5 / 40
Introduction
Exhaustive search merupakan sutau pendekatan brute force untukmasalah yang berkaitan dengan kombinatorik. Algoritma ini mengijinkan:
membentuk setiap elemen dari domain permasalahan,
menyeleksi elemen yang memenuhi semua konstrain,
menemukan sebuah elemen yang diinginkan ( sesuatu yangmengoptimalkan fungsi objek).
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 5 / 40
Introduction
Exhaustive search merupakan sutau pendekatan brute force untukmasalah yang berkaitan dengan kombinatorik. Algoritma ini mengijinkan:
membentuk setiap elemen dari domain permasalahan,
menyeleksi elemen yang memenuhi semua konstrain,
menemukan sebuah elemen yang diinginkan ( sesuatu yangmengoptimalkan fungsi objek).
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 5 / 40
Introduction
Catatan bahawa, meskipun ide dari exhaustive search straightforward/lempeng, implementasinya membutuhkan secara khusus algoritma yangmembentuk kombinasi obkjek.
Berikut akan diberikan beberapa contoh dalam algoritma exhaustivesearch seperti: Traveling Salesman Problem, Knapsack 0/1, danassignment problem.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 6 / 40
Introduction
Catatan bahawa, meskipun ide dari exhaustive search straightforward/lempeng, implementasinya membutuhkan secara khusus algoritma yangmembentuk kombinasi obkjek.Berikut akan diberikan beberapa contoh dalam algoritma exhaustivesearch seperti: Traveling Salesman Problem, Knapsack 0/1, danassignment problem.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 6 / 40
Outline
1 IntroductionIntroduction
2 Traveling Salesman ProblemTraveling Salesman Problem
3 Knapsack ProblemKnapsack Problem
4 Assignment Cost Problem
5 ReferencesReferences
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 7 / 40
TSP
Traveling salesmen problem (TSP) sudah menjadi hal yang seringdiperhatikan oleh peneliti dari 150 tahun yang lalu, karena merupakanformula yang sederhana, aplikasi penting, dan koneksi menarik untukmasalah kombinasi lainnya. Salah satu contoh masalah TSP adalahmenemukan tour terpendek dari sebuah himpunan n kota yang harusdikunjungi tepat sekali dan balik kembali ke kota awal keberangkatan.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 8 / 40
TSP
Model dari masalah ini dapat dimodelkan dengan graf berbobot (weightedgraph, dengan vertek dari graf mempresentasikan kota dan garismenyatakan besaran jarak. Sehingga masalah ini dapat dikategorikansebagai masalah menemukan sirkuit Hamilton terpendek dari graf.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 9 / 40
TSP
Circuit Hamilton
(A Hamiltonian circuit is defined as a cycle that passes through all thevertices of the graph exactly once. It is named after the Irishmathematician Sir William Rowan Hamilton (1805-1865), who becameinterested in such cycles as an application of his algebraic discoveries.)
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 10 / 40
TSP
Algorithm
Algoritma exhaustive search untuk persoalan TSP:
1 Enumerasikan ( list ) semua sirkuit Hamilton dari graf lengkap dengann buah simpul.
2 Hitung ( evaluasi ) bobot setiap sirkuit Hamilton yang ditemukanpada langkah 1.
3 Pilih sirkuit Hamilton yang mempunyai bobot terkecil.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 11 / 40
TSP
Berikut diberikan contoh untuk n = 4 dan simpul awal a.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 12 / 40
TSP
Berikut diberikan contoh untuk n = 4 dan simpul awal a.
Tour length
1. a ---> b ---> c ---> d ---> a I = 2 + 8 + 1 + 7 = 18
2. a ---> b ---> d ---> c ---> a I = 2 + 3 + 1 + 5 = 11 optimal
3. a ---> c ---> b ---> d ---> a I = 5 + 8 + 3 + 7 = 23
4. a ---> c ---> d ---> b ---> a I = 5 + 1 + 3 + 2 = 11 optimal
5. a ---> d ---> b ---> c ---> a I = 7 + 3 + 8 + 5 = 23
6. a ---> d ---> c ---> b ---> a I = 7 + 1 + 8 + 2 = 18
Figure : Solusi dari contoh traveling salesman problem menggunakan exhaustivesearch.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 13 / 40
TSP
Jadi rute perjalanan terpendeknya adalah:1. a−− > b −− > d −− > c −− > a2. a−− > c −− > d −− > b −− > ayang nilanya sebesar 11.Untuk n buah simpul semua rute perjalanan yang mungkin dibangkitkandengan permutasi dari n − 1 buah simpul. Permutasi dari n − 1 buahsimpul adalah (n − 1)!. Pada contoh di atas, untuk n = 4 akan terdapat(4− 1)! = 3! = 6 buah rute perjalanan.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 14 / 40
TSP
Beberapa karakteristik yang didapat dari contoh di atas adalah:
Jika diselesaikan dengan metode exhaustive search, maka kita harusmengenumerasi sebanyak (n − 1)! buah sirkuit Hamilton, menghitungsetiap bobotnya , dan memilih sirkuit Hamilton dengan bobot terkecil.
Kompleksitas waktu algoritma exhaustive search untuk persoalan TSPsebanding dengan (n − 1)! dikali dengan waktu untuk menghitungbobot setiap sirkuit Hamilton.
Menghitung bobot setiap sirkuit Hamilton membutuhkan waktuO(n), sehingga kompleksitas waktu algoritma exhaustive search untukpersoalan TSP adalah O(n · n!).
Perbaikan : setengah dari rute perjalanan adalah hasil pencerminandari setengah rute yang lain, yakni dengan mengubah arah ruteperjalanan 1 dan 6, 2 dan 4, 3 dan 5. maka dapat dihilangkansetengah dari jumlah permutasi ( dari 6 menjadi 3).
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 15 / 40
TSP
Beberapa karakteristik yang didapat dari contoh di atas adalah:
Jika diselesaikan dengan metode exhaustive search, maka kita harusmengenumerasi sebanyak (n − 1)! buah sirkuit Hamilton, menghitungsetiap bobotnya , dan memilih sirkuit Hamilton dengan bobot terkecil.
Kompleksitas waktu algoritma exhaustive search untuk persoalan TSPsebanding dengan (n − 1)! dikali dengan waktu untuk menghitungbobot setiap sirkuit Hamilton.
Menghitung bobot setiap sirkuit Hamilton membutuhkan waktuO(n), sehingga kompleksitas waktu algoritma exhaustive search untukpersoalan TSP adalah O(n · n!).
Perbaikan : setengah dari rute perjalanan adalah hasil pencerminandari setengah rute yang lain, yakni dengan mengubah arah ruteperjalanan 1 dan 6, 2 dan 4, 3 dan 5. maka dapat dihilangkansetengah dari jumlah permutasi ( dari 6 menjadi 3).
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 15 / 40
TSP
Beberapa karakteristik yang didapat dari contoh di atas adalah:
Jika diselesaikan dengan metode exhaustive search, maka kita harusmengenumerasi sebanyak (n − 1)! buah sirkuit Hamilton, menghitungsetiap bobotnya , dan memilih sirkuit Hamilton dengan bobot terkecil.
Kompleksitas waktu algoritma exhaustive search untuk persoalan TSPsebanding dengan (n − 1)! dikali dengan waktu untuk menghitungbobot setiap sirkuit Hamilton.
Menghitung bobot setiap sirkuit Hamilton membutuhkan waktuO(n), sehingga kompleksitas waktu algoritma exhaustive search untukpersoalan TSP adalah O(n · n!).
Perbaikan : setengah dari rute perjalanan adalah hasil pencerminandari setengah rute yang lain, yakni dengan mengubah arah ruteperjalanan 1 dan 6, 2 dan 4, 3 dan 5. maka dapat dihilangkansetengah dari jumlah permutasi ( dari 6 menjadi 3).
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 15 / 40
TSP
Beberapa karakteristik yang didapat dari contoh di atas adalah:
Jika diselesaikan dengan metode exhaustive search, maka kita harusmengenumerasi sebanyak (n − 1)! buah sirkuit Hamilton, menghitungsetiap bobotnya , dan memilih sirkuit Hamilton dengan bobot terkecil.
Kompleksitas waktu algoritma exhaustive search untuk persoalan TSPsebanding dengan (n − 1)! dikali dengan waktu untuk menghitungbobot setiap sirkuit Hamilton.
Menghitung bobot setiap sirkuit Hamilton membutuhkan waktuO(n), sehingga kompleksitas waktu algoritma exhaustive search untukpersoalan TSP adalah O(n · n!).
Perbaikan : setengah dari rute perjalanan adalah hasil pencerminandari setengah rute yang lain, yakni dengan mengubah arah ruteperjalanan 1 dan 6, 2 dan 4, 3 dan 5. maka dapat dihilangkansetengah dari jumlah permutasi ( dari 6 menjadi 3).
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 15 / 40
TSP
Beberapa karakteristik yang didapat dari contoh di atas adalah:
Jika diselesaikan dengan metode exhaustive search, maka kita harusmengenumerasi sebanyak (n − 1)! buah sirkuit Hamilton, menghitungsetiap bobotnya , dan memilih sirkuit Hamilton dengan bobot terkecil.
Kompleksitas waktu algoritma exhaustive search untuk persoalan TSPsebanding dengan (n − 1)! dikali dengan waktu untuk menghitungbobot setiap sirkuit Hamilton.
Menghitung bobot setiap sirkuit Hamilton membutuhkan waktuO(n), sehingga kompleksitas waktu algoritma exhaustive search untukpersoalan TSP adalah O(n · n!).
Perbaikan : setengah dari rute perjalanan adalah hasil pencerminandari setengah rute yang lain, yakni dengan mengubah arah ruteperjalanan 1 dan 6, 2 dan 4, 3 dan 5. maka dapat dihilangkansetengah dari jumlah permutasi ( dari 6 menjadi 3).
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 15 / 40
TSP
Ketiga buah sirkuit Hamilton yang dihasilkan adalah seperti gambardi bawah ini :
Dengan demikian, untuk graf dengan buah simpul, kita hanya perlumengevaluasi sirkuit Hamilton sebanyak (n − 1)!/2 buah.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 16 / 40
TSP
Ketiga buah sirkuit Hamilton yang dihasilkan adalah seperti gambardi bawah ini :
Dengan demikian, untuk graf dengan buah simpul, kita hanya perlumengevaluasi sirkuit Hamilton sebanyak (n − 1)!/2 buah.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 16 / 40
TSP
Untuk ukuran masukan yang besar, algoritma exhaustive searchmenjadi sangat tidak mangkus.
Pada persoalan TSP misalnya , untuk jumlah simpul n = 20 akanterdapat (19!)/2 = 6× 1016 sirkuit Hamilton yang harus dievaluasisatu per satu.
Sayangnya, untuk persoalan TSP tidak ada algoritma lain yang lebihbaik daripada algoritma exhaustive search.
Jika anda dapat menemukan algoritma yang mangkus untuk TSP,anda akan menjadi terkenal dan kaya! Algoritma yang mangkus selalumempunyai kompleksitas waktu dalam orde polinomial.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 17 / 40
TSP
Untuk ukuran masukan yang besar, algoritma exhaustive searchmenjadi sangat tidak mangkus.
Pada persoalan TSP misalnya , untuk jumlah simpul n = 20 akanterdapat (19!)/2 = 6× 1016 sirkuit Hamilton yang harus dievaluasisatu per satu.
Sayangnya, untuk persoalan TSP tidak ada algoritma lain yang lebihbaik daripada algoritma exhaustive search.
Jika anda dapat menemukan algoritma yang mangkus untuk TSP,anda akan menjadi terkenal dan kaya! Algoritma yang mangkus selalumempunyai kompleksitas waktu dalam orde polinomial.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 17 / 40
TSP
Untuk ukuran masukan yang besar, algoritma exhaustive searchmenjadi sangat tidak mangkus.
Pada persoalan TSP misalnya , untuk jumlah simpul n = 20 akanterdapat (19!)/2 = 6× 1016 sirkuit Hamilton yang harus dievaluasisatu per satu.
Sayangnya, untuk persoalan TSP tidak ada algoritma lain yang lebihbaik daripada algoritma exhaustive search.
Jika anda dapat menemukan algoritma yang mangkus untuk TSP,anda akan menjadi terkenal dan kaya! Algoritma yang mangkus selalumempunyai kompleksitas waktu dalam orde polinomial.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 17 / 40
TSP
Untuk ukuran masukan yang besar, algoritma exhaustive searchmenjadi sangat tidak mangkus.
Pada persoalan TSP misalnya , untuk jumlah simpul n = 20 akanterdapat (19!)/2 = 6× 1016 sirkuit Hamilton yang harus dievaluasisatu per satu.
Sayangnya, untuk persoalan TSP tidak ada algoritma lain yang lebihbaik daripada algoritma exhaustive search.
Jika anda dapat menemukan algoritma yang mangkus untuk TSP,anda akan menjadi terkenal dan kaya! Algoritma yang mangkus selalumempunyai kompleksitas waktu dalam orde polinomial.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 17 / 40
TSP
Exercise
Tentukan rute dan jarak terpendek dari contoh-contoh berikut. Pada TSPberikut:
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 18 / 40
TSP
Exercise
Tentukan rute dan jarak terpendek dari contoh-contoh berikut. Pada TSPberikut (UTS 2004):
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 19 / 40
TSP
Exercise
Tentukan rute dan jarak terpendek dari contoh-contoh berikut. Pada TSPberikut:
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 20 / 40
Outline
1 IntroductionIntroduction
2 Traveling Salesman ProblemTraveling Salesman Problem
3 Knapsack ProblemKnapsack Problem
4 Assignment Cost Problem
5 ReferencesReferences
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 21 / 40
0/1 Knapsack
Masalah Knapsack adalah masalah yang terkenal dalam algoritma.Diberikan n items/objek yang memiliki properti seperti bobotw1,w2, · · ·wn dan keuntungan p1, p2, · · · , pn. Dengan kapasitas bobotKnapsack K . Permasalahan yang terjadi adalah bagaimana memilihmemilih objek - objek yang dimasukkan ke dalam knapsack sedemikiansehingga memaksimumkan keuntungan. Total bobot objek yangdimasukkan ke dalam knapsack tidak boleh melebihi kapasitas knapsack K .
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 22 / 40
0/1 Knapsack
Idea
If you do not like the idea of putting yourself in the shoes of a thief whowants to steal the most valuable loot that fits into his knapsack, thinkabout a transport plane that has to deliver the most valuable set of itemsto a remote location without exceeding the plane’s capacity.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 23 / 40
0/1 Knapsack
Persoalan 0/1 Knapsack dapat kita pandang sebagai mencari himpunanbagian (subset) dari keseluruhan objek yang muat ke dalam knapsack danmemberikan total keuntungan terbesar.Solusi persoalan dinyatakan sebagai vektor n-tupel:
X = {x1, x2, · · · , xn}
denganxi = 1 jika objek ke-i dimasukkan ke dalam knapsack,xi = 0 jika objek ke-i tidak dimasukkan.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 24 / 40
0/1 Knapsack
Formualsi matemntaikanya dapat dibentuk menjadi:
Maximumkan F =n∑i
pixi
dengan kendala
n∑i
wixi ≤ K
dengan i = 0 atau 1, ∀i = 1, 2, · · · n.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 25 / 40
0/1 Knapsack
Algoritma exhaustive search untuk persoalan 0/1 Knapsack :
1 Enumerasikan (list) semua himpunan bagian dari himpunan dengan nobjek.
2 Hitung (evaluasi) total keuntungan dari setiap himpunan bagian darilangkah 1.
3 Pilih himpunan bagian yang memberikan total keuntungan terbesar.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 26 / 40
0/1 Knapsack
Example
Diberikan data untuk n = 4 seperti berikut ini:
w1 = 2; p1 = 20
w2 = 5; p2 = 30
w3 = 10; p3 = 50
w4 = 5; p4 = 10
Kapasitas knapsack K = 16.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 27 / 40
0/1 Knapsack
Langkah - langkah pencarian solusi 0/1 Knapsack secara exhaustive searchdirangkum dalam tabel di bawah ini :
Table : Solusi menggunakan exhaustive search, bagian tebal menyatkan solusioptimal.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 28 / 40
0/1 Knapsack
Solution
Himpunan bagian objek yang memberikan keuntungan maksimum adalah{2, 3} dengan total keuntungan adalah 80. Sehingga solusi:X = {0, 1, 1, 0}.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 29 / 40
0/1 Knapsack
Berapa banyak himpunan bagian dari sebuah himpunan dengan n elemen?Jawabnya adalah 2n. Waktu untuk menghitung total bobot objek yangdipilih = O(n). Sehingga , Kompleksitas algoritma exhaustive searchuntuk persoalan 0/1 Knapsack = O(n · 2n).
TSP dan 0/1 Knapsack , adalah contoh persoalan eksponensial. Keduanyadigolongkan sebagai persoalan NP (Non-deterministic Polynomial),karena tidak mungkin dapat ditemukan algoritma polinomial untukmemecahkannya.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 30 / 40
0/1 Knapsack
Berapa banyak himpunan bagian dari sebuah himpunan dengan n elemen?Jawabnya adalah 2n. Waktu untuk menghitung total bobot objek yangdipilih = O(n). Sehingga , Kompleksitas algoritma exhaustive searchuntuk persoalan 0/1 Knapsack = O(n · 2n).TSP dan 0/1 Knapsack , adalah contoh persoalan eksponensial. Keduanyadigolongkan sebagai persoalan NP (Non-deterministic Polynomial),karena tidak mungkin dapat ditemukan algoritma polinomial untukmemecahkannya.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 30 / 40
0/1 Knapsack
Exercise
Diberikan data untuk n = 4 seperti berikut ini:
w1 = 7; p1 = $42
w2 = 3; p2 = $12
w3 = 4; p3 = $40
w4 = 5; p4 = $25
Kapasitas knapsack K = 10. Tentukan solusi optimalnya.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 31 / 40
Assignment Cost
Pada contoh ketiga dari masalah yang bisa diselesaikan dengan exhaustivesearch, adalah masalah Biaya Kerja. Masalahnya dimulai dengan adanya norang yang perlu di berikan pekerjaan yang sebanyak n tugas. Syaratnyaadalah satu orang satu pekerjaan, yang artinya setiap orang tepatmendapat satu pekerjaan dan setiap pekerjaan dikerjakan oleh tepat satuorang.
Biaya yang dikeluarkan jika orang ke-i ditempatkan pada pekerjaan ke-jdisebut sebagai quantity C [i , j ] untuk setiap i , j = 1, 2, · · · , n. Selanjutnyaakan dicari assignment/penempatan orang terhadap pekerjaan denganmemperhatikan total biaya harus minimum. Sebagai contoh, perhatikannilai C [i , j ] berikut ini:
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 32 / 40
Assignment Cost
Pada contoh ketiga dari masalah yang bisa diselesaikan dengan exhaustivesearch, adalah masalah Biaya Kerja. Masalahnya dimulai dengan adanya norang yang perlu di berikan pekerjaan yang sebanyak n tugas. Syaratnyaadalah satu orang satu pekerjaan, yang artinya setiap orang tepatmendapat satu pekerjaan dan setiap pekerjaan dikerjakan oleh tepat satuorang.Biaya yang dikeluarkan jika orang ke-i ditempatkan pada pekerjaan ke-jdisebut sebagai quantity C [i , j ] untuk setiap i , j = 1, 2, · · · , n. Selanjutnyaakan dicari assignment/penempatan orang terhadap pekerjaan denganmemperhatikan total biaya harus minimum. Sebagai contoh, perhatikannilai C [i , j ] berikut ini:
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 32 / 40
Assignment Cost
Job 1 Job 2 Job 3 Job 4Dono 9 2 7 8Kasino 6 4 3 7Indro 5 8 1 8Toyib 7 6 9 4
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 33 / 40
Assignment Cost
Dengan jelas dapat kita lihat bahwa penempatan pekerja dapat digambarkan dengan matrik biaya C . Dalam matrix, masalahnya adalahmemilih setiap elemen pada baris sehingga setiap elemen memiliki kolomberbeda, dan total biaya minimum. Solusi dari masalsah ini tidak begitujelas. Misalkan kita memilih satu pekerja pada biaya yang minimum, akantetapi akan ada kemungkinan pekerja lain memiliki baya minimum padakolom yang sama.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 34 / 40
Assignment Cost
Solusi persoalan dinyatakan sebagai vektor n-tupel:
X = {x1, x2, · · · , xn}
dengan xi menyatakan kolom dari elemen yang dipilih pada baris ke-i .Sebagai contoh pada matrix di atas, {2, 3, 4, 1} mengindikasikan bahwaDono ke Job 1, Kasino ke Job 3, Indro ke Job 4, Toyib ke Job 1.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 35 / 40
Assignment Cost
Exhaustive search menangani masalah ini dengan membangkitkan semuapermutasi dari bilangan bulat 1, 2, · · · , n, menghitung total biaya darisetiap assignment. Sebagai contoh, untuk mengerjakan masalah di atas:
C =
9 2 7 86 4 3 75 8 1 87 6 9 4
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 36 / 40
Assignment Cost
Maka kandidat slusinya adalah
{1, 2, 3, 4}, cost = 9 + 4 + 1 + 4 = 18
{1, 2, 4, 3}, cost = 9 + 4 + 8 + 9 = 30
{1, 3, 2, 4}, cost = 9 + 3 + 8 + 4 = 24
{1, 3, 4, 2}, cost = 9 + 3 + 8 + 6 = 26
{1, 4, 2, 3}, cost = 9 + 7 + 8 + 9 = 33
{1, 4, 3, 2}, cost = 9 + 7 + 1 + 6 = 23
dst...
Karena jumlah permutasi dapat diperumum, maka kompleksitas waktunyaadalah O(n!), sehingga exhaustive search sangatlah tidak praktisdigunakan. Untungnya, terdapat algoritma yang lebih effisien yang dikenaldengan the Hungarian method setelah matematikawan dari HungariaKonig and Egervary yang memulai metode tersebut (see, e.g., [Kol95]).
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 37 / 40
Outline
1 IntroductionIntroduction
2 Traveling Salesman ProblemTraveling Salesman Problem
3 Knapsack ProblemKnapsack Problem
4 Assignment Cost Problem
5 ReferencesReferences
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 38 / 40
References
References1 Anany, L. (2003). Introduction to the design and analysis of
algorithms. Villanova University.
Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 39 / 40