bab ii tinjauan pustaka -...

29
7 BAB II TINJAUAN PUSTAKA 2.1. Timetable Scheduling Timetablemenurut Wren (1996) adalah kejadian tertentu yang membutuhkan tempat yang tidak secara langsung mengutarakan alokasi dari sumber, contohnya adalah timetable bus atau kereta api yang menunjukkan kapan kereta api atau bus berangkat dan rute perjalanan kereta api atau bus tersebut, tetapi tidak menunjukkan alokasi kendaraan maupun supir. Proses pengalokasian inilah yang dinamakan scheduling atau timetable scheduling. Timetable schedulingatau penjadwalan tersebut kemudian didefinisikan oleh Chu dan Fang (1999) sebagai perencanaan berbasis waktu dan combinational optimization yang diselesaikan dengan kerjasama antara pencarian dan heuristik, yang biasanya mengarah pada solusi yang memuaskan tetapi suboptimal.Terdapat banyak jenis problem penjadwalan dalam kehidupan sehari-hari, seperti ujian, perkuliahan, dan jadwal transportasi. Kemudian timetablescheduling didefinisikan kembali oleh Qarouni-Fard et al. (2007) sebagai pengalokasian satu set event ke dalam sejumlah ruangan dan timeslot dimana sejumlah batasan (constraints) harus dipenuhi. Banyak jenis problem penjadwalan yang ada dalam kehidupan sehari-hari, contohnya adalah penjadwalan matakuliah, ujian dan transportasi.Problem penjadwalan yang paling umum adalah University Course Timetabling Problem (UCTP) dan Exam Timetabling Problem (ETP).

Upload: lamdieu

Post on 28-Apr-2018

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

7

BAB II TINJAUAN PUSTAKA

2.1. Timetable Scheduling

Timetablemenurut Wren (1996) adalah kejadian tertentu yang

membutuhkan tempat yang tidak secara langsung mengutarakan alokasi dari

sumber, contohnya adalah timetable bus atau kereta api yang menunjukkan kapan

kereta api atau bus berangkat dan rute perjalanan kereta api atau bus tersebut,

tetapi tidak menunjukkan alokasi kendaraan maupun supir. Proses pengalokasian

inilah yang dinamakan scheduling atau timetable scheduling.

Timetable schedulingatau penjadwalan tersebut kemudian didefinisikan

oleh Chu dan Fang (1999) sebagai perencanaan berbasis waktu dan combinational

optimization yang diselesaikan dengan kerjasama antara pencarian dan heuristik,

yang biasanya mengarah pada solusi yang memuaskan tetapi suboptimal.Terdapat

banyak jenis problem penjadwalan dalam kehidupan sehari-hari, seperti ujian,

perkuliahan, dan jadwal transportasi.

Kemudian timetablescheduling didefinisikan kembali oleh Qarouni-Fard et

al. (2007) sebagai pengalokasian satu set event ke dalam sejumlah ruangan dan

timeslot dimana sejumlah batasan (constraints) harus dipenuhi. Banyak jenis

problem penjadwalan yang ada dalam kehidupan sehari-hari, contohnya adalah

penjadwalan matakuliah, ujian dan transportasi.Problem penjadwalan yang paling

umum adalah University Course Timetabling Problem (UCTP) dan Exam

Timetabling Problem (ETP).

Page 2: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

8

Menurut Ho et al. (2008), problem penjadwalan biasanya berhadapan

dengan bagaimana mendistribusikan resourcesecara efektif. Resourceini biasanya

bersifat terbatas dan tidak ada dua pekerjaan (tasks) yang menggunakan resource

yang sama dalam waktu yang sama.

Dalam timetable scheduling,events harus diatur ke dalam waktu tertentu

(timeslot) untuk memenuhi constraints yang ada.Burke et al. (1997) membagi

constraint yang menjadi pertimbangan menjadi dua jenis, yaitu Hard Constraints

yaitu batasan yang harus dipenuhi dalam timetable agar dapat digunakan (layak)

dan Soft Constraints yaitubatasan yang diinginkan tapi tidak benar-benar

diperlukan.

2.2. Sejarah Timetable Scheduling

Timetableschedulingyang sebelumnya masih dilakukan secara manual,

yaitu dengan menggunakan tenaga dan pikiran manusia, mulai berubah kearah

penggunaan komputer.Perubahan ini dimulai ketika D. de Werra pada tahun

1985mulai memperkenalkan tentang timetabling, dalam penelitiannya tersebut de

Werra masih menggunakan teknik graph dan networks.Walaupun pada akhirnya

penelitian tersebut dapat menyelesaikan permasalahan examtimetabling problem

maupun course timetabling problem dalam transaksi dengan skala kecil namun

memiliki permasalahan dalam transaksi skala besar (Lai et al., 2006).

Karena perkembangan transaksi timetablingyang terus meningkat menjadi

skala yang besar, penelitian-penelitianpada timetablingini

jugaterusmeningkat.Penelitian timetabling tersebut sudah dikembangkan mulai

Page 3: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

9

dengan menggunakan interaksi manusia dan komputer sampai ke metode

ArtificialIntelligencedan Computational Intelligence.

Bhaduri (2009), mencatat beberapa penelitian yang telah dilakukan dalam

bidang timetabling dengan menggunakan metode dalam bidang

OperationResearch, ArtificialIntelligence dan ComputationalIntelligencedan

metode-metode tersebut dapat dibagi menjadi empat kategori yaitu:

1. Sequential Methods

Sequential Methods memperlakukan timetabling problem sebagai

graph problem.Para peneliti mengatur events dengan menggunakan

domain-spesific heuristics dan memasukkan events secara berurutan

dalam slot waktu yang valid sedemikian rupa, sehingga tidak ada

contraints yang dilanggar pada setiap slot waktu.

Lai et al. (2006) mencatat bahwa de Werra pada tahun 1992 dan 1997

menunjukkan bagaimana mengurangi course timetabling problem ke

dalam graphcoloringproblem.

Dengan menerapkan coloring technology, problem tersebut dapat

dirumuskan sebagai jaringan arcs dan node, kemudian solusi dapat

diperoleh dengan menemukan satu set warna di mana tidak ada dua

node yang berdekatan atau edges memiliki warna yang sama.

2. Cluster Methods

Problem dibagi menjadi beberapa set events. Setiap set didefinisikan

sehingga memenuhi segala hard constraints. Kemudian set tersebut

diatur ke dalam timeslot nyata untuk memenuhi soft constraints.

Page 4: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

10

Lai et al. (2006) juga mencatat beberapa penelitian yang menggunakan

Cluster Methods dilakukan oleh Ferland& Roy pada tahun 1985 yang

memformulasikan timetabling problem sebagai assignment problem

dan menyelesaikan problem tersebut melalui pengurangan quadratic

assignment problem.

Kemudian penelitian dengan menggunakan cluster methods tersebut

dilanjutkan kembali oleh Tripathy pada tahun1992 dengan

menggunakan metode Lagrangian Relaxation, dalam pendekatan ini,

sejumlah variable dikurangi dengan menggunakan grouping. Sejumlah

constraints dikurangi dengan menggantinya dengan sejumlah relaxed

contraints, kemudian solusi yang layak didapatkan dengan

menggunakan metode heuristic.

3. Constraint Based Methods

Timetabling problem dimodelkan sebagai satu set variabel (events)

yang resource (lecturer atau rooms) harus ditugaskan dalam rangka

memenuhi sejumlah constraints.

Lai et al. (2006) mencatat bahwa Monfroglio et al. pada tahun 1988

menggunakan sistem yang berbasiskan prolog yang menggunakan

backtracking untuk menemukan timetable yang layak dengan cara

men-decomposes dan mengklasifikasi constraints sehubungan dengan

message passing dan constraints ordering untuk meminimalkan

backtracking dan memaksimalkan parallelism.

Kemudian Deris et al. pada tahun 2000 mengusulkan Constraint-based

Reasoning Algorithm dan diimplementasikan dengan pendekatan

Page 5: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

11

Object-Oriented, lalu pada tahun 2003 Valouxis dan Housos

mengusulkan penggunaan Operation Research models dan metode

Local Search untuk membantu constraint programming dengan

meminimalkan wilayah pencarian solusi.

4. Metaheuristic Methods

Metaheuristic Methods diimplementasikan dalam timetabling problem

dengan memulai beberapa solusi awal, kemudian menggunakan

metode pencarian untuk menghindari local optima.Metaheuristic ini

juga mencakup beberapa pendekatan heuristic yang diinspirasikan dari

alam, dan mengaplikasikan proses nature-like untuk mendapatkan

solusi atau populasi dari solusi.

Lai et al. (2006) mencatat beberapa jenis Metaheuristic Methods yang

pernah digunakan dalam penelitian timetabling adalah Genetic

Algorithm yang dilakukan oleh Colorni dan Maniezzo pada tahun

1990.

Kemudian pada tahun 1992, Moscato dan Norman menggunakan

Memetic Algorithm yang digunakan untuk meningkatkan kemampuan

Genetic Algorithm dengan menggabungkan local neighborhood

search, yang digunakan untuk mengeksplorasi neighborhood solusi

yang didapatkan dari Genetic Algorithm dan menavigasi pencarian

menuju local optima untuk setiap solusi.

Beberapa penelitian yang menggunakan pendekatan heuristic yang

nature-like dalam timetable scheduling adalah metode Tabu Search

juga kemudian digunakan oleh Hertz pada tahun 1991 yang

Page 6: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

12

menggunakan grouping untuk problem optimization dan pada tahun

1992, Hertz menggunakan metode ini untuk masalah lectures yang

lebih kompleks (Lai et al. 2006).

Penelitian yang lain adalah penggunaan Particle Swarm Optimization

yang dilakukan oleh Chu et al. pada tahun 2006 yang digunakan untuk

membuat schedule exam timetables, penelitian ini mengukur kualitas

dari examination timetable dan waktu yang dibutuhkan untuk

menghasilkan timetable tersebut.Selain Particle Swarm Optimization,

penelitian lain yang menggunakan nature-like algorithm adalah

penggunaan Harmony Search yang dilakukan oleh Al-betar et al. pada

tahun 2008 dan 2009.

Harmony Search yang diperkenalkan oleh Geem et al. pada 2001 yang

diinspirasikan dari fenomena natural dari perilaku pemusik ketika

mereka memainkan alat music bersama-sama untuk mendapatkan

fantastic harmony.Pada penelitian tersebut, Harmony Search untuk

university course timetabling dan berhasil menemukan near optimal

solution.

2.3. Metode Timetable Scheduling

Banyak metode yang sudah digunakan untuk menyelesaikan permasalahan

timetable scheduling dan beberapa di antaranya terdapat pada kelompok

metaheuristic algorithm. Metaheuristic algorithm adalah suatu metode komputasi

yang mengoptimalkan suatu problem dengan cara meningkatkan kandidat solusi

secara interaktif dengan ukuran kualitas tertentu.

Page 7: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

o

s

t

d

M

a

a

Biasa

optimization

space.Tetap

timetable sc

dikembangk

Metaheuristi

Gambar

Dari

algoritma y

adalah:

anya Meta

n di mana

i sesuai den

cheduling y

kan untuk m

ics dapat dil

2.1. Klasif

sekian ban

yang sering

aheuristics

solusi opti

ngan perkem

yang semaki

mengatasi tim

lihat pada ga

fikasi Metah

nyak algorit

digunakan

algorithm d

imal dicari

mbangan tek

in pesat, M

metabling p

ambar beriku

heuristics Alg

tma yang te

untuk me

digunakan

dalam seb

knologi info

Metaheuristic

problem.Klas

ut ini:

gorithm (Dr

ermasuk da

nyelesaikan

untuk com

buah discre

ormasi dan

Algorithm

sifikasi dari

éo &Candan

ari jenis ini

timetabling

13

mbinational

ete search-

kebutuhan

ini mulai

i algoritma

n, 2011)

, beberapa

g problem

Page 8: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

14

2.3.1. Genetic Algorithm (GA)

Dalam penelitiannya,Fang (1992) mendefinisikan Genetic Algorithm

sebagai kelompok methods yang menyelesaikan problems menggunakan

algoritma yang diinspirasikan oleh proses evolusi Darwinian.

Dalam GA, kemampuan dari satu set kandidat solusi sebuah problem

(chromosomes) dievaluasi dan diurutkan, kemudian kandidat solusi baru

diciptakan dengan menggunakan kandidat terbaik sebagai “parents” dan

mengaplikasikan mutasi dan crossover (mengkombinasikan bits dari dua parents

untuk menghasilkan satu atau lebih child)operators. Set dari kandidat baru ini

kemudian dievaluasi, dan cycle ini terus berlanjut sampai solusi yang memadai

ditemukan.

Menurut Fang (1992), Outline dari tradisional Genetic Algorithm, adalah

sebagai berikut:

1. Inisialisasi dan Encode sebuah random populasi dari chromosomes.

2. Decode dan evaluasi setiap chromosomefitness dalam sebuah populasi.

3. Reproduce sebuah generasi baru dengan memilih chromosome sebagai

parents sesuai dengan fitness value untuk menghasilkan children

(chromosome) baru.

4. Melakukan crossover, inversion dan mutation untuk chromosome baru

agar menghasilkan chromosome baru yang berbeda.

5. Ulangi langkah 2-4 sampai ditemukan fitness value atau fitness

function yang paling optimal.

Penjelasan mengenai crossover, inversion dan mutation menurut Fang

(1992), adalah sebagai berikut:

Page 9: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

15

1. Crossover

Proses crossover adalah proses menghasilkan rekombinasi string bit

(gene) melalui pertukaran sebagian gene antara 2 chromosomeparents.

a. One-point Crossover

Crossover yang dilakukan dengan membagi chromosome menjadi

2 bagian, dimana bagian sebelum crossover point (letak pembagian

chromosome yang dilakukan secara random) dibiarkan tidak

berubah, dan bagian setelah crossover point ditukar antara 2

parents.

b. Two-point Crossover

Crossover jenis ini sama dengan one-point crossover tetapi dalam

two-point crossoverdipilih 2 buah crossover point dan yang ditukar

adalah gene yang ada di antara 2 buah crossover point tersebut.

Proses ini dapat menghasilkan performance yang baik karena

kadang kala bagian head dan tail dari chromosome tetap

dibutuhkan.

c. N-point Crossover

Proses crossover yang dilakukan sama dengan yang dilakukan

pada one-point dan two point crossover tetapi dalam N-point

crossover dipilih beberapa crossover point yang dipilih untuk

menentukan tempat untuk dilakukan crossover dan bit antara

crossover point ganjil dan genap yang dilakukan

crossoversedangkan bit antara crossover point genap dan ganjil

tidak berubah.

Page 10: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

16

d. Uniform Crossover

Untuk uniform crossover dilakukan proses sebagai berikut:

a) Random nomor untuk mengetahui berapa posisi yang harus

dilakukan crossover (menentukan berapa banyak crossover

point).

b) Random nomor untuk menentukan crossover point mana yang

akan di jadikan patokan untuk melakukan crossover contoh

P1,P2, P3 … Pn.

c) Untuk setiap Pi, lakukan crossover untuk Pith dari parent

dengan Pith parent yang lain, dan hasilkan 2 children baru.

2. Inversion

Invesion adalah suatu proses penukaran gene seperti melakukan

reordering. Inversion ini membutuhkan sebuah chromosome dan dua

buah inversion point yang menentukan bagian dari chromosome (gene)

manakah yang akan dilakukan reordering. Bagian antara 2 inversion

point ini akan dilakukan perputaran gene. Dari beberapa penelitian,

dibuktikan bahwa inversion ini tidak menghasilkan hasil yang baik

dalam percobaan Genetic Algorithm.

3. Mutation

Mutation adalah suatu proses untuk mengubah satu atau beberapa gene

dalam sebuah chromosome menjadi sebuah gene baru berdasarkan

encoding yang dilakukan sebelumnya. Proses mutation ini digunakan

untuk menghasilkan suatu gene baru yang diharapkan menghasilkan

suatu gene yang tidak terjangkau sebelumnya. Misalnya saja, pada

Page 11: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

17

gene chromosome induk tidak ditemukan angka 15, maka ketika proses

mutation ini selesai diharapkan gene yang dihasilkan adalah angka 15.

2.3.2. Simulated Annealing (SA)

Simulated Annealing adalah sebuah algoritma generic probabilistic

metaheuristic untuk mengatasi permasalahan global optimization dalam

menempatkan sebuah perkiraan yang baik untuk global optimum dari fungsi yang

diberikan dalam search space yang besar.Biasanya algoritma ini digunakan ketika

search space yang digunakan adalah discrete, misalnya Traveling Salesman

Problem. Algoritma ini diinspirasikan dari kata annealing dari metallurgy

(pengetahuan mengenai logam), sebuah teknik yang meliputi penggunaan heating

(pemanasan) dan pengaturan cooling (pendinginan) dari sebuah material untuk

meningkatkan size kristal dari material tersebut dan mengurangi cacatnya.

Menurut Moscato (1989), Simulated Annealing adalah sebuah teknik

untuk global optimization yang diambil dari Statistical Mechanics. Metode ini

telah dibuktikan cocok untuk banyak jenis permasalahan contohnya min cut

partitioning problem, global wiring, least square fitting of many unknows, image

analysis, dan banyak lagi.

Simulated Annealing menurut Duong et al. (2004) adalah teknik global

stochastic optimization yang banyak digunakan untuk menyelesaikan banyak tipe

dari permasalahan optimisasi combinatorial.Simulated Annealing adalah sebuah

variant dari local search yang memperbolehkan langkah uphill untuk diterima

dalam sebuah kejadian yang dikendalikan.

Page 12: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

18

Algoritma SA yang tipikal menerima solusi baru jika cost solusi baru

tersebut lebih rendah dari cost solusi sekarang, tetapi kadang-kadang terdapat

kemungkinan solusi baru ini dapat diterima walaupun costnya lebih besar. Dengan

kriteria tersebut ini memungkinkan untuk mendaki keluar dari local optima.

Basic pseudocode dari Simulated Annealing yang terdapat pada penelitian

Duong et al. (2004) untuk menyelesaikan permasalahan university exam

timetabling adalah sebagai berikut:

Pilih sebuah solusi awal S0

Pilih sebuah temperatur awal t0> 0

Pilih temperature reduction function α

Repeat

Repeat

Secara acak pilih s ∈N(s0) /* merupakan neighbor solution dari S0

d = f(s) – f(s0); /* hitung perubahan dalam cost function*/

ifd < 0 then s0 = s

else

generate random x ∈[0,1]; /* x adalah angka acak

number in range 0 to 1 */

ifx < exp(-d/t) then s0 = s

endif

endif

untiliteration_count = nrep;

t = α(t)

untilstopping condition = true./* s0adalah perkiraan dari solusi optimal */

Page 13: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

19

Dalam mendisain sebuah algoritma simulated annealing yang bagus

diperlukan beberapa komponen yaitu:

1. Neighborhood Structure

Dalam mengaplikasikan SA, diperlukan neighborhood structure yang

menunjukkan bahwa untuk setiap solusi diperlukan sebuah set

neighborhood solution. Ini adalah komponen kunci dari metode simulated

annealing untuk kasus apapun.

Dalam penelitian Duong et al. (2004) neighborhood yang digunakan

adalah salah satu variant dari Kempe chains neighborhood yang

dikonstuksikan dengan menggunakan prosedur perulangan yang

simpel.Kemudiancurrent solution dicek dan diperbaiki sedangkan

neighbor dari current solution dipilih secara acak.

2. Cost Function

Cost function ini dibuat untuk menghitung besarnya cost dari current

solution, solusi baru dan neighborhood solution, agar terjadi perubahan

antara current solution, solusi baru dan neighborhood solution.

Cost function ini dibuat berbeda-beda tergantung permasalahan yang

dihadapi.Untuk kasus permasalahan exam timetabling, cost function

dibuat untuk mencerminkan pengaruh dari soft constarints, perbedaan time

distance antara dua exam untuk siswa yang sama juga menjadi salah satu

factor penting.

Semakin dekat waktunya maka semakin besar penalty yang diberikan,

penalty diberikan dengan menggunakan metode yang diajukan oleh Burke

et al.

Page 14: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

20

Dalam penelitian Duong et al. (2004), dalam menghitung delta evaluation

menggunakan delta evaluationdimana perbedaan cost antara current

solution dan neighborhood solutiondievaluasi.

Selama neighbor solution adalah sebuah timetable yang dihasilkan dari

pertukaran antara dua exam sessions dalam current timetable, maka

perbedaan cost antara current timetable dan neighbor timetable dapat

dihitung secara cepat.

3. Cooling Schedule

Cooling schedule adalah suatu perlakuan dalam mengontrol parameter,

temperatur awal dan proses pengaturan temperatur dalam proses

pendinginan. Dalam proses cooling schedule, dilakukan beberapa kali

perulangan (nrep) untuk mengubah temperatur (t) berdasarkan perkalian

dengan reduction function (α).

2.3.3. Tabu Search (TS)

Menurut Glover (1989), Tabu Search adalah sebuah strategi untuk

menyelesaikan combinatorial optimization problems yang aplikasinya mulai dari

graph theory dan matroid settings ke general pure dan mixed integer

programming problems. Tabu Search ini adalah sebuah prosedue adaptive dengan

kemampuan untuk mempergunakan metode lain seperti linear programming

algorithms untuk langsung mengatasi permasalahan dari keterbatasan dalam local

optimality.

Kemudian dalam penelitiannya, Chu dan Fang (1999) menyimpulkan

bahwa Tabu Search sebagai suatu heuristic search method yang memiliki

Page 15: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

21

keuntungan karena memiliki internal memory.Keuntungan ini memungkinkan

Tabu Search untuk mencegah pencarian ke area yang sudah di kunjungi

sebelumnya.

Pendekatan ini memiliki dua mekaniskme dasar, yaitu tabu restrictions

dan aspiration criteria.Selain itu, lebih mudah juga untuk keluar dari local

optimum dan mendapatkan global optimum atau near global optimum dalam

waktu yang singkat.

Langkah-langkah simple tabu search adalah

1. Pilih x awal dimana dan biarkan x* := x. Atur counteriterasi k = 0,

dan mulai dengan T yang kosong.

2. Jika S(x) – T adalah kosong, lanjutkan ke Langkah 4. Selain itu, set k := k

+ 1 dan pilih , jika :

.

3. Biarkan x := sk(x). Jika , dimana x* denotes adalah solusi

terbaik yang sudah ditemukan, biarkan x* := x.

4. Jika angka yang dipilih untuk iterasi melampaui baik dalam total atau

ketika x* terakhir ditingkatkan, atau jika s(x) – T = Ø atau sampai pada

langkah ini melalui langkah 2, maka hentikan proses.

Selain itu, update T (seperti yang sudah diberikan sebelumnya) dan

kembali ke langkah 2.

Page 16: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

22

2.3.4. Memetic Algorithm (MA)

Memetic Algorithm pertama kali diperkenalkan oleh Moscato (1989),

dimana Moscato memperkenalkan algoritma ini mirip dengan Genetic Algorithm

yang digabungkan dengan prosedur individual learning yang dapat menghasilkan

perbaikan local.

Memetic algorithm menangkap beberapa bagian teori seperti Darwinian

evolution dan antara memes dan domain spesifik tertentu (local search) heuristic

dan kemudian dirender kedalam sebuah metodologi yang menyeimbangkan antara

permasalahan secara general maupun secara spesifik. Memetic algorithm sekarang

ini banyak dikenal dengan berbagai sebutan nama yaitu Hybrid Evolutionary

Algorithms, Baldwinian Evolutionary Algorithms, Lamarckian Evolutionary

Algorithms, Cultural Algorithms atau Genetic Local Search.

Kemudian menurut Hung et al. (2005), Memetic Algorithm yang

diperkenalkan oleh Moscato dan Norman pada tahun 1992 adalah sebuah variant

yang dikembangkan dari Genetic Algortihm. Memetic Algorithm mengambil

konsep evolusi sama seperti pada Genetic Algortihm, tetapi Genetic Algortihm

menggunakan konsep biological evolution sedangkan memetic algorithm

menggunakan konsep cultural evolution atau idea evolution.

Dalam evolusi ide, sebuah ide dapat berkembang tidak hanya berdasarkan

rekombinasi dari yang lainnya, tetapi berdasarkan adaptasi dari dirinya

sendiri.Meme, sebuah unit informasi dalam memetic algorithm dapat

dikembangkan oleh individual yang memegang informasi tersebut sebelum

didistribusikan.

Page 17: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

23

Meme berbeda dengan gene, karena gene diturunkan antara individual,

sedangkan meme didapatkan berdasarkan adaptasi setiap individual dimana gene

yang diturunkan tidak berubah.Jadi basic Memetic Algorithm ini adalah sebuah

Evolution Algorithm yang digabungkan dengan beberapa teknik local search.

Dalam penelitiannya, Hung et al. (2005), menyelesaikan permasalahan

examination timetabling dengan menggunakan teknik local search hill-climbing

dan hanya menggunakan mutation sebagai evolutionary operators dalam Genetic

Algorithm. Outline dari Memetic Algorithm yang disimpulkan oleh Hung et al.

adalah sebagai berikut:

Repeat

Ambil setiap individual setiap perulangan:

Pilih mutation method (Light atau Heavy Mutation)

Aplikasikan mutation method untuk individual yang dipilih

Aplikasikan hill-climbing pada individual baru

Masukkan individual tersebut ke dalam populasi

Pilih setengah dari populasi, untuk mengurangi populasi menjadi

ukuran awal

Untilkondisi berhenti terpenuhi

2.3.5. Ant Colony Optimization (ACO)

Menurut Engelbrecht (2007, p360), Ant Colony Optimization adalah

sebuah algoritma yang dikembangkan oleh Marco Dorigo pada tahun 1992 yang

digunakan untuk mencari optimal path dalam sebuah graph, dengan menggunakan

tingkah laku dari semut mencari path antara colony-nya dengan sumber makanan.

Di kehidupan alam, semut berkeliling secara acak untuk mencari makanan,

ketika menemukan makanan, semut mengeluarkan pheromone untuk membantu

Page 18: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

24

semut yang lain mengikuti path yang ditemukan, pencarian kemudian dilakukan

tidak secara acak, tetapi menggunakan path tersebut. Denganmengeluarkan

pheromone, semut yang mengikuti jalur tersebut memperkuat jalur, jika

menemukan makanan.

Tetapi jalur pheromone tidak dapat berlangsung lama, dan kehilangan

kemampuan untuk menarik perhatian seiring dengan waktu ketika semut

mengikuti path dan kembali ke koloni.Oleh karena itu, semut mencari path yang

lebih pendek, agar kepekatan pheromone semakin tinggi dan membentuk path

baru yang lebih baik.Pembentukan path baru yang lebih baik tersebut dapat dilihat

pada contoh dalam gambar di bawah ini:

Gambar 2.2. Pemilihan Shortest Path (Engelbercht, 2007)

Pemudaran pheromone ini juga membantu semut untuk menghindari

konvergensi pada local optima, jika tidak ada pemudaran, maka path yang dipilih

oleh semut pertama akan terus digunakan dan akan membatasi pencarian solusi

terbaik. Dengan menggunakan tingkah laku ini, ant colony optimization

menggunakannya untuk membuat “simulated ants” untuk bergerak di dalam graph

Page 19: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

25

untuk merepresentasikan penyelesaian masalah dan menemukan shortest path

yang digunakan menjadi solusi penyelesaian.

Dalam perkembangannya, ACO banyak digunakan untuk menyelesaikan

permasalahan scheduling. Misalnya pada tahun 2005, Ghoseiri & Morshedsolouk

menggunakan Ant Colony System (ACS) untuk menyelesaikan permasalahan

trainscheduling dengan menyelesaikan permasalahan tersebut sebagai

permasalahan Traveling Salesman Problem (TSP) dimana kota dalam TSP

merepresentasikan kereta dan menghasilkan suatu algoritma baru yang dinamakan

ACS-TS, sebuah model matematika untuk menyelesaikan permasalahan train

scheduling.

Kemudian pada tahun 2007, Nothegger et. al. menyelesaikan

permasalahan Post Enrolment Course Timetabling untuk International

Timetabling Competition dengan menggunakan ACO. Antsdigunakan untuk

mengalokasikan events ke dalam ruangan dan timeslot berdasarkan dua jenis

pheromone yang merepresentasikan probabilitas untuk

mengalokasikan event i ke dalam slot j dan ruang k berurutan.

Algoritma Ant Colony Optimization yang digunakan sekarang ini, adalah

sebagai berikut:

Inisialisasiτij(0) dengan angka random; Inisialisasit = 0; Simpannk antspada node awal; repeat

foreach ant k = 1, . . . , nk do //Buat path xk(t); xk(t) = ; repeat

Pilih node selanjutnya dengan probability:

Page 20: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

26

Add link (i, j) ke path xk(t);

Untilnode akhir tercapai; Remove all loops darixk(t); Hitung panjang dari pathf(xk(t));

end foreach link (i, j) of the graph do //pemudaran pheromone; Reduce pheromone, τij(t), dengan perhitungan:

end foreach ant k = 1, . . . , nk do foreach link (i, j) of xk(t) do Δτk = 1 f(xk(t)) ; Update τij dengan perhitungan:

end end t = t + 1; untilkondisi berhenti terpenuhi; Return path xk(t) dengan nilaif(xk(t)) terkecilsebagai solusi;

2.3.6. Particle Swarm Optimization (PSO)

Menurut Engelbrecht (2007,p289) algoritma Particle Swarm Optimization

(PSO) adalah algoritma yang berdasarkan interaksi sosial dari sekumpulan

burung.Konsep awal dari algoritma ini adalah untuk mensimulasikan pergerakan

yang tidak terprediksi dari sekumpulan burung dan bertujuan untuk mengetahui

pola pergerakan burung yang dapat berubah secara tiba – tiba dan membuat

formasi yang optimal.

Page 21: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

27

Menurut Chu et al. (2006), PSO yang pertama kali diperkenalkan oleh Dr.

Eberhart dan Dr. Kennedy pada tahun 1995 adalah sebuah teknik population-

based evolutionary computation alternatif yang diinspirasikan dari perilaku sosial

dari kelompok burung dan ikan. PSO sebenarnya memiliki kesamaan dengan

evolutionary computation teknik seperti GA, tetapi tidak seperti GA, PSO tidak

punya evolutionoperatorsseperti crossover dan mutasi. PSO mencoba untuk

mensimulasikan perilaku sosial dengan membuat populasi dari solusi yang

potensial (particles)sama seperti burung dalam kawanannya.

PSO diinisialisasikan menjadi sekelompok random particles kemudian

optima dicari dengan meng-update generasi.Semua particles mempunya fitness

value yang dievaluasi oleh fitness function untuk dioptimasikan, setiap particle

mempunyai velocities yang mengatur arah dari setiap particle.Setiap particle di-

update dengan dua value terbaik dalam setiap iterasi.Value pertama adalah posisi

terbaik sebelumnya dari particle ke-k pada iterasi ke-i . Sedangkan value yang

lain dilacak dengan Particle Swarm Optimizer yang didapatkan oleh setiap

particle dalam sebuah populasi.

Populasi terbaik ini adalah global best dari semua particle Gi dari iterasi

pertama sampai dengan iterasi ke-i.Setiap particle ini equivalent dengan kandidat

solusi dalam sebuah problem.Particle akan bergerak sesuai dengan velocity yang

diatur, berdasarkan dengan pengalaman dari particle tersebut dan oleh

companion. Dan sebagai hasilnya, PSO biasanya mendapatkan nearly best

solution dalam evolusi yang lebih sedikit dibandingkan dengan metode yang lain.

Langkah-langkah original dari PSO yang digambarkan oleh Chu et al.

(2006) adalah sebagai berikut:

Page 22: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

28

1. Banyak particle yang akan digunakan untuk menyelesaikan problem

ditentukan. Setiap particle mempunyai posisi, velocity dan solusi

terbaik.

2. Proses dari pengubahan velocity dapat dilihat berdasarkan perhitungan:

. . .

3. Pergerakan particle dapat dilihat berdasarkan perhitungan:

, 0,1, … , 1,

Dimana:

M adalah particle size

(Vmax adalah maximum velocity)

Sedangkan r1 dan r2 adalah random variable contohnya

0 , 1

4. Jika solusi yang didapatkan lebih baik dari Gi, maka Giakan diganti

dengan solusi tersebut untuk menciptakan Gi+1.

Jika tidak lebih baik, maka tidak ada perubahan untuk solusi global

best.

5. Ulangi langkah 1 sampai 4, sampai kondisi berhenti terpenuhi.

Menurut Engelbrecht (2007,p298) ada 2 aspek penting dalam memilih

kondisi berhenti yaitu :

• Kondisi berhenti tidak menyebabkan PSO konvergen premature

dimana solusi tidak optimal yang akan didapat

Page 23: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

29

• Kondisi berhenti harus melindungi dari kondisi oversampling pada

nilainya. Jika kondisi berhenti memerlukan perhitungan yang terus

menerus maka kerumitan dari proses pencarian akan meningkat

Beberapa kondisi berhenti yang dapat dipakai dalam Particle Swarm

Optimization menurut Engelbrecht (2007,p298) adalah:

• Berhenti ketika jumlah iterasi telah mencapai jumlah iterasi

maksimum yang diperbolehkan

• Berhenti ketika solusi yang dapat diterima telah ditemukan

• Berhenti ketika tidak ada perkembangan setelah beberapa iterasi

2.3.7. Harmony Search (HS)

Harmony Search adalahsebuah metaheuristic algorithm yang dikemukakan

oleh Geem et al. (2001), algoritma ini dikonseptualisasikan menggunakan proses

musical untuk mencari perfect state of harmony. Para pemusik mencari harmony

yang tepat yang ditentukan berdasarkan aesthetic standard, sama seperti proses

optimasi yang mencari global solution seperti yang ditentukan berdasarkan

objective function.

Pitch dari setiap instrument music menentukan aesthetic quality dari

masing-masing instrument, sama seperti objective functionvalue ditentukan

melalui suatu set value yang diatur ke dalam decision variable masing-masing.

Algoritma Harmony Search ini diturunkan berdasarkan kinerja proses alami yang

terjadi ketika seorang musisi mencari harmony yang lebih baik, seperti ketika

improvisasi music Jazz.

Page 24: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

30

Dalam improvisasi musik, masing-masing musisi membunyikan sebuah

nada dalam tingkat nada yang mungkin dihasilkan, nada-nada tersebut membuat

sebuah vektor harmoni. Jika semua nada menghasilkan harmoni yang bagus, maka

pengalaman membuat harmoni tersebut akan tersimpan di ingatan para musisi,

sehingga kemungkinan untuk membuat harmoni bagus lainnya akan meningkat.

Hal ini diadaptasi dalam teknik optimalisasi, dengan masing-masing variabel

keputusan memilih nilai awal (initial value) dalam batasan yang mungkin

membentuk sebuah vektor solusi. Jika masing-masing variabel keputusan

membentuk harmoni yang baik, pengalaman tersebut akan disimpan dalam

variabel memori, yang nantinya akan memperbesar kemungkinan untuk

mendapatkan vektor solusi yang lebih baik (Geem et al., 2005).

Ada beberapa strategi yang bisa digunakan untuk mendapatkan

harmonisasi yang baik. Pada pertunjukan musik yang dilakukan oleh para musisi

jazz, biasanya mereka memiliki tiga pilihan untuk melakukan improvisasi:

1. Memainkan nada yang sering dimainkan, yang merupakan

karakteristik dari bagian musik tersebut. Dalam musik, nada ini

dikenal dengan sebutan nada dasar. Pada dasarnya semua musisi

mengerti nada dasar tersebut dan dapat memainkan nada tersebut

dengan sendirinya, dengan kata lain nada-nada dasar ini sudah

tersimpan dalam memori mereka.

2. Memainkan nada yang serupa dengan nada dasar. Biasanya musisi

memperkaya musik dengan menaikkan atau menurunkan nada dasar

sesuai dengan eksplorasi mereka. Hal ini akan menyebabkan

permainan musik serupa dengan variasi nada yang berbeda.

Page 25: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

31

3. Memainkan nada sembarang, yang memberikan musisi kebebasan

untuk berimprovisasi. Dengan cara seperti ini, ada kemungkinan not

yang dihasilkan sedikit atau tidak memiliki hubungan dengan lagu

yang ditampilkan. Hal ini membutuhkan bakat dan imajinasi dari

musisi, yang membuatnya menjelajahi dunia musik dan memberikan

nuansa baru pada musik dengan tema-tema segar dan baru.

Dari tiga pilihan berimprovisasi di atas, memberikan para peneliti strategi

untuk mendapatkan harmonisasi yang baik. Hal ini diadaptasi, sehingga setiap

variabel keputusan dalam mengambil sebuah nilai dalam algoritma harmony

search harus berpedoman pada tiga aturan ini (Geem et al., 2005):

1. Mengambil nilai yang sudah terdapat pada memori harmoni, biasanya

didefinisikan sebagai memory considerations.

2. Mengambil nilai yang berdekatan dari satu nilai pada memori harmoni,

biasanya didefinisikan sebagai pitch adjustments.

3. Mengambil nilai acak dari rentang nilai yang mungkin, biasanya

didefinisikan sebagai randomization.

Tiga aturan ini nantinya akan dibutuhkan dalam menyusun algoritma

harmony search yang diwakilkan oleh beberapa parameter.Secara umum

parameter-parameter ini akan sangat mempengaruhi kinerja dari harmony

searchdalam mendapatkan solusi yang optimal.

Berikut adalah parameter yang digunakan secara umum dalam harmony

search(Geem et al., 2005):

1. HMS (Harmony Memory Size), adalah jumlah dari kumpulan harmoni

memori, bisa disebut sebagai jumlah populasi.

Page 26: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

32

2. HMCR (Harmony Memory Consideration Rate), adalah probabilitas

dari harmoni memori untuk digunakan kembali sebagai hasil dari

vektor solusi. Parameter ini memiliki rentang nilai dari 0 sampai

dengan 0,99. Parameter ini tidak menggunakan nilai 1, untuk

mencegah terjadinya stagnansi nilai (range nilai tidak berubah dan

perbaikan minimal).

3. PAR (Pitch Adjustment Rate), adalah parameter yang mempunyai

peran signifikan dalam menentukan jumlah nilai yang harus diubah,

disesuaikan, atau ditukar dengan nilai yang lain. Parameter ini

memiliki rentang nilai dari nol sampai dengan satu.

4. NI (Number of Improvisations), adalah parameter yang digunakan

sebagai kriteria pemberhenti perulangan, biasanya berupa jumlah

iterasi untuk mendapatkan nilai yang optimal.

Langkah-langkah yang digunakan dalam melakukan algoritma harmony

searchadalah (Geem et al., 2005):

1. Inisialisasi Harmony Search Algorithm (HSA) dan parameter-

parameter permasalahan optimasi.

2. Inisialisasi Harmony Memory (HM).

3. Improvisasi sebuah harmoni baru.

4. Memperbarui Harmony Memory (HM).

5. Melakukan pengecekan kondisi berhenti.

Dalam langkah (1), perlu diperhatikan fungsi objektif yang akan

digunakan untuk menghitung nilai perbaikan dari HM. Fungsi objektif bisa

dispesifikasikan sebagai berikut:

Page 27: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

33

| atau |

Keterangan:

a. , fungsi objektif.

b. , himpunan dari setiap variabel keputusan untuk 1 … .

c. , himpunan dari rentang nilai yang mungkin untuk setiap variabel

keputusan, dengan, 1 , 2 , … , .

d. adalah jumlah variabel keputusan.

e. adalah jumlah rentang nilai yang mungkin untuk setiap variabel

keputusan.

Dalam langkah (2), HM adalah vektor solusi dengan banyak sejumlah

HMS.Pada langkah ini solusi-solusi yang dibentuk merupakan nilai random.

Bentuk HM bila digambarkan dalam Matriks bisa berbentuk seperti:

. . . .

Untuk setiap dengan 1 … , perlu ditentukan nilai fungsi

objektifnya , agar bisa diketahui mana himpunan yang memiliki nilai terbaik

dan nilai terburuk. Dalam prosesnya, himpunan dengan nilai terbaik akan menjadi

solusi yang dipakai, sedangkan himpunan dengan nilai terburuk akan tereliminasi

dan digantikan dengan yang himpunan dengan nilai yang lebih baik selama

perulangan berlangsung.

Dalam langkah (3), HSA akan secara otomatis membuat vektor solusi

yang baru, , , , … , , berdasarkan pada tiga

Page 28: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

34

operator: (a) memory consideration, (b) random consideration, dan (c) pitch

adjustment.

a. Memory Consideration

Pada operator ini, pencarian variabel keputusan akan berdasarkan pada

memori yang tersimpan sebelumnya di posisi yang sama dengan

kemungkinan pemilihan operator ini sebesar parameter HMCR, dengan

kemungkinan 0 1 .

Bila operator ini dilaksanakan, maka untuk mendapatkan variabel

keputusan yang baru akan dipilih dari himpunan

, , , … , yang disimpan dalam HM. Untuk mendapatkan

variabel keputusan selanjutnya maka akan dipilih dari

himpunan , , , … , yang disimpan dalam HM. Hal ini

berlaku juga untuk variabel-variabel keputusan yang lain

, , … .

b. Random Consideration

Operator ini akan terlaksanakan dengan kemungkinan 1 ,

yang merupakan alternatif apabila operator memory consideration tidak

digunakan dalam mencari vektor solusi.

Bila operator ini dilaksanakan, maka untuk mendapatkan variabel

keputusan yang baru adalah nilai yang termasuk dalam . Jadi

operator ini akan mengambil calon vektor solusi dari semua variabel

keputusan yang terdapat pada HM.

c. Pitch Adjustment

Page 29: BAB II TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/TSA-2012-0113 BAB 2.pdfuntuk global optimization yang diambil dari Statistical Mechanics. Metode

35

Operator ini akan terlaksana dengan sebuah prasyarat, terlaksananya

operator memory consideration. Operator ini akan melakukan

improvisasi nilai dari variabel keputusan secara lokal. Operator ini

memiliki kemungkinan terjadi .

Bila operator ini dilaksanakan, dengan varibel keputusan

dengan adalah posisi elemen / nilai pada , maka

, dengan adalah neighborhood index,

… , 2, 1, 0, 1, 2, … . Operator ini akan mengambil calon vektor

solusi dari vektor neighborhood yang mungkin.

Dalam langkah (4), jika hasil vektor harmoni

, , , … , , memiliki nilai fungsi objektif yang lebih

baik dari vektor harmoni dengan nilai fungsi objektif terburuk di HM, maka

vektor harmoni yang baru akan dimasukkan ke dalam HM, sedangkan vektor

harmoni dengan nilai fungsi objektif terburuk di HM akan dike luarkan.

Dalam langkah (5), akan dilakukan pengecekan sampai kondisi berhenti

dari algoritma harmony searchterpenuhi. Biasanya kondisi berhenti dari algoritma

adalah nilai dari parameter NI (jumlah maksimal dari perbaikan harmoni).Bila

kondisi berhenti salah, maka ulangi langkah (3) dan langkah (4).