OPTIMASI PENATAAN SILINDER DALAM KONTAINER DENGAN ALGORITMA GENETIKA Novita Wulan Sari1, Yuliana Setyowati2, S.Kom, M.Kom, Ira Prasetyaningrum2, S. Si, M.T 1 Mahasiswa, 2 Dosen Pembimbing Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Kampus ITS Keputih Sukolilo Surabaya 60111, Indonesia Telp:+62-31-5947280 Fax:+62-31-5946114 Email :
[email protected]
dimungkinkan terjadi persarangan satu silinder ke dalam silinder lain. • Bagaimana mengoptimalkan pengepakan silinder pejal ke dalam satu kontainer/kotak, optimal disini meliputi jenis apa saja yang harus dimasukkan dan bagaimana pula penataannya. • Bagaimana mengalokasikan silinder ke dalam berbagai kontainer/kotak dengan berbagai ukuran untuk meminimasi jumlah kontainer yang akan dikirimkan. Agar pengepakan silinder dengan berbagai ukuran dalam kontainer optimal, maka perlu dilakukan optimasi.
ABSTRAK Optimasi adalah pencarian nilai-nilai variabel yang dianggap optimal, efektif dan efisien untuk mencapai hasil yang diinginkan. Masalah optimasi ini beraneka ragam tergantung dari bidangnya. Secara khusus untuk bidang ekspedisi, penerapan optimasi adalah dengan cara memaksimumkan pengisian kontainer. Dengan optimasi tersebut diharapkan menghasilkan suatu solusi konfigurasi pengepakan yang mempertimbangkan kestabilan silinder, menjaga agar tidak ada konfigurasi silinder yang melayang dan tumpang tindih. Pentingnya penelitian mengenai pengepakan silinder didasari atas pertimbangan bahwa kesalahan dalam penempatan silinder akan menyebabkan adanya ruang yang terbuang dalam kontainer. Berbagai pendekatan dan algoritma ditawarkan untuk mendapatkan solusi yang optimal. Salah satu contohnya adalah algoritma genetika yang diharapkan bisa menjadi metode alternatif untuk solusi yang optimal
Perumusan Masalah Untuk mengetahui optimal atau tidaknya pengisian barang tersebut, dilakukan dengan melihat dari banyaknya volume barang yang dapat masuk atau juga dapat diketahui dari banyaknya sisa ruang kosong di kontainer. Jadi semakin banyak volume barang yang dapat masuk atau semakin sedikit sisa ruang kosong di kontainer maka semakin optimal pengisian tersebut. Bentuk barang masih dibatasi hanya untuk barang-barang silinder yang pejal.
Kata kunci — silinder, packing, optimasi, algoritma genetika I.
Batasan Masalah Dalam membahas masalah penataan silinder, dalam tulisan ini diasumsikan bahwa : Silinder ditata dalam kontainer dengan posisi tidur. Silinder yang dilakukan optimasi dalam kontainer adalah silinder pejal Silinder memiliki ukuran diameter dan panjang beraneka ragam dimana panjang silinder minimal adalah sama dengan diameter. Silinder dianggap memiliki ketahanan yang kuat sehingga memungkinkan ada silinder yang lebih berat di atas silinder lain
Pendahuluan Latar Belakang Seiring dengan perkembangan ekonomi di Indonesia yang semakin pesat, perkembangan industri distribusi semakin meningkat. Dengan peningkatan ini diharapkan industri distribusi semakin meningkatkan kinerja dan kualitas pelayanan jasa pengiriman barang. Untuk menghemat biaya pengiriman barang mereka berusaha mengoptimalkan armada pengiriman dengan memaksimalkan daya angkut. Oleh karena itu, suatu industri diharapkan dapat mengoptimalkan pengepakan barang dalam alat transportasi pengangkutan barang sehingga barang yang diangkut dapat maksimal dan dapat meminimalkan jumlah kendaraan alat pengangkut. Barang yang akan dikirim tersebut dapat berbentuk silinder dan alat transportasi yang digunakan adalah kontainer. Ada tiga permasalahan penting yang dihadapi pada pengepakan silinder secara lengkap yaitu : • Bagaimana mengoptimalkan pengepakan untuk kasus silinder berongga, dimana bisa
II. Teori Penunjang. Algoritma Genetika Algoritma genetika yang dikembangkan oleh Goldberg adalah algoritma komputasi yang diinspirasi teori evolusi Darwin yang menyatakan bahwa kelangsungan hidup suatu makhluk dipengaruhi aturan “yang kuat adalah yang menang”. Darwin juga menyatakan bahwa kelangsungan hidup suatu makhluk dapat dipertahankan melalui proses reproduksi, crossover, dan mutasi. Konsep dalam teori evolusi Darwin tersebut kemudian diadopsi menjadi algoritma komputasi untuk mencari solusi 1
suatu permasalahan dengan cara yang lebih “alamiah”. Sebuah solusi yang dibangkitkan dalam algoritma genetika disebut sebagai chromosome, sedangkan kumpulan chromosome-chromosome tersebut disebut sebagai populasi. Sebuah chromosome dibentuk dari komponen-komponen penyusun yang disebut sebagai gen dan nilainya dapat berupa bilangan numerik, biner, simbol ataupun karakter tergantung dari permasalahan yang ingin diselesaikan. Chromosome-chromosome tersebut akan berevolusi secara berkelanjutan yang disebut dengan generasi. Dalam tiap generasi chromosomechromosome tersebut dievaluasi tingkat keberhasilan nilai solusinya terhadap masalah yang ingin diselesaikan (fungsi_objektif) menggunakan ukuran yang disebut dengan fitness. Untuk memilih chromosome yang tetap dipertahankan untuk generasi selanjutnya dilakukan proses yang disebut dengan seleksi. Proses seleksi chromosome menggunakan konsep aturan evolusi Darwin yang telah disebutkan sebelumnya yaitu chromosome yang mempunyai nilai fitness tinggi akan memiliki peluang lebih besar untuk terpilih lagi pada generasi selanjutnya Chromosome-chromosome baru yang disebut dengan offspring, dibentuk dengan cara melakukan perkawinan antar chromosome-chromosome dalam satu generasi yang disebut sebagai proses crossover. Jumlah chromosome dalam populasi yang mengalami crossover ditetukan oleh paramater yang disebut dengan crossover_rate. Mekanisme perubahan susunan unsur penyusun mahkluk hidup akibat adanya faktor alam yang disebut dengan mutasi direpresentasikan sebagai proses berubahnya satu atau lebih nilai gen dalam chromosome dengan suatu nilai acak. Jumlah gen dalam populasi yang mengalami mutasi ditentukan oleh parameter yang dinamakan mutation_rate. Setelah beberapa generasi akan dihasilkan chromosome-chromosome yang nilai gen-gennya konvergen ke suatu nilai tertentu yang merupakan solusi terbaik yang dihasilkan oleh algoritma genetika terhadap permasalahan yang ingin diselesaikan.
evolusi di alam, suatu algoritma genetika yang sederhana umumnya terdiri dari tiga operator yaitu: operator reproduksi, operator crossover (persilangan) dan operator mutasi. Struktur umum dari suatu algoritma genetika dapat didefinisikan dengan langkah-langkah sebagai berikut: 1. Membangkitkan populasi awal, Populasi awal ini dibangkitkan secara random sehingga didapatkan solusi awal. Populasi itu sendiri terdiri dari Sejumlah kromosom yang merepresentasikan solusi yang diinginkan. 2. Membentuk generasi baru, Dalam membentuk digunakan tiga operator yang telah disebut di atas yaitu operator reproduksi/seleksi, crossover dan mutasi. Proses ini dilakukan berulangulang sehingga didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru dimana generasi baru ini merupakan representasi dari solusi baru. 3. Evaluasi solusi, Proses ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti. Bila kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru dengan mengulangi langkah 2. Beberapa kriteria berhenti yang sering digunakan antara lain: Berhenti pada generasi tertentu. Berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness tertinggi tidak berubah. Berhenti bila dalam n generasi berikut tidak didapatkan nilai fitness yang lebih tinggi. III Perancangan Sistem 3.1 Spesifikasi Input Output Input o Ukuran kontainer (panjang, lebar, tinggi) o Ukuran silinder (panjang, diameter) o Jumlah silinder Output Output dari sistem ini adalah mengoptimalkan jumlah silinder yang dimasukkan dalam kontainer. Agar bisa meminimalkan ruang kosong yang tersisa maka semakin optimal pengisian tersebut. 3.2
DFD DFD level 0 :
Gambar 3.1 DFD level 0
Gambar 2.1 Flowchart GA
Algoritma genetika sangat tepat digunakan untuk penyelesaian masalah optimasi yang kompleks dan sukar diselesaikan dengan menggunakan metode yang konvensional. Sebagaimana halnya proses 2
DFD level 1 :
Gambar 3.7 Pengepakan silinder dalam kontainer
3.5 Formula Matematis Fungsi memaksimalkan : Z =min(kapBeratKontainer - totalBeratSilinder) Fungsi-fungsi kendala : (a) Di ≤ Xi ≤ (A - Di ) (b) Pi ≤ Yi ≤i(C - Di ) (c) Di ≤ Zi ≤i(B - Ti ) (d) (Xi – Xj)2 + (Yi –Yj)2 + (Zi – Zj)2 ≥ (Di )2 + (Ti )2 (e) Xi, ≥ 0, Yi ≥ 0, Zi ≥ 0 Keterangan : Kendala (a), (b) dan (c) menjamin jika silinder telah dimasukkan ke dalam kotak, maka tidak ada bagian dari silinder yang keluar dari kotak. Kendala (d) menjamin tidak ada satu silinder yang berpotongan dengan silinder lain dalam lingkup silinder yang sama, hubungan antar silinder dalam lingkup silinder yang sama minimal adalah bersinggungan atau sejajar. Kendala (e) bersifat sebagai penentu koordinat sumbu x, y dan z untuk silinder ke-i.
Gambar 3.2 DFD level 1
3.3
Rancangan System
3.6 Metode Solusi (a) Pencarian koordinat i. Silinder pertama diletakkan di sudut kiri bawah dengan koordinat titik tengah bisa dilihat dari jari-jari nya. ii. Apabila diameter dari lingkaran pertama dan kedua sama, maka koordinat titik tengah silinder kedua adalah Di + ri+1
Gambar 3.6 Diagram Alur System
3.4
Data dan Variabel Set indeks I menunjukkan kumpulan dari silinder sebagai kandidat yang akan ditempatkan ke dalam kotak. Ri adalah jari-jari dari silinder ke-i, Di adalah diameter silinder ke-i dan Pi adalah panjang silinder ke-i. Walaupun ada beberapa silinder yang berdiameter sama, nilai sebuah i tetap hanya untuk 1 silinder. A, B dan C masing-masing menunjukkan dimensi horizontal, dimensi vertikal dan dimensi diagonal dari kontainer. Xi, Yi dan Zi menunjukkan koordinat dari tiap silinder. Rincian variabel : l = jumlah silinder Di = diameter silinder ke-i Pi = panjang silinder ke-i A = dimensi horizontal kontainer B = dimensi vertikal kontainer C = dimensi diagonal kontainer Xi, Yi dan Zi = koordinat dari tiap silinder
Gambar 3.4 Dua diameter sama
iii.
Apabila diameter lingkaran kedua lebih besar atau lebih kecil daripada lingkaran pertama maka menggunakan rumus sbb :
Gambar 3.5 Besar lalu kecil
3
mempresentasikan jenis-jenis silinder yang telah diinputkan. Setiap kromosom harus memenuhi batasan-batasan yang telah dijelaskan sebelumnya. Representasi kromosom dapat digambarkan sbb : Misalkan ada 3 jenis silinder yang diinputkan : 3 Gambar 3.6 Kecil lalu besar
iv.
1
2
Gambar 3.5 Representasi Kromosom
Apabila sisi bawah telah terisi sampai penuh, maka penataan dialihkan ke sisi atas dengan bertumpu pada 2 silinder di bawahnya. Menggunakan rumus sbb :
Nomor yang tertulis pada representasi kromosom diatas adalah nama silinder. Setiap silinder memiliki atribut diameter, panjang dan berat. ii. Proses Inisialisasi Proses inisialisasi adalah proses pembentukan populasi awal yang diperoleh dengan cara rekombinasi kromosom sebanyak ukuran populasi yang ditentukan. Dalam permasalahan ini, proses rekombinasi kromosom ini harus tetap memperhatikan batasan-batasan yang telah ditetapkan sebelumnya. Berikut ini contoh proses inisialisasi : Input : Jenis silinder Ukuran silinder (diameter, panjang, berat) Ukuran kontainer (panjang, lebar, tinggi, kapasitas berat) Contoh proses inisialisasi populasi : Diasumsikan ada 3 jenis silinder yang diinputkan, dengan ukuran diameter dan panjang dalam desimeter dan berat dalam kilogram sbb :
Gambar 3.7 Tiga Silinder
Gambar 3.8 Solusi Tiga Silinder
Diameter Panjang Berat
S1 3 14 14
S2 4 23 34
S3 6 10 5
Tabel 3.1 Contoh ukuran untuk 3 silinder
Panjang kontainer = 150 dm; Lebar kontainer = 120 dm; Tinggi kontainer = 80 dm; Kapasitas berat kontainer = 1000 kg;
Gambar 3.9 Rumus Paul Bourke
v.
vi.
Jika sisi atas sudah terpenuhi, maka beralih ke sisi belakang silinder pertama dengan proses penataan seperti di atas. Dan nilai z disesuaikan dengan sisa panjang kontainer yang telah terpakai. Jika ruangan dalam satu kontainer telah terpakai keseluruhan, tetapi masih ada silinder yang belum masuk, maka akan dilakukan lagi penataan di kontainer baru dengan cara penaataan sama seperti di atas. Dan dimulai dari sudut kiri bawah.
iii.
(b) Algoritma Genetika i. Representasi Kromosom Dalam menyelesaikan optimasi pengepakan silinder dalam kontainer menggunakan algoritma genetika langkah yang pertama adalah membuat representasi kromosom. Dalam permasalahan ini kromosom dipresentasikan dalam bentuk list, yang 4
Proses Evaluasi Setelah mendapatkan suatu populasi awal dari algoritma inisialisasi populasi di atas, selanjutnya tiap-tiap kromosom akan dievaluasi. Fungsi evaluasi yang dihitung adalah fungsi untuk meminimalkan kapasitas berat dari kontainer sehingga dapat diketahui jumlah maksimal silinder yang bisa masuk dalam kontainer. Fungsi tersebut didefinisikan sbb : Z = min (kapBeratKontainertotalBeratSilinder) Dengan : l = jenis silinder (di, pi, bi) = parameter diameter, panjang dan berat silinder
Tabel 4.3 Ukuran 5 macam silinder silinder Diameter Panjang Berat S1 5 7 100 S2 6 9 50 S3 8 12 125 S4 7 10 100 S5 10 13 90
(p, l, t, kapB)
iv.
v.
vi.
= parameter untuk panjang, lebar, tinggi dan kapasitas berat kontainer Operator Tukar Silang Dalam tahap ini, populasi akan dikenakan operator tukar silang untuk mendapatkan kromosom baru (offspring). Proses ini melibatkan dua kromosom yang dijadikan sebagai parent untuk memproduksi kromosom baru. Metode tukar silang yang digunakan adalah OX (order crossover). Langkah-langkah dari proses tukar silang telah dijelaskan pada bab sebelumnya. Setelah dihasilkan kromosomkromosom baru dari proses tukar silang akan dilakukan seleksi kromosom yang nantinya dimasukkan dalam populasi baru. Operator Mutasi Selain dikenakan operator tukar silang, kromosom juga dikenakan operator mutasi. Proses mutasi yang dilakukan pada kromosom adalah menukar urutan salah satu gen sehingga didapatkan posisi yang berbeda. Setelah dihasilkan kromosom-kromosom yang baru dari proses reproduksi akan dilakukan seleksi kromosom yang nantinya dimasukkan dalam populasi baru. Kromosom yang yang telah dikenakan tukar silang ataupun mutasi harus memenuhi batasan-batasan yang telah ditetapkan. Seleksi Proses seleksi di antara kromosom dilakukan sesuai dengan nilai fitness tiap kromosom. Pada proses seleksi ini kromosom dengan nilai fitness yang lebih kecil dari nilai fitness kromosom pada proses sebelumnya akan dipilih sebagai kromosom-kromosom dead dan digantikan oleh kromosom-kromosom baru (offspring). Jadi populasi baru nantinya akan terdiri dari parent dan kromosom baru. Dari proses seleksi maka akan didapatkan populasi yang baru. Populasi baru ini akan mengalami proses yang sama dengan populasi tadi, yaitu operasi tukar silang, evaluasi, seleksi dan mutasi kemudian diseleksi lagi untuk mendapatkan populasi baru sampai generasi yang diinginkan.
S1 S2 S3 S4 S5 S6 S7 S8 S9 S10
4.1.1
20 feet 40 feet 45 feet
Lebar (dm) 24.38 24.38 24.38
Tinggi (dm) 25.91 25.91 28.96
Tabel 4.2 Ukuran 1 macam silinder silinder Diameter Panjang Berat S1 12 18 25
Hasil Eksperimen Pada percobaan pertama ini, menggunakan 1 macam silinder dengan ukuran sbb : Tabel 4.5 Ukuran 1 macam silinder Diameter Panjang Berat Jumlah 12 18 25 20
Dan menggunakan kontainer 20 feet dengan ukuran : Panjang = 60 dm, tinggi = 25 dm, lebar = 24 dm dan kapasitas berat = 24000 kg. Parameter GA yang diinputkan adalah jumlah populasi = 50, Probablilitas crossOver = 60%, Probabilitas Mutasi = 1 % dan Maksimal generasi = 100 yang telah di set default dalam program. Menggunakan metode CrossOver OX, Insertion Mutation dan Roulette Wheel Selection yang semuanya telah dijelaskan pada bab sebelumnya. Berikut ini adalah hasil koordinat yang dihasilkan dari komputasi diatas : Tabel 4.6 Tabel koordinat 1 silinder dan kontainer 20 feet
Tabel 4.1 Ukuran kontainer
Panjang (dm) 60.58 121.92 137.16
Tabel 4.2 Ukuran 10 macam silinder silinder Diameter Panjang Berat Jumlah 2 3 16 1 3 4 20 1 4 5 60 1 5 6 20 1 7 8 10 1 8 9 12 1 9 10 14 1 10 11 16 1 11 12 16 1 12 13 20 1
S1
IV Pengujian dan Analisa Data Eksperimen Untuk kepentingan validasi algoritma, digunakan salah satu kontainer dengan pilihan ukuran sbb : Kontainer
Jumlah 1 1 1 1 1
Kapasitas berat(kg) 24000 30480 32500 Jumlah 20
5
Jumlah Kontainer
3
Sisa Ruang
67305.59
Waktu Proses
8.61 Detik
No
Panjang
Diameter
NoKontainer
1 2 3 4 5 6 7 8 9 10 11 12 13 14
18.0 18.0 18.0 18.0 18.0 18.0 18.0 18.0 18.0 18.0 18.0 18.0 18.0 18.0
12.0 12.0 12.0 12.0 12.0 12.0 12.0 12.0 12.0 12.0 12.0 12.0 12.0 12.0
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0
Koordinat titik tengah x y z 6.0 18.0 12.0 6.0 18.0 12.0 6.0 18.0 12.0 6.0 18.0 12.0 6.0 18.0
6.0 6.0 16.39 6.0 6.0 16.39 6.0 6.0 16.39 6.0 6.0 16.39 6.0 6.0
0.0 0.0 0.0 18.0 18.0 18.0 36.0 36.0 36.0 0.0 0.0 0.0 18.0 18.0
15 16 17 18 19 20
18.0 18.0 18.0 18.0 18.0 18.0
12.0 12.0 12.0 12.0 12.0 12.0
2.0 2.0 2.0 2.0 3.0 3.0
12.0 6.0 18.0 12.0 6.0 18.0
16.39 6.0 6.0 16.39 6.0 6.0
saling perpotongan antar silinder, maka dianggap penataan berikut, telah memenuhi syarat.
18.0 36.0 36.0 36.0 0.0 0.0
Pada percobaan kedua ini, menggunakan 5 macam silinder degan ukuran sbb:
Penjelasan dari tabel diatas adalah bahwa tiaptiap silinder yang telah ditentukan jumlahnya, akan menempati koordinat-koordinat yang tertera diatas. Dimana koordinat-koordinat itu tidak akan melebihi batas koordinat yang telah ditentukan. Dari koordinat-koordinat yang telah didapatkan diatas, maka akan ditampilkan berikut ini adalah visualisasi dari koordinat diatas yang bisa juga digunakan sebagai analisa, apakah penataan silinder bisa optimal atau tidak.
S1 S2 S3 S4 S5
Tabel 4.7 Ukuran 5 macam silinder Diameter Panjang Berat Jumlah 8 12 125 10 7 10 100 10 10 15 90 10 12 17 120 5 15 20 200 5
Dimana total silinder yang digunakan adalah sebanyak 40 buah. Dan menggunakan kontainer 45 feet dengan ukuran : Panjang = 137 dm, tinggi = 28 dm, lebar = 24 dm dan kapasitas berat = 32500 kg. Parameter GA yang diinputkan adalah jumlah populasi = 50, Probablilitas crossOver = 60%, Probabilitas Mutasi = 1 % dan Maksimal generasi = 100 yang telah di set default dalam program. Menggunakan metode CrossOver OX, Insertion Mutation dan Roulette Wheel Selection yang semuanya telah dijelaskan pada bab sebelumnya.
Gambar 4.12 2D untuk1 silinder dan kontainer 20 feet
Berikut ini adalah hasil koordinat yang dihasilkan dari komputasi diatas :
Pada penataan di atas, dianggap telah memenuhi syarat, yaitu Tidak melebihi ruang dalam kontainer. Silinder dianggap stabil penataannya jika minimal menyentuh 2 titik, baik antara silinder atau dengan kontainer. Antar silinder tidak terjadi perpotongan.
Tabel 4.8 Tabel koordinat 5 silinder dan kontainer 45 feet
Gambar 4.13 3D untuk1 silinder dan kontainer 20 feet
Begitu juga dengan penataan berikut ini. Silinder tidak melewati batas ruang kontainer dan tidak ada
6
Jumlah Kontainer
1
Sisa Ruang
36708.94
Waktu Proses
16.32 Detik
No
Panjang
Diameter
NoKontainer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
10.0 20.0 17.0 15.0 17.0 20.0 10.0 10.0 10.0 17.0 10.0 12.0 12.0 12.0 15.0 12.0 17.0 15.0 12.0 15.0 12.0 12.0 15.0 20.0 10.0 12.0 12.0
7.0 15.0 12.0 10.0 12.0 15.0 7.0 7.0 7.0 12.0 7.0 8.0 8.0 8.0 10.0 8.0 12.0 10.0 8.0 10.0 8.0 8.0 10.0 15.0 7.0 8.0 8.0
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
Koordinat titik tengah x y z 3.5 13.75 6.0 19.0 6.0 16.5 3.5 10.5 17.5 7.0 14.0 4.0 15.94 11.8 5.0 13.94 11.68 19.0 4.0 19.54 4.0 12.0 8.0 7.5 17.75 18.47 4.0
3.5 7.5 18.56 18.84 6.0 14.49 3.5 3.5 3.5 12.33 9.56 21.87 16.81 23.65 5.0 4.0 13.74 11.45 20.15 21.43 4.0 4.0 12.06 7.5 3.5 10.97 0.0
0.0 0.0 0.0 0.0 20.0 20.0 37.0 37.0 37.0 37.0 37.0 37.0 37.0 37.0 47.0 47.0 47.0 47.0 47.0 47.0 62.0 62.0 62.0 74.0 74.0 74.0 74.0
28 29 30 31 32 33 34 35 36 37 38 39 40
15.0 10.0 12.0 17.0 10.0 10.0 20.0 15.0 15.0 15.0 10.0 20.0 15.0
10.0 7.0 8.0 12.0 7.0 7.0 15.0 10.0 10.0 10.0 7.0 15.0 10.0
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
19.0 3.5 10.98 6.0 20.5 3.5 0.0 5.0 5.0 19.0 3.5 13.75 5.0
0.0 3.5 4.0 12.67 0.0 21.84 0.0 0.0 0.0 0.0 3.5 7.5 16.43
74.0 94.0 94.0 94.0 94.0 94.0 94.0 94.0 94.0 94.0 106.0 106.0 106.0
Penjelasan dari tabel diatas adalah bahwa tiaptiap silinder yang telah ditentukan jumlahnya, akan menempati koordinat-koordinat yang tertera diatas. Dimana koordinat-koordinat itu tidak akan melebihi batas koordinat yang telah ditentukan. Dari koordinat-koordinat yang telah didapatkan diatas, maka akan ditampilkan berikut ini adalah visualisasi dari koordinat diatas yang bisa juga digunakan sebagai analisa, apakah penataan silinder bisa optimal atau tidak.
Gambar 4.16 3D untuk5 silinder dan kontainer 45 feet
Begitu juga dengan penataan berikut ini. Silinder tidak melewati batas ruang kontainer dan tidak ada saling perpotongan antar silinder, maka dianggap penataan berikut, telah memenuhi syarat.
Pada percobaan ketiga ini, menggunakan 10 macam silinder dengan ukuran sbb :
S1 S2 S3 S4 S5 S6 S7 S8 S9 S10
Gambar 4.15 2D untuk5 silinder dan kontainer 45 feet
Pada penataan di atas, dianggap telah memenuhi syarat, yaitu Tidak melebihi ruang dalam kontainer. Silinder dianggap stabil penataannya jika minimal menyentuh 2 titik, baik antara silinder atau dengan kontainer. Antar silinder tidak terjadi perpotongan.
Tabel 4.9 Ukuran 10 macam silinder Diameter Panjang Berat Jumlah 2 3 16 3 3 4 20 8 4 5 60 10 5 6 20 6 7 8 10 8 8 9 12 17 9 10 14 4 10 11 16 9 11 12 16 12 12 13 20 4
Dimana total silinder yang digunakan adalah sebanyak 81 buah. Dan menggunakan kontainer 40 feet dengan ukuran : Panjang = 137 dm, tinggi = 28 dm, lebar = 24 dm dan kapasitas berat = 32500 kg. Parameter GA yang diinputkan adalah jumlah populasi = 10, Probablilitas crossOver = 10%, Probabilitas Mutasi = 1 % dan Maksimal generasi = 100 yang telah di set default dalam program. Menggunakan metode CrossOver OX, Insertion Mutation dan Roulette Wheel Selection yang semuanya telah dijelaskan pada bab sebelumnya.
7
Berikut ini adalah hasil koordinat yang dihasilkan dari komputasi diatas :
Pada penataan di atas, dianggap telah memenuhi syarat, yaitu Tidak melebihi ruang dalam kontainer. Silinder dianggap stabil penataannya jika minimal menyentuh 2 titik, baik antara silinder atau dengan kontainer. Antar silinder tidak terjadi perpotongan.
Tabel 4.10 Tabel koordinat 10 silinder dan kontainer 40 feet Jumlah Kontainer
1
Sisa Ruang
62897.4
Waktu Proses
0.64 Detik
N o
Panja ng
Diameter
NoKontain er
1 2 3 4 5 6 7 8 9 10
3.0 3.0 12.0 6.0 9.0 10.0 8.0 11.0 5.0 4.0
2.0 12.0 11.0 5.0 8.0 9.0 7.0 10.0 4.0 3.0
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
Koordinat titik tengah x y z 1.0 5.9 17.39 2.5 12.41 4.5 6.52 5.0 11.32 14.79
1.0 6.0 5.5 13.79 13.59 20.5 18.24 5.0 2.0 1.5
0.0 0.0 0.0 0.0 0.0 0.0 0.0 13.0 13.0 13.0
Penjelasan dari tabel diatas adalah bahwa tiaptiap silinder yang telah ditentukan jumlahnya, akan menempati koordinat-koordinat yang tertera diatas. Dimana koordinat-koordinat itu tidak akan melebihi batas koordinat yang telah ditentukan. Dari koordinat-koordinat yang telah didapatkan diatas, maka akan ditampilkan berikut ini adalah visualisasi dari koordinat diatas yang bisa juga digunakan sebagai analisa, apakah penataan silinder bisa optimal atau tidak. Sengaja menggunakan probabilitas yang lebih kecil, karena pada saat menggunakan probabilitas yang lebih besar, maka akan dihasilkan ruang solusi yang memiliki hasil yang kadang tidak terkira dan tidak memenuhi syarat stabilnya penataan silinder dalam kontainer. Itupun, kita baru akan memperoleh hasil yang benar, setelah beberapa kali percobaan running program. Hal ini dikarenakan sifat silinder yang memiliki permukaan lingkaran, sehingga terkadang memiliki kemungkinan solusi yang terlalu banyak, sehingga solusi-solusi yang diberikan, kurang bisa mengoptimalkan. Oleh karena itu, dibuat lebih kecil probabilitasnya dengan maksimal generari tetap 100.
Gambar 4.19 3D untuk 10 silinder dan kontainer 40 feet
Begitu juga dengan penataan berikut ini. Silinder tidak melewati batas ruang kontainer dan tidak ada saling perpotongan antar silinder, maka dianggap penataan berikut, telah memenuhi syarat. Pada percobaan kali ini, kita akan melakukan perbandingan antar percobaan-percobaan yang telah dilakukan untuk mencari pengaruh dari input parameter GA terhadap waktu komputasi, sisa ruang dalam kontainer dan jumlah kontainer yang dibutuhkan. Menggunakan 10 macam silinder dan kontainer 40 feet.
Pop 10 20 30 40 50 60 70
ProbCross (%) 10 10 20 30 40 50 60
Tabel 4.11 Tabel perbandingan ProbMut Sisa MaxGen JumKont (%) ruang(dm3) 1 100 65334.04 1.0 1 100 65035.74 1.0 1 100 66075.08 1.0 1 100 65497.32 1.0 1 100 65035.74 1.0 1 100 65035.74 1.0 1 100 65473.77 1.0
Dari tabel di atas dapat disimpulkan bahwa : Parameter GA berpengaruh sedikit pada sisa ruang karena, perubahan yang terjadi tiap iterasi tidak memiliki selisih yang terlalu tinggi, lagipula hal ini juga mendapat pengaruh dari metode penataan yang didapat dari nilai acak, sehingga nilainya bisa berubah-ubah. Parameter GA berpengaruh pada waktu komputasi. Semakin besar nilai populasi dan probabilitas crossOver, maka akan semakin lama pula waktu komputasinya.
Gambar 4.18 2D untuk10 silinder dan kontainer 40 feet
8
Waktu (detik) 0.73 0.78 1.87 2.31 2.65 3.56 4.12
V. Kesimpulan Kesimpulan Dari beberapa uraian sebelumnya dan uji coba perangkat lunak tentang pendekatan algoritma genetika untuk menyelesaikan masalah optimasi pengepakan silinder dalam kontainer, maka dapat disimpulkan : 1. Algoritma genetika dapat digunakan sebagai metode alternatif untuk menyelesaikan permasalahan pengepakan silinder dalam kontainer. 2. Parameter-parameter yang digunakan seperti jumlah populasi memang berpengaruh pada solusi optimal yang diperoleh, akan tetapi dalam hal ini perubahannya tersebut tidak dapat disimpulkan menuju ke solusi yang lebih baik atau malah lebih buruk. 3. Semakin banyak jenis silinder yang dimasukkan maka akan semakin lama pula proses komputasinya 4. Silinder memiliki permukaan yang tidak stabil, sehingga muncul kemungkinan-kemungkinan baru yang kadang tidak masuk dalam ruang solusi, sehingga dalam suatu komputasi, terkadang memerlukan beberapa kali running program agar mendapatkan hasil yang optimal. 5. Silinder juga memiliki kelebihan dari pada penataan kotak, yakni, apabila di antara silinder masih ada celah kosong, maka untuk ukuran silinder yang lebih kecil dapat di sisipkan ke dalam celah itu, sehingga bisa memperkecil sisa ruang dalam kontainer. Saran Permasalahan optimasi pengepakan silinder dalam kontainer pada tugas akhir ini diselesaikan dengan mengunakan algoritma genetika, akan tetapi karena belum menghasilkan hasil terbaik maka masih bisa dilakukan penelitian-penelitian selanjutnya dengan menggunakan metode-metode lain sehingga dapat dibandingkan metode mana yang lebih baik untuk pengepakan silinder dalam kontainer
III.
Daftar Pustaka [1] Desiani, Anita dan Arhami, Muhammad. (2006). Konsep Kecerdasan Buatan. Penerbit Andi, Yogyakarta [2] http://lecturer.eepis-its.edu/ [3] Singgih, Moses L. dan Untung, Sundoro. 2000. Pengepakan Pipa Beragam Diameter ke Dalam Satu Kontainer Dengan Menggunakan Solusi Heuristik Algoritma Genetika, Jurnal Teknik Industri, Vol. 2. [4] George, John A, et al., 1995. Packing Different Sized Circles Into a Rectangular Container. European Journal of Operational Research 84
9