Edycja: Spróbujmy ponownie tego wyjaśnienia, tym razem, gdy bardziej się obudzę.
Istnieją trzy duże problemy z sformułowaniem (w kolejności ważności):
- Nie ma oczywistej przeformułowania problemu, który byłby oczywiście gładki, wypukły lub liniowy.
- Nie jest gładka.
- Niekoniecznie jest wypukły.
Brak wyraźnego przeformułowania gładkiego / wypukłego / liniowego
Po pierwsze, nie ma standardowego, oczywistego przeformułowania każdego ograniczenia. Sugestia Arona dotyczy bardziej powszechnego ograniczenia min , w którym ograniczenie takie jak U i j ≤ min k { U i k , U k j } jest zastępowane przez dwie równoważne nierówności: U i j ≤ U i k ,maxmin
UI j≤ mink{ Uja k, Uk j}
U i j ≤ U k j ,UI j≤ Uja k,∀ k
Przeformułowanie nie jest idealne, każde
minimalne ograniczenie zostało zastąpione
2 n wiązaniami liniowymi, ale przekształca nie gładki nieliniowy program w program liniowy, który jest o rząd wielkości szybszy do rozwiązania.
UI j≤ Uk j,∀ k .
min2 n
maxmaxn2)max2 n
max
Brak gładkości
max
Brak gładkości jest ogromnym problemem, ponieważ:
- natychmiast sprawia, że twój problem jest nieliniowy
- większość nieliniowych solverów programistycznych przyjmuje dwa razy ciągle zmienne funkcje
max
Możliwa niewypukłość
g ( x )≤ 0
UI j- maxk{ Uja k, Uk j} ≤ 0 ,∀ i , j , k .
Te funkcje są wklęsłe.
- UI jmaxk{ Uja k, Uk j}
sol
Opcje rozwiązania problemu
UI j≤ maksk{ Uja k, Uk j} ,∀ i , j , k
UI j≤ mink{ Uja k, Uk j} ,∀ i , j , k ,
Spróbuj szczęścia na swoim sformułowaniu, tak jak w przypadku solvera pakietów dla programów niepłynnych. Nie mam dużego doświadczenia z tego typu rozwiązaniami. (Mój kolega wykorzystuje je w swoich badaniach.) Prawdopodobnie są one powolne, ponieważ nie mogą wykorzystywać informacji pochodnych. (Myślę, że zamiast tego używają uogólnionych lub uogólnionych informacji gradientowych Clarke'a). Jest również mało prawdopodobne, że będziesz w stanie rozwiązać duże problemy z rozwiązaniem pakietu.