โปรแกรมจำนวนเต็มเชิงเส้นใดที่ใช้งานง่าย


13

ในขณะที่พยายามที่จะแก้ปัญหาฉันลงเอยด้วยการแสดงส่วนของมันเป็นโปรแกรมเชิงเส้นจำนวนเต็มต่อไปนี้ ที่นี่เป็นจำนวนเต็มบวกทั้งหมดที่ได้รับ ส่วนหนึ่งของอินพุต เซ็ตย่อยที่ระบุของตัวแปรถูกตั้งค่าเป็นศูนย์และส่วนที่เหลือสามารถรับค่าอินทิกรัลค่าบวก:x i j,m,n1,n2,,n,c1,c2,,cm,wxij

ลด

j=1mcji=1xij

ภายใต้:

j=1mxij=nii

i=1xijwj

ฉันต้องการทราบว่าโปรแกรมจำนวนเต็มนี้สามารถแก้ไขได้ในเวลาพหุนามหรือไม่ ปัญหาเดิมของฉันจะได้รับการแก้ไขถ้าเป็นและฉันต้องลองวิธีอื่นถ้าไม่ใช่ ดังนั้นคำถามของฉันคือ:

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

คำตอบ:


16

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

บทความ Wikipedia ต่อไปนี้อาจมีประโยชน์


1
@ โยชิโอ: ขอบคุณที่ตอบปัญหาตัวอย่างของฉัน (เมื่อฉันได้ตรวจสอบด้วยตัวเอง) คุณรู้หรือไม่เกี่ยวกับเงื่อนไขอื่น ๆ ที่นอกเหนือจากเอกภาพทั้งหมดซึ่งรับประกันการแก้ปัญหาแบบพหุนาม
gphilip

2
@ gphilip: ฉันจะสรุปคำถามเหล่านี้โดยคำว่า "การบูรณาการของรูปทรงหลายเหลี่ยม" และวรรณกรรมในเรื่องนี้มีขนาดใหญ่มาก หนังสือ "Combinatorial Optimization: Packing and Covering" โดย Gerard Cornuejols (ตีพิมพ์เมื่อปี 2544) อธิบายผลลัพธ์หลาย ๆ อย่างในบรรทัดนี้
โยชิโอะโอกาโมโตะ

Axb

1
AAA[AA]

1
ให้ฉันเปลี่ยนกฎทางลัดของฉันดังนี้ (1) การทำสำเนาของแถวจะรักษา unimodularity ทั้งหมด (2) การพลิกกลับของสัญญาณของแถวรักษาความเป็นหนึ่งเดียวทั้งหมด พวกเขาควรทำงาน
โยชิโอะโอกาโมโตะ

8

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

คุณควรดูที่: http://en.wikipedia.org/wiki/Linear_program#Integer_unknowns


ฉันกำลังคิดเกี่ยวกับเมทริกซ์ของคุณและมันก็ดูไม่เหมือนกันทั้งหมด
Vinicius dos Santos

@Vinicius: คุณช่วยบอกฉันหน่อยได้ไหมว่าทำไมเมทริกซ์ดูไร้ความปราณีกับคุณโดยสิ้นเชิง? ฉันไม่สามารถเข้าใจสิ่งนี้แม้จะมีความคิดเห็นของ Yoshio (โปรดดูคำตอบของฉันที่นั่น)
gphilip

@ gphilip: ที่en.wikipedia.org/wiki/Unimodular_matrixในส่วน "Common unimodular matrices" รายการในรายการแรก 4 เงื่อนไขที่เพียงพอสำหรับเมทริกซ์ที่จะเป็น unimodular ฉันคิดว่าเงื่อนไขเหล่านี้พร้อมกับทางลัดที่โยชิโอแสดงความคิดเห็นนั้นเพียงพอที่จะแสดงให้เห็นว่าปัญหาสามารถแก้ไขได้ในเวลาพหุนาม
Vinicius dos Santos

@gphilip: แรงจูงใจสำหรับโปรแกรมเชิงเส้นนี้คืออะไร?
Vinicius dos Santos

@Vinicius: เราพยายามที่จะแก้ปัญหาประโยคในแง่การแก้ไขเมทริกซ์อินพุทในวิธีการหนึ่งเพื่อให้ได้เมทริกซ์อื่นที่มีคุณสมบัติที่ดี LP นี้มาจากปัญหาย่อยหนึ่งอย่างในระหว่างกระบวนการ
gphilip

2

โปรแกรมจำนวนเต็มที่มีความเท่าเทียมกันเท่านั้นสามารถแก้ไขได้โดยโปรแกรมเชิงเส้น


สิ่งนี้ดูเหมือนจะมีความสำคัญต่อตัวของมันเอง
....

2
ฉันจะไม่เรียกมันว่าโปรแกรมจำนวนเต็ม มันเป็นระบบของสมการเชิงเส้นของจำนวนเต็มที่สามารถแก้ไขได้อย่างมีประสิทธิภาพโดยการคำนวณรูปแบบปกติของเฮอร์ไมท์
Sasho Nikolov

2
@SashoNikolov เป็นคดีความเสื่อมโทรม แต่แน่นอนว่าเป็นสิ่งที่ถูกต้อง
T ....

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