ความซับซ้อนของอัลกอริธึมเริม


36

ขอบเขตบนของอัลกอริทึม simplex สำหรับการค้นหาวิธีการแก้ปัญหาให้กับโปรแกรมเชิงเส้นคืออะไร?

ฉันจะไปหาหลักฐานสำหรับคดีเช่นนี้ได้อย่างไร? มันดูเหมือนกับว่ากรณีที่เลวร้ายที่สุดคือถ้าแต่ละจุดสุดยอดจะต้องมีการเข้าเยี่ยมชมว่ามันเป็นn) อย่างไรก็ตามในทางปฏิบัติอัลกอริทึมแบบซิมเพล็กซ์จะทำงานเร็วกว่านี้มากสำหรับปัญหามาตรฐานเพิ่มเติมO(2n)

ฉันจะให้เหตุผลเกี่ยวกับความซับซ้อนโดยเฉลี่ยของปัญหาที่แก้ไขโดยใช้วิธีนี้ได้อย่างไร

ข้อมูลหรือการอ้างอิงใด ๆ ที่ชื่นชมอย่างมาก!


5
โปรดทราบว่าดังที่ mashca กล่าวไว้ในคำตอบเราไม่มี“ อัลกอริธึมเริม ๆ ” จริงๆมีอัลกอริธึมเริมที่แตกต่างกันมากมายขึ้นอยู่กับการเลือกกฎการหมุนรอบ
Tsuyoshi Ito

2
ลูกบาศก์ในมิติมีจุดยอดและนี่ก็คือถ้าขอบเขตบนสำหรับตัวแปร Simplex บนลูกบาศก์ (เช่น Klee-Minty) อย่างไรก็ตามโพลีเฮดราในมิติมี facets เช่นโพลิปเปอคไซเคิลคู่ที่มีจุดยอดมากกว่าดังนั้นจึงไม่ได้เป็นขอบเขตบนของเวลาวิ่งของวิธีซิมเพล็กซ์ ทั่วไป. n2nn2n2n2n
ราหุลซาวานี

คำตอบ:


72

อัลกอริทึมแบบซิมเพล็กจะไปถึงจุดยอดทั้งในกรณีที่เลวร้ายที่สุด ( Klee & Minty 1972 ) และสิ่งนี้กลายเป็นจริงสำหรับกฎเดือยที่กำหนดขึ้นใด ๆ อย่างไรก็ตามในบทความหลักโดยใช้การวิเคราะห์ที่ราบรื่น Spielman และ Teng (2001) ได้พิสูจน์ว่าเมื่ออินพุตของอัลกอริทึมนั้นถูกรบกวนแบบสุ่มเล็กน้อยเวลาการทำงานที่คาดหวังของอัลกอริทึม simplex นั้นคือพหุนามสำหรับอินพุตใด ๆ ปัญหาใด ๆ ที่มี "ใกล้เคียง" อย่างใดอย่างหนึ่งซึ่งวิธี simplex จะแก้ปัญหาได้อย่างมีประสิทธิภาพและมันค่อนข้างครอบคลุมทุกโปรแกรมเชิงเส้นในโลกแห่งความเป็นจริงที่คุณต้องการแก้ไข หลังจากนั้น Kelner และ Spielman (2006) ได้แนะนำ2n เวลาแบบโพลิโนเมียมสุ่มอัลกอริธึมเริมที่ทรูเลย์ทำงานกับอินพุตใด ๆ แม้แต่คนเลวสำหรับอัลกอริทึมดั้งเดิมของซิมเพล็กซ์


36

ในฐานะที่เป็นเลเวลกล่าวในกรณีที่แย่ที่สุดอัลกอริทึมจะไปเยี่ยมจุดยอดทั้งหมดโดยที่คือจำนวนตัวแปร อย่างไรก็ตามประสิทธิภาพของอัลกอริธึมเริมอาจขึ้นอยู่กับกฎเดือยที่ใช้อย่างมาก เท่าที่ฉันทราบก็ยังคงเป็นคำถามเปิดหากมีกฎเดือยที่กำหนดขึ้นเฉพาะกับเวลาทำงานกรณีที่เลวร้ายที่สุดแทนชี้แจง ผู้สมัครจำนวนมากได้รับการตัดออกโดยผลขอบเขตล่าง เมื่อเร็ว ๆ นี้ฟรีดแมนแฮนเซนและซวิคยังแสดงให้เห็นว่าไม่ใช่ขอบเขตพหุนามลดลงเป็นครั้งแรกสำหรับกฎเดือยสุ่มบางธรรมชาติที่มีการแก้ไขบางส่วนที่จัดไว้ให้ในภายหลัง2dd

อย่างไรก็ตามการเพิ่มผลการวิเคราะห์ที่ราบรื่นที่กล่าวถึงโดย Lev: จากการติดตาม Spielman และ Tengs seminal paper นำเสนอการวิเคราะห์ที่ราบรื่น Vershynin ปรับปรุงขอบเขตของพวกเขาต่อไปในปี 2549 เขาแสดงให้เห็นว่าเวลาทำงานที่คาดหวังในอินสแตนซ์ จำกัดลดลงจาก{86}nn86


4
และตามที่ JeffE ได้ชี้ให้เห็นในคำถามที่แตกต่างกัน ( cstheory.stackexchange.com/questions/2149/ … ) วิธีการเอ็กซ์โพเนนเชียลที่ดีที่สุดในปัจจุบันคือประเภทของซิมเพล็กซ์คู่
Suresh Venkat

ลิงก์ไปยังกระดาษ Vershynin นั้นตายไปแล้ว
kutschkem

8

ในการรับข้อมูลเชิงลึกเกี่ยวกับวิธีวิเคราะห์ซิมเพล็กซ์กรณีและแย่ที่สุดคุณควรอ่าน "การวิเคราะห์ที่ราบรื่น: ทำไมอัลกอริธึม Simplex มักใช้เวลาพหุนาม" โดย Spielman และ Teng


3

การอ้างอิงที่ดีเกี่ยวกับสาเหตุที่ซิมเพล็กซ์ไม่ทำงานในเวลาพหุนามแทนที่จะเป็นสาเหตุเลขชี้กำลังคือ Papadimitriou & Steiglitz Combinatorial Optimization ส่วนที่ 8.6 ซึ่งแสดงให้เห็นว่า Simplex ไม่ใช่อัลกอริธึมเวลาพหุนาม


1

ในปี 2019 GLPKแก้ปัญหา opensource LP ทำ ปัญหาคิวบ์ Klee-Mintyด้วย ในต่ำกว่า 100 มิลลิวินาทีใน iMac 2.7 GHz:D=200

GLPK Simplex Optimizer, v4.65
200 rows, 200 columns, 20100 non-zeros
Preprocessing...
199 rows, 200 columns, 20099 non-zeros
Scaling...
 A: min|aij| =  1.000e+00  max|aij| =  1.607e+60  ratio =  1.607e+60
...
Constructing initial basis...
Size of triangular part is 199
*     0: obj =   0.000000000e+00 inf =   0.000e+00 (200)
*     1: obj = -6.223015278e+139 inf =   0.000e+00 (0)
OPTIMAL LP SOLUTION FOUND
Time used:   0.0 secs
Memory used: 3.4 Mb

ใครช่วยแนะนำวิธีอื่นในการสร้างปัญหาที่ยากสำหรับวิธีการ simplex ช้า แต่ไม่ผูกพันหน่วยความจำ?

เพิ่ม: สี่เหลี่ยมละตินรู้จักการเรียงสับเปลี่ยนแบบสามมิติดูเหมือนว่าจะมีจุดยอดมากมายหลายวิธี
ทฤษฎีและการปฏิบัติมีความใกล้ชิดทางทฤษฎีมากกว่าที่เป็นจริง


-1

เดิมขั้นตอนวิธี Simplex อาจแตกต่าง; มันวนรอบในบางกรณี ดังนั้นไม่มีข้อผูกมัดทั่วไป คำตอบอื่น ๆ ให้คำตอบสำหรับการดัดแปลงอัลกอริทึม Simplex แบบต่างๆ

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