ผลต่างระหว่างรุ่นของ "01204512/weight bipartite matching"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 5: แถว 5:
 
เราเขียน integer program ของปัญหาดังกล่าวได้ดังนี้  เราจะให้ตัวแปร <math>x(u,v)</math> มีค่าเป็น 1 ถ้าเราเลือกเส้นเชื่อมนั้นใน matching และเป็น 0 ถ้าเราไม่ได้เลือก
 
เราเขียน integer program ของปัญหาดังกล่าวได้ดังนี้  เราจะให้ตัวแปร <math>x(u,v)</math> มีค่าเป็น 1 ถ้าเราเลือกเส้นเชื่อมนั้นใน matching และเป็น 0 ถ้าเราไม่ได้เลือก
  
* Minimize <math>\sum_{(u,v)\in E} w(u,v)\cdot x(u,v)</math>
+
* Maximize <math>\sum_{(u,v)\in E} w(u,v)\cdot x(u,v)</math>
 
* Subject to:
 
* Subject to:
** For all <math>u\in U</math>, &nbsp;&nbsp;&nbsp; <math>\sum_{(u,v)\in E} x(u,v)=1</math>
+
** for all <math>u\in U</math>, &nbsp;&nbsp;&nbsp; <math>\sum_{(u,v)\in E} x(u,v)=1</math>
** For all <math>v\in V</math>, &nbsp;&nbsp;&nbsp; <math>\sum_{(u,v)\in E} x(u,v)=1</math>
+
** for all <math>v\in V</math>, &nbsp;&nbsp;&nbsp; <math>\sum_{(u,v)\in E} x(u,v)=1</math>
** For all <math>(u,v)\in E</math>, &nbsp;&nbsp;&nbsp; <math>x(u,v)\in\{0,1\}</math>
+
** for all <math>(u,v)\in E</math>, &nbsp;&nbsp;&nbsp; <math>x(u,v)\in\{0,1\}</math>
 +
 
  
 
เราจะ relax ปัญหาให้เป็น linear program โดยเปลี่ยนเงื่อนไขสุดท้ายเป็น
 
เราจะ relax ปัญหาให้เป็น linear program โดยเปลี่ยนเงื่อนไขสุดท้ายเป็น
  
 
** For all <math>(u,v)\in E</math>, &nbsp;&nbsp;&nbsp; <math>x(u,v)\geq 0</math>
 
** For all <math>(u,v)\in E</math>, &nbsp;&nbsp;&nbsp; <math>x(u,v)\geq 0</math>
 +
 +
จาก linear program ดังกล่าว เราสามารถหา dual program ได้ โดยสร้างตัวแปร <math>a(u)</math> สำหรับทุก ๆ <math>u\in U</math> (เงื่อนไขแรก) และตัวแปร <math>b(v)</math> สำหรับทุก ๆ <math>v\in V</math> (เงื่อนไขที่สอง)  เนื่องจากเงื่อนไขเป็นสมการ (ไม่ใช่ อสมการ) ตัวแปร dual ทั้งสองจะเป็นแบบไม่ระบุขอบเขต
 +
 +
ด้านล่างเป็น dual linear program
 +
 +
* Minimize <math>\sum_{u\in U} a(u) + \sum_{v\in V} b(v)</math>
 +
* Subject to:
 +
** for all <math>(u,v)\in E</math>, &nbsp;&nbsp;&nbsp; <math>a(u)+b(v)\geq w(u,v)</math>

รุ่นแก้ไขเมื่อ 04:34, 8 สิงหาคม 2555

เอกสารนี้เป็นส่วนหนึ่งของวิชา 01204512

เราจะพิจารณาปัญหา maximum weighted perfect bipartite matching ให้ bipartite graph ที่มีน้ำหนัก บนเส้นเชื่อม

เราเขียน integer program ของปัญหาดังกล่าวได้ดังนี้ เราจะให้ตัวแปร มีค่าเป็น 1 ถ้าเราเลือกเส้นเชื่อมนั้นใน matching และเป็น 0 ถ้าเราไม่ได้เลือก

  • Maximize
  • Subject to:
    • for all ,    
    • for all ,    
    • for all ,    


เราจะ relax ปัญหาให้เป็น linear program โดยเปลี่ยนเงื่อนไขสุดท้ายเป็น

    • For all ,    

จาก linear program ดังกล่าว เราสามารถหา dual program ได้ โดยสร้างตัวแปร สำหรับทุก ๆ (เงื่อนไขแรก) และตัวแปร สำหรับทุก ๆ (เงื่อนไขที่สอง) เนื่องจากเงื่อนไขเป็นสมการ (ไม่ใช่ อสมการ) ตัวแปร dual ทั้งสองจะเป็นแบบไม่ระบุขอบเขต

ด้านล่างเป็น dual linear program

  • Minimize
  • Subject to:
    • for all ,