serial run แบบพื้ น ... - production scheduling · เวลาทํางาน...

6
เทคนิคการใช Excel ในการวางแผนการ ผลิต (Excel Base Finite Scheduling System) – 4 ที่มา: www.production-scheduling.com โดย: สํารวย เปลื้องวัน ([email protected]) Multiple Machines (Serial Run) Scheduling ในบทความตอนแรก (ITR ฉบับ 109) ผูเขียนไดเสนอ ตัวอยางการวางแผนสําหรับเครื่องจักรหลายเครื่องทีสามารถทํางานแทนกันได (Parallel Run) ฉบับนี้จะขอ เสนอการวางแผนสําหรับงานที่ตองทําผานเครื่องจักรหลาย เครื่องตอเนื่องกัน กอนที่จะเสร็จสมบูรณ (Serial Run) Serial Run แบบพื้นฐาน แบบแรกจะเปนแบบพื้นฐานซึ่งจะยังไมใชปฏิทินการทํางาน โดยจะถือวาเครื่องจักรทํางานตอเนื่องกัน 24-ชั่วโมงตลอด ทุกวัน และไมมี Setup Time การกําหนดลําดับและเสนทางเดินของงาน (Job Route) ทุกงานจะเหมือนกันคือ มีการทํางาน 3 Operations โดย Operation 1 ทําทีWork Center 1 จากนั้นไปทําตอทีOperation 2 ทีWork Center 2 และ Operation 3 ทีWork Center 3 ตามลําดับ แบบกําหนด ชั่วโมงทํางาน (Run Hour) เริ่มจากสราง Worksheet ดังรูปที1 เพื่อกําหนดลําดับการ ทํางานใหแตละ Work Center, กําหนด Column ตางๆดังนีColumn A เปนหมายเลข Work Center Column B แสดง Job ID ในที่นี้ประกอบดวย Job A,B และ C Column C เปน Operation Number ของแตละ Job โดยทีOperation 1 ของทุก Job จะอยูทีW/C 1 สวน Operation ที2 และ 3 อยูทีW/C 2 และ 2 ตามลําดับ Column D เปนชั่วโมงทํางาน (Run Hours) ของแต ละ Job ในแตละ Work Center สิ่งที่ตองคํานึงถึงสําหรับการวางแผนแบบ Serial Run คือ W/C ที่อยูในขั้นตอนการทํางานลําดับถัดไปจะตองรองาน จาก W/C ที่กําลังทํางานในขั้นตอนการทํางานลําดับกอน หนานั้น (Previous Operation), เชน W/C 2 ตองรอให W/C 1 ทํางานลําดับแรก (Job A) ใหเสร็จกอนจึงจะเริ่ม ทํางานในขั้นตอนของตัวเองได ดังนั้นการคํานวณเวลา เริ่มตนและสิ้นสุดงานจะตองมีกลไกที่ใชคนหาและชดเชย เวลารองานที่เกิดขึ้นดวย กลการคํานวณแบงเปนสองขั้นตอนคือ ขั้นแรกหาตําแหนง ของ ขั้นตอนการทํางานกอนหนา และ จากนั้นก็เปนการ คํานวณเวลาเริ่มตนและสิ้นสุดงานที่มีการชดเชยเวลารองาน เราจะใช MATCH Function ในการหาตําแหนง ของ ขั้นตอนการทํางานกอนหนา โดยการทํางานจะอยูใน Column E, F และ G ดังนีColumn E - เปนการกําหนดชื่อเฉพาะสําหรับเปน Key ในการคนหา โดยจะนําเอา Job ID มารวมกับ Operation Number, ใน Cell E6 ใสสูตรดังนี=RIGHT(B6,1)&"/"&C6 Column F - เปนการกําหนด Key ของขั้นตอนการ ทํางานกอนหนา โดยทําเหมือน Column E แตลบ Operation Number ดวย 1, ใน Cell F6 ใสสูตรดังนี=RIGHT(B6,1)&"/"&(C6-1) Column G - เปนการใช MATCH ในการคนหา หลักการคือใช Key ของขั้นตอนการทํางานกอนหนาใน Column F นําไปหาตําแหนงจาก Column E, ใน Cell G6 ใสสูตรดังนี=MATCH(F6,E$6:E$14,FALSE) โดยชวงที่ใชในการคนหาคือ จาก E6 ถึง E14 ถามี จํานวนงานมากกวานีก็ตองขยายชวงนี้ออกไปอีก คาที่ไดจาก MATCH คือหมายเลขบรรทัดของขั้นตอนการ ทํางานกอนหนา ถาหาไมเจอก็จะใหคา #N/A เชนใน Row ที10 จะเปน Job B ทํางาน Operation ที2 ทีW/C23 สวนงานในลําดับการทํางานกอนหนานั้นคืองานของ Job B ใน Operation ที1 ซึ่งอยูในบรรทัดที2 ของชวง E6:E14, ดังนั้น ผลลัพธของ MATCH คือ 2 ดังรูปที2 ตําแหนงของขั้นตอนการทํางานกอนหนาที่ไดมาใน Column G จะใชสําหรับกลไกการชดเชยเวลารองาน โดย การชดเชยเวลาจะพิจารณาจากลําดับของงาน ซึ่งเปนไปได 3 แบบคือ ถาเปนงานใน Operation 1 และ เปนงานแรก เวลาเริ่มตนงานจะเทากับเวลาเริ ่มตนงานแรกที่กําหนดไวใน Cell I3 ดังรูปที2, ถากรณีที่ไมใชงานแรก เวลาเริ่มตนของ งานจะเปนไปได 2 ประการคือ กรณีทํางานใน Work Center เดียวกันและ Work Center ยังไมวาง คืองานมารออยูแลว, เวลาเริ่มตนงาน จะเปนเวลาทันทีทีWork Center นั้นวาง ซึ่งจะหาได จาก Column J

Upload: others

Post on 04-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Serial Run แบบพื้ น ... - Production Scheduling · เวลาทํางาน (Run Hours) ใน Column D, แต ื่เน องจากเวลา ทํางานมีหน

เทคนคิการใช Excel ในการวางแผนการผลิต (Excel Base Finite Scheduling System) – 4 ที่มา: www.production-scheduling.com โดย: สํารวย เปลื้องวัน ([email protected])

Multiple Machines (Serial Run) Scheduling ในบทความตอนแรก (ITR ฉบับ 109) ผูเขียนไดเสนอตัวอยางการวางแผนสําหรับเครื่องจักรหลายเครื่องที่สามารถทํางานแทนกันได (Parallel Run) ฉบับนี้จะขอเสนอการวางแผนสาํหรับงานที่ตองทําผานเครื่องจักรหลายเครื่องตอเนื่องกัน กอนที่จะเสร็จสมบูรณ (Serial Run)

Serial Run แบบพื้นฐาน แบบแรกจะเปนแบบพื้นฐานซึ่งจะยังไมใชปฏทิินการทํางาน โดยจะถือวาเครื่องจักรทํางานตอเนื่องกัน 24-ชั่วโมงตลอดทุกวัน และไมมี Setup Time การกําหนดลําดับและเสนทางเดินของงาน (Job Route) ทุกงานจะเหมือนกันคือ มีการทํางาน 3 Operations โดย Operation 1 ทําที่ Work Center 1 จากนั้นไปทําตอที่ Operation 2 ที่ Work Center 2 และ Operation 3 ที่ Work Center 3 ตามลําดับ

แบบกําหนด ช่ัวโมงทํางาน (Run Hour) เริ่มจากสราง Worksheet ดังรูปที่ 1 เพ่ือกําหนดลําดับการทํางานใหแตละ Work Center, กําหนด Column ตางๆดังนี ้• Column A เปนหมายเลข Work Center • Column B แสดง Job ID ในที่น้ีประกอบดวย Job A,B

และ C • Column C เปน Operation Number ของแตละ Job

โดยที่ Operation 1 ของทุก Job จะอยูที่ W/C 1 สวน Operation ที่ 2 และ 3 อยูที่ W/C 2 และ 2 ตามลําดับ

• Column D เปนชั่วโมงทํางาน (Run Hours) ของแตละ Job ในแตละ Work Center

สิ่งทีต่องคํานึงถึงสําหรับการวางแผนแบบ Serial Run คือ W/C ที่อยูในขัน้ตอนการทํางานลําดับถัดไปจะตองรองานจาก W/C ที่กําลังทํางานในขัน้ตอนการทํางานลําดับกอนหนานั้น (Previous Operation), เชน W/C 2 ตองรอให W/C 1 ทํางานลําดับแรก (Job A) ใหเสรจ็กอนจึงจะเริ่ม

ทํางานในขั้นตอนของตัวเองได ดังนั้นการคํานวณเวลาเริ่มตนและสิ้นสดุงานจะตองมีกลไกที่ใชคนหาและชดเชยเวลารองานที่เกิดข้ึนดวย กลการคํานวณแบงเปนสองขั้นตอนคือ ข้ันแรกหาตาํแหนงของ ข้ันตอนการทาํงานกอนหนา และ จากนัน้ก็เปนการคํานวณเวลาเริม่ตนและสิ้นสดุงานที่มีการชดเชยเวลารองาน เราจะใช MATCH Function ในการหาตําแหนง ของข้ันตอนการทาํงานกอนหนา โดยการทํางานจะอยูใน Column E, F และ G ดังนี้ • Column E - เปนการกําหนดชื่อเฉพาะสําหรบัเปน Key

ในการคนหา โดยจะนําเอา Job ID มารวมกับ Operation Number, ใน Cell E6 ใสสูตรดังน้ี =RIGHT(B6,1)&"/"&C6

• Column F - เปนการกําหนด Key ของข้ันตอนการทํางานกอนหนา โดยทําเหมือน Column E แตลบ Operation Number ดวย 1, ใน Cell F6 ใสสูตรดังนี ้=RIGHT(B6,1)&"/"&(C6-1)

• Column G - เปนการใช MATCH ในการคนหา หลักการคือใช Key ของข้ันตอนการทํางานกอนหนาใน Column F นําไปหาตําแหนงจาก Column E, ใน Cell G6 ใสสตูรดังนี ้ =MATCH(F6,E$6:E$14,FALSE) โดยชวงทีใ่ชในการคนหาคือ จาก E6 ถึง E14 ถามีจํานวนงานมากกวานี้ ก็ตองขยายชวงนี้ออกไปอีก

คาที่ไดจาก MATCH คือหมายเลขบรรทดัของขั้นตอนการทํางานกอนหนา ถาหาไมเจอก็จะใหคา #N/A เชนใน Row ที่ 10 จะเปน Job B ทํางาน Operation ที่ 2 ที่ W/C23 สวนงานในลําดบัการทํางานกอนหนานั้นคืองานของ Job B ใน Operation ที ่1 ซึ่งอยูในบรรทัดที่ 2 ของชวง E6:E14, ดังนั้น ผลลัพธของ MATCH คือ 2 ดังรูปที่ 2

ตําแหนงของขัน้ตอนการทํางานกอนหนาที่ไดมาใน Column G จะใชสําหรับกลไกการชดเชยเวลารองาน โดยการชดเชยเวลาจะพิจารณาจากลําดับของงาน ซึ่งเปนไปได 3 แบบคือ ถาเปนงานใน Operation 1 และ เปนงานแรก เวลาเริ่มตนงานจะเทากับเวลาเริ่มตนงานแรกที่กําหนดไวใน Cell I3 ดังรูปที ่2, ถากรณีที่ไมใชงานแรก เวลาเริ่มตนของงานจะเปนไปได 2 ประการคือ • กรณีทํางานใน Work Center เดียวกันและ Work

Center ยังไมวาง คืองานมารออยูแลว, เวลาเริ่มตนงานจะเปนเวลาทันทีที่ Work Center น้ันวาง ซึ่งจะหาไดจาก Column J

Page 2: Serial Run แบบพื้ น ... - Production Scheduling · เวลาทํางาน (Run Hours) ใน Column D, แต ื่เน องจากเวลา ทํางานมีหน

• กรณีที่งานในลาํดับการทํางานกอนหนานั้นยังไมเสร็จ แตวา Work Center วางอยู เวลาเริ่มตนของงาน คือเวลาเสรจ็งานในลําดับการทํางานกอนหนา ซึ่งจะหาไดจาก Column H

กลไกการคํานวณจะทํางานรวมกันระหวาง Column H, I, และ J เปน Nest Condition ดังนี ้• Column H – หาเวลาสิ้นสดุของการทํางานในขั้นตอน

การทํางานลําดบักอนหนา, ใน Cell H6 ใสสูตรดังนี ้=IF(ISERROR(G6),1,INDEX(J$6:J$14,G6,1)) จากสตูรถาคาใน Column G เปนคา #N/A Error แสดงวาเปนงานใน Operation ที่ 1 ใหใสวันที่เทากับ 1, ถาไมใชจะใช INDEX Function หาคาเวลาสิ้นสุดงาน โดยใชคาตําแหนงของงานในในขั้นตอนการทํางานลาํดับกอนหนาจาก Column G ไปคนหาใน Column J เชนตัวอยาง Row 10 เปนงาน JOB B - Operation 2 ที่ W/C 2, เม่ือใช INDEX Function คนหาคาของลําดับที่ 2 ในชวง J6:J14 จะไดเปนเวลาสิ้นสดุงานของ Job B - Operation 1 ที่ W/C 1 เทากับ 6/21/03 1:00

• Column I – คํานวณเวลาเริ่มตนงาน จากกลไกการชดเชยเวลาที่กลาวถึงขางตน สามารถเขียนเปนสตูรใสใน Cell I6 ไดดังนี ้=MAX(IF(A6=A5,J5,$I$3),H6) เง่ือนไข IF จะตรวจสอบวาเปนงานแรกใน Work Center น้ันหรือไม ถาใชจะใชเวลาจาก Cell I3 ถาไมใชจะใชเวลาที่ Work Center น้ันเสร็จงาน, ในขณะเดียวกัน MAX Function จะเปรียบเทียบเวลาที่ไดจาก IF Function กับเวลาสิ้นสุดงานใน Column H และเลือกใชอันที่นานที่สดุ ตัวอยางเชนใน Cell I10, W/C 2 ทํางานแรกเสร็จเมื่อเวลา 6/20/03 11:00 แตไมสามารถทํางานตอไดเน่ืองจากรองานที่จะตองสงมาจาก W/C 1 ซึ่งเสรจ็เวลา 6/21/03 1:00 ดังนั้นเวลา 6/21/03 1:00 จึงเปนเวลาเริ่มงานของ JOB 2 ใน Cell I10

• Column J - คือเวลาสิ้นสุดของงาน ไดแก เวลาเริ่มตนงานใน Column J บวกดวยเวลาทํางาน (Run Hours) ใน Column D, แตเน่ืองจากเวลาทํางานมหีนวยเปนชั่วโมง จึงตองแปลงใหเปนวันเสียกอนโดยหารดวย 24 ดังนั้นใน Cell K6 ใหใสสตูรดงันี้ =J6+(D6/24)

• Column K – เปนการคํานวณเวลาที่ Work Center น้ันอยูในสภาวะรองาน (IDEAL) โดยกรณีที่เปน Work Center เดียวกันใหเอาเวลาเริ่มตนงานลบดวยเวลาสิ้นสดุงานของงานกอนหนา แตถาเปนงานแรกของ Work Center น้ันตองเอาเวลาเริ่มตนงานลบดวยเวลาเริ่มตนของงานแรกใน I3 แทน, ใน Cell K6 ใสสูตรดังนี ้=(I6-IF(A6=A5,J5,$I$3))*24

ข้ันสุดทายคือการนําเวลาเริม่ตน-สิ้นสุดงานทีค่ํานวณไดไปสรางเปน Gantt-Chart

จากที่เคยกลาวไปแลวในบทความตอนที่สาม Gantt Chart ประกอบดวยสวนสําคญัสองสวนคือ Time Line ที่ใชกําหนดชวงเวลา และ สวนที่เปน Bar Graph ที่ใชแสดง Job Schedule เราจะเริ่มจากการสราง Time Line กอน โดยจะแบงการทํางานในแตละวันเปนสามชวงๆละ 8 ชั่วโมง ชวงแรกเริ่มจากเวลาเทีย่งคืน 00:00 ถึง 08:00, ชวงที่สอง 08:00-16:00, และชวงที่สาม 16:00-24:00 เริ่มจากกําหนดชั่วโมงทํางานในแตละชวงเสียกอน เน่ืองจาก Time Line มีหนวยเปนวันดังนั้นใน Cell L2 ใหใสสูตร =8/24 จากนั้น Copy ไปยัง Cell อ่ืนๆใน Row ที่ 2 ดังรูปที่ 3

เพ่ือให Time Line สามารถปรบัตัวเองไดใน Cell แรกจะอางอิงจาก Cell I3 ซึ่งเปนตัวกําหนดเวลาเริม่ตนทาํงานของงานแรก, ใน Cell L5 ใสสตูร =INT(I3) โดย INT Function ใชสาํหรับปดเศษของชั่วโมงลง ชั่วโมงทํางานสะสมในแตละชวงจะกําหนดใน Row ที่ 5, โดยการนําชั่วโมงทํางานสะสมของชวงเวลากอนหนาบวกดวยชั่วโมงทํางานในชวงเวลานั้นๆ, ใน Cell M5 ใสสตูร =L5+L2 จากนัน้ Copy ไปยัง Cell อ่ืนๆใน Row ที่ 5, เม่ือกําหนด Format ใหกับ Row 5 ใหเปนแบบ Time HH:MM จะได Time Line ดังรูปที่ 4

จากรูป 4 ใน Row 4 แสดงเปนวันที่เพ่ือใชอางอิงวันทํางาน สรางโดยใชวิธีเดียวกับ Row 5, ใน Cell L4 ใสสตูร =INT(I3) สวน O4 ใสสตูร =L4+1 จากนั้น Copy สูตรจาก O4 ไปยัง R4 และ U4 เม่ือกําหนด Format ใหเปนแบบ Date จะไดวันที่ดังรูป จากนั้นก็มาถึงการสราง Bar Graph เพ่ือแสดงแผนการทํางาน ในตัวอยางนี้เราจะให Bar Graph แสดงจํานวนชั่วโมงทํางานที่ตองการสําหรบังานนั้นๆ หลักการก็ยังคงเหมือนเดิมคือใชการเปรยีบเทยีบเวลาเริ่มตน-สิ้นสดุงาน กับเวลาใน Time Line ถางานนั้นอยูตรงกับชวงเวลาใน Time Line ก็ใหแสดงเปนตัวเลขจํานวนชั่วโมงทํางาน

Page 3: Serial Run แบบพื้ น ... - Production Scheduling · เวลาทํางาน (Run Hours) ใน Column D, แต ื่เน องจากเวลา ทํางานมีหน

ใน Cell L6 ใสสูตรดังนี ้=IF( OR ( $J6<=L$5 , $I6>=M$5 ) , "" , IF( AND ( $I6>=L$5 , $J6<=M$5 ) , $D6/24, IF( AND ( $I6>=L$5 , $I6<M$5 ) , M$5-$I6, IF( AND ( $J6>L$5 , $J6<M$5 ), $J6-L$5,L$2 ))) *24) โดย Function IF ทั้งสีท่ํางานรวมกันโดยเริ่มจากเงื่อนไขที่อยูในวงเล็บในสุดกอนดังนี ้• IF ตัวสดุทายเปรียบเทยีบวา ถางานเสร็จภายในวันนั้น

ใหแสดงเวลาทีใ่ชทํางานในวันนั้น โดยลบเวลาสิ้นสุดงานดวยชั่วโมงทํางานสะสมเมือ่เริ่มตนวัน ดังรปู 5.1

• IF ตัวทีส่ามเปรยีบเทียบวา ถางานเริ่มตนภายในวันนั้นแตไมไดเสร็จภายในวันนั้น ใหแสดงเวลาที่ใชทํางานในวันนั้น โดยลบชั่วโมงทํางานสะสมเมื่อสิ้นสดุวันดวยเวลาเริ่มตนงาน ดังรูป 5.2

• IF ตัวทีส่องเปรยีบเทียบวา ถางานเริ่มตนและสิ้นสดุภายในวันนั้น ใหแสดงคาเวลาทํางาน (Run Time) ดังรูป 5.3

• IF ตัวแรกเปรยีบเทียบวาถางานเสร็จกอนวันนัน้ หรือ เริ่มหลังวันนั้น ใหแสดงคา Blank ดังรปู 5.4

สังเกตวาผลลพัธที่ไดจะมีหนวยเปนวัน ดังนัน้จึงตองทาํการแปลงใหเปนชั่วโมงเสียกอนโดยการคูณผลลัพธทั้งหมดดวย 24

สังเกตวาผลลพัธที่ไดจะมีหนวยเปนวัน ดังนัน้จึงตองทาํการแปลงใหเปนชั่วโมงเสียกอนโดยการคูณผลลัพธทั้งหมดดวย 24 ข้ันสุดทายคือการระบายสีใหกับ Chart โดยใชคําสั่ง Conditional Formatting … กําหนดเงื่อนไข “Forumular Is” =IsNumber(L6) เม่ือเลือกสีทีต่องการ และ Copy สูตร จาก L6 ไปยัง Cell อ่ืนๆก็จะได Gantt Chart ที่สมบูรณดังรูปที ่4

ข้ันสุดทายคือการระบายสีใหกับ Chart โดยใชคําสั่ง Conditional Formatting … กําหนดเงื่อนไข “Forumular Is” =IsNumber(L6) เม่ือเลือกสีทีต่องการ และ Copy สูตร จาก L6 ไปยัง Cell อ่ืนๆก็จะได Gantt Chart ที่สมบูรณดังรูปที ่4

แบบกําหนด อัตราการผลติ (Production Rate)แบบกําหนด อัตราการผลติ (Production Rate) ตัวอยางที่แลวเปนลักษณะ Job Shop scheduling กลาวคือ การทาํงานในแตละข้ันตอนจะระบุเปนเวลาทํางาน (Run Hours) ที่ตองการ ในตวัอยางถดัไปจะเปนการทํางานในลักษณะ Repetitive scheduling ทีนิ่ยมระบุจํานวนมาตรฐานที่สามารถผลติไดในหนึ่งหนวยเวลา (Production Rate [Standard Unit / Hour]) จากตัวอยางทีแ่ลว นํามาปรับปรุงเพ่ิมเติมเพ่ือใหสามารถกําหนดเวลาทํางานจากอัตราการผลิต, ใชคําสั่ง Insert เพ่ิม Column D, E ดังรูปที่ 6 • Column D ใชกําหนด จํานวนที่ตองการผลิต • Column E ใชกําหนดอัตราการผลิต (Unit/Hour) • Column F เปลี่ยนเปนการคํานวณเวลาทํางานโดยใส

สูตร =D6/E6 ใน F6 จากนั้น Copy ไปยัง Cell อ่ืนๆ สวนใน Column G, H, I ไมมีอะไรเปลี่ยนแปลง สังเกตวาถาเราใชคาํสั่ง Inset Column คาของสูตรตางๆจะทําการปรับตัวเองอัตโนมัต ิ

ในตัวอยางทีแ่ลว การทํางานในลําดับหลัง (Downstream process) จะตองรองานจากการทาํงานลําดับกอนหนา (Upstream process) แตในการทาํงานแบบ Repetitive Production ในตัวอยางนี้ เราสามารถลดเวลารองาน (Queue Time) ลงไดโดยแบงงานเปน Lot หรือ Batch ยอย เรียกวา Transfer Batch และทําการสงงานตอไปยังข้ันตอนตอไปทนัทีทีส่ามารถผลิตไดตามจาํนวนที่กําหนดใหเปน Transfer batch size เพ่ือใหงายตอการทาํความเขาใจ ในตวัอยางนี้จะกําหนด ขนาดของ Transfer Batch ใหเปนชวงเวลา 1 ชั่วโมงเทาๆกัน, กลาวคือ เม่ือ W/C เริ่มทาํงานไปได 1 ชั่วโมงก็จะทาํการขนยายงานไปทํายังข้ันตอนตอไปทนัที โดยไมตองรอใหจบกระบวนการ, ซึ่งจะมีผลทําให Queue Time และ Work-In-Process ระหวางกระบวนการมีคาสูงสดุที่เปนไปไดคือ 1 ชั่วโมง ในทํานองเดยีวกันเมื่อพิจารณาที่กระบวนการทํางานในข้ันตอนสุดทาย, เน่ืองจากงานที่รอยูใน Queue จะไมเกิน 1

Page 4: Serial Run แบบพื้ น ... - Production Scheduling · เวลาทํางาน (Run Hours) ใน Column D, แต ื่เน องจากเวลา ทํางานมีหน

ชั่วโมง ดังนั้นในที่น้ีจะกําหนดใหงานในขั้นตอนสุดทายสิ้นสดุหลังจากงานในลําดับกอนหนา 1 ชั่วโมงเชนกัน ตอไปเปนการปรับปรุงกลไกการคํานวณเวลาเริ่มตน-สิ้นสดุงาน ใหสามารถคํานวณการทาํงานแบบมี Transfer Batch ได, ใชคําสั่ง Insert เพ่ิม Column J และ O ดังรูปที่ 7 • Column J สําหรับ หาเวลาเริม่ตนของการทาํงานใน

ข้ันตอนการทาํงานลําดับกอนหนา บวกดวย เวลาของ Transfer Batch, ผลที่ไดจะใชเปนเวลาสําหรบัเริ่มตนงานในลําดับถดัไป, ใน Cell J3 กําหนดใหเปน Cell อางอิงสําหรับเวลาของ Transfer Batch ในทีน้ี่กําหนดใหเปน 1 ชั่วโมง ดังรูปที่ 7 ใสสูตรใน J6 ดงันี้

=IF( ISERROR(I6) , 0, INDEX( L$6:L$14, I6 , 1 ) + (J$3/24))

สูตรทีใ่ชจะทํางานแบบเดียวกับ สูตรใน Column H จากตัวอยางที่แลว กลาวคือ, ถาคาใน Column I เปนคา #N/A Error แสดงวาเปนงานใน Operation ที่ 1 ใหใสวันที่เทากับ 0, ถาไมใชจะใช INDEX Function หาคาเวลาเริ่มตนงานของงานกอนหนา โดยใชคาตําแหนงของงานในในขั้นตอนการทํางานลาํดับกอนหนาจาก Column I ไปคนหาใน Column L, เม่ือไดมาแลว ก็บวกดวยเวลาของ Transfer Batch ซึ่งก็คือ J3/24

• Column K สูตรเดิมเปนการหาเวลาสิ้นสุดงานของงานในลําดับกอนหนา, เราจะทําการเพิ่มเติมโดยบวกเวลาของ Transfer Batch เพ่ือใชเปนเวลาสิ้นสุดงาน, มีสูตรใน Cell K6 ดังนี้ = IF( ISERROR(I6), 1, INDEX( M$6:M$14, I6, 1 ) + (J$3/24))

สองบรรทดัแรกยังคงเดิม แตเพ่ิมเติมในบรรทดัทีส่ามเพื่อบวกเวลา Transfer Batch เขาไป • Column L และ M ทําการแกไขสูตรเพ่ือใชเวลา

เริ่มตน-สิ้นสุดงานที่ไดจากการคํานวณใน Column J และ K ดังนี้ Cell L6 สูตรคือ =MAX(IF(A6=A5,M6,$L$3),J6) Cell M6 สูตรคอื =MAX(L6+(F6/24),K6)

สวน Column N การคํานวณเวลาที่ Work Center น้ันอยูในสภาวะรองาน สูตรยังคงเดิม สังเกตวา เวลาที่ Work Center ไมไดทํางานลดลงเทากับจํานวนทีกํ่าหนดใหเปน Transfer Batch, เชนใน Cell N9 เปน 1 ชั่วโมง ในตัวอยางนี้ ถาผูอานยอนกลบัไปดูรูปที่ 6 ใน Column E (Production Rate) จะเห็นวา การทํางานใน Operation ที่ 1 ของทุกๆ Product จะชาทีส่ดุ, ดังนั้นจึงเปนจุดคอขวด

(Bottle Neck) ของระบบ, กลาวคือ ความเร็วของระบบที่อยูหลังจากจดุคอขวดจะไมสามารถทํางานไดเรว็ไปกวานี้ได, จากตัวอยาง W/C 2 จะมีการทาํงาน-หยุดรองาน สลับกันไปตลอด เน่ืองจาก W/C 2 ทํางานไดเร็วกวา W/C 1 การที่มีอัตราการผลิตที่ตางกันจะทาํใหการคํานวณจํานวนงานทีผ่ลิตไดในแตละชวงเวลาที่จะใชแสดงใน Gantt Chart ผิดพลาดได, ดังนั้นจึงตองมีการคํานวณอัตราการผลติทีท่ําไดจรงิ เสียกอน • Column O จะเปนการคํานวณอัตราการผลิตที่ทาํได

จริงๆ โดยการหาคาเฉลี่ยของผลผลติตอหนึ่งชั่วโมง จากการนําจาํนวนที่ตองผลติใน Column D หารดวยจํานวนชั่วโมงที่ใชไปในการผลิต ซึ่งเทากับ เวลาสิ้นสดุงาน ลบดวย เวลาเริ่มตนงาน, สตูรใน Cell O6 คือ = D6 / ((M6-L6)*24)

ข้ันสุดทายคือการปรับสูตรใน Gantt Chart ใหสามารถแสดงจํานวนผลผลติที่ทําไดในแตละชวงเวลา โดยหลักการเหมือนกับในตวัอยางทีแ่ลว ตางกันตรงที่ในขัน้สุดทายใหนําจํานวนชัว่โมงทํางานที่คํานวณไดมาคูณกับอัตราการผลติเฉล่ียใน Column O, สูตรใน Cell P6 ปรับใหมเปนดังนี ้= IF( OR($M6<=P$5,$L6>=Q$5), "", IF( AND($L6>=P$5,$M6<=Q$5), $F6/24, IF( AND($L6>=P$5,$L6<Q$5), Q$5-$L6, IF( AND($M6>P$5,$M6<Q$5), $M6-P$5,P$2)))*24 * $O6)

เม่ือเสร็จแลวจะได Gantt Chart ที่สมบรูณดงัรูป 8, สังเกตวา อัตราการผลิตเฉลี่ยใน W/C 1 จะเทากับอัตราการผลิตใน Column E แตสําหรับ W/C 2 และ W/C 3 อัตราการผลติไดปรับลงมาอยูในระดับเดียวกับ W/C 1 ซึ่งเปนผลจากการที่ W/C 1 เปนคอขวดของระบบดังที่กลาวไปแลว

แบบมี Transfer Batch Size เราไดเรียนรูการกําหนดขนาดของ Transfer Batch อยางงายจากตัวอยางที่แลว, ในตัวอยางนี้จะเปนการกําหนดขนาดของ Transfer Batch เปนจํานวนของ Product ใหเหมือนกับการทํางานในโรงงานจริงๆ พิจารณา Lag Time สําหรับงาน Batch แรก (รูป 9 บน) งานใน W/C 2 จะเริ่มหลังจาก W/C 1 ทํางานลําดับแรกเสร็จเปนจํานวนเทากับขนาดของ Transfer Batch ที่กําหนด รวมเวลาขนยาย, เชนจากรูป W/C 1 เริ่มงานเวลา 00:00 และทํางาน Batch แรกเสร็จเวลา 01:13, เวลาทีใ่ชในการขนยายคอื 5 นาท ีดังนัน้ W/C 2 จะสามารถเริ่มงาน Batch แรกของตัวเองไดที่ 01:18 พิจารณา Lag Time สําหรับงานใน Batch สดุทาย, W/C 2 จะเสร็จงานหลงัจาก W/C 1 เสรจ็งาน เปนเวลาเทากับ เวลาขนยายงาน บวกกับ เวลาที่ W/C 2 ใชไปในการ

Page 5: Serial Run แบบพื้ น ... - Production Scheduling · เวลาทํางาน (Run Hours) ใน Column D, แต ื่เน องจากเวลา ทํางานมีหน

ทํางานใน Batch สุดทายจนเสร็จ, ดังรูปที่ 9 ลาง, W/C 1 เสร็จงานเวลา 00:00 ขนยาย 5 นาที W/C 2 ใชเวลาทํางาน 34 นาที ดังนั้น W/C 2 จะทํางานเสรจ็เวลา 00:39

จากตัวอยางทีแ่ลวเราจะทําการปรับปรุงเพ่ิมเติมกลไกการคํานวณ First Batch Lag Time และ Last Batch Lag Time เพ่ือใหระบบสามารถรองรับ Batch Size ขนาดตางๆกันได ดังน้ี เริ่มจากใชคําสัง่ Insert เพ่ิม Column J, K, L, M เพ่ือใชเปนกลไกการคาํนวณ Lag Time จากนั้นใชคําสั่ง Insert เพ่ิม Row สําหรบัสรางตารางกําหนดขนาดของ Transfer Batch แยกตาม Product ดังรปูที่ 10 ใน Column L และ M

• Column J - เปนขนาดของ Batch แรก สําหรบั Product น้ันๆซึ่งไดมาจากตารางในชวง L3:M5, ใน Cell J10 ใสสูตรดังนี ้=VLOOKUP( B10, $L$3:$M$5, 2) โดยใช Column B (Product Name) เปน Key ในการคนหา

• Column K – เปนคา Lag Time สําหรับงาน Batch แรกซึ่งเทากับ เวลาที่ข้ันตอนกอนหนาใชเพ่ือทําการผลติงาน Batch แรก (หาไดจากขนาดของ Batch หารดวยอัตราการผลิต) และ รวมกับเวลาที่ใชในการเคลื่อนยายงาน ดังรูปที่ 9 บน, ใน Cell J10 ใสสตูรดังนี ้= IF( ISERROR(I10), 0, (J10 / INDEX( E$10:E$18, $I10)) + (M$7/60)) ISSERROR Function ใชตรวจสอบวาเปนงานใน Operation แรกหรือไม, ถาใชใหใสศูนย ถาไมก็นําขนาดของ Batch หารดวยอัตราการผลติที่ไดจาก INDEX Function แลวบวกดวยเวลาในการเคลื่อนยายงาน

• Column L – เปนขนาดของ Batch สุดทายซึ่งเปนไปไดที่จาํนวนงานที่เหลืออยูอาจจะไมเต็มตามจํานวนที่กําหนดใหเปน Transfer Batch, ใน Cell L10 ใสสูตรดังนี ้= IF(MOD(D10, J10), MOD(D10, J10) , J10 ) MOD ตัวแรกเปนการตรวจสอบวาขนาดของ Batch สุดทายเทากับขนาดของ Standard Batch หรือไม, ถาเทา MOD Function จะใหคาเปน 0, MOD ตัวทีส่องจะเปนการหาขนาดของ Batch ในกรณีที่ Batch สุดทายไมเทากับ Standard Batch

• Column M – เปนคา Lag Time สําหรับ Batch สุดทาย เทากับเวลาที่ใชไปสาํหรับทํางานใน Batch สุดทาย (จํานวนที่เหลืออยูหารดวยอัตราการผลติ) บวกดวยเวลาในการเคลื่อนยายงาน ดังรูปที่ 9 ลาง, ใน Cell M10 ใสสตูรดังนี ้= (L10/E10) + (M$7/60)

• Column N – ใหแกไขสูตรใน Cell N10 ดังนี ้= IF( ISERROR( I10 ), 0, INDEX( P$10:P$18, I10, 1 ) +( K10/24 ) สองบรรทดัแรกยังคงเดิม เปลีย่นเฉพาะบรรทดัสดุทายใหบวกคา First Batch Lag Time ที่ไดจากการคํานวณใน Column K แทน

• Column O – ใหแกไขสูตรใน Cell M10 ดังนี ้=IF( ISERROR( I10 ), 1, INDEX( Q$10:Q$18, I10, 1 ) +( M10/24 )) สองบรรทดัแรกยังคงเดิม เปลีย่นเฉพาะบรรทดัสดุทายใหบวกคา Last Batch Lag Time ที่ไดจากการคํานวณใน Column M แทน

เสร็จแลวจะไดเปนแผนการทํางานสําหรับ Repetitive Production แบบมี Transfer Batch ขนาดตางกันดังรูปที่ 11

Page 6: Serial Run แบบพื้ น ... - Production Scheduling · เวลาทํางาน (Run Hours) ใน Column D, แต ื่เน องจากเวลา ทํางานมีหน

สรุป ในบทความตอนที่สี่น้ีกลาวถึง การสราง Schedule สําหรับงาน Serial Run แบบไมมีปฏทิินการทํางาน และ เทคนิคที่จําเปนในการคาํนวณ Lag Time สําหรับงานที่มี Transfer Batch, ซึ่งเนื้อหาทั้งหมดครอบคลุม Section 20-22 ในโปรแกรมตัวอยาง Scheduling_Excel.xls สามารถ Download ไดที่ www.production-scheduling.com ถาตองการโปรแกรมตัวอยางของผูเขียนก็สามารถ email มาขอไดที่ [email protected] โดยระบุ Subject วา Request Excel Sch – 4 สําหรับตอนตอไปจะเปนงาน Serial Run แบบมีปฏิทินการทํางาน