PENJADWALAN FLOWSHOP DUA KRITERIA DENGAN
SETUP TIME TERPISAH DAN DETERIORASI LINIER
Ceria Farela Mada Tantrika, Patdono Suwignjo dan Stefanus Eko Wiratno
Jurusan Teknik Industri
Institut Teknologi Sepuluh Nopember (ITS) Surabaya Kampus ITS Sukolilo Surabaya 60111
Email: [email protected]; [email protected], [email protected] ABSTRAK
Kebanyakan penelitian penjadwalan flowshop dua mesin mempertimbangkan
setup time sebagai satu-kesatuan dengan processing time. Padahal, dengan
mempertimbangkan setup time terpisah, setup time pada mesin kedua dapat dilakukan sementara job masih diproses di mesin pertama sehingga dapat mengurangi completion
timenya. Penelitian ini membahas penjadwalan flowshop dua mesin dengan setup time terpisah. Selain itu, penelitian ini juga mempertimbangkan adanya deteriorating job, dimana job akan mengkonsumsi lebih banyak waktu bila dimulai lebih akhir. Fungsi tujuan permasalahan ini yaitu meminimasi jumlah terbobot total completion time dan
total tardiness. Model integer programming dan empat algoritma heuristik berbasis
tabu search dikembangkan untuk menyelesaikan permasalahan tersebut. Selanjutnya,
uji coba numerik dilakukan untuk mengevaluasi performansi dari algoritma yang diusulkan.
Kata kunci: deteriorasi, penjadwalan flowshop, setup time, total completion time, total
tardiness
PENDAHULUAN
Setup time didefinisikan sebagai pekerjaan untuk mempersiapkan sumber daya
(mesin), proses, atau meja kerja untuk produk. Mayoritas penelitian penjadwalan
flowshop menganggap setup time sebagai bagian dari processing time (Allahverdi
(2003); Yagmahan dan Yenisey (2007)). Padahal, dengan setup time yang terpisah, setup pada mesin subsekuen mungkin dapat dilakukan sementara job masih diproses di mesin sebelumnya sehingga dapat mengurangi completion time (Varadharajan dan Rajendran (2005); Allahverdi dan Al-Anzi (2006); Eren dan Güner (2006); Yokoyama (2008)).
Area lain dalam penelitian ini yaitu adanya deteriorating job. Kebanyakan penelitian menganggap processing time telah diketahui dan tetap kapanpun job tersebut dikerjakan. Pada kenyataannya, processing time juga dapat berubah. Banyak situasi dimana suatu job akan menghabiskan waktu lebih banyak daripada bila diproses lebih awal ataupun sebaliknya.
Berdasarkan perubahannya, deteriorasi yang terjadi dapat dibedakan menjadi dua, yaitu decreasing deterioration dan increasing deterioration. Decreasing
deterioration merupakan kondisi penjadwalan dimana processing time yang dibutuhkan
semakin lama justru semakin kecil (Wang dan Xia (2005); Wang (2007)). Contoh nyata kasus ini adalah adanya “learning-effect”, dimana waktu yang dibutuhkan operator untuk menyelesaikan suatu pekerjaan sejenis semakin lama menjadi semakin singkat karena kemampuannya meningkat. Sebaliknya, increasing deterioration terjadi bila
processing time semakin meningkat bila job dikerjakan di akhir (Wang, Ng, Cheng, Liu (2006); Wu dan Lee (2006); Lee, Wu, Wen, Chung (2007); Cheng, Sun, He, (2007)). Salah satu contoh kasus ini yaitu waktu yang dibutuhkan untuk memproses suatu produk akan lebih singkat bila menggunakan tool baru yang masih tajam daripada tool yang sudah membutuhkan suatu maintenance.
Pada paper ini kami mempertimbangkan problem penjadwalan dua kriteria dengan setup time terpisah dan deteriorasi linier pada flowshop dua-mesin. Fungsi tujuan problem ini adalah meminimasi jumlah terbobot total completion time dan total
tardiness. Problem yang dipertimbangkan dapat ditunjukkan sebagai
∑
∑
= + = + = n j j n j j ji ji ji ji p a bt C T s F 1 1 / , /2 α β . Problem ini termasuk NP-hard karena
problem penjadwalan yang lebih sederhana, yaitu
∑
∑
= = + n j j n j j ji C T s F 1 1 / / 2 α β sudah
merupakan problem NP-hard (Eren dan Guner, 2006).
Keseluruhan studi ini disusun sebagai berikut. Pada bagian 2 dan bagian 3 digambarkan problem dan teknik solusi yang diajukan, meliputi model integer
programming dan algoritma heuristik berbasis tabu search. Hasil eksperimen diberikan
pada bagian 4. Akhirnya, bagian 5 memberikan kesimpulan dan evaluasi dari studi ini. DESKRIPSI PERMASALAHAN
Sistem penjadwalan yang dipertimbangkan terdiri dari dua mesin, yaitu mesin i, i = 1, 2, dan n job yang siap untuk diproses pada waktu sama dengan nol. Tiap job memiliki dua operasi. Semua job memiliki routing yang sama. Ditentukan aji, sji, b, dan dj berurutan sebagai normal processing time di mesin ke-i, setup time di mesin ke-i,
linear deterioration rate, dan due date job j secara berurutan. Setup time
dipertimbangkan terpisah dari processing time dan processing time mengalami peningkatan secara linier dengan rate sebesar deterioration rate, bergantung pada kapan job tersebut mulai diproses di mesin i. Sekali job mulai dikerjakan di suatu mesin, haruslah diselesaikan tanpa adanya interupsi. Namun job dapat menunggu suatu mesin yang akan digunakan untuk memproses bila mesin tersebut masih sibuk. Mesin tidak boleh memproses lebih dari satu operasi dalam satu waktu, namun mesin dapat idle.
Tujuan yang ingin dicapai adalah meminimasi work in process dan penalty yang diterima dari customer karena adanya keterlambatan. Minimasi work in process dapat dicapai dengan meminimasi total completion time, sedangkan minimasi penalty dari
customer dapat dicapai dengan meminimasi total tardiness. Ditentukan Cj dan Tj
berurutan sebagai completion time dan tardiness dari job j sedangkan α dan β masing-masing adalah bobot untuk total completion time dan total tardiness dimana α + β = 1. Dengan demikian, secara notasi, permasalahan yang dipertimbangkan adalah:
∑
∑
= + = + = n j j n j j ji ji ji ji p a bt C T s F2/ , /α 1 β 1 . TEKNIK SOLUSIModel Integer programming
Model yang diusulkan memiliki n2 + 12n variabel dan 14n batasan. Asumsi, parameter, dan variabel yang digunakan dalam penelitian ini adalah sebagai berikut: Asumsi:
• Semua job siap diproses pada waktu sama dengan nol. • Tiap job harus diselesaikan bila telah dimulai.
• Tiap job hanya memiliki dua operasi. • Job dapat menunggu mesin yang idle. • Mesin dapat idle.
• Mesin tidak pernah breakdown dan selalu tersedia selama periode penjadwalan. • Tidak ada mesin yang dapat memproses lebih dari satu operasi dalam satu
waktu.
• Deterioration rate sama untuk semua mesin maupun job.
• Deteriorasi hanya terjadi pada mesin, deteriorasi terjadi secara linear berdasarkan waktu penggunaan mesin.
Parameter:
j nomor job, j = 1, 2, ..., n. i nomor mesin, i = 1, 2.
aji normal processing time job j di mesin ke-i, i = 1, 2, j = 1, 2, ..., n.
sji setup time job j di mesin ke-i, i = 1, 2, j = 1, 2, ..., n.
b deterioration rate
dj due date job j, j = 1, 2, …, n.
α bobot untuk total completion time, 0 < α < 1. β bobot untuk total tardiness, 0 < β < 1. Variable Keputusan:
Zjk jika job j dijadwalkan pada urutan ke-k untuk diproses, Zjk = 1, lainnya Zjk = 0, j = 1, 2, …, n, k = 1, 2, …, n.
Xk idle time pada mesin kedua antara mulainya job urutan ke-k dan
selesainya job urutan ke-(k-1), k = 1, 2, …, n.
Yk waiting time job ke-k, yaitu waktu antara selesainya job ke-k di mesin
pertama dengan mulainya di mesin kedua, k = 1, 2, …, n.
Sk starting time job urutan ke-k pada mesin pertama, k = 1, 2, …, n.
tki pemakaian mesin ke-i sebelum digunakan untuk memproses job urutan ke-k t1i = 0, tki =
∑
[ ] − = 1 1 k j ji p , i = 1, 2; k = 2, 3, …, n. (1)Tk tardiness job urutan ke-k
Tk ≥ Ck – dk*, k = 1, 2, …, n. (2)
Auxiliary Variable:
p[ki] processing time job urutan ke-k di mesin ke-i
[ ] ki n j ji jk ki Z a bt p =
∑
+ =1 , i = 1, 2; k = 1, 2, …, n (3)s[ki] setup time job urutan ke-k di mesin ke-i
[ ]
∑
= = n j ji jk ki Z s s 1 , i = 1, 2; k = 1, 2, …, n. (4)Ck completion time job urutan ke-k di mesin kedua
[ ]
∑
[ ]∑
∑
= = = + + = k j j k j j k j j k X s p C 1 2 1 2 1 , k = 1, 2, …, n. (5)*
k
d due date job urutan ke-k
∑
= = n j j jk k Z d d 1 * , k = 1, 2, …, n. (6)Dari asumsi, parameter, dan variabel di atas, formulasi model integer
programming yang diusulkan:
Fungsi tujuan:
∑
∑
= = + = n k k n k k T C z 1 1 min α β Subject to: 1 1 =∑
= n j jk Z , k = 1, 2, ..., n. (7) 1 1 =∑
= n k jk Z , j = 1, 2, ..., n. (8) [ 1,1] [ 1,1] 1 − − − + + ≥ k k k k S s p S , k = 2, 3, ..., n. (9) [ ]1,2 1 [ ]1,2 1 s X p C = + + , [ ,2] [ ,2] 1 k k k k k C s X p C = − + + + , k = 2, 3, ..., n. (10) [ ]1,1 [ ]1,1 1 [ ]1,2 1 1 S s p Y s X = + + + − , [ ]k,1 [ ]k,1 k k 1 [k,2] k k S s p Y C s X = + + + − − − , k = 2, 3, ..., n. (11) [ ]1,2 1 [ ]1,1 [ ]1,1 1 1 X s S s p Y = + − − − , [ ,2] [ ],1 [ ],1 1 k k k k k k k X C s S s p Y = + − + − − − , k = 2, 3, ..., n. (12)Batasan (7) menjelaskan bahwa hanya satu job yang dapat dijadwalkan pada urutan ke-k dalam prioritas job. Batasan (8) menjelaskan bahwa tiap job hanya dapat dijadwalkan satu kali. Batasan (9) menjelaskan bahwa proses setup untuk job urutan ke-k dapat dimulai pada wake-ktu lebih besar atau sama dengan completion time job sebelumnya di mesin pertama. Batasan (10) mendefinisikan besarnya completion time job ke-k sebagai completion time job sebelumnya (Ck-1) ditambah dengan idle time di mesin kedua (Xk) ditambah setup time di mesin kedua (sk2) dan processing time di mesin kedua (pk2). Batasan (11) menjelaskan terjadinya idle time di mesin kedua (Xk), yaitu bila job urutan ke-k masih dikerjakan di mesin pertama sedangkan job ke-(k-1) telah selesai dikerjakan, dikurangi dengan waktu setup untuk job ke-k di mesin kedua. Sedangkan batasan (12) menjelaskan waiting time job ke-k (Yk) yang terjadi bila job ke-k telah selesai dike-kerjake-kan di mesin pertama namun mesin ke-kedua masih sibuke-k, baike-k untuke-k mengerjakan job ke-(k-1) maupun setup job ke-k. Pada formulasi ini, Semua variabel harus lebih besar atau sama dengan nol dan Zjk merupakan binary integer.
Algoritma Heuristik
Algoritma heuristik yang dikembangkan dalam penelititan ini berbasis tabu
search. Sebelum membentuk algoritma heuristik tabu search, terlebih dahulu ditentukan
parameter yang digunakan, meliputi initial solution, panjang tabu list, strategi pencarian alternatif solusi, dan stopping criteria. Parameter yang digunakan dapat dilihat pada Tabel 1.
Tabel 1 Parameter Tabu search
Parameters Tabu I Tabu II Tabu III Tabu IV
Criteria
∑
∑
= = + n k k n k k T C 1 1 β αInitial solutions SPT1 Johnson EDD NEH
Tabu list length 2 n 2 n 2 n 2 n
Neighborhood
search strategy API API API API
Stopping criterion n iteration n iteration n iteration n iteration Langkah-langkah algoritma tabu search secara umum adalah sebagai berikut: Langkah 1: menentukan initial solution
Dalam penelitian ini digunakan empat initial solution, yaitu SPT1, algoritma Johnson, EDD, dan algoritma NEH yang telah dimodifikasi.
Langkah 2: menentukan alternatif solusi (neighbour)
Dari initial solution yang diperoleh, dihitung besarnya kriteria performansinya
(
∑
∑
= = + n k k n k k T C 1 1 βα ). Setelah itu disusun sejumlah alternatif solusi baru dengan melakukan adjacent pairwise interchange (API), yaitu mempertukarkan posisi dua job yang saling berdekatan.
Langkah 3: updating solusi dan tabu list
Setelah terdapat sejumlah alternatif solusi, dari masing-masing solusi tersebut dicari nilai kriteria performansinya. Dari situ, dipilih satu yang terbaik berdasarkan nilai kriteria performansinya. Bila kriteria performansi yang dicapai lebih baik daripada solusi sebelumnya, maka dilakukan updating pada memory dan menjadikannya sebagai solusi baru. Bila kriteria performansi yang dicapai alternatif terbaik ternyata lebih buruk, solusi initial solution tetap dipertahankan. Bagaimanapun, untuk menghindari
local optima, alternatif terbaik inilah yang nantinya dijadikan sebagai initial solution
yang baru pada iterasi selanjutnya. Karena itu, pertukaran job yang menghasilkan alternatif terbaik dianggap sebagai tabu move pada langkah berikutnya (untuk menghindari cycling) dan dimasukkan ke dalam tabu list. Bila banyaknya tabu move yang menjadi anggota tabu list telah melebihi tabu list length, maka tabu move yang paling awal masuknya dikeluarkan dari tabu list.
Langkah 4: ulangi langkah 2 dan 3
Pengulangan dilakukan sampai terjadi stopping criteria, yaitu setelah beberapa kali iterasi sesuai yang telah ditentukan sebelumnya. Pada penelitian ini, iterasi yang digunakan adalah sebanyak n kali.
HASIL EKSPERIMEN
Model integer programming yang digunakan untuk menemukan solusi optimal dari permasalahan yang dipertimbangkan menggunakan LINGO 8.0. Sedangkan algoritma tabu search yang digunakan dalam penelitian ini dituliskan dengan Microsoft Visual Basic 6.0. Set eksperimen yang digunakan untuk problem penjadwalan yang
diselesaikan mirip dengan set eksperimen Eren dan Guner (2006) dan dapat dilihat pada Tabel 2. Secara keseluruhan terdapat 486 problem penjadwalan yang diselesaikan dengan model integer programming dan algoritma tabu search.
Tabel 2 Set Eksperimen Problem Penjadwalan
Parameter Alternatif Nilai
Number of job (n) 6 5, 10, 15, 20, 25, 30 Normal processing time
(aji)
1 ~U[1, 100]
Setup time (sji) 3 ~U[0, 9]; ~U[0, 49]; ~U[0, 99] Deterioration rate (b) 3 0.25, 0.50, 0.75 Due date (dj) 1 = j d
(
−)
+ + +∑
∑
∑
= = = 1 1 2 1 1 1 n n a u a n s n k k m i ji n k k( )
, ~[ ]
0,1 2 1 1 = ∑∑
= = u a n b u n k m i ki Weight (α, β) 3 (0.25, 0.75); (0.50, 0.50); (0.75, 0.25) Number of solved problems 3 Total problem 6 x 1 x 3 x 3 x 1 x 3 x 3 = 486Dari hasil yang diperoleh, diketahui bahwa model integer programming selalu menghasilkan nilai optimal. Namun, berbeda dengan MIP, hasil yang diperoleh dari algoritma tabu search tidak selalu mencapai nilai optimal. Karena itu, untuk menguji performansi algoritma heuristik yang dikembangkan, harus dihitung besarnya perbedaannya dengan membandingkan hasil yang diperoleh dari algoritma tabu search dengan hasil optimal yang diperoleh dari model integer programming yang dapat ditentukan dengan rumus (14) berikut:
mal SolusiOpti mal SolusiOpti istik SolusiHeur Perbedaan= − (14)
dimana semakin kecil nilai perbedaan, semakin baik performansi algoritma tabu search yang dikembangkan. Dilihat dari Gambar 1, tabu search-IV atau tabu search dengan
initial solution NEH memberikan hasil yang cukup baik berkaitan dengan besarnya
perbedaan dan cukup efektif untuk permasalahan penjadwalan flowshop dengan setup time terpisah dan deteriorasi linier.
(a) 0.00 0.25 0.50 0.75 1.00 5 10 15 20 25 30
Banyak nya job
P e rb e d a a n TS I TSII TSIII TS IV
(b) 0.00 0.25 0.50 0.75 1.00 5 10 15 20 25 30
Banyak nya job
P e rb e d a a n TS I TSII TSIII TS IV (c) 0.00 0.25 0.50 0.75 1.00 5 10 15 20 25 30
Banyak nya job
P e rb e d a a n TS I TSII TSIII TS IV
Gambar 1 Performansi Heuristik: (a) b = 0.25; (b) b = 0.50; (c) b = 0.75.
KESIMPULAN DAN SARAN
Penelitian ini membahas permasalahan penjadwalan flowshop dengan dua kriteria yaitu jumlah terbobot total completion time dan total tardiness dengan mempertimbangkan waktu setup yang terpisah dan deteriorasi linier. Berdasarkan eksperimen yang dilakukan dapat dinyatakan bahwa model optimasi integer
programming yang dikembangkan dapat digunakan untuk menyelesaikan problem
tersebut. Problem yang sama juga dapat diseleseaikan dengan algoritma heuristik berbasis tabu search. Performansi algoritma heuristik yang dikembangkan diukur dengan besarnya perbedaan hasil yang dicapai dengan hasil optimumnya. Secara keseluruhan terdapat 486 problem yang diselesaikan, dan berdasarkan hasil yang diperoleh, heuristik tabu search dengan initial solution NEH merupakan heuristik yang paling efektif dibandingkan dengan yang lain.
Pada penelitian mendatang, kasus penjadwalan yang mempertimbangkan sequence dependent setup time dan/atau breakdown mesin dapat menjadi issue yang menarik.
DAFTAR PUSTAKA
Allahverdi, Ali (2003), The Two- and m-Machine Flowshop Scheduling Problems with Bicriteria of Makespan and Mean Flowtime, European Journal of Operational
Research, Vol. 147 No. 2, pp. 373-396.
Allahverdi, Ali dan Al-Anzi, Fawaz S. (2006), A branch-and-bound algorithm for three-machine flowshop scheduling problem to minimize total completion time with separate setup times, European Journal of Operational Research, Vol. 169, pp. 767–780.
Baker, Kenneth R. (1974), Introduction to Sequencing and Scheduling, Canada: John Wiley & Sons.
Cheng, MingBao, Sun, ShiJie dan He, LongMin (2007), Flow shop scheduling problems with deteriorating jobs on no-idle dominant machines, European
Journal of Operational Research, Vol. 183, pp. 115–124.
Eren, Tamer dan Güner, Ertan (2006), A Bicriteria Flowshop Scheduling Problem with Setup Times, Applied Mathematics and Computation, Vol. 183, pp. 1292-1300. Framinan, Jose M. (2007), An adaptive branch and bound approach for transforming job
shops into flow shops, Computers & Industrial Engineering, Vol. 52, pp. 1-10. Lee, Wen-Chiung, Wu, Chin-Chia, Wen, Chien-Chih dan Chung, Yu Hsiang (2007), A
Two-Machine Flowshop Makespan Scheduling Problem with Deteriorating Jobs, Computers & Industrial Engineering, doi:10.1016/j.cie.2007.10.010. Loukil, T., Teghem, J., dan Tuyttems, D. (2003), Solving Multi-Objective Production
Scheduling Problems Using Metaheuristics, European Journal of Operational
Research, Vol. 161 (1), pp. 42-61.
T’kindt, Vincent dan Billaut, Jean-Charles (2002), Multicriteria Scheduling: Theory,
Models, and Algorithms, Springer.
Varadharajan, T.K. dan Rajendran, Chandrasekharan (2005), A multi-objective simulated-annealing algorithm for scheduling in flowshops to minimize the makespan and total flowtime of jobs, European Journal of Operational
Research, Vol. 167, pp. 772–795.
Wang, Ji-Bo (2007), Flow shop scheduling problems with decreasing linear deterioration under dominant machines, Computers & Operations Research, Vol. 34, pp. 2043–2058.
Wang, Ji-Bo, Ng, C.T. Daniel, Cheng, T.C.E, dan Liu, Li-Li (2006), Minimizing Total Completion Time In A Two-Machine Flow Shop with Deteriorating Jobs,
Applied Mathematics and Computation, Vol. 180, pp. 185-193.
Wang, Ji-Bo and Xia, Zun-Quan (2005), Scheduling jobs under under decreasing linear deterioration, Information Processing Letters, Vol. 94, pp. 63-69.
Wu, Chin-Chia dan Lee, Wen-Chiung (2006), Two-machine flowshop scheduling to minimize mean flow time under linear deterioration, International Journal of
Production Economics, Vol. 103, pp. 572–584.
Yagmahan, Betul dan Yenisey, Mehmet Mutlu (2007), Ant colony optimization for multi-objective flow shop scheduling problem, Computers & Industrial
Engineering, doi:10.1016/j.cie.2007.08.003.
Yokoyama, Masao (2008), Flow-shop scheduling with setup and assembly operations,