Przepraszam za długie pytanie, potrzebuje tylko wyjaśnienia, aby przejść do rzeczywistego problemu. Osoby zaznajomione z wymienionymi algorytmami prawdopodobnie mogłyby przejść bezpośrednio do pierwszego tablau simpleksowego.
Aby rozwiązać problemy z najmniejszymi odchyleniami bezwzględnymi (alias -optymalizacja), algorytm Barrodale-Roberts jest specjalną metodą simpleksową, która wymaga znacznie mniej pamięci i wysiłków obliczeniowych, aby znaleźć odpowiednie minimum.
Moja implementacja algorytmu kończy się na prostym przykładzie, zanim zostanie osiągnięte odpowiednie minimum. Najprawdopodobniej jednak najpierw przedstawię problem w bardziej rozbudowany sposób:
Podane dane , -optimization próbuje znaleźć to minimalizuje
Barrodale i Roberts zasugerowali (najwyraźniej szeroko stosowaną) modyfikację metody simplex, która radykalnie upraszcza metodę simpleks przy użyciu specjalnej struktury -problemy. Przede wszystkim dlatego, że optymalne rozwiązanie interpoluje przynajmniejpodanych punktów danych. Osoby z dostępem do Jstor mogą znaleźć odpowiedni artykuł tutaj .
Lei i Anderson w 2002 roku zaproponowali niewielką modyfikację, która ma zwiększyć stabilność numeryczną, a tym samym przezwyciężyć znane problemy z algorytmem simpleks.
Zasadniczo ten algorytm zakłada, że zaczynasz od określonego zestawu punktów, które muszą być interpolowane, użyj podanych procedur do zbudowania tablicy simpleksowej, a następnie użyj reguł Barrodale i Robertsa, aby zdecydować, które zmienne podstawowe należy zmienić, a zatem zmodyfikować zbiór punktów danych, który jest przybliżony.
Barrodale i Roberts dają mały przykład, który próbowałem odtworzyć. Próbuje przybliżyć punkty przez funkcję . Zakończ swój algorytm następującym skróconym obrazem simpleksowym:
Co najważniejsze, pierwszy i trzeci punkt są interpolowane, a ogólny błąd jest równy . Wnioskują to
Ponieważ wszystkie wektory niebazowe mają niepozytywny koszt krańcowy [...]
iteracja jest zakończona i osiąga się optymalne.
Jeśli użyję algorytmu Lei i Andersona, mogę odtworzyć ten simpleksowy zbiór dla zestawu interpolacji {1,3}, zgodnie z oczekiwaniami. Jednak jeśli zacznę algorytm od zestawu (co wyraźnie nie jest optymalne), otrzymuję następujący tableau simpleks:
Ten wynik mnie jednak zastanawia. Jeśli dobrze rozumiem powyższy cytat, brak dodatniego kosztu krańcowego oznacza, że osiągnięto optymalne. Jednak wartość funkcji około 2,33 z pewnością nie jest optymalna. Wymiana z dałoby wynik równy rozwiązaniu Barrodale'a i Robertsa, a zatem optymalny.
Informacje dodatkowe: Jeśli zacznę od początkowego układu tabel podanego przez Barrodale i Robertsa, będę w stanie odtworzyć powyższy układ za pomocą zwykłych kroków simpleksowych, więc jestem całkiem pewien, że rzeczywiste wartości liczbowe są prawidłowe i moja interpretacja reguły wyboru przestawnej jest wadliwy.
Masz jakieś przemyślenia na ten temat?
Zdaję sobie sprawę, że samo pytanie jest dość skomplikowane i prawdopodobnie wymaga wystarczającej znajomości przynajmniej algorytmu Barrodale i Robertsa. Algorytm jako całość musi powtórzyć go tutaj szczegółowo. Jeśli jednak masz dodatkowe pytania dotyczące podjętych przeze mnie kroków lub brakujących informacji, możesz je zadać i chętnie pomogę.