Usulan Penjadwalan Produksi Dengan Menggunakan Algoritma Ant Colony System (Studi Kasus Di CV.Bina Rubber, Sumedang).
ABSTRAK
CV. Bina Rubber adalah perusahaan yang bergerak dalam pembuatan
sparepart mesin berbahan dasar karet. Perusahaan merasakan bahwa sistem produksi
yang ada saat ini tidak terlalu baik, dan masih ada peluang untuk ditingkatkan. Hal
ini ditandai dengan besarnya delay mesin dan rendahnya utilisasi sehingga makespan
menjadi relatif tinggi.
Untuk mengatasi masalah tersebut dilakukan usulan penjadwalan produksi
menggunakan salah satu dari metode Ant Colony System Job Shop (ACSJS) atau
Active Scheduling. Metode ACSJS akan dihitung dengan software, sedangkan
metode Active Scheduling dihitung secara manual. Sebelum menggunakan software
ACSJS, terlebih dahulu dilakukan validasi menggunakan contoh pesanan
perusahaan. Hasil yang diperoleh menunjukkan bahwa software ACSJS telah valid.
Dalam memilih antara ACSJS dengan Active Scheduling, dilakukan perbandingan
dengan tiga buah contoh kasus jobshop. Kasus pertama adalah kasus 3 job 3 mesin,
kasus kedua adalah kasus 4 job 3 mesin, dan kasus ketiga adalah kasus 4 job 4 mesin.
Pada kasus pertama, ACSJS dan Active Scheduling menghasilkan makespan yang
sama. Untuk kasus kedua, ACSJS menghasilkan makespan dengan selisih 3 menit
lebih singkat, dan untuk kasus ketiga, ACSJS menghasilkan makespan dengan selisih
9 menit lebih singkat. Berdasarkan hasil tersebut ACSJS terpilih sebagai metode
usuluan pemecahan masalah perusahaan.
Penjadwalan dengan software ACSJS menghasilkan output urutan pengerjaan
optimal dengan waktu running 40 menit 38 detik. Hal ini didapatkan dengan
menggunakan nilai parameter ρ=0.01, β=0.5, α=0.5, a=1000, dan NC max=1000.
Setelah dilakukan Penelitian parameter optimal untuk kasus perusahaan, didapatkan
bahwa parameter optimal ρ=0.1, β=0.7, α=0.3, a=34. Dengan menggunakan
parameter optimal ini, penjadwalan perusahaan dapat diselesaikan dalam waktu
kurang dari 1 menit untuk menghasilkan output yang sama.
Dengan menggunakan metode ACSJS untuk pesanan aktual perusahaan, yaitu
sebanyak 8 pesanan, diperoleh pengurangan makespan sebesar 15,2% dari 3691
menit dengan menggunakan metode perusahaan (First in first out atau FIFO),
menjadi 3160 menit dengan metode ACSJS. Selain waktu penyelesaian yang lebih
singkat, delay yang juga dapat dikurangi sebesar 8,6% dari 1374 menit menggunakan
metode FIFO, menjadi 1256 menit dengan metode ACSJS. Utilisasi mesin juga
meningkat dari 60,92 % dengan metode FIFO menjadi 71,86 % dengan metode
ACSJS.
DAFTAR ISI
ABSTRAK ....................................................................................................... v
KATA PENGANTAR ..................................................................................... vi
DAFTAR ISI .................................................................................................... viii
DAFTAR GAMBAR ....................................................................................... xi
DAFTAR TABEL ............................................................................................ xii
DAFTAR LAMPIRAN .................................................................................... xiv
BAB 1 PENDAHULUAN
1.1.
Latar Belakang Masalah ....................................................................... 1-1
1.2.
Identifikasi Masalah ............................................................................. 1-2
1.3.
Pembatasan Masalah dan Asumsi ........................................................ 1-2
1.3.1 Pembatasan Masalah ............................................................................ 1-3
1.3.2 Asumsi .................................................................................................. 1-3
1.4
Perumusan Masalah.............................................................................. 1-3
1.5
Tujuan Penelitian.................................................................................. 1-3
1.6
Sistematika Penulisan ........................................................................... 1-3
BAB 2 TINJAUAN PUSTAKA
2.1
Penjadwalan ......................................................................................... 2-1
2.1.1 Tujuan Penjadwalan ............................................................................. 2-2
2.1.2 Masukan Dalam Penjadwalan .............................................................. 2-2
2.1.3 Notasi Matematis Penjadwalan ............................................................ 2-4
2.1.4 Penjadwalan Berdasarkan Jumlah Mesin ............................................. 2-5
2.1.5 Penjadwalan Berdasarkan Aliran Proses .............................................. 2-8
2.2
Ant Colony Sistem ............................................................................... 2-10
2.2.2 Permasalahan Dalam Ant Colony Sistem ............................................ 2-14
2.2.1 Algoritma Ant Colony Sistem .............................................................. 2-17
2.2.3 Penjadwalan Job Shop Dengan Ant Colony Sistem ............................ 2-18
2.3
Peta Proses Operasi .............................................................................. 2-23
2.4
Gantt Chart ........................................................................................... 2-23
2.5
Active Scheduling ................................................................................ 2-25
BAB 3 METODOLOGI PENELITIAN
3.1.
Penelitian Awal .................................................................................... 3-2
3.2.
Identifikasi Masalah ............................................................................. 3-3
3.3.
Perumusan Masalah.............................................................................. 3-4
3.4.
Penetapan Tujuan Penelitian ................................................................ 3-4
3.5.
Studi Literatur ...................................................................................... 3-4
3.6.
Penentuan Metode Penyelesaian Masalah............................................ 3-4
3.7.
Pengumpulan Data ............................................................................... 3-5
3.8.
Pembuatan Software ACSJS ................................................................ 3-5
3.9.
Pengujian Software ............................................................................... 3-5
3.9.1. Pengolahan Manual .............................................................................. 3-6
3.10. Penentuan Metode Terbaik................................................................... 3-11
3.10.1 Metode ACSJS ..................................................................................... 3-11
3.10.2 Metode Active Scheduling .................................................................... 3-11
3.11. Pemecahan Masalah ............................................................................. 3-11
3.12. Analisis ................................................................................................. 3-12
3.13. Kesimpulan dan Saran .......................................................................... 3-12
BAB 4 PENGUMPULAN DATA
4.1
Data umum perusahaan ........................................................................ 4-1
4.1.1 Sejarah singkat perusahaan .................................................................. 4-1
4.1.2 Struktur organisasi perusahaan............................................................. 4-2
4.1.3 Job Description .................................................................................... 4-4
4.1.4 Data waktu kerja perusahaan................................................................ 4-5
4.2.1 Data pesanan perusahaan ..................................................................... 4-5
4.2
Data penelitian...................................................................................... 4-5
4.2.2 Penjadwalan perusahaan ...................................................................... 4-6
4.2.3 Mesin yang digunakan perusahaan ...................................................... 4-6
4.2.4 Peta proses operasi ............................................................................... 4-7
4.2.5 Waktu proses masing-masing produk .................................................. 4-11
BAB 5 PENGOLAHAN DATA DAN ANALISIS
5.1
Pengolahan Data ................................................................................... 5-1
5.1.1 Penjadwalan Metode Perusahaan ......................................................... 5-1
5.1.2 Gantt Chart Aktual ............................................................................... 5-10
5.1.3 Uji Validasi Software ........................................................................... 5-10
5.1.3.1 Pengolahan manual ACSJS .................................................................. 5-10
5.1.3.2 Pengolahan Software ............................................................................ 5-19
5.1.4 Perbandingan ACSJS dengan Active Scheduling. ............................... 5-21
5.1.5 Usulan Penjadwalan Dengan ACSJS ................................................... 5-22
5.1.6 Perhitungan Parameter optimal ............................................................ 5-22
5.1.6.1 Optimasi Parameter ρ ........................................................................... 5-23
5.1.6.2 Optimasi Parameter a ........................................................................... 5-23
5.1.6.3 Optimasi Parameter α dan β ................................................................. 5-25
5.2
Analisis ................................................................................................. 5-26
5.2.1 Analisis Penjadwalan Perusahaan ........................................................ 5-26
5.2.2 Analisis Validasi Software ................................................................... 5-29
5.2.3 Analisis Parameter optimal ACSJS aktual ........................................... 5-29
5.2.3.1 Analisis Parameter ρ............................................................................. 5-30
5.2.3.2 Analisis Parameter a ............................................................................. 5-33
5.2.3.3 Analisis Parameter α dan β ................................................................... 5-33
5.2.4 Analisis Perbandingan ACSJS dengan Active Scheduling .................. 5-34
5.2.5 Analisis Penjadwalan ACSJS Vs FIFO ................................................ 5-36
5.2.6 Analisis Manfaat penjadwalan usulan .................................................. 5-38
BAB 6 KESIMPULAN DAN SARAN
6.1
Kesimpulan........................................................................................... 6-1
6.1.1 Metode penjadwalan peusahaan (FIFO) .............................................. 6-1
6.1.2 Metode usulan (ACSJS) ....................................................................... 6-1
6.1.3 Manfaat metode penjadwalan usulan (ACSJS) .................................... 6-2
6.2
Saran ..................................................................................................... 6-2
DAFTAR PUSTAKA
LAMPIRAN
KOMENTAR DOSEN
DATA PENULIS
DAFTAR GAMBAR
Nama
Judul
Halaman
Gambar 2.1
Percobaan Goss et al ................................................................ 2-11
Gambar 2.2
Hasil percobaan Goss et al ....................................................... 2-11
Gambar 2.3
Percobaan lanjutan.................................................................... 2-13
Gambar 2.4
Bagan Alir Algoritma ACSJS .................................................. 2-21
Gambar 2.5
Gantt Chart............................................................................... 2-24
Gambar 3.1
Flowchart Metodologi Penelitian ............................................. 3-1
Gambar 3.2
Bagan Alir Algoritma ACSJS .................................................. 3-9
Gambar 4.1
Struktur organisasi .................................................................... 4-3
Gambar 4.2
Peta Proses Operasi Roll Squezing........................................... 4-10
Gambar 5.1
Graf pengolahan ACSJS manual .............................................. 5-11
Gambar 5.2
Gantt Chart ACSJS validasi manual ........................................ 5-29
Gambar 5.3
Ouput Validasi Software........................................................... 5-20
Gambar 5.4
Hasil Penjadwalan Aktual ACSJS ............................................ 5-22
Gambar 5.5
Grafik optimasi a ...................................................................... 5-24
Gambar 5.6
Penelitian Parameter ρ Sjoerd dan Carlos ................................ 5-30
Gambar 5.7
Penelitian Parameter ρ Penulis ................................................. 5-32
Gambar 5.8
Gantt Chart Contoh Kasus 2 ACSJS ........................................ 5-34
Gambar 5.9
Gantt Chart Contoh Kasus 2 Active Scheduling ....................... 5-35
Gambar 5.10 Perbandingan Makespan ACSJS Vs FIFO ............................... 5-38
DAFTAR TABEL
Nama
Judul
Halaman
Tabel 2.1
Tabel Permasalahan Dalam Ant colony .................................... 2-17
Tabel 4.1
Data Waktu Kerja Perusahaan .................................................. 4-5
Tabel 4.2
Data Pesanan periode 11 - 16 Agustus 2008 ............................ 4-5
Tabel 4.3
Data Mesin yang Dimiliki Perusahaan ..................................... 4-7
Tabel 4.4
Data Bahan Baku ...................................................................... 4-8
Tabel 4.5
Data Waktu Proses, Perpindahan dan Setup ............................. 4-11
Tabel 5.1
Tabel Waktu Persiapan Bahan Baku ........................................ 5-1
Tabel 5.2
Tabel Waktu Pemotongan dan pembubutan poros ................... 5-1
Tabel 5.3
Tabel Waktu Pemotongan, Bor, dan Las Plat........................... 5-2
Tabel 5.4
Tabel Waktu Pembalutan dan Pembubutan Karet .................... 5-2
Tabel 5.5
Tabel Waktu Pembalutan dan Pembubutan Karet .................... 5-2
Tabel 5.6
Tabel Waktu Pemeriksaan dan Packing ................................... 5-3
Tabel 5.7
Tabel Waktu Pembongkaran Karet .......................................... 5-3
Tabel 5.8
Tabel Waktu Proses Produk Roll Squezing .............................. 5-4
Tabel 5.9
Tabel Waktu Proses Produk Roll Pader ................................... 5-4
Tabel 5.10
Tabel Waktu Proses Produk Roll Bottom ................................. 5-5
Tabel 5.11
Tabel Waktu Proses Produk Roll Imersium.............................. 5-5
Tabel 5.12
Tabel Waktu Proses Produk Roll Mangle (Service) ................. 5-6
Tabel 5.13
Tabel Waktu Proses Produk Roll Expander (Service) .............. 5-6
Tabel 5.14
Tabel Waktu Proses Produk Jokey Roller ................................ 5-7
Tabel 5.15
Tabel Waktu Proses Produk Roll Hypalon (Service) ............... 5-7
Tabel 5.16
Tabel Waktu Proses Total Semua Produk ................................ 5-8
Tabel 5.17
Tabel Waktu Proses yang Digunakan Dalam Penjadwalan ..... 5-9
Tabel 5.18
Tabel Urutan Proses yang Digunakan Dalam Penjadwalan ..... 5-9
Tabel 5.19
Tabel Pesanan Pengolahan Manual ACSJS ............................. 5-10
Tabel 5.20
Tabel Waktu Proses Pengolahan Manual ACSJS .................... 5-11
Nama
Judul
Halaman
Tabel 5.21
Tabel Urutan Proses Pengolahan Manual ACSJS .................... 5-11
Tabel 5.22
Matriks Phereomone Awal Pengolahan Manual ACSJS ......... 5-12
Tabel 5.23
ACSJS manual semut 1 ............................................................ 5-13
Tabel 5.24
ACSJS manual semut 2 ............................................................ 5-14
Tabel 5.25
Tabel rangkuman ACSJS manual ............................................. 5-18
Tabel 5.26
Matriks pheromone baru ACSJS manual ................................. 5-18
Tabel 5.27
Hasil Validasi Software ............................................................ 5-20
Tabel 5.28
Perbandingan ACSJS dengan Active Scheduling ..................... 5-21
Tabel 5.29
Hasil Optimasi ρ ....................................................................... 5-23
Tabel 5.30
Hasil Optimasi a ....................................................................... 5-24
Tabel 5.31
Hasil Optimasi a Lanjutan ....................................................... 5-25
Tabel 5.32
Hasil Optimasi α dan ß ............................................................. 5-26
Tabel 5.33
Keterlambatan Pekerjaan dengan Penjadwalan perusahaan ..... 5-27
Tabel 5.34
Keterlambatan Pekerjaan dengan Penjadwalan ACSJS ........... 5-36
Tabel 5.35
Perbandingan ACSJS Vs FIFO ................................................ 5-38
DAFTAR LAMPIRAN
Nama
Judul
Halaman
Lampiran 1
Validasi Software........................................................................... L1-1
Lampiran 2
ACSJS Vs Active Scheduling ........................................................ L2-1
Lampiran 3
Input Software Penjadwalan Aktual .............................................. L3-1
Lampiran 4
Gantt Chart.................................................................................... L4-1
Lampiran 5
Peta Proses Operasi ....................................................................... L5-1
LAMPIRAN 1
INPUT VALIDASI SOFTWARE
Program ACS (input,output);
{$N+}
uses Wincrt;
const alpha=0.5;
beta=0.5;
rho=0.01;
var
O,OM,JP:array [1..30,1..30] of byte;
Omega,Jobready,UnitOven:array [1..30] of byte;
Ono,m,mavai:array [1..100] of real;
Bestmakespan,TOven,TBlow: real;
jumlahsemut, jmljob, jmlop,jmlmsn, Nc, Ncmax,
t,nosemut, no, jmlisi, taboo, x: integer;
TL:array [1..30] of integer;
tau, eta:array [1..60,1..60] of single;
taualpha,OTbeta,RTO,TBubut:array [1..30] of double;
OT,javai:array [1..30,1..30] of real;
Rute:array [1..100] of byte;
Turn,jmaxpred,Generasi,Semut:integer;
ferom:byte;
javas:real;
Procedure Input;forward;
Procedure Inisialisasi;forward;
Procedure Ome;forward;
Procedure PheromoneAlpha;forward;
Procedure OperationTimeBeta;forward;
Procedure Probabilitas;forward;
Procedure Makes;forward;
Procedure Pheromone;forward;
Procedure Input;
var
i,j:integer;
Begin
{Seting parameter awal}
jumlahsemut:=2;
Ncmax:=1;
jmljob:=5;
jmlop:=3;
jmlmsn:=10; {mesin 8 hingga 10 hanya dummy}
Bestmakespan:=9999;
ferom:=0;
{Urutan operasi}
O[1,1]:=1;
O[1,2]:=2;
O[1,3]:=3;
O[2,1]:=4;
O[2,2]:=5;
O[2,3]:=6;
O[3,1]:=7;
O[3,2]:=8;
O[3,3]:=9;
O[4,1]:=10;
O[4,2]:=11;
O[4,3]:=12;
O[5,1]:=13;
O[5,2]:=14;
O[5,3]:=15;
{Waktu operasi}
OT[1,1]:=75;
OT[1,2]:=200;
OT[1,3]:=275;
OT[2,1]:=90;
OT[2,2]:=186;
OT[2,3]:=0;
OT[3,1]:=90;
OT[3,2]:=30;
OT[3,3]:=0;
OT[4,1]:=140;
OT[4,2]:=315;
OT[4,3]:=0;
OT[5,1]:=120;
OT[5,2]:=108;
OT[5,3]:=264;
{Urutan mesin}
OM[1,1]:=2;
OM[1,2]:=3;
OM[1,3]:=7;
OM[2,1]:=2;
OM[2,2]:=3;
OM[2,3]:=8;
OM[3,1]:=4;
OM[3,2]:=5;
OM[3,3]:=9;
OM[4,1]:=1;
OM[4,2]:=7;
OM[4,3]:=10;
OM[5,1]:=6;
OM[5,2]:=3;
OM[5,3]:=7;
{untuk oven}
UnitOven[1]:=5;
UnitOven[2]:=0;
UnitOven[3]:=0;
UnitOven[4]:=7;
UnitOven[5]:=6;
TOven:=480;
TBlow:=480;
TBubut[1]:=150;
TBubut[2]:=0;
TBubut[3]:=0;
TBubut[4]:=175;
TBubut[5]:=150;
end;
Procedure Inisialisasi;
var
i,j,k,l,nomesin:integer;
bestmakespan2:real;
Begin
{Job siap dijadwalkan} {input tambahan untuk
job yang boleh dijadwalkan}
Jobready[1]:=0; {ready=0}
Jobready[2]:=0;
Jobready[3]:=0;
Jobready[4]:=0;
Jobready[5]:=1;
{predesesor dari job}
jmaxpred:=2;
For i:=1 to jmljob do
For j:=1 to jmaxpred do
JP[i,j]:=0;
JP[5,1]:=2;
JP[5,2]:=3; {input tambahan untuk
predesesor}
{Makespan:=0;}
Javas:=0;
Turn:=1;
For i:=1 to jmljob do
javai[i,1]:=0;
For nomesin:=1 to jmlmsn do
begin
mavai[nomesin]:=0;
end;
t:=0;
jmlisi:=1;
Bestmakespan2:=Bestmakespan;
{Penentuan feromon awal}
If ferom = 0 then
begin
ferom := 1;
no:=O[jmljob,jmlop];
For k:=0 to no do
For l:=1 to no do
Begin
if k=l then
tau[k,l]:=0
else
tau[k,l]:=1;
end;
end;
Bestmakespan:=Bestmakespan2;
{Penentuan operasi untuk omega awal}
For i:=1 to jmljob do
If Jobready[i]=0 then
Omega[i]:=O[i,1]
Else
Omega[i]:=0;
TL[1]:=0;
TL[2]:=0;
end;
Procedure Ome;
var
i,j,k,l,m,n,pred,sisapred:integer;
label 1,2;
Begin
For j:=3 to no+2 do
If TL[j]=0 then
begin
k:=j;
goto 1
end;
1:
For l:=1 to jmljob do
begin
If Omega[l]=TL[k‐1] then
For i:=1 to jmljob do
For j:=1 to jmlop do
If O[i,j]=Omega[l] then
If jjavai[i,jmlop+1] then
begin
javai[m,1]:=javas;
javas:=javai[m,1];
end
else
begin
javai[m,1]:=javai[i,jmlop+1];
javas:=javai[m,1];
end;
javas:=0;
end
else
begin
If javas>javai[i,jmlop+1] then
begin
javai[m,1]:=javas;
javas:=javai[m,1];
end
else
begin
javai[m,1]:=javai[i,jmlop+1];
javas:=javai[m,1];
end;
end;
end;
end;
If UnitOven[l]>0 then
RTO[i]:=javai[l,jmlop+1]
Else
RTO[i]:=0;
end;
2:
end;
end;
Procedure PheromoneAlpha;
var
i,j,k,l:integer;
Begin
k:=TL[t+1];
For i:=1 to jmljob do
Begin
If Omega[i]>0 then
begin
l:=Omega[i];
taualpha[i]:=exp(alpha*ln(tau[k,l]));
end;
end;
End;
Procedure OperationTimeBeta;
var
i,j,k,l:integer;
Begin
For i:=1 to jmljob do
For j:=1 to jmlop do
If Omega[i]=O[i,j] then
If OT[i,j]0 then
OTBeta[i]:=exp(beta*ln(OT[i,j]))
Else
OTBeta[i]:=0;
End;
Procedure Probabilitas;
var
BR,Selisihmin:real;
alphabeta,prob,selisih:array [1..30] of real;
denominator:double;
i,j,k,l,h,counter,nomesin:integer;
Begin
denominator:=0;
For i:=1 to jmljob do
Begin
alphabeta[i]:=taualpha[i]*OTBeta[i];
denominator:=denominator+alphabeta[i];
End;
For i:=1 to jmljob do
prob[i]:=alphabeta[i]/denominator;
BR:=random;
Selisihmin:=1;
writeln('BR=',BR);
For i:=1 to jmljob do
Begin
If Omega[i]=0 then
selisih[i]:=2
else
selisih[i]:= Abs(BR‐prob[i]);
If selisih[i]javai[i,j] then
begin
mavai[nomesin]:=mavai[nomesin]+OT[i,j];
javai[i,j+1]:=mavai[nomesin];
end
Else
begin
mavai[nomesin]:=javai[i,j]+OT[i,j];
javai[i,j+1]:=mavai[nomesin];
end;
end;
end;
Procedure Makes;
var
a,nomesin,i,j,p,r,jmlunitoven:integer;
makespan,makespan2,mavaioven,mavaiblow,mavaibu
but,RTOmin,TWBubut:real;
Rank,S:array [1..30] of byte;
label 3;
Begin
For i:=1 to jmljob do
S[i]:=0;
a:=1;
r:=1;
While a0) and (RTO[i]0 then
begin
jmlunitoven:=jmlunitoven+UnitOven[j];
TWBubut:=TWBubut+TBubut[j];
If (jmlunitoven>=18) and (jmlunitovenRTO[j] then
begin
mavaioven:=mavaioven+TOven;
mavaiblow:=mavaioven+TBlow;
If mavaiblow>mavaibubut then
mavaibubut:=mavaiblow+TWBubut
else
mavaibubut:=mavaibubut+TWBubut;
end
else
begin
mavaioven:=RTO[j]+TOven;
mavaiblow:=mavaioven+TBlow;
If mavaiblow>mavaibubut then
mavaibubut:=mavaiblow+TWBubut
else
mavaibubut:=mavaibubut+TWBubut;
end;
jmlunitoven:=0;
TWBubut:=0;
end
Else
begin
If jmlunitoven RTO[Rank[i‐1]] then
begin
mavaioven:=mavaioven+TOven;
mavaiblow:=mavaioven+TBlow;
If mavaiblow>mavaibubut then
mavaibubut:=mavaiblow+TWBubut
else
mavaibubut:=mavaibubut+TWBubut;
end
else
begin
mavaioven:=RTO[Rank[i‐1]]+TOven;
mavaiblow:=mavaioven+TBlow;
If mavaiblow>mavaibubut then
mavaibubut:=mavaiblow+TWBubut
else
mavaibubut:=mavaibubut+TWBubut;
end;
jmlunitoven:=UnitOven[j];
TWBubut:=TBubut[j];
end;
end;
3:
If (jmlunitoven>0) and (jmlunitovenRTO[j] then
begin
mavaioven:=mavaioven+TOven;
mavaiblow:=mavaioven+TBlow;
If mavaiblow>mavaibubut then
mavaibubut:=mavaiblow+TWBubut
else
mavaibubut:=mavaibubut+TWBubut;
end
else
begin
mavaioven:=RTO[j]+TOven;
mavaiblow:=mavaioven+TBlow;
If mavaiblow>mavaibubut then
mavaibubut:=mavaiblow+TWBubut
else
mavaibubut:=mavaibubut+TWBubut;
end;
end;
end;
end;
Makespan:=0;
Makespan2:=mavaibubut;
For nomesin:=1 to jmlmsn do
If mavai[nomesin]>makespan then
makespan:=mavai[nomesin];
If makespan20 then
Write('Ov',Rank[i],'‐');
Writeln('Bestmakespan= ',Bestmakespan:3:2);
Writeln('Generasi ke‐',Generasi);
Writeln('Semut ke‐',Semut);
end;
Procedure Pheromone;
var
deltau,bestmakespan2:real;
k,l,n,p:integer;
Begin
bestmakespan2:=bestmakespan;
deltau:=1/Bestmakespan;
For p:=2 to no+1 do
begin
k:=Rute[p‐1];
l:=Rute[p];
tau[k,l]:=((1‐rho)*tau[k,l])+(rho*deltau);
For n:=1 to no do
begin
If n=k then
tau[k,n]:=0
else
If nl then
tau[k,n]:=(1‐rho)*tau[k,n];
end;
end;
bestmakespan:=bestmakespan2;
end;
{Main Module}
BEGIN
Input;
Nc:=1;
While Nc
CV. Bina Rubber adalah perusahaan yang bergerak dalam pembuatan
sparepart mesin berbahan dasar karet. Perusahaan merasakan bahwa sistem produksi
yang ada saat ini tidak terlalu baik, dan masih ada peluang untuk ditingkatkan. Hal
ini ditandai dengan besarnya delay mesin dan rendahnya utilisasi sehingga makespan
menjadi relatif tinggi.
Untuk mengatasi masalah tersebut dilakukan usulan penjadwalan produksi
menggunakan salah satu dari metode Ant Colony System Job Shop (ACSJS) atau
Active Scheduling. Metode ACSJS akan dihitung dengan software, sedangkan
metode Active Scheduling dihitung secara manual. Sebelum menggunakan software
ACSJS, terlebih dahulu dilakukan validasi menggunakan contoh pesanan
perusahaan. Hasil yang diperoleh menunjukkan bahwa software ACSJS telah valid.
Dalam memilih antara ACSJS dengan Active Scheduling, dilakukan perbandingan
dengan tiga buah contoh kasus jobshop. Kasus pertama adalah kasus 3 job 3 mesin,
kasus kedua adalah kasus 4 job 3 mesin, dan kasus ketiga adalah kasus 4 job 4 mesin.
Pada kasus pertama, ACSJS dan Active Scheduling menghasilkan makespan yang
sama. Untuk kasus kedua, ACSJS menghasilkan makespan dengan selisih 3 menit
lebih singkat, dan untuk kasus ketiga, ACSJS menghasilkan makespan dengan selisih
9 menit lebih singkat. Berdasarkan hasil tersebut ACSJS terpilih sebagai metode
usuluan pemecahan masalah perusahaan.
Penjadwalan dengan software ACSJS menghasilkan output urutan pengerjaan
optimal dengan waktu running 40 menit 38 detik. Hal ini didapatkan dengan
menggunakan nilai parameter ρ=0.01, β=0.5, α=0.5, a=1000, dan NC max=1000.
Setelah dilakukan Penelitian parameter optimal untuk kasus perusahaan, didapatkan
bahwa parameter optimal ρ=0.1, β=0.7, α=0.3, a=34. Dengan menggunakan
parameter optimal ini, penjadwalan perusahaan dapat diselesaikan dalam waktu
kurang dari 1 menit untuk menghasilkan output yang sama.
Dengan menggunakan metode ACSJS untuk pesanan aktual perusahaan, yaitu
sebanyak 8 pesanan, diperoleh pengurangan makespan sebesar 15,2% dari 3691
menit dengan menggunakan metode perusahaan (First in first out atau FIFO),
menjadi 3160 menit dengan metode ACSJS. Selain waktu penyelesaian yang lebih
singkat, delay yang juga dapat dikurangi sebesar 8,6% dari 1374 menit menggunakan
metode FIFO, menjadi 1256 menit dengan metode ACSJS. Utilisasi mesin juga
meningkat dari 60,92 % dengan metode FIFO menjadi 71,86 % dengan metode
ACSJS.
DAFTAR ISI
ABSTRAK ....................................................................................................... v
KATA PENGANTAR ..................................................................................... vi
DAFTAR ISI .................................................................................................... viii
DAFTAR GAMBAR ....................................................................................... xi
DAFTAR TABEL ............................................................................................ xii
DAFTAR LAMPIRAN .................................................................................... xiv
BAB 1 PENDAHULUAN
1.1.
Latar Belakang Masalah ....................................................................... 1-1
1.2.
Identifikasi Masalah ............................................................................. 1-2
1.3.
Pembatasan Masalah dan Asumsi ........................................................ 1-2
1.3.1 Pembatasan Masalah ............................................................................ 1-3
1.3.2 Asumsi .................................................................................................. 1-3
1.4
Perumusan Masalah.............................................................................. 1-3
1.5
Tujuan Penelitian.................................................................................. 1-3
1.6
Sistematika Penulisan ........................................................................... 1-3
BAB 2 TINJAUAN PUSTAKA
2.1
Penjadwalan ......................................................................................... 2-1
2.1.1 Tujuan Penjadwalan ............................................................................. 2-2
2.1.2 Masukan Dalam Penjadwalan .............................................................. 2-2
2.1.3 Notasi Matematis Penjadwalan ............................................................ 2-4
2.1.4 Penjadwalan Berdasarkan Jumlah Mesin ............................................. 2-5
2.1.5 Penjadwalan Berdasarkan Aliran Proses .............................................. 2-8
2.2
Ant Colony Sistem ............................................................................... 2-10
2.2.2 Permasalahan Dalam Ant Colony Sistem ............................................ 2-14
2.2.1 Algoritma Ant Colony Sistem .............................................................. 2-17
2.2.3 Penjadwalan Job Shop Dengan Ant Colony Sistem ............................ 2-18
2.3
Peta Proses Operasi .............................................................................. 2-23
2.4
Gantt Chart ........................................................................................... 2-23
2.5
Active Scheduling ................................................................................ 2-25
BAB 3 METODOLOGI PENELITIAN
3.1.
Penelitian Awal .................................................................................... 3-2
3.2.
Identifikasi Masalah ............................................................................. 3-3
3.3.
Perumusan Masalah.............................................................................. 3-4
3.4.
Penetapan Tujuan Penelitian ................................................................ 3-4
3.5.
Studi Literatur ...................................................................................... 3-4
3.6.
Penentuan Metode Penyelesaian Masalah............................................ 3-4
3.7.
Pengumpulan Data ............................................................................... 3-5
3.8.
Pembuatan Software ACSJS ................................................................ 3-5
3.9.
Pengujian Software ............................................................................... 3-5
3.9.1. Pengolahan Manual .............................................................................. 3-6
3.10. Penentuan Metode Terbaik................................................................... 3-11
3.10.1 Metode ACSJS ..................................................................................... 3-11
3.10.2 Metode Active Scheduling .................................................................... 3-11
3.11. Pemecahan Masalah ............................................................................. 3-11
3.12. Analisis ................................................................................................. 3-12
3.13. Kesimpulan dan Saran .......................................................................... 3-12
BAB 4 PENGUMPULAN DATA
4.1
Data umum perusahaan ........................................................................ 4-1
4.1.1 Sejarah singkat perusahaan .................................................................. 4-1
4.1.2 Struktur organisasi perusahaan............................................................. 4-2
4.1.3 Job Description .................................................................................... 4-4
4.1.4 Data waktu kerja perusahaan................................................................ 4-5
4.2.1 Data pesanan perusahaan ..................................................................... 4-5
4.2
Data penelitian...................................................................................... 4-5
4.2.2 Penjadwalan perusahaan ...................................................................... 4-6
4.2.3 Mesin yang digunakan perusahaan ...................................................... 4-6
4.2.4 Peta proses operasi ............................................................................... 4-7
4.2.5 Waktu proses masing-masing produk .................................................. 4-11
BAB 5 PENGOLAHAN DATA DAN ANALISIS
5.1
Pengolahan Data ................................................................................... 5-1
5.1.1 Penjadwalan Metode Perusahaan ......................................................... 5-1
5.1.2 Gantt Chart Aktual ............................................................................... 5-10
5.1.3 Uji Validasi Software ........................................................................... 5-10
5.1.3.1 Pengolahan manual ACSJS .................................................................. 5-10
5.1.3.2 Pengolahan Software ............................................................................ 5-19
5.1.4 Perbandingan ACSJS dengan Active Scheduling. ............................... 5-21
5.1.5 Usulan Penjadwalan Dengan ACSJS ................................................... 5-22
5.1.6 Perhitungan Parameter optimal ............................................................ 5-22
5.1.6.1 Optimasi Parameter ρ ........................................................................... 5-23
5.1.6.2 Optimasi Parameter a ........................................................................... 5-23
5.1.6.3 Optimasi Parameter α dan β ................................................................. 5-25
5.2
Analisis ................................................................................................. 5-26
5.2.1 Analisis Penjadwalan Perusahaan ........................................................ 5-26
5.2.2 Analisis Validasi Software ................................................................... 5-29
5.2.3 Analisis Parameter optimal ACSJS aktual ........................................... 5-29
5.2.3.1 Analisis Parameter ρ............................................................................. 5-30
5.2.3.2 Analisis Parameter a ............................................................................. 5-33
5.2.3.3 Analisis Parameter α dan β ................................................................... 5-33
5.2.4 Analisis Perbandingan ACSJS dengan Active Scheduling .................. 5-34
5.2.5 Analisis Penjadwalan ACSJS Vs FIFO ................................................ 5-36
5.2.6 Analisis Manfaat penjadwalan usulan .................................................. 5-38
BAB 6 KESIMPULAN DAN SARAN
6.1
Kesimpulan........................................................................................... 6-1
6.1.1 Metode penjadwalan peusahaan (FIFO) .............................................. 6-1
6.1.2 Metode usulan (ACSJS) ....................................................................... 6-1
6.1.3 Manfaat metode penjadwalan usulan (ACSJS) .................................... 6-2
6.2
Saran ..................................................................................................... 6-2
DAFTAR PUSTAKA
LAMPIRAN
KOMENTAR DOSEN
DATA PENULIS
DAFTAR GAMBAR
Nama
Judul
Halaman
Gambar 2.1
Percobaan Goss et al ................................................................ 2-11
Gambar 2.2
Hasil percobaan Goss et al ....................................................... 2-11
Gambar 2.3
Percobaan lanjutan.................................................................... 2-13
Gambar 2.4
Bagan Alir Algoritma ACSJS .................................................. 2-21
Gambar 2.5
Gantt Chart............................................................................... 2-24
Gambar 3.1
Flowchart Metodologi Penelitian ............................................. 3-1
Gambar 3.2
Bagan Alir Algoritma ACSJS .................................................. 3-9
Gambar 4.1
Struktur organisasi .................................................................... 4-3
Gambar 4.2
Peta Proses Operasi Roll Squezing........................................... 4-10
Gambar 5.1
Graf pengolahan ACSJS manual .............................................. 5-11
Gambar 5.2
Gantt Chart ACSJS validasi manual ........................................ 5-29
Gambar 5.3
Ouput Validasi Software........................................................... 5-20
Gambar 5.4
Hasil Penjadwalan Aktual ACSJS ............................................ 5-22
Gambar 5.5
Grafik optimasi a ...................................................................... 5-24
Gambar 5.6
Penelitian Parameter ρ Sjoerd dan Carlos ................................ 5-30
Gambar 5.7
Penelitian Parameter ρ Penulis ................................................. 5-32
Gambar 5.8
Gantt Chart Contoh Kasus 2 ACSJS ........................................ 5-34
Gambar 5.9
Gantt Chart Contoh Kasus 2 Active Scheduling ....................... 5-35
Gambar 5.10 Perbandingan Makespan ACSJS Vs FIFO ............................... 5-38
DAFTAR TABEL
Nama
Judul
Halaman
Tabel 2.1
Tabel Permasalahan Dalam Ant colony .................................... 2-17
Tabel 4.1
Data Waktu Kerja Perusahaan .................................................. 4-5
Tabel 4.2
Data Pesanan periode 11 - 16 Agustus 2008 ............................ 4-5
Tabel 4.3
Data Mesin yang Dimiliki Perusahaan ..................................... 4-7
Tabel 4.4
Data Bahan Baku ...................................................................... 4-8
Tabel 4.5
Data Waktu Proses, Perpindahan dan Setup ............................. 4-11
Tabel 5.1
Tabel Waktu Persiapan Bahan Baku ........................................ 5-1
Tabel 5.2
Tabel Waktu Pemotongan dan pembubutan poros ................... 5-1
Tabel 5.3
Tabel Waktu Pemotongan, Bor, dan Las Plat........................... 5-2
Tabel 5.4
Tabel Waktu Pembalutan dan Pembubutan Karet .................... 5-2
Tabel 5.5
Tabel Waktu Pembalutan dan Pembubutan Karet .................... 5-2
Tabel 5.6
Tabel Waktu Pemeriksaan dan Packing ................................... 5-3
Tabel 5.7
Tabel Waktu Pembongkaran Karet .......................................... 5-3
Tabel 5.8
Tabel Waktu Proses Produk Roll Squezing .............................. 5-4
Tabel 5.9
Tabel Waktu Proses Produk Roll Pader ................................... 5-4
Tabel 5.10
Tabel Waktu Proses Produk Roll Bottom ................................. 5-5
Tabel 5.11
Tabel Waktu Proses Produk Roll Imersium.............................. 5-5
Tabel 5.12
Tabel Waktu Proses Produk Roll Mangle (Service) ................. 5-6
Tabel 5.13
Tabel Waktu Proses Produk Roll Expander (Service) .............. 5-6
Tabel 5.14
Tabel Waktu Proses Produk Jokey Roller ................................ 5-7
Tabel 5.15
Tabel Waktu Proses Produk Roll Hypalon (Service) ............... 5-7
Tabel 5.16
Tabel Waktu Proses Total Semua Produk ................................ 5-8
Tabel 5.17
Tabel Waktu Proses yang Digunakan Dalam Penjadwalan ..... 5-9
Tabel 5.18
Tabel Urutan Proses yang Digunakan Dalam Penjadwalan ..... 5-9
Tabel 5.19
Tabel Pesanan Pengolahan Manual ACSJS ............................. 5-10
Tabel 5.20
Tabel Waktu Proses Pengolahan Manual ACSJS .................... 5-11
Nama
Judul
Halaman
Tabel 5.21
Tabel Urutan Proses Pengolahan Manual ACSJS .................... 5-11
Tabel 5.22
Matriks Phereomone Awal Pengolahan Manual ACSJS ......... 5-12
Tabel 5.23
ACSJS manual semut 1 ............................................................ 5-13
Tabel 5.24
ACSJS manual semut 2 ............................................................ 5-14
Tabel 5.25
Tabel rangkuman ACSJS manual ............................................. 5-18
Tabel 5.26
Matriks pheromone baru ACSJS manual ................................. 5-18
Tabel 5.27
Hasil Validasi Software ............................................................ 5-20
Tabel 5.28
Perbandingan ACSJS dengan Active Scheduling ..................... 5-21
Tabel 5.29
Hasil Optimasi ρ ....................................................................... 5-23
Tabel 5.30
Hasil Optimasi a ....................................................................... 5-24
Tabel 5.31
Hasil Optimasi a Lanjutan ....................................................... 5-25
Tabel 5.32
Hasil Optimasi α dan ß ............................................................. 5-26
Tabel 5.33
Keterlambatan Pekerjaan dengan Penjadwalan perusahaan ..... 5-27
Tabel 5.34
Keterlambatan Pekerjaan dengan Penjadwalan ACSJS ........... 5-36
Tabel 5.35
Perbandingan ACSJS Vs FIFO ................................................ 5-38
DAFTAR LAMPIRAN
Nama
Judul
Halaman
Lampiran 1
Validasi Software........................................................................... L1-1
Lampiran 2
ACSJS Vs Active Scheduling ........................................................ L2-1
Lampiran 3
Input Software Penjadwalan Aktual .............................................. L3-1
Lampiran 4
Gantt Chart.................................................................................... L4-1
Lampiran 5
Peta Proses Operasi ....................................................................... L5-1
LAMPIRAN 1
INPUT VALIDASI SOFTWARE
Program ACS (input,output);
{$N+}
uses Wincrt;
const alpha=0.5;
beta=0.5;
rho=0.01;
var
O,OM,JP:array [1..30,1..30] of byte;
Omega,Jobready,UnitOven:array [1..30] of byte;
Ono,m,mavai:array [1..100] of real;
Bestmakespan,TOven,TBlow: real;
jumlahsemut, jmljob, jmlop,jmlmsn, Nc, Ncmax,
t,nosemut, no, jmlisi, taboo, x: integer;
TL:array [1..30] of integer;
tau, eta:array [1..60,1..60] of single;
taualpha,OTbeta,RTO,TBubut:array [1..30] of double;
OT,javai:array [1..30,1..30] of real;
Rute:array [1..100] of byte;
Turn,jmaxpred,Generasi,Semut:integer;
ferom:byte;
javas:real;
Procedure Input;forward;
Procedure Inisialisasi;forward;
Procedure Ome;forward;
Procedure PheromoneAlpha;forward;
Procedure OperationTimeBeta;forward;
Procedure Probabilitas;forward;
Procedure Makes;forward;
Procedure Pheromone;forward;
Procedure Input;
var
i,j:integer;
Begin
{Seting parameter awal}
jumlahsemut:=2;
Ncmax:=1;
jmljob:=5;
jmlop:=3;
jmlmsn:=10; {mesin 8 hingga 10 hanya dummy}
Bestmakespan:=9999;
ferom:=0;
{Urutan operasi}
O[1,1]:=1;
O[1,2]:=2;
O[1,3]:=3;
O[2,1]:=4;
O[2,2]:=5;
O[2,3]:=6;
O[3,1]:=7;
O[3,2]:=8;
O[3,3]:=9;
O[4,1]:=10;
O[4,2]:=11;
O[4,3]:=12;
O[5,1]:=13;
O[5,2]:=14;
O[5,3]:=15;
{Waktu operasi}
OT[1,1]:=75;
OT[1,2]:=200;
OT[1,3]:=275;
OT[2,1]:=90;
OT[2,2]:=186;
OT[2,3]:=0;
OT[3,1]:=90;
OT[3,2]:=30;
OT[3,3]:=0;
OT[4,1]:=140;
OT[4,2]:=315;
OT[4,3]:=0;
OT[5,1]:=120;
OT[5,2]:=108;
OT[5,3]:=264;
{Urutan mesin}
OM[1,1]:=2;
OM[1,2]:=3;
OM[1,3]:=7;
OM[2,1]:=2;
OM[2,2]:=3;
OM[2,3]:=8;
OM[3,1]:=4;
OM[3,2]:=5;
OM[3,3]:=9;
OM[4,1]:=1;
OM[4,2]:=7;
OM[4,3]:=10;
OM[5,1]:=6;
OM[5,2]:=3;
OM[5,3]:=7;
{untuk oven}
UnitOven[1]:=5;
UnitOven[2]:=0;
UnitOven[3]:=0;
UnitOven[4]:=7;
UnitOven[5]:=6;
TOven:=480;
TBlow:=480;
TBubut[1]:=150;
TBubut[2]:=0;
TBubut[3]:=0;
TBubut[4]:=175;
TBubut[5]:=150;
end;
Procedure Inisialisasi;
var
i,j,k,l,nomesin:integer;
bestmakespan2:real;
Begin
{Job siap dijadwalkan} {input tambahan untuk
job yang boleh dijadwalkan}
Jobready[1]:=0; {ready=0}
Jobready[2]:=0;
Jobready[3]:=0;
Jobready[4]:=0;
Jobready[5]:=1;
{predesesor dari job}
jmaxpred:=2;
For i:=1 to jmljob do
For j:=1 to jmaxpred do
JP[i,j]:=0;
JP[5,1]:=2;
JP[5,2]:=3; {input tambahan untuk
predesesor}
{Makespan:=0;}
Javas:=0;
Turn:=1;
For i:=1 to jmljob do
javai[i,1]:=0;
For nomesin:=1 to jmlmsn do
begin
mavai[nomesin]:=0;
end;
t:=0;
jmlisi:=1;
Bestmakespan2:=Bestmakespan;
{Penentuan feromon awal}
If ferom = 0 then
begin
ferom := 1;
no:=O[jmljob,jmlop];
For k:=0 to no do
For l:=1 to no do
Begin
if k=l then
tau[k,l]:=0
else
tau[k,l]:=1;
end;
end;
Bestmakespan:=Bestmakespan2;
{Penentuan operasi untuk omega awal}
For i:=1 to jmljob do
If Jobready[i]=0 then
Omega[i]:=O[i,1]
Else
Omega[i]:=0;
TL[1]:=0;
TL[2]:=0;
end;
Procedure Ome;
var
i,j,k,l,m,n,pred,sisapred:integer;
label 1,2;
Begin
For j:=3 to no+2 do
If TL[j]=0 then
begin
k:=j;
goto 1
end;
1:
For l:=1 to jmljob do
begin
If Omega[l]=TL[k‐1] then
For i:=1 to jmljob do
For j:=1 to jmlop do
If O[i,j]=Omega[l] then
If jjavai[i,jmlop+1] then
begin
javai[m,1]:=javas;
javas:=javai[m,1];
end
else
begin
javai[m,1]:=javai[i,jmlop+1];
javas:=javai[m,1];
end;
javas:=0;
end
else
begin
If javas>javai[i,jmlop+1] then
begin
javai[m,1]:=javas;
javas:=javai[m,1];
end
else
begin
javai[m,1]:=javai[i,jmlop+1];
javas:=javai[m,1];
end;
end;
end;
end;
If UnitOven[l]>0 then
RTO[i]:=javai[l,jmlop+1]
Else
RTO[i]:=0;
end;
2:
end;
end;
Procedure PheromoneAlpha;
var
i,j,k,l:integer;
Begin
k:=TL[t+1];
For i:=1 to jmljob do
Begin
If Omega[i]>0 then
begin
l:=Omega[i];
taualpha[i]:=exp(alpha*ln(tau[k,l]));
end;
end;
End;
Procedure OperationTimeBeta;
var
i,j,k,l:integer;
Begin
For i:=1 to jmljob do
For j:=1 to jmlop do
If Omega[i]=O[i,j] then
If OT[i,j]0 then
OTBeta[i]:=exp(beta*ln(OT[i,j]))
Else
OTBeta[i]:=0;
End;
Procedure Probabilitas;
var
BR,Selisihmin:real;
alphabeta,prob,selisih:array [1..30] of real;
denominator:double;
i,j,k,l,h,counter,nomesin:integer;
Begin
denominator:=0;
For i:=1 to jmljob do
Begin
alphabeta[i]:=taualpha[i]*OTBeta[i];
denominator:=denominator+alphabeta[i];
End;
For i:=1 to jmljob do
prob[i]:=alphabeta[i]/denominator;
BR:=random;
Selisihmin:=1;
writeln('BR=',BR);
For i:=1 to jmljob do
Begin
If Omega[i]=0 then
selisih[i]:=2
else
selisih[i]:= Abs(BR‐prob[i]);
If selisih[i]javai[i,j] then
begin
mavai[nomesin]:=mavai[nomesin]+OT[i,j];
javai[i,j+1]:=mavai[nomesin];
end
Else
begin
mavai[nomesin]:=javai[i,j]+OT[i,j];
javai[i,j+1]:=mavai[nomesin];
end;
end;
end;
Procedure Makes;
var
a,nomesin,i,j,p,r,jmlunitoven:integer;
makespan,makespan2,mavaioven,mavaiblow,mavaibu
but,RTOmin,TWBubut:real;
Rank,S:array [1..30] of byte;
label 3;
Begin
For i:=1 to jmljob do
S[i]:=0;
a:=1;
r:=1;
While a0) and (RTO[i]0 then
begin
jmlunitoven:=jmlunitoven+UnitOven[j];
TWBubut:=TWBubut+TBubut[j];
If (jmlunitoven>=18) and (jmlunitovenRTO[j] then
begin
mavaioven:=mavaioven+TOven;
mavaiblow:=mavaioven+TBlow;
If mavaiblow>mavaibubut then
mavaibubut:=mavaiblow+TWBubut
else
mavaibubut:=mavaibubut+TWBubut;
end
else
begin
mavaioven:=RTO[j]+TOven;
mavaiblow:=mavaioven+TBlow;
If mavaiblow>mavaibubut then
mavaibubut:=mavaiblow+TWBubut
else
mavaibubut:=mavaibubut+TWBubut;
end;
jmlunitoven:=0;
TWBubut:=0;
end
Else
begin
If jmlunitoven RTO[Rank[i‐1]] then
begin
mavaioven:=mavaioven+TOven;
mavaiblow:=mavaioven+TBlow;
If mavaiblow>mavaibubut then
mavaibubut:=mavaiblow+TWBubut
else
mavaibubut:=mavaibubut+TWBubut;
end
else
begin
mavaioven:=RTO[Rank[i‐1]]+TOven;
mavaiblow:=mavaioven+TBlow;
If mavaiblow>mavaibubut then
mavaibubut:=mavaiblow+TWBubut
else
mavaibubut:=mavaibubut+TWBubut;
end;
jmlunitoven:=UnitOven[j];
TWBubut:=TBubut[j];
end;
end;
3:
If (jmlunitoven>0) and (jmlunitovenRTO[j] then
begin
mavaioven:=mavaioven+TOven;
mavaiblow:=mavaioven+TBlow;
If mavaiblow>mavaibubut then
mavaibubut:=mavaiblow+TWBubut
else
mavaibubut:=mavaibubut+TWBubut;
end
else
begin
mavaioven:=RTO[j]+TOven;
mavaiblow:=mavaioven+TBlow;
If mavaiblow>mavaibubut then
mavaibubut:=mavaiblow+TWBubut
else
mavaibubut:=mavaibubut+TWBubut;
end;
end;
end;
end;
Makespan:=0;
Makespan2:=mavaibubut;
For nomesin:=1 to jmlmsn do
If mavai[nomesin]>makespan then
makespan:=mavai[nomesin];
If makespan20 then
Write('Ov',Rank[i],'‐');
Writeln('Bestmakespan= ',Bestmakespan:3:2);
Writeln('Generasi ke‐',Generasi);
Writeln('Semut ke‐',Semut);
end;
Procedure Pheromone;
var
deltau,bestmakespan2:real;
k,l,n,p:integer;
Begin
bestmakespan2:=bestmakespan;
deltau:=1/Bestmakespan;
For p:=2 to no+1 do
begin
k:=Rute[p‐1];
l:=Rute[p];
tau[k,l]:=((1‐rho)*tau[k,l])+(rho*deltau);
For n:=1 to no do
begin
If n=k then
tau[k,n]:=0
else
If nl then
tau[k,n]:=(1‐rho)*tau[k,n];
end;
end;
bestmakespan:=bestmakespan2;
end;
{Main Module}
BEGIN
Input;
Nc:=1;
While Nc