PENJADWALAN DUA MESIN FLOW SHOP UNTUK MEMINIMASI TOTAL
TARDINESS DENGAN MEMPERHATIKAN KETIDAKTERSEDIAAN PADA
KEDUA MESIN
Rr.Orifia Pitrasari, Stefanus Eko Wiratno, Patdono Suwignjo Jurusan Teknik Industri
Institut Teknologi Sepuluh Nopember (ITS) Surabaya Kampus ITS Sukolilo Surabaya 60111
Email: [email protected] ; [email protected]; [email protected] ABSTRAK
Penelitian ini membahas permasalahan penjadwalan dua mesin flow shop yang mengakomodasi ketidaktersediaan pada kedua mesin dengan kondisi non-resumable. Sebuah model matematis dan algoritma heuristik dirancang untuk mendapatkan urutan job yang dapat meminimasi total tardiness. Model matematis diselesaikan dengan bantuan Lingo, sedangkan algoritma heuristik dirancang dengan menggunakan 3 prioritas pengurutan yaitu earliness due date, slack dan earliness D/P. Hasil penelitian mengkonfirmasikan bahwa model matematis dapat menghasilkan solusi yang lebih baik dibanding algoritma heuristik, namun membutuhkan waktu yang sangat lama untuk menyelesaikan permasalahan dengan jumlah job yang banyak. Sedangkan untuk algoritma heuristik dengan prioritas pengurutan earliness due date dapat menghasilkan solusi yang lebih baik dibandingkan dengan slack dan earliness D/P. Selain itu, model matematis dan heuristik yang telah dirancang tidak selalu dapat menghasilkan solusi yang optimal.
Kata Kunci : Flow Shop, ketidaktersediaan, model matematis, dan Heuristik
ABSTRACT
This research discussed about two machines flow shop scheduling problem that accommodate non-availability of two machines in non-resumable condition. A mathematic model and heuristic algorithm is established to get job sequence to minimize total tardiness. Mathematic model is solved by using lingo software, whereas the heuristic algorithm that established to solve mathematic model is using three dispatching priority there are earliness due date, slack, and earliness D/P. The result is confirm that mathematic model can get better solution than heuristic algorithm, however need much time to solve a big problem. Whereas for heuristic algorithm that using earliness due date priority can get solution better than slack and earliness D/P. In addition, mathematic model and heuristic that have been established not always can get optimal solution.
Key word: Flow Shop, Non-availability, Mathematic Model, Heuristic
1. Pendahuluan
Beberapa penelitian dilakukan untuk
mengatasi masalah penjadwalan pada sistem
flow shop antara lain adalah penelitian Pan et al. (2002) membuat model penjadwalan dua mesin dengan kriteria performansi minimasi total
tardiness dan mengasumsikan mesin dalam
keadaan tersedia. Selain itu, ada penelitian yang mengasumsikan bahwa mesin tidak selalu
tersedia saat akan digunakan dalam
penjadwalan deterministik. Penelitian tersebut antara lain penelitian yang dilakukan oleh Lee (1997) model tersebut mengasumsikan kondisi ketidaktersediaan mesin yang resumable serta
non-resumable dan ketidaktersediaan hanya
terjadi pada satu mesin dengan kriteria
minimasi makespan. Lee (1999)
mengembangkan model penjadwalan untuk kondisi semi-resumable. Arlianto (2001) dalam
Berhitu (2008) mengembangkan model
penjadwalan Lee (1999) menjadi model
penjadwalan flow shop m mesin n job dengan kendala ketidaktersediaan pada salah satu
mesin. Kubiak et al. (2002) membuat model
penjadwalan untuk kondisi resumable, dengan interval ketidaktersediaan pada beberapa mesin,
dengan kriteria minimasi makespan. Setiawati
(2003) dalam Berhitu (2008) mengembangkan
model Arlianto (2001) dengan
mempertimbangkan ketidaktersediaan mesin yang dapat terjadi pada lebih dari satu mesin dan terletak pada posisi manapun untuk kondisi
non resumable dengan kriteria minimasi mean Earliness. Berhitu (2008) membuat model penjadwalan m mesin dengan kondisi
non-resumable, semi resumable dan resumble untuk
tujuan minimasi makespan. Kusuma (2008)
membuat model penjadwalan dua mesin dimana ketidaktersediaan terjadi terbatas hanya pada salah satu mesin untuk kondisi non-resumable dengan kriteria minimasi total tardiness.
Pengembangan model dalam penelitian ini
mengacu pada penelitian Kusuma (2008).
Penelitian ini membuat suatu model
penjadwalan dua mesin untuk meminimasi total
keterlambatan (total tardiness) dengan
memperhatikan ketidaktersediaan yang terjadi pada kedua mesin kondisi non-resumable. Dalam penelitian ini, proses pengerjaan job bersifat non-resumable yang berarti jika
terdapat job yang proses pengerjaannya
terpotong oleh ketidaktersediaan mesin, ketika mesin tersedia kembali, job tersebut harus
diulang prosesnya dari awal. Menurut Morton
and Pentico (1993) apabila memasukkan kendala due date dalam menjadwalkan suatu
job, maka fungsi tujuan yang sesuai adalah
minimasi total tardiness. Minimasi Total
tardiness terjadi karena besarnya penalty yang
diberikan oleh konsumen proportional terhadap jumlah job yang terlambat serta tidak ada reward apabila job selesai dikerjakan sebelum
due date.
Hasil penelitian diharapkan dapat menjadi alternatif bagi pemecahan masalah penjadwalan
flow shop untuk meminimasi total tardiness
yang mempertimbangkan ketidaktersediaan kedua mesin yang proses jobnya bersifat
non-resumable.
2. Studi Literatur Penjadwalan
Penjadwalan Menurut (Blazewicz et.al,
2007) terdiri dari 3 karakteristik, yaitu sejumlah
T = {T1, T2,.., Tn} dimana n adalah tugas/job,
sejumlah P = {P1,P2,..,Pm} dimana m merupakan mesin, dan sejumlah R = {R1,R2,..,
Rs} dimana s merupakan sumberdaya lainnya.
Atau dengan kata lain, penjadwalan berarti
penugasan sejumlah job untuk diproses
disejumlah mesin dengan sumberdaya yang ada serta dengan batasan yang ditentukan.
Faktor-Faktor yang menggambarkan
karakteristik penjadwalan produksi adalah : 1. Jumlah pekerjaan (job) yang dijadwalkan,
yaitu jumlah job yang akan diproses, waktu yang diperlukan untuk tiap proses, dan jenis mesin yang diperlukan.
2. Jumlah mesin dan atau operasi pada
workshop.
3. Pola fasilitas manufaktur : flow shop,
jobshop, openshop.
4.
Production environment : deterministic(waktu proses dan hal lain yang
berhubungan dengan penjadwalan sudah diketahui) dan Stochastic (tidak diketahui
secara pasti secara pastiwaktu yang ada).
Klasifikasi penjadwalan
Beberapa machine environment yang mungkin terbentuk adalah sebagai berikut :
a. Mesin Tunggal (Single Machine)
Hanya ada satu mesin untuk memproses sejumlah n job.
b. Mesin Paralel (Parallel Machine)
Terdapat m mesin identik yang disusun secara paralel. Sehingga job j dapat dilayani oleh mesin mana saja.
c. Flow Shop
Terdapat m mesin, dimana job
memerlukan operasi di masing-masing mesin. Semua job memiliki routing yang
sama. Biasanya semua antriannya
diasumsikan beroperasi secara First in
First Out.
d. Job Shop
Dalam penjadwalan job shop ini routing tiap mesin tetap, namun urutan proses tidak sama untuk setiap job.
e. Open Shop
Terdapat m mesin, dimana masing-masing
job melewati mesin yang sama lebih dari
satu kali. Job yang berbeda bisa memiliki
routing berbeda.
Penjadwalan flow shop
Ada beberapa macam pola flow shop
menurut Morton and Pentico(1993) :
1. Pure Flow shop
Semua job memerlukan satu operasi pada setiap mesin dan karena tiap job memerlukan jumlah mesin dan urutan
yang sama. Gambar 2.2 menunjukkan pola pure flow shop.
1 2 m
Gambar 2.2 Pola Pure Flow shop 2. Skip Flow shop
Gambar 2.3 menunjukkan pola skip flow
shop atau pola melompat, dimana
mesin-mesin tertentu dapat dilompati oleh
job-job tertentu.
1 2 3 4 5 6
Gambar 2.3 Pola Skip Flow shop 3. Reentrant Flow shop
Dalam reentrant flow shop, beberapa mesin dapat dilalui lebih dari sekali. 2.4 menunjukkan pola reentrant flow shop
4 2 3 2 1 2 R R R
Gambar 2.4 Pola Reentrant Flow shop 4. Compound Flow shop
Dalam compound flow shop, satu mesin dalam set mesin dapat digantikan oleh sekelompok mesin. Kelompok mesin tersebut umumnya adalah mesin-mesin parallel atau jalur batch yang diikuti oleh
mesin-mesin parallel. Gambar 2.5
menunjukkan pola compound flow shop.
Gambar 2.5 Pola Compound Flow shop Availability dalam Penjadwalan
Menurut Strusevich et al. (2009)
kondisi ketidaktersediaan mesin dapat
dibedakan menjadi tiga macam, antara lain : Resumable
Pada kondisi ini job yang belum selesai diproses tersebut bisa dilanjutkan kembali setelah mesin tersedia tanpa mengulang proses
tersebut dari awal. Contoh kondisi ini adalah pada proses welding (mengelas),
Semi-Resumable
Bagian proses yang telah dikerjakan sebelum terjadi ketidaktersediaan maka setelah mesin tersedia, ada bagian proses yang harus diulang. Contoh kondisi semi-resumable yaitu pada proses drilling (mengebor).
Non-Resumable
Kondisi dimana jika terdapat job yang
proses pengerjaannya terpotong oleh
ketidaktersediaan mesin, ketika mesin tersedia kembali, job tersebut harus diulang prosesnya dari awal. Contoh adalah pengecoran.
Model Penjadwalan Kusuma
Model yang digunakan dalam
penjadwalan Kusuma(2008) adalah :
Z = f(Tk) = Fungsi Tujuan Z adalah minimasi Total tardiness
i = nomor job i = 1,2,..,n
j = nomor mesin j = 1,2
k = urutan job k = 1,2,..,n
pi,j = waktu proses job-i pada mesin-j
aj = saat mulai interval ketidaktersediaan
mesin pada mesin ke-j
bj = saat selesai interval ketidaktersediaan
mesin pada mesin ke-i
di = due date job i = 1,2..,n
Variabel Keputusan yang digunakan adalah :
Zik = indeks job i dijadwalkan pada posisi
ke-k. Zik = 1 jika job i dijadwalkan pada posisi ke-k, jika tidak, maka Zi,k = 0.
Auxiliary Variable :
Pkj = processing job urutan ke-k di mesin j
dk = due date job urutan ke-k
Sk,1 = starting time job urutan ke-k pada
mesin pertama, k = 1,2,..,n
Xk = idle time untuk job urutan urutan
ke-k, yaitu waktu antara selesainya job urutan ke-k
pada mesin pertama dengan mulainya job urutan ke-k pada mesin kedua, k =1,2,..,n
hkj = indeks mesin ke-j tersedia saat job
urutan ke-k, hkj = 1, bila mesin ke-j tidak
tersedia saat job urutan ke-k;
hkj = 0, jika mesin ke-j tersedia saat job
urutan ke-k.
Ckj = completion time untuk job urutan ke-k
pada mesin ke-j.
Bila Ketidaktersediaan Terjadi Pada Mesin Pertama
Berikut adalah model matematis bila terdapat ketidaktersediaan pada mesin pertama. Fungsi Tujuan : k
T
MinZ
(1) Subject To : n i k iZ
1 ,1
Untuk k =1,2,..,n ; i = 1,2,..,n (2) n i ij k i kjZ
x
p
p
1 ,)
(
Untuk j = 1,2; k = 1,2,..,n (3) n i i k i kZ
x
d
d
1 ,)
(
Untuk k = 1,2,..,n (4)}
,
0
max{
k,2 k kC
d
T
Untuk k = 1,2,..,n (5) 1 , 2 , 1,
0
max{
k k kC
C
X
} Untuk j=1; k= 1,2,..,n (6)Untuk Starting time:
1 1 , 1 1 , 1
h
xb
S
Untuk k = 1 (7))}
(
{
,1 1 1,1 1 , 1 1 , 1 1 , k k k k kS
xP
h
x
b
C
S
Untuk k = 2,3,..n (8)Untuk Completion time:
n i ij k i kj kj
S
Z
x
p
C
1 ,)
(
Untuk j = 1; k=1,2,..,n (9) 2 , 1 1 , 1 2 , 1C
P
C
Untuk j = 2 dan k = 1 (10) k k k kC
P
X
C
,2 ,1 ,2 Untuk k = 2,3,..,n (11)1
1 , n k k ih
Untuk j=1; k=1,2,..,n (12)}
1
,
0
{
, j kh
Untuk j = 1,2; k = 1,2,..,n (13)}
1
,
0
{
,k jZ
Untuk i = 1,2,..n; k = 1,2,..n (14) j j kjika
P
A
h
,0
1,1 Untuk i = 1 dan j = 1 (15) j j k kj j j k kj j k kj j j k j kB
C
atau
A
P
C
dan
A
C
jika
h
) , 1 ( ) , ( ) , 1 ( , 1 ,0
Untuk k = 2,3,..n dan j = 1 (16)Bila Ketidaktersediaan Terjadi Pada Mesin Kedua
Adapun batasan untuk
ketidaktersediaan yang terjadi pada mesin ke-2 adalah sebagai berikut
Untuk Starting time :
0
1 , 1S
Untuk k = 1 (17) 1 , 1 1 , 1 1 , k k kS
P
S
Untuk k = 2,3,..,n (18))
(
2 ,1 2 , 1 , 1 1 , 2 , k k k k k kS
P
X
h
x
b
C
S
Untuk k = 1,2,..n (19)Untuk Completion time:
}
{
2 ,1 2 , 2 , 1 , 2 , k k k k kC
P
h
x
b
C
C
Untuk k = 1 (20)}
{
2 ,1 2 , 2 , 1 , 2 , k k k k k k kC
P
X
h
x
b
C
X
C
Untuk k = 2,3,..,n (21) j j k kj j j k kj j k kj j j k j kB
C
atau
A
P
C
dan
A
C
jika
h
) 1 , ( ) , ( ) 1 , ( 1 , ,0
Untuk k =1 ; j =2 (22) j j k kj j k j k kj j k kj j j k j k B C atau A X P C dan A C jika h ) 1 , ( ) , ( ) 1 , ( 1 , , 0 Untuk k =2,3,..n; j =2 (23) 3. Formulasi MasalahPengembangan model dilakukan pada sistem flow shop dua mesin dengan asumsi bahwa posisi ketidaktersediaan untuk masing-masing mesin diketahui pada saat penjadwalan akan dilakukan, tidak ada mesin yang dapat memproses lebih dari satu operasi dalam waktu yang bersamaan, waktu proses untuk masing-masing job telah diketahui serta waktu set up sudah termasuk dalam waktu proses.
Model yang dikembangkan ini
dimodifikasi dari model Kusuma (2008).
Modifikasi tersebut adalah :
Modifikasi 1 : Pembuatan model eksak dalam
interval ketidaktersediaan mesin ditinjau dari waktu awal proses
(starting time). Sedangkan
Kusuma (2008) meninjau dari
waktu selesainya job
(completion time).
Modifikasi 2 : Penggabungan parameter saat mulai (a1) dan saat selesai (b1)
ketidaktersediaan pada mesin pertama dan saat mulai (a2) dan
saat selesai (b2)
ketidaktersediaan pada mesin
kedua dalam starting time
maupun completion time. Penjabaran komponen-komponen model untuk penyusunan formulasi model matematis seperti dibawah ini.
i nomor job i = 1,2,..,n j nomor mesin j = 1,2 k urutan job setelah di jadwalkan
k = 1,2,..,n L urutan job setelah di jadwalkan
L = 1,2,..,n pij waktu proses job i pada mesin ke-j
aj saat mulai interval ketidaktersediaan mesin
pada mesin ke-j.
bj saat selesai interval ketidaktersediaan mesin
pada mesin ke-j
di due date job i = 1,2,..,n
Variabel Keputusan :
Zik indeks job i dijadwalkan pada posisi ke-k. Zik = 1 jika job i dijadwalkan pada posisi
ke-k, jika tidak maka Zik = 0
Sk1 Starting time job urutan ke-k pada mesin
pertama. k = 1,2,..,n
Ckj Completion time untuk job urutan ke-k
pada mesin ke-j.
Parameter yang digunakan:
Pkj Processing time job urutan ke-k dimesin
ke-j
dk due date job urutan ke-k
Xk idle time untuk job urutan ke-k, yaitu
waktu antara selesainya job urutan ke-k pada mesin pertama dengan mulainya job urutan ke-k pada mesin kedua, k = 1,2,..,n
hkj indeks mesin ke-j tersedia saat job urutan
ke-k, hkj = 1 bila mesin ke-j tidak tersedia saat
job urutan ke-k ; hkj = 0 jika mesin ke-j tersedia
saat job urutan ke-k
Model matematis ditunjukkan oleh persamaan 1 sampai dengan 21 Fungsi Tujuan : k
T
MinZ
Untuk k = 1,2,..,n
(1)
Subject to :
n i k iZ
1 ,1
Untuk k =1,2,..,n;
(2)
n k k iZ
1 ,1
Untuk i = 1,2,..,n
(3)
n i ij k i j kZ
x
p
p
1 , ,(
)
Untuk j=1,2; k=1,2,..,n
(4)
n i i k i kZ
x
d
d
1 ,)
(
Untuk k = 1,2,..,n
(5)
}
,
0
max{
k,2 k kC
d
T
Untuk k = 1,2,..,n
(6)
1 , 2 , 1,
0
max{
k k kC
C
X
}
Untuk j=1; k = 1,2,..,n
(7)
1
1 , n k k ih
Untuk j = 1,2; k = 1,2,..,n
(8)
Berikut ini pembuatan model matematis dari hasil modifikasi seperti yang disebutkan dalam penjabaran model, yaitu :
Modifikasi 1
Pada modifikasi 1, persamaan (15), (16) dan (22),(23) menjadi persamaan (9), (10),(11) dan (12) dibawah ini j j k
jika
P
A
h
,0
1,1Untuk k = 1; j = 1
(9)
j j k j k j k j j k j k
A
p
p
S
dan
B
S
jika
h
, , 1 , 1 , 1 ,0
,
Untuk k = 2,3,..,n; j = 1 (10)
j j k j k j k j kjika
S
p
p
A
h
,0
, 1 , 1 , Untuk k = 1; j = 2 (11) j j k j k j k j j k j kA
p
p
S
dan
B
S
jika
h
, 1 , 1 , , 1 ,0
,
Untuk k = 2,3,..,n; j = 2 (12)Modifikasi 2 untuk starting time:
Pada model modifikasi 2, persamaan (7), (8), dan (17),(18) ,(19) menjadi persamaan (13), (14), (15) dan (16) dibawah ini
1 1 , 1 1 , 1
h
xb
S
Untuk k = 1 ; j = 1 (13)
)}
(
{
,1 1 1,1 1 , 1 1 , 1 1 , k k k k kS
P
h
x
b
C
S
Untuk k = 2,3,..,n
(14)
)}
,
0
max(
{
,2 2 ,1 1 , 1 , 2 , k k k k kS
P
h
x
b
C
S
Untuk k = 1; j = 2
(15)
)}
,
0
max(
{
,2 2 ,1 1 , 1 , 2 , k k k k k kS
P
X
h
x
b
C
S
Untuk k = 2,3,..,n; j = 2
(16)
Modifikasi 2 untuk completion time:
persamaan (9), (10) dan (11) serta (20) dan (21) menjadi (18) dan (19) dibawah ini :
n i ij k i j k j k
S
Z
x
p
C
1 , , ,(
)
Untuk j = 1; k dan i = 1,2,..,n(17)
)}
,
0
max(
{
,2 2 1,1 2 , 1 1 , 1 2 , 1C
P
h
x
b
C
C
kUntuk k = 1; j = 2
(18)
)} , 0 {max( { ,2 2 ,1 2 , 1 , 2 , k k k k k k C P X h x b C CUntuk k =2,3,..,n; j = 2
(19)
}
1
,
0
{
, j kh
Untuk j = 1,2; k =1,2,..,n
(20)
}
1
,
0
{
,k jZ
Untuk i = 1,2..,n; k = 1,2,...,n(21)
Konstrain (1) memastikan fungsi tujuan
meminimasi total keterlambatan (total
tardiness) job. Konstrain (2) dan (3)
memastikan bahwa hanya terdapat satu job yang dapat dijadwalkan pada posisi ke-k. Konstrain (4) memastikan waktu proses (processing time)
job urutan ke-k di mesin ke-j.
Konstrain (5) memastikan tenggat waktu (due
date) job untuk job urutan ke-k. Konstrain (6)
memastikan bahwa jika (Ck,2 – dk) bernilai
positif, maka job terlambat. Jika nilainya
negatif, maka tidak ada keterlambatan.
Konstrain (7) memastikan idle time job terjadi jika waktu selesainya proses job urutan ke (k-1) pada mesin kedua lebih besar dari waktu selesainya proses job urutan
ke-k dimesin pertama. Bila tidak terjadi idle
time job, maka Xk = 0. Konstrain (8)
memastikan bahwa selama penjadwalan
dilakukan, ketidaktersediaan hanya terjadi sekali. Konstrain (9) sampai (12) memastikan jika proses job ke-k dimesin ke-j tidak terpotong oleh interval ketidaktersediaan, maka mesin
tersedia (
h
k, j0
). Konstrain (13) sampaidengan (16) memastikan starting time job di mesin ke-j terjadi sebelum mesin tidak tersedia atau setelah mesin tersedia serta setelah job sebelumnya selesai diproses di mesin ke-j. Konstrain (17) sampai dengan (18) memastikan bahwa completion time job terjadi pada saat awal mesin mulai tidaktersedia atau terjadi saat mesin telah tersedia. Konstrain (4.19) dan
(4.20) memastikan indeks interval
ketidaktersediaan mesin dan urutan job berupa
binary.
Model matematis yang dibuat
diselesaikan dengan Lingo.8 dan juga
diselesaikan dengan Algoritma heuristik.
Algoritma Heuristik
Algoritma yang dikembangkan dalam
penelitian ini menggunakan 3 prioritas
pengurutan job, yaitu aturan EDD, Slack, dan
pada mesin pertama. Langkah-langkah algoritma yang dibuat adalah :
Langkah 1 : tentukan posisi mesin beserta
panjang interval
ketidaktersediaan di mesin 1
(a1,b1) dan mesin 2 (a2,b2).
Lanjutkan ke langkah 2.
Langkah 2 : masukkan data tentang Pi1, Pi2,
jumlah job (n), Due date
masing-masing job (di), A
sebagai urutan job yang belum terjadwal, B sebagai urutan job yang telah terjadwal.
Langkah 3 : tentukan prioritas pengurutan
dan urutkan job berdasarkan prioritas pengurutan.
Langkah 4 : Set L = 1,2,..,n ; j = 1 dan L =
1
Langkah 5 : periksa apakah masih belum
ada job yang telah dischedule kan ( B=0 ), jika memenuhi lanjutkan ke langkah 6. Jika tidak memenuhi yang berarti
telah ada job yang
terjadwalkan, lanjutkan ke
langkah 8
Langkah 6 : periksa apakah keadaan B=0
berada pada mesin pertama (mesin ke-1),. Jika memenuhi, maka job tersebut diproses
dimesin ke-1 urutan ke-1
dimana starting time-nya = 0 dan lanjutkan ke langkah 11. Jika tidak memenuhi, berarti
job urutan ke L tersebut tidak
diproses di mesin ke-1,
sehingga dipastikan dia
diproses di mesin ke-2 dan lanjutkan ke langkah 7.
Langkah 7 : hitung starting time job urutan
ke-L = 1 dimesin ke dua.
Dimana Starting time job
urutan ke L dimesin ke 2 merupakan Completion time job urutan ke-L di mesin ke-1 (SL,2= SL,1 + PL,1). Selanjutnya ke
langkah 11
Langkah 8 : periksa apakah job yang akan
terjadwalkan tersebut akan di proses pada mesin pertama. Jika
memenuhi, lanjutkan ke
langkah 9. Jika tidak memenuhi
yang berarti job tersebut di
jadwalkan pada mesin
selanjutnya, yaitu mesin ke-2, maka lanjutkan ke langkah 10
Langkah 9 : hitung starting time job urutan
ke-L dimesin ke satu, dimana
Starting time job urutan ke-L di
mesin 1 merupakan Completion
time job sebelumnya yang telah
terjadwalkan di mesin ke-1
(SL,1= SL-1,1 + PL-1,1). Kemudian
lanjutkan ke langkah 11.
Langkah 10 : hitung starting time job urutan ke-L di mesin ke-2 setelah ada beberapa job yang terjadwal.
Starting time job urutan ke-L
dimesin ke-2 ini merupakan
completion time job urutan ke-L
di mesin ke-1 ditambah dengan
idle job. Selanjutnya ke langkah
11.
Langkah 11 : hitung completion time job
urutan ke-L yang akan
dijadwalkan baik pada mesin 1 maupun mesin ke-2. Dimana
completion time job urutan ke-L
yang diproses di mesin ke-J merupakan penambahan dari
starting time job urutan ke-L di
mesin ke-J dengan processing
time job urutan ke-L di mesin
ke-J. Lanjutkan ke langkah 12.
Langkah 12 : periksa apakah job ke-L
diproses di mesin ke-1. Jika
memenuhi, lanjutkan ke
langkah 13. Jika tidak
memenuhi ke langkah 21 Langkah 13 : periksa apakah job urutan ke-L
bisa dijadwalkan pada mesin
ke-J sebelum waktu
ketidaktersediaan mesin.
Gunakan syarat CL,J ≤ aJ apabila
syarat tersebut terpenuhi, maka lanjutkan ke langkah 14. Jika syarat tersebut tidak terpenuhi, maka lanjutkan ke langkah 15. Langkah 14 : Jadwalkan job urutan ke-L
setelah job urutan ke-L-1
selesai. Set k = L, dimana k merupakan urutan pengerjaan
job yang telah terjadwal (B).
Langkah 15 : periksa apakah job urutan ke-L bisa dijadwalkan pada mesin
ke-J sebelum waktu
ketidaktersediaan mesin.
Gunakan syarat SL,J ≤ aJ apabila
syarat tersebut terpenuhi, maka ke langkah
Jika syarat tersebut tidak
terpenuhi, maka lanjutkan ke langkah 17.
Langkah 16 : Periksa apakah ada job
pengganti dibelakang job urutan ke-L dengan syarat CL,J ≤ aJ.
Apabila syarat tersebut
terpenuhi, maka Tukar posisi
job pengganti dan urutkan job
menurut di terkecil hingga terbesar dan kembali ke langkah 14. Jika syarat tersebut tidak
terpenuhi, Lanjutkan ke
langkah 17.
Langkah 17 : periksa apakah SL,J ≤ bJ. Jika
syarat tersebut terpenuhi,
lanjutkan ke langkah 18. Jika syarat tersebut tidak terpenuhi, maka kembali ke langkah 14.
Langkah 18 : job merupakan cross over job,
yaitu job tersebut terpotong oleh interval ketidaktersediaan mesin, sehingga set SL,J = b1,
kemudian hitung CL,J = SL,J + PL,J. Dan kembali ke langkah
14.
Langkah 19 : set L = L+1. Jika L = n, maka output dari mesin ke-1 yang berupa urutan job yang telah terjadwal (B) akan menjadi input di mesin ke-2 (A). Sehingga untuk diproses di mesin ke-2, maka set B di mesin ke-1= 0. Lanjutkan ke langkah 20. Jika L < = n, maka kembali ke langkah 5.
Langkah 20 : set J = J+1. Jika J > jumlah mesin (M), maka lanjutkan ke langkah 27 . Jika tidak maka kembali ke langkah 4.
Langkah 21 : periksa apakah job urutan ke-L bisa dijadwalkan pada mesin
ke-J sebelum waktu
ketidaktersediaan mesin.
Gunakan syarat CL,J ≤ aJ apabila
syarat tersebut terpenuhi, maka lanjutkan ke langkah 14. Jika syarat tersebut tidak terpenuhi, maka lanjutkan ke langkah 22. Langkah 22 : periksa apakah job urutan ke-L
bisa dijadwalkan pada mesin
ke-J sebelum waktu
ketidaktersediaan mesin.
Gunakan syarat SL,J ≤ aJ apabila
syarat tersebut terpenuhi, maka ke langkah 23. Jika syarat tersebut tidak terpenuhi, maka lanjutkan ke langkah 24.
Langkah 23 : Periksa apakah ada job
pengganti dibelakang job urutan ke-L dengan syarat CL,J ≤ aJ.
Apabila syarat tersebut
terpenuhi, maka Tukar posisi
job pengganti dan urutkan job
menurut di terkecil hingga terbesar dan kembali ke langkah 14. Jika syarat tersebut tidak
terpenuhi, Lanjutkan ke
langkah 24.
Langkah 24 : periksa apakah SL,J ≤ bJ. Jika
syarat tersebut terpenuhi,
lanjutkan ke langkah 25. Jika syarat tersebut tidak terpenuhi, maka lanjutkan ke langkah 14.
Langkah 25 : job merupakan cross over job,
yaitu job tersebut terpotong oleh interval ketidaktersediaan mesin, sehingga set SL,J = b1,
kemudian hitung CL,J = SL,J + PL,J. Dan kembali ke langkah
14.
Langkah 26 : hitung total tardiness dari
semua job yang telah
dijadwalkan , dimana Σ(Tk) = Σmax(0, Ck-dk). Lanjutkan ke
langkah 27. Langkah 27 : Algoritma selesai
4. Contoh Numerik dan Analisis Hasil
Contoh numerik dilakukan terhadap teknik penyelesaian, yaitu enumerasi, eksak dan heuristik dengan mengambil sampel jumlah job sebanyak n = 5 (data dari penelitian
sebelumnya, Schaller (2005)) sehingga
menghasilkan total tardiness. Kemudian, total
kemampuan masing-masing teknik penyelesaian dalam menyelesaikan problem penjadwalan.
Problem penjadwalan dengan jumlah job n = 5 salah satunya dilakukan dengan enumerasi karena dipastikan memberikan solusi optimal.
Dengan enumerasi semua alternatif
penjadwalan dihitung total tardinessnya dan masing-masing n job diuji dengan beberapa interval ketidaktersediaan mesin. Perhitungan enumerasi memerlukan waktu yang cukup lama apabila dilakukan secara manual, Oleh karena itu untuk memudahkan dalam perhitungan,
enumerasi yang dilakukan disini untuk
mempermudah perhitungan menggunakan
bantuan pemrograman Java. Dari rekapan
enumerasi, diketahui hubungan antara
ketidaktersediaan yang terjadi di kedua mesin dalam mempengaruhi total keterlambatan, yaitu
keterlambatan terbesar terjadi apabila
ketidaktersediaan mesin terjadi di awal untuk mesin pertama dan terjadi di tengah untuk mesin ke dua.
Selain diselesaikan dengan enumerasi
model matematis diselesaikan dengan
Algoritma Heuristik dan Lingo.8. Untuk
mempermudah melakukan perhitungan,
Algoritma heuristik menggunakan alat bantu Java dengan mengikuti Langkah 1 sampai dengan Langkah 27 seperti yang dijelaskan diatas. Dari hasil heuristik diketahui bahwa prioritas pengurutan dengan menggunakan EDD menghasilkan total keterlambatan yang paling kecil dibandingkan dengan Slack dan Earliness D/P. Hal ini dikarenakan dalam EDD, due date
merupakan pertimbangan utama dalam
permulaan pengerjaan job. Dimana job dengan
due date terkecil diproses terlebih dahulu.
Untuk mengetahui performansi
penyelesaian masalah penjadwalan dengan Lingo.8, maka akan diujikan sejumlah job (n) dengan n = 6 sampai dengan n = 12. Setelah model matematis dirunning dengan Lingo.8, dari n = 6 sampai dengan n = 8, tidak dibutuhkan adanya penyesuaian konstrain. Namun ketika n = 9 sampai dengan n = 12, dibutuhkan adanya penyesuaian konstrain.
Kemudian dibandingkan performansi antara ketiga teknik penyelesaian (enumerasi, eksak dan heuristik) dalam menyelesaikan kasus
penjadwalan yang memperhatikan
ketidaktersediaan mesin, maka dilakukan suatu perbandingan terhadap masing-masing posisi
ketidaktersediaan mesin. Dalam penelitian ini, terdapat 9 kombinasi posisi ketidaktersediaan mesin. Dan hasilnya ditunjukkan oleh Gambar 1 dibawah ini.
Gambar 1. Perbandingan Performansi Enumerasi, Eksak dan Heuristik
Dari gambar 1 diatas, kemudian dibuat suatu persentase perbedaan total tardiness yang dapat dilihat pada persamaan 22 dan 23 berikut ini.
Perbedaan total tardiness antara solusi eksak terhadap enumerasi: % 3 % 100 69 69 71 x (22) Perbedaan total tardiness antara solusi heuristik terhadap enumerasi :
%
5
%
100
69
69
72
x
(23) Persentase perbedaan pada persamaan 22 dan23 menunjukkan bahwa semakin kecil
perbedaan terhadap solusi enumerasi (solusi optimal) maka semakin baik performansi eksak maupun heuristik
5. Kesimpulan
Model matematis yang dikembangkan
merupakan model Integer Non-Linear
Programming, maka dalam pencapaian solusinya, menghasilkan solusi yang local
optimum. Dalam penyelesaiannya model matematis di running dalam Lingo.8, dimana dalam menyelesaikan problem penjadwalan, untuk beberapa jumlah job model matematis
masih membutuhkan adanya penyesuaian
konstrain. Pembuatan model matematis ini sangatlah rumit dan membutuhkan ketelitian serta waktu yang cukup lama. Selain pembuatan
model matematis yang sangat rumit,
job yang banyak akan membutuhkan waktu
yang lama dalam memperoleh hasil keputusan. Untuk mengatasi hal tersebut, model matematis diselesaikan dengan pendekatan Heuristik.
Algoritma heuristik yang dibuat mampu menyelesaikan kasus penjadwalan flow shop dua mesin dengan kriteria performansi minimasi
total tardiness dengan mempertimbangkan
kendala ketidaktersediaan pada kedua mesin kondisi non-resumble dalam waktu singkat tanpa adanya penyesuaian konstrain. Dimana algoritma heuristik dengan prioritas pengurutan EDD disertai adanya pertukaran job (switch job) dimesin pertama menghasilkan penjadwalan yang cukup baik, yaitu total tardiness paling minimum dibandingkan dengan slack dan juga
earliness D/P. Namun, prioritas pengurutan
EDD untuk fungsi tujuan total tardiness tidak selalu memperoleh hasil yang optimal.
Performansi antara metode eksak (dengan merun dalam Lingo.8) dan heuristik (dengan merun dalam Java) terhadap enumerasi (hasil optimal), diketahui bahwa metode eksak menghasilkan nilai total tardiness yang lebih kecil dibandingkan dengan Algoritma heuristik sehingga dikatakan metode eksak lebih baik dari segi hasil, yaitu menghasilkan job dengan urutan yang nilai keterlambatannya lebih kecil
dibandingkan dengan algoritma heuristik.
Dengan persentase perbedaan antara enumerasi dan eksak sebesar 3% dan persentase perbedaan antara enumerasi dan heuristik sebasar 5%.
Namun dalam kasus tertentu, Algoritma heuristik lebih disarankan digunakan dari pada
eksak karena dalam memperoleh hasil
keputusan dengan jumlah job yang sangat besar, penyelesaian dengan heuristik membutuhkan waktu yang cukup singkat.
Dalam penelitian selanjutnya untuk
melengkapi dan menyempurnakan penelitian ini perlu diperhatikan hal-hal sebagai berikut :
1. Interval ketidaktersediaan menggunakan lebih dari sekali untuk masing-masing mesin.
2. Modifikasi model matematik untuk permasalahan dengan jumlah job yang banyak sehingga tidak perlu melakukan penyesuaian model matematik ketika dirunning dengan software Lingo 3. Urutan job di mesin kedua dapat dibuat
berbeda dengan urutan job di mesin kesatu.
4. Prioritas pengurutan job dalam heuristik
perlu disempurnakan agar dapat
menghasilkan solusi yang optimal dan/atau lebih baik.
5. Posisi ketidaktersediaan mesin bersifat probabilistik.
6. Daftar Pustaka
Allaoui, H., Artiba, A., Elmaghraby, S.E., Riane, F. 2006. Scheduling of Two-Machine Flow Shop With Availability Constraints On The First Machine. International Journal of Production Economics, Vol. 99, pp. 16-27.
Baker, K. R. 1974. Introduction to Scheduling. Canada : John Wiley & Sons, Inc.
Berhitu, Jefikz. 2008. Model Penjadwalan Flow Shop n Job m Mesin untuk Meminimasi Makespan dengan Kendala Ketidaktersediaan Mesin dengan Due Date. Thesis Jurusan Teknik Industri ITS.
Blazewicz J., Ecker K., Pesch E., Schmidt G., Weglarz J. 2007. International Handbooks Scheduling Computer and Manufacturing Process. Berlin : Springer Chantaravarapan, Samarn, B.E., M.S.I.E. 2002. Heuristic For The Family Scheduling Problems To Minimize Total Tardiness. A Dissertation in Industrial Engineering of Texas.
Kubiak, Weislaw, Blazewicz J.,
Formanowicz P.,Breit J.,Schmidt G. 2002. Two-Machine Flow Shop with Limited Machine Availability. European Journal Of Operation Research, Vol. 136, pp. 528-540.
Kusuma, Budiyanti. 2008. Penjadwalan Dua Mesin Flow Shop Untuk Meminimasi
Total Tardiness berdasarkan
Ketidaktersediaan Mesin. Tugas Akhir Jurusan Teknik Industri ITS.
Lee, C. Y. 1997. Minimizing the Makespan in The Two Flow Shop Scheduling
Problem With Unavaibility Constraints. Operation Research Letter, Vol.20, pp.129-139.
Lee, C.Y. 1999. Two Machine Flow Shop Scheduling with Avaibility Constraints.
European Journal Of Operation
Research, Vol.114, pp. 420-129.
Liao, L.M and Tsai, C.H. 2008. Heuristic Algorithm for Two Machine Flow Shop with Avaibility Constraints. Computer & Industrial Engineering, Vol. Xxx, pp. xxx-xxx
Morton, Thomas E and Pentico, David W. 1993. Heuristic Scheduling Systems. Canada : John Wiley & Sons, Inc. Pan, J.C.H., Chen, J.S., and Chao, C.M.
2002. Minimizing Tardiness in A Two
Machine Flowshop. Computers &
Operation Research, Vol. 29, pp. 869-885.
Pinedo, Michael. 2002. Scheduling Theory, Algorithms, and System, Third Edition. New York : Prentice Hall, Inc.
Pinedo, Michael. 2008. Scheduling Theory, Algorithms, and System, Second Edition. New Jersey : Prentice Hall, Inc.
Riggs, James L. 1976. Production Systems : Planning, Analysis and Control, Third Edition. Canada : John Wiley & Sons, Inc.
Schaller, Jefrey. 2005. Note on Minimizing Total Tardiness on A Two-Machine Flowshop. Computers & Operation Research, Vol. 32, pp. 3273-3281. Sipper, D and Bulfin, Robert L., Jr. 1997.
Production : Planning, Control, and Integration. New York : The MacGraw Hill, Inc.
Strusevich, Vitaly A., Potts, Chris N., And
Kubzin, Mikhail A. 2009.
Approximation Result for Flow Shop Scheduling Problems with Machine
Availability Constraints. Computers & Operation Research, Vol. 36, pp. 379-390.