Bearbeiten: Lassen Sie uns diese Erklärung noch einmal versuchen, diesmal wenn ich wacher bin.
Es gibt drei große Probleme mit der Formulierung (in der Reihenfolge des Schweregrads):
- Es gibt keine offensichtliche Neuformulierung des Problems, das offensichtlich glatt, konvex oder linear ist.
- Es ist nicht glatt.
- Es ist nicht unbedingt konvex.
Keine offensichtliche glatte / konvexe / lineare Neuformulierung
Zunächst einmal gibt es keine offensichtliche Neuformulierung jeder Einschränkung. Arons Vorschlag gilt für die allgemeinere Einschränkung , bei der eine Einschränkung wie durch die folgenden zwei äquivalenten Ungleichungen ersetzt wird:Die Neuformulierung ist nicht ideal. Jede Bedingung wurde durch lineare Bedingungen ersetzt, aber sie konvertiert ein nicht glattes nichtlineares Programm in ein lineares Programm, das um Größenordnungen schneller zu lösen ist.min U i j ≤ min k { U i k , U k j } U i j ≤ U i k ,maxmin
Uij≤mink{Uik,Ukj}
U i j ≤ U k j ,Uij≤Uik,∀k
min 2 nUij≤Ukj,∀k.
min2n
Wolfgang weist darauf hin, dass es möglich sein könnte (er schließt keinen Beweis ein), die Einschränkungen durch Hinzufügen von Slack-Variablen linear und glatt umzuformulieren. Für jede Einschränkung in der ursprünglichen Formulierung muss eine Slack-Variable hinzugefügt werden. Dies bedeutet, dass wir in dieser Neuformulierung Einschränkungen hinzufügen . Außerdem wird jede Einschränkung durch (oder so) lineare Einschränkungen ersetzt. Der wahre Mörder ist, dass die Nichtglätte von den Randbedingungen zum Ziel verschoben wird, sodass die Formulierung von Wolfgang immer noch ein nichtglattes nichtlineares Programm ergibt.max n 2 max 2 nmaxmaxn2max2n
Es gibt keine Standard-Neuformulierung von Einschränkungen in einem mir bekannten Minimierungsproblem, nachdem ich mein Lehrbuch zur linearen Programmierung überprüft und eine Literaturrecherche durchgeführt habe. Dies bedeutet nicht, dass eine solche Neuformulierung nicht existiert. es bedeutet nur, dass ich nicht darauf gestoßen bin. Wenn ich raten müsste, würde ich sagen, dass es keine LP-Formulierung gibt.max
Nichtglätte
Ungleichmäßigkeit bedeutet in diesem Zusammenhang, dass mindestens eine der Funktionen in der Formulierung (das Ziel oder die Nebenbedingungen) nicht zweimal kontinuierlich differenzierbar ist. Die nicht glatten Funktionen in dieser Formulierung sind die Funktionen.max
Nichtglätte ist ein großes Problem, weil:
- es macht Ihr Problem sofort nichtlinear
- Die meisten nichtlinearen Programmierlöser übernehmen zweimal kontinuierlich differenzierbare Funktionen
Da Funktionen nicht einmal kontinuierlich differenzierbar sind, können Sie auch herkömmliche Gradientenabstiegsmethoden nicht ohne Schwierigkeiten anwenden. Nicht glatte nichtlineare Programmieralgorithmen sind langsamer als ihre glatten Gegenstücke.max
Mögliche Nichtkonvexität
Ihr Problem könnte nicht konvex sein, da in "Standardform" für nichtlineare Programme (dh Ausdrücken aller Einschränkungen in der Form ) die lästigen Einschränkungen in Ihrem Formulierung sindg(x)≤0
Uij−maxk{Uik,Ukj}≤0,∀i,j,k.
Diese Funktionen sind konkav.
Beweis: In diesem Fall sind die Funktionen und beide konvex. Die Summe der konvexen Funktionen ist konvex, und das Multiplizieren einer konvexen Funktion mit -1 ergibt eine konkave Funktion. (QED.) max k { U i k , U k j }−Uijmaxk{Uik,Ukj}
Nur weil nicht konvex ist, heißt das nicht, dass Ihr Problem tatsächlich nicht konvex ist. Wenn Sie jedoch versuchen, ein Optimierungsproblem mit globaler Optimalität zu lösen, können Sie nur garantieren, dass ein konvexer Optimierungslöser dies tut Geben Sie ein globales Optimum zurück, wenn Ihr Problem konvex ist. Wenn Sie wirklich ein globales Optimum wünschen, müssen Sie feststellen, ob Ihre realisierbare Menge konvex ist (oder nicht). Fehlen solche Informationen, müssen Sie davon ausgehen, dass Ihr Problem möglicherweise nicht konvex ist, und Sie müssen Algorithmen verwenden, die nicht auf Konvexitätsinformationen beruhen. Selbst dann sind die Unstetigkeit und das Fehlen einer guten Neuformulierung viel größere Probleme.g
Möglichkeiten zur Lösung des Problems
Geben Sie sich damit zufrieden, eine mögliche Lösung zu finden. In diesem Fall tue, was Aron gesagt hat, und ersetze durch die dann unter Verwendung einer Standard-LP-Neuformulierung als zwei separate Ungleichungen ausgedrückt werden können. Das resultierende Problem ist eine LP-Einschränkung des Problems, das Sie lösen möchten. es sollte sich relativ zu Ihrem ursprünglichen Problem schnell lösen lassen, und wenn es eine Lösung hat, ist diese Lösung für Ihr ursprüngliches Problem durchführbar, und sein Zielfunktionswert ist eine Untergrenze für den optimalen Zielfunktionswert Ihres ursprünglichen Problems.U i j ≤ min k { U i k , U k j } ,
Uij≤maxk{Uik,Ukj},∀i,j,k
Uij≤mink{Uik,Ukj},∀i,j,k,
Versuchen Sie Ihr Glück mit Ihrer Formulierung, so wie sie mit einem Bundle-Löser für nicht reibungslose Programme ist. Ich habe nicht viel Erfahrung mit diesen Arten von Lösern. (Ein Kollege von mir verwendet sie für seine Recherchen.) Sie sind wahrscheinlich langsam, da sie keine abgeleiteten Informationen verwenden können. (Ich denke, sie verwenden stattdessen Subgradienten- oder Clarkes allgemeine Gradienteninformationen.) Es ist auch unwahrscheinlich, dass Sie große Probleminstanzen mit einem Bundle-Solver lösen können.