Co to jest programowanie kwadratowe?

Programowanie kwadratowe jest metodą stosowaną do optymalizacji wielowymiarowej funkcji kwadratowej, która może, ale nie musi być ograniczona liniowo. Wiele problemów z prawdziwym światem, takich jak optymalizacja portfela firmy lub zmniejszenie kosztów producenta, można opisać za pomocą programu kwadratowego. Jeśli funkcja celu jest wypukła, może istnieć wykonalne rozwiązanie i może zostać rozwiązane przez znane algorytmy, takie jak rozszerzony algorytm simplex. Istnieją metody rozwiązywania niektórych funkcji kwadratowych bez konweksu, ale są one skomplikowane i nie są łatwo dostępne.

Techniki optymalizacji matematycznej są stosowane w programowaniu kwadratowym, aby zminimalizować funkcję celu. Funkcja celu składa się z wielu zmiennych decyzyjnych, które mogą być ograniczone. Zmienne decyzyjne mają uprawnienia 0, 1 lub 2. Funkcja celu może być poddana szeregowi ograniczeń równości i nierówności liniowych dotyczących zmiennych decyzyjnych. Przykładem kwadratowego programowania jest:Minimalizuj f (x, y) = x 2 + 3y 2 - 12y + 12 gdzie x + y = 6 i x> 0 i y ≥ 0.

Często interesujące jest użycie wielowymiarowych funkcji kwadratowych do opisania problemów z prawdziwym światem. Na przykład, korzystając z nowoczesnej teorii portfela, analityk finansowy spróbuje zoptymalizować portfolio firmy, wybierając odsetek aktywów, które minimalizują ryzyko związane z danym oczekiwanym zwrotem. Równanie kwadratowe złożone z wag aktywów i korelacja między aktywami opisuje wariancję portfela, którą można zminimalizować za pomocą programowania kwadratowego. Innym przykładem może być producent, który wykorzystuje równanie kwadratowe do opisania związku między różnymi komponentami jakości i kosztem produktu. Producent może zminimalizować koszty przy zachowaniu określonych standardów, dodając ograniczenia liniowe do programu kwadratowego.

Jeden z najważniejszych konditioNS w rozwiązywaniu programu kwadratowego jest wypukłość równania obiektywnego. Wypukłość funkcji kwadratowej jest określana przez hesjan lub macierz jej drugiej pochodnej. Funkcja nazywa się wypukłą, jeśli matryca hesjańska jest albo pozytywną, lub pozytywną pół-definitową, to znaczy, jeśli wszystkie wartości własne są odpowiednio pozytywne lub nie wymagające. Jeśli Hesjan jest pozytywny i istnieje możliwe rozwiązanie, to lokalne minimum jest wyjątkowe i jest globalne minimum. Jeśli Hesjan jest częściowo pozytywnym, wykonalne rozwiązanie może nie być wyjątkowe. Funkcje kwadratowe niekonvex mogą mieć lokalne lub globalne minimum, ale trudniej jest je ustalić.

Istnieje wiele podejść do rozwiązywania wypukłej funkcji kwadratowej za pomocą programowania kwadratowego. Najczęstszym podejściem jest rozszerzenie algorytmu Simplex. Niektóre inne metody obejmują metodę punktu wewnętrznego lub barierę, metodę aktywnego zestawu i metodę koniugatu. Metody te są zintegrowane z CERProgramy tain, takie jak Mathematica® i Matlab® i są one dostępne w bibliotekach dla wielu języków programowania.

INNE JĘZYKI