ALGORITMA PARTICLE SWARM OPTIMIZATION DAN TERAPANNYA DALAM MENYELESAIKAN MASALAH PEMOTONGAN ROL KERTAS MAKALAH

Ukuran: px
Mulai penontonan dengan halaman:

Download "ALGORITMA PARTICLE SWARM OPTIMIZATION DAN TERAPANNYA DALAM MENYELESAIKAN MASALAH PEMOTONGAN ROL KERTAS MAKALAH"

Transkripsi

1 ALGORITMA PARTICLE SWARM OPTIMIZATION DAN TERAPANNYA DALAM MENYELESAIKAN MASALAH PEMOTONGAN ROL KERTAS MAKALAH Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains Program Studi Matematika Disusun oleh: Helvetika Amperiana NIM: PROGRAM STUDI MATEMATIKA JURUSAN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2017

2 ALGORITMA PARTICLE SWARM OPTIMIZATION DAN TERAPANNYA DALAM MENYELESAIKAN MASALAH PEMOTONGAN ROL KERTAS MAKALAH Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains Program Studi Matematika Disusun oleh: Helvetika Amperiana NIM: PROGRAM STUDI MATEMATIKA JURUSAN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2017 i

3 PARTICLE SWARM OPTIMIZATION ALGORITHM AND ITS APPLICATION IN SOLVING CUTTING PAPER ROLL PROBLEM A PAPER Presented as a Partial Fulfillment of the Requirements to Obtain the Degree of Sarjana Sains Mathematics Study Program Written by: Helvetika Amperiana Student ID: MATHEMATICS STUDY PROGRAM DEPARTMENT OF MATHEMATICS FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2017 ii

4 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI MAKALAH ALGORITMA PARTICLE S WARM O PTIMIZATTON DAN TERAPANNYA DALAM MENYELESAIKAN MASALAH PEMOTONGAN ROL KERTAS Sisusun oleh: Narna. F{elv*tika Ampcriana NIM: **9 Telah dis*f*jui *l*h: Ilasen pembimbing makal ah Tanggzil: 31 Ja:ruari 2017 iii

5 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

6 HALAMAN PERSEMBAHAN Maka.. Ingat selalu bahwa berkat dan karunia berbanding lurus dengan tanggung jawab dan itu semua hanya dapat disempurnakan oleh Kasih. Tugas akhir ini saya persembahkan untuk orang tua saya tercinta, Ir. Yugianto dan Ho ing Buddy Serta adik saya terkasih, Febriano Ampera Putra v

7

8 ABSTRAK Algoritma Particle Swarm Optimization (PSO) merupakan salah satu algoritma optimasi dengan teknik pekatan heuristik. Pekatan haeuristik yaitu pekatan komputasi untuk mencari suatu penyelesaian optimal atau mekati optimal dari suatu masalah optimasi dengan cara mencoba secara iteratif untuk memperbaiki kandidat solusi dengan memperhatikan batasan kualitas solusi yang diinginkan. Algoritma PSO terinspirasi dari perilaku sekawanan burung atau sekumpulan ikan yang dapat menjelajah ruang solusi secara efektif sehingga mempunyai keefektifan yang baik dalam menyelesaikan masalah. Makalah ini mengimplementasikan algoritma PSO untuk menyelesaikan masalah pemotongan persediaan kertas, yaitu pada rol kertas jumbo yang akan dipotong untuk mapatkan rol kertas kecil. Lebar rol kertas kecil ditentukan oleh permintaan pelanggan dan jumlah rol yang dipesan juga berbeda-beda. Tujuannya adalah mencari dan menyusun pola pemotongan dari sebuah rol jumbo menjadi rol kecil sedemikian hingga diperoleh hasil yang optimum. Berdasarkan hasil penelitian ini, diperoleh solusi optimal yaitu jumlah rol jumbo dan sisa yang minimum untuk beberapa kasus pesanan yang masuk. Selanjutnya dibuat suatu program tampilan dengan MATLAB berdasarkan algoritma PSO. Dibandingkan dengan perhitungan software Quantitative Method (QM), yaitu software yang populer digunakan untuk memproses data kuantitatif, hasilnya cukup mekati. Kata kunci: Algoritma Particle Swarm Optimization (PSO), masalah pemotongan persediaan, program linear vii

9 ABSTRACT Particle Swarm Optimization (PSO) algorithm is an optimization algorithm classified as a heuristic approach technique. It seeks an optimal solution or almost optimal in iterative manner. The candidate for solutions are improved iteratively with regards to the quality of the desired solution. PSO algorithm is inspired by the behavior of a flock of birds or school of fish that can explore the solution space effectively so have a good effectiveness in solving the problems. This paper implements the PSO algorithm to solve the problem of cutting paper supplies. Jumbo paper rolls are cut in to smaller paper rolls which widths are determined by customer demand. The number of rolls are also varied. The goal is to find and develop cutting pattern of jumbo rolls into small rolls so that optimum results are obtained. Based on PSO algorithms written in MATLAB, the optimal solution is obtained which minimizes the use of the number of jumbo rolls for some cases of incoming orders. Compared to the results produced by optimization software QM (Quantitative Methods), the result is quite accurate. Paper industry produces jumbo paper rolls by using a paper machine. The Keywords: Particle Swarm Optimization (PSO) algorithm, cutting stock problem, paper roll, linear programming. viii

10 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

11 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

12 DAFTAR ISI HALAMAN PERSEMBAHAN... v PERNYATAAN KEASLIAN KARYA...vi ABSTRAK... vii ABSTRACT... viii LEMBAR PERNYATAAN PERSETUJUAN... vii KATA PENGANTAR... x DAFTAR ISI... xi BAB I PENDAHULUAN... 1 A. Latar Belakang Masalah... 1 B. Rumusan Masalah... 6 C. Pembatasan Masalah... 6 D. Tujuan Penulisan... 7 E. Manfaat Penulisan... 7 F. Metode Penulisan... 7 G. Sistematika Penulisan... 7 BAB II LANDASAN TEORI A. Program Linear B. Program Linear Bilangan Bulat C. Masalah Knapsack D. Algoritma Particle Swarm Optimization (PSO) BAB III MASALAH PEMOTONGAN PERSEDIAAN A. Masalah Pemotongan Persediaan (Cutting Stock Problem) B. Algoritma PSO Sebagai Pekatan untuk Pencarian Solusi Optimal CSP 60 BAB IV PENERAPAN ALGORITMA PARTICLE SWARM OPTIMIZATION UNTUK MASALAH PEMOTONGAN ROL KERTAS BAB V PENUTUP A. Kesimpulan B. Saran DAFTAR PUSTAKA xi

13 LAMPIRAN xii

14 BAB I PENDAHULUAN A. Latar Belakang Masalah Metode heuristik adalah suatu teknik aproksimasi atau pekatan yang didesain untuk memecahkan masalah optimasi dengan cara mencoba secara iteratif sebagai upaya memperbaiki kandidat solusi dengan memperhatikan batasan kualitas solusi yang diinginkan dengan mengutamakan waktu komputasi dan biasanya menghasilkan solusi yang cukup baik, dalam arti optimal atau mekati optimal. Metode ini dapat mencari solusi dalam ruang pencarian (search space) yang besar dengan cara memadukan interaksi antara prosedur pencarian lokal dan melakukan pencarian di ruang solusi untuk menemukan solusi global. Selain itu, ada prosedur yang memanfaatkan satu atau lebih titik-titik tetangga (neighborhood structures) sebagai acuan menuju solusi lain. Karena metode ini dapat menghasilkan solusi yang cukup baik dalam memecahkan permasalahan kombinatorial dengan skala yang cukup besar dan waktu komputasi yang relatif cepat, maka metode ini muncul sebagai alternatif yang dapat beradaptasi dengan baik untuk kasus-kasus sulit dalam konteks industri dan telah mencatatkan sejarah sukses. Langkah-langkah dari metode ini menggunakan algoritma optimasi yang diadaptasi dari Swarm Intelligence. Algoritma optimasi yang termasuk ke dalam kelas Swarm Intelligence (SI) diantaranya adalah: Particle Swarm Optimization (PSO), Ant Colony Optimization (ACO), Artificial Bee Colony Algorithm (ABC), 1

15 2 Cat Swarm Optimization (CSO), dan lain-lain. Akan tetapi, yang akan dibahas disini adalah Algoritma Particle Swarm Optimization (PSO) sebagaimana diterapkan dalam penelitian ini dengan tujuan untuk mencapai solusi yang optimal bagi masalah pemotongan kertas. Particle Swarm Optimization (PSO) diperkenalkan pertama kali oleh James Kennedy (seorang psikolog sosial) dan Russell Eberhart (seorang insinyur elektro) pada tahun 1995, PSO berasal dari simulasi perilaku kawanan burung. Meskipun sejumlah ilmuwan telah menciptakan simulasi komputer tentang berbagai penafsiran dari gerakan organisme pada kawanan burung atau gerombolan ikan, Kennedy dan Eberhart hanya tertarik pada model yang dikembangkan oleh Heppner (ahli zoologi). Dalam model Heppner ini, burung akan mulai dengan beterbangan di sekitar tanpa tujuan tertentu dan membentuk kawanan secara spontan sampai salah satu burung terbang di atas wilayah yang akan dijadikan tempat bersarang. Bagi Eberhart dan Kennedy, menemukan sebuah tempat bersarang analog dengan menemukan solusi yang baik pada bidang penyelesaian yang memungkinkan. Mereka juga merevisi metodologi Heppner sehingga partikel (individu) akan terbang di atas ruang solusi dan mencoba untuk menemukan solusi terbaik menurut penemuan mereka siri dan pengalaman masa lalu dari tetangga mereka. Kita bisa mengutip beberapa karya yang berhasil menggunakan metode ini seperti masalah pemotongan berdasarkan pola oleh Ghassen Ben Lagha dan Xianjun Shen dkk. Dalam makalah ini, saya memberikan rumusan matematika untuk masalah pemotongan persediaan yang berperan dalam mengambil pertimbangan pada saat

16 3 hak melakukan proses pemotongan kertas dalam rangka untuk memenuhi semua pesanan dari konsumen. Berikut diagram alir dari pencarian solusi masalah pemotongan rol kertas dengan algoritma PSO. 1. Mengurutkan lebar roll kecil dari terbesar sampai terkecil. (data) 2. Menentukan pola pemotongan kertas. (kala) 3. Mengoperasikan algoritma PSO sesuai dengan data dan kala agar nilai optimal dari fungsi objektif tercapai. Gambar 1.1: Diagram alir pencarian solusi masalah pemotongan rol kertas dengan algoritma PSO Pada makalah ini masalah pemotongan rol kertas dibatasi hanya pada pemotongan dari rol ke rol yang berarti hanya untuk pemotongan dari rol jumbo menjadi rol-rol kecil dan dengan pola pemotongan satu dimensi. Selebihnya makalah ini mengandung bagian-bagian sebagai berikut: Bagian pertama menyatakan formulasi matematis dan menjelaskan bagaimana mengatasi masalahnya. Bagian kedua yaitu pekatan dengan algoritma PSO dan fiturfiturnya. Bagian ketiga akan melaporkan penyelidikan eksperimental. Bagian keempat menyajikan penerapan algoritma PSO yang dapat digunakan secara

17 4 langsung untuk menyelesaikan masalah pemotongan kertas satu dimensi (dari rol ke rol) menggunakan GUI yang dibuat dengan menggunakan MATLAB. Dan bagian terakhir berisi kesimpulan dan saran. Seperti yang sudah disinggung sebelumnya, akan dibahas algoritma PSO sebagai salah satu metode heuristik yang dapat memecahkan permasalahan kombinatorial dengan skala yang cukup besar. Salah satu masalah kombinatorial yang dihadapi sejak masa revolusi industri yang berjaya pada abad terakhir, adalah masalah pemotongan persediaan atau Cutting Stock Problem (CSP) maupun masalah pengurangan sisa atau Trim Loss Problem (TLP). Masalah pemotongan persediaan atau Cutting Stock Problem (CSP) biasanya berkaitan dengan meminimumkan biaya produksi untuk mencapai pemakaian bahan baku yang optimal. Salah satu cara yang ditempuh untuk dapat meminimumkan biaya produksi adalah dengan memproduksi jumlah rol yang sesuai dengan pesanan. Sedangkan untuk masalah pengurangan sisa atau Trim Loss Problem (TLP) biasanya terjadi karena pola pemotongan yang digunakan kurang tepat sehingga mengakibatkan ketidakefisienan pemakaian bahan baku. Oleh karena itu, memproduksi jumlah rol yang optimal dan pola pemotongan yang tepat akan memberi pengaruh yang signifikan dalam hal meminimumkan biaya produksi meskipun sisa pemotongan kertas dapat didaur ulang, diproduksi menjadi produk lain, dan dimasukkan ke dalam penyimpanan. Efisiensi akan meningkat jika produksi jumlah rol semakin sedikit dan sesuai dengan kebutuhan serta pola pemotongan yang dihasilkan semakin baik dan akurat.

18 5 Sebelum rol jumbo dipotong menjadi potongan kertas atau rol kecil, maka harus diperhitungan berbagai macam kemungkinan pola pemotongan dari rol jumbo tersebut yang kemudian akan dipilih yang paling optimal. Pola tersebut berupa gabungan dari beberapa ukuran kertas atau rol yang diinginkan konsumen. Pembentukan pola tersebut juga harus memperhatikan beberapa kala agar didapat hasil yang optimal. Dalam 1 rol jumbo yang akan dipotong menjadi rol-rol kecil haruslah memuat pesanan dengan diameter rol, panjang rol, jenis kertas, warna kertas, dan berat yang sama. Terdapat banyak metode untuk menyelesaikan masalah tersebut salah satunya dengan program linear. Secara umum, masalah program linear dapat dirumuskan sebagai berikut: Maksimumkan atau minimumkan Dengan kala z = cx Ax { = } b x 0 a 11 a 1,n+m dengan x = (x 1, x 2,, x n+m ) T, c = (c 1, c 2,, c n+m ), A = [ ], a m1 a m,n+m b 1 dan b = [ ]. b m

19 6 Dalam mencari penyelesaian program linear, metode yang sering digunakan adalah metode simpleks. Ketika masalah tersebut diaplikasikan dalam dunia industri, dapat dipastikan bahwa akan dilibatkan data dalam jumlah besar sebagai masukan. Semakin besar masalah ukuran ini, semakin banyak penyelesaian dan proses mengoptimumkan menjadi lebih sulit. Oleh karena itu, selain metode simpleks, terdapat metode yang juga dapat digunakan untuk menyelesaikan masalah di atas yaitu metode heuristik. B. Rumusan Masalah Berdasarkan latar belakang tersebut, secara garis besar uraian rumusan masalah yang dibahas dalam makalah ini adalah: a. Bagaimana memodelkan masalah pemotongan kertas agar didapat solusi yang optimal? b. Bagaimana menyelesaikan masalah pemotongan kertas dengan menggunakan algoritma PSO? c. Bagaimana menyelesaikan masalah pemotongan kertas dengan menggunakan MATLAB? C. Pembatasan Masalah Agar penulisan dan pembahasan isi menjadi lebih terarah dan tidak menyimpang dari masalah yang dibahas maka dalam penulisan makalah ini dibatasi, yaitu pemotongan kertas dari rol jumbo menjadi pesanan rol kecil dengan pola pemotongan satu dimensi.

20 7 D. Tujuan Penulisan Tujuan yang ingin dicapai penulis dalam penulisan makalah ini selain untuk memenuhi syarat makalah dalam program studi Matematika Universitas Sanata Dharma, yaitu sebagai berikut. a. Memodelkan masalah pemotongan kertas. b. Menyelesaikan masalah pemotongan kertas dengan algoritma PSO. c. Menyelesaikan masalah pemotongan kertas dengan aplikasi MATLAB. E. Manfaat Penulisan Manfaat penulisan dari makalah ini adalah: a. Dapat memodelkan dan mengaplikasikan program linear dalam masalah pemotongan kertas. b. Dapat membantu berbagai pihak untuk menentukan pola pemotongan kertas yang optimal. F. Metode Penulisan Metode yang digunakan penulis dalam penyusunan makalah yaitu studi pustaka, yaitu dengan mempelajari buku atau jurnal yang berkaitan dengan masalah pemotongan persediaan (cutting stock problem). G. Sistematika Penulisan BAB I. PENDAHULUAN A. Latar Belakang Masalah

21 8 B. Perumusan Masalah C. Pembatasan Masalah D. Tujuan Penulisan E. Manfaat Penulisan F. Metode Penulisan G. Sistematika Penulisan BAB II. PROGRAM LINEAR DAN METODE HEURISTIK A. Program Linear B. Program Linear Bilangan Bulat C. Masalah Knapsack D. Algoritma Particle Swarm Optimization (PSO) BAB III. MASALAH PEMOTONGAN PERSEDIAAN A. Masalah Pemotongan Persediaan (Cutting Stock Problem) B. Pencarian Solusi Optimal dengan Algoritma PSO BAB IV. PENERAPAN ALGORITMA PSO UNTUK MENYELESAIKAN MASALAH PEMOTONGAN ROL KERTAS BAB V. PENUTUP A. Kesimpulan B. Saran

22 9 DAFTAR PUSTAKA LAMPIRAN

23 BAB II LANDASAN TEORI A. Program Linear Program linear adalah sebuah metode matematis yang berkarakteristik linear untuk menemukan suatu penyelesaian optimal dengan cara memaksimumkan atau meminimumkan fungsi obyektif atau tujuan terhadap suatu susunan kala. Istilah program linear secara eksplisit telah menunjukkan karakteristiknya. Model matematika harus berupa fungsi linear dan penyelesaian optimal diturunkan melalui teknik optimasi linear. Bentuk baku model matematis program linear dapat dilihat: Fungsi obyektif/tujuan: Maksimumkan/minimumkan z = Terhadap fungsi kala-kala n j=1 c j x j n a ij x j { = } b i j=1 (2.1) x j 0 dengan x j : Variabel keputusan ke-j c j : Parameter fungsi tujuan ke-j b i : Kapasitas kala ke-i a ij : Parameter fungsi tujuan ke-i untuk variabel keputusan ke-j i 1, 2,, m j 1, 2,, n 10

24 11 dengan setiap pertidaksamaan yang memiliki simbol,,, =, hanya dipilih salah satu. Fungsi obyektif atau fungsi tujuan disebut juga fungsi linear. Dengan a ij disebut koefisien teknis, c j disebut koefisien ongkos, dan b i disebut suku tetap di ruas kanan disingkat suku tetap atau ruas kanan. Jika x j, j = 1,, n memenuhi semua kala, maka disebut penyelesaian layak. Penyelesaian layak yang juga mengoptimumkan z disebut penyelesaian optimum. Setiap masalah minimum dapat dilihat seperti masalah maksimum dan sebaliknya. Ini dapat terlihat dari pengamatan berikut n min c j x j j=1 = max ( c j x j ) n j=1 (2.2) Itu berarti untuk meminimumkan fungsi tujuan kita dapat memaksimumkan negatif dari fungsi tujuannya kemudian menegatifkan lagi hasil maksimumnya. Solusi yang digunakan untuk menyelesaikan masalah program linear yaitu dengan metode grafik dan metode simpleks. Metode grafik digunakan untuk memecahkan persoalan model program linear dua variabel. Lalu pada tahun 1947 G. Dantzig mengembangkan metode yang dapat memecahkan persoalan model program linear dengan lebih dari dua variabel yang disebut metode simpleks. Namun kedua metode tersebut tidak akan dibahas di sini. B. Program Linear Bilangan Bulat Penyelesaian kasus masalah program linear dapat menghasilkan nilai optimal berupa bilangan pecahan. Padahal dalam kasus di dunia nyata penyelesaian masalah harus berupa bilangan bulat terutama apabila variabel-variabel keputusannya

25 12 mewakili item yang utuh dan tidak dapat dipecah seperti pada: masalah Knapsack dan masalah pemotongan persediaan. Program linear bilangan bulat adalah sebuah model penyelesaian matematis yang memungkinkan solusi masalah program linear yang berupa bilangan pecahan diubah menjadi bilangan bulat tanpa meninggalkan optimalitas penyelesaian. Program linear bilangan bulat secara umum terbagi menjadi 3 jenis yaitu program linear bilangan bulat murni (pure), program linear bilangan bulat campuran (mixed), dan program linear bilangan bulat 0-1 (binary). Program linear bilangan bulat murni terjadi apabila semua variabel dalam solusi optimal merupakan bilangan bulat. Sedangkan program linear bilangan bulat campuran terjadi apabila variabelnya ada yang bukan bilangan bulat. Selanjutnya untuk program linear bilangan bulat 0-1 (biner) secara khusus mensyaratkan agar semua variabel dalam solusi optimal harus merupakan bilangan bulat bernilai 0 atau 1. Untuk masalah program linear bilangan bulat yang kasusnya besar, metode yang biasa digunakan yaitu metode pemotongan bidang (Cutting Plane), dan metode cabang dan batas (Branch and Bound). Namun disini hanya akan dibahas metode cabang dan batas untuk penyelesaian masalah program linear bilangan bulat. Metode Pencabangan dan Pembatasan (Branch and Bound Method) Metode cabang dan batas adalah suatu metode yang sangat sederhana namun sering digunakan untuk menyelesaikan masalah program linear bilangan bulat

26 13 (integer). Metode ini diusulkan pertama kali oleh A. H. Land dan A. G. Doig pada tahun Metode ini secara umum dimulai dengan mencari solusi masalah program linear tanpa menambahkan syarat bahwa penyelesaian optimalnya harus berupa bilangan bulat. 1. Jika secara kebetulan penyelesaian optimal yang didapat berupa bilangan bulat, maka penyelesaian ini juga merupakan penyelesaian masalah program linear bulatnya. 2. Jika penyelesaian yang didapat bukan bilangan bulat, maka selanjutnya kala baru yang membatasi nilai salah satu variabel yang tidak bulat ditambahkan. 3. Penambahan ini mengakibatkan terbaginya daerah layak menjadi 2 bagian sehingga terbentuklah 2 sub-masalah baru yang kemudian harus diselesaikan. Dengan kata lain, terjadi pencabangan dari masalah aslinya menjadi 2 sub-masalah baru. 4. Batas untuk nilai fungsi obyektif atau fungsi tujuan kemudian dapat ditentukan. Batas ini dapat digunakan untuk mengeliminasi sub-masalah yang tidak diperlukan dan menentukan apakah penyelesaian optimalnya sudah tercapai. 5. Jika penyelesaian yang didapat belum optimal, maka sub-masalah baru dipilih dan proses pencabangan berlanjut. Untuk lebih jelasnya, metode ini bekerja sebagai berikut. Metode ini diawali dengan mencari penyelesaian optimal bagi masalah program linear biasa. Jadi

27 14 syarat bahwa nilai dari variabel-variabelnya harus berupa bilangan bulat diabaikan untuk sementara. Apabila dalam penyelesaian ini diperoleh variabel-variabel yang tidak bulat, katakanlah x i maka pasti dapat ditemukan dua bilangan bulat tak negatif n dan n + 1 sehingga n < x i < n + 1. Selanjutnya, masalah program linear bulat di atas dicabangkan menjadi dua masalah program linear bulat baru dengan menambahkan kala x i n dan x i n + 1. Proses pencabangan ini bertujuan untuk mempersempit daerah layak sehingga dapat dilakukan eliminasi terhadap penyelesaian yang tak bulat bagi x i dari tinjauan selanjutnya, tetapi masih tetap mempertahankan semua penyelesaian bilangan bulat yang mungkin terhadap masalah semula. Kemudian, proses pencabangan ini terus dilakukan hingga diperoleh suatu penyelesaian bilangan bulat yang pertama. Contoh 2.1 Minimumkan z = x 1 + x 2 Dengan kala Penyelesaian: 4x 1 + 4x 2 10 { 24x x 2 60 x 1, x 2 0 dan bilangan bulat Menyelesaikan masalah program linear tersebut sehingga mapatkan solusi optimal x 1 = 2,5, x 2 = 0, dan z = 2,5. Penyelesaian tidak berbentuk bilangan bulat maka lanjut ke langkah 2.

28 15 Selanjutnya, masalah program linear bulat di atas dicabangkan menjadi dua masalah program linear bulat baru dengan menambahkan kala x 1 2 dan x 1 3. Sehingga didapatkan dua sub-masalah baru yang harus diselesaikan sebagai berikut. Sub-masalah 1: Minimumkan z = x 1 + x 2 Dengan kala dan Sub-masalah 2: 4x 1 + 4x x x 2 60 x 1 2 { x 1, x 2 0 dan bilangan bulat Minimumkan z = x 1 + x 2 Dengan kala 4x 1 + 4x x x 2 60 x 1 3 { x 1, x 2 0 dan bilangan bulat Batas untuk nilai tujuan belum dapat ditentukan karena belum mapatkan penyelesaian bilangan bulat. Dari submasalah 1 diperoleh penyelesaian x 1 = 2, x 2 = 1,2, dan z = 3,2. Penyelesaian tidak berbentuk bilangan bulat maka lanjut ke langkah 2. Langkah 2: Sub-masalah program linear dicabangkan menjadi dua masalah program linear bulat baru dengan menambahkan kala x 2 1 dan x 2 2. Karena x 2 1 tidak berada dalam daerah layak maka kita memilih x 2 2. Jadi, diperoleh solusi optimal yaitu z = 3.

29 16 Dari sub-masalah 2 diperoleh penyelesaian x 1 = 3, x 2 = 0,5, dan z = 2,5. Penyelesaian tidak berbentuk bilangan bulat maka lanjut ke langkah 2. Langkah 2: Sub-masalah program linear dicabangkan menjadi dua masalah program linear bulat baru dengan menambahkan kala x 2 0 dan x 2 1. Karena x 2 0 tidak berada dalam daerah layak maka kita memilih x 2 1 sehingga z = 4. Jadi, diperoleh solusi optimal yaitu x 1 = 2, x 2 = 1, dan z = 3. C. Masalah Knapsack Masalah Knapsack adalah masalah program linear bilangan bulat yang hanya memiliki satu kala dan penyelesaian berupa bilangan bulat. Masalah Knapsack biasanya digunakan untuk menyusun barang ke dalam karung yang besar yang tidak dapat memuat semua barang. Permasalahan Knapsack ini mencari solusi terbaik dari semua kemungkinan susunan barang yang akan dimasukkan ke dalam karung. Masalah Knapsack dapat dituliskan sebagai berikut. Maksimumkan z = m y i a i dengan kala m w i a i r (2.3) dengan a i adalah bilangan bulat tak negatif (i = 1,2,..., m) dan merupakan banyaknya barang ke-i yang dimasukan ke dalam karung, w i adalah ukuran barang ke-i yang bernilai positif dan r adalah ukuran atau karung yang juga bernilai positif. Diasumsikan y i adalah nilai barang ke-i yang bernilai positif (variabel a i dengan

30 17 y i 0 dapat segera dihapus). Perbandingan y i w i merupakan nilai per satuan ukuran dari barang ke-i atau sebagai efisiensi variabel a i. Kita asumsikan lagi efisiensi variabel a i diurutkan secara menurun menurut nilai yang dikandungnya: y 1 w 1 y 2 w 2 y m w m (2.4) Untuk setiap solusi optimal dari masalah Knapsack memenuhi: m r w i a i < w m (2.5) Pertidaksamaan (2.5) artinya sisa ukuran dari karung haruslah kurang dari barang ke-m. Masalah Knapsack memiliki dua jenis berdasarkan penyelesaiannya yaitu Knapsack (0-1) dan Knapsack bilangan bulat. Pada makalah ini akan menggunakan Knapsack bilangan bulat yang akan diselesaikan menggunakan metode cabang dan batas. Berikut adalah tahapan untuk menyelesaikan masalah Knapsack dengan metode cabang dan batas. 1. Menentukan nilai awal yaitu M = 0 dan k = Menemukan perpanjangan cabang. Untuk j = k + 1, k + 2,..., m maka a j = (r j 1 w i a i terbaik a 1, a 2,, a m. ) w j. Biasanya untuk a 1 = r w 1. Maka didapat solusi m m 3. Memperbaiki solusi. Jika y i a i > M, maka mengganti M dengan y i a i dan mengganti a 1, a 2,, a m dengan a 1, a 2,, a m.

31 18 4. Menemukan cabang selanjutnya. Menemukan k terbesar sedemikian hingga k m 1 dimana a k > 0. Kita dapat tuliskan a i = a i untuk i = 1, 2,..., k 1. a. Jika k=1 maka berhenti; selain itu ganti k dengan k-1. b. Jika a k = 0, maka kembali ke 4a, selain itu ganti a k dengan a k = a k 1. c. Pencarian cabang yang lebih baik. Jika k y i a i + y k+1 w k+1 (r w i a i ) M (untuk koefisien y i bukan bilangan bulat positif) atau k k y i a i + y k+1 w k+1 (r k w i a i ) M + 1 (untuk koefisien y i bilangan bulat positif) maka a 1, a 2,, a k tidak layak diperiksa. Oleh karena itu, harus kembali ke langkah 4. Selain itu, kembali ke langkah 2.

32 19 Start Menentukan nilai awal yaitu M = 0 dan k = 0. Menentukan perpanjangan cabang. Untuk j = k + 1, k + 2,..., m maka j 1 a j = (r y i a i ) w j dan didapat solusi terbaik a 1, a 2,, a m. M Tidak berubah Tidak Apakah m y i a i > M Ya Mengganti M m dengan y i a i Tidak Mengganti solusi sebelumnya (a 1, a 2,, a m ) dengan a 1, a 2,, a m. Ya k Apakah y i a i + y k+1 k (r w w i a i ) M? k+1 Tidak Apakah terdapat a k = 0 dan k = 1? Tidak Mereduksi k sampai diperoleh a k > 0 lalu mengganti a k dengan a k = a k 1, dimana a i = a i untuk i = 1, 2,..., k 1. Apakah koefisien y i bilangan bulat positif? Ya k Apakah y i a i + Tidak y k+1 k (r w w i a i ) k+1 M + 1? Ya Vektor a END Gambar 2.1: Diagram alir masalah Knapsack

33 20 Contoh 2.2 Maksimumkan 7 24 a a a a 4 dengan kala 25,5a ,5a a a 4 91 Jawab: 1. Menentukan nilai awal yaitu M = 0 dan k = Menemukan cabang. Untuk j = k + 1, k + 2,..., m maka a 1 = 91 25,5 = a 2 = (91 w i a i 3 1 a 3 = (91 w i a i 4 1 a 4 = (91 w i a i ) w 2 = (91 (25,5.3)) 22,5 = 0 ) w 3 = (91 (25, ,5.0)) 20 = 0 ) w 4 = (91 (25, , )) 15 = 0 Maka didapat solusi terbaik a 1 = 3, a 2 = a 3 = a 4 = Menentukan apakah solusi yang diperoleh meningkat? m Karena y i a i = 0,875 > M = 0, maka M = 0,875 dan a 1 = 3, a 2 = a 3 = a 4 = 0 diganti menjadi a 1 = 3, a 2 = a 3 = a 4 = Didapatkan k=3 (a 3 = 0) lalu dikurangkan sampai diperoleh k=1 dimana a k > 0. Maka kita ganti a 1 = 3 menjadi a 1 = Apakah cabang layak untuk dieksplor?

34 21 Karena koefisien y i bukan bilangan bulat positif, maka kita uji pertidaksamaan berikut dengan k=1 dan a 1 = 2. k y i a i + y k+1 (r w w i a i ) M k+1 1 k y i a i + y 1+1 (r w w i a i ) 0, /4 (91 25,5.2) 0,875 22, (40) = 1,0278 > 0, Karena pertidaksamaan tersebut tidak terpenuhi maka cabang layak untuk dieksplor. Kembali ke langkah Diketahui k=1 dan a 1 = a 1 = 2, maka diperoleh 2 1 a 2 = (91 w i a i 3 1 a 3 = (91 w i a i a 4 = (91 w i a i = ) w 2 = (91 (25,5.2)) 22,5 = 1 ) w 3 = (91 (25, ,5.1)) 20 = 0 ) w 4 = (91 (25, , )) 15 m 3. Karena y i a i = 1 > M = 0,875, maka M = 1 dan a 1 = 3, a 2 = a 3 = a 4 = 0 diganti menjadi a 1 = 2, a 2 = 1, a 3 = 0, a 4 = Didapatkan k=3 (a 3 = 0) lalu dikurangkan sampai diperoleh k=2 dimana a k > 0. Maka kita ganti a 2 = 1 dengan a 2 = 0..

35 22 5. Apakah cabang layak untuk dieksplor? Karena koefisien y i bukan bilangan bulat positif, maka kita uji pertidaksamaan berikut dengan k=2 dan a 1 = 2, a 2 = 0. k y i a i + y k+1 (r w w i a i ) M k+1 2 k y i a i + y 2+1 (r w w i a i ) ( /24. 0) + (91 (25, ,5.0)) (40) = 1 1 Karena pertidaksamaan tersebut terpenuhi maka cabang tidak layak untuk dieksplor. Kembali ke langkah Didapatkan k=2 (a 2 = 0) lalu dikurangkan sampai diperoleh k=1 dimana a k > 0 dan kita ganti a 1 = 2 dengan a 1 = Apakah cabang layak untuk dieksplor? Karena koefisien y i bukan bilangan bulat positif, maka kita uji pertidaksamaan berikut dengan k=1 dan a 1 = 1. k y i a i + y k+1 (r w w i a i ) M k+1 1 k y i a i + y 1+1 (r w w i a i ) ( 7 1/4. 1) + (91 (25,5.1)) ,5

36 (65,5) = 1,0194 > 1 90 Karena pertidaksamaan tersebut tidak terpenuhi maka cabang layak untuk dieksplor. Kembali ke langkah Diketahui k=1 dan a 1 = a 1 = 1, maka diperoleh 2 1 a 2 = (91 w i a i 3 1 a 3 = (91 w i a i 4 1 a 4 = (91 w i a i = 0 ) w 2 = (91 (25,5.1)) 22,5 = 2 ) w 3 = (91 (25, ,5.2)) 20 = 1 ) w 4 = (91 (25, , )) 15 m 3. Karena y i a i = 1 = M = 1, maka M = 1 dan a 1 = 2, a 2 = 0 diganti menjadi a 1 = 1, a 2 = 2, a 3 = 1, a 4 = Didapatkan k=3 dimana a k < 0, maka kita ganti a 3 = 1 dengan a 3 = Apakah cabang layak untuk dieksplor? Karena koefisien y i bukan bilangan bulat positif, maka kita uji pertidaksamaan berikut dengan k=1 dan a 1 = 1, a 2 = 2, a 3 = 0. k y i a i + y k+1 (r w w i a i ) M k+1 1 k y i a i + y 3+1 (r w w i a i ) ( / ) + (91 (25, , ))

37 (20,5) = 1,0194 > 1 90 Karena pertidaksamaan tersebut tidak terpenuhi maka cabang layak untuk dieksplor. Kembali ke langkah Diketahui k=3, a 1 = a 1 = 1, a 2 = a 2 = 2, dan a 3 = a 3 = 0, maka diperoleh 4 1 a 4 = (91 w i a i = 1 ) w 4 = (91 (25, , )) 15 m 3. Karena y i a i = 0,9583 M = 1, maka M = 1 dan a 1 = 2, a 2 = 0 diganti menjadi a 1 = 1, a 2 = 2, a 3 = 0, a 4 = Didapatkan k=3 (a 3 = 0) lalu dikurangkan sampai diperoleh k=2 dimana a k < 0, maka kita ganti a 2 = 2 dengan a 2 = Apakah cabang layak untuk dieksplor? Karena koefisien y i bukan bilangan bulat positif, maka kita uji pertidaksamaan berikut dengan k=2 dan a 1 = 1, a 2 = 1. k y i a i + y k+1 (r w w i a i ) M k+1 2 k y i a i + y 2+1 (r w w i a i ) ( /24. 1) + (91 (25, ,5.1)) (43) = 0, Karena pertidaksamaan tersebut terpenuhi maka cabang tidak layak untuk dieksplor. Kembali ke langkah 4.

38 25 4. Kita peroleh k=2 dimana a k < 0, maka kita ganti a 2 = 1 dengan a 2 = Apakah cabang layak untuk dieksplor? Karena koefisien y i bukan bilangan bulat positif, maka kita uji pertidaksamaan berikut dengan k=2 dan a 1 = 1, a 2 = 0. k y i a i + y k+1 (r w w i a i ) M k+1 2 k y i a i + y 2+1 (r w w i a i ) ( /24. 0) + (91 (25, ,5.0)) (65.5) = 0, Karena pertidaksamaan tersebut terpenuhi maka cabang tidak layak untuk dieksplor. Kembali ke langkah Didapatkan k=2 (a 2 = 0) lalu dikurangkan sampai diperoleh k=1 dimana a k < 0, maka kita ganti a 1 = 1 dengan a 1 = Apakah cabang layak untuk dieksplor? Karena koefisien y i bukan bilangan bulat positif, maka kita uji pertidaksamaan berikut dengan k=1 dan a 1 = 0. k y i a i + y k+1 (r w w i a i ) M k+1 1 k y i a i + y 1+1 (r w w i a i ) ( 7 1/4. 0) + (91 (25,5.0)) ,5

39 26 1 (91) = 1,011 > 1 90 Karena pertidaksamaan tersebut tidak terpenuhi maka cabang layak untuk dieksplor. Kembali ke langkah Diketahui k=1 dan a 1 = a 1 = 0, maka diperoleh 2 1 a 2 = (91 w i a i 3 1 a 3 = (91 w i a i 4 1 a 4 = (91 w i a i = 0 ) w 2 = (91 (25,5.0)) 22,5 = 4 ) w 3 = (91 (25, ,5.4)) 20 = 0 ) w 4 = (91 (25, , )) 15 m 3. Karena y i a i = 1 M = 1, maka M = 1 dan a 1 = 1, a 2 = 0 diganti menjadi a 1 = 0, a 2 = 4, a 3 = 0, a 4 = Didapatkan k=3 (a 3 = 0) lalu dikurangkan sampai diperoleh k=2 dimana a k < 0, maka kita ganti a 2 = 4 dengan a 2 = Apakah cabang layak untuk dieksplor? Karena koefisien y i bukan bilangan bulat positif, maka kita uji pertidaksamaan berikut dengan k=2 dan a 1 = 0, a 2 = 3. k k y i a i + y k+1 (r w w i a i ) M k y i a i + y 2+1 (r w w i a i ) 1 2+1

40 27 ( /24. 3) + (91 (25, ,5.3)) (23,5) = 0, Karena pertidaksamaan tersebut terpenuhi maka cabang tidak layak untuk dieksplor. Kembali ke langkah Kita peroleh k=2 dimana a k < 0, maka kita ganti a 2 = 3 dengan a 2 = Apakah cabang layak untuk dieksplor? Karena koefisien y i bukan bilangan bulat positif, maka kita uji pertidaksamaan berikut dengan k=2 dan a 1 = 0, a 2 = 2. k y i a i + y k+1 (r w w i a i ) M k+1 2 k y i a i + y 2+1 (r w w i a i ) ( /24. 2) + (91 (25, ,5.2)) (46) = 0, Karena pertidaksamaan tersebut terpenuhi maka cabang tidak layak untuk dieksplor. Kembali ke langkah Kita peroleh k=2 dimana a k < 0, maka kita ganti a 2 = 2 dengan a 2 = Apakah cabang layak untuk dieksplor? Karena koefisien y i bukan bilangan bulat positif, maka kita uji pertidaksamaan berikut dengan k=2 dan a 1 = 0, a 2 = 1.

41 28 k y i a i + y k+1 (r w w i a i ) M k+1 2 k y i a i + y 2+1 (r w w i a i ) ( /24. 1) + (91 (25, ,5.1)) (68,5) = 0, Karena pertidaksamaan tersebut terpenuhi maka cabang tidak layak untuk dieksplor. Kembali ke langkah Kita peroleh k=2 dimana a k < 0, maka kita ganti a 2 = 1 dengan a 2 = Apakah cabang layak untuk dieksplor? Karena koefisien y i bukan bilangan bulat positif, maka kita uji pertidaksamaan berikut dengan k=2 dan a 1 = 0, a 2 = 0. k y i a i + y k+1 (r w w i a i ) M k+1 2 k y i a i + y 2+1 (r w w i a i ) ( /24. 0) + (91 (25, ,5.0)) (91) = 0, Karena pertidaksamaan tersebut terpenuhi maka cabang tidak layak untuk dieksplor. Kembali ke langkah Kita peroleh k=1 dimana a k = 0, maka iterasi berhenti.

42 29 Jadi didapatkan solusi yaitu a 1 = 2, a 2 = 1, a 3 = 0, a 4 = 1 dengan Z = 1, a 1 = 1, a 2 = 2, a 3 = 1, a 4 = 0 dengan Z = 1, dan a 1 = 0, a 2 = 4, a 3 = 0, a 4 = 0 dengan Z = 1. Berikut pohon enumerasi dari solusi-solusi yang sudah didapat diatas. a 1 = 3 a 2 = 0 a 3 = 0 a 4 = 0 a 1 = 2 a 2 = 1 a 3 = 0 a 4 = 1 a 2 = 0 dipotong a 3 = 1 a 4 = 0 a 2 = 2 a 3 = 0 a 4 = 1 a 1 = 1 a 2 = 1 dipotong a 2 = 0 dipotong a 2 = 4 a 3 = 0 a 4 = 0 a 2 = 3 dipotong a 1 = 0 a 2 = 2 dipotong a 2 = 1 dipotong a 2 = 0 dipotong a 1 = 0 dipotong Gambar 2.3: Pohon enumerasi yang dihasilkan dari contoh 2.2 D. Algoritma Particle Swarm Optimization (PSO) Algoritma Particle Swarm Optimization (PSO) meniru perilaku sosial organisme (burung atau ikan), dimana perilaku sosial terdiri dari tindakan individu dan pengaruh dari individu-individu lain dalam suatu kelompok. Tiap-tiap makhluk

43 30 hidup (selanjutnya disebut partikel) akan disebar di ruang pencarian solusi (search space) yang seragam secara acak. Kemudian setiap partikel akan berusaha berpindah posisi untuk mencari posisi lain yang dapat menghasilkan fungsi obyektif atau tujuan yang lebih baik. Setiap pergerakan partikel akan dipandu oleh dua hal, posisi terbaik yang pernah ditempati partikel tersebut dan posisi terbaik yang pernah ditemui oleh seluruh partikel. Sehingga, partikel-partikel tersebut akan bekerja sama dalam mencari solusi optimal. Kata partikel menunjukkan, misalnya, seekor burung dalam kawanan burung. Setiap individu atau partikel berperilaku secara terdistribusi dengan cara menggunakan kecerdasannya (intelligence) siri dan juga dipengaruhi perilaku kelompok kolektifnya. Dengan demikian, jika satu partikel atau seekor burung menemukan jalan yang tepat atau pek menuju ke sumber makanan, sisa kelompok yang lain juga akan dapat segera mengikuti jalan tersebut meskipun lokasi mereka jauh di kelompok tersebut. Dalam algoritma PSO, kawanan diasumsikan mempunyai ukuran tertentu dengan setiap partikel posisi awalnya terletak di suatu lokasi yang acak dalam ruang multidimensi. Setiap partikel diasumsikan memiliki dua karakteristik: posisi dan kecepatan. Setiap partikel bergerak dalam ruang berdasarkan informasi yang diterima mengenai posisi yang baik tersebut. Sebagai contoh, misalnya perilaku burung-burung dalam kawanan burung. Meskipun setiap burung mempunyai keterbatasan dalam hal kecerdasan, biasanya ia akan mengikuti kebiasaan (rule) seperti berikut: 1. Seekor burung tidak berada terlalu dekat dengan burung yang lain.

44 31 2. Burung tersebut akan mengarahkan terbangnya ke arah rata-rata keseluruhan burung. 3. Burung akan memposisikan diri dengan rata-rata posisi burung yang lain dengan menjaga jarak sehingga jarak antar burung dalam kawanan itu tidak terlalu jauh. Dengan demikian, perilaku kawanan burung akan didasarkan pada kombinasi dari 3 faktor simpel berikut: 1. Kohesi terbang bersama 2. Separasi jangan terlalu dekat 3. Penyesuaian (alignment) mengikuti arah bersama Jadi PSO dikembangkan dengan berdasarkan pada model berikut : 1. Ketika seekor burung mekati target atau makanan (atau bisa minimum atau maksimum dari nilai suatu fungsi tujuan) secara cepat mengirim informasi kepada burung-burung yang lain dalam kawanan tersebut. 2. Burung yang lain akan mengikuti arah menuju ke makanan tetapi tidak secara langsung. 3. Ada komponen yang tergantung pada pikiran setiap burung, yaitu memorinya tentang apa yang sudah dilewati pada waktu sebelumnya. Pada algoritma PSO, pencarian solusi dilakukan oleh suatu populasi yang terdiri dari beberapa partikel. Populasi dibangkitkan secara acak (random) dengan batasan nilai terkecil dan terbesar. Setiap partikel merepresentasikan posisi atau

45 32 solusi dari permasalahan yang dihadapi. Setiap partikel melakukan pencarian solusi yang optimal dengan melintasi ruang pencarian (search space). Hal ini dilakukan dengan cara setiap partikel melakukan penyesuaian terhadap posisi partikel terbaik dari partikel tersebut (local best) dan penyesuaian terhadap posisi partikel terbaik dari seluruh kawanan (global best) selama melintasi ruang pencarian. Jadi, penyebaran pengalaman atau informasi terjadi di dalam partikel itu siri dan antara suatu partikel dengan partikel terbaik dari seluruh kawanan selama proses pencarian solusi. Setelah itu, dilakukan proses pencarian untuk mencari posisi terbaik setiap partikel dalam sejumlah iterasi tertentu sampai didapatkan posisi yang relatif tetap (steady) dengan kata lain nilai fungsi mulai konvergen atau iterasi telah mencapai batas yang telah ditetapkan. Pada setiap iterasi, setiap solusi yang direpresentasikan oleh posisi partikel dievaluasi performanya dengan cara memasukkan solusi tersebut ke dalam fungsi kesesuaian (fitness function). Setiap partikel diperlakukan seperti sebuah titik pada suatu dimensi ruang tertentu. Kemudian terdapat dua faktor yang memberikan karakter terhadap status partikel pada ruang pencarian, yaitu posisi partikel dan kecepatan partikel. Berikut ini merupakan formulasi matematis yang menggambarkan posisi dan kecepatan partikel pada suatu dimensi ruang tertentu: X i (t) = x i 1 (t), x i 2 (t),..., x i N (t) (2.6) V i (t) = v 1 i (t), v 2 i (t),..., v N i (t) (2.7) dengan X = posisi partikel, V = kecepatan partikel, i = indeks partikel, t = iterasi ke-t, dan N = ukuran dimensi ruang. Adapun model matematika yang

46 33 menggambarkan mekanisme pembaruan status partikel kecepatan maupun posisi (updating velocity and position), adalah sebagai berikut: V i (t) = V i (t 1) + c1. r1. (X i L X i (t 1)) + c2. r2. (X G X i (t 1)) (2.8) X i (t) = V i (t) + X i (t 1) (2.9) dengan X i i i i L = x L1, x L2,..., x LN merepresentasikan local best dari partikel kei (yang selanjutnya akan disebut sebagai particle best). Sedangkan X G = x G1, x G2,..., x GN merepresentasikan global best dari seluruh kawanan. Sedangkan c1 dan c2 adalah suatu konstanta yang bernilai positif yang biasanya disebut faktor pembelajaran (learning factor) atau faktor percepatan (acceleration factor). Kemudian r1 dan r2 adalah suatu bilangan acak (random) yang bernilai antara 0 sampai 1. Persamaan (2.8) digunakan untuk menghitung kecepatan partikel yang baru berdasarkan kecepatan sebelumnya, jarak antara posisi saat ini dengan posisi terbaik partikel (particle best), dan jarak antara posisi saat ini dengan posisi terbaik kawanan (global best). Kemudian partikel terbang menuju posisi yang baru berdasarkan persamaan (2.9). Setelah algoritma PSO ini dijalankan dengan sejumlah iterasi tertentu hingga mencapai kriteria pemberhentian, maka akan didapatkan solusi yang terletak pada posisi terbaik kawanan (global best). Model ini akan disimulasikan dalam ruang dengan dimensi tertentu dengan sejumlah iterasi sehingga di setiap iterasi, posisi partikel akan semakin mengarah ke target yang dituju (minimasi atau maksimasi fungsi). Ini dilakukan hingga maksimum iterasi dicapai atau bisa juga digunakan kriteria penghentian yang lain yaitu nilai fungsi obyektif atau tujuan sudah konvergen ke nilai optimum.

47 34 Proses untuk mencari nilai minimum menggunakan algoritma PSO yaitu sebagai berikut : 1. Inisialisasi sekumpulan partikel secara acak atau random (setiap partikel merepresentasikan solusi yang mungkin untuk masalah optimasi). 2. Inisialisasi posisi dari setiap partikel (X i ) dan kecepatan dari setiap partikel (V i ). 3. Hitung nilai kesesuaian dari setiap partikel F i berdasarkan formula dan model yang telah ditentukan sesuai dengan masalah optimasinya. 4. Untuk setiap partikel, bandingkan nilai kesesuaian F i dengan nilai i terbaiknya yang telah dicapai X L (particle best), jika F i < X i i L, maka X L diganti dengan F i. 5. Untuk setiap partikel, bandingkan nilai kesesuaian F i dengan nilai terbaik yang dicapai dalam populasi X G (global best), jika F i < X G, maka X G diganti dengan F i. 6. Berdasarkan bagian 4 dan 5, kecepatan (V i ) dan posisi dari partikel (X i ) diubah. Rumus pembaruan kecepatan (V i ) : V i (t) = V i (t 1) + c1. r1. (X i L X i (t 1)) + c2. r2. (X G X i (t 1)) Adapun rumus pembaruan posisi (X i ) adalah X i (t) = X i (t 1) + V i (t). 7. Jika telah mencapai kondisi akhir (mencapai nilai iterasi optimum atau perulangan telah mencapai nilai yang konvergen ke nilai fungsi

48 35 minimum) maka perulangan berhenti dan nilai optimumnya didapatkan namun jika belum maka diulangi pada nomor 3. Berikut Pseudo code dari algoritma PSO : For setiap partikel Inisialisasi partikel End Repeat For setiap partikel Hitung nilai kesesuaian If nilai kesesuaian baru lebih baik daripada nilai kesesuian lama Perbarui nilai kesesuian dari partikel tersebut End End Pilih partikel dengan nilai kesesuaian terbaik diantara semua partikel tetangganya dan simpan nilai kesesuaian terbaik tersebut For setiap partikel Hitung kecepatan partikel menggunakan rumus pertama di atas Perbarui posisi pertikel menggunakan rumus kedua di atas End Until (kriteria berhenti = True)

49 36 Berikut ini adalah diagram alir dari algoritma PSO: Mulai Bangkitkan parameter dari PSO Inisialisasi posisi, kecepatan, dan ruang setiap partikel Evaluasi nilai kesesuian terbaik dari tiap partikel, dan pilih Pbest dan Gbest Bangkitkan iterasi dari t = 1 Perbarui posisi dan kecepatan setiap partikel Hitung kembali nilai kesesuaian tiap partikel dan perbarui Pbest dan Gbest Apakah kriteria terpenuhi? Tidak Ya Cetak nilai optimal dari variabel

50 37 Cara Kerja Algoritma Particle Swarm Optimization Misalkan kita mempunyai fungsi berikut: min f(x) dimana x (B) x x (A) Prosedur PSO dapat dijabarkan dengan langkah-langkah sebagai berikut: 1. Asumsikan bahwa ukuran kelompok atau kawanan (jumlah partikel) adalah N. Untuk mengurangi jumlah evaluasi fungsi yang diperlukan untuk menemukan solusi, sebaiknya ukuran N tidak terlalu besar, tetapi juga tidak terlalu kecil, agar ada banyak kemungkinan posisi menuju solusi terbaik atau optimal. Jika terlalu kecil, sedikit kemungkinan menemukan posisi partikel yang baik. Terlalu besar juga akan membuat perhitungan jadi panjang. Biasanya digunakan ukuran kawanan adalah 20 sampai 30 partikel. 2. Bangkitkan populasi awal x dengan rentang x (B) dan x (A) secara random sehingga didapat x 1, x 2,..., x N. Setelah itu, untuk mudahnya, i posisi partikel j dan kecepatannya pada iterasi i dinotasikan sebagai x j dan v i j. Sehingga partikel-partikel awal ini dinotasikan x 0 1, x 0 0 2,..., x N dan kecepatan-kecepatan awal ini dinotasikan v 0 1, v 0 2,..., v 0 N. Vektor x 0 j, (j = 1,2,, N) disebut vektor koordinat dari partikel dan vektor v 0 j, (j = 1,2,, N) disebut vektor koordinat dari kecepatan. Evaluasi nilai fungsi tujuan untuk setiap partikel dan nyatakan dengan f[x 0 1 ], f[x 0 2 ],..., f[x 0 N ].

51 38 3. Hitung kecepatan dari semua partikel. Semua partikel bergerak menuju titik optimal dengan suatu kecepatan. Awalnya semua kecepatan dari partikel diasumsikan sama dengan nol. Set iterasi i = Pada iterasi ke-i, temukan 2 parameter penting untuk setiap partikel j, yaitu: a. Nilai terbaik sejauh ini dari x i j (koordinat partikel j pada iterasi i) dan untuk memudahkan penulisan, nyatakan saja sebagai Pbest,j, dengan nilai fungsi obyektif paling rah (kasus minimasi), f[x i j ], yang ditemui sebuah partikel j pada semua iterasi sebelumnya. Nilai terbaik untuk semua partikel x i j yang ditemukan sampai iterasi ke-i, kita tuliskan saja sebagai Gbest, dengan nilai fungsi tujuan paling kecil atau minimum diantara semua partikel untuk semua iterasi sebelumnya, f[x i j ]. b. Hitung kecepatan partikel j pada iterasi ke-i dengan rumus sebagai berikut: v i j = v i 1 j + c 1. r 1. (Pbest,j x i 1 j ) + c 2. r 2. (Gbest x i 1 j ), dengan j = 1,2,, N dimana c 1 dan c 2 masing-masing adalah learning rates untuk kemampuan individu (cognitive) dan pengaruh sosial (group), dan r 1 dan r 2 bilangan acak (random) yang berdistribusi seragam (uniform) dalam interval 0 dan 1. Jadi parameter c 1 dan c 2 menunjukkan bobot dari memori (position) sebuah partikel terhadap memori (position) dari kelompok (swarm). Nilai dari c 1 dan c 2

52 39 adalah 2 sehingga partikel-partikel akan mekati target sekitar setengah selisihnya. c. Hitung posisi atau koordinat partikel j pada iterasi ke-i dengan cara x j i = x j i 1 + v j i ; j = 1, 2,..., N Evaluasi nilai fungsi tujuan untuk setiap partikel dan nyatakan sebagai f[x i 1 ], f[x i 2 ],..., f[x i N ]. 5. Cek apakah solusi yang sekarang sudah konvergen. Jika posisi semua partikel menuju ke satu nilai yang sama, maka ini disebut konvergen. Jika belum konvergen maka langkah 4 diulang dengan memperbarui iterasi i = i + 1, dengan cara menghitung nilai baru dari Pbest,j dan Gbest. Proses iterasi ini dilanjutkan sampai semua partikel menuju ke satu titik solusi yang sama. Biasanya akan ditentukan dengan kriteria penghentian (stopping criteria), misalnya jumlah selisih solusi sekarang dengan solusi sebelumnya sudah sangat kecil. Contoh 2.3 Kerjakan soal berikut: min f(x) = (100 x) 2 dengan 60 x 120 Sebelum masuk ke dalam langkah-langkah pembahasan algoritma, ada beberapa konstanta atau parameter yang harus diketahui, yaitu: Tentukan dimensi permasalahan. Diasumsikan dalam kasus ini, dimensi bernilai 1 karena ada 1

53 40 variabel yang akan dicari nilainya. Kemudian tentukan jumlah partikel yang digunakan dalam perhitungan. Diasumsikan dalam kasus ini, jumlah partikel yang digunakan adalah 4 partikel. Tentukan jumlah iterasi yang digunakan oleh setiap partikel untuk melakukan proses. Diasumsikan dalam kasus ini, jumlah iterasi yang digunakan adalah 3 kali. Tentukan total posisi yang harus dicapai. Semua solusi yang ditemukan oleh masing-masing individu harus berjumlah sebanyak variabel ini. Diasumsikan dalam kasus ini, total nilai yang harus dicapai adalah sesuai fungsi obyektif atau fungsi tujuan dan memenuhi batasan nilai yang diberikan yaitu bernilai antara 60 dan 120. Tentukan kecepatan awal untuk perpindahan posisi partikel dalam setiap proses. Diasumsikan dalam kasus ini nilai kecepatan awal adalah 0. Kemudian bobot sosial dalam contoh soal ini diasumsikan c 1 = c 2 = 1. Langkah-langkah penggunaan algoritma ini adalah 1. Inisialisasi data, dengan jumlah partikel N = 4 seperti yang sudah ditentukan sebelumnya, didapat populasi awal secara acak (random) misalkan: x 0 1 = 80, x 0 2 = 90, x 0 3 = 110, x 0 4 = Hitung nilai fungsi untuk setiap partikel x 0 j untuk j = 1, 2, 3, 4 dan nyatakan dengan: f(x 0 1 ) = f(80) = 400,

54 41 f(x 0 2 ) = f(90) = 100, f(x 0 3 ) = f(110) = 100, f(x 0 4 ) = f(75) = Seperti yang sudah dipaparkan di atas, ditentukan kecepatan awal v 0 1 = v 0 2 = v 0 3 = v 0 4 = 0 dan tetapkan iterasi pertama yaitu i = Selanjutnya ditemukan nilai terbaik lokal sejauh ini yang merupakan posisi partikel terbaik dari partikel tersebut alias P best,j serta nilai terbaik global yang merupakan posisi partikel terbaik dari seluruh kawanan (G best ). P best,1 = 80, P best,2 = 90, P best,3 = 110, P best,4 = 75, G best = Hitung v i j dengan c 1 = c 2 = 1 dan misalkan nilai bilangan acak (random) yang didapat r 1 = 0.4 dan r 2 = 0.5 dengan rumus: v i j = v i 1 j + c 1. r 1. (Pbest,j x i 1 j ) + c 2. r 2. (Gbest x i 1 j ) diperoleh: 1 v 1 = v c 1. r 1. (Pbest,1 x 0 1 ) + c 2. r 2. (Gbest x 0 1 ) = (80 80) + 0.5(90 80) = 5 1 v 2 = v c 1. r 1. (Pbest,2 x 0 2 ) + c 2. r 2. (Gbest x 0 2 ) = (90 90) + 0.5(90 90) = 0

55 42 1 v 3 = v c 1. r 1. (Pbest,3 x 0 3 ) + c 2. r 2. (Gbest x 0 3 ) = ( ) + 0.5(90 110) = 10 1 v 4 = v c 1. r 1. (Pbest,4 x 0 4 ) + c 2. r 2. (Gbest x 0 4 ) = (75 75) + 0.5(90 75) = 7.5 Sehingga nilai x i j sebagai posisi partikel yang baru adalah: x 1 1 = = 85, x 1 2 = = 90, x 1 3 = = 100, x 1 4 = = Hitung nilai fungsi sekarang pada partikel x 1 j untuk j = 1, 2, 3, 4 f(x 1 1 ) = f(85) = 225, f(x 1 2 ) = f(90) = 100, f(x 1 3 ) = f(100) = 0, f(x 1 4 ) = f(82.5) = Sedangkan pada iterasi sebelumnya kita dapatkan f(x 0 1 ) = f(80) = 400, f(x 0 2 ) = f(90) = 100, f(x 0 3 ) = f(1110) = 100, f(x 0 4 ) = f(75) = Nilai f(x i j ) dari iterasi sebelumnya tidak ada yang lebih baik sehingga P best,j baru untuk masing-masing partikel sama dengan nilai x 1 j nya. P best,1 = 85,

56 43 P best,2 = 90, P best,3 = 100, P best,4 = 82.5, G best = 100. Apakah solusi x 1 j sudah konvergen, dimana nilai dari masing-masing x 1 j nya sudah dekat? Belum. Maka, lanjutkan ke iterasi berikutnya yaitu i = Hitung kecepatan baru dan misalkan nilai bilangan acak (random) selanjutnya yang didapat adalah r 1 = 0.3 dan r 2 = 0.6 maka diperoleh: 2 v 1 = v c 1. r 1. (Pbest,1 x 1 1 ) + c 2. r 2. (Gbest x 1 1 ) = (85 85) + 0.6(100 85) = 14 2 v 2 = v c 1. r 1. (Pbest,2 x 1 2 ) + c 2. r 2. (Gbest x 1 2 ) = (90 90) + 0.6(100 90) = 6 2 v 3 = v c 1. r 1. (Pbest,3 x 1 3 ) + c 2. r 2. (Gbest x 1 3 ) = ( ) + 0.6( ) = 10 2 v 4 = v c 1. r 1. (Pbest,4 x 1 4 ) + c 2. r 2. (Gbest x 1 4 ) = ( ) + 0.6( ) = 18 Sehingga nilai x i j sebagai posisi partikel yang baru adalah: x 2 1 = = 99, x 2 2 = = 96, x 2 3 = = 90, x 2 4 = = Hitung nilai fungsi sekarang pada partikel x 2 j untuk j = 1, 2, 3, 4

57 44 f(x 2 1 ) = f(99) = 1, f(x 2 2 ) = f(96) = 16, f(x 2 3 ) = f(90) = 100, f(x 2 4 ) = f(100.5) = Jika dibandingkan dengan nilai f(x i j ) dari iterasi sebelumnya, ada nilai yang lebih baik dari nilai f(x i j ) sekarang yaitu f(x 1 3 ) = 0, sehingga P best,3 = 100, dan G best akan dicari dari min {1,16,0,0.25} = 0 yang dicapai pada x 1 3 = 100. Sehingga untuk iterasi berikutnya, P best = {99,96,100,100.5} dan G best = 100. Cek kembali, apakah solusi sudah konvergen? Jika belum konvergen, set i = 3, masuk ke iterasi berikutnya.lanjutkan ke langkah berikutnya dengan menghitung kecepatan v j i baru dimana i = 3 ; j = 1,2,3,4 dan ulangi langkah-langkah selanjutnya sampai mencapai suatu nilai yang konvergen. Hasil dari langkah-langkah di atas dapat disajikan dalam bentuk tabel: i x j i v j i f(x j i ) P best,j G best 0 x 1 0 = 80 v 1 0 = 0 f(x 1 0 ) = f(80) = 400 P best,1 = 80 x 2 0 = 90 v 2 0 = 0 f(x 2 0 ) = f(90) = 100 P best,2 = x 3 0 = 110 v 3 0 = 0 f(x 3 0 ) = f(110) = 100 P best,3 = 110 x 4 0 = 75 v 4 0 = 0 f(x 4 0 ) = f(75) = 625 P best,4 = 75 1 x 1 1 = 85 v 1 1 = 5 f(x 1 1 ) = f(85) = 225 P best,1 = 85 x 2 1 = 90 v 2 1 = 0 f(x 2 1 ) = f(90) = 100 P best,2 = 90

58 45 x 3 1 = 100 v 3 1 = 10 f(x 3 1 ) = f(100) = 0 P best,3 = x 4 1 = 82.5 v 4 1 = 7.5 f(x 4 1 ) = f(82.5) = P best,4 = x 1 2 = 99 v 1 2 = 14 f(x 1 2 ) = f(99) = 1 P best,1 = 99 x 2 2 = 96 v 2 2 = 6 f(x 2 2 ) = f(96) = 16 P best,2 = x 3 2 = 90 v 3 2 = 10 f(x 3 2 ) = f(90) = 100 P best,3 = 100 x 4 2 = v 4 2 = 18 f(x 4 2 ) = f(100.5) = 0.25 P best,4 = Tabel 2.1: Tabel hasil perhitungan PSO secara manual untuk contoh 2.3 MATLAB: Dan berikut adalah hasil perhitungan yang diproses dengan menggunakan run = 1 Iteration Best particle Objective fun run = 2

59 46 Iteration Best particle Objective fun ********************************************************* Final Results bestfun = 0 bestrun = 2 best_variables = 100 ********************************************************* Elapsed time is seconds.

60 47 Berikut adalah grafik konvergensi yang ditampilkan dari best run: Gambar 2.3: Gambar grafik konvergensi PSO pada run ke 2 Dalam implementasinya, ditemukan bahwa kecepatan partikel dalam PSO standar diperbarui (update) terlalu cepat dan nilai minimum fungsi tujuan yang dicari sering terlewati. Oleh karena itu, kemudian dilakukan modifikasi atau perbaikan terhadap algoritma PSO standar. Perbaikan itu berupa penambahan suatu bobot inersia w untuk mengurangi kecepatan pada formula pembaruan (update) kecepatan seperti yang telah disinggung sebelumnya. Bobot inersia ini diusulkan oleh Yuhui Shi dan Erberhart pada tahun 1998 untuk meredam kecepatan selama iterasi, yang memungkinkan kawanan burung konvergen dalam artian menuju titik target secara lebih akuratdan efisien dibanding

61 48 algoritma aslinya yaitu algoritma PSO standar. Biasanya nilai bobot inersia w dibuat sedemikian hingga semakin besar iterasi yang dilalui, semakin mengecil kecepatan partikelnya. Nilai ini bervariasi secara linear dalam rentang 0.4 hingga 0.9. Secara matematis perbaikan PSO ini dapat dituliskan sebagai berikut: v j i = w. v j i 1 + c 1. r 1. (Pbest,j x j i 1 ) + c 2. r 2. (Gbest x j i 1 ), dengan j = 1,2,, N Formula tersebut adalah modifikasi terhadap formula sebelumnya, yaitu: v j i = v j i 1 + c 1. r 1. (Pbest,j x j i 1 ) + c 2. r 2. (Gbest x j i 1 ), dengan j = 1,2,, N Perlu diketahui bahwa nilai bobot inersia (w) yang tinggi menambah posisi pencarian global (global exploration), sedangkan nilai bobot inersia (w) yang rah menambah posisi pencarian lokal (local search). Oleh karena itu, supaya tidak terlalu menitikberatkan pada salah satu bagian dan tetap mencari area pencarian yang baru dalam ruang berdimensi tertentu, maka perlu dicari nilai bobot inersia (w) yang secara imbang menjaga pencarian global dan lokal. Untuk mencapai itu dan mempercepat konvergensi, suatu bobot inersia yang mengecil nilainya dengan bertambahnya iterasi dapat dirumuskan: w i = w max ( w max w min ) i i max (2.10) dimana w max dan w min masing-masing adalah nilai awal dan nilai akhir bobot inersia, i max adalah jumlah iterasi maksimum yang digunakan dan i adalah iterasi saat ini (sekarang). Biasanya digunakan nilai w max = 0.9 dan w min = 0.4. Gambar pergerakan nilai fungsi tujuan f(x) = (100 x) 2, untuk 50 iterasi ditunjukkan dalam gambar 2.2 sedangkan gambar pergerakan nilai fungsi tujuan f(x) =

62 49 (100 x) 2 setelah dilakukan modifikasi terhadap PSO (dengan menyertakan bobot inersia) untuk 50 iterasi ditunjukkan dalam gambar 2.3. Terlihat bahwa dengan adanya modifikasi, pergerakan akan lebih cepat konvergen. Berikut ini diberikan hasil implementasi grafik konvergensi dua jenis PSO: Gambar 2.4: Pergerakan nilai fungsi tujuan untuk PSO tanpa modifikasi

63 50 Gambar 2.5: Pergerakan nilai fungsi tujuan untuk PSO dengan modifikasi Dari kedua gambar di atas, dapat dibandingkan bagaimana pergerakan vektor solusi menuju solusi optimal atau melihat pergerakan nilai fungsi tujuannya dari PSO asli (PSO standar) maupun PSO yang sudah dimodifikasi (disertai bobot inersia). Contoh 2.4 Contoh berikutnya yaitu bagaimana meminimalkan fungsi tujuan berdimensi lebih dari satu dan memiliki kala (constraint). Fungsi obyektif : min f(x) = (x 1 2) 2 + (x 2 3) 2 dengan kala 2x 1 + x 2 = 4

64 51 Langsung saja kita proses dengan bantuan MATLAB dan didapatkan hasilnya sebagai berikut: ********************************************************* Final Results bestfun = bestrun = 2 best_variables = ********************************************************* Elapsed time is seconds. Gambar 2.6: Gambar grafik konvergensi PSO pada run ke 2

65 52 Untuk mapatkan hasil tersebut, diperlukan dua script program MATLAB yang telah dimodifikasi dari script program asli yang telah dituliskan oleh Nabab Alam. File pertama mefinisikan fungsi obyektif atau fungsi tujuan, dan file kedua dibangun program utama yang akan memecahkan masalah dengan menggunakan algoritma PSO. Script kode program terlampir. Untuk file pertama diberi nama ofun2.m. Kemudian file ke2 merupakan file program utama. Setelah script program tersebut dijalankan, diketahui nilai fungsi obyektif (fungsi tujuan) terbaik yang dihasilkan setelah 10 kali indepent run adalah dan menghasilkan nilai variabel-variabel terbaik antara lain: x(1) = dan x(2) = Dari 10 run yang dilakukan, diketahui run yang memberikan hasil terbaik adalah run ke-2. Simulasi ini memerlukan waktu detik. Kita juga dapat melakukan perhitungan tanpa kala dengan mengganti fungsi objektif pada file pertama. Sebagai contoh, kita akan kerjakan lagi contoh yang tadi tetapi tanpa kala dan mengubah nama script ofun2.m menjadi ofun.m Kita juga harus mengubah kata ofun2 menjadi ofun pada baris 32 dan baris 73 pada file kedua (program PSO utama). Script utuh dapat diperiksa pada lampiran. Hasilnya adalah sebagai berikut: ********************************************************* Final Results bestfun = 0 bestrun = 2

66 53 best_variables = 2 3 ********************************************************* Elapsed time is seconds. Tampilan grafik konvergensi pada best run adalah: Gambar 2.7: Gambar grafik konvergensi PSO pada run ke 2 Jadi, PSO dapat digunakan untuk menyelesaikan masalah program linear maupun non linear, dengan atau tanpa kala.

67 BAB III MASALAH PEMOTONGAN PERSEDIAAN A. Masalah Pemotongan Persediaan (Cutting Stock Problem) Masalah pemotongan persediaan pertama kali dijelaskan di awal era pemrograman linear. Gilmore dan Gomory (1961) adalah yang pertama merumuskan masalah pemotongan persediaan. Masalah dalam bentuk yang paling sederhana dapat digambarkan sebagai berikut: materi yang diberikan yang tersedia dalam berbagai bentuk dan ukuran tertentu, dipotong agar bisa menghasilkan bentuk dan ukuran tertentu yang diinginkan, sehingga dapat meminimalkan beberapa tujuan seperti biaya. Tergantung pada jenis bahan dan pola pemotongan berdasarkan pertimbangan, kita membedakan masalah pemotongan diantaranya satu, dua, dan tiga dimensi. Sebagai contoh, pemotongan kertas koran untuk panjang yang berbeda adalah masalah pemotongan satu dimensi. Karena lebar koran tetap sama, sementara hanya panjangnya yang bervariasi atau beragam. Pada makalah ini, hanya akan dibahas masalah pemotongan persediaan satu dimensi. Dalam suatu industri kertas, mesin kertas (paper machine) memproduksi rol kertas jumbo, dengan lebar maksimum yang sudah ditetapkan yang disebut dengan deckle. Kemudian rol jumbo melewati beberapa proses proses produksi dalam memenuhi pesanan. Salah satu proses produksi yang paling penting adalah pemotongan rol kertas jumbo menjadi rol yang lebih kecil atau potongan kertas persegi panjang. Proses pemotongan tersebut harus dapat meminimumkan jumlah rol jumbo yang akan dipotong dan juga dapat meminimumkan sisa pemotongan. 54

68 55 Masalah pemotongan persediaan satu dimensi yang akan dibahas adalah tentang pemotongan rol jumbo menjadi potongan rol kecil dengan ukuran yang bervariasi. Berikut gambar pemotongan satu dimensi dari rol jumbo menjadi rol kecil. Gambar 3.1: Pemotongan rol jumbo menjadi beberapa bagian (rol kecil). Misalkan terdapat n kemungkinan pola pemotongan untuk rol jumbo dengan lebar r, rol kecil memiliki lebar w i untuk i = 1,, m, dan p i adalah banyaknya rol kecil dengan lebar w i (p i bilangan bulat non negatif) sehingga m p i w i r. Maka masalah pemotongan ini dapat diselesaikan dalam program linier sebagai berikut. Minimumkan n z = x j j=1 (3.1) Dengan kala n p ij x j j=1 b i (3.2) x j 0

69 56 dan p ij adalah banyaknya rol kecil dengan lebar w i dalam pola pemotongan ke-j, b i adalah banyaknya permintaan rol kecil dengan lebar w i, variabel x j menunjukkan banyaknya rol jumbo yang dipotong pada jenis pemotongan ke-j, variabel m mewakili banyaknya variasi lebar kertas potongan (rol kecil), variabel n menunjukkan banyaknya kemungkinan pemotongan yang dapat dilakukan sesuai dengan variasi lebar kertas sesuai pesanan (pola pemotongan). Contoh 3.1 Sebuah industri kertas menghasilkan rol jumbo dengan lebar 3 meter. Pelanggan menginginkan rol dengan lebar yang lebih kecil. Dari rol jumbo dapat dipotong ke dalam 2 rol dengan lebar 93 cm, 1 rol dengan lebar 108 cm, dan menyisakan rol dengan lebar 6 cm. Misalkan pesanan yang diterima adalah sebagai berikut. Banyak rol Lebar rol (cm) Tabel 3.1: Tabel pesanan yang diterima Permasalahannya menjadi bagaimana menentukan pola pemotongan rol jumbo agar pesanan dapat dipenuhi dengan banyaknya rol jumbo yang harus dipotong sesedikit mungkin.

70 57 Ada 12 kemungkinan cara memotong rol jumbo ke dalam rol kecil sesuai pesanan (dengan sisa pemotongan kurang dari 42 cm) yaitu: Kemungkinan j Lebar rol Tabel 3.2: Tabel pola pemotongan yang dibuat sesuai pesanan

71 58 Pola 1 dari tabel di atas berarti 1 rol jumbo dengan lebar 3 meter akan dipotong menjadi 2 rol kecil dengan lebar 135 cm. Pola 2 berarti 1 rol jumbo akan dipotong menjadi 1 rol kecil dengan lebar 135, 1 rol kecil dengan lebar 108 dan 1 rol kecil dengan lebar 42 cm. Demikian seterusnya berlaku cara membaca data yang sama untuk pola-pola pemotongan yang lain. Untuk setiap kemungkinan pola P j di atas, kita memperkenalkan variabel x j 0 yang menunjukkan banyaknya rol jumbo yang harus dipotong menurut pola P j. Dengan demikian, fungsi tujuan adalah meminimumkan jumlah rol jumbo yang dipotong yaitu 12 j=1 x j. Agar pesanan terpenuhi maka untuk setiap ukuran lebar yang dipesan ditambahkan 1 kala. Sebagai contoh, untuk pesanan 395 rol dengan lebar 93 cm, maka fungsi kala dapat dituliskan x 3 + 2x 6 + x 7 + 3x 9 + 2x 10 + x yang berarti jumlah rol kecil dengan lebar 93 cm yang dihasilkan dengan memotong rol jumbo menurut berbagai pola pemotongan tidak boleh kurang dari 395 rol (jumlah rol pesanan). Demikian seterusnya sehingga diperoleh masalah program linier berikut. Minimumkan 12 x j j=1 Dengan kala x 3 + 2x 6 + x 7 + 3x 9 + 2x 10 + x

72 59 2x 1 + x 2 + x 3 + x 4 97 x 2 + 2x 5 + x 6 + x 7 + x x 2 + x 3 + 3x 4 + 2x 5 + 2x 7 + 4x 8 + 2x x x x j 0 Masalah tersebut dapat diselesaikan dengan program QM for Windows yang merupakan perangkat lunak digunakan untuk membantu proses perhitungan secara teknis pengambilan keputusan secara kuantitatif. Program ini menyediakan modulmodul dalam area pengambilan keputusan bisnis seperti assignment, forecasting, integer programming, linear programming, quality control, inventory, dan lainlain. Berikut adalah hasil yang didapat menggunakan QM. Tabel 3.3: Hasil QM pada contoh 3.1

73 60 Dari gambar di atas, didapatkan solusi optimal yaitu x 1 = 48,5, x 5 = 206,25, x 6 = 197,5, dan selainnya bernilai 0. Itu berarti untuk memenuhi pesanan diperlukan rol sebanyak 48,5 untuk pola pemotongan pertama, 206,25 rol untuk pola pemotongan kelima, dan 197,5 rol untuk pola pemotongan keenam. Dengan demikian, banyaknya rol jumbo yang digunakan sebanyak 452,25 rol. Ketika kita melibatkan masalah pemotongan persediaan dalam dunia industri kertas, tentu saja penyelesaian kasus pada masalah ini adalah dengan menyertakan data sebagai input. Secara umum, masalah-masalah ini sangat luas dan kompleks untuk diselesaikan sampai mapat solusi eksak. Oleh karena itu, metode heuristik menjadi salah satu algoritma yang diharapakan dapat berjalan dengan baik untuk menemukan solusi yang optimal. B. Algoritma PSO Sebagai Pekatan untuk Pencarian Solusi Optimal CSP Seperti yang sudah dibahas sebelumnya, algoritma Particle Swarm Optimization (PSO) adalah algoritma evolusioner berbasis populasi yang terinspirasi dari teori kawanan di mana semua partikel di lingkungan itu bergantung pada penjelajahan mereka dan pengalaman masa lalu dari tetangga mereka. Bergantung pada pengalaman mereka siri dan anggota lain dari kawanan, setiap individu mapatkan manfaat dari informasi tersebut untuk mencari makanan atau daerah untuk bersarang yang akan merepresentasikan solusi ideal. PSO menggunakan konsep populasi dan kinerja serta penyesuaian individu sebagai berikut:

74 61 A. Pengkodean Partikel Pengkodean untuk partikel ini didesain sebagai vektor berukuran m (setara dengan jumlah potongan yang diminta). Posisi j pada partikel menandai persediaan kertas di mana bagian j tersebut dipotong pada saat iterasi ke-i. Contoh: Misal: X i j = (1,2,2,3) kita dapat mencatat bahwa solusi ini sesuai dengan ekstraksi 4 potongan dari 3 jenis panjang kertas. Sesuai dengan contoh ini, solusi atau partikel diilustrasikan sebagai berikut: Potongan partikel Gambar 3.2 : Ilustrasi partikel B. Fungsi Fitness Fungsi Fitness pada masalah pemotongan persediaan ini merupakan fungsi obyektif yang bertujuan untuk mengevaluasi setiap partikel dan menemukan banyaknya kertas yang digunakan. Nilai fitness dihitung sebagai penjumlahan semua nilai fungsi obyektif dari masing-masing variabel (partikel). C. Populasi Awal Posisi sebuah partikel yang ditunjukkan oleh vektor menyajikan solusi potensial dari masalah. PSO diinisialisasi dengan populasi partikel yang secara acak diberikan atau dihasilkan oleh metode heuristik dan mencari posisi terbaik (solusi) dengan nilai fitness terbaik.

75 62 D. Pergerakan Partikel Setelah pembangkitan populasi awal, sebuah seleksi dilakukan untuk memilih partikel pemimpin atau solusi terbaik global. Operasi perhitungan dilakukan pada setiap iterasi untuk memilih antara Terbaik Global (Gbest) dan partikel acak untuk membawanya lebih dekat ke solusi yang optimal. Pada saat itu, kawanan tumbuh dan merangkak dengan optimal sampai tercapai kriteria penghentiannya. Pada setiap iterasi dalam algoritma, setiap partikel xj memodifikasi kecepatan v i j -nya dan posisi x i j tergantung pada dua elemen penting: Sebuah lokal utama yaitu Pbest i j dan yang kedua yang mewakili perilaku sosial dari kawanan yaitu Gbest i j. Kecepatan yang mengontrol pergerakan partikel ini dirancang sebagai berikut: v i j = v i 1 j + (c 1 r 1 (Pbest i j x i 1 j )) + (c 2 r 2 (Gbest i j x i 1 j )) x i j = x i 1 i j + v j Selanjutnya, kita mefinisikan operator yang dipakai persamaan di atas: 1. Operator Pengurangan: Operator ( ) merupakan pengurangan untuk mapatkan selisih nilai antara posisi saat ini dengan partikel ke-j pada iterasi sebelumnya, x j i 1 dan posisi yang diinginkan sebagai Pbest j i 1 maupun Gbest i j dapat disajikan oleh vektor dari n elemen di mana, setiap elemen menunjukkan bahwa apakah isi dari elemen yang berkoresponden dalam x i 1 j memenuhi kondisi yang diinginkan atau tidak. Jika ya, elemen akan mapat nilai dari Pbest i 1 j atau Gbest i j. 2. Operator perkalian: Operator ( ) ini menyangkut eksplorasi ruang pencarian karena hanya berhubungan dengan struktur biner acak. Jadi dalam

76 63 operator ini, partikel memiliki peluang untuk melakukan penyimpangan posisi. 3. Operator Penambahan: Hasil operator (+) ini sebenarnya memiliki misi pertukaran informasi struktural yang dikembangkan selama pencarian. Berikut adalah hasil penyelesaian masalah pemotongan persediaan kertas sesuai contoh yang dapat ditampilkan setelah dieksekusi dengan algoritma PSO dengan bantuan MATLAB: ********************************************************* Final Results bestfun = bestrun = 5 best_variables = Columns 1 through Columns 10 through >> Elapsed time is seconds. *********************************************************

77 64 Gambar 3.3: Gambar grafik konvergensi PSO pada run ke 5 Hasil perhitungan dengan algoritma PSO yang dijalankan pada program MATLAB tidak berbeda jauh dengan hasil perhitungan yang dilakukan oleh software QM, didapatkan solusi optimal yaitu x 1 = , x 5 = , x 6 = , dan selainnya bernilai 0. Itu berarti untuk memenuhi pesanan diperlukan rol sebanyak untuk pola pemotongan pertama, rol untuk pola pemotongan kelima, dan rol untuk pola pemotongan keenam. Dengan demikian, banyaknya rol jumbo yang digunakan sebanyak rol. Dari data yang sudah didapat menghasilkan jumlah rol bukan berupa bilangan bulat. Oleh karena itu, diperlukan suatu metode untuk memberikan solusi berupa bilangan bulat. Metode yang digunakan adalah first-fit decreasing.

78 65 Metode First-Fit Decreasing Pada iterasi ke-j dari metode ini yaitu menemukan pola pemotongan rol jumbo ke-j. Iterasi dimulai dengan sisa permintaan setelah jumlah rol dibulatkan ke bawah yaitu b 1, b 2,, b m. Pola pemotongan yang dihasilkan untuk setiap iterasi yaitu a i = min { i 1 b i (r w k a k k=1 ) w i (3.3) Untuk i = 1,2,, m, kemudian ganti setiap nilai b i dengan b i a i dan lanjutkan proses iterasi ke-j+1. Contoh 3.2 Mencari solusi bilangan bulat untuk contoh 3.1 didapatkan hasil Pola pemotongan ke- Lebar rol Banyak rol , , ,5 Tabel 3.4: Tabel hasil yang diperoleh dengan menggunakan algoritma PSO

79 66 Karena solusi belum bernilai bilangan bulat, maka dengan menggunakan metode first-fit decreasing solusi diubah menjadi bilangan bulat. Pertama, semua solusi yang diperoleh dibulatkan ke bawah. Sehingga untuk pola 1 memerlukan 48 rol, pola 2 memerlukan 206 rol, dan pola 3 memerlukan 197 rol. Karena semua solusi dibulatkan ke bawah, maka jumlah produksi rol pesanan kurang atau sama dengan permintaan rol. Lebar Rol (w i ) Permintaan (b i ) Produksi ( x B ) Sisa (b i ) 135 cm 97 rol 96 rol 1 rol 108 cm 610 rol 609 rol 1 rol 93 cm 395 rol 394 rol 1 rol 42 cm 211 rol 412 rol 0 rol Tabel 3.5: Tabel nilai solusi yang sudah dibulatkan ke bawah dan sisa produksinya Iterasi 1 Diketahui b 1 = 1, b 2 = 1, b 3 = 1, b 4 = 0. b 1 a 1 = min { r w 1 = min { = min {1 2 = 1 k=1 b 2 1 a 2 = min { (r w k a k ) w 2 = min { 1 ( ) 108 = min {1 1 = 1

80 67 k=1 b 3 2 a 3 = min { (r w k a k ) w 3 = min { 1 (300 ( ) 93 = min { 1 0 = 0 3 k=1 b 4 a 4 = min { (r w k a k ) w 4 0 = min { (300 ( ) 42 = min {0 1 = 0 Sehingga didapatkan b 1 = 0, b 2 = 0, b 3 = 1, b 4 = 0. Iterasi 2 b 1 a 1 = min { r w 1 = min { = min {0 2 = 0 k=1 b 2 1 a 2 = min { (r w k a k ) w 2 = min { 0 ( ) 108 = min {0 2 = 0 k=1 b 3 2 a 3 = min { (r w k a k ) w 3 = min { 1 (300 ( ) 93 = min { 1 3 = 1 3 k=1 b 4 a 4 = min { (r w k a k ) w 4 0 = min { (300 ( ) 42 = min {0 4 = 0

81 68 Sehingga didapatkan b 1 = 0, b 2 = 0, b 3 = 0, b 4 = 0. Proses iterasi diberhentikan karena semua pesanan sudah terpenuhi. Jadi, didapatkan 2 rol tambahan dengan 2 pola yang berbeda. Pola Lebar rol pesanan Jumlah rol TOTAL 453 Tabel 3.6: Tabel jumlah rol sesuai pola dari algoritma PSO dan algoritma FFD

82 BAB IV PENERAPAN ALGORITMA PARTICLE SWARM OPTIMIZATION UNTUK MASALAH PEMOTONGAN ROL KERTAS Pada bab ini akan dijelaskan mengenai cara menggunakan aplikasi yang sudah dibuat berdasarkan algoritma Particle Swarm Optimization. Aplikasi ini dibuat dengan Graphical User Interface (GUI) MATLAB. Dengan adanya aplikasi ini dapat memudahkan perhitungan. Berikut penjelasan dan cara tentang aplikasi ini. Buka aplikasi GUI MATLAB yang sudah dibuat maka akan terlihat tampilan seperti berikut ini. Gambar 4.1: Tampilan Menu Utama Program 69

83 70 Kemudian kita dapat menentukan banyak jenis rol yang dipesan berdasarkan lebarnya dengan cara mengetikkannya pada kolom yang tersedia. Gambar 4.2: Tampilan program ketika dimasukkan data banyak rol dan lebar rol

84 71 Jika dipilih tombol tambah data, maka akan muncul tampilan seperti di bawah. Gambar 4.3: Tampilan program ketika data tabel ditambah Setelah itu, isi semua data tabel dengan banyak rol dan lebar rol yang diinginkan sesuai pesanan, kemudian tentukan panjang rol jumbo dengan cara

85 72 mengetikkannya pada kolom yang tersedia. Input data ini juga akan digunakan dalam proses perhitungan. Gambar 4.4: Tampilan program ketika data tabel dan lebar rol sudah terisi

86 73 Setelah itu, tekan tombol Lakukan Proses Perhitungan maka akan muncul wait baryang menunjukkan proses running dan iterasi. Gambar 4.5: Tampilan untuk proses running dan iterasi

87 74 Tunggu beberapa saat, maka penyelesaian optimal akan muncul pada field yang telah tersedia. Gambar 4.6: Hasil yang didapat berupa pola pemotongan, best function, best run, best variable, kesimpulan, grafik konvergensi, serta waktu perhitungan.

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Program Linier Program linier merupakan suatu model matematika untuk mendapatkan alternatif penggunaan terbaik atas sumber-sumber yang tersedia. Kata linier digunakan untuk menunjukkan

Lebih terperinci

Penyelesaian Masalah Pemotongan Rol Kertas dengan Metode Penghasil Kolom

Penyelesaian Masalah Pemotongan Rol Kertas dengan Metode Penghasil Kolom MediaTeknika Jurnal Teknologi Vol.11, No.1, Juni 2016 40 Penyelesaian Masalah Pemotongan Rol Kertas dengan Metode Penghasil Kolom Rosa Ajeng Mahadika 1, Hartono 2 1,2 Program Studi Matematika, Fakultas

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Program Linier Program linier adalah suatu cara untuk menyelesaikan persoalan pengalokasian sumber-sumber yang terbatas di antara beberapa aktivitas yang bersaing, dengan cara

Lebih terperinci

Tutorial Particle Swarm Optimization

Tutorial Particle Swarm Optimization Tutorial Particle Swarm Optimization Budi Santosa Teknik Industri, ITS Kampus ITS, Sukolilo Surabaya E-mails: budi s@ie.its.ac.id 1 Pahuluan Particle swarm optimization, disingkat sebagai PSO, didasarkan

Lebih terperinci

BAB I PENDAHULUAN 1.1. Latar Belakang Masalah

BAB I PENDAHULUAN 1.1. Latar Belakang Masalah BAB I PENDAHULUAN 1.1. Latar Belakang Masalah Pemrograman linier integer atau Integer Linear Programming (ILP) pada intinya berkaitan dengan program-program linier di mana beberapa atau semua variabel

Lebih terperinci

Bab 2 LANDASAN TEORI

Bab 2 LANDASAN TEORI Bab 2 LANDASAN TEORI 2.1 Linear Programming Linear Programming (LP) merupakan metode yang digunakan untuk mencapai hasil terbaik (optimal) seperti keuntungan maksimum atau biaya minimum dalam model matematika

Lebih terperinci

MENEMUKAN AKAR PERSAMAAN POLINOMIAL MENGGUNAKAN PARTICLE SWARM OPTIMIZATION

MENEMUKAN AKAR PERSAMAAN POLINOMIAL MENGGUNAKAN PARTICLE SWARM OPTIMIZATION MENEMUKAN AKAR PERSAMAAN POLINOMIAL MENGGUNAKAN PARTICLE SWARM OPTIMIZATION Oei,EdwinWicaksonoDarmawan, Suyanto Edward Antonius, Ir., M.Sc, Program Studi Teknik Informatika Universitas Katolik Soegijapranata

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI BAB TINJAUAN PUSTAKA DAN DASAR TEORI.1. Penelitian Terdahulu Archetti et al. (009) menggunakan sebuah metode eksak yaitu branch-and-price scheme dan dua metode metaheuristics yaitu algoritma Variable Neighborhood

Lebih terperinci

OPTIMASI PEMOTONGAN BALOK KAYU DENGAN POLA PEMOTONGAN SATU DIMENSI MENGGUNAKAN TEKNIK PEMBANGKIT KOLOM (COLUMN GENERATION TECHNIQUE) SKRIPSI

OPTIMASI PEMOTONGAN BALOK KAYU DENGAN POLA PEMOTONGAN SATU DIMENSI MENGGUNAKAN TEKNIK PEMBANGKIT KOLOM (COLUMN GENERATION TECHNIQUE) SKRIPSI OPTIMASI PEMOTONGAN BALOK KAYU DENGAN POLA PEMOTONGAN SATU DIMENSI MENGGUNAKAN TEKNIK PEMBANGKIT KOLOM (COLUMN GENERATION TECHNIQUE) SKRIPSI Diajukan kepada Fakultas Matematika dan Ilmu Pengetahuan Alam

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Program Linier Menurut Aminudin (2005), program linier merupakan suatu model matematika untuk mendapatkan alternatif penggunaan terbaik atas sumber-sumber yang tersedia. Kata linier

Lebih terperinci

Particle Swarm Optimization

Particle Swarm Optimization Particle Swarm Optimization Budi Santosa Dosen Teknik Industri ITS Surabaya Email: budi_s@ie.its.ac.id Tutorial ini disadur dari buku: Budi Santosa dan Paul Willy, Metoda Metaheuristik, Konsep dan Implementasi,

Lebih terperinci

Reduksi Pola Pemotongan Kertas pada Cutting Stock Problem (CSP) Satu Dimensi

Reduksi Pola Pemotongan Kertas pada Cutting Stock Problem (CSP) Satu Dimensi Reduksi Pola Kertas pada Cutting Stock Problem (CSP) Satu Dimensi Sisca Octarina, Putra BJ Bangun, Miranda Avifana Jurusan Matematika Fakultas MIPA Universitas Sriwijaya Indralaya, Indonesia e-mail: s.octarina@gmail.com

Lebih terperinci

SWARM GENETIC ALGORITHM, SUATU HIBRIDA DARI ALGORITMA GENETIKA DAN PARTICLE SWARM OPTIMIZATION. Taufan Mahardhika 1

SWARM GENETIC ALGORITHM, SUATU HIBRIDA DARI ALGORITMA GENETIKA DAN PARTICLE SWARM OPTIMIZATION. Taufan Mahardhika 1 SWARM GENETIC ALGORITHM, SUATU HIBRIDA DARI ALGORITMA GENETIKA DAN PARTICLE SWARM OPTIMIZATION Taufan Mahardhika 1 1 Prodi S1 Kimia, Sekolah Tinggi Analis Bakti Asih 1 taufansensei@yahoo.com Abstrak Swarm

Lebih terperinci

BAB 3 METODE PENELITIAN

BAB 3 METODE PENELITIAN BAB 3 METODE PENELITIAN Pada bab ini, akan dijelaskan metode-metode yang penulis gunakan dalam penelitian ini. Adapun metode yang akan digunakan dalam penelitian ini adalah Metode Simpleks dan Metode Branch

Lebih terperinci

PENYELESAIAN PERMASALAHAN TRIM LOSS DENGAN MODEL INTEGER LINEAR PROGRAMMING DAN MIXED INTEGER LINEAR PROGRAMMING

PENYELESAIAN PERMASALAHAN TRIM LOSS DENGAN MODEL INTEGER LINEAR PROGRAMMING DAN MIXED INTEGER LINEAR PROGRAMMING PENYELESAAN PERMASALAHAN TRM LOSS DENGAN MODEL NTEGER LNEAR PROGRAMMNG DAN MXED NTEGER LNEAR PROGRAMMNG Nama Mahasiswa : Pradina Eka Wardani NRP : 1206 100 024 urusan : Matematika Dosen Pembimbing : Dra.

Lebih terperinci

PENYELESAIAN MASALAH PEMOTONGAN ROL KERTAS DENGAN METODE PENGHASIL KOLOM SKRIPSI

PENYELESAIAN MASALAH PEMOTONGAN ROL KERTAS DENGAN METODE PENGHASIL KOLOM SKRIPSI PENYELESAIAN MASALAH PEMOTONGAN ROL KERTAS DENGAN METODE PENGHASIL KOLOM SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains Program Studi Matematika Disusun oleh: Rosa Ajeng

Lebih terperinci

Bab 1 PENDAHULUAN. 1.1 Latar Belakang

Bab 1 PENDAHULUAN. 1.1 Latar Belakang Bab 1 PENDAHULUAN 1.1 Latar Belakang Dewasa ini, manusia sering dihadapi oleh permasalahan melibatkan optimasi tujuan ganda (multi-objective), contohnya dalam hal perencanaan atau peramalan pasar yang

Lebih terperinci

BAB 2 PROGRAM INTEGER. Program linear merupakan metode matematika untuk mengalokasikan sumber

BAB 2 PROGRAM INTEGER. Program linear merupakan metode matematika untuk mengalokasikan sumber BAB 2 PROGRAM INTEGER 2.1 Program Linear Program linear merupakan metode matematika untuk mengalokasikan sumber daya yang biasanya terbatas supaya mencapai hasil yang optimal, misalnya memaksimumkan keuntungan

Lebih terperinci

Modul 8. PENELITIAN OPERASIONAL INTEGER PROGRAMMING. Oleh : Eliyani PROGRAM KELAS KARYAWAN PROGRAM STUDI TEKNIK INDUSTRI FAKULTAS TEKNOLOGI INDUSTRI

Modul 8. PENELITIAN OPERASIONAL INTEGER PROGRAMMING. Oleh : Eliyani PROGRAM KELAS KARYAWAN PROGRAM STUDI TEKNIK INDUSTRI FAKULTAS TEKNOLOGI INDUSTRI Modul 8. PENELITIAN OPERASIONAL INTEGER PROGRAMMING Oleh : Eliyani PROGRAM KELAS KARYAWAN PROGRAM STUDI TEKNIK INDUSTRI FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS MERCU BUANA JAKARTA 2007 2 PENDAHULUAN Salah

Lebih terperinci

UJM 3 (2) (2014) UNNES Journal of Mathematics.

UJM 3 (2) (2014) UNNES Journal of Mathematics. UJM 3 (2) (2014) UNNES Journal of Mathematics http://journal.unnes.ac.id/sju/index.php/ujm IMPLEMENTASI ALGORITMA BRANCH AND BOUND PADA 0-1 KNAPSACK PROBLEM UNTUK MENGOPTIMALKAN MUATAN BARANG Arum Pratiwi,

Lebih terperinci

II LANDASAN TEORI. suatu fungsi dalam variabel-variabel. adalah suatu fungsi linear jika dan hanya jika untuk himpunan konstanta,.

II LANDASAN TEORI. suatu fungsi dalam variabel-variabel. adalah suatu fungsi linear jika dan hanya jika untuk himpunan konstanta,. II LANDASAN TEORI Pada pembuatan model penjadwalan pertandingan sepak bola babak kualifikasi Piala Dunia FIFA 2014 Zona Amerika Selatan, diperlukan pemahaman beberapa teori yang digunakan di dalam penyelesaiannya,

Lebih terperinci

BAB II TINJAUAN PUSTAKA. Job shop scheduling problem (JSSP) adalah permasalahan optimasi

BAB II TINJAUAN PUSTAKA. Job shop scheduling problem (JSSP) adalah permasalahan optimasi BAB II TINJAUAN PUSTAKA 2.1 Job Shop Scheduling Problem (JSSP) Job shop scheduling problem (JSSP) adalah permasalahan optimasi kombinatorial. Misalkan terdapat n buah job atau pekerjaan, yaitu J 1, J 2,,

Lebih terperinci

BAB I PENDAHULUAN 1.1. Latar Belakang dan Permasalahan

BAB I PENDAHULUAN 1.1. Latar Belakang dan Permasalahan BAB I PENDAHULUAN 1.1. Latar Belakang dan Permasalahan Kereta api merupakan salah satu angkutan darat yang banyak diminati masyarakat, hal ini dikarenakan biaya yang relatif murah dan waktu tempuh yang

Lebih terperinci

Rekonfigurasi jaring distribusi untuk meningkatkan indeks keandalan dengan mengurangi rugi daya nyata pada sistem distribusi Surabaya.

Rekonfigurasi jaring distribusi untuk meningkatkan indeks keandalan dengan mengurangi rugi daya nyata pada sistem distribusi Surabaya. Rekonfigurasi jaring distribusi untuk meningkatkan indeks keandalan dengan mengurangi rugi daya nyata pada sistem distribusi Surabaya. RIZKIANANTO WARDANA M Misbach Fachri 2207100038 Sistem Tenaga Listrik

Lebih terperinci

BAB 3 LINEAR PROGRAMMING

BAB 3 LINEAR PROGRAMMING BAB 3 LINEAR PROGRAMMING Teori-teori yang dijelaskan pada bab ini sebagai landasan berpikir untuk melakukan penelitian ini dan mempermudah pembahasan hasil utama pada bab selanjutnya. 3.1 Linear Programming

Lebih terperinci

DAFTAR ISI... HALAMAN JUDUL... HALAMAN PERSETUJUAN... LEMBAR PERNYATAAN... HALAMAN PERSEMBAHAN... HALAMAN MOTTO... KATA PENGANTAR... DAFTAR TABEL...

DAFTAR ISI... HALAMAN JUDUL... HALAMAN PERSETUJUAN... LEMBAR PERNYATAAN... HALAMAN PERSEMBAHAN... HALAMAN MOTTO... KATA PENGANTAR... DAFTAR TABEL... DAFTAR ISI Halaman HALAMAN JUDUL... HALAMAN PERSETUJUAN... LEMBAR PERNYATAAN... HALAMAN PERSEMBAHAN... HALAMAN MOTTO... KATA PENGANTAR... DAFTAR ISI... DAFTAR TABEL... DAFTAR GAMBAR... INTISARI... ABSTRACT...

Lebih terperinci

Penyelesaian Masalah Travelling Salesman Problem Menggunakan Ant Colony Optimization (ACO)

Penyelesaian Masalah Travelling Salesman Problem Menggunakan Ant Colony Optimization (ACO) Penyelesaian Masalah Travelling Salesman Problem Menggunakan Ant Colony Optimization (ACO) Anna Maria 1, Elfira Yolanda Sinaga 2, Maria Helena Iwo 3 Laboratorium Ilmu dan Rekayasa Komputasi Departemen

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Program Integer 2.1.1 Definisi Program Integer Program Integer adalah program linier (Linear Programming) di mana variabelvariabelnya bertipe integer(bulat). Program Integerdigunakan

Lebih terperinci

PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN ALGORITMA BRANCH AND BOUND

PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN ALGORITMA BRANCH AND BOUND PENYEESAIAN TRAVEING SAESMAN PROBEM DENGAN AGORITMA BRANCH AND BOND Yogo Dwi Prasetyo Pendidikan Matematika, niversitas Asahan e-mail: abdullah.prasetyo@gmail.com Abstract The shortest route search by

Lebih terperinci

PERANCANGAN ALGORITMA BELAJAR JARINGAN SYARAF TIRUAN MENGGUNAKAN PARTICLE SWARM OPTIMIZATION (PSO)

PERANCANGAN ALGORITMA BELAJAR JARINGAN SYARAF TIRUAN MENGGUNAKAN PARTICLE SWARM OPTIMIZATION (PSO) Jurnal POROS TEKNIK, Volume 5, No. 1, Juni 2013 : 18-23 PERANCANGAN ALGORITMA BELAJAR JARINGAN SYARAF TIRUAN MENGGUNAKAN PARTICLE SWARM OPTIMIZATION (PSO) Nurmahaludin (1) (1) Staf Pengajar Jurusan Teknik

Lebih terperinci

Bab 2 LANDASAN TEORI

Bab 2 LANDASAN TEORI Bab 2 LANDASAN TEORI 2.1 Program Linear Menurut Sitorus, Parlin (1997), Program Linier merupakan suatu teknik penyelesaian optimal atas suatu problema keputusan dengan cara menentukan terlebih dahulu suatu

Lebih terperinci

I PENDAHULUAN II LANDASAN TEORI

I PENDAHULUAN II LANDASAN TEORI I PENDAHULUAN. Latar Belakang Masalah penentuan rute bus karyawan mendapat perhatian dari para peneliti selama lebih kurang 30 tahun belakangan ini. Masalah optimisasi rute bus karyawan secara matematis

Lebih terperinci

I PENDAHULUAN II LANDASAN TEORI

I PENDAHULUAN II LANDASAN TEORI 1 I PENDAHULUAN 1.1 Latar Belakang Kamar darurat (Emergency Room/ER) adalah tempat yang sangat penting peranannya pada rumah sakit. Aktivitas yang cukup padat mengharuskan kamar darurat selalu dijaga oleh

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Program Linier Program linier adalah suatu teknik penyelesaian optimal atas suatu problema keputusan dengan cara menentukan terlebih dahulu fungsi tujuan (memaksimalkan atau meminimalkan)

Lebih terperinci

KOMBINASI PERSYARATAN KARUSH KUHN TUCKER DAN METODE BRANCH AND BOUND PADA PEMROGRAMAN KUADRATIK KONVEKS BILANGAN BULAT MURNI

KOMBINASI PERSYARATAN KARUSH KUHN TUCKER DAN METODE BRANCH AND BOUND PADA PEMROGRAMAN KUADRATIK KONVEKS BILANGAN BULAT MURNI Jurnal LOG!K@ Jilid 7 No 1 2017 Hal 52-60 ISSN 1978 8568 KOMBINASI PERSYARATAN KARUSH KUHN TUCKER DAN METODE BRANCH AND BOUND PADA PEMROGRAMAN KUADRATIK KONVEKS BILANGAN BULAT MURNI Khoerunisa dan Muhaza

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2. Program linier (Linier Programming) Pemrograman linier merupakan metode matematik dalam mengalokasikan sumber daya yang terbatas untuk mencapai suatu tujuan seperti memaksimumkan

Lebih terperinci

BAB 2 KAJIAN PUSTAKA

BAB 2 KAJIAN PUSTAKA BAB 2 KAJIAN PUSTAKA 2.1 Program Linier Penyelesaian program linear dengan algoritma interior point dapat merupakan sebuah penyelesaian persoalan yang kompleks. Permasalahan dalam program linier mungkin

Lebih terperinci

BAB II LANDASAN TEORI. Pemrograman linear (PL) ialah salah satu teknik dari riset operasi untuk

BAB II LANDASAN TEORI. Pemrograman linear (PL) ialah salah satu teknik dari riset operasi untuk BAB II LANDASAN TEORI A. Pemrograman Linear Pemrograman linear (PL) ialah salah satu teknik dari riset operasi untuk memecahkan persoalan optimasi (maksimum atau minimum) dengan menggunakan persamaan dan

Lebih terperinci

Dynamic Optimal Power Flow dengan kurva biaya pembangkitan tidak mulus menggunakan Particle Swarm Optimization

Dynamic Optimal Power Flow dengan kurva biaya pembangkitan tidak mulus menggunakan Particle Swarm Optimization JURNAL TEKNIK POMITS Vol. 3, No. 1, (2014) ISSN: 2337-3539 (2301-9271 Print) B-24 Dynamic Optimal Power Flow dengan kurva biaya pembangkitan tidak mulus menggunakan Particle Swarm Optimization Afif Nur

Lebih terperinci

I PENDAHULUAN II LANDASAN TEORI

I PENDAHULUAN II LANDASAN TEORI I PENDAHULUAN 1.1 Latar Belakang Semakin tingginya mobilitas penduduk di suatu negara terutama di kota besar tentulah memiliki banyak permasalahan, mulai dari kemacetan yang tak terselesaikan hingga moda

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Optimasi Menurut Nash dan Sofer (1996), optimasi adalah sarana untuk mengekspresikan model matematika yang bertujuan memecahkan masalah dengan cara terbaik. Untuk tujuan bisnis,

Lebih terperinci

12/15/2014. Apa yang dimaksud dengan Pemrograman Bulat? Solusi yang didapat optimal, tetapi mungkin tidak integer.

12/15/2014. Apa yang dimaksud dengan Pemrograman Bulat? Solusi yang didapat optimal, tetapi mungkin tidak integer. 1 PEMROGRAMAN LINEAR BULAT (INTEGER LINEAR PROGRAMMING - ILP) Apa yang dimaksud dengan Pemrograman Bulat? METODE SIMPLEKS Solusi yang didapat optimal, tetapi mungkin tidak integer. 2 1 INTEGER LINEAR PROGRAMMING

Lebih terperinci

Presentasi Tugas Akhir

Presentasi Tugas Akhir Presentasi Tugas Akhir OPTIMASI KONTROLER PID BERBASIS ALGORITMA PARTICLE SWARM OPTIMIZATION UNTUK PENGENDALIAN KECEPATAN MOTOR INDUKSI TIGA FASE Oleh: Suhartono (2209 105 008) Pembimbing: Ir. Ali Fatoni,

Lebih terperinci

TINJAUAN PUSTAKA. terbentuklah suatu sistem tenaga listrik. Setiap GI sesungguhnya merupakan pusat

TINJAUAN PUSTAKA. terbentuklah suatu sistem tenaga listrik. Setiap GI sesungguhnya merupakan pusat II. TINJAUAN PUSTAKA A. Operasi Sistem Tenaga Listrik Pusat-pusat listrik dan gardu induk satu sama lain dihubungkan oleh saluran transmisi agar tenaga listrik dapat mengalir sesuai dengan kebutuhan dan

Lebih terperinci

II TINJAUAN PUSTAKA 2.1 Graf Definisi 1 (Graf, Graf Berarah dan Graf Takberarah) 2.2 Linear Programming

II TINJAUAN PUSTAKA 2.1 Graf Definisi 1 (Graf, Graf Berarah dan Graf Takberarah) 2.2 Linear Programming 4 II TINJAUAN PUSTAKA Untuk memahami permasalahan yang berhubungan dengan penentuan rute optimal kendaraan dalam mendistribusikan barang serta menentukan solusinya maka diperlukan beberapa konsep teori

Lebih terperinci

MDH Gamal, Zaiful Bahri

MDH Gamal, Zaiful Bahri Jurnal Natur Indonesia 5(): -8 () ISSN -979 Pendekatan Program Linear untuk Persoalan Pemotongan Stok (Pola Pemotongan Satu Dimensi) MDH Gamal, Zaiful Bahri Jurusan Matematika, FMIPA, Universitas Riau

Lebih terperinci

OPTIMASI CUTTING STOCK SATU DIMENSI PADA INDUSTRI PEMOTONGAN BALOK KAYU DENGAN MENGGUNAKAN METODE COLUM GENERATION TECHNIQUE

OPTIMASI CUTTING STOCK SATU DIMENSI PADA INDUSTRI PEMOTONGAN BALOK KAYU DENGAN MENGGUNAKAN METODE COLUM GENERATION TECHNIQUE ISBN:978-602-7980-9-6 OPTIMASI CUTTING STOCK SATU DIMENSI PADA INDUSTRI PEMOTONGAN BALOK KAYU DENGAN MENGGUNAKAN METODE COLUM GENERATION TECHNIQUE Nerli Khairani ], Ramlah Hidayat ] FMIPA, UNIMED nerlinst@yahoo.co.id

Lebih terperinci

PERBANDINGAN ALGORITMA PARTICLE SWARM OPTIMIZATION DAN REGRESI PADA PERAMALAN WAKTU BEBAN PUNCAK

PERBANDINGAN ALGORITMA PARTICLE SWARM OPTIMIZATION DAN REGRESI PADA PERAMALAN WAKTU BEBAN PUNCAK Jurnal POROS TEKNIK, Volume 6, No. 2, Desember 2014 : 55-10 PERBANDINGAN ALGORITMA PARTICLE SWARM OPTIMIZATION DAN REGRESI PADA PERAMALAN WAKTU BEBAN PUNCAK Nurmahaludin (1) (1) Staff Pengajar Jurusan

Lebih terperinci

BAB II TINJAUAN PUSTAKA. 2.1 Optimasi Berbasis Particle Swarm

BAB II TINJAUAN PUSTAKA. 2.1 Optimasi Berbasis Particle Swarm BAB II TINJAUAN PUSTAKA Bab ini akan menjelaskan landasan teori yang digunakan dalam pengerjaan tugas akhir. Pada dasarnya ada 2 buah varian PSO yang akan digunakan, yaitu optimasi berbasis particle swarm

Lebih terperinci

BAB II KAJIAN PUSTAKA

BAB II KAJIAN PUSTAKA BAB II KAJIAN PUSTAKA A. Efektivitas Efektivitas berasal dari kata efektif, yang merupakan kata serapan dari bahasa Inggris yaitu effective yang artinya berhasil. Menurut kamus ilmiah popular, efektivitas

Lebih terperinci

I PENDAHULUAN II LANDASAN TEORI

I PENDAHULUAN II LANDASAN TEORI I PENDAHULUAN 1.1 Latar Belakang Sukarelawan adalah seseorang atau sekelompok orang yang secara ikhlas karena panggilan nuraninya memberikan apa yang dimilikinya tanpa mengharapkan imbalan. Sukarelawan

Lebih terperinci

Optimisasi Injeksi Daya Aktif dan Reaktif Dalam Penempatan Distributed Generator (DG) Menggunakan Fuzzy - Particle Swarm Optimization (FPSO)

Optimisasi Injeksi Daya Aktif dan Reaktif Dalam Penempatan Distributed Generator (DG) Menggunakan Fuzzy - Particle Swarm Optimization (FPSO) TESIS Optimisasi Injeksi Daya Aktif dan Reaktif Dalam Penempatan Distributed Generator (DG) Menggunakan Fuzzy - Particle Swarm Optimization (FPSO) Dosen Pembimbing : Prof. Ir. Mochamad Ashari, M.Eng. Ph.D

Lebih terperinci

BAB II KAJIAN PUSTAKA. pemrograman nonlinear, fungsi konveks dan konkaf, pengali lagrange, dan

BAB II KAJIAN PUSTAKA. pemrograman nonlinear, fungsi konveks dan konkaf, pengali lagrange, dan BAB II KAJIAN PUSTAKA Kajian pustaka pada bab ini akan membahas tentang pengertian dan penjelasan yang berkaitan dengan fungsi, turunan parsial, pemrograman linear, pemrograman nonlinear, fungsi konveks

Lebih terperinci

PENERAPAN METODE BRANCH AND BOUND DALAM MENENTUKAN JUMLAH PRODUKSI OPTIMUM PADA CV. XYZ. Angeline, Iryanto, Gim Tarigan

PENERAPAN METODE BRANCH AND BOUND DALAM MENENTUKAN JUMLAH PRODUKSI OPTIMUM PADA CV. XYZ. Angeline, Iryanto, Gim Tarigan Saintia Matematika ISSN: 2337-9197 Vol. 2, No. 2 (2014), pp. 137 145. PENERAPAN METODE BRANCH AND BOUND DALAM MENENTUKAN JUMLAH PRODUKSI OPTIMUM PADA CV. XYZ Angeline, Iryanto, Gim Tarigan Abstrak. CV.

Lebih terperinci

UKDW BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

UKDW BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Permasalahan pemotongan kayu sering dialami oleh industri yang memproduksi batangan-batangan kayu menjadi persediaan kayu dalam potonganpotongan yang lebih

Lebih terperinci

Penggabungan Algoritma Brute Force dan Backtracking dalam Travelling Thief Problem

Penggabungan Algoritma Brute Force dan Backtracking dalam Travelling Thief Problem Penggabungan Algoritma Brute Force dan Backtracking dalam Travelling Thief Problem Jessica Handayani (13513069) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

OPTIMASI PEMOTONGAN ROL KERTAS DUA DIMENSI DENGAN MENGGUNAKAN PROGRAM LINEAR

OPTIMASI PEMOTONGAN ROL KERTAS DUA DIMENSI DENGAN MENGGUNAKAN PROGRAM LINEAR OPTIMASI PEMOTONGAN ROL KERTAS DUA DIMENSI DENGAN MENGGUNAKAN PROGRAM LINEAR Tugas Akhir Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains Program Studi Matematika Oleh: Andreas

Lebih terperinci

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Perusahaan adalah suatu tempat dimana sumber daya dasar dikelola dengan proses yang sedemikian rupa sehingga diperoleh suatu hasil berupa barang atau jasa yang

Lebih terperinci

BAB I PENDAHULUAN Latar Belakang Masalah

BAB I PENDAHULUAN Latar Belakang Masalah BAB I PENDAHULUAN 1.1. Latar Belakang Masalah Indonesia merupakan salah satu Negara yang mempunyai wilayah hutan yang cukup luas dan merupakan negara terpenting penghasil berbagai kayu bulat tropis, kayu

Lebih terperinci

Implementasi Algoritma Greedy pada Permainan Ludo

Implementasi Algoritma Greedy pada Permainan Ludo Implementasi Algoritma Greedy pada Permainan Ludo Sylvia Juliana, 13515070 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl, Ganesha 10 Bandung 40132,

Lebih terperinci

Abstrak. Info Artikel. Abstract Universitas Negeri Semarang ISSN

Abstrak. Info Artikel. Abstract Universitas Negeri Semarang ISSN UJM 3 (2) (2014) UNNES Journal of Mathematics http://journal.unnes.ac.id/sju/index.php/ujm METODE COLUMN GENERATION TECHNIQUE SEBAGAI PENYELESAIAN PERMASALAHAN CUTTING STOCK SATU DIMENSI PADA PEMOTONGAN

Lebih terperinci

PENENTUAN JALUR TERPENDEK PADA APLIKASI OJEK ONLINE GO-JEK DENGAN PROBABILISTIC NEURAL NETWORK (PNN) DAN PARTICLE SWARM OPTIMIZATION (PSO)

PENENTUAN JALUR TERPENDEK PADA APLIKASI OJEK ONLINE GO-JEK DENGAN PROBABILISTIC NEURAL NETWORK (PNN) DAN PARTICLE SWARM OPTIMIZATION (PSO) PENENTUAN JALUR TERPENDEK PADA APLIKASI OJEK ONLINE GO-JEK DENGAN PROBABILISTIC NEURAL NETWORK (PNN) DAN PARTICLE SWARM OPTIMIZATION (PSO) Levina Fitri Rahmawati, Isnandar Slamet, dan Diari Indriati Program

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Program Integer Program Integer merupakan pengembangan dari Program Linear dimana beberapa atau semua variabel keputusannya harus berupa integer. Jika hanya sebagian variabel

Lebih terperinci

PROGRAM FRAKSIONAL LINIER DENGAN KOEFISIEN INTERVAL. Annisa Ratna Sari 1, Sunarsih 2, Suryoto 3. Jl. Prof. H. Soedarto, S.H. Tembalang Semarang

PROGRAM FRAKSIONAL LINIER DENGAN KOEFISIEN INTERVAL. Annisa Ratna Sari 1, Sunarsih 2, Suryoto 3. Jl. Prof. H. Soedarto, S.H. Tembalang Semarang PROGRAM FRAKSIONAL LINIER DENGAN KOEFISIEN INTERVAL Annisa Ratna Sari 1, Sunarsih 2, Suryoto 3 1,2,3 Jurusan Matematika FSM Universitas Diponegoro Jl. Prof. H. Soedarto, S.H. Tembalang Semarang Abstract.

Lebih terperinci

Optimasi Parameter Kontroler PID Berbasis Particle Swarm Optimization untuk Pengendalian Kecepatan Motor Induksi Tiga Fase

Optimasi Parameter Kontroler PID Berbasis Particle Swarm Optimization untuk Pengendalian Kecepatan Motor Induksi Tiga Fase Optimasi Parameter Kontroler PID Berbasis Particle Swarm Optimization untuk Pengendalian Kecepatan Motor Induksi Tiga Fase Suhartono Jurusan Teknik Elektro, Fakultas Teknologi Industri Institut Teknologi

Lebih terperinci

PENYELESAIAN MASALAH PENUGASAN YANG DIPERUMUM DENGAN MENGGUNAKAN ALGORITMA BRANCH-AND-BOUND YANG DIREVISI

PENYELESAIAN MASALAH PENUGASAN YANG DIPERUMUM DENGAN MENGGUNAKAN ALGORITMA BRANCH-AND-BOUND YANG DIREVISI PENYELESAIAN MASALAH PENUGASAN YANG DIPERUMUM DENGAN MENGGUNAKAN ALGORITMA BRANCH-AND-BOUND YANG DIREVISI Siti Nur Aisyah 1), Khusnul Novianingsih 2), Entit Puspita 3) 1), 2), 3) Departemen Pendidikan

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA 2 BAB 2 TINJAUAN PUSTAKA 2.1. Logika Fuzzy Logika fuzzy adalah suatu cara untuk memetakan suatu ruang masukan ke dalam suatu ruang keluaran. Logika fuzzy ditemukan oleh Prof.Lotfi A. Zadeh dari Universitas

Lebih terperinci

FUNGSI ACKLEY DAN PENCARIAN NILAI OPTIMUMNYA MENGGUNAKAN ALGORITMA STROBERI. Muhamad Fadilah Universitas Jenderal Soedirman

FUNGSI ACKLEY DAN PENCARIAN NILAI OPTIMUMNYA MENGGUNAKAN ALGORITMA STROBERI. Muhamad Fadilah Universitas Jenderal Soedirman Prosiding Seminar Nasional Matematika dan Terapannya 06 p-issn : 550-0384; e-issn : 550-039 FUNGSI ACKLEY DAN PENCARIAN NILAI OPTIMUMNYA MENGGUNAKAN ALGORITMA STROBERI Muhamad Fadilah Universitas Jenderal

Lebih terperinci

PENERAPAN BRANCH AND BOUND ALGORITHM DALAM OPTIMALISASI PRODUKSI ROTI

PENERAPAN BRANCH AND BOUND ALGORITHM DALAM OPTIMALISASI PRODUKSI ROTI E-Jurnal Matematika Vol. 5 (4), November 2016, pp. 148-155 ISSN: 2303-1751 PENERAPAN BRANCH AND BOUND ALGORITHM DALAM OPTIMALISASI PRODUKSI ROTI Gede Suryawan 1, Ni Ketut Tari Tastrawati 2, Kartika Sari

Lebih terperinci

PENERAPAN METODE BRANCH AND BOUND DALAM PENYELESAIAN MASALAH PADA INTEGER PROGRAMMING

PENERAPAN METODE BRANCH AND BOUND DALAM PENYELESAIAN MASALAH PADA INTEGER PROGRAMMING Jurnal Manajemen Informatika dan Teknik Komputer Volume, Nomor, Oktober 05 PENERAPAN METODE BRANCH AND BOUND DALAM PENYELESAIAN MASALAH PADA INTEGER PROGRAMMING Havid Syafwan Program Studi Manajemen Informatika

Lebih terperinci

Optimisasi Multi Depot Vehicle Routing Problem (MDVRP) dengan Variabel Travel Time Menggunakan Algoritma Particle Swarm Optimization

Optimisasi Multi Depot Vehicle Routing Problem (MDVRP) dengan Variabel Travel Time Menggunakan Algoritma Particle Swarm Optimization Optimisasi Multi Depot Vehicle Routing Problem (MDVRP) dengan Variabel Travel Time Menggunakan Algoritma Particle Swarm Optimization Nurlita Gamayanti 1, Abdullah Alkaff 2, Randi Mangatas 3 Jurusan Teknik

Lebih terperinci

I PENDAHULUAN II LANDASAN TEORI

I PENDAHULUAN II LANDASAN TEORI 1 I PENDAHULUAN 1.1 Latar Belakang Salah satu tujuan dari industri atau perusahaan adalah menciptakan laba yang maksimal. Salah satu bentuk usahanya adalah dengan memaksimumkan hasil produksi atau meminimumkan

Lebih terperinci

PENYELESAIAN PROGRAM BILANGAN BULAT CAMPURAN DUA KRITERIA DENGAN MENGGUNAKAN METODE BRANCH AND CUT SKRIPSI TAUFIK HIDAYAT RITONGA

PENYELESAIAN PROGRAM BILANGAN BULAT CAMPURAN DUA KRITERIA DENGAN MENGGUNAKAN METODE BRANCH AND CUT SKRIPSI TAUFIK HIDAYAT RITONGA PENYELESAIAN PROGRAM BILANGAN BULAT CAMPURAN DUA KRITERIA DENGAN MENGGUNAKAN METODE BRANCH AND CUT SKRIPSI TAUFIK HIDAYAT RITONGA 110803028 DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

Lebih terperinci

FUNGSI GRIEWANK DAN PENENTUAN NILAI OPTIMUMNYA MENGGUNAKAN ALGORITMA STROBERI. Tri Nadiani Solihah

FUNGSI GRIEWANK DAN PENENTUAN NILAI OPTIMUMNYA MENGGUNAKAN ALGORITMA STROBERI. Tri Nadiani Solihah Prosiding Seminar Nasional Matematika dan Terapannya 2016 p-issn : 2550-0384; e-issn : 2550-0392 FUNGSI GRIEWANK DAN PENENTUAN NILAI OPTIMUMNYA MENGGUNAKAN ALGORITMA STROBERI Tri Nadiani Solihah trinadianisolihah@gmail.com

Lebih terperinci

APLIKASI PROGRAM INTEGER PADA PERUMAHAN BUMI SERGAI DI SEI RAMPAH

APLIKASI PROGRAM INTEGER PADA PERUMAHAN BUMI SERGAI DI SEI RAMPAH Saintia Matematika Vol. 2, No. 1 (2014), pp. 13 21. APLIKASI PROGRAM INTEGER PADA PERUMAHAN BUMI SERGAI DI SEI RAMPAH ERLINA, ELLY ROSMAINI, HENRY RANI SITEPU Abstrak. Kebutuhan akan rumah merupakan salah

Lebih terperinci

Metode Simpleks (Simplex Method) Materi Bahasan

Metode Simpleks (Simplex Method) Materi Bahasan Metode Simpleks (Simplex Method) Kuliah 03 TI2231 Penelitian Operasional I 1 Materi Bahasan 1 Rumusan Pemrograman linier dalam bentuk baku 2 Pemecahan sistem persamaan linier 3 Prinsip-prinsip metode simpleks

Lebih terperinci

PENYELESAIAN PERMASALAHAN TRAVELLING SALESMAN PROBLEM MENGGUNAKAN ALGORITMA DIFFERENTIAL EVOLUTION

PENYELESAIAN PERMASALAHAN TRAVELLING SALESMAN PROBLEM MENGGUNAKAN ALGORITMA DIFFERENTIAL EVOLUTION PENYELESAIAN PERMASALAHAN TRAVELLING SALESMAN PROBLEM MENGGUNAKAN ALGORITMA DIFFERENTIAL EVOLUTION Heri Awalul Ilhamsah Jurusan Teknik Industri Universitas Trunojoyo Email: hilhamsah@gmail.com ABSTRAK

Lebih terperinci

BAB 1 PENDAHULUAN. Permasalahan pemotongan bahan baku menjadi beberapa bagian untuk diproses

BAB 1 PENDAHULUAN. Permasalahan pemotongan bahan baku menjadi beberapa bagian untuk diproses BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Setiap manusia menginginkan keuntungan sebanyak-banyaknya dengan mengefisiensikan sumber daya yang dimiliki terhadap batasan-batasan yang ditemui pada suatu

Lebih terperinci

Optimasi PSO Untuk Peramalan Harga Emas Secara Rentet Waktu

Optimasi PSO Untuk Peramalan Harga Emas Secara Rentet Waktu Optimasi PSO Untuk Peramalan Harga Emas Secara Rentet Waktu Iwan Fitriadi Mukhlis Sekolah Tinggi Manajemen dan Informatika (STMIK) Indonesia Banjarmasin Jl. Pangeran Hidayatullah Banua Anyar Telp. (0511)4315530

Lebih terperinci

BAB II KAJIAN TEORI. masalah fuzzy linear programming untuk optimasi hasil produksi pada bab

BAB II KAJIAN TEORI. masalah fuzzy linear programming untuk optimasi hasil produksi pada bab BAB II KAJIAN TEORI Berikut diberikan landasan teori mengenai program linear, konsep himpunan fuzzy, program linear fuzzy dan metode Mehar untuk membahas penyelesaian masalah fuzzy linear programming untuk

Lebih terperinci

ABSTRAK. Universitas Kristen Maranatha

ABSTRAK. Universitas Kristen Maranatha ABSTRAK Dalam beberapa tahun terakhir ini, peranan algoritma genetika terutama untuk masalah optimisasi, berkembang dengan pesat. Masalah optimisasi ini beraneka ragam tergantung dari bidangnya. Dalam

Lebih terperinci

BAB I PENDAHULUAN. yang dikemukakan oleh George Dantzig pada tahun Linear Programming (LP) adalah perencanaan aktivitas-aktivitas untuk

BAB I PENDAHULUAN. yang dikemukakan oleh George Dantzig pada tahun Linear Programming (LP) adalah perencanaan aktivitas-aktivitas untuk BAB I PENDAHULUAN 1.1 Latar Belakang Program Linear adalah suatu alat yang digunakan untuk menyelesaikan masalah optimasi suatu model linear dengan keterbatasan-keterbatasan sumber daya yang tersedia.

Lebih terperinci

SKRIPSI SOLUSI INTEGER UNTUK MASALAH PEMROGRAMAN LINEAR BILEVEL. Jessica Christella NPM:

SKRIPSI SOLUSI INTEGER UNTUK MASALAH PEMROGRAMAN LINEAR BILEVEL. Jessica Christella NPM: SKRIPSI SOLUSI INTEGER UNTUK MASALAH PEMROGRAMAN LINEAR BILEVEL Jessica Christella NPM: 2013710013 PROGRAM STUDI MATEMATIKA FAKULTAS TEKNOLOGI INFORMASI DAN SAINS UNIVERSITAS KATOLIK PARAHYANGAN 2017 FINAL

Lebih terperinci

Bab IV Simulasi dan Pembahasan

Bab IV Simulasi dan Pembahasan Bab IV Simulasi dan Pembahasan IV.1 Gambaran Umum Simulasi Untuk menganalisis program pemodelan network flow analysis yang telah dirancang maka perlu dilakukan simulasi program tersebut. Dalam penelitian

Lebih terperinci

BAB 2 LANDASAN TEORI 2.1 Perencanaan Produksi

BAB 2 LANDASAN TEORI 2.1 Perencanaan Produksi BAB 2 LANDASAN TEORI 21 Perencanaan Produksi Produksi yang dalam bahasa inggris disebut production adalah keseluruhan proses yang dilakukan untuk menghasilkan produk atau jasa Produk yang dihasilkan sebagai

Lebih terperinci

1 BAB I PENDAHULUAN. 1.1 Latar Belakang

1 BAB I PENDAHULUAN. 1.1 Latar Belakang 1 BAB I PENDAHULUAN 1.1 Latar Belakang Listrik pada abad ini sudah merupakan kebutuhan primer yang tidak bisa tergantikan. Karena pentingnya listrik ini, sistem yang menyuplai dan mengalirkan listrik ini

Lebih terperinci

BAB 2 OPTIMISASI KOMBINATORIAL

BAB 2 OPTIMISASI KOMBINATORIAL BAB 2 OPTIMISASI KOMBINATORIAL Optimisasi kombinatorial merupakan suatu cara yang digunakan untuk mencari semua kemungkinan nilai real dari suatu fungsi objektif. Proses pencarian dapat dilakukan dengan

Lebih terperinci

ANALISIS PERBANDINGAN METODE JARINGAN SYARAF TIRUAN DAN REGRESI LINEAR BERGANDA PADA PRAKIRAAN CUACA

ANALISIS PERBANDINGAN METODE JARINGAN SYARAF TIRUAN DAN REGRESI LINEAR BERGANDA PADA PRAKIRAAN CUACA ANALISIS PERBANDINGAN METODE JARINGAN SYARAF TIRUAN DAN REGRESI LINEAR BERGANDA PADA PRAKIRAAN CUACA Nurmahaludin (1) (1) Staf Pengajar Jurusan Teknik Elektro Politeknik Negeri Banjarmasin Ringkasan Kebutuhan

Lebih terperinci

PROGRAMA INTEGER 10/31/2012 1

PROGRAMA INTEGER 10/31/2012 1 PROGRAMA INTEGER 10/31/2012 1 Programa linier integer (integer linear programming/ilp) pada intinya berkaitan dengan program-program linier dimana beberapa atau semua variabel memiliki nilai-nilai integer

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 21 Teori Himpunan Fuzzy Pada himpunan tegas (crisp), nilai keanggotaan suatu item x dalam himpunan A, yang sering ditulis dengan memiliki dua kemungkinan, yaitu: 1 Nol (0), yang berarti

Lebih terperinci

Pendekatan Algoritma Genetika pada Peminimalan Fungsi Ackley menggunakan Representasi Biner

Pendekatan Algoritma Genetika pada Peminimalan Fungsi Ackley menggunakan Representasi Biner Vol. 7, 2, 108-117, Januari 2011 Pendekatan Algoritma Genetika pada Peminimalan Fungsi Ackley menggunakan Representasi Biner Jusmawati Massalesse Abstrak Tulisan ini dimaksudkan untuk memperlihatkan proses

Lebih terperinci

BAB III PEMBAHASAN. linear yang dinyatakan dengan fungsi tujuan dan fungsi kendala yang memiliki

BAB III PEMBAHASAN. linear yang dinyatakan dengan fungsi tujuan dan fungsi kendala yang memiliki BAB III PEMBAHASAN Masalah Fuzzy Linear Programming (FLP) merupakan masalah program linear yang dinyatakan dengan fungsi tujuan dan fungsi kendala yang memiliki parameter fuzzy dan ketidaksamaan fuzzy

Lebih terperinci

Analisis dan Implementasi Krill Herd Algorithm (KHA) dalam Masalah Pemotongan Bahan (Cutting Stock Problem) Non-guillotine Dua Dimensi

Analisis dan Implementasi Krill Herd Algorithm (KHA) dalam Masalah Pemotongan Bahan (Cutting Stock Problem) Non-guillotine Dua Dimensi Analisis dan Implementasi Krill Herd Algorithm (KHA) dalam Masalah Pemotongan Bahan (Cutting Stock Problem) Non-guillotine Dua Dimensi Jeffrey 1, Agung Toto Wibowo 2, Mahmud Dwi Sulistiyo 3 1, 2, 3 Fakultas

Lebih terperinci

Integer Programming (Pemrograman Bulat)

Integer Programming (Pemrograman Bulat) Integer Programming (Pemrograman Bulat) Pemrograman bulat dibutuhkan ketika keputusan harus dilakukan dalam bentuk bilangan bulat (bukan pecahan yang sering terjadi bila kita gunakan metode simpleks).

Lebih terperinci

Abstract. Undip, Vol III, No 1, Januari Abstrak

Abstract. Undip, Vol III, No 1, Januari Abstrak USULAN PERBAIKAN METODE PEMILIHAN ALTERNATIF PEMOTONGAN ROLL DENGAN MODEL TRIM LOSS - INTEGER LINEAR PROGRAMMING (STUDI KASUS : PT PELITA CENGKARENG PAPER & CO, TANGERANG) Vivi Triyanti dan Orlena Tirtasari

Lebih terperinci

IMPLEMENTASI METODE ANT COLONY OPTIMIZATION UNTUK PEMILIHAN FITUR PADA KATEGORISASI DOKUMEN TEKS

IMPLEMENTASI METODE ANT COLONY OPTIMIZATION UNTUK PEMILIHAN FITUR PADA KATEGORISASI DOKUMEN TEKS IMPLEMENTASI METODE ANT COLONY OPTIMIZATION UNTUK PEMILIHAN FITUR PADA KATEGORISASI DOKUMEN TEKS Yudis Anggara Putra Chastine Fatichah Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut

Lebih terperinci

Optimasi Multi Travelling Salesman Problem (M-TSP) Menggunakan Algoritma Genetika

Optimasi Multi Travelling Salesman Problem (M-TSP) Menggunakan Algoritma Genetika Optimasi Multi Travelling Salesman Problem (M-TSP) Menggunakan Algoritma Genetika Wayan Firdaus Mahmudy (wayanfm@ub.ac.id) Program Studi Ilmu Komputer, Universitas Brawijaya, Malang, Indonesia Abstrak.

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI 2.1. Vehicle Routing Problem Vehicle Routing Problem merupakan permasalahan distribusi yang mencari serangkaian rute untuk sejumlah kendaraan dengan kapasitas tertentu

Lebih terperinci

OPTIMASI PEMBANGKITAN EKONOMIS PADA UNIT-UNIT PEMBANGKIT LISTRIK TENAGA DIESEL TELAGA MENGGUNAKAN MODIFIKASI PARTICLE SWARM OPTIMIZATION (MPSO).

OPTIMASI PEMBANGKITAN EKONOMIS PADA UNIT-UNIT PEMBANGKIT LISTRIK TENAGA DIESEL TELAGA MENGGUNAKAN MODIFIKASI PARTICLE SWARM OPTIMIZATION (MPSO). OPTIMASI PEMBANGKITAN EKONOMIS PADA UNIT-UNIT PEMBANGKIT LISTRIK TENAGA DIESEL TELAGA MENGGUNAKAN MODIFIKASI PARTICLE SWARM OPTIMIZATION (MPSO). Fityan Thalib, Tri Pratiwi Handayani 1, dan Sabhan Kanata

Lebih terperinci

Model Optimisasi dan Pemrograman Linear

Model Optimisasi dan Pemrograman Linear Modul Model Optimisasi dan Pemrograman Linear Prof. Dr. Djati Kerami Dra. Denny Riama Silaban, M.Kom. S PENDAHULUAN ebelum membuat rancangan penyelesaian masalah dalam bentuk riset operasional, kita harus

Lebih terperinci