1 Iwona Konarzewska Programowanie celowe - wprowadzenie Katedra Badań Operacyjnych UŁ
2 Programowanie celowe W praktycznych sytuacjach podejmowania decyzji często występuje kilka celów. Problem pojawia się, gdy cele te są w konflikcie. Programowanie celowe bierze pod uwagę jednocześnie kilka celów podejmowania decyzji.
3 Programowanie celowe Celom nadaje się priorytety oraz określa się dla nich poziomy aspiracji. Rozwiązanie optymalne jest osiągnięte wówczas, gdy wszystkie cele są możliwie bliskie poziomom aspiracji przy jednoczesnym spełnieniu układu ograniczeń. Dwa typy modeli programowania celowego: Programowanie celowe bez hierarchizacji celów. Programowanie celowe z hierarchizacją celów - celom przyporządkowuje się priorytety.
4 PROGRAMOWANIE CELOWE BEZ HIERARCHIZACJI Firma rozważa trzy formy reklamy: Cele Cel 1: Nie przekroczyć budżetu $25 000. Koszt reklamy Liczba klientów Telewizja 3000 1000 Radio 800 500 Prasa 250 200 Cel 2: Dotrzeć do co najmniej 30 000 klientów. Cel 3: Zakupić co najmniej 10 spotów telewizyjnych.
5 Przykład: Reklama X 1 liczba spotów telewizyjnych, X 2 liczba spotów radiowych, X 3 liczba reklam prasowych Zapis celów w postaci ograniczeń jest następujący: 3000X 1 + 800X 2 + 250X 3 25 000 1000X 1 + 500X 2 + 200X 3 30 000 X 1 10 Rozwiązanie dopuszczalne spełniające wszystkie ograniczenia nie istnieje. Gdy ograniczenia traktujemy jako cele do osiągnięcia, możemy spróbować się do nich maksymalnie zbliżyć.
6 Przykład: Reklama Wprowadzamy nieujemne zmienne zdefiniowane jako odległości od określonych celów U i = wielkość, o jaką lewa strona jest niższa od prawej strony ograniczenia. E i = wielkość, o jaką lewa strona przewyższa wartość prawej strony ograniczenia. Równania celów 3000X 1 + 800X 2 + 250X 3 + U 1 E 1 = 25 000 1000X 1 + 500X 2 + 200X 3 + U 2 E 2 = 30 000 X 1 + U 3 E 3 = 10
7 Przykład: Reklama Kryterium optymalizacji jest minimalizacja funkcji kary wynikającej z nieosiągnięcia celów, konstruowanej z wykorzystaniem wprowadzonych zmiennych mierzących niekorzystne odchylenia od celów. E1, U2, U3. 25 000 30 000 10
8 Przykład: Reklama Wielkości kar szacuje się przykładowo następująco (ustala się względne wagi dla niekorzystnych odchyleń) : Każdy dodatkowy dolar przeznaczony na reklamę ponad $25 000 kosztuje firmę $1. Firma ponosi stratę $5 na każdego klienta w przypadku nieosiągnięcia celu 30 000 klientów. Każdy spot telewizyjny poniżej 10-ciu jest wart 100 razy więcej niż każdy dolar przekroczenia budżetu reklamowego.
9 Przykład: Reklama Zakładamy, że przekroczenie celu nie daje dodatkowych korzyści. Model PL przyjmie postać: Min z = 1E 1 + 5U 2 + 100U 3 (suma względnych odchyleń od celów) przy ograniczeniach: 3000X 1 + 800X 2 + 250X 3 + U 1 E 1 = 25 000 1000X 1 + 500X 2 + 200X 3 + U 2 E 2 = 30 000 X 1 + U 3 E 3 = 10 (ewentualnie także inne ograniczenia funkcyjne) Ograniczenia na nieujemność wszystkich zmiennych (zarówno decyzyjnych jak i odchyleń od zadanych celów.
10 Komórka celu (Min) Przykład: Reklama Komórka Nazwa Wartość początkowa Wartość końcowa $N$12 min 0 13500 Komórki zmiennych Komórka Nazwa Wartość początkowa Wartość końcowa $C$12 zmienne x1 0 0 $D$12 zmienne x2 0 0 $E$12 zmienne x3 0 150 $F$12 zmienne u1 0 0 $G$12 zmienne u2 0 0 $H$12 zmienne u3 0 10 $I$12 zmienne e1 0 12500 $J$12 zmienne e2 0 0 $K$12 zmienne e3 0 0
11 Przykład: Reklama Komórki zmiennych Końcowa Koszt Współczynnik Dopuszczalny Dopuszczalny Komórka Nazwa wartość zmniejszony funkcji celu wzrost spadek $C$12 zmienne x1 0 1650 0 1E+30 1650 $D$12 zmienne x2 0 175 0 1E+30 175 $E$12 zmienne x3 150 0 0 70 250 $F$12 zmienne u1 0 1 0 1E+30 1 $G$12 zmienne u2 0 3,75 5 1E+30 3,75 $H$12 zmienne u3 10 0 100 1650 100 $I$12 zmienne e1 12500 0 1 3 0,943 $J$12 zmienne e2 0 1,25 0 1E+30 1,25 $K$12 zmienne e3 0 100 0 1E+30 100 Ograniczenia Końcowa Cena Prawa strona Dopuszczalny Dopuszczalny Komórka Nazwa wartość dualna ograniczenia wzrost spadek $L$15 LHS 25000-1 25000 12500 1E+30 $L$16 LHS 30000 1,25 30000 1E+30 10000 $L$17 LHS 10 100 10 1E+30 10
12 Przykład: Reklama Interpretacja elementów rozwiązania i raportu wrażliwości: Aby zbliżyć się do sformułowanych celów należy zamówić jedynie 150 reklam prasowych. Oznacza to przekroczenie budżetu o $12 500, dotarcie dokładnie do 30 000 klientów oraz 0 spotów telewizyjnych (cel był określony na co najmniej 10). Rozwiązanie uległoby zmianie, gdyby np. waga w funkcji kryterium dla nieosiągnięcia celu 2 spadła poniżej 1,25. Wzrost budżetu na reklamę o 1$ spowoduje spadek minimalnej wartości funkcji kary o 1$. Żądanie dotarcia z reklamą do jednego klienta więcej spowoduje wzrost minimalnej kary o1,25$.
13 PROGRAMOWANIE CELOWE Z HIERARCHIZACJĄ CELÓW Firma NECC planuje wielkość produkcji dwóch typów rowerów B2 i S10 w następnym miesiącu. Dane: Oba modele wyposażone są w takie same siodełka i opony. Dostępnych jest 2000 siodełek i 2400 opon. Dostępnych jest 1000 zestawów przerzutek (używanych tylko w modelu S10). Czas produkcji na jednostkę: 2 godz. dla B2; 3 godz. dla S10. Zysk jednostkowy: $40 dla B2; 100$ dla S10.
14 NECC Priorytety dla celów Priorytet 1: Zapewnić wywiązanie się z kontraktu na 400 rowerów B2 w następnym miesiącu Priorytet 2: Minimalna wielkość łącznej produkcji w następnym miesiącu to 1000 rowerów. Priorytet 3: Cel 3.1 Osiągnąć zysk w wysokości co najmniej $100 000. Cel 3.2 Ilość wykorzystanych roboczogodzin nie może przekroczyć 1600. Priorytet 4: Cel 4.1 Na koniec miesiąca powinien zostać zapas co najmniej 200 opon. Cel 4.2 Na koniec miesiąca powinien zostać zapas co najmniej 100 zestawów przerzutek.
15 NECC Zarząd firmy chce znaleźć rozwiązanie najlepiej odpowiadające postawionym celom.
16 NECC - rozwiązanie Zmienne decyzyjne X 1 = Liczba rowerów B2 produkowana w następnym miesiącu X 2 = Liczba rowerów S10 produkowana w następnym miesiącu Ograniczenia funkcyjne i na nieujemność zmiennych X 2 X X 1 1 1 + X X + 2 X,X 2 2 2 2 0 2000 1000 2400 Siodełka Zestawy przerzutek Opony
17 NECC - rozwiązanie Dla każdego zdefiniowanego celu wprowadzamy dwie nowe zmienne: U i wyraża poziom nieosiągnięcia celu i-tego, E i - wyraża poziom o jaki cel został przekroczony i=1,,k
18 NECC - rozwiązanie Ograniczenia związane z celami Priorytet 1 (cel 1): Co najmniej 400 B2 X 1 + U 1 - E 1 = 400 Priorytet 2 (cel 2): Co najmniej 1000 rowerów X 1 + X 2 + U 2 - E 2 = 1000 Priorytet 3 (cel 3.1) Minimalny zysk $100 000 0,04X 1 + 0,10X 2 + U 3 - E 3 = 100 (w $1000) (cel 3.2) Maksymalnie 1600 roboczogodzin 2X 1 + 3X 2 + U 4 - E 4 = 1600 Priorytet 4 (cel 4.1) Co najmniej 200 opon w zapasie 2X 1 + 2X 2 + U 5 - E 5 = 2200 (cel 4.2) Co najmniej 100 zestawów przerzutek w zapasie X 2 + U 6 - E 6 = 900
19 NECC - rozwiązanie Cele według priorytetów Minimalizacja niekorzystnych odchyleń od założonych poziomów minimalnych bądź maksymalnych Priorytet 1: Nieosiągnięcie wielkości produkcji 400 rowerów B2: Min U 1 Priorytet 2: Nieosiągnięcie produkcji całkowitej 1000 rowerów: Min U 2
20 NECC - rozwiązanie Cele według priorytetów Priorytet 3: Nieosiągnięcie $100 000 zysku Wykorzystanie więcej niż 1600 roboczogodzin Min 30U 3 + E 4 Każde $1000 zysku mniej niż cel $100 000 uważa się za 30 razy bardziej ważne niż 1 rb-godz. powyżej 1600.
21 NECC - rozwiązanie Cele według priorytetów Priorytet 4: Zużycie więcej niż 2200 opon Zużycie więcej niż 900 zestawów przerzutek Min E 5 + 2E 6 Każdy zestaw przerzutek jest dwukrotnie wyżej ceniony od opony.
22 NECC procedura rozwiązywania 1. Rozwiąż zadanie liniowe celowe (LPG) dla priorytetu 1 z ograniczeniami funkcyjnymi i celowymi jak poniżej Min U 1 X 1 = 400, zatem U 1 = 0, cel o priorytecie 1 jest w pełni osiągnięty i nie przekroczony X 1 + X X 2 2 2000 1000 2 X + 2 X 1 2 2400 X 1 + U 1 - E 1 = 400 Siodełka Przerzutki Opony
23 NECC procedura rozwiązywania 2. Rozwiąż zadanie LPG dla priorytetu 2, przy oryginalnym zbiorze ograniczeń plus dodatkowe ograniczenie X 1 = 400 (pozostawiamy poziom osiągnięcia celu z priorytetem 1.). X 2 X 1 1 + + X X 2 X 2 2 2 Min U 2 2000 Siodełka 1000 2400 Przerzutki Opony X 1 = 400 X 1 + X 2 + U 2 - E 2 = 1000 Rozwiązanie optymalne: X 1 =400, X 2 =600, U 2 =0, E 1 =0.
24 NECC procedura rozwiązywania 3. Rozwiąż zadanie dla celów o priorytecie 3, z oryginalnymi ograniczeniami plus ograniczenie X 1 =400 (poziom osiągnięcia celu o priorytecie 1), plus ograniczenie X 1 + X 2 =1000 (pozostawiamy poziom osiągnięcia celu o priorytecie 2). Rozwiązaniem optymalnym jest punkt o współrzędnych X 1 = 400 oraz X 2 = 600; 30U 3 + E 4 = 1720 jest poziomem osiągnięcia celów o priorytecie 3.; U 3 = 24, E 4 =1000.
25 NECC procedura rozwiązywania Rozwiąż zadanie LPG dla celów o priorytecie 4., z oryginalnymi ograniczeniami plus ograniczenie X 1 =400 (poziom osiągnięcia celu o priorytecie 1), plus ograniczenie X 1 + X 2 =1000 (pozostawiamy poziom osiągnięcia celu o priorytecie 2), plus ograniczenie, że poziom osiągnięcia celów o priorytecie 3 wynosi 1720. Rozwiązanie optymalne: X1 =400; X2 = 700 Wartość funkcji celu: E5 + 2E6 = 0
26 NECC podsumowanie rozwiązania Firma NECC powinna w następnym miesiącu produkować 400 szt. modelu B2 700 szt. modelu S10
27 Zmienne B2 S10 U1 E1 U2 E2 U3 E3 U4 E4 U5 E5 U6 E6 Wartość 400 700 0 0 0 100 14 0 0 1300 0 0 200 0 Cel 1: produkcja dokładnie 400 szt. rowerów B2; U1 i E1 równe zero Cel 2: Łączna produkcja o 100 sztuk rowerów więcej niż wymagane minimum 1000 szt.; U2=0, E2=100 Cel 3.1: nieosiągnięcie minimalnego poziomu zysku, 14 tys. $ poniżej minimalnego poziomu; U3=14, E3=0 Cel 3.2: przekroczenie maksymalnego limitu czasu pracy o 1300 godzin; U4=0, E4=1300 Cel 4.1: zostaje dokładnie 200 sztuk opon jak wymagano; U5=0, E5=0 Cel 4.2: zostaje więcej zestawów przerzutek niż wymagano o 200 sztuk; U6=200, E6=0.