OPERATIONS SCHEDULING
Marimin
marimin_07@yahoo.com
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 prosesnya
Perlu di lihat posisinya dalam produksi/operasi
Jangka Panjang
Jangka Menengah
Jangka Menengah
Short term
2
Proses schedulingnya :
1. Kumpulkan data-data yang dibutuhkan
a. Ci
Di
pi
Ii
b. Co = setup cost
Chi = holding cost perperiod untuk 1 unit produk i
(Rp./unit/period)
= i Ci
ELSi =
2CoDi
Chi
atau
ELSi =
2CoDi
i. Ci
ELSi
=
Pi
Ii
Di
dengan :
Ii = inventory level produk i
Di = demand/period produk i
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 dibuat
Contoh:
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
Product
Invent
(units)
Weekly
demand
(units)
Suply data
Runout
Lot size
Prod. Rate
Prod.
Time
(units)
(units/week)
Time
2100
200
(units)
10.5
1500
1500
(weeks)
1
550
100
5.5
450
900
0.5
1475
150
9.8
1000
500
2850
300
9.5
500
1000
0.5
1500
200
7.5
800
800
1.0
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
A
Demand selama
0.5 weeks
0.5 x 200 = 100
Inv.Level
Runout time
2000/200 = 10.0
0.5 x 100 = 50
950/100 = 9.5
0.5 x 150 = 75
1475 + 0 75 = 1400
1400/150 = 9.3
150
2700
9.0
100
1400
7.0
100
1600
8.0
Langkah 7:
Ulangi langkah 3 s/d 7
Hasil yang diperoleh terlihat dalam tabel 2
Invent
950
9.5
850
8.5
700
7.0
650
6.5
1400
9.3
1250
8.3
1025
6.8
950
6.3
2700
9.0
2400
8.0
1950
6.5
2300
7.7
1400
7.0
2000
10.0
1700
8.5
1600
8.0
1600
8.0
1400
7.0
2300
11.5
2200
11.0
10050
9700
9175
9100
10
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
Contoh :
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
Tabel 3
Job
Due date
(days)
4
C/6, A/4
A/5, B/3
12
- C dgn.proc.time 4 jam
- B dgn.proc.time 3 jam
Diketahui pula:
- rata-rata waktu tunggu antar work center : 8 jam
1 hari = 8 jam kerja
Kita dapat melakukan Forward Loading atau Backward Loading
Forward 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 1
Jelas terlihat bahwa :
- job-1 akan selesai pada hari ke-4
- job-2 akan selesai pada hari ke-3
13
A
(2 hrs)
B
(3 hrs)
Move/wait (8hrs)
C
(4 hrs)
Move/wait (8hrs)
Day 2
Day 1
Due
date
Day 3
Day 4
c
(6 hrs)
Due
date
A
(4 hrs)
Move/wait (8hrs)
Day 2
Day 1
Day 3
Day 4
Work center A
10
9
8
7
6
5
5
10
Machine hours
Machine hours
10
Machine hours
Work center C
9
8
7
6
5
2
1
1
Day
5
2
1
3
2
3
Day
Day
14
15
Due
date
A
(2 hrs)
Day 1
Move/wait 8 hours
Day 2
B
(3 hrs)
C
(4 hrs)
Move/wait 8 hours
Day 3
Day 4
C
(6 hrs)
Day 1
Move/wait 8 hours
Day 2
Due
date
A
(4 hrs)
Day 3
Day 4
Work center C
10
10
7
6
5
7
6
5
5
4
5
4
2
Machine hours
10
Machine hours
Machine hours
Work center A
2
3
Day
5
4
1
1
2
1
1
1
Day
Day
Backward-loading example
17
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
Index:
Metoda ini akan menghasilkan solusi yang baik, tetapi tidak dijamin
bahwa solusinya merupakan solusin yang optimun.
2. Metoda
Penugasan :
19
Cooker
1
Beans
10
10
Peaches
Tomatoes
Corn
10
2. Hitung Index setiap job di setiap mesin, dengan jalan membagi nilai
setiap baris dengan nilai terkecil di baris yang bersangkutan.
20
Food
Cooker
1
Beans
2.00
1.00
1.20
2.00
Peaches
3.00
1.00
2.00
3.00
Tomatoes
1.40
1.20
1.00
1.20
Corn
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
Cooker
1
Beans
2.00
1.00
1.20
2.00
Peaches
3.00
1.00
2.00
3.00
Tomatoes
1.40
1.20
1.00
1.20
Corn
2.25
1.25
1.00
2.50
21
Cooker
1
Beans
1.00
1.20
2.00
Peaches
1.00
2.00
3.00
1.25
1.00
2.50
Tomatoes
Corn
Food
Cooker
1
Beans
1.00
2.00
Peaches
1.00
3.00
Tomatoes
Corn
22
Cooker
1
Beans
10
10
Peaches
Tomatoes
Corn
10
Total waktu mesin untuk memproses ke-4 job adalah :7+2+4+10 = 23 jam
Tetapi karena proses pararel, maka semua tugas selesai dalam waktu 10 jam
23
Metoda Penugasan
Metoda Penugasan merupakan bentuk khusus dari model riset operasi yang akan
mengoptimumkan pembagian beberapa tugas ke sejumlah work center.
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.
5. Ulangi langkah 3 dan 4 sampai tercapai solusi optimal.
Contoh :
Waktu penyelesaian 4 order di 4 buah mesin yang ada (dalam jam) adalah sbb :
Order
Mesin 1
Mesin 2
Mesin 3
Mesin 4
10
10
10
Jawab :
Langkah 1 : row reduction
5
26
Langkah 3 : banyaknya garis minimum yang melalui titik-titik nol adalah 3 buah
3
Langkah 4 : karena banyaknya garis (3) # ukuran matrik (4), maka solusi belum
optimal. Lakukan reduksi lanjutan
3
27
Banyaknya garis sekarang sudah sama dengan ukuran matrik, artinya solusi
optimal sudah tercapai.
Penugasannya adalah sebagai berikut:
Order
Mesin 1
Mesin 2
Mesin 3
Mesin 4
Waktu
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
Prod.Time
Due date
19
17
31
F=
1
n
Fi
i=1
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 Moore
Dalam 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
19
17
Job.
Proc.Time
33
Compl.Time
13
21
Tardiness
Flow Time
13
21
34
17
19
Job.
Proc.Time
Compl.Time
11
19
21
Tardiness
Flow Time
11
19
21
=3
Max.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
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.
36
17
19
Job.
Proc.Time
Compl.Time
12
14
21
Tardiness
12
Langkah 2: Tidak ada lagi tardy job, artinya schedule sudah optimal
Jadi Moore Schedulenya adalah sbb:
Due date
17
19
Job.
Proc.Time
Compl.Time
12
14
21
Tardiness
12
Flow Time
12
14
21
Maka:
Mean Flow Time : F = (4+12+14+21)/4 = 12.75 hari
Jumlah tardy jobs = 1
Max.Tardiness
= 12 hari
38
Processor -1
Processor - 2
39
Prosedur Johnson :
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 :
40
Processing Time
Job
Processor -1
Processor - 2
Urutan job
41
Processor - 1
Job
Processor - 2
Proc.
Time
2
Start
Time
1
Finish
Time
2
Idle
Time
0
Proc.
Time
3
Start
Time
3
Finish
Time
5
Idle
Time
2
13
13
14
20
14
21
22
27
22
27
28
30
Time 0
10
4
Job 2
Job 1
Machine 1
Machine 2
12
19
Job 3
Job 1
Job 1
11
Time 0
27
Job 4
Job 5
Job 3
Job 4
14
Job 5
26
17
33
Gambar-5a
Time 0
Machine 1
Machine 2
Time 0
2
Job 3
13
Job 1
Job 4
Job 3
Job 1
5
21
Job 5
Job 2
Job 5
Job 4
13
27
20
Job 2
26
30
43
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