Masalah Pemotongan Persediaan Cutting Stock Problem

+ + + + + + + + + + + + + + + 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 modul- modul dalam area pengambilan keputusan bisnis seperti assignment, forecasting, integer programming, linear programming, quality control, inventory, dan lain- lain. Berikut adalah hasil yang didapat menggunakan QM. Tabel 3.3: Hasil QM pada contoh 3.1 Dari gambar di atas, didapatkan solusi optimal yaitu = , , = , , = , , 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 mendapat 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 Pendekatan 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 sendiri dan anggota lain dari kawanan, setiap individu mendapatkan 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: Potongan partikel 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: � = , , , 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: 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. 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 x j memodifikasi kecepatan -nya dan posisi tergantung pada dua elemen penting: Sebuah lokal utama yaitu � dan yang kedua yang mewakili perilaku sosial dari kawanan yaitu . Kecepatan yang mengontrol pergerakan partikel ini dirancang sebagai berikut: = − + × � − − + × − − = − + Selanjutnya, kita mendefinisikan operator yang dipakai persamaan di atas: 1. Operator Pengurangan: Operator − merupakan pengurangan untuk mendapatkan selisih nilai antara posisi saat ini dengan partikel ke-j pada iterasi sebelumnya, − dan posisi yang diinginkan sebagai � − maupun dapat disajikan oleh vektor dari n elemen di mana, setiap elemen menunjukkan bahwa apakah isi dari elemen yang berkoresponden dalam − memenuhi kondisi yang diinginkan atau tidak. Jika ya, elemen akan mendapat nilai dari � − atau . 2. Operator perkalian: Operator × ini menyangkut eksplorasi ruang pencarian karena hanya berhubungan dengan struktur biner acak. Jadi dalam 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 = 452.2747 bestrun = 5 best_variables = Columns 1 through 9 48.5080 0 0 0 206.2667 197.5001 0 0 0 Columns 10 through 12 0 0 0 Elapsed time is 15.217224 seconds. 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 = . , = . , = . , dan selainnya bernilai 0. Itu berarti untuk memenuhi pesanan diperlukan rol sebanyak 48.5080 untuk pola pemotongan pertama, 206.2667 rol untuk pola pemotongan kelima, dan 197.5001 rol untuk pola pemotongan keenam. Dengan demikian, banyaknya rol jumbo yang digunakan sebanyak 452.2747 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. 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 ′ , ′ , … , ′ . Pola pemotongan yang dihasilkan untuk setiap iterasi yaitu = { ′ − ∑ − = ⁄ 3.3 Untuk = , , … , , kemudian ganti setiap nilai ′ dengan ′ − 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 135 108 93 42 1 2 48,5 2 2 2 206,27 3 1 2 197,5 Tabel 3.4 : Tabel hasil yang diperoleh dengan menggunakan algoritma PSO