Anda di halaman 1dari 12

INTEGRAL, Vol. 10 No.

1, Maret 2005

PENJADWALAN JOB SHOP STATIK DENGAN


ALGORITMA TABU SEARCH
Henry P. Panggabean
Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam,
Universitas Katolik Parahyangan, Bandung
email : henrypp@home.unpar.ac.id

Intisari
Makalah ini membahas penerapan algoritma tabu search (TS) dalam
penyelesaian masalah penjadwalan job shop statik. Implementasi dalam
bentuk perangkat lunak membuktikan bahwa algoritma ini dapat
menghasilkan jadwal job shop yang valid. Kualitas jadwal diukur dengan
kriteria completion time atau makespan, dan dibandingkan dengan hasil
dari algoritma simulated annealing (SA) dan perangkat lunak penjadwalan
Quant System. Disimpulkan bahwa algoritma TS mengungguli algoritma SA
dan Quant System dalam hal kualitas solusi, dengan waktu komputasi yang
masih dapat diterima.

Kata kunci : penjadwalan job shop, algoritma tabu search, makespan

Abstract
This paper presents the application of tabu search (TS) algorithm in solving
static job shop scheduling problem. Software implementation proves that
this algorithm can give valid job shop schedules. The quality of solution is
measured with completion time (makespan) and compared with result from
simulated annealing (SA) algorithm and Quant System scheduling software.
It is concluded that TS algorithm exceeds SA algorithm and Quant System in
terms of solution quality, with reasonable computation time.

Keywords :job shop scheduling, tabu search algorithm, makespan

Diterima : 24 Januari 2005


Disetujui untuk dipublikasikan : 15 Februari 2005

1. Pendahuluan Carlier dan Pinson dengan menggunakan


Masalah penjadwalan job shop m-mesin algoritma branch and bound dengan
n-job merupakan salah satu masalah waktu komputasi 5 jam pada komputer
optimasi kombinatorial NP-hard yang PRIME 2655 [1].
paling sulit. Waktu komputasi untuk
mencari solusi optimal meningkat secara Algoritma tabu search (TS)
eksponensial seiring dengan diperkenalkan oleh Fred Glover pada
membesarnya nilai parameter masalah tahun 1986. Pada tahun 1988, Committee
(jumlah mesin dan jumlah job). Salah on the Next Decade of Operations
satu indikasi tingkat kesulitannya adalah Research (CONDOR) menetapkan TS,
fakta bahwa kasus uji 10 job 10 mesin bersama dengan simulated annealing dan
yang dibuat oleh Muth dan Thompson genetic algorithm, sebagai metode yang
pada tahun 1963 baru dapat ditemukan sangat menjanjikan untuk aplikasi praktis
solusi optimalnya pada tahun 1989 oleh [2]. Saat ini TS telah menjadi salah satu

34
INTEGRAL, Vol. 10 No. 1, Maret 2005

teknik optimasi yang digunakan secara adalah lama waktu total penyelesaian
luas di berbagai bidang dan metode ini seluruh job (completion time atau
telah mengalami banyak perkembangan makespan).
melalui berbagai penelitian.
Asumsi berikut digunakan dalam
Tabu search adalah sebuah meta- penelitian ini :
heuristik yang menuntun prosedur local 1. Pada waktu t = 0, seluruh job sudah
search untuk melakukan eksplorasi di siap untuk dikerjakan. Tipe masalah
daerah solusi di luar titik optimum lokal. job shop seperti ini disebut juga
Metode ini menerapkan konsep adaptive masalah job shop statis.
memory dan responsive exploration, 2. Semua job harus melewati semua
untuk dapat melakukan proses pencarian mesin (jumlah operasi dalam tiap job
secara efektif dan efisien dengan cara = jumlah mesin).
memanfaatkan informasi tentang ciri 3. Setiap job hanya memiliki satu
solusi yang baik pada saat menjelajahi routing (urutan pengerjaan pada
daerah pencarian yang baru. Kenyataan mesin). Tiap operasi hanya dapat
ini memberi harapan bahwa algoritma TS dikerjakan oleh mesin sesuai dengan
dapat menghasilkan jadwal job shop routing-nya.
dengan kualitas yang baik dalam waktu 4. Tidak ada penghentian operasi yang
komputasi yang relatif kecil sedang dikerjakan (non-preemptive
dibandingkan metode enumeratif [2]. scheduling).
5. Pada suatu waktu tertentu, setiap job
Penelitian ini bertujuan untuk hanya dapat dikerjakan pada satu
menerapkan algoritma TS dalam mesin tertentu dan setiap mesin
menyelesaikan masalah job shop, serta hanya dapat mengerjakan satu
membandingkan kualitas jadwal yang operasi dari satu job. Tidak terdapat
dihasilkan (dalam satuan makespan) mesin paralel.
terhadap hasil dari algoritma simulated 6. Waktu setup mesin dan waktu
annealing (SA) dan perangkat lunak transportasi job antar mesin
penjadwalan Quant System, yang diabaikan. Mesin selalu tersedia dan
menerapkan metode heuristik priority tidak pernah mengalami kerusakan.
dispatching. Untuk mencapai tujuan Sumber daya lain di luar mesin tidak
tersebut, dibangun sebuah model diperhatikan.
perangkat lunak (program) penjadwalan
job shop dengan algoritma TS dan Setiap solusi feasibel dari masalah job
dilakukan percobaan dengan berbagai shop disebut jadwal. Masalah job shop
ukuran masalah job shop. dengan m mesin n job akan menghasilkan
(n!)m buah jadwal, namun tidak semua
2. Masalah Penjadwalan Job shop jadwal tersebut layak digunakan. Sebuah
Secara umum masalah penjadwalan job jadwal dikatakan valid jika urutan
shop dinyatakan sbb.: pengerjaan operasi-operasi dalam suatu
Terdapat n buah job {J1, J2, ..., Jn} yang job memenuhi routing yang telah
akan diproses pada m buah mesin {M1, ditetapkan, dan tidak ada overlap waktu
M2, ..., Mm}. Waktu yang dibutuhkan pengerjaan dari operasi-operasi yang
untuk mengerjakan job Ji pada mesin Mj dikerjakan pada mesin yang sama.
(operasi Oij) adalah tij. Masalahnya Masalah job shop berhasil diselesaikan
adalah menentukan urutan pengerjaan jika waktu awal pengerjaan dari setiap
yang menghasilkan solusi terbaik operasi telah diperoleh dan kedua syarat
berdasarkan kriteria tertentu. Dalam di atas dipenuhi.
penelitian ini, kriteria yang digunakan 35
INTEGRAL, Vol. 10 No. 1, Maret 2005

Representasi disjunctive graph (digraph) Proses pencarian bergerak dari satu solusi
sangat sesuai untuk digunakan dalam ke solusi berikutnya, dengan cara
pemodelan masalah penjadwalan job memilih solusi terbaik dari neighborhood
shop [1]. Graph ini dinotasikan dalam solusi sekarang (current) yang tidak
bentuk G = {V, A, E}, dimana V = tergolong solusi terlarang (tabu). Ide
himpunan vertex (simpul) yang mewakili dasar dari algoritma tabu search adalah
operasi-operasi; A = himpunan busur mencegah proses pencarian dari local
konjungtif (berarah) yang search agar tidak melakukan pencarian
menghubungkan operasi-operasi dalam ulang pada ruang solusi yang sudah
suatu job tertentu; dan E = himpunan pernah ditelusuri, dengan memanfaatkan
busur disjungtif (berarah bolak balik) suatu struktur memori yang mencatat
yang menghubungkan operasi-operasi sebagian jejak proses pencarian yang
yang dikerjakan pada mesin yang sama, telah dilakukan [1].
yang didefinisikan sebagai berikut:
• V = O ∪ {0} ∪ {N+1}, dimana O Struktur memori fundamental dalam tabu
adalah himpunan seluruh operasi search dinamakan tabu list. Tabu list
dalam masalah job shop; N = ⏐O⏐= menyimpan atribut dari sebagian move
jumlah seluruh operasi dalam (transisi solusi) yang telah diterapkan
masalah job shop, serta {0} dan pada iterasi-iterasi sebelumnya. Tabu
{N+1} adalah vertex khusus yang search menggunakan tabu-list untuk
mewakili vertex awal (start) dan menolak solusi-solusi yang memenuhi
vertex akhir (completion) dari atribut tertentu guna mencegah proses
masalah job shop. pencarian mengalami cycling pada
• A = {(i,j) : operasi i adalah daerah solusi yang sama, dan menuntun
predesesor langsung dari operasi j proses pencarian menelusuri daerah
dalam job Ji (= Jj)} ∪ {(0,j) : j ∈ O} solusi yang belum dikunjungi. Tanpa
∪ {(i,N+1) : i ∈ O}. menggunakan strategi ini, local search
• E = {(i,j) : Mi = Mj atau operasi i dan yang sudah menemukan solusi optimum
j dikerjakan pada mesin yang sama, lokal dapat terjebak pada daerah solusi
optimum lokal tersebut pada iterasi-
i,j ∈ O}
iterasi berikutnya.
• Pada tiap vertex i ∈ O, diberikan
sebuah bobot di; vertex 0 dan N+1
Perekaman solusi secara lengkap dalam
memiliki bobot 0.
sebuah forbidden list dan pengecekan
apakah sebuah kandidat solusi tercatat
dalam list tersebut merupakan cara yang
Waktu awal dari vertex 0 dan waktu
mahal, baik dari sisi kebutuhan memori
akhir dari vertex N+1 merepresentasikan
maupun kebutuhan waktu komputasi.
waktu awal dan waktu penyelesaian dari
Jadi tabu list hanya menyimpan langkah
masalah job shop tersebut. Jadi,
transisi (move) yang merupakan lawan
penyelesaian masalah job shop sama
atau kebalikan dari langkah yang telah
dengan penentuan orientasi (arah) dari
digunakan dalam iterasi sebelumnya
busur-busur disjungtif dalam graph G
untuk bergerak dari satu solusi ke solusi
sedemikian rupa sehingga graph G tidak
berikutnya. Dengan kata lain tabu list
mengandung cycle dan panjang lintasan
berisi langkah-langkah yang
terpanjang dari vertex 0 menuju vertex
membalikkan solusi yang baru ke solusi
N+1 diminimalkan.
yang lama [3].
3. Algoritma Tabu Search (TS) Pada tiap iterasi, dipilih solusi baru yang
Tabu search adalah sebuah metode 36
merupakan solusi terbaik dalam
optimasi yang berbasis pada local search.
INTEGRAL, Vol. 10 No. 1, Maret 2005

neighborhood dan tidak tergolong penanganan khusus terhadap move yang


sebagai tabu. Kualitas solusi baru ini dinilai dapat menghasilkan solusi yang
tidak harus lebih baik dari kualitas solusi baik namun move tersebut berstatus tabu.
sekarang. Apabila solusi baru ini Dalam hal ini, jika move tersebut
memiliki nilai fungsi objektif lebih baik memenuhi kriteria aspirasi yang telah
dibandingkan solusi terbaik yang telah ditetapkan sebelumnya, maka move
dicapai sebelumnya, maka solusi baru ini tersebut dapat digunakan untuk
dicatat sebagai solusi terbaik yang baru. membentuk solusi berikutnya (status
tabunya dibatalkan). Berikut ini
Sebagai tambahan dari tabu-list, dikenal diberikan kerangka umum algoritma tabu
adanya kriteria aspirasi, yaitu suatu search dalam notasi bahasa Pascal [1].

begin
{Buat solusi awal s yang feasibel dengan
menggunakan
suatu metode heuristik tertentu atau secara
acak}
best := cost(s);
s* := s; {s* adalah solusi terbaik yang
diperoleh}
tabu_list := null;
repeat
Candidate(s) := (s’ ∈ N(s): merupakan move
dari s
ke s’ yang tidak tergolong elemen dari tabu-
list atau
memenuhi kriteria aspirasi};
(pilih s ∈ Candidate(s): s adalah solusi yang
memiliki nilai cost minimum );
(simpan move yang berlawanan ke dalam tabu-
list, yaitu
yang mengubah s ke s );
s := s ;
if (cost(s) < best) then
s* := s;
best := cost(s);
until (stopping-criteria = TRUE);
return(s*);
end;

Algoritma 1. Kerangka Umum Tabu Search

37
INTEGRAL, Vol. 10 No. 1, Maret 2005

4. Penerapan Algoritma TS untuk pertama menuju vertex terakhir yang


Penjadwalan Job Shop memenuhi syarat berikut :
Untuk mengaplikasikan algoritma TS ke • Nilai ES dan LS dari setiap vertex
dalam masalah penjadwalan job shop, yang dihubungkan oleh busur-busur
perlu didefinisikan enam hal berikut tersebut harus sama.
secara tepat, yaitu : • Untuk busur u → v, hasil
penjumlahan start time dan waktu
(a) Tahap pembuatan solusi (jadwal) pengerjaan dari operasi u harus sama
awal dengan start time dari operasi v.
Solusi awal untuk algoritma TS dapat
dibuat secara acak atau dengan (c) Tahap pembuatan neighbour baru
menggunakan metode heuristik tertentu. Neighbourhood dari sebuah jadwal ialah
Dalam penelitian ini solusi awal dibuat himpunan jadwal baru yang dapat
dengan menggabungkan jadwal-jadwal diperoleh dengan menerapkan fungsi
tiap mesin yang disusun dengan transisi terhadap jadwal tersebut [1].
menggunakan algoritma Schrage. Fungsi transisi dalam kasus penjadwalan
Algoritma ini merupakan bagian dari job shop memilih vertex v dan w
algoritma Carlier yang digunakan untuk sedemikian rupa sehingga:
masalah penjadwalan satu mesin [4]. • v dan w adalah dua operasi
berurutan sembarang yang
Keputusan untuk tidak membuat solusi dikerjakan pada mesin k.
awal secara acak diambil karena dari • busur (v,w) ∈ Ei adalah sebuah
hasil percobaan diperoleh kesimpulan busur kritis, atau (v,w) berada pada
sementara bahwa pembuatan solusi job lintasan kritis dari graph.
shop secara acak membuka peluang lebih
besar untuk dihasilkannya graph jadwal Fungsi transisi akan memilih satu solusi
job shop yang mengandung cycle, feasibel secara acak dari himpunan
terutama pada kasus uji berukuran besar, neighborhood, yang berisi semua
sehingga proses pembuatan jadwal awal kemungkinan solusi yang dapat diperoleh
perlu diulang beberapa kali. dengan penukaran urutan terhadap
operasi-operasi semesin yang posisinya
(b) Tahap evaluasi fungsi biaya dan bersebelahan pada lintasan kritis [1].
penentuan lintasan kritis Sebuah neighbour (tetangga) dari suatu
Setelah diperoleh sebuah graph untuk jadwal dibuat dengan cara
jadwal awal, dihitung nilai ES (earliest mempertukarkan urutan pengerjaan
start time) dan LS (latest start time) dari operasi v dan w pada mesin k atau
setiap operasi dalam graph dengan membalikkan arah busur (v,w). Struktur
menggunakan critical path method neighbourhood ini didasarkan pada dua
(CPM) [5]. Makespan jadwal adalah nilai fakta bahwa :
ES atau LS dari operasi terakhir (operasi • Pembalikan sebuah busur kritis
dummy N+1). Pada proses komputasi ini dalam graph Di tidak akan
juga sekaligus dilakukan identifikasi menghasilkan graph Dj yang cyclic.
apakah terdapat cycle dalam graph. Jika • Jika pembalikan sebuah busur non
dalam graph terdapat cycle, maka jadwal kritis dalam Di menghasilkan graph
tersebut ditolak dan dibuat jadwal baru. acyclic Dj, maka lintasan kritis q
dalam Dj tidak mungkin lebih
Setelah menghitung makespan jadwal, pendek daripada lintasan kritis p
diidentifikasi lintasan kritis dalam graph, dalam Di, karena Dj masih memuat
yaitu himpunan busur-busur dari vertex lintasan p.

38
INTEGRAL, Vol. 10 No. 1, Maret 2005

Dengan cara ini, dapat dihindari Dalam penelitian ini, panjang tabu list
pemilihan jadwal yang tidak ditentukan berdasarkan ukuran masalah
menghasilkan penurunan makespan dan yang ditangani, dengan mengalikan
jadwal yang mengakibatkan terjadinya jumlah job dengan sebuah konstanta
cyclic graph. Struktur neighbourhood ini tertentu, yang nilainya diubah pada tiap
memungkinkan model TS hanya eksekusi program untuk mendapatkan
meninjau graph-graph yang mewakili kualitas solusi yang terbaik. Pengaruh
solusi yang feasibel. Jadi, transisi ini perubahan panjang tabu list terhadap
menyebabkan pembalikan busur yang kualitas solusi yang dihasilkan
menghubungkan v dan w dari (v,w) ditunjukkan pada Tabel 3.
menjadi (w,v) dan penggantian busur
(u,v) dan (w,x) dengan busur (u,w) dan Dapat terjadi situasi dimana semua move
(v,x), dimana u adalah operasi sebelum v dalam neighborhood dari sebuah solusi
pada mesin k, dan x adalah operasi ternyata tergolong sebagai tabu. Jika hal
setelah w pada mesin k. ini terjadi, dapat ditempuh salah satu dari
dua alternatif berikut: menghentikan
(d) Tahap pengelolaan tabu list proses pencarian sama sekali (terminasi
Tabu list memiliki ukuran yang terbatas, algoritma), atau memilih salah satu dari
dan dikelola dengan menggunakan move yang tabu tersebut sebagai solusi
metode FIFO (first in first out), dimana berikutnya. Ada dua cara untuk memilih
setiap kali solusi baru dibuat, algoritma move tabu yang akan digunakan, yaitu
TS menyimpan atribut move yang memilih move tabu yang menghasilkan
membentuk solusi baru tersebut dan nilai makespan terbaik (cara
menghapus sebuah atribut move yang deterministik), atau memilih secara acak
lama dari list [6]. tanpa memperhatikan nilai makespan
yang dihasilkan (cara stokastik). Dalam
Kinerja algoritma TS sangat bergantung penelitian ini, cara yang ditempuh adalah
kepada cara penentuan panjang tabu list cara stokastik.
secara tepat. Secara empirik, ukuran tabu
list untuk menghasilkan kualitas solusi (e) Tahap pendefinisian kriteria aspirasi
yang baik akan bertambah seiring dengan Berdasarkan kenyataan bahwa pada suatu
membesarnya ukuran masalah. Namun kondisi tertentu, tabu search dapat
tidak ada aturan baku yang dapat melarang sebuah move yang sebenarnya
memberikan kriteria panjang tabu list dapat menuntun proses pencarian
yang tepat untuk setiap jenis masalah. bergerak ke daerah solusi yang belum
Hal ini disebabkan ukuran list yang tepat dikunjungi, yang mungkin dapat
sebenarnya tergantung pada ketatnya memberikan solusi yang baik, maka
tingkat kriteria tabu yang diterapkan; diperlukan suatu metode untuk dapat
kriteria tabu yang semakin ketat akan membatalkan efek dari tabu list, yang
mengurangi panjang tabu list yang disebut kriteria aspirasi (aspiration
dibutuhkan. Ukuran tabu list yang terlalu criteria) [6]. Kriteria aspirasi
pendek akan mengakibatkan seringnya diperkenalkan dalam tabu search untuk
terjadi cycling dalam daerah pencarian menentukan kapan sebuah forbidden-
yang menyebabkan pencarian terjebak move tetap dapat digunakan, atau
dalam solusi optimum lokal, sedangkan merupakan bagian dari tabu search yang
ukuran yang terlalu panjang akan berfungsi untuk membatalkan efek dari
mengakibatkan memburuknya kualitas tabu list untuk beberapa move pada
solusi karena terlalu banyak move yang kondisi tertentu. Penerapan aturan yang
dilarang [3]. tepat sebagai kriteria aspirasi merupakan
39
INTEGRAL, Vol. 10 No. 1, Maret 2005

hal yang sangat penting untuk mencapai


kinerja tabu search yang baik. 5. Implementasi Model dan
Analisis Hasil Percobaan
Aturan dasar yang digunakan dalam Model algoritma TS untuk masalah
kriteria aspirasi pada model algoritma TS penjadwalan job shop yang telah
dalam penelitian ini adalah untuk tiap diuraikan di atas diimplementasikan ke
kandidat move yang merupakan anggota dalam perangkat lunak menggunakan
dari tabu list dihitung panjang lintasan bahasa Pascal dan dieksekusi dengan
kritis dari solusi yang dihasilkannya. Jika perangkat keras Intel Pentium(II) dengan
panjang lintasan kritisnya (yang RAM 64 MB. Kinerja model algoritma
mewakili nilai makespan untuk solusi TS akan dibandingkan dengan model
baru tersebut) lebih kecil dari solusi algoritma simulated annealing (SA) dan
terbaik yang telah ditemukan perangkat lunak penjadwalan Quant
sebelumnya, maka status tabu dari move System yang menggunakan teknik
tersebut dihapuskan dan move itu priority dispatching (tergolong dalam
digunakan untuk membuat solusi metode heuristik) dalam melakukan
berikutnya. penjadwalan produksi. Sebagai kasus uji,
digunakan 30 buah kasus dengan 10
(f) Tahap penentuan kriteria terminasi golongan ukuran parameter masalah,
Terdapat beberapa kondisi yang dapat mulai dari 4-mesin 4-job sampai dengan
digunakan sebagai kriteria terminasi 15-mesin 20-job [7]. Untuk tiap kasus
dalam algoritma TS, di antaranya adalah : uji, model algoritma TS dieksekusi
(i) Ditemukannya sebuah solusi sebanyak 30 kali dengan berbagai variasi
optimal. panjang tabu list dan jumlah iterasi.
(ii) N(s,k+1) = ∅, artinya tidak ada Solusi terbaik yang diperoleh dari
lagi solusi baru yang dapat sejumlah eksekusi ini ditunjukkan dalam
dibangkitkan dari neighborhood Tabel 2.
solusi sekarang, karena semua
move dalam neighborhood 5.1 Pembuktian Validitas Jadwal Job
tersebut terdapat dalam tabu list Shop
(iii) Jumlah iterasi k sudah melebihi Dalam sebuah jadwal job shop yang valid
jumlah iterasi maksimum yang urutan pengerjaan operasi-operasi dalam
ditetapkan di awal. tiap job memenuhi routing yang telah
(iv) Jumlah iterasi yang dilakukan ditetapkan, dan tidak ada overlap waktu
sejak diperoleh solusi terbaik pengerjaan dari semua operasi yang
yang terbaru sudah melebihi dikerjakan pada mesin yang sama. Untuk
batas maksimum iterasi non- membuktikan bahwa jadwal yang
improving yang ditetapkan di dihasilkan algoritma TS valid, berikut
awal. ini disajikan sebuah contoh kasus job
shop yang telah diselesaikan dengan
Dalam penelitian ini, digunakan kondisi algoritma TS, yaitu masalah 6-mesin 6-
(iii) dan (iv) sebagai kriteria terminasi, job kasus uji no.1 (jumlah operasi per job
dimana jumlah iterasi maksimum dan = 6). Tabel 1 menunjukkan data routing
batas maksimum iterasi yang non- dan waktu operasi dari tiap job. Setiap
improving ditetapkan dengan mengalikan operasi dalam job diberi nomor urut,
jumlah job dan jumlah mesin dengan mulai dari operasi pertama pada job ke-1
sebuah konstanta tertentu, yang nilainya 40 (nomor urut 1) hingga operasi terakhir
berada antara 2 – 10. pada job ke-6 (nomor urut 36).
INTEGRAL, Vol. 10 No. 1, Maret 2005

Job ke- Nomor Operasi (Mesin yang Mengerjakan, Waktu Operasi)


1 1 (4, 95) 2 (6, 72) 3 (2, 72) 4 (3, 91) 5 (5, 78) 6 (1, 52)
2 7 (2, 82) 8 (6, 83) 9 (1, 82) 10 (5, 88) 11 (4, 91) 12 (3, 63)
3 13 (3, 76) 14 (1, 75) 15 (5, 60) 16 (4, 91) 17 (6, 69) 18 (2, 93)
4 19 (6, 88) 20 (5, 83) 21 (3, 79) 22 (4, 79) 23 (2, 60) 24 (1, 56)
5 25 (2, 86) 26 (3, 76) 27 (6, 65) 28 (1, 84) 29 (4, 96) 30 (5, 87)
6 31 (2, 60) 32 (6, 87) 33 (1, 64) 34 (4, 66) 35 (3, 51) 36 (5, 85)

Tabel 1. Data routing dan waktu operasi untuk masalah job shop 6-mesin 6-job kasus uji no. 1

Nilai makespan terbaik yang diperoleh Untuk tiap operasi dituliskan nomor
dari 30 kali percobaan dengan algoritma operasinya (di luar tanda kurung) dan
TS adalah 711, lebih baik dibandingkan sebuah triple dalam tanda kurung yang
solusi yang dihasilkan algoritma SA dan berisi titik waktu awal pengerjaan
Quant System. Di bawah ini ditunjukkan operasi, lama pengerjaan operasi, dan
solusi terbaik yang diperoleh untuk titik waktu penyelesaian operasi tersebut.
masalah 6-mesin 6-job kasus uji no.1.

41
INTEGRAL, Vol. 10 No. 1, Maret 2005

M-1 : 14 (76,75,151) Æ 28 (232,84,316) Æ 9 (316,82,398) Æ 33 (402,64,466)


Æ 24 (551,56,607) Æ 6 (607,52,659)
M-2 : 25 (0,86,86) Æ 7 (86,82,168) Æ 3 (168,72,240) Æ 31 (240,60,300)
Æ 23 (491,60,551) Æ 18 (551,93,644)
M-3 : 13 (0,76,76) Æ 26 ( ( 4 ( 21
(86,76,162) (240,91,331) (331,79,410)
( 35 ( 12
(557,51,608) (648,63,711)
M-4 1 (0,95,95) ( 16 ( 29 ( 22
: (211,91,302) (316,96,412) (412,79,491)
( 34 ( 11
(491,66,557) (557,91,648)
M-5 15 ( 20 ( 5 ( 10
: (151,60,211) (211,83,294) (331,78,409) (409,88,497)
( 30 ( 36
(497,87,584) (608,85,693)
M-6 19 (0,88,88) ( 2 ( 27 ( 8
: (95,72,167) (167,65,232) (232,83,315)
( ( 17
32(315,87,402) (402,69,471)

Jadwal job shop terbaik berdasarkan nomor mesin

J-1 : 1 (0,95,95) Æ 2 (95,72,167) Æ 3 (168,72,240) Æ 4 (240,91,331)


Æ 5 (331,78,409) Æ 6 (607,52,659)
J-2 : 7 (86,82,168) Æ 8 (232,83,315) Æ 9 (316,82,398) Æ 10 (409,88,497)
Æ 11 (557,91,648) Æ 12 (648,63,711)
J-3 : 13 (0,76,76) Æ 14 (76,75,151) Æ 15 (151,60,211) Æ 16 (211,91,302)
Æ 17 (402,69,471) Æ 18 (551,93,644)
J-4 : 19 (0,88,88) Æ 20 (211,83,294) Æ 21 (331,79,410) Æ 22 (412,79,491)
Æ 23 (491,60,551) Æ 24 (551,56,607)
J-5 : 25 (0,86,86) Æ 26 (86,76,162) Æ 27 (167,65,232) Æ 28 (232,84,316)
Æ 29 (316,96,412) Æ 30 (497,87,584)
J-6 : 31 (240,60,300) Æ 32(315,87,402) Æ 33 (402,64,466) Æ 34 (491,66,557)
Æ 35 (557,51,608) Æ 36 (608,85,693)

Jadwal job shop terbaik berdasarkan nomor job

5.2 Pengukuran Kualitas Solusi dari dispatching, serta terhadap makespan


Algoritma TS jadwal yang dihasilkan oleh algoritma
Pengukuran kualitas solusi algoritma TS SA [7]. Menu program Quant System
ini dilakukan dengan membandingkan yang dipilih dalam penyelesaian masalah
makespan jadwal yang dihasilkannya job shop ini adalah option no. 2, yaitu
terhadap makespan jadwal yang menerapkan semua aturan priority
dihasilkan oleh perangkat lunak dispatching yang disediakan oleh
penjadwalan Quant System yang program untuk penyusunan jadwal job
menggunakan teknik priority shop.

Masalah No Makespan Jadwal Masalah No Makespan Jadwal


SA TS QS SA TS QS
INTEGRAL, Vol. 10 No. 1, Maret 2005

1 420 420 420 1 1147 1135 1179


4M-4J 2 477 477 477 10M-10J 2 1067 1044 1121
3 470 470 470 3 1072 1052 1121
1 631 631 641 1 1149 1127 1294
5M-5J 2 626 626 630 10M-15J 2 1184 1137 1189
3 560 560 560 3 1414 1310 1530
1 717 711 717 1 1382 1372 1429
6M-6J 2 703 703 711 10M-20J 2 1406 1370 1454
3 835 830 848 42 3 1500 1432 1554
1 771 766 866 1 1301 1255 1414
5M-10J 2 783 737 842 15M-15J 2 1298 1264 1350
3 814 810 878 3 1300 1275 1387
1 1411 1411 1411 1 1609 1562 1659
5M-20J 2 1282 1282 1336 15M-20J 2 1448 1387 1557
3 1512 1512 1521 3 1597 1516 1618

Tabel 2. Perbandingan kualitas solusi metode Simulated Annealing, Tabu Search,


dan perangkat lunak Quant System

Tabel 2 memuat perbandingan nilai kasus uji (kolom yang dicetak miring),
makespan jadwal yang dihasilkan oleh diperoleh solusi dengan nilai makespan
algoritma TS, SA, dan Quant System yang sama untuk TS dan SA. Selebihnya,
untuk 30 kasus job shop berbeda dengan algoritma TS menghasilkan jadwal
berbagai ukuran jumlah mesin dan dengan makespan lebih baik.
jumlah job. Dari tabel ini tampak bahwa dibandingkan SA, yaitu pada 20 kasus uji
dari 30 kasus yang diselesaikan, kualitas (kolom yang dicetak tebal), dengan
solusi yang dihasilkan oleh Quant System persentase perbaikan nilai makespan
tidak pernah mengungguli algoritma TS terbesar adalah 7,36% dari hasil
dan hanya mampu menyamainya pada 5 algoritma SA.
kasus uji berukuran kecil (kolom yang
dicetak miring). Pada 25 kasus uji Hal menarik yang diamati dalam
lainnya (kolom yang dicetak tebal), percobaan adalah kondisi dimana semua
algoritma TS selalu menghasilkan solusi move dalam neighborhood tergolong
dengan kualitas yang lebih baik tabu. Kondisi ini dapat ditangani secara
dibandingkan Quant System, dengan deterministik dengan memilih solusi tabu
persentase perbaikan nilai makespan terbaik atau secara stokastik dengan
terbesar adalah 14,38% dari hasil Quant memilih solusi tabu secara acak. Hasil
System. percobaan menunjukkan bahwa cara
stokastik menghasilkan kualitas solusi
Algoritma TS juga mengungguli yang lebih baik dibandingkan cara
algoritma SA dalam sebagian besar kasus deterministik.
uji yang dicobakan. Pada 10 dari 30
INTEGRAL, Vol. 10 No. 1, Maret 2005

Masalah No Panjang Tabu list


NumJob × 2 NumJob × 4 NumJob × 5 NumJob × 6 NumJob × 8
1 1211 ↓ 1151 ↑ 1210 ↓ 1167 ↓ 1159
10M-10J
2 1130 ↓ 1102 = 1102 = 1102 = 1102
3 1118 = 1118 = 1118 = 1118 = 1118
1 1254 ↓ 1238 ↓ 1146 ↓ 1139 ↑ 1177
10M-15J
2 1214 ↓ 1146 ↓ 1142 ↑ 1159 ↓ 1137
3 1605 ↓ 1498 ↑ 1502 ↓ 1415 ↓ 1374
1 1538 ↓ 1420 ↓ 1401 ↓ 1372 ↑ 1385
10M-20J
2 1462 ↓ 1406 ↓ 1382 ↓ 1370 ↑ 1386
3 1601 ↓ 1463 ↓ 1446 ↓ 1432 ↑ 1465
1 1449 ↓ 1284 ↓ 1269 ↑ 1279 ↓ 1255
15M-15J
2 1330 ↓ 1302 ↓ 1268 ↑ 1320 ↑ 1326
3 1369 ↓ 1350 ↓ 1307 ↓ 1275 ↑ 1307
1 1773 ↓ 1566 ↑ 1610 ↑ 1674 ↓ 1606
15M-20J
2 1487 ↓ 1387 ↑ 1466 ↓ 1425 ↑ 1436
3 1557 ↓ 1521 ↑ 1557 = 1557 ↓ 1516
Rekapitulasi ↓ : 14 ;↑ : 0 ↓ : 8 ;↑ : 5 ↓ : 8 ;↑ : 4 ↓ : 6 ;↑ : 7

Tabel 3. Pengaruh panjang tabu list terhadap kualitas solusi yang dihasilkan algoritma TS

Tabel 3 menunjukkan pengaruh terlalu panjang menurunkan kualitas


perubahan panjang tabu list terhadap solusi TS. Tidak dapat ditentukan
kualitas solusi (nilai makespan jadwal) panjang tabu list yang terbaik untuk
yang dihasilkan algoritma TS. Bagian semua kasus uji, masing-masing kasus uji
yang diarsir menunjukkan nilai makespan membutuhkan panjang tabu list yang
terbaik yang diperoleh dari 5 alternatif berbeda untuk dapat mencapai solusi
panjang tabu list yang digunakan. terbaiknya.
Percobaan dilakukan terhadap 15 kasus
uji dari 5 golongan masalah yang Perbandingan waktu komputasi tidak
berukuran besar, dengan kriteria dilakukan dalam penelitian ini karena
terminasi algoritma: (1) jumlah solusi program Quant System tidak
yang dipilih = NumJob × NumMach × 5, menyediakan fasilitas untuk menghitung
atau (2) tidak ada solusi yang lebih baik waktu komputasi. Namun dari
dalam = NumJob × NumMach × 2 iterasi. pengalaman empirik dalam eksekusi
Tanda panah ke bawah menunjukkan program, algoritma TS membutuhkan
pengecilan nilai makespan, yang berarti waktu komputasi yang lebih besar
peningkatan kualitas solusi, sedangkan dibandingkan Quant System, terutama
tanda panah ke atas menunjukkan untuk masalah-masalah job shop berskala
pembesaran nilai makespan yang berarti besar. Sedangkan bila dibandingkan
penurunan kualitas solusi. Tampak dengan algoritma SA, TS membutuhkan
bahwa panjang tabu list sangat waktu komputasi yang relatif sama besar.
berpengaruh terhadap kinerja algoritma 7. Kesimpulan
TS. Tabu list yang terlalu pendek atau

44
INTEGRAL, Vol. 10 No. 1, Maret 2005

Pada penelitian ini, telah berhasil shop Scheduling Problem”, Annals


dibangun sebuah perangkat lunak of Operations Research, Vol. 41,
penjadwalan job shop dengan 231 – 252, 1993.
menerapkan algoritma TS. Perangkat [2] Glover, F., Laguna, M., “Tabu
lunak tersebut telah digunakan untuk Search”, Kluwer Academic
menyelesaikan berbagai ukuran kasus Publishers, Massachusetts, 1997.
penjadwalan job shop dan jadwal yang [3] Glover, F., Taillard, E., Werra, D.,
dihasilkannya telah dibuktikan valid. “A User’s Guide to Tabu Search”,
Annals of Operations Research,
Dari serangkaian percobaan yang telah Vol. 41, 3 – 28, 1993.
dilakukan dapat diambil kesimpulan [4] Carlier, J., “The One-Machine
bahwa kualitas solusi yang dihasilkan Sequencing Problem”, European
oleh algoritma TS lebih baik Journal of Operational Research,
dibandingkan algoritma SA dan Vol.11, 42 – 47, 1982.
perangkat lunak Quant System, terutama [5] Elsayed, E.A., Boucher, T.O.,
untuk kasus job shop berukuran besar, “Analysis and Control of
meskipun untuk itu TS membutuhkan Production Systems”, 2nd ed.,
waktu komputasi yang lebih besar Prentice-Hall Int., New Jersey,
dibandingkan Quant System. Kualitas 1994.
solusi algoritma TS cukup sensitif [6] Reeves, C.R. (ed.), “Modern
terhadap faktor panjang tabu list, Heuristic Techniques for
sehingga untuk mendapatkan solusi Combinatorial Problems”,
terbaik bagi tiap kasus uji perlu McGraw-Hill Int., Berkshire, 1995.
dilakukan beberapa kali percobaan [7] Panggabean, H.P., “Penjadwalan
dengan panjang tabu list yang berbeda. Job shop Statik dengan Algoritma
Simulated Annealing”, Integral, Vol.
8. Daftar Pustaka 7, No. 2, 97 – 106, 2002.
[1] Amico, M.D., Trubian M.,
“Applying Tabu Search to the Job-

45