240 likes | 414 Views
Algoritma Optimasi. Haris Sriwindono , Drs. , M.Kom ., Ph.D. harisxyz@gmail.com WA : 0818466656. Algoritma.
E N D
AlgoritmaOptimasi HarisSriwindono, Drs., M.Kom., Ph.D. harisxyz@gmail.com WA : 0818466656
Algoritma Algoritmaadalahsetiapprosedurkomputasi yang terdefinisidenganbaik yang mengambilbeberapanilai, atauseperangkatnilai-nilai, sebagaimasukandanmenghasilkanbeberapanilai, atauseperangkatnilai-nilai, sebagai output. Kita jugadapatmelihatsebuahalgoritmasebagaialat bantu untukmemecahkanmasalah (Cormen, 2001). Algoritmaadalahurutanlangkah-langkahlogispenyelesaianmasalah yang disusunsecarasistematis. Langkah-langkahlogisberartikebenarannyaharusdapatditentukan, benaratausalah (Munir, 1999), algoritmaadalahprosedursistematisuntukmemecahkanmasalahmatematisdalamlangkah-langkahterbatas (KBBI)
Berikutadalahbagaimanakitamendefinisikansecararesmimasalahpengurutan : Input : sebuahurutanangka n (a1,a2,..., an) Output : sebuahpermutasi (a'1,a'2 ,..., a'n) • padaurutan input :a'1≤ a'2≤ · · · ≤ a'n. Sebagaicontoh, diberikanurutan input 3, 5, 9, 7, 4. Sebuahalgoritmapengurutankembalimenghasilkan output urutan 3, 4, 5, 7, 9. Di dalamIlmuKomputer, pertanyaan yang seringditanyakanbukansajabagaimanacaramenyelesaikansuatupersoalan, melainkanjugabagaimanamenyelesaikanpersoalandenganbaik (efisien). Sebagaicontohadalahmenyelesaikanpersoalanpengurutan/sorting. Ada berbagaimacamalgoritma yang digunakanuntuk proses pengurutan, namun yang menjadipersoalanbukanlahbagaimanamenemukancarauntukmengurutkan, tetapimencaricara yang efisiendalammengurutkansuatuderet (sequence).
Padadasarnyasebuahalgoritmadapatdibangundaritigabuahstrukturdasar, yaitu: Runtunan(Sequence) SebuahSequence terdiridarisatuataulebihinstruksi. Tiapinstruksidikerjakansecaraberurutansesuaidenganurutanpenulisannya, yaknisebuahinstruksidilaksanakansetelahinstruksisebelumnyaselesaidilaksanakan. Pemilihan (selection)Strukturselection terletakpadakemampuannya yang memungkinkanpemrosesmengikutijaluraksi yang berbedaberdasarkankondisi yang ada. Tanpastrukturselection, kitatidakmungkinmenulisalgoritmauntukpermasalahanpraktis yang demikiankompleks. Pengulangan (repetition) Strukturrepetition memungkinkankomputermelakukanpengulanganpadasebuahpekerjaantanpamengenallelah. Strukturinibiasajugadisebutloop, danbagianalgoritma yang diulangdisebutloop body
Kriteriakebaikansuatualgoritma • Correctness (kebenaran) • Amount of work done • Amount of space used • Simplicity/ clarity (Kesederhanaan) • Optimality (optimalitas)
OptimalitasAlgoritma Kecepatan (Waktu) • Dalamsegikecepatan, faktor-faktor yang mempengaruhinyaadalahbanyaklangkah, tipe data dan operator-operator. Space memori (AlokasiMemori) • Space (alokasi) memoridipengaruhiolehstruktur data dinamis, procedure / function call danrekursif.
Optimal AlgoritmaOptimasi (Optimization Algorithms) • didefinisikansebagaialgoritmauntukmenemukannilai x sedemikiansehinggamenghasilkan f(x) yang bernilaisekecilatausebesarmungkinuntuksuatufungsi f yang diberikan, yang mungkindisertaidenganbeberapabatasanpada x. Di manax bisaberupaskalaratauvektordarinilai-nilaikontinumaupundiskrit. Optimal adalahterbaik, paling menguntungkan (KamusBesarBahasa Indonesia BalaiPustaka, 2007). Algoritma yang optimal dapatdiartikanurutanlangkah-langkahlogispenyelesaianmasalah yang disusunsecarasistematisdalamlangkah-langkahterbatas, yang paling baikdanmenguntungkan, yang menggambarkanprosedurkomputasitertentuuntukmencapaihubunganinput / output.
KlasifikasiAlgoritmaOptimasi BerdasarkanOperasinya Algoritmadeterministik(deterministic) dan Algoritmaprobabilistik(probabilistic).
Algoritmadeterministik Padasetiaplangkaheksekusidalamalgoritmadeterministik, terdapatmaksimumsatujalanuntukdiproses. Jikatidakadajalan, berartialgoritmasudahselesai. Algoritmadeterministikseringdigunakanuntukmasalah yang memilikirelasi yang jelasantarakarakteristikcalonsolusidenganutilitasnya. Dengandemikian, ruangpencariandapatdieksplorasimenggunakan, misalnya, metodebranch and bound ataudivide and conquer scheme. Jikarelasiantarasuatukandidatsolusidan"fitness"-nyatidakdapatdipahamiataudiamati (kandidat-kandidatsolusi yang bertetanggamungkinsangatberbedadalamhalutilitasataudimensiruangpencarian yang sangatbesar), makamasalahiniakanlebihsulitdiselesaikansecaradeterministik. Bayangkanjikakitaharusmencarisuatusolusidari 101000000kandidatsolusisecaradeterministik. Tentumembutuhkanusahadanwaktu yang banyak.
Algoritmaprobabilistik Untukpermasalahandenganruangpencarian yang sangatbesar, biasanya para praktisilebihseringmenggunakanalgoritmaprobabilistik. Hampirsemuaalgoritmaprobabilistikmenggunakankonsepdasardarimetode Monte Carlo (MC). Metode MC berdasarkanpada proses pengambilansampelsecaraacak yang berulang-ulang(repeated random sampling) untukmenghasilkansolusi.
Heuristik Meta-Heuristik • adalahsuatuteknikpendekatan yang dirancanguntukmemecahkanmasalahsecaraumumdgnmengutamakanwaktukomputasitetapitidakdijaminkebaikannya (goodness) darisolusinya, biasanyamenghasilkansolusiygbagusdlmarti optimal ataumendekati optimal dgnjumlahiterasitertentudgndilengkapiprosedurutkkeluardrjebakanlocal optimum. Heuristikatauaproksimasiadalahsuatucara yang dirancanguntukmemecahkanmasalahdenganlangkah-langkah yang disusunsecarasistematistanpadidasariteori-teorioptimasiataupembuktiananalitik, biasanyamenghasilkansolusi yang bagusdalamarti optimal ataumendekati optimal.
perbedaanantaralocal optimum danglobal optimum. Local optimum adalahnilai optimal yang dapatdicapaiolehsebuahalgoritmaberadadalamrentangnilaitertentu yang telahdibatasi. Contohalgoritmanyaadalah Neural NetworkGlobal optimum adalahnilai optima yang didapatolehsebuahalgoritmamerupakannilai optimal darikeseluruhanrentang input data. Contohalgoritmanyaadalah SVM (Support Vector Machine).Jadikalau global optimum mencarinilai optimal darikeseluruhan input sedangkan local optimum hanyamencarinilai optimum dalamrentangwaktutertentu.
AlgoritmaOptimasiBerdasarkanAkurasidanKecepatan Optimasi online • Sesuaidengannamanya, optimasiiniditujukanuntukpermasalahan yang membutuhkansolusidalamwaktucepatdanbiasanyapermasalahantersebutterjadisecaraberulang-ulang. Misalnya, penentuanlokasi robot (robot localization), penyeimbanganbeban(load balancing), komposisilayananuntuk proses bisnisdariIT system yang sedangberjalan di suatuperusahaan, atauperbaruanjadwalpekerjaanmesin(machine job schedule) di suatupabriksetelahdatangnyasuatupermintaanbaru. Optimasi offline • Optimasijenisiniditujukanuntukpermasalahan yang membutuhkansolusitidakdalamwaktucepatdanbiasanyamasalahiniterjadidalamperiodewaktu yang lama. Misalnya, optimasidalam proses perancangan(design optimization), data mining, pembuatanjadwalkuliahsetiap semester, dansebagainya.
Berdasarkanproblemnya Problem optimasidiskrit Di manatidakadainformasimengenaialgoritma polynomial yang eksakdenganwaktukomputasiproposionalterhadapNndimana N adalahjumlah parameter yang dicarisedangkan n adalahkonstanta integer. Persoalaniniseringdisebutdengan Non-Deterministic Polynomial-time (NP). Problem Optimasi continue Di manasuatualgoritmatidakmengenalidimanaposisi global optimum dalamjumlahkomputasi yang sudahdilakukan.
Pengertianoptimasi • Keberhasilansuatuteknikoptimasimemerlukantigasyaratyaitukemampuanmembuat model matematika, pengetahuanteknikoptimasidanpengetahuanpemrogramankomputer Suatukumpulan formula matematisdanmetoda numeric untukmenemukandanmengidentifikasikankandidatterbaikdarisekumpulanalternatiftanpaharussecaraeksplisitmenghitungdanmengevaluasisemua alternative yang mungkin.
Contoh2 masalahoptimasi • TSP • routing • MST • Placement • PCB design • HRM • Scheduling • Crew Scheduling • Job Shop