Upload
hasami84
View
252
Download
3
Embed Size (px)
Citation preview
OPERATIONS SCHEDULING
Dalam Scheduling, kita membuat rencana untuk menentukan:- Apa yang akan dilakukan- Kapan dilakukannya- Siapa yang melaksanakannya - Peralatan apa yang dibutuhkan
Scheduling ditentukan oleh jenis prosesnyaPerlu di lihat posisinya dalam produksi/operasi
1
Perencanaan Kapasitas1. Ukuran Fasilitas2. Pengadaan perlengkapan
Perencanaan Aggregate1. Penggunaan Fasilitas2. Kebutuhan SDM3. Subkontraktor
Master Schedule1. MRP2. Disaggregasi master plan
Penjadwalan Jangka Pendek1. Pembebanan (Loading) setiap work center2. Urutan tugas
Posisi Penjadwalan dalam Produksi/Operasi
Jangka Panjang
Jangka Menengah
Jangka Menengah
Short term
2
Scheduling untuk Proses Line Flow
Dalam suatu proses line flow (assembly line atau cont.flow) :
- dibuat berbagai produk di line yang sama (multiple product batch line)
- setiap produk diproduksi dalam batch.
- antar batch produk dibutuhkan line changeover (perubahan pada line flow tsb. Agar dapat dipakai untuk membuat produk lain: penyetelan, perubahan komponen dll) 3
Proses schedulingnya :1. Kumpulkan data-data yang dibutuhkan
a. Ci = unit cost produk – i
Di = demand per period untuk produk – i
pi = production rate produk – i
Ii = inventory level produk – i
b. Co = setup cost
Chi = holding cost perperiod untuk 1 unit produk – i (Rp./unit/period)
= i Ci 4
2.Hitung untuk setiap produk – ia. Economic Lot Size produk – i (ELSi) :
b. Lot Production Time produk – i :
3. Tentukan ‘runout time’ setiap produk
dengan : Ii = inventory level produk – iDi = demand/period produk – i
ELSi = √ 2CoDiChi
atau ELSi = √ 2CoDii. Ci
ti = ELSi Pi
ri = Ii Di
5
4. Pilih produk dengan harga ri terkecil dan buat lebih dulu produk tsb. Volume yang dibuat adalah sebanyak ELSi nya !
5. Hitung saat – t, yaitu waktu produk selesai dibuat.6. Proyeksikan inventory level setiap produk untuk saat – t tsb.
(merupakan inventory level setiap produk pada saat – t)7. Ulangi langkah 3 s/d 7 untuk produk lain.
Akhirnya akan diperoleh urutan produk-produk yang harus dibuatContoh:
Sebuah assembly line membuat 6 produk : A, B, C, D, E, dan F.
Untuk setiap produk diketahui: inventory level, demand/week, ELS dan Production rate (dalam unit/week), seperti terlihat di tabel 1
6
Dalam tabel :— runout time = inventory level / weekly demand— production time (lot prod. Time) = lot size / prod. rate
Tabel 1 : Run out-time calculations
Demand data Suply dataProduct Invent
(units)Weekly demand (units)
Runout Time
(units)
Lot size(units)
Prod. Rate(units/week)
Prod.Time
(weeks)A 2100 200 10.5 1500 1500 1B 550 100 5.5 450 900 0.5C 1475 150 9.8 1000 500 2D 2850 300 9.5 500 1000 0.5E 1500 200 7.5 800 800 1.0F 1700 200 8.5 1200 800 1.5
Total 10175 1150
7
Tentukanlah schedulingnya !Jawab :Langkah 1 s/d 3 telah diperoleh dari tabel 1.Langkah 4 : Pilih produk dengan harga r terkecil, yaitu produk B. Jadi produk B akan dibuat lebih dulu.Langkah 5 : Tentukan saat t, yaitu saat produk B selesai dibuat. Dari tabel diperoleh prod. Time produk B = 0.5 weeks. Jadi produk B akan selesai dibuat pada saat t = 0.5 weeks.
Langkah 6 : Proyeksikan inventory setiap produk pada saat t = 0.5 Demand selama 0.5 week = 0.5 (demand/week) Inv. Level = Inv. Awal + Production - Demand 0.5 week Runout time = Inv. Level / demand per week.
8
Product Demand selama 0.5 weeks
Inv.Level Runout time
A 0.5 x 200 = 100 2100 + 0 - 100 =2000 2000/200 = 10.0
B 0.5 x 100 = 50 550 + 0.5 x 900 –50 =950
950/100 = 9.5
C 0.5 x 150 = 75 1475 + 0 – 75 = 1400 1400/150 = 9.3D 150 2700 9.0E 100 1400 7.0F 100 1600 8.0Langkah 7:
Ulangi langkah 3 s/d 7Hasil yang diperoleh terlihat dalam tabel 2
9
End of Week 0.5
End of Week 1.5
End of Week 3.0
End of Week 3.5
Product Invent Runout time
Invent Runout time
Invent Runout time
Invent Runout time
A 2000 10.0 1800 9.0 1500 7.5 1400 7.0B 950 9.5 850 8.5 700 7.0 650 6.5C 1400 9.3 1250 8.3 1025 6.8 950 6.3D 2700 9.0 2400 8.0 1950 6.5 2300 7.7E 1400 7.0 2000 10.0 1700 8.5 1600 8.0F 1600 8.0 1400 7.0 2300 11.5 2200 11.0
10050 9700 9175 9100
10
Scheduling untuk proses Job ShopDalam proses jop shop :- Prinsip : make to order- Produknya bermacam-macam jenis dan biasanya jumlah setiap order
tidak besar- Masalah-masalah dalam schedulingnya : loading, sequencing dan
dispacthing.Loading :- Dalam loading, schedule tepat untuk setiap job tidak dibuat.- Tujuan loading adalah untuk mengetahui secara global/kasar: ~ bagaimana load di setiap work center
~ kapan jop dapat diselesaikan~ apakah kapasitas work centers terlampaui atau tidak
- Dalam loading, urutan job tidak/belum diperhatikan
11
Misalkan kita memiliki tiga work centers : A, B dan C, serta lima buah job: Job-1, 2, 3, 4 dan 5. Work centers yang harus dilalui, processing time di setiap work centers dan due date setiap job. Terlihat dalam tabel 3
Contoh :
Job Work centers/machine hours Due date(days)
1 A/2, B/3, C/4 42 C/6, A/4 33 B/3, C/2, A/1 44 C/4, B/3, A/3 45 A/5, B/3 2
Tabel 3
12
Job 1 harus melalui work center: - A dgn.proc.time 2 jam - C dgn.proc.time 4 jam - B dgn.proc.time 3 jamDiketahui pula: - rata-rata waktu tunggu antar work center : 8 jam 1 hari = 8 jam kerja
Kita dapat melakukan Forward Loading atau Backward LoadingForward Loading :-Kita dapat mengetahui perkiraan waktu selesainya setiap job dan load setiap work center.
-Untuk setiap job, buat ‘time line’ untuk forward loadingnya, seperti terlihat di gambar 1Jelas terlihat bahwa :- job-1 akan selesai pada hari ke-4- job-2 akan selesai pada hari ke-3
13
A(2 hrs) Move/wait (8hrs) B
(3 hrs) Move/wait (8hrs) C(4 hrs)
Day 1 Day 2 Day 3 Day 4
Duedate
c(6 hrs) Move/wait (8hrs) A
(4 hrs)
Day 1 Day 2 Day 3 Day 4
Duedate
Time line for job 1
Time line for job 2Gambar 1 : Time line untuk job 1 dan 2
4221
3
4
5
10
9
8765
43
2
1
1
2 3 4
Day
Work center A
Mac
hine
hou
rs
1
Day
Work center B
13
4
5
10
9
8765
43
2
1
1
2 3 4
Mac
hine
hou
rs
113
1
2
4
10
9
8765
43
2
1
1
2 3 4
Day
Work center C
Mac
hine
hou
rs
1
14
Gambar 2 : Load chart Forward Loading work center A, B dan C— Untuk setiap work center, buat Gantt load chartnya (gambar 2).— Dari load chart tsb, kita dapat melihat besarnya load untuk setiap work center pada setiap hari.
Backward Loading
– Kita dapat mengetahui kapasitas maksimum yang diperlukan setiap work center agar due datenya tercapai.
– Untuk setiap job, buat ‘time line’ untuk backward loadingnya, seperti terlihat di gambar 3. Time line dibuat mulai dari due date dan bergerak ke muka.
15
Duedate
A(2 hrs) Move/wait 8 hours B
(3 hrs) Move/wait 8 hours C(4 hrs)
Day 1 Day 2 Day 3 Day 4
C(6 hrs) Move/wait 8 hours A
(4 hrs)
Duedate
Day 1 Day 2 Day 3 Day 4
Time line for job 2
Time line for job 1
Job times for backward loading
16
Gambar 3. Time line untuk job 1 dan 2
311
2
4
5
10
9
8
7
6
5
4
3
2
1
1
2 3 4
Day
Work center A
Mac
hine
hou
rs
1
Work center B
13
45
10
9
8
7
6
5
4
3
2
1
1
2 3 4
Day
Mac
hine
hou
rs
132
12
4
4
10
9
8
7
6
5
4
3
2
1
1
2 3 4
Day
Work center C
Mac
hine
hou
rs
1
Backward-loading example17
Gambar 4 : Load chart Backward Loading work center A, B dan C—Untuk setiap work center, buat Gantt load chartnya (gambar
4).—Dari load chart tsb, kita dapat melihat besarnya load untuk
setiap work center pada setiap hari.Dari masalah loading diatas, jelas bagian marketing perlu menghubungi bag. operasi sebelum menjanjikan due date kepada para pelanggan, agar tidak terjadi keterlambatan delivery.
LOADING :• Proses pembagian tugas ke resources yang terbatas• Dengan loading, kita ingin mengetahui secara kasar :
• Bagaimana load setiap work center• kapan job dapat diselesaikan• apakah kapasitas work center tidak terlampaui.
18
• Dalam loading, menurut job tidak/belum diperhatikan.• Metodenya ada 2 :
1. Metoda Index:Metoda ini akan menghasilkan solusi yang baik, tetapi tidak
dijamin bahwa solusinya merupakan solusin yang optimun.2. Metoda Penugasan :
Merupakan salah satu bentuk khusus dari pemrograman linear yang akan memberikan solusi optimal.
19
LOADING (Metoda Index) :
Prosedur metoda ini akan dijelaskan langsung dengan contoh :1. Bentuklah tabel waktu/biaya yang dibutuhkan oleh job tertentu
disetiap work center/mesin yang ada !
Food Cooker1 2 3 4
Beans 10 5 6 10Peaches 6 2 4 6Tomatoes 7 6 5 6Corn 9 5 4 10
2. Hitung Index setiap job di setiap mesin, dengan jalan membagi nilai setiap baris dengan nilai terkecil di baris yang bersangkutan.
20
Food Cooker1 2 3 4
Beans 2.00 1.00 1.20 2.00Peaches 3.00 1.00 2.00 3.00Tomatoes 1.40 1.20 1.00 1.20Corn 2.25 1.25 1.00 2.50
3.Tentukanlah indeks terkecil dari setiap kolom. Job pada baris tersebut dilakukan oleh mesin pada kolom yang bersangkutan. (Tomatoes di Cooker 1)
Food Cooker1 2 3 4
Beans 2.00 1.00 1.20 2.00Peaches 3.00 1.00 2.00 3.00Tomatoes 1.40 1.20 1.00 1.20Corn 2.25 1.25 1.00 2.50
21
Food Cooker1 2 3 4
Beans 1.00 1.20 2.00Peaches 1.00 2.00 3.00TomatoesCorn 1.25 1.00 2.50
4. Ulangi untuk kolom berikutnya:
Food Cooker1 2 3 4
Beans 1.00 2.00Peaches 1.00 3.00TomatoesCorn
22
Jadi penugasan yang terjadi adalah:Food Cooker
1 2 3 4Beans 10 5 6 10Peaches 6 2 4 6Tomatoes 7 6 5 6Corn 9 5 4 10
Total waktu mesin untuk memproses ke-4 job adalah :7+2+4+10 = 23 jamTetapi karena proses pararel, maka semua tugas selesai dalam waktu 10 jam
23
Prosedur Penugasan (Metoda Hongaria):1. Lakukan row reduction, dengan jalan mengurangi setiap elemen baris
dengan elemen minimum dibaris yang bersangkutan.2. Lakukan column reduction, dengan jalan mengurangi setiap elemen kolom
dengan elemen minimum dikolom yang bersangkutan
3. Hasilnya adalah opportunity cost matrix.Tentukanlah banyaknya garis minimum (vertikal atau horisontal) yang melewati semua nilai nol.
4. Jika banyaknya garis tersebut = baris/kolom matrik, maka solusi optimal sudah tercapai, dan penugasan dilakukan pada nilai-nilai 0 yang ada. Bila belum, lakukan reduksi lanjutan dengan melakukan perubahan matrik berikut:a. Tentukan elemen minimum matrik yang tidak dilalui garis. 24
Metoda PenugasanMetoda Penugasan merupakan bentuk khusus dari model riset operasi yang akan mengoptimumkan pembagian beberapa tugas ke sejumlah work center.
Contoh :Waktu penyelesaian 4 order di 4 buah mesin yang ada (dalam jam) adalah sbb :
Order Mesin 1 Mesin 2 Mesin 3 Mesin 4A 10 5 6 10B 6 2 4 6C 7 6 5 6D 9 5 4 10
5. Ulangi langkah 3 dan 4 sampai tercapai solusi optimal.
Tentukanlah pengalokasian order ke setiap mesin yang terbaik !
25
b. Kurangi semua elemen matrik yang tidak dilalui garis dengan elemen minimum dari (a).
c. Tambahkan nilai minimum dari (a) ke elemen matrik yang terletak pada perpotongan garis vertikal dan horisontal.
Langkah 1 : row reduction
5 0 1 54 0 2 42 1 0 15 1 0 6
Jawab :
Langkah 2 : column reduction
3 0 1 42 0 2 30 1 0 03 1 0 5
26
Langkah 3 : banyaknya garis minimum yang melalui titik-titik nol adalah 3 buah
5013001032024103
Langkah 4 : karena banyaknya garis (3) # ukuran matrik (4), maka solusi belum optimal. Lakukan reduksi lanjutan
3011023012002101
27
Banyaknya garis sekarang sudah sama dengan ukuran matrik, artinya solusi optimal sudah tercapai.Penugasannya adalah sebagai berikut:
4
6
6
5
Waktu
D
C
B
A
Mesin 4Mesin 3Mesin 2Mesin 1Order
Jadi total waktu yang dibutuhkan adalah 21 jam.
28
Sequencing :- Bila loading tidak memperhatikan urutan job, maka sequencing urutan job
diperhatikan
- Tujuannya adalah untuk menentukan urutan terbaik.
- Sequencing tidak membutuhkan lagi data rata-rata waiting time antar work center. Bila ada waiting time, akan dihitung dengan teliti.
- Sequencing meliputi pembahasan berikut:~ Scheduling n jobs untuk 1 processor~ Scheduling n jobs untuk 2 processor~ Scheduling n jobs untuk m processor
29
Scheduling n jobs untuk 1 processorContoh :Misalkan ada 4 job dengan processing time dan due date sbb:
Job. 1 2 3 4Prod.Time 4 7 2 8Due date 6 9 19 17
Job 1 memerlukan waktu proses 4 hari dan harus deserahkan dalam Waktu 6 hari.
Tentukan schedulingnya :Jawab:
- Untuk 1 processor : masalah scheduling hanyalah menentukan urutan job yang harus dilakukan. Untuk itu perlu ditentukan dulu kriteria atau objective yang ingin dicapai dalam menentukan urutan tsb.
30
- Sebelum membahas kriteria yang digunakan perlu didefinisikan istilah-istilah sbb:
Ri = Arrival time dari job – i (saat job tiba) Ci = Completion time dari job – i di = Due date dari job – i Fi = Flow time dari job – i, yaitu lamanya job – i berada dalam sistem (=Ci – Ri) Li = Lateness dari job – i (=Ci – di) Ti = Tardiness dari job –i = positif lateness dari job – i Tardiness = 0, bila lateness negatif = lateness, bila lateness positif Ei = Earliness dari job – i = negatif tardiness dari job – i n = Jumlah job
31
Maka Mean Flow Time :n
F = 1n Σ
i = 1 . F i
Dengan Fi = Ci - Ri
• Berdasarkan kriteria atau objective yang akan dipakai, dapat dipilih beberapa prosedur scheduling sbb :
- Prosedur SPT (Shortest Processing Time)
- Prosedur DD ( Due Date)
- Prosedur MooreDalam setiap pembahasan berikut, diasumsikan bahwa semua job telah ada pada saat t = 0. Jadi pada t = 0, kita dapat memilih job yang akan didahulukan
32
Prosedur SPT (Shortest Processing Time)• Prosedur ini meminimalkan Mean Flow Time.
Dan juga meminimalkan Mean Waiting Time dan Mean Lateness. Waiting time adalah lamanya waktu suatu job harus menunggu sebelum proses untuk job tsb.dimulai
• Disini job dengan processing time terkecil diproses lebih dulu.
Due date 19 6 9 17
Job. 3 1 2 4
Proc.Time 2 4 7 8
Jadi untuk contoh di atas, SPT schedulenya adalah
33
Compl.Time 2 6 13 21
Tardiness 0 0 4 4
Flow Time 2 6 13 21
Mean Flow Time : F = (2+6+13+21)/4 = 10.5 hari
Jumlah tardy jobs = 2
Max.Tardiness = 4 hari
34
Prosedur DD (Due Date)• Prosedur ini meminimalkan Max.Tardiness• Disini job dengan due date terkecil diproses lebih dulu. Jadi untuk
contoh di atas, DD schedulenya adalah :
Due date 6 9 17 19Job. 1 2 4 3
Proc.Time 4 7 8 2
Compl.Time 4 11 19 21Tardiness 0 2 2 2Flow Time 4 11 19 21
Mean Flow Time : F = (4+11+19+21)/4 = 13.75 hariJumlah tardy jobs = 3Max.Tardiness = 2 hari 35
Prosedur Moore
• Prosedur ini meminimalkan jumlah tardy jobs
• Langkah 1 : Buat DD schedulenya (lihat tabel di atas)
• Langkah 2 : Cari tardy job pertama dalam schedule tsb.
Bila tidak ada, maka STOP dan schedulenya sudah optimal
36
• Langkah 3 : Diantara tardy job pertama ini dan job-job lain yang
mendahuluinya, carilah job yang processing timenya terbesar, pindahkan
job tsb ke paling belakang dan selanjutnya job tsb tidak dipertimbangkan
lagi. Yang akan ditinjau selanjutnya adalah job-job lain.
• Dari contoh di atas:• Langkah 1 : lihat tabel di atas• Langkah 2 : Tardy job pertama adalah job - 2.• Langkah 3 : Processing terbesar antara job – 2 dengan job yang
mendahuluinya (job –1) dimiliki oleh job –2. Jadi pindahkan job 2 ke paling belakang, dan tidak perlu ditinjau lagi. Hasilnya sbb:
Due date 6 17 19 9Job. 1 4 3 2
Proc.Time 4 8 2 7
37
Compl.Time 4 12 14 21Tardiness 0 0 0 12
Kemudian kembali ke langkah 2
• Langkah 2: Tidak ada lagi tardy job, artinya schedule sudah optimal Jadi Moore Schedulenya adalah sbb:
Due date 6 17 19 9Job. 1 4 3 2
Proc.Time 4 8 2 7
Compl.Time 4 12 14 21Tardiness 0 0 0 12Flow Time 4 12 14 21
Maka:Mean Flow Time : F = (4+12+14+21)/4 = 12.75 hariJumlah tardy jobs = 1Max.Tardiness = 12 hari
38
Scheduling N Jobs untuk 2 Processor:Contoh :
Terdapat 5 job yang semuanya harus melalui processor 1 dan kemudian processor 2, dengan processing time sbb:
Processing TimeJob Processor -1 Processor - 21 4 72 6 33 2 34 7 75 8 6
39
• Prosedur ini meminimalkan completion time dari semua job, berarti juga meminimalkan total idle time.• Langkah 1 : Cari processing time terkecil dari kedua processor• Langkah 2 :
- Bila processing time terkecil di processor 1, maka letakkan job tersebut pada urutan “pertama berikutnya yang masih ada”. - Bila processing time terkecil di processor 2, maka letakkan job tersebut pada urutan “terakhir yang masih ada”.
Ulangi langkah 1 dan 2 sampai semua job mendapat urutan. Untuk contoh di atas, urutan hasil prosedur Johnson adalah :
Prosedur Johnson :
40
Processing TimeJob Processor -1 Processor - 2 Urutan job1 4 7 32 6 3 13 2 3 44 7 7 55 8 6 2
Jadi schedule untuk kedua mesin tsb. adalah:
41
Processor - 1 Processor - 2Job Proc.
TimeStart Time
Finish Time
Idle Time
Proc. Time
Start Time
Finish Time
Idle Time
3 2 1 2 0 3 3 5 21 4 3 6 0 7 7 13 14 7 7 13 0 7 14 20 05 8 14 21 0 6 22 27 12 6 22 27 0 3 28 30 0
Jadi : completion = 30 jamtotal time = 4 jam
• Scheduling dari tabel diatas, dapat pula digambarkan Gantt Chart seperti gambar 5 berikut ini. Pada gambar 5 - a : Bila urutan job : 1,2,3,4,5 maka completion time = 33 jam. Pada gambar 5 - b : Bila urutan job : 3,1,4,5,2 (hasil prosedur Johnson), maka completion time = 30 jam. 42
Machine 1
Machine 2
Job 1 Job 2 Job 3 Job 4 Job 5
Time 0 10 12 194 27
Job 1 Job 3Job 1 Job 4 Job 5
Time 0 11 14 17 26 33
Gambar-5a
Machine 1
Machine 2
Job 3 Job 1 Job 4 Job 5 Job 2
Time 0 6 13 212 27
Job 3 Job 4Job 1 Job 5
Time 0 5 13 20 26 30
Job 2
43
Scheduling N jobs untuk M Processor
• Belum ada prosedur perhitungan yang optimal untuk masalah ini untuk n dan m yang lebih besar dari 2.
• Biasanya untuk hal ini digunakan rules yang tak menjamin keoptimalan schedulenya. Rules tsb. akan dibahas dalam Dispatching.
Dispatching
• Dalam praktek, sulit sekali untuk mempertahankan schedule sesuai rencana, karena berbagai hal (mesin rusak, operator sakit, material terlambat dll.)
Oleh karena itu dalam praktek, seringkali digunakan “dispatching rules”, yang tentunya tidak menjamin keoptimalan solusi.
• Dispathing rule menentukan job mana yang harus diproses lebih dulu, bila ada antrian job.
44
• Beberapa dispathing rules adalah sbb :1. MINPRT (Minimum Processing Time)
Job dng processing terkecil dipilih lebih dulu untuk diproses2. MINSOP (Minimum Slack time per Operation)
Slack time adalah : Sisa waktu yang ada sebelum due date - Sisa Processing time yang masih harus dilakukan. Slack time per operation = slack time / jumlah operasi. Dalam rule ini, slack time per operation yang minimal dipilih lebih dulu.
3. FCFS (First Come First Served) Job yang datang lebih dulu di work center, didahulukan.
4. MINSD (Minimum planned Start Date) Bila ada perubahan keadaan, maka tetap gunakan rencana schedule semula.
5. MINDD (Minimum Due Date) Disini job dengan due date yang paling dekat didahulukan 45