240 likes | 406 Views
COURSE DAY 3. TIME-SHARED COMPUTER MODEL. Terminals. COMPUTER. 1. Unfinished Jobs. 2. CPU. Queue. n. Finished Jobs. EVENT TYPE. EVENT GRAPH. 1. 2. End of CPU run. End of Simulation. Arrival. n. FLOWCHART UNTUK ARRIVAL-ROUTINE (COMPUTER MODEL). Subroutine ARRIVE.
E N D
TIME-SHARED COMPUTER MODEL Terminals COMPUTER 1 Unfinished Jobs 2 CPU Queue n Finished Jobs
EVENT TYPE EVENT GRAPH 1 2 End of CPU run End of Simulation Arrival n
FLOWCHART UNTUK ARRIVAL-ROUTINE (COMPUTER MODEL) Subroutine ARRIVE Hitung atribut-atribut Job dan tempatkan di queue Ya Apakah CPU idle ? Call START Tidak Return
FLOWCHART UNTUK SUBROUTINE START (COMPUTER MODEL) Subroutine START Keluarkan Job dari queue dan hitung CPU time Kurangi sisa waktu pelayanan dari Job ini Tempatkan Job dalam queue Jadwalkan event end-CPU-run untuk Job ini pada putaran ini. Return
FLOWCHART UNTUK end-CPU-run ROUTINE (COMPUTER MODEL) Subroutine ENDRUN Keluarkan Job dari CPU Tidak Ya Apakah Job membutuhkan CPU time lagi ? Tempatkan Job di akhir queue Hitung response time dari Job dan kumpulkan statistik A B
FLOWCHART UNTUK end-CPU-run ROUTINE (COMPUTER MODEL) A B Jadwalkan sebuah event arrival untuk terminal dari Job ini Call START Tambahkan 1 pada banyaknya Job yang sudah diproses Ya Tidak Jadwalkan sebuah event end-simulation secepatnya Tidak Apakah sudah cukup Job diselesaikan ? Apakah ada suatu Job di dalam queue ? Ya Call START Return
MULTITELLER BANK WITH JOCKEYING • Sebuah bank dengan 5 tellersbukapada jam 9 am dantutuppada jam 5 pm, tapiberoperasisampaisemuacustomers di bank sampai 5 pm terlayani. • Asumsi : waktuantarkedatangancustomer merupakanvariabel random IID eksponensialdenganmean 1 menitdanwaktuservice customermerupakanvariabel random IID eksponensialdengan mean 4.5 menit. • Masing-masingtellermempunyaisebuahqueueterpisah.
MULTITELLER BANK WITH JOCKEYING (CONT) • Sebuahkedatangancustomerakanbergabung (joins) diqueueterpendek, memilihqueueterpendek paling kiri (apabilaadabeberapaqueue yang memenuhi - ties). • Misalnimerupakanjumlah total customer didepantelleri (yang sedangdilayani + diqueue) padasuatusaat. • Jikaselesainyaserviceterhadapcustomerditellerimenyebabkannj> ni+ 1 untuksuatuteller lain j, makacustomerdaritail of queue j jokeyketail of queue i.
MULTITELLER BANK WITH JOCKEYING (CONT) 1 2 3 4 5 • Customer yang sedang dilayani di teller i = 3 selesai pelayanan, menyebabkan customer dari tail of queue j = 2 untuk jokey.
FLOWCHART UNTUK ARRIVAL ROUTINE (BANK MODEL) Subroutine ARRIVAL Jadwalkan arrival event berikutnya Apakah teller idle ? DELAY 0 untuk customer ini dan kumpulkan statistik Tentukan nomor, CHOICE, dari queue terpendek paling kiri B A
FLOWCHART UNTUK ARRIVAL ROUTINE (BANK MODEL) A B Tempatkan customer di akhir queue nomor CHOICE Buat status teller BUSY Jadwalkan event DEPARTURE untuk customer ini Return
FLOWCHART UNTUK DEPARTURE ROUTINE (BANK MODEL) Subroutine DEPART Ya Tidak Apakah queue di teller ini kosong ? Keluarkan customer pertama dari queue Buat status teller ini idle Hitung delay customer ini dan kumpulkan statistik Jadwalkan event DEPARTURE untuk customer ini Call JOCKEY Return
FLOWCHART UNTUK JOCKEY ROUTINE (BANK MODEL) Subroutine JOCKEY Tidak Ya Apakah ada customer yang akan Jockey ? Keluarkan customer ini dari tail of queue-nya saat itu Ya Tidak Apakah teller yang baru saja menyelesaiakan service sekarang busy ? A B C
FLOWCHART UNTUK JOCKEY ROUTINE (BANK MODEL) B C A Tempatkan customer yang Jockeying di tail of the queue dari teller yang baru saja menyelesaikan service Hitung delay dari customer yang Jockeying dan kumpulkan statistik Buat status teller busy Jadwalkan event DEPARTURE untuk customer yang Jockeying Return
OUTPUT SIMULASI Multiteller Bank dengan Queue terpisah & Jockeying • Jumlah teller 4 sampai 7 • Rata-rata waktu antar kedatangan 1.000 menit • Rata-rata waktu service 4.500 menit • Bank tutup setelah 8.000 jam Dengan 4 tellers, jumlah rata-rata customer dalam queue = 51.319 … Dengan 5 tellers, jumlah rata-rata customer dalam queue = 2,441 … Dengan 6 tellers, jumlah rata-rata customer dalam queue = 0.718 … Dengan 7 tellers, jumlah rata-rata customer dalam queue = 0.179 …
MODEL JOB-SHOP • Tempat produksi pabrik mempunyai 5 group mesin, masing-masing group 1, 2, …, 5 terdiri dari 3, 2, 4, 3, dan 1 mesin-mesin identik. • Job datang ke tempat produksi dengan waktu antar-kedatangan berupa variabel random eksponensial IID dengan mean 0.25 jam. • Ada 3 tipe job, dan kedatangan job tipe 1, 2, dan 3 masing-masing dengan probabilitas 0.3, 0.5, dan 0.2. • Job tipe 1, 2, dan 3 masing-masing membutuhkan 4, 3, dan 5 task yang harus diselesaikan, dan masing-masing task harus diselesaikan di group mesin tertentu dalam urutan yang sudah ditentukan.
MODEL JOB-SHOP (CONT) Rute Job dengan tipe-tipe berbeda
MODEL JOB-SHOP (CONT) 2 1 3 4 5 Job tipe 1
MODEL JOB-SHOP (CONT) • Macam-macam Delay
MODEL JOB-SHOP (CONT) • Variabel-variabel untuk menyimpan banyaknya mesin yang busy di dalam masing-masing group.
FLOWCHART UNTUK ARRIVAL ROUTINE (JOB-SHOP MODEL) Subroutine ARRIVAL Ya Apakah ini arrival baru ? Jadwalkan ARRIVAL event (baru) berikutnya Tidak Generate tipe Job dan TASK 1 untuk job ini Tentukan group mesin untuk job ini A
FLOWCHART UNTUK ARRIVAL ROUTINE (JOB-SHOP MODEL) A Ya Tidak Apakah semua mesin dalam group busy ? Tempatkan Job di akhir queue untuk group ini DELAY 0 untuk Job ini dan kumpulkan statistik Buat status mesin dalam group ini busy dan kumpulkan statistik Jadwalkan event DEPARTURE untuk Job ini Return