• Tidak ada hasil yang ditemukan

BAB II TINJAUAN PUSTAKA

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II TINJAUAN PUSTAKA"

Copied!
29
0
0

Teks penuh

(1)

7

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

(2)

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

(3)

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.

(4)

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

(5)

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

(6)

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.

(7)

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 mbinational ete search-kebutuhan ini mulai i algoritma n, 2011) , beberapa g problem

(8)

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:

(9)

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

(10)

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

(11)

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.

(12)

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)

(13)

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.

(14)

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

(15)

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.

(16)

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.

(17)

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

(18)

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

(19)

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

(20)

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.

(21)

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:

(22)

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

(23)

• 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.

(24)

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.

(25)

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.

(26)

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:

(27)

| 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

(28)

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.

(29)

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).

Gambar

Gambar 2.2.  Pemilihan Shortest Path (Engelbercht, 2007)

Referensi

Dokumen terkait

Uji coba sistem KSA dilakukan di seluruh kecamatan di kabupaten Indramayu dan Kabupaten Garut, Provinsi Jawa Barat, dengan jumlah sampel masing-masing sebanyak

Seperti kenyataan di atas, perkongsian budaya antara masyarakat telah membawa kepada perkongsian dengan generasi yang baharu seperti pengusaha kecil- kecilan yang membuat

Pembiayaan penyelenggaraan Diklat Kepemimpinan Tingkat IV Angkatan LXIX ProvinsiJawa Tengah Tahun 2016 dibiayai Biaya APBD InstansiPengirim. Diklat kepemimpinan Tingkat IV

Tujuan Penelitian ini adalah mengetahui tingkat keterlaksanaan Program Pendidikan Sistem Ganda (PSG) pada tahapan 1) masukan (antecedents), 2) proses (transactions), 3)

Setelah menyaksikan video yang dikirim melalui WAG mengenal bangun datar, peserta didik dapat menjelaskan bentuk bidang dan warna sebagai unsur karya dekoratif yang sesuai dengan

Obat golongan ini mempunyai efek utama meningkatkan sekresi insulin oleh sel beta pankreas, dan merupakan pilihan utama untuk pasien dengan berat badan normal

(2) Melakukan analisa terhadap peraturan perundang-undangan yang berlaku dan sumber hukum lain baik secara vertikal maupun secara horizontal, serta hubungan satu dengan lainnya

Pada saat transformator memberikan keluaran sisi positif dari gelombang AC maka dioda dalam keadaan forward bias sehingga sisi positif dari gelombang AC tersebut