การจัดตารางงานที่เหมาะสมที่สุด
การจัดตารางงานที่เหมาะสมที่สุด เป็น ปัญหาการหาค่าเหมาะสมที่สุดประเภทหนึ่งที่เกี่ยวข้องกับการจัดตารางเวลาข้อมูลนำเข้าของปัญหาเหล่านี้คือรายการงาน (เรียกอีกอย่างว่ากระบวนการหรือภารกิจ ) และรายการเครื่องจักร (เรียกอีกอย่างว่าตัวประมวลผลหรือคนงาน ) ผลลัพธ์ที่ต้องการคือตารางเวลา – การจัดสรรงานให้กับเครื่องจักร ตารางเวลาควรหาค่าเหมาะสมที่สุด ของ ฟังก์ชันเป้าหมาย ที่กำหนด ในเอกสารทางวิชาการ ปัญหาการจัดตารางงานที่เหมาะสมที่สุดมักถูกเรียกว่าการจัดตารางเครื่องจักรการจัดตารางตัวประมวลผลการจัดตารางมัลติโปรเซสเซอร์ การปรับสมดุลภาระงานหรือเพียงแค่การจัดตารางเวลา
มีปัญหาการจัดตารางงานที่เหมาะสมที่สุดมากมาย ซึ่งแตกต่างกันในลักษณะของงาน ลักษณะของเครื่องจักร ข้อจำกัดในการจัดตาราง และฟังก์ชันเป้าหมายRonald Graham , Eugene Lawler , Jan Karel LenstraและAlexander Rinnooy Kanได้นำเสนอสัญกรณ์ ที่สะดวกสำหรับปัญหาการจัดตารางงานที่เหมาะสมที่สุด [ 1 ] [ 2 ] สัญกรณ์ นี้ประกอบด้วยสามส่วน ได้แก่α , βและγแต่ละส่วนอาจเป็นรายการคำที่คั่นด้วยเครื่องหมายจุลภาค ส่วน α อธิบายสภาพแวดล้อมของเครื่องจักร β อธิบายลักษณะและข้อจำกัดของงาน และ γ อธิบายฟังก์ชันเป้าหมาย[ 3 ]นับตั้งแต่มีการนำเสนอในปลายทศวรรษ 1970 สัญกรณ์นี้ได้รับการขยายอย่างต่อเนื่อง บางครั้งก็ไม่สอดคล้องกัน ส่งผลให้ในปัจจุบันมีปัญหาบางอย่างที่ปรากฏพร้อมสัญกรณ์ที่แตกต่างกันในเอกสารหลายฉบับ
งานแบบขั้นตอนเดียวเทียบกับงานแบบหลายขั้นตอน
ในปัญหาการจัดตารางงานที่เหมาะสมที่สุดแบบง่ายๆ งานแต่ละงานjจะประกอบด้วยขั้นตอนการดำเนินการเพียงขั้นตอนเดียว โดยมีเวลาประมวลผลที่กำหนดไว้p ในรูปแบบที่ซับซ้อนกว่านั้น งานแต่ละงานจะประกอบด้วยขั้นตอนการดำเนินการหลายขั้นตอน ซึ่งอาจดำเนินการตามลำดับหรือพร้อมกันก็ได้
สภาพแวดล้อมของเครื่องจักร
ในปัญหาการจัดตารางงานแบบขั้นตอนเดียวมีสภาพแวดล้อมของเครื่องจักรหลักๆ สี่ประเภท:
- 1 : การจัดตารางงานสำหรับเครื่องจักรเดี่ยวมีเครื่องจักรเพียงเครื่องเดียว
- P : การจัดตารางเวลาเครื่องจักรที่เหมือนกันมีอยู่เครื่องจักรคู่ขนาน และเครื่องจักรเหล่านั้นเหมือนกันทุกประการ งานต้องใช้เวลาบนเครื่องใดก็ได้ที่กำหนดไว้
- ถาม : การจัดตารางงานเครื่องจักรแบบเดียวกันมีอยู่กี่แบบเครื่องจักรคู่ขนาน และมีอัตราเร็วที่กำหนดแตกต่างกัน งานบนเครื่องต้องใช้เวลา.
- R : การจัดตารางเวลาเครื่องจักรที่ไม่เกี่ยวข้องกันมีอยู่เครื่องจักรคู่ขนาน และไม่มีความเกี่ยวข้องกัน – จ็อบบนเครื่องต้องใช้เวลา.
ตัวอักษรเหล่านี้อาจตามด้วยจำนวนเครื่องจักร ซึ่งเป็นค่าคงที่ ตัวอย่างเช่นP2แสดงว่ามีเครื่องจักรคู่ขนานที่เหมือนกันสองเครื่องPmแสดงว่ามีเครื่องจักรคู่ขนานที่เหมือนกันm เครื่อง โดยที่ mเป็นพารามิเตอร์คงที่ ในทางตรงกันข้ามPแสดงว่ามี เครื่องจักรคู่ขนานที่เหมือนกัน m เครื่องแต่mไม่ได้ถูกกำหนดตายตัว (เป็นส่วนหนึ่งของข้อมูลป้อนเข้า)
ในปัญหาการจัดตารางงานแบบหลายขั้นตอนมีตัวเลือกอื่นๆ สำหรับสภาพแวดล้อมของเครื่องจักร:
- O : ปัญหาการเปิดร้านค้าทุกงานประกอบด้วยการดำเนินงานสำหรับสามารถกำหนดลำดับการดำเนินการได้ตามต้องการการดำเนินการต้องดำเนินการสำหรับหน่วยบนเครื่องจักร.
- F : ปัญหาการผลิตแบบ Flow-shopทุกงานประกอบด้วยการดำเนินงานสำหรับโดยจะจัดลำดับตามที่ระบุไว้การดำเนินการต้องดำเนินการสำหรับหน่วยบนเครื่องจักร.
- J : ปัญหาโรงงานผลิตสินค้าตามสั่งทุกงานประกอบด้วยการดำเนินงานสำหรับโดยจะกำหนดตารางเวลาตามลำดับนั้น ปฏิบัติการต้องดำเนินการสำหรับหน่วยบนเครื่องจักรเฉพาะกับสำหรับ.
ลักษณะงาน
โดยทั่วไปแล้ว เวลาในการประมวลผลทั้งหมดจะถือว่าเป็นจำนวนเต็ม อย่างไรก็ตาม ในเอกสารงานวิจัยเก่าบางฉบับ ถือว่าเป็นจำนวนตรรกยะ
- , หรือ: ระยะเวลาในการประมวลผลเท่ากันสำหรับทุกงาน
- , หรือ: เวลาในการประมวลผลเท่ากับ 1 หน่วยเวลาสำหรับงานทั้งหมด
- : สำหรับแต่ละงาน จะมีการกำหนดเวลาปล่อยงาน ซึ่งจะไม่สามารถกำหนดเวลาทำงานได้ก่อนเวลานั้น โดยค่าเริ่มต้นคือ 0
- : ปัญหาที่เกิดขึ้นในระบบออนไลน์ งานต่างๆ จะปรากฏขึ้นตามเวลาที่ประกาศ ดูข้อมูลเพิ่มเติมได้ที่ การ จัดตารางงานออนไลน์
- : สำหรับแต่ละงานจะมีกำหนดส่งงาน แนวคิดคือทุกงานควรเสร็จก่อนกำหนดส่ง และจะมีบทลงโทษสำหรับงานที่เสร็จช้ากว่ากำหนด บทลงโทษนี้จะแสดงอยู่ในค่าเป้าหมาย การมีอยู่ของลักษณะงานโดยปริยายจะถือว่าเข้าใจอยู่แล้วและไม่ได้ระบุไว้ในชื่อของปัญหา เว้นแต่จะมีข้อจำกัดบางประการ เช่นโดยสมมติว่าวันครบกำหนดทั้งหมดเท่ากับวันที่กำหนดไว้
- : แต่ละงานจะมีกำหนดเวลาที่แน่นอน ทุกงานต้องเสร็จก่อนกำหนดเวลา
- pmtn : งานสามารถถูกขัดจังหวะและกลับมาดำเนินการต่อได้บนเครื่องอื่น บางครั้งอาจใช้สัญลักษณ์ ' prmp' แทน'.
- แต่ละงานจะมีจำนวนเครื่องจักรที่ต้องจัดตารางการทำงานพร้อมกัน โดยค่าเริ่มต้นคือ 1 พารามิเตอร์นี้มีความสำคัญในรูปแบบที่เรียกว่าการจัดตารางงานแบบขนาน (parallel task scheduling )
ความสัมพันธ์ลำดับความสำคัญ
งานสองชิ้นแต่ละคู่ อาจมีหรือไม่มีความสัมพันธ์ลำดับก่อนหลังก็ได้ ความสัมพันธ์ลำดับก่อนหลังระหว่างงานสองชิ้นหมายความว่า งานชิ้นหนึ่งต้องเสร็จก่อนอีกชิ้นหนึ่ง ตัวอย่างเช่น ถ้างาน i เป็นงานที่ต้องทำก่อนงาน j ในลำดับนั้น งาน j จะสามารถเริ่มต้นได้ก็ต่อเมื่องาน i เสร็จสมบูรณ์แล้วเท่านั้น
- prec : ไม่มีข้อจำกัดใดๆ เกี่ยวกับความสัมพันธ์ลำดับความสำคัญ
- ลำดับขั้น : งานแต่ละงานเป็นงานก่อนหน้าของงานอื่นได้ไม่เกินหนึ่งงาน และมีงานอื่นนำหน้าได้ไม่เกินหนึ่งงานเช่นกัน
- โครงสร้างต้นไม้:ความสัมพันธ์ลำดับความสำคัญต้องเป็นไปตามข้อจำกัดข้อใดข้อหนึ่งจากสองข้อนี้
- โครงสร้างข้อมูลแบบต้นไม้:แต่ละโหนดเป็นโหนดก่อนหน้าของงานอื่นได้ไม่เกินหนึ่งงาน
- โครงสร้างแบบเอาท์ทรี:แต่ละโหนดจะมีงานอื่นนำหน้าไม่เกินหนึ่งงาน
- ป่าตรงข้าม:หากกราฟความสัมพันธ์ลำดับความสำคัญถูกแบ่งออกเป็นส่วนประกอบที่เชื่อมต่อกันส่วนประกอบที่เชื่อมต่อกันแต่ละส่วนจะเป็นได้ทั้งต้นไม้ขาเข้าหรือต้นไม้ขาออก
- กราฟ sp:กราฟแสดงความสัมพันธ์ลำดับก่อนหลังคือกราฟอนุกรมขนาน
- ความสูงที่จำกัด : ความยาวของเส้นทางแบบมีทิศทางที่ยาวที่สุดจะถูกจำกัดไว้ที่ค่าคงที่ (เส้นทางแบบมีทิศทางคือลำดับของงานที่แต่ละงานยกเว้นงานสุดท้ายเป็นงานก่อนหน้าของงานถัดไปในลำดับ)
- ลำดับระดับ : งานแต่ละงานจะมีระดับ ซึ่งเป็นความยาวของเส้นทางตรงที่ยาวที่สุดที่เริ่มต้นจากงานนั้น งานแต่ละงานที่มีระดับเป็นงานขั้นพื้นฐานสำหรับทุกงานที่มีระดับ.
- ลำดับช่วงเวลา : งานแต่ละงานมีช่วง[ s , e )และงานเป็นบรรพบุรุษของก็ต่อเมื่อจุดสิ้นสุดของช่วงเวลาน้อยกว่าจุดเริ่มต้นของช่วงเวลาอย่างเคร่งครัดสำหรับ.=
ในกรณีที่มีความสัมพันธ์ลำดับก่อนหลัง เราอาจสมมติช่วงเวลาหน่วง เพิ่มเติม ได้ ช่วงเวลาหน่วงระหว่างงานสองงานคือระยะเวลาที่ต้องรอหลังจากงานแรกเสร็จสมบูรณ์ก่อนที่งานที่สองจะเริ่มต้นได้ กล่าวคือ ถ้างาน i มาก่อนงาน j แล้วต้องเป็นความจริง หากไม่มีความล่าช้าของเวลาหากระบุค่าใดค่าหนึ่ง จะถือว่าค่านั้นเป็นศูนย์ ค่าความหน่วงเวลาอาจเป็นค่าลบได้เช่นกัน ค่าความหน่วงเวลาที่เป็นลบหมายความว่างานที่สองสามารถเริ่มต้นได้ในเวลาที่กำหนดก่อนที่งานแรกจะเสร็จสิ้น
- ℓ : ช่วงเวลาหน่วงเท่ากันสำหรับงานแต่ละคู่
- งานแต่ละคู่สามารถมีช่วงเวลาหน่วงที่แตกต่างกันได้
ความล่าช้าในการขนส่ง
- : ระหว่างการดำเนินการเสร็จสิ้นของงานบนเครื่องและการเริ่มต้นการดำเนินงานของงานบนเครื่องมีความล่าช้าในการขนส่งอย่างน้อยหน่วย
- : ระหว่างการดำเนินการเสร็จสิ้นของงานบนเครื่องและการเริ่มต้นการดำเนินงานของงานบนเครื่องมีความล่าช้าในการขนส่งอย่างน้อยหน่วย
- : ความล่าช้าในการขนส่งที่ขึ้นอยู่กับเครื่องจักร ระหว่างการดำเนินการเสร็จสิ้นของงานบนเครื่องและการเริ่มต้นการดำเนินงานของงานบนเครื่องมีความล่าช้าในการขนส่งอย่างน้อยหน่วย
- : ความล่าช้าในการขนส่งที่ขึ้นอยู่กับคู่เครื่องจักร ระหว่างการดำเนินการเสร็จสิ้นของงานบนเครื่องและการเริ่มต้นการดำเนินงานของงานบนเครื่องมีความล่าช้าในการขนส่งอย่างน้อยหน่วย
- : ความล่าช้าในการขนส่งที่ขึ้นอยู่กับลักษณะงาน ระหว่างการดำเนินการเสร็จสิ้นของงานบนเครื่องและการเริ่มต้นการดำเนินงานของงานบนเครื่องมีความล่าช้าในการขนส่งอย่างน้อยหน่วย
ข้อจำกัดต่างๆ
- rcrc : หรือที่รู้จักกันในชื่อ การหมุนเวียน หรือ โรงงานผลิตแบบยืดหยุ่น คำมั่นสัญญาเกี่ยวกับถูกยกขึ้นและสำหรับบางคู่เราอาจจะมีกล่าวอีกนัยหนึ่งคือ เป็นไปได้ที่จะกำหนดขั้นตอนการทำงานที่แตกต่างกันของงานเดียวกันให้กับเครื่องจักรเครื่องเดียวกัน
- ไม่ต้องรอ : การดำเนินการต้องเริ่มการทำงานอย่างแม่นยำเมื่อเริ่มดำเนินการเสร็จสมบูรณ์ กล่าวอีกนัยหนึ่งคือ เมื่อขั้นตอนหนึ่งของงานเสร็จสิ้น ขั้นตอนต่อไปจะต้องเริ่มต้นทันที บางครั้งอาจใช้สัญลักษณ์ ' nwt'แทน ด้วย
- no-idle : ห้ามมิให้เครื่องอยู่ในสถานะไม่ได้ใช้งานเลยระหว่างการเริ่มต้นการทำงานครั้งแรกจนถึงการสิ้นสุดการทำงานครั้งสุดท้าย
- : งานประมวลผลหลายตัวบนเครื่องคู่ขนานที่เหมือนกัน การดำเนินการของงานดำเนินการพร้อมกันบนเครื่องจักรคู่ขนาน
- : งานมัลติโปรเซสเซอร์ ทุกงานได้รับพร้อมกับชุดเครื่องจักรและจำเป็นต้องใช้เครื่องจักรทั้งหมดเหล่านี้พร้อมกันในการประมวลผล บางครั้งก็ใช้สัญลักษณ์ 'MPT' แทน
- เครื่องจักรสารพัดประโยชน์ ใช้งานได้ทุกงานจำเป็นต้องกำหนดตารางการทำงานบนเครื่องใดเครื่องหนึ่งจากชุดเครื่องที่กำหนดบางครั้งอาจใช้สัญลักษณ์M j
ฟังก์ชันวัตถุประสงค์
โดยทั่วไปเป้าหมายคือการลดค่าวัตถุประสงค์บางอย่างให้เหลือน้อยที่สุด ความแตกต่างอย่างหนึ่งคือสัญลักษณ์ที่ใช้โดยมีเป้าหมายคือการเพิ่มจำนวนงานที่เสร็จสมบูรณ์ก่อนกำหนดให้ได้มากที่สุด ซึ่งเรียกอีกอย่างว่าอัตราผลผลิต (throughput ) ค่าเป้าหมายอาจเป็นผลรวม หรืออาจมีการถ่วงน้ำหนักด้วยค่าลำดับความสำคัญที่กำหนดไว้ต่อหนึ่งงาน
- - : การไม่มีค่าเป้าหมายจะแสดงด้วยขีดเดี่ยว ซึ่งหมายความว่าปัญหาประกอบด้วยการสร้างตารางเวลาที่เป็นไปได้ซึ่งสอดคล้องกับข้อจำกัดที่กำหนดทั้งหมดเท่านั้น
- ระยะ เวลาใน การดำเนินการงาน.คือเวลาแล้วเสร็จสูงสุด หรือที่เรียกว่าmakespanบางครั้งเราอาจสนใจ เวลาแล้วเสร็จ เฉลี่ย (ค่าเฉลี่ยของตลอดj ทั้งหมด ) ซึ่งบางครั้งเรียกว่า mft (เวลาสิ้นสุดเฉลี่ย) [ 4 ]
- เวลาดำเนินการของงานคือผลต่างระหว่างเวลาที่งานเสร็จสมบูรณ์และเวลาที่งานเริ่มดำเนินการ กล่าวคือ.
- : การมาสายทุกงานได้รับกำหนดวันครบกำหนดการส่งงานล่าช้าถูกกำหนดให้เป็น. บางครั้งใช้เพื่อแสดงถึงความเป็นไปได้สำหรับปัญหาที่มีกำหนดเวลา ที่จริงแล้ว การใช้การค้นหาแบบไบนารีความซับซ้อนของเวอร์ชันความเป็นไปได้จะเทียบเท่ากับการลดค่าต่ำสุดของ.
- : อัตราผลผลิตทุกงานจะมีกำหนดส่งงานที่เสร็จตรงเวลาจะได้รับกำไรต่อหน่วย กล่าวคือถ้าและ มิฉะนั้น บางครั้งความหมายของในเอกสารทางวิชาการมีการกลับด้าน ซึ่งถือว่าเทียบเท่ากันเมื่อพิจารณาปัญหาในแง่ของการตัดสินใจ แต่จะสร้างความแตกต่างอย่างมากสำหรับการประมาณค่า
- การมาสายในทุกงานได้รับกำหนดวันครบกำหนดความล่าช้าในการทำงานถูกกำหนดให้เป็น.
- : ความรวดเร็วทุกงานได้รับกำหนดวันครบกำหนดความรวดเร็วของงานถูกกำหนดให้เป็นเป้าหมายนี้มีความสำคัญต่อการวางแผนการผลิตแบบทันเวลาพอดี (just-in-time scheduling)
นอกจากนี้ยังมีรูปแบบที่มีจุดประสงค์หลายประการแต่มีการศึกษาน้อยกว่ามาก[ 2 ]
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างปัญหาบางประการที่กำหนดโดยใช้สัญลักษณ์ข้างต้น[ 1 ]
- – การกำหนดให้กับแต่ละมอบหมายงานให้กับเครื่องจักรสองเครื่องที่เหมือนกันเครื่องใดเครื่องหนึ่ง เพื่อลดเวลาการประมวลผลรวมสูงสุดของเครื่องจักรทั้งสองเครื่องให้เหลือน้อยที่สุด นี่คือเวอร์ชันการเพิ่มประสิทธิภาพของปัญหาการแบ่งส่วน (Partition Problem)
- 1|prec|- การมอบหมายกระบวนการที่มีข้อจำกัดด้านลำดับความสำคัญทั่วไปให้กับเครื่องเดียว เพื่อลดความล่าช้าสูงสุดให้น้อยที่สุด
- R|pmtn|- การมอบหมายงานให้กับเครื่องคอมพิวเตอร์แบบขนานจำนวนหนึ่งที่ไม่เกี่ยวข้องกัน อนุญาตให้มีการขัดจังหวะ และลดเวลาในการทำงานให้แล้วเสร็จโดยรวมให้น้อยที่สุด
- J3||– ปัญหาการผลิตชิ้นงานด้วยเครื่องจักร 3 เครื่อง โดยมีเวลาในการประมวลผลต่อหน่วย และเป้าหมายคือการลดเวลาแล้วเสร็จสูงสุดให้น้อยที่สุด
- - การมอบหมายงานให้การจัดตารางงานแบบขนานโดยใช้เครื่องจักรที่เหมือนกัน โดยแต่ละงานจะมีเครื่องจักรจำนวนหนึ่งที่ต้องจัดตารางให้ทำงานพร้อมกัน เพื่อลดเวลาแล้วเสร็จสูงสุดให้น้อยที่สุด ดูการจัดตารางงานแบบขนาน (Parallel Task Scheduling )
รูปแบบอื่นๆ
- ตัวแปรทั้งหมดที่สำรวจข้างต้นเป็นแบบกำหนดได้เนื่องจากข้อมูลทั้งหมดเป็นที่รู้จักของผู้วางแผน นอกจากนี้ยังมี ตัวแปร แบบสุ่มซึ่งข้อมูลไม่เป็นที่รู้จักล่วงหน้า หรืออาจถูกรบกวนแบบสุ่ม[ 2 ]
- ในเกมการกระจายภาระงาน แต่ละงานเป็นของตัวแทนเชิงกลยุทธ์ ซึ่งสามารถตัดสินใจได้ว่าจะจัดตารางงานไว้ที่ใดสมดุลแนชในเกมนี้อาจจะไม่ใช่สมดุลที่ดีที่สุด Aumann และ Dombb [ 5 ]ประเมินความไม่มีประสิทธิภาพของสมดุลในเกมการกระจายภาระงานหลายเกม
ดูเพิ่มเติม
- การจัดตารางงานแบบเศษส่วน
- การกระจายภาระงาน (ด้านคอมพิวเตอร์) : การกระจายภาระงานอย่างเหมาะสมเป็นอีกคำหนึ่งที่ใช้เรียกการจัดตารางงานอย่างเหมาะสม
ลิงก์ภายนอก
- Scheduling zoo (โดย Christoph Dürr, Sigrid Knust, Damien Prot, Óscar C. Vásquez): เครื่องมือออนไลน์สำหรับค้นหาปัญหาการจัดตารางเวลาที่เหมาะสมที่สุดโดยใช้สัญลักษณ์
- ผลลัพธ์ด้านความซับซ้อนสำหรับปัญหาการจัดตารางเวลา (โดย Peter Brucker, Sigrid Knust): การจำแนกประเภทของปัญหาการจัดตารางเวลาที่เหมาะสมที่สุดตามสิ่งที่ทราบเกี่ยวกับความซับซ้อนของเวลาในการดำเนินการ