Nach meinem Verständnis kann, da eine Lösung für ein lineares Programm immer an einem Scheitelpunkt seiner polyedrischen realisierbaren Menge auftritt (wenn eine Lösung existiert und der optimale Zielfunktionswert unter der Annahme eines Minimierungsproblems von unten begrenzt ist), wie eine Suche durch die Innere der machbaren Region besser sein? Konvergiert es schneller? Unter welchen Umständen wäre es vorteilhaft, die Simplex-Methode gegenüber der Innenpunktmethode zu verwenden? Ist einer in einem Code einfacher zu implementieren als der andere?
14
Antworten:
Aufgrund persönlicher Erfahrungen würde ich sagen, dass Simplex-Methoden nur unwesentlich einfacher zu implementieren sind als Interior-Point-Methoden, basierend auf persönlicher Erfahrung aus der Implementierung sowohl von Primal-Simplex- als auch von Basic-Interior-Point-Methoden in MATLAB im Rahmen einer linearen Programmierklasse . Die Haupthindernisse bei Primal Simplex sind die korrekte Implementierung von Phase I und Phase II sowie die korrekte Implementierung einer Antiradfahrregel. Die Haupthindernisse bei der Implementierung einer Innenpunktmethode für die lineare Programmierung sind in der Regel die korrekte Implementierung der iterativen Methode und die entsprechende Skalierung des Barriereparameters.
Eine ausführlichere Beschreibung der Vor- und Nachteile der einzelnen Algorithmen finden Sie in einem Lehrbuch zur linearen Programmierung, z. B. Einführung in die lineare Optimierung von Bertsimas und Tsitsiklis. ( Haftungsausschluss: Ich habe die lineare Programmierung aus diesem Lehrbuch gelernt und habe die lineare Programmierung am MIT von Bertsimas 'Frau übernommen.) Hier sind einige der Grundlagen:
Vorteile von Simplex:
Nachteile von Simplex:
Vorteile der Innenpunktmethoden:
Nachteile der inneren Punktmethoden:
quelle
Die Antwort ist einfach. Sie beide (Simplex- und Innenpunktmethode) sind aus algorithmischer Sicht ein ausgereiftes Feld. Sie arbeiten beide sehr gut in der Praxis. Der gute Ruf von IPM (Interior Point Methods) beruht auf seiner Polynomkomplexität im ungünstigsten Fall. Bei Simplex mit kombinatorischer Komplexität ist dies nicht der Fall. Dennoch kommen kombinatorische lineare Programme in der Praxis so gut wie nie vor. Bei sehr großen Problemen scheint IP etwas schneller zu sein, ist aber in der Regel nicht erforderlich. Meiner Meinung nach kann IP leicht zu verstehen und zu implementieren sein, aber sicherlich kann jemand anderes anderer Meinung sein, und das ist in Ordnung. Wenn die Lösung in LP eindeutig ist, befindet sie sich definitiv in einem Scheitelpunkt (sowohl IP als auch Simplex eignen sich auch hier gut). Die Lösung kann sich auch auf einer Fläche des Polyeders oder auf einer Kante befinden. Der benachbarte Scheitelpunkt ist (oder sind Scheitelpunkte) ebenfalls eine Lösung (wiederum sind sowohl IP als auch Simplex gut geeignet). Sie sind also ziemlich gleich.
quelle