อัลกอริทึมสำหรับปัญหาการมอบหมายทั่วไปหลายต่อหลายคน


20

ฉันดูเหมือนจะไม่พบวรรณกรรมใด ๆ เกี่ยวกับอัลกอริทึมที่สามารถใช้ในการแก้ปัญหาการมอบหมายทั่วไปแบบหลายต่อหลายคน (GAP) เช่นแบบจำลองที่ไม่เพียง แต่สามารถมอบหมายงานเพิ่มเติมให้กับตัวแทนเพียงคนเดียวเท่านั้น มอบหมายให้กับภารกิจเดียว (หนึ่งต่อหนึ่งและหนึ่งต่อหลาย AP ถูกกล่าวถึงในกระดาษโดย Pentico) ฉันรู้ปัญหาเกี่ยวกับการมอบหมายถัดไป แต่ฉันพบปัญหาเช่นนี้ในระหว่างการวิจัยของฉันและต้องการทราบเพิ่มเติมเกี่ยวกับวิธีการแก้ปัญหา เป็นไปได้ไหมที่ GAP หลายต่อหลายคนนั้นเป็นที่รู้จักภายใต้ชื่ออื่นหรือมีเหตุผลที่แตกต่างกันว่าทำไมจึงมีวรรณกรรมน้อยมากที่สามารถพบได้

Pentico, D. ปัญหาการมอบหมายงาน: โกลเด้นฉลองครบรอบการสำรวจ วารสารวิจัยการปฏิบัติการแห่งยุโรป (2550); 176 (2): 774-793


1
สวัสดี GerritJan ยินดีต้อนรับสู่ Scicomp! :) คุณคุ้นเคยกับฮิวริสติกเหล่านี้สำหรับปัญหาการมอบหมายทั่วไปหรือไม่? sciencedirect.com/science/article/pii/S0898122110002609 หรือ irma-international.org/viewtitle/58969 หรือ crcnetbase.com/doi/abs/10.1201/9781420010749.ch48 ?
พอล

1
สำหรับฉันแล้วดูเหมือนว่ากรณีของการกำหนดส่วนของงานให้กับตัวแทนหลายคนสามารถสร้างแบบจำลองอย่างน้อยในกรณีที่ค่าใช้จ่ายถูกแบ่งเป็นส่วน ๆ เชิงเส้นโดยปฏิบัติภารกิจเดียวราวกับว่ามันเป็นงานย่อยหลายงานแทน หากไม่มีรายละเอียดเพิ่มเติมจะเป็นการยากที่จะทราบว่าปัญหาของคุณอาจเป็น "ทั่วไป" มากกว่าปัญหาการมอบหมายทั่วไป บทความ Wikipeidaมีบางส่วนแสดงออกที่ดีและเชื่อมโยงไปยังคู่ของการอ้างอิงในหัวข้อ
hardmath

ขอบคุณ @Paul ฉันจะตรวจสอบเอกสารแม้ว่าพวกเขาดูเหมือนจะค่อนข้างซับซ้อนต่อสายตาที่ไม่ได้รับการฝึกฝนของฉัน จากนั้นอีกครั้งฉันสงสัยว่าปัญหานั้นซับซ้อนและฉันอาจต้องทำให้ง่ายขึ้น hardmath ปัญหาของฉันนั้นก็คือการกระจายพลังงานในเครือข่าย: อุปสงค์ - อุปทานและโหนดอุปสงค์จำเป็นต้องจับคู่โดยใช้การเชื่อมต่อ (ถ่วงน้ำหนัก) ระหว่างพวกเขาด้วยวิธีที่เหมาะสมที่สุดโดยใช้อุปทานขั้นต่ำเพื่อตอบสนองความต้องการทั้งหมด แน่นอนข้อ จำกัด เพิ่มเติมสามารถนำมาใช้เช่นเดียวกับความจุสูงสุดในการเชื่อมต่อและอื่น ๆ
Gerrit ม.ค.

1
@GerritJan: มันเป็นปัญหาแบบ np-hard ดังนั้นมันจะต้องมีรูปแบบการประมาณ หากคุณต้องการการประมาณที่ดีอัลกอริทึมของคุณอาจต้องซับซ้อนเล็กน้อย
พอล

2
@GerritJan: หมายความว่าสามารถรับประกันโซลูชันที่เหมาะสมที่สุดได้โดยการตรวจสอบการกำหนดค่าที่เป็นไปได้ทั้งหมด โซลูชันที่เป็นไปได้เหล่านี้จะเพิ่มขึ้นอย่างน้อยเป็นทวีคูณเมื่อเวลาผ่านไปทำให้เกิดปัญหาที่ค่อนข้างเป็นไปไม่ได้ที่จะแก้ไขในเวลาที่เหมาะสม
พอล

คำตอบ:


1

ดูเหมือนว่าปัญหาของคุณจะไม่เกิดขึ้น "ว่าผลรวมของ" ตัวแทน "ต้องจัดหาพลังงานที่ไม่ต่อเนื่องหรือไม่มีความต้องการอะไรเลย ... " ใช่มั้ย หรือคุณไม่เข้าใจฉัน ดังนั้นฉันจะพยายามอธิบายปัญหาของฉันให้ดีขึ้นเช่นกันเพราะฉันพบวิธีแก้ปัญหา

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

ฉันทำงานกับซอฟต์แวร์ gams ดังนั้นฉันจึงอธิบายในรูปแบบ gams: ตั้งตัวแทน, ค่าพารามิเตอร์งาน t (t), ค่า (t) ทรัพยากรพารามิเตอร์ (a)

ตัวแปรบวก y (a, t) (ไม่ใช่ int), ส่วนหนึ่งของเอเจนต์ a สำหรับค่าใช้จ่ายของวัตถุประสงค์งาน t:

maxvalue =e= sum((a,t), value(t) * y(a,t) / cost(t) );
agentresource_max_constraint(a).. sum(t, y(a,t)) =l= resources(a);
taskcost_max_constraint.. sum(a, y(a,t)) =l= cost(t);

อย่างที่ฉันเขียนฉันมีวิธีแก้ปัญหา แต่ไม่รู้วิธีแยกโซลูชันงานบางส่วน แต่ตอนนี้ฉันพบว่าฉันสามารถสร้างข้อ จำกัด ด้วย

ตัวแปรไบนารี z(t)

taskcost_bin_constraint z(t) =e= sum(a, y(a,t)) / cost(t);

sum(a, y(a,t)) / cost(t)ในสูตรสมการคืออะไรบางอย่างระหว่าง 0 ถึง 1 และโดยข้อ จำกัด นี้zคือ 0 สำหรับน้อยกว่า 1 และ 1 สำหรับ 1 โดยมีtaskcost_bin_constraintวัตถุประสงค์นี้จะเป็น:

maxvalue =e= sum(t, value(t) * z(t));

ฉันสงสัย แต่สิ่งนี้ได้ผลและให้วิธีแก้ปัญหาที่ดีกว่าภายใต้ข้อ จำกัด เพื่อสร้างงานให้เต็มหรือไม่

บางทีคุณสามารถเพิ่มข้อ จำกัด ดังกล่าวได้หรือไม่ ข้อ จำกัด ในการเติมเต็มความต้องการอย่างแน่นอนซึ่งแสดงออกในนิพจน์ที่มีค่าระหว่าง 0 ถึง 1


1

มีอัลกอริทึมการหลอมที่กำหนดขึ้นซึ่งแก้ปัญหาการมอบหมายแบบหนึ่งต่อหนึ่งหรือเท่ากับปัญหาพาร์ติชันเมทริกซ์ dyadic

อย่างไรก็ตามแทนที่จะใช้จำนวนเต็ม [0, 1] ค่าหนึ่งสามารถใช้ค่าเศษส่วน (ดังนั้นอัลกอริทึมยังคงเหมือนเดิม) หรือแม้กระทั่งขยายเพื่อจัดการการมอบหมายมากกว่าหนึ่ง (โดยการเพิ่มวงภายในและเมทริกซ์กลายเป็นอาร์เรย์มิติมิติ หรือเทนเซอร์)

กระดาษอยู่ที่นี่: http://www.researchgate.net/publication/2382666_Pairwise_Data_Clustering_by_Deterministic_Annealing/file/d912f50c75945d835b.pdf

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.