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