54
Design and Analysis of Algorithm Week 7: Brute Force Algorithm Part 2: Exhaustive Search Dr. Putu Harry Gunawan 1 1 Department of Computational Science School of Computing Telkom University Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 1 / 40

Design and Analysis of Algorithm - Simulation Laboratoryphg-simulation-laboratory.com/wp-content/uploads/2017/02/Slide-DAA... · Telkom University Dr. Putu Harry Gunawan ... Berbagai

Embed Size (px)

Citation preview

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

The end of week 7

Thank you for your attention!

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 40 / 40