1
ปัญหาการมอบหมายเป็นเวลาหลายวัน
ฉันมีปัญหาที่สามารถลดปัญหาการมอบหมาย (ในคำถามก่อนหน้านี้ฉันพบวิธีการดังกล่าว) ซึ่งหมายความว่าเรามีชุดของตัวแทนและชุดของงานเช่นเดียวกับฟังก์ชั่นค่าใช้จ่ายJ) เราต้องหางานที่ได้รับมอบหมายเพื่อให้ค่าใช้จ่ายทั้งหมดน้อยAAATTTc(i,j)c(i,j)c(i,j) อัลกอริทึมฮังการีสามารถหาทางออกที่ดีที่สุดในเวลาอย่างน้อย4) ซึ่งฟังดูดีสำหรับฉันO(n4)O(n4)O(n^4) ปัญหาใหม่ของฉันคือ: มีจำนวนวันที่กำหนด ผมต้องแก้ปัญหาที่ได้รับมอบหมายในแต่ละวันเพื่อให้งานทุกคนจะทำทุกวันและตัวแทนจะไม่มีงานเดียวกันสองครั้ง สิ่งที่ฉันได้ลอง: เราสามารถเรียกใช้อัลกอริธึมของฮังการีแยกกันในแต่ละวันและ จำกัด จำนวนของชุดค่าผสมที่เป็นไปได้ตามผลลัพธ์ของวันก่อนหน้า แต่สิ่งนี้จะทำให้เราเดือดร้อนในบางวันต่อมาซึ่งเป็นไปได้ยากที่จะหาวิธีแก้ปัญหาที่เป็นไปได้ อีกแนวคิดหนึ่งคือการรวมการค้นหาในท้องถิ่นเข้ากับการเปลี่ยนแปลงการตัดสินใจในวันก่อนหน้า แต่ฉันคิดว่าเราไม่สามารถวางใจได้ อินสแตนซ์ปัญหาที่ฉันต้องเผชิญจะอยู่ที่ใดที่หนึ่ง500 เมทริกซ์ต้นทุนจะมีค่าเท่ากันจำนวนมาก (เช่นส่วนใหญ่ 1 หรืออินฟินิตี้เพียงบาง 2 หรือ 3) ดังนั้นระหว่างอัลกอริธึมของฮังการีจึงมีพื้นที่มากมายในการสร้างโซลูชันที่ดีที่สุดที่แตกต่างกันในหนึ่งวัน|A|=|T|=500|A|=|T|=500|A| = |T| = 500C(i,j)C(i,j)C(i,j) ฉันยินดีที่จะรับฟังแนวคิดหรือคำแนะนำวิธีหาวิธีแก้ไขปัญหาที่ดี ขอบคุณล่วงหน้า.