การจัดตารางงานแบบขนาน
การจัดตารางงานแบบขนาน (เรียกอีกอย่างว่าการจัดตารางงานแบบขนาน[ 1 ] [ 2 ]หรือการจัดตารางการประมวลผลแบบขนาน[ 3 ] ) เป็นปัญหาการหาค่า เหมาะสมที่สุด ในวิทยาการคอมพิวเตอร์และการวิจัยการดำเนินงานเป็นรูปแบบหนึ่งของ การจัดตาราง งานที่เหมาะสมที่สุดในปัญหาการจัดตารางงานทั่วไป เราจะได้รับ งาน nงานJ , J , ..., J ที่มีเวลาการประมวลผลที่แตกต่างกัน ซึ่งจำเป็นต้องจัดตารางบน เครื่องจักร mเครื่อง ในขณะที่พยายามลดmakespan ให้เหลือน้อยที่สุด - ความยาวทั้งหมดของตาราง (นั่นคือ เมื่องานทั้งหมดเสร็จสิ้นการประมวลผล) ในรูปแบบเฉพาะที่เรียกว่าการจัดตารางงานแบบขนานเครื่องจักรทั้งหมดจะเหมือนกัน งานแต่ละงานjมีพารามิเตอร์ความยาวp และพารามิเตอร์ขนาดq และต้องทำงานเป็นเวลาp ขั้นตอนเวลาบน เครื่องจักร q เครื่องพร้อมกัน
Veltman et al. [ 4 ]และ Drozdowski [ 3 ]ระบุปัญหานี้โดยในสัญกรณ์สามฟิลด์ที่แนะนำโดย Graham et al. [ 5 ] Pหมายความว่ามีเครื่องจักรที่เหมือนกันหลายเครื่องทำงานแบบขนานขนาดหมายความว่าแต่ละงานมีพารามิเตอร์ขนาดC หมายความว่าเป้าหมายคือการลดเวลาเสร็จสิ้นสูงสุดให้น้อยที่สุด ผู้เขียนบางคนใช้ แทนที่จะเป็นเช่นนั้น[ 1 ]โปรดทราบว่าปัญหาของการจัดตารางเวลาเครื่องจักรคู่ขนานเป็นกรณีพิเศษของการจัดตารางเวลางานคู่ขนานที่สำหรับทุกค่าjกล่าวคือ งานแต่ละงานควรทำงานบนเครื่องเดียว
ที่มาของการกำหนดปัญหาดังกล่าวสามารถสืบย้อนไปได้ถึงปี พ.ศ. 2503 [ 6 ]สำหรับปัญหานี้ ไม่มีอัลกอริทึมการประมาณ ค่าแบบพหุนาม ที่มีอัตราส่วนน้อยกว่าเว้นเสียแต่ว่า[ 7 ]
คำนิยาม
มีชุดหนึ่งของงาน และเครื่องจักรที่เหมือนกันทุกประการ งานแต่ละอย่างมีเวลาในการประมวลผล(เรียกอีกอย่างว่าความยาวของj ) และต้องใช้พร้อมกันของเครื่องจักรในระหว่างการดำเนินการ (เรียกอีกอย่างว่าขนาดหรือความกว้างของ j)
ตารางเวลาจะกำหนดงานแต่ละอย่างให้ถึงเวลาเริ่มต้นและชุดหนึ่งของเครื่องจักรที่จะใช้ในการประมวลผล ตารางการทำงานจะสามารถทำได้หากแต่ละโปรเซสเซอร์ทำงานไม่เกินหนึ่งงานในแต่ละครั้ง วัตถุประสงค์ของปัญหาแสดงโดยคือการหาตารางเวลาที่มีระยะเวลาน้อยที่สุดหรือเรียกอีกอย่างว่า makespan ของตารางงาน เงื่อนไขที่เพียงพอสำหรับความเป็นไปได้ของตารางงานมีดังต่อไปนี้
.
หากคุณสมบัตินี้เป็นไปตามเงื่อนไขสำหรับเวลาเริ่มต้นทั้งหมด จะสามารถสร้างตารางงานที่เป็นไปได้โดยการจัดสรรเครื่องจักรว่างให้กับงานในแต่ละเวลา โดยเริ่มจากเวลาที่กำหนด[ 1 ] [ 2 ]นอกจากนี้ จำนวนช่วงเวลาของเครื่องจักรที่ใช้โดยงานและช่วงเวลาว่างในแต่ละขั้นตอนเวลาสามารถจำกัดได้ด้วย[ 1 ] ในที่นี้ ช่วงเครื่องจักรคือเซตของเครื่องจักรที่ต่อเนื่องกันที่มีจำนวนสมาชิกสูงสุด โดยที่เครื่องจักรทั้งหมดในเซตนี้กำลัง ประมวลผลงานเดียวกัน ช่วงเครื่องจักรจะถูกระบุอย่างสมบูรณ์โดยดัชนีของเครื่องจักรเครื่องแรกและเครื่องสุดท้าย ดังนั้นจึงเป็นไปได้ที่จะได้วิธีการเข้ารหัสเอาต์พุตที่กระชับด้วยขนาดพหุนาม
ความยากในการคำนวณ
ปัญหานี้เป็นปัญหา NP-hard แม้ว่าจะมีเครื่องจักรเพียงสองเครื่องและขนาดของงานทั้งหมดเป็นค่าคงที่ก็ตาม(กล่าวคือ แต่ละงานจะต้องทำงานบนเครื่องเดียวเท่านั้น) กรณีพิเศษนี้ จะแสดงด้วยเป็นรูปแบบหนึ่งของปัญหาการแบ่งส่วนซึ่งเป็นที่ทราบกันดีว่าเป็นปัญหา NP-hard
เมื่อจำนวนเครื่องจักรmมีค่าไม่เกิน 3 นั่นคือ สำหรับตัวแปรต่างๆและมี อัลกอริทึม เวลาพсевдоพหุนามซึ่งแก้ปัญหาได้อย่างแม่นยำ[ 8 ]
ในทางตรงกันข้าม เมื่อจำนวนเครื่องจักรมีอย่างน้อย 4 เครื่อง นั่นคือ สำหรับตัวแปรต่างๆสำหรับใดๆปัญหานี้ยังเป็นปัญหาNP-hard อย่างมาก อีกด้วย [ 9 ] (ผลลัพธ์นี้ปรับปรุงผลลัพธ์ก่อนหน้า[ 8 ]ที่แสดงให้เห็นถึงความยากของ NP-hard อย่างมากสำหรับ)
หากจำนวนเครื่องจักรไม่ได้ถูกจำกัดด้วยค่าคงที่ จะไม่มีอัลกอริทึมการประมาณค่าใดที่มีอัตราส่วนการประมาณค่าน้อยกว่าเว้นเสียแต่ว่าหลักการนี้ยังคงใช้ได้แม้ในกรณีพิเศษที่เวลาในการประมวลผลของงานทั้งหมดคือเนื่องจากกรณีพิเศษนี้เทียบเท่ากับปัญหาการบรรจุลงถัง : แต่ละช่วงเวลาสอดคล้องกับถังหนึ่งใบ, m คือขนาด ถัง, แต่ละงานสอดคล้องกับสิ่งของที่มีขนาดqjและการลดระยะเวลาการผลิตให้เหลือน้อยที่สุดนั้นสอดคล้องกับการลดจำนวนถังให้เหลือน้อยที่สุด
ตัวแปร
มีการศึกษาปัญหาหลายรูปแบบ[ 3 ]นอกจากนี้ยังมีการพิจารณารูปแบบต่างๆ ต่อไปนี้ร่วมกันด้วย
ข้อจำกัดด้านลำดับความสำคัญ : ในรูปแบบนี้ จะมีความสัมพันธ์ด้านลำดับความสำคัญระหว่างงานต่างๆ ตัวอย่างเช่น หากงานสองงานiและjมีความสัมพันธ์ด้านลำดับความสำคัญที่iต้องมาก่อนjกล่าวคือดังนั้นiจะต้องอยู่ก่อนjในวิธีแก้ปัญหาที่เป็นไปได้ใดๆ ปัญหานี้เป็นปัญหา NP-hard (การลดรูปโดยใช้คลิก ) แม้ว่าเวลาประมวลผลทั้งหมดจะถูก นำไปใช้แล้วก็ตามมีค่าเท่ากันสำหรับ เครื่องจักร mเครื่อง อย่างไรก็ตาม เราสามารถแก้ปัญหาสำหรับเครื่องจักร 2 เครื่องได้ในเวลาพหุนาม เนื่องจากปัญหาที่แท้จริงคือการค้นหาการจับคู่ที่สมบูรณ์แบบที่มีความยาวระดับหนึ่ง ในกรณีที่ไม่มีการจับคู่ที่สมบูรณ์แบบสำหรับงานสองงาน ณ เวลาใดเวลาหนึ่ง (ซึ่งอาจเป็นเพราะไม่มีงานว่าง ณ เวลานั้น) เราอาจเพิ่มงานจำลองเพื่อความถูกต้อง การหาความซับซ้อนในการคำนวณสำหรับพรีคอย่างไรก็ตาม ยังไม่เป็นที่ทราบแน่ชัด[ 10 ]
งานต่อเนื่อง : ในรูปแบบนี้ เครื่องจักรจะมีลำดับการทำงานที่แน่นอนแทนที่จะมอบหมายงานให้กับกลุ่มย่อยใดกลุ่มหนึ่งงานต่างๆ จะต้องถูกจัดสรรให้กับช่วงเครื่องจักรที่ต่อเนื่องกัน ปัญหานี้สอดคล้องกับการกำหนดปัญหาของการบรรจุแบบแถบ (strip packing problem )
หลายแพลตฟอร์ม:ในรูปแบบนี้ ชุดของเครื่องจะถูกแบ่งออกเป็นแพลตฟอร์มอิสระ งานที่กำหนดไว้ล่วงหน้าสามารถใช้เครื่องของแพลตฟอร์มเดียวเท่านั้น และไม่อนุญาตให้ประมวลผลข้ามหลายแพลตฟอร์ม
งานที่ปรับเปลี่ยนได้ : ในรูปแบบนี้ งานแต่ละอย่างมีชุดจำนวนเครื่องจักรที่เป็นไปได้สำหรับการนับแต่ละครั้งงานดังกล่าวสามารถประมวลผลบน เครื่อง dเครื่องพร้อมกันได้ และในกรณีนี้ เวลาในการประมวลผลจะเป็นเพื่อกำหนดตารางงานอัลกอริทึมจะต้องเลือกจำนวนเครื่องจักรและกำหนดjให้เป็นเวลาเริ่มต้นและถึงเครื่องจักรในช่วงเวลาดังกล่าว โดยทั่วไปแล้ว ข้อสันนิษฐานสำหรับปัญหาประเภทนี้คือ ปริมาณงานทั้งหมดของงาน ซึ่งกำหนดไว้ดังนี้ค่าจะไม่เพิ่มขึ้นเมื่อจำนวนเครื่องจักรเพิ่มขึ้น
วันวางจำหน่าย : ในเวอร์ชันนี้ ระบุโดยไม่ใช่ว่างานทั้งหมดจะพร้อมใช้งาน ณ เวลา 0; งานแต่ละงานjจะพร้อมใช้งาน ณ เวลาr ที่แน่นอนและทราบได้ และจะต้องกำหนดตารางเวลาหลังจากเวลานั้น
การแย่งชิงสิทธิ์ : ในรูปแบบนี้ จะแสดงด้วยสามารถขัดจังหวะงานที่กำลังทำงานอยู่ และกำหนดเวลาสำหรับงานอื่นๆ ที่พร้อมใช้งานในเวลานั้นได้
อัลกอริทึม
อัลกอริทึมการจัดตารางเวลารายการโดย Garey และ Graham [ 11 ]มีอัตราส่วนสัมบูรณ์ตามที่ Turek et al. [ 12 ]และ Ludwig และ Tiwari [ 13 ] ชี้ให้เห็น Feldmann, Sgall และ Teng [ 14 ]สังเกตว่าความยาวของตารางเวลาที่ไม่สามารถแทรกแซงได้ซึ่งสร้างขึ้นโดยอัลกอริทึมการจัดตารางเวลารายการนั้นมีค่าสูงสุดเพียงเท่านั้นคูณด้วยระยะเวลาการผลิตที่เหมาะสมที่สุดก่อนการแทรกแซง แผนการประมาณค่าแบบพหุนามเวลา (PTAS) สำหรับกรณีที่จำนวนจำนวนโปรเซสเซอร์คงที่ ซึ่งแสดงด้วยนำเสนอโดย Amoura et al. [ 15 ]และ Jansen et al. [ 16 ] ต่อมา Jansen และ Thöle [ 2 ]พบ PTAS สำหรับกรณีที่จำนวนโปรเซสเซอร์ถูกจำกัดด้วยพหุนามในจำนวนงาน ในอัลกอริทึมนี้ จำนวนเครื่องจะปรากฏเป็นพหุนามในความซับซ้อนของเวลาของอัลกอริทึม เนื่องจากโดยทั่วไปแล้ว จำนวนเครื่องจะปรากฏเป็นลอการิทึมในขนาดของอินสแตนซ์เท่านั้น อัลกอริทึมนี้จึงเป็นแบบแผนการประมาณเวลาแบบพหุนามเทียมเช่นกัน-การประมาณค่าได้รับจาก Jansen [ 17 ]ซึ่งปิดช่องว่างไปยังขอบล่างของยกเว้นในกรณีที่เล็กมากโดยพลการ.
ความแตกต่างระหว่างงานที่อยู่ติดกันและงานที่ไม่ติดกัน
เมื่อพิจารณาตัวอย่างของปัญหาการจัดตารางงานแบบขนาน ระยะเวลาการผลิตที่เหมาะสมที่สุดอาจแตกต่างกันไปขึ้นอยู่กับข้อจำกัดเรื่องความต่อเนื่องของเครื่องจักร หากสามารถจัดตารางงานบนเครื่องจักรที่ไม่ต่อเนื่องกันได้ ระยะเวลาการผลิตที่เหมาะสมที่สุดอาจน้อยกว่าในกรณีที่ต้องจัดตารางงานบนเครื่องจักรที่ต่อเนื่องกัน ความแตกต่างระหว่างตารางงานที่ต่อเนื่องและไม่ต่อเนื่องกันได้รับการสาธิตครั้งแรกในปี 1992 [ 18 ]ในตัวอย่างที่มี งานต่างๆโปรเซสเซอร์, และBłądek และคณะ[ 19 ]ศึกษาความแตกต่างที่เรียกว่า c/nc เหล่านี้และพิสูจน์ประเด็นต่อไปนี้:
- เพื่อให้เกิดความแตกต่างระหว่าง ac/nc จะต้องมีงานอย่างน้อยสามงานด้วยกัน
- เพื่อให้เกิดความแตกต่างระหว่าง ac/nc จะต้องมีงานอย่างน้อยสามงานด้วยกัน
- เพื่อให้เกิดความแตกต่างระหว่างกระแสสลับและกระแสตรง อย่างน้อยที่สุดจำเป็นต้องใช้โปรเซสเซอร์ (และมีกรณีหนึ่งที่มีความแตกต่างระหว่างกระแสสลับและกระแสตรง))
- เพื่อให้เกิดความแตกต่างระหว่าง ac/nc ความยาวของตารางเวลาที่ไม่ต่อเนื่องจะต้องมีอย่างน้อย
- ความแตกต่าง c/nc สูงสุดอย่างน้อยก็และอย่างมากที่สุด
- การตัดสินใจว่ามีความแตกต่างระหว่าง c/nc ในกรณีใดกรณีหนึ่งหรือไม่นั้นเป็นปัญหา NP-complete
นอกจากนี้ พวกเขายังเสนอข้อสันนิษฐานสองข้อต่อไปนี้ ซึ่งยังไม่ได้รับการพิสูจน์:
- เพื่อให้เกิดความแตกต่างระหว่างกระแสสลับและกระแสตรง อย่างน้อยที่สุดจำเป็นต้องมีภารกิจต่างๆ
ปัญหาที่เกี่ยวข้อง
มีปัญหาการจัดตารางงานที่เกี่ยวข้องซึ่งแต่ละงานประกอบด้วยการดำเนินงานหลายอย่างที่ต้องดำเนินการตามลำดับ (แทนที่จะเป็นแบบขนาน) ปัญหาเหล่านี้ได้แก่ ปัญหา การจัดตารางงาน แบบโรงงานเปิด (open shop scheduling) ปัญหาการจัดตารางงาน แบบโรงงานไหล ( flow shop scheduling ) และปัญหาการจัดตารางงานแบบโรงงานสั่งทำ (job shop scheduling )