Przypuszczać
gdzie jest symetryczną macierzą n × n , a v e c ( U ) przekształca U w jednowymiarowy wektor z n 2 wejściami.
Część powyższego programu, która sprawia mi problemy, to . (Ograniczanie rozwiązań nieujemnych macierzy symetrycznych wydaje się proste).
Z góry dziękuję za wszelką pomoc lub referencje!
Odpowiedzi:
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):
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 ,max min
Brak gładkości
Brak gładkości jest ogromnym problemem, ponieważ:
Możliwa niewypukłość
Te funkcje są wklęsłe.
Opcje rozwiązania problemu
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.
źródło
źródło
źródło
źródło
Nie mogę znaleźć przycisku komentarza ...
Jeśli jest to zestaw wypukły, możesz wykonać opadanie gradientu na swojej funkcji celu, używając czegoś takiego jak algorytm_projektu Dykstry, aby rzutować z powrotem na przestrzeń ograniczeń.
źródło
źródło