Jak rozumiem, ponieważ rozwiązanie programu liniowego zawsze występuje w wierzchołku jego wielościennego wykonalnego zestawu (jeśli istnieje rozwiązanie, a optymalna wartość funkcji celu jest ograniczona od dołu, zakładając problem minimalizacji), w jaki sposób można przeszukać wnętrze realnego regionu może być lepsze? Czy zbiega się szybciej? W jakich okolicznościach korzystniejsze byłoby zastosowanie metody simpleksowej niż metody punktów wewnętrznych? Czy jedno jest łatwiejsze do zaimplementowania w kodzie niż drugie?
14
Odpowiedzi:
Opierając się na osobistym doświadczeniu, powiedziałbym, że metody simpleksowe są nieznacznie łatwiejsze do zrozumienia niż metody punktowe wewnętrzne, w oparciu o osobiste doświadczenia z implementacji zarówno podstawowej pierwotnej simpleksu, jak i podstawowej metody punktowej wewnętrznej w MATLAB w ramach przyjmowania liniowej klasy programowania . Głównymi przeszkodami w pierwotnym simpleksie jest upewnienie się, że poprawnie wdrażasz fazę I i fazę II, a także poprawnie wdrażasz regułę antycykliczną. Główne przeszkody we wdrażaniu metody punktu wewnętrznego dla programowania liniowego zwykle polegają na poprawnym wdrażaniu metody iteracyjnej i odpowiednim skalowaniu parametru bariery.
Pełniejsze omówienie zalet i wad każdego algorytmu można znaleźć w podręczniku programowania liniowego, takim jak Wprowadzenie do optymalizacji liniowej autorstwa Bertsimasa i Tsitsiklisa. ( Zastrzeżenie: Nauczyłem się programowania liniowego z tego podręcznika i wziąłem programowanie liniowe na MIT od żony Bertsimasa.) Oto niektóre z podstawowych zasad:
Zalety simplex:
Wady simplex:
Plusy wewnętrznych metod punktowych:
Wady metod punktów wewnętrznych:
źródło
Odpowiedź jest łatwa. Obie metody (simpleks i metoda punktowa wewnętrzna) są dojrzałym polem z algorytmicznego punktu widzenia. Oba działają bardzo dobrze w praktyce. Dobra reputacja IPM (metody punktów wewnętrznych) wynika z jego złożoności wielomianowej w najgorszym przypadku. Tak nie jest w przypadku simpleksu, który ma złożoność kombinatoryczną. Niemniej jednak kombinatoryczne programy liniowe prawie nigdy nie zdarzają się w praktyce. W przypadku problemów na bardzo dużą skalę IP wydaje się być nieco szybszy, ale reguła nie jest konieczna. Moim zdaniem własność intelektualna może być łatwa do zrozumienia i wdrożenia, ale na pewno ktoś inny może się nie zgodzić, i to jest w porządku. Teraz, w LP, jeśli rozwiązanie jest unikalne, zdecydowanie znajduje się w wierzchołku (zarówno IP, jak i Simplex mają się tutaj dobrze). Rozwiązanie może również znajdować się na powierzchni wielościanu lub na krawędzi, w którym to przypadku, sąsiadujący wierzchołek jest (lub wierzchołki są) rozwiązaniem (znowu, zarówno IP, jak i simplex mają się dobrze). Więc są prawie takie same.
źródło