APLIKASI PROGRAM DINAMIS DALAM OPTIMASI PRODUKSI PERMEN Petra Novadi Iformatika Istitut Tekologi Badug Labtek V Jl. Gaesha No., Badug email : if559@studets.if.itb.ac.id, me@va-odi.et ABSTRAK Permasalaha optimasi merupaka bagia dari permasalaha kehidupa mausia sehari-hari. Dalam usaha utuk memeuhi kebutuhaya, mausia membutuhka optimasi dalam pekeraaya. Optimasi tersebut adalah memiimumka biaya pegeraa serta memaksimumka pedapata pegeraa. Aka tetapi dalam pegeraa tersebut, mausia selalu meghadapi batasa-batasa dalam usaha megoptimasi. Utuk memproduksi suatu barag, bayak sekali kedala yag dihadapi dalam memaksimumka keutuga peuala barag tersebut dega sumber daya da modal yag terbatas. Permasalaha ii dapat dikategorika ke ke dalam kelompok iteger kapsack problem (/ kapsack problem sebuah permasalaha kombiatorial yag bertuua utuk memaksimumka keutuga yag diperoleh pada setiap obek dega sumber daya yag terbatas yag meopag obek tersebut. Aka tetapi pada keyataaya bayakya eis sumber daya yag dibutuhka utuk memaksimumka hasil tidak haya terbatas pada satu eis saa, melaika bayak eis. Kapsack eis ii kemudia disebut dega Iteger Programmig Problem atau Multicostrait Kapsack (MKP) Dalam searah ilmu komputer, bayak sekali cara yag dapat ditempuh utuk mecari solusi dari kapsack : brach ad boud, dyamic programmig, geetic algorithm, at coloy, heuristic, da sebagaiya. Aka tetapi yag palig terkeal da bayak dipakai adalah program diamis. Makalah ii membahas pedekata program diamis utuk mecari solusi pecaria keutuga peuala maksimum dalam produksi berbagai eis perme dega baha-baha dasar perme sebagai batasaya (costrait) Kata kuci : Kapsack, Multicostraied kapsack, Iteger programmig kapsack, Dyamic programmig. PENDAHULUAN Permasalaha optimasi merupaka bagia dari permasalaha kehidupa mausia sehari-hari. Dalam usaha utuk memeuhi kebutuhaya, mausia membutuhka optimasi dalam pekeraaya. Optimasi tersebut adalah memiimumka biaya pegeraa serta memaksimumka pedapata pegeraa. Aka tetapi dalam pegeraa tersebut, mausia selalu meghadapi batasa-batasa dalam usaha megoptimasi. Salah satu cotoh permasalaha yag memberi batasa pada mausia utuk megoptimasi adalah kapsack. Dalam permasalaha asliya kapsack digambarka sebagai usaha seorag pecuri yag igi megambil sebayak-bayakya barag yag ia curi sehigga muat dalam karug (kapsack) yag tidak mampu meampug berat seluruh barag. Oleh karea itu si pecuri igi megambil barag sehigga dapat muat dalam karug da mecapai keutuga terbayak ketika barag tersebut diual. Permasalaha ii dikategorika sebagai permasalaha kombiatorial yaki bagaimaa meetuka kombiasi dari barag-barag yag igi dimuat sehigga dapat mecapai keutuga maksimum. Diberika buah barag masig-masig sampai. Setiap mempuyai harga da bobot. Kita mempuyai karug dega kapasitas Maksimumka Utuk p C,, = () { } MAKALAH IF5 STRATEGI ALGORITMIK TAHUN 7
Aka tetapi dalam bayak kasus yag ada pada keyataa, kapsack sesugguhya tidak haya memiliki batasa dalam berat saa melaika bayak sekali batasa. Persoala ii diamaka multi costraied kapsack.atau uga disebut Iteger programmig problem (pemrograma bilaga bulat) da liear programmig problem. Maksimumka Utuk C, i =,..., M i i {,}, = () Seluruh permasalaha kapsack digologka ke dalam kelompok permasalaha NP-hard problem yaki sebuah kategori permasalaha yag diyakii tidak mempuyai peyelesaia dega fugsi aktu asimptotik yag poliomial.. DESKRIPSI PERMASALAHAN Permasalaha ii diispirasika oleh seorag reka yag igi membuka keraia rumah tagga peghasil kue. Da peulis uga memikirka sebuah ide yag serupa yaki membagu sebuah pabrik perme. Aggap seorag pegusaha membuka sebuah pabrik peghasil perme. Pabrik ii dituuka utuk membuat bayak perme yag terdiri dari berbagai eis perme yag disukai oleh aakaak. Utuk meghasilka sebuah eis perme diperluka beberapa baha dasar. Adapu baha dasar dari perme tersebut atara lai cokelat, krim susu, da uga gula. Utuk setiap eis perme, diperluka takara cokelat, krim susu, da gula yag berbeda-beda. Hal ii dibuat agar pegkosumsi perme ii tidak merasa bosa dega satu eis perme saa. Sag pemilik pabrik ii meual setiap eis permeya dalam betuk paket yag aka siap dibaa di dalam kotaier utuk diual ke distributor dega harga yag telah ditetapka bersama utuk setiap paket eis permeya. Dega setiap paket yag dibuat dari kadar cokelat, krim susu, da gula yag berbeda-beda. Dalam peulisa sederhaa, diberika beberapa umlah costrait C utuk bayakya cokelat yag disediaka, C utuk krim susu, da C utuk gula serta diberika bayakya pesaa paket perme,,... k di utuk setiap, =,..,. PENYELESAIAN Persoala ii sebearya idetik dega permasalaha pemrograma liier yag serig meadi dasar pertimbaga dalam mecari optimum dari sebuah permasalaha yag berhubuga dega keterbatasa. Diberika persamaa-persamaa produksi da dimita utuk mecari solusi optimum dari persamaa-persamaa tersebut selama masih dalam selag batasa. Sebuah persoala pemrograma bilaga bulat dapat diyataka dega Maksimumka Utuk C, i =,..., m i i {,}, = () Dimaa p, i, da c i adalah bilaga bulat tidak bertada (cacah). Meurut David Prisiger, ika pada () diguaka costrait yag yag lebih padat maka solusi dapat dicari dega cara yag lebih cepat. Costrait tersebut dapat dipadatka dega meyelesaika sedereta permasalaha Subset-sum : Utuk setiap costrait yag ada i =,..., m, Maksimumka Utuk z i = i i C i MAKALAH IF5 STRATEGI ALGORITMIK TAHUN 7
, = (4) Da ika zi < ci dalam sebuah solusi optimal, kita dapat memadatka costrait dalam () meadi i zi, i =,..., m (5) Jika dikeraka megguaka cara brute force, persoala ii meaibka pegeraa sebayak! utuk mecari seluruh kombiasi yag ada sekaligus memeriksa apakah kombiasi tersebut memeuhi syarat sekaligus meghitug berapa keutuga yag diperoleh tiap kombiasi. Hal ii mugki aka sagat melelahka. Permasalaha produksi perme ii dapat diselesaika lebih cepat dega megguaka program diamis mau, yaki dega megisika umlah baha baku yag dapat dipakai kemudia membadigkaya dega paket perme yag telah direcaaka utuk dibuat sebelumya. Pada persoala ii. Tahap (k) adalah proses memasukka paket perme yag aka dibuat ke dalam recaa. Dalam istasiasi persoala ada paket perme, sehigga ada tahap.. Aka ada k buah status y sampai y k yag meyataka kapasitas tersusa dalam setiap costrait. Dalam hal ii ada buah status. Pada tahap ke kita masukka obek ke- ke dalam karug utuk setiap satua kapasitas tiap costrait sampai salah satu dari costrait tersebut peuh. Karea bayakya baha baku yag dibutuhka tiap paket diasumsika dipakai secara diskrit maka pedekata ii tidak begitu sulit. Ketika memasukka tiap obek pada tahap k kita harus memastika baha tidak ada pegisia yag meyebabka salah satu dari baha baku perme dipakai berlebiha. Misalka pada tahap tersebut, sisa semua baha baku perme adalah y i - ik. Utuk megguaka baha baku yag tersisa, kita meerapka prisip optimalitas dega megacu ilai optimum dari tahap sebelumya utuk baha baku sisa y i - ik (yaitu f ik- (y i - ik. Lalu badigka tiap keutuga tiap perme pada tahap tersebut ditambah ilai keutuga pegisia obek sebelumya. Jika lebih kecil, maka perme tersebut tidak adi dibuat. Relasi rekures tersebut adalah f ( y, y, y) = i =,,,..., C i y ) =, y < y < y f k ( < f ( y p k k + f k ( y ) = ma( f k k ( y k k (6) Utuk medemostrasikaya peulis megambil suatu istasiasi permasalaha. Misalka dalam suatu pagi pemilik pabrik perme membuka pabrikya da medapati stok cokelat, krim susu, da gula sebayak 5 to, 6 to, da 5 to. Si pemilik hari itu berecaa igi membuat dua eis paket permeaki eis perme A yag dibuat dari to cokelat, to krim susu, da to gula; eis perme B yag dibuat dari to cokelat, to krim susu, da to gula; serta eis perme C yag dibuat dari to cokelat, to krim susu da to gula. Paket perme A diual dega harga 6 uta rupiah, paket B dega harga 4 uta rupiah da paket C dega harga uta rupiah. Sag pemilik pabrik igi megetahui paket perme yag maa yag harus diproduksiya hari itu utuk medapatka keutuga semaksimal mugki. Tabel Daftar Biaya da Keutuga Barag Cokelat Krim susu Gula Harga Perme A to to to 6.. Perme B to to to 4.. Perme C to to to.. Utuk lebih meyederhaaka model soal, dipakai tabel berikut ii Tabel Model Permasalaha Tahap I f ( y p + f ( y Barag p 6 4 ) = ma( f ( y Utuk meghemat tempat da memudahka perhituga, tiap tabel pegisia dibedaka per costrait yag ada. Tabel Tabulasi Tahap I costrait C Y f () 6 + f (y -) f(y ) (,, ) - (,, ) - (,, ) - (,, ) 6 6 (,, ) (7) MAKALAH IF5 STRATEGI ALGORITMIK TAHUN 7
4 6 6 (,, ) 5 6 6 (,, ) Tabel 4 Tabulasi Tahap I costrait C y f () 6 + f (y -) f(y ) (,, ) - (,, ) - (,, ) - (,, ) 6 6 (,, ) 4 6 6 (,, ) 5 6 6 (,, ) 6 6 6 (,, ) Tabel 5 Tabulasi Tahap I costrait C 4 + (- ) = - (,, ) 4 + = 4 (,, ) 6 4 + = 6 (,, ) 4 6 4 + 6= (,, ) 5 6 4 + 6 = (,, ) 6 6 4 + 6 = (,, ) Tabel 8 Tabulasi Tahap II costrait C y f () 4 + f (y -) f (y ) (,, ) 4 + (- ) = - (,, ) 4 + (- ) = - (,, ) 4 + = 4 4 (,, ) 6 4 + = 4 6 (,, ) 4 6 4 + 6 = (,, ) 5 6 4 + 6 = (,, ) Tahap II y f () 6 + f (y -) f(y ) (,, ) - (,, ) - (,, ) - (,, ) 6 6 (,, ) 4 6 6 (,, ) 5 6 6 (,, ) f ( y ) = ma( f ( y p + f ( y Tabel 6 Tabulasi Tahap II costrait C (8) Tahap III f ( y p + f ( y ) = ma( f ( y Tabel 9 Tabulasi Tahap III costrait C y f () + f (y -) F (y ) (,, ) + (- ) = - (,, ) + (- ) = - (,, ) 4 + = 4 (,, ) 6 + 4 = 6 6 (,, ) 4 6 + 6 = 8 8 (,, ) 5 + 6 = 8 (,, ) (9) y f () 4 + f (y -) f (y ) (,, ) 4 + (- ) = - (,, ) 4 + (- ) = - (,, ) 4 + = 4 4 (,, ) 6 4 + = 4 6 (,, ) 4 6 4 + = 4 6 (,, ) 5 6 4 + 6 = (,, ) Tabel 7 Tabulasi Tahap II costrait C y f () 4 + f (y -) f (y ) (,, ) 4 + (- ) = - (,, ) Tabel Tabulasi Tahap III costrait C y f () + f (y -) f (y ) (,, ) + (- ) = - (,, ) + (- ) = - (,, ) + = (,, ) 6 + = (,, ) 4 6 + = (,, ) 5 + 6 = 8 (,, ) 6 + = (,, ) MAKALAH IF5 STRATEGI ALGORITMIK TAHUN 7 4
Tabel Tabulasi Tahap III costrait C y f () + f (y -) f (y ) (,, ) + (- ) = - (,, ) + (- ) = - (,, ) 4 + = 4 (,, ) 6 + = 6 (,, ) 4 + 6 = 8 (,, ) 5 + = (,. ) Dari hasil di atas didapat hasil yag palig maksimum adalah. Hasil perhituga tersebut bukalah merupaka hasil yag palig maksimum yag optimal karea hasil tersebut tidak memeuhi salah satu costrait uga akibat peghituga yag dipisahka ke dalam tabel yag terpisah. Oleh karea itu yag meadi solusi optimum dari permasalaha tersebut adalah ilai maksimum yag memeuhi seluruh costrait yag ada. Dalam hal ii keutuga optimum yag dicapai adalah uta rupiah yag didapat dari kombiasi paket A da paket B. Adapu maksimum pegeraa yag dilakuka adalah sebayak Ο (. m. r) utuk adalah bayakya paket perme yag igi dibuat, m adalah bayakya eis baha baku perme yag disediaka, serta r adalah umlah maksimum yag baha baku yag disediaka. Meski terlihat seperti poliomial, tetapi sebearya persoala ii berkembag ekspoesial seirig dega bayakya, m, da r yag diberika. Kompleksitas ii serig diamaka pseudo-polyomial. 4. KESIMPULAN membadigka persoala pada suatu tahap pegeraa dega persoala sebelumya. Jika dibadigka dega pegguaa brute force, program diamis mampu meyelesaika persoala dega lebih cepat secara berutu. Algoritma ii layak dipakai bagi seseorag yag igi membuka pabrik perme. Kompleksitas peyelesaia algoritma ii adalah Ο(. m. r) yaki utuk bayakya paket perme yag igi dibuat, m bayakya eis baha baku perme, da r adalah umlah maksimum baha baku perme. Meski terlihat sebagai poliomial, sebearya solusi ii masih terpaut dalam NP-hard karea utuk umlah yag maki besar, pegeraa yag dilakuka oleh algoritma ii membesar pula secara ekspoesial. REFERENSI [] Muir M.T. Rialdi. 5, Diktat Kuliah IF5 Strategi Algoritmik. Badug : Istitut Tekologi Badug [] Wikipedia, Kapsack Problem, terakhir akses Mei 7. http://e.ikipedia.org/iki/kapsack_problem [] Wikipedia, Cady, terakhir akses Mei 7. http://e.ikipedia.org/iki/cady [4] Kapsack Repository, terakhir akses Mei 7 http://tracer.lsi.upc.es/mkp/ [5] Eko Wiboo, Cook, 6, Bia Nusatara Programmig Cotest [6] David Pisiger, Algorithms for Kapsack Problem, Februari 5, Ph.D. Thesis. Dept. of Computer Sciece, Uiversity of Copehage Permasalaha optimasi produksi perme dapat digologka ke dalam permasalaha iteger kapsack. Aka tetapi karea bayakya costrait yag harus dipeuhi dalam memproduksi perme maka permasalaha ii dapat digologka ke dalam kategori kapsack yag lebih geeral yaki multicostrait kapsack atau liear programmig kapsack. Permasalaha ii termasuk ke dalam gologa permasalah kapsack laiya yaki NPhard problem (No-determiistic polyomial problem). Maksudya adalah permasalaha ii tidak dapat ditetuka apakah dapat dikeraka dalam kompleksitas aktu asimtotik yag poliomial. Utuk meyelesaika permasalaha optimasi produksi perme, program diamis adalah salah satu algoritma yag magkus. Algoritma ii meyusu permasalaha meadi permasalaha yag lebih kecil da kemudia MAKALAH IF5 STRATEGI ALGORITMIK TAHUN 7 5