Programowanie matematyczne
Programowanie matematyczne – problem optymalizacyjny postaci:
- Maksymalizacja przy warunkach
- gdzie należy do jest podzbiorem przestrzeni zaś i są funkcjami zdefiniowanymi na tym podzbiorze.
Warunki 1. i 2. nazywane są warunkami ograniczającymi, natomiast funkcja to funkcja celu; rozwiązania tego problemu nazywa się rozwiązaniami optymalnymi. W języku teorii decyzji, gdzie programowanie matematyczne znalazło szerokie zastosowanie (np. przy optymalizacji struktury kosztów produkcji), pojęciom tym odpowiadają kolejno: warunek ograniczający decyzję, kryterium oceny decyzji oraz decyzja optymalna.
Problem został zdefiniowany jako problem maksymalizacji, jednak można przedstawić problem równoważny:
- Minimalizacja przy warunkach:
Nie istnieje jeden efektywny algorytm rozwiązania problemu programowania matematycznego, dlatego problemy należące do różnych klas rozwiązywane są różnymi metodami. Oto najważniejsze z nich:
Przykład
edytujDo produkcji opakowań potrzebny jest karton i folia aluminiowa, przy czym dostępne są dwie metody produkcji (A i B). W metodzie A zużywamy 0,5 jednostki kartonu i 0,45 jednostki folii. W metodzie B zużywamy odpowiednio 0,6 i 0,5 jednostek produktów. Maksymalna dzienna produkcja jedną i drugą metodą wynosi 200 opakowań. Opakowanie wyprodukowane metodą A przynosi nam zysk w wysokości 1,5 zł, zaś metodą B – 1,8 zł. Jednocześnie jesteśmy w stanie dostarczyć dziennie do fabryki 200 jednostek kartonu i 300 jednostek folii. Jaki plan produkcji należy przyjąć, aby zysk z przedsięwzięcia był największy?
Formułujemy zadanie programowania matematycznego: Niech i oznaczają odpowiednio liczbę jednostek wyprodukowanych metodą A i B. Zysk można opisać funkcją: Dziennie zużyjemy jednostek kartonu i jednostek folii. Zapisujemy warunki oraz funkcję celu:
- maksymalizacja:
- i
Jednym z siedmiu rozwiązań optymalnych jest: należy wyprodukować 196 jednostek metodą A i 170 jednostek metodą B. Osiągniemy wtedy maksymalny zysk 600 zł.