Jurnal Ilmu Komputer dan Sistem Informasi
PERANCANGAN APLIKASI OPTIMALISASI MUATAN PADA KONTAINER DENGAN ALGORITMA METAHEURISTIC Irawati Djajadi 1) Lely Hiryanto2) Gunadi Gan3) 1)2)3)
Teknik Informatika Fakultas Teknologi Informasi Universitas Tarumanagara Jl. Letjen. S. Parman No.1, Jakarta 11440 Indonesia , 2) 3) email :1)
[email protected] [email protected],
[email protected]
Oleh karena itu, dirancanglah sebuah program aplikasi dengan menerapkan algoritma metaheuristik yang hanya mempertimbangkan lokasi pengiriman pada satu kontainer untuk setiap muatan hanya pada satu lokasi saja. Tujuan dari pembuatan simulasi ini ialah untuk mengoptimalkan penempatan dan penyusunan benda berbentuk tiga dimensi (balok dan kubus) ke dalam sebuah kontainer. Dengan meminimalkan jumlah ruang kosong yang ada sehingga memungkinkan jumlah barang menjadi lebih banyak pada sebuah kontainer dengan memperhitungkan beberapa ketentuan yang ada. Ketentuan tersebut seperti ukuran, beban, jenis serta stabilitas muatan.
ABSTRACT Container Loading Problem (CLP) is a problem that will occur in loading cargo into a container in which the expected result is that goods can be entered into a container with maximum quantity of cargo and empty space on the container to a minimum. An application of container’s cargo optimization is made in the form of cargo arrangement simulation to cope CLP .The method used is metaheuristics which is the development of heuristic algorithms. This method is used to find a better solution to resolve the problem making the charge that the results obtained are expected to be more optimal with some conditions. Based on the tests performed, the results of metaheuristics is sometimes worst than heuristics related to the amount of cargo that successfully stacked but the position of the resulting preparation is better than stage heuristic seen from the resulting fitness value based on stability, type dan cargo load which stacked.
2. Alokasi Algoritma Pada bagian ini akan dijelaskan algoritma yang digunakan untuk mengalokasikan muatan ke dalam kontainer. Diasumsikan muatan yang tersedia terbatas pada balok dan kubus. Dalam menerapkan algoritma metaheuristik terdiri dari dua buah tahap yaitu tahap lower stage: heuristik untuk mendapatkan hasil penyusunan awal. Dilanjutkan dengan tahap upper stage: metaheuristik untuk mendapatkan solusi lain yang lebih baik apabila terdapat muatan yang tidak berhasil disusun ke dalam kontainer [3]. Pembahasan dimulai dari strategi penyusunan yang dilakukan.
Keywords Cell division, container loading problem, heuristik, metaheuristik, simulated annealing
1. Pendahuluan Kegiatan pengiriman muatan sudah diterapkan oleh masyarakat di dunia. Perkembangan industri menghasilkan muatan dalam berbagai bentuk dan ukuran berdampak pula pada cara pengirimannya. Solusi untuk menyelesaikan CLP ialah membuat sebuah simulasi penyusunan muatan pada kontainer. CLP dapat diselesaikan dengan berbagai macam metode. Simulasi yang sudah pernah ada ialah simulasi penyusunan muatan menggunakan genetic algorithm [1] dan wall building [2]. Hasil dari kedua simulasi tersebut sudah cukup baik tetapi ada kemungkinan didapatkan solusi lain yang lebih optimal. Kekurangan dari simulasi dengan genetic algorithm ialah proses penyusunan tidak memperhatikan jenis, tujuan dan stabilitas muatan serta efisiensi kontainer. Simulasi dengan algoritma wall building sudah memperhatikan tujuan dan beban muatan tetapi tidak memperhatikan jenis serta stabilitas muatan.
2.1.
Strategi Penyusunan
Strategi penyusunan muatan yang digunakan ialah flat loading [3]. Penyusunan muatan dimulai dari sisi paling bawah kontainer dengan ketentuan memenuhi ukuran panjang kontainer terlebih dahulu dilanjutkan dengan lebar kontainer hingga tidak tersedia ruang kosong. Setelah sisi bawah terisi penuh maka dilanjutkan dengan menyusun muatan pada sisi di atasnya dengan memenuhi panjang dilanjutkan dengan lebar hingga sisa ruang pada kontainer yang tersedia tidak dapat diisi dengan muatan lagi.
86
Jurnal Ilmu Komputer dan Sistem Informasi
2.2.2. Stabilitas Muatan Nilai stabilitas suatu muatan saat dialokasikan dengan muatan lainnya dapat dihitung sebagai berikut:
s=
(1)
Keterangan: s = nilai stabilitas muatan a = jumlah lah sisi bawah muatan yang akan dialokasikan dengan sisii atas muatan dibawahnya yang berhubungan p = panjang muatan yang akan dialokasikan l = lebar muatan yang akan dialokasikan
Gambar 1 Flat Loading
2.2.
a p*l
Constraint
Dalam melakukan penyusunan muatan pada kontainer memiliki beberapa constraint dalam hal penyusunan. Daftar muatan yang akan disusun diurutkan berdasarkan kode order, jenis serta beban muatan. Jenis muatan yang tersedia ialah non fragile, liquid dan fragile. Penyusunan dimulai dari non fragile, liquid hingga fragile.. Setelah diketahui urutan penyusunan berdasarkan jenis dilanjutkan dengan mengurutkan berdasarkan beban yang paling berat dilanjutkan dengan beban yang lebih ringan. Setelah semua proses pengurutan an selesai maka mulai dilakukan penyusunan. Dalam hal penyusunan harus memperhatikan ruang yang tersedia serta stabilitas muatan.. Apabila tidak dapat disusun dengan posisi awal maka dapat dilakukan rotasi.
Muatan dapat dialokasikan apabila memenuhi nilai stabilitas 0.65<s ≤ 1. s ≠ 1 menandakan bahwa sisi bagian bawah muatan yang akan dialokasikan tidak sepenuhnya terhubung dengan sisi bagian atas muatan di bawahnya.
2.3.
Tahap Lower Stage: Heuristik
Pada bagian ini akan dijelaskan tahap awal penyusunan muatan pada kontainer yaitu tahap lower stage: Heuristik. Algoritma ma yang digunakan ialah cell division [3]. Cell division merupakan sebuah metode yang digunakan dengan membentuk sejumlah cell seukuran kontainer. Pada kasus ini, tiap cell mewakili 1 dm3 pada kontainer. Ditandai dengan nilai ‘1’ apabila terdapat muatan sedangkan ‘0’ apabila tidak terdapat muatan. Ilustrasi dari metode cell division. division
2.2.1. Rotasi muatan Dalam hal penyusunan muatan, langkah pertama yang dilakukan ialah melakukan pengecekan ruang yang tersedia pada kontainer apakah mencukupi atau tidak apabila dialokasikan sebuah muatan. Jika tidak mencukupi maka akan dilakukan rotasi pada muatan. Apabila muatan berjenis fragile atau liquid iquid maka hanya dapat diputar searah sumbu X dan Z di mana panjang menjadi lebar dan lebar menjadi panjang. panjang
Gambar 4 Cell Division
Algoritma cell division:: 1. Baca data kontainer (P, L, T). T) 2. Buat cell. (2) Cxzy(1 ≤ x ≤ P,1 ≤ z ≤ L,1 ≤ y ≤ T) Cxzy = 1 menunjukkan ada muatan pada cell tersebut. Cxzy= 0 menunjukkan tidak ada muatan pada cell tersebut. tersebut 3. Mengosongkan nilai cell. (3) Cxzy(1 ≤ x ≤ P,1 ≤ z ≤ L,1 ≤ y ≤ T ) = 0
Gambar 2 Rotasi sumbu X dan Z
Muatan berjenis non fragile dapat diputar searah sumbu X dan Z maupun sumbu X dan Y. Apabila terjadi perputaran searah sumbu X dan Y maka panjang menjadi tinggi dan tinggi menjadi panjang. panjang
4.
5.
Gambar 3 Rotasi sumbu X dan Y
87
Baca data muatan setelah diurutkan (p, l, t). t) a. Menghitung n n merupakan jumlah maksimal muatan yang dapat dimasukkan ke dalam kontainer. b. Sorting n Daftar muatan diurutkan berdasarkan jenis muatan dilanjutkan dengan beban beb muatan. Jumlah = 0.
Jurnal Ilmu Komputer dan Sistem Informasi
Jika muatan sekarang lebih berat maka nilai 0, jika tidak berikan nilai 10. 3. Cek jenis dan beban muatan di atasnya a. Apabila tidak ada muatan di atas maka cek jenis muatan. Apabila non fragile nilai 0, liquid nilai 5 dan fragile nilai 10. b. Apabila ada muatan, cek jenis muatan sekarang dan di atasnya. Apabila jenis muatan sekarang lebih kecil berikan nilai 0. Jika tidak berikan nilai 5. Jika jenis sama maka cek beban. Jika muatan sekarang leih ringan maka nilai 0, jika tidak berikan nilai 10.
Inisialisasi jumlah muatan awal yang berhasil dimasukkan. 6. Mencari cell kosong. 7. Cek muatan di tiap cell. Jika Cxzy memenuhi Cprq = 0 (x ≤ p ≤ x+p-1,z ≤ r ≤ z+l-1,y ≤ q ≤ y+t-1) (4) Jika nilai y > 1 maka cek stabilitas setelah memenuhi Cxzy untuk Cprq. 8. Jika 0.65<s ≤ 1 maka alokasikan muatan ke dalam kontainer. Cxzy: Cprq = 1 (x ≤ p ≤ x+p-1,z ≤ r ≤ z+l-1,y ≤ q ≤ y+t-1) Apabila tidak memenuhi kondisi no 7 dan 8 dapat dilakukan rotasi muatan. 9. Jumlah = jumlah + 1. 10. Ulang sebanyak jumlah barang (n). 11. Jika jumlah < n maka lanjutkan dengan tahap upper stage: metaheuristik.
2.4.
2.4.2. Algoritma Simulated Annealing Dalam penerapannya, algoritma metaheuristik memiliki lebih dari satu algoritma yang dapat digunakan. Pada makalah ini, akan digunakan algoritma pencarian local search [4]. Local search merupakan salah satu metode pencarian dengan mengecek semua ruang pencarian yang besar. Solusi pencarian pada local search disebut “neighbors”. Dari semua “neighbors” yang ada akan dicari yang terbaik dengan bantuan Simulated annealing (SA) [5]. SA merupakan algoritma pencarian yang digunakan untuk mendapatkan hasil yang lebih baik dengan memodifikasi solusi sementara. Dalam mencari “neighbors”, cara yang digunakan ialah simple searching neighborhoods [5]. Algortima simulated annealing: 1. Hitung fitness solusi awal = F(S0). F(S0) merupakan total fitness dari semua muatan hasil penyusunan dari tahap lower stage: heuristik.
Tahap Upper Stage: Metaheuristik
Tahap ini merupakan kelanjutan dari tahap lower stage: heuristik. Tahap ini akan dilakukan apabila terdapat sisa muatan yang tidak berhasil disusun ke dalam kontainer. Dalam penerapannya, tahap ini menggunakan algoritma pencarian local search dengan bantuan simulated annealing. Simulated annealing merupakan sebuah algoritma pencarian dengan memperhitungkan nilai fitness suatu muatan. Setelah didapatkan nilai fitness semua muatan maka akan didapatkan nilai fitness suatu solusi. Dengan membandingkan nilai fitness tersebut maka akan didapatkan hasil yang lebih optimal.
2. Tetapkan
η rep = 3 sebagai batas perulangan mencari
“neighbors” yang akan ditukar. 3. Tentukan T sebagai suhu awal. T merupakan volume kontainer yang digunakan.
2.4.1. Menghitung nilai fitness Berikut ini akan dijelaskan komponen yang diperhitungkan dalam menentukan nilai fitness suatu muatan, yaitu: 1. Cek ruang dan stabilitas a. Jika posisi muatan paling bawah maka cek ruang. Jika tersedia berikan nilai 10. Jika tidak memenuhi maka lakukan rotasi dan cek kembali. b. Jika posisi muatan tidak paling bawah maka cek ruang dan stabilitas. Apabila ruang terpenuhi beri nilai 5. Cek stabilitas 0.65<s ≤ 1, beri nilai
Nilai T akan berubah jika η rep telah selesai.
4. Tentukan TF sebagai suhu ahir = 1. Digunakan untuk menghentikan proses optimalisasi. 5. Tentukan Nmove berupa jumlah muatan yang berhasil dimasukkan hasil dari tahap lower stage. 6. Menghitung α untuk mereduksi domain ruang yang digunakan (T) dengan cara:
α = 1 − (ln(T ) − ln(TF )) / N move
s dengan cara * 5 . 1
(5)
7. Ambil satu muatan secara acak dan hitung fitness (S0) pada posisi sekarang. 8. Cari cell kosong secara acak. Hitung fitness muatan pada cell tersebut (S1).
2. Cek jenis dan beban muatan di bawahnya a. Apabila tidak ada muatan di bawah maka cek jenis muatan. Apabila non fragile nilai 10, liquid nilai 5 dan fragile nilai 0. b. Apabila ada muatan, cek jenis muatan sekarang dan di bawahnya. Apabila jenis muatan sekarang lebih besar berikan nilai 0. Jika tidak berikan nilai 5. Jenis dari muatan ditandai dengan non fragile (3), liquid (2) dan fragile (1). Jika jenis sama maka cek beban.
9. S0 ≤ S 1 , muatan akan ditempatkan pada cell kosong tersebut. 10. Mencoba memasukkan muatan yang tidak berhasil disusun hasil dari tahap lower stage. 11. Hitung fitness akhir = F(S1).
88
Jurnal Ilmu Komputer dan Sistem Informasi
12. F(S0) ≤ F(S1) maka F(S0) = F(S1). 13. Ubah nilai T dengan algoritma cooling schedule sebagai berikut:
T = α *T
(6)
14. Proses optimalisasi akan berhenti apabila T ≤ TF atau semua matan berhasil disusun ke dalam kontainer. Alur kerja dari tahap metaheuristik dimulai dari tahap penyusunan awal menggunakan algoritma cell division (lihat Gambar 5). Apabila jumlah maksimal muatan yang dapat dimasukkan ke dalam kontainer tidak berhasil disusun semua maka dilanjutkan dengan optimalisasi penyusunan menggunakan algoritma simulated annealing (lihat Gambar 6). Ilustrasi alur kerja algoritma metaheuristik ditampilkan sebagai berikut.
3. Hasil Percobaan Setelah aplikasi selesai dibuat maka dilakukan sebuah percobaan untuk mengetahui apakah aplikasi sudah dapat digunakan dengan baik. Percobaan dilakukan terhadap modul utama, yang digunakan saat pengguna ingin melakukan proses pengiriman. Percobaan lainnya ialah percobaan dengan menggunakan beberapa set data yang berbeda serta data perusahaan untuk mengetahui kesesuaian dengan algoritma yang digunakan.
Gambar 6 Optimalisasi Penyusunan dengan Simulated Annealing
3.1. Pengujian Modul Percobaan dilakukan terhadap beberapa modul penting pada aplikasi yang telah dibuat. Modul utama yang digunakan ialah modul untuk melakukan pengiriman muatan. Dalam menggunakan modul ini, data yang harus tersedia ialah data kontainer yang akan digunakan serta daftar muatan yang akan dikirim. Dalam memilih muatan yang akan dikirim, pengguna diberikan dua buah pilihan cara. Cara pertama dengan memilih muatan yang akan diprioritaskan sedangkan cara kedua ialah pengguna hanya perlu memilih tombol susun yang disediakan maka secara otomatis aplikasi akan memilih muatan sesuai dengan kode order. Setelah semua data tersedia, proses pengiriman dapat langsung dilakukan dan aplikasi akan menampilkan hasil penyusunan muatan berupa daftar muatan yang berhasil maupun tidak berhasil disusun (lihat Gambar 7). Hasil penyusunan muatan juga ditampilkan dalam bentuk 3D (lihat Gambar 8) serta
Gambar 5 Penyusunan Awal dengan Cell Division
89
Jurnal Ilmu Komputer dan Sistem Informasi Tabel 1 Hasil Percobaan Kontainer er Ukuran 52,44m3 tanpa Prioritas
report optimalisasi (lihat Gambar 9) untuk memudahkan dalam melihat hasil penyusunan muatan pada kontainer.
No. 1 2 3 4 5 6 7 8 9 10
Jum. Brg (Fitness) ( Sebelum Sesudah SA SA 249 259(7306) 259(7331) 268 280 315(8879) 315(8934) 339(9755) 339(9755) 345(9935) 345(9975) 385(11070) 385(11095) 389(10905) 390(10950) 390(10815) 393(10930)
Jum. Max Brg 249 263 268 280 324 348 354 400 445 449
Waktu(s) 6,584 63.929 8.908 9.322 87.906 43.227 47.234 12.319 41.761 53,219
Tabel 2 Hasil Percobaan Kontainer Ukuran 52,44m3 dengan Prioritas
Jum. Brg (prio)(Fitness) (prio)( Waktu No. (s) Sebelum Sesudah SA SA 1 249(15) 35.637 259(23) 259(23) 63.929 2 263(23) (7331) (7306) 3 268(31) 268(31) 67.907 4 280(40) 280(40) 85.572 315(45) 315(45) 5 324(45) 87.906 (8879) (8934) 339(47) 339(47) 6 348(47) 175.948 (9755) (9855) 345(55) 345(55) 176.234 7 354(55) (11050) (9935) 400 385(134) 385(134) 8 327.58 (142) (11070) (11070) 389(7) 392(7) 9 445(7) 43.128 (10905) (10955) 390(14) 393(14) 10 449(14) 55.231 (10815) (10930) Hasil percobaan pada kontainer dengan volume 77.76 m3 dengan hasil dua macam set data yang menerapkan metaheuristik disajikan dalam bentuk tabel sebagai berikut. Jum. Max Brg (prio) 249(15)
Gambar 7 Modul Proses
Gambar 8 Tampilan 3D
3.2. Pengujian Data Percobaan dilakukan sebanyak dua kali. Percobaan pertama terhadap sepuluh set data yang berbeda dengan dua buah jenis kontainer. Percobaan dilakukan sebanyak dua kali dengan dan tanpa prioritas. Hasil percobaan pada kontainer dengan volume 52.44 m3 disajikan dalam bentuk tabel dengan hasil tujuh macam set data yang berhasil menerapkan SA dan dua yang berhasil dioptimalkan karena terjadi penambahan muatan.
Tabel 3 Hasil Percobaan Kontainer Ukuran 77,76m3 tanpa Prioritas
No. 1 2 3 4 5 6 7 8 9 10
Gambar 9 Tampilan Report Optimalisasi
90
Jum. Max Brg 249 263 268 280 324 348 354 400 499 510
Jum. Brg (Fitness) ( Sebelum Sesudah SA SA 249 263 268 280 324 348 354 400 471(13010) 471(13010) 482(13340) 482(13340)
Waktu(s) 6,222 7.767 8.297 9.302 10.611 12.454 12.988 10.472 18.504 17.799
Jurnal Ilmu Komputer dan Sistem Informasi Tabel 4 Hasil Percobaan Kontainer Ukuran 77,76m3 dengan Prioritas
No. 1 2 3 4 5 6 7 8 9 10
Jum. Max Brg (prio) 249(15) 263(26) 268(31) 280(40) 324(45) 348(47) 354(55) 400(60) 499 (148) 510 (138)
Jum. Brg (prio)(Fitness) Sebelum Sesudah SA SA 249(15) 263(26) 268(31) 280(40) 324(45) 348(47) 354(55) 400(60) 471(148) 471(148) (13010) (13010) 482(138) 482(138)(1 (13340) 3340)
4. Kesimpulan Berdasarkan hasil percobaan yang dilakukan dapat diambil kesimpulan sebagai berikut: 1. Aplikasi sudah dapat memberikan hasil penyusunan muatan pada kontainer dengan menyertakan posisi setiap muatan serta dapat divisualisasikan dengan membentuk grid tiap 1dm3 seukuran volume kontainer. 2. Hasil penerapan metode metaheuristik sekitar 60% yang berhasil memperbaiki hasil dari tahap heuristik dikarenakan nilai fitness yang dihasilkan lebih besar dibandingkan hasil penyusunan awal dan hanya 28,6% yang berhasil dioptimalkan, dengan kondisi selama proses pencarian ditemukan posisi kosong dan posisi kosong tersebut dapat diisi oleh muatan yang belum berhasil dimasukkan ke dalam kontainer. 3. Dapat digunakan kontainer lain dengan volume yang lebih besar apabila setelah menerapkan metode metaheuristik terdapat sisa muatan yang tidak berhasil disusun, karena ruang kosong pada kontainer tidak sesusai dengan ukuran sisa muatan. 4. Waktu pemrosesan yang dihasilkan pada kontainer yang sama tanpa menerapkan metaheuristik dapat berbeda karena selama proses penyusunan muatan dapat terjadi rotasi muatan sehingga waktu pemrosesan menjadi lebih lama serta jumlah muatan tidak mempengaruhi waktu pemrosesan.
Waktu (s) 35.222 65.723 67.702 85.271 97.611 150.948 185.98 203.062 509.715 529.48
Percobaan kedua dilakukan terhadap dua buah set data yang didapatkan dari sebuah perusahaan ekspedisi. Percobaan pertama dengan jumlah muatan sebanyak 756 muatan yang disusun pada periode 29 November 2012 hingga 30 November 2012. Pengiriman kedua dengan jumlah muatan sebanyak 1963 muatan yang dikirim dari tanggal 28 Desember 2012 hingga 1 Januari 2013. Dikarenakan SA tidak terjadi maka dilakukan percobaan kembali sebanyak tiga kali dengan menambahkan beberapa muatan. Percobaan dilakukan terhadap kontainer dengan volume 52.44 m3 dengan hasil sebagai berikut.
Berdasarkan kesimpulan yang didapatkan, aplikasi ini dapat dikembangkan kembali dalam hal sebagai berikut: 1. Tampilan visualisasi pada aplikasi dapat diperbaiki dimulai dari tampilan awal posisi kamera hasil penyususnan muatan serta cara mengendalikan fitur bantuan bagi pengguna dalam melihat secara keseluruhan posisi penyususnan muatan pada kontainer. 2. Bentuk muatan yang tersedia dapat lebih beragam tidak terbatas pada balok dan kubus. 3. Dapat ditambahkan fitur bagi pengguna untuk mengubah posisi penyusunan muatan pada kontainer yang dihasilkan oleh aplikasi secara manual. 4. Tujuan pengiriman muatan pada satu kontainer dapat beragam, lebih dari satu lokasi pengiriman.
Tabel 5 Hasil Percobaan Data Perusahaan
No. 1 2 3 4 5
Jum. Max Brg 756 1963 1980 2013 2030
Jum. Brg (Fitness) Sebelum Sesudah SA SA 756 1963 1980 2013 2030 -
Waktu (s) 25.646 143.596 159.479 911.73 2309.227
Berdasarkan percobaan tersebut didapatkan nilai fitness yang dihasilkan setelah menerapkan metaheuristik untuk satu set data yang sama dapat berbeda dikarenakan terjadi penambahan muatan. Tetapi, apabila tidak terjadi penambahan muatan, nilai fitness yang dihasilkan dapat berbeda dikarenakan terjadi pertukaran posisi muatan secara acak di mana stabilitas muatan yang ditukar lebih baik pada posisi sekarang . Waktu pemrosesan untuk satu set data dengan jenis kontainer yang sama dapat berbeda dan jumlah barang tidak mempengaruhi waktu pemrosesan. Hasil penerapan metode metaheuristik terkadang tidak memperbaiki hasil dari tahap heuristik dikarenakan terjadi proses pencarian ruang kosong secara acak dan apabila ditemukan ternyata ruang yang tersedia tidak mencukupi sehingga tidak terjadi penambahan muatan ke dalam kontainer.
REFERENSI [1] A. Bortfeldt and H. Gehring, 1997, “A genetic algorithm for solving the container loading problem”, International Transactions in Operational Research, Vol.4, Wiley, San Francisco. [2] Amelia Utama, 2006, “Analisis Perancangan Algoritma Heuristic untuk Optimalisasi Penempatan Benda pada Kontainer untuk Studi Kasus: UD Wijaya”, Universitas Tarumanagara, Jakarta. [3] S. Miyamoto, Y. Endo, K. Hanzawa, Y. Hamasuna, 2007, “Metaheuristic Algorithms for Container Loading Problems: Framework and Knowledge Utilization”, Journal
91
Jurnal Ilmu Komputer dan Sistem Informasi
of Advanced Computational Intelligence and Intelligent Informatics, Vol. 11, Ibaraki. [4] Luca Di Gaspero, 2003, “Local Search Techniques for Scheduling Problems: Algorithms and Software Tools”, Universitas Degli, Udine. [5] E. Aycan and T. Ayav, 2009, “Solving the Course Scheduling Problem Using Simulated Annealing”, IEEE International, Izmir.
Irawati Djajadi, merupakan mahasiswa program Sarjana S1, Program Studi Teknik Informatika, universitas Tarumanagara. Lely Hiryanto, memperoleh gelar S.T. dari Universitas Tarumanagara, Indonesia tahun 2001. Kemudian tahun 2006 memperoleh M.Sc dari Curtin University of Technology, Australia. Saat ini sebagai staf Pengajar Fakultas Technology Informasi, Universitas Tarumanagara. Gunadi Gan, memperoleh gelar BSc dan MSc majoring in Operations Research dari Naval Postgraduate School, Monterey California tahun 1983. Saat ini sebagai staf Pengajar Fakultas Technology Informasi, Universitas Tarumanagara.
92