P. Kowalik, Laboratorium badań operacyjnych: zadanie optymalnej diety 7. Zadanie optymalnej diety (przykład w wersji rozszerzonej o górne normy spożycia produktów) Zadanie to opisuje sytuację decyzyjną, w której trzeba dokonać wyboru najtańszej mieszanki produktów spożywczych zwanej dietą, spełniającej jednocześnie normy odnośnie spożycia w pewnym ustalonym okresie (najczęściej jednego dnia). Choć nie ma to znaczenia z punktu widzenia obliczeń, z praktycznego punktu widzenia ten model nadaje się raczej do układania planów żywienia dla zwierząt niż dla ludzi (ze względu na pominięcie kwestii walorów smakowych oraz nieuchronną monotonię tak ułożonej diety). Wyboru diety można dokonać spośród n różnych dostępnych produktów spożywczych. W rozważanym okresie należy zapewnić spożycie co najmniej minimalnych wymaganych ilości m różnych (takich jak białko, węglowodany, tłuszcze, witaminy, sole mineralne itp. a także odpowiednią ilość kalorii) zawartych w produktach. Zakładamy, że koszty jednostkowe produktów są stałe i nie zależą od wielkości zakupu. Dane są: a ij, i=,...,m, j =,...,n - zawartość i-tego składnika odżywczego na jednostkę j-tego produktu (np. ilość g białka na kg soi, g węglowodanów na kg dżemu, dag tłuszczu na kg mięsa, mg wit. C na litr soku itp.); i j b, i=,...,m - minimalne wymagane spożycie i-tego składnika odżywczego w rozważanym okresie (mierzone np. w mg, g, kg, ml, l, cm, kcal); c, j =,...,n - cena jednostkowa dla j-tego produktu, mierzona w PLN/l, PLN/kg, PLN/m, PLN/t itp. (zamiast PLN może być dowolna inna waluta, ale dla wszystkich produktów jednakowa). Należy zaplanować, które produkty spożywcze i w jakich ilościach należy zakupić aby zminimalizować łączne koszty ich zakupu w rozważanym okresie, dostarczając przy tym co najmniej tyle, ile przewidują normy minimalnego wymaganego spożycia. Zmiennymi decyzyjnymi w tym zagadnieniu są zatem ilości produktów spożywczych: j - wielkość zakupu i spożycia j-ego produktu spożywczego, a ogólny model zagadnienia można zapisać następująco: c + +... + n n min - łączny koszt zakupu produktów przy ograniczeniach minimalne wymagane spożycie a + a +... + an n b a + a +... + a b m m mn n m 0, 0,..., n 0 ilości produktów spożywczych nie mogą być ujemne Rozszerzenia modelu (nie muszą występować jednocześnie jedynie niektóre z nich!) Jeżeli istnieją górne normy spożycia składników d i, i=,...,m - maksymalne wymagane spożycie i-tego składnika odżywczego w rozważanym okresie to wtedy należy dodać następującą grupę warunków ograniczających a + a +... + an n d a + a +... + a d m m mn n m maksymalne dopuszczalne spożycie Mogą też istnieć górne normy spożycia składników każdego z osobna oraz wszystkich razem g j - maksymalne dopuszczalne spożycie j-tego produktu spożywczego w rozważanym okresie - górna norma G - maksymalne dopuszczalne spożycie wszystkich produktów spożywczych w rozważanym okresie - górna norma. Wówczas należy dodać następującą grupę warunków ograniczających g, g,..., n g n ilości spożytych produktów nie mogą być większe niż górne normy spożycia produktów; + +... + n G łączna ilość spożytych produktów nie może być większa niż górna norma spożycia.
P. Kowalik, Laboratorium badań operacyjnych: zadanie optymalnej diety Zadanie cz. Dla potrzeb tuczu świń należy sporządzić najtańszą mieszankę paszową składającą się z co najwyżej sześciu dostępnych produktów (zbóż, roślin strączkowych oraz zielonki - liści buraka pastewnego). Przy planowaniu mieszanki należy uwzględnić dzienne zapotrzebowanie na składniki odżywcze oraz na kalorie. Dane liczbowe do zadania (z normami żywieniowymi dla świni) znajdują się w tabeli. jęczmień (kg) kukurydza (kg) Produkty spożywcze pszenica rzepak (kg) (kg) liście buraków pastew.(kg) soja (kg) Minimalne wymagane ilości składników (w gramach lub kcal) Ceny jednostkowe (PLN/kg) 0,0 0,90 0,0 0, 0,0 0,80 Składniki odżywcze Jednostkowe zawartości białko (g/kg) 0 9 0 9 00 0 tłuszcz (g/kg) 9 7 0 wapń (g/kg),7,,,7 0,9, fosfor (g/kg),,, 0,,7 7 kalorie (kcal/kg) 70 0 80 0 90 07 700 Zadanie cz. (rozszerzenie dodane górne normy spożycia składników) Sprawdzić, jak się zmieni wynik, po wprowadzeniu norm maksymalnego dopuszczalnego spożycia składników (dane poniżej). Składniki odżywcze Maksymalne dopuszczalne ilości składników (w gramach lub kcal) białko 780 tłuszcz 0 wapń 0 fosfor kalorie 000 Zadanie cz. (rozszerzenie dodane górne normy spożycia składników oraz produktów, zarówno łącznie jak i każdego oddzielnie) Sprawdzić, jak się zmieni wynik, po wprowadzeniu - oprócz górnych norm spożycia składników - norm dla maksymalnego dopuszczalnego spożycia produktów. Spożycie każdego z produktów nie może przekroczyć,9 kg a łączne spożycie wszystkich produktów 7, kg.zadanie cz. Sprawdzić, jak się zmieni wynik po zmniejszeniu górnej normy dla kalorii do 900. Model matematyczny do zadania,,,,, - ilości produktów spożywczych (komponentów diety) w kg (odpowiednio jęczmienia, kukurydzy, rzepaku, liści buraków pastewnych i soi) wchodzących w skład mieszanki (paszy) 0, + 0,9 + 0, + 0, + 0,0 + 0,8 min (funkcja celu łączny koszt zakupu produktów spożywczych przy ograniczeniach 0 + 9 + + 0 + 9 + 00 9 + + 7 + + +,7 +, +, +,7 + 0,9 +,, + +, +, + 0, +,7 70 + 0 + 80 + 0 + 90 + 07 0, 0, 0, 0, 0, 0 komponentów diety) minimalne wymagane dzienne spożycie 0 0 7 700 - ilości produktów spożywczych nie mogą być ujemne
P. Kowalik, Laboratorium badań operacyjnych: zadanie optymalnej diety Funkcja celu i pierwszy z warunków ograniczających rozpisane z jednostkami. PLN PLN PLN PLN PLN 0, kg J + 0,9 kg K + 0, kg P + 0, kgr + 0,0 kgl + 0, 8 kg J kg K kg P kgr kgl PLN kgs kgs 0 0 g b kg J g b kgr kgj + 9 kgr + 9 g b kg K g b kgl kg K + kgl + 00 g b kg P kgs 0g b Rozwiązywanie zadania: część klasyczne zadanie optymalnej diety. Wprowadzanie danych do komórek arkusza g b kgs kg P + Jak zwykle, użytkownik musi zdecydować, które komórki arkusza będą pełnić rolę zmiennych decyzyjnych ( iksów ). W rozwiązywanym właśnie zadaniu komórkami pełniącymi rolę zmiennych decyzyjnych będą B, C, D, E, F, G czyli w skrócie zakres (tablica) B:G. Odpowiedniość pomiędzy komórkami a zmiennymi jest następująca: B -, C -, D -, E -, F -, G -. g b oznacza gramy białka Rozmieszczenie danych dla zadania optymalnej diety Ponieważ współczynniki funkcji celu znajdują się w komórkach B, C, D, E, F, G, zatem odpowiednikiem funkcji celu 0, + 0,9 + 0, + 0, + 0,0 + 0, 8 będzie formuła =BB+CC+DD+EE+FF+GG Zastosujemy jednak prostszą we wprowadzaniu (zwłaszcza, jeżeli użyty zostanie kreator funkcji z menu Wstaw-Funkcja) równoważną formułę =SUMA.ILOCZYNÓW(B:G;B:G). Analogicznie, jak na poprzednim laboratorium, funkcja celu jest podobna do lewych stron warunków ograniczających (wszystkie są sumami iloczynów liczb i zmiennych). Dzięki temu formuła reprezentująca w arkuszu funkcję celu zostanie wykorzystana do stworzenia, przy pomocy kopiowania, formuł reprezentujących lewe strony warunków ograniczających W tym celu formuła ta musi być wpisana w postaci =SUMA.ILOCZYNÓW(B:G;B$:G$)
P. Kowalik, Laboratorium badań operacyjnych: zadanie optymalnej diety Kolejnym etapem jest skopiowanie komórki H na zakres H:H0. Dzięki właściwościom kopiowania nie trzeba bowiem wprowadzać formuł (funkcja celu + formuł na lewe strony warunków ograniczających). Wystarczy wpisać formułę (odpowiadającą funkcji celu) jeden raz, a pozostałe formuły wygenerować poprzez kopiowanie. Informacja na temat formuł: wprowadzanej i kopiowanych Zapis matematyczny Formuły dosłowne tzn. takie które należałoby wpisać przy literalnym przełożeniu zapisu matematycznego na składnię Ecela 0, + + 0,9 + 0, + 0, + 0,0 0, 8 =BB+CC+DD+EE+FF+GG 0 + + 9 + + 0 + 9 00 =BB+CC+DD+EE+FF+GG 9 + + + 7 + + =B7B+C7C+D7D+E7E+F7F+G7G,7 + +, +, +,7 + 0,9, =B8B+C8C+D8D+E8E+F8F+G8G, + + +, +, + 0,, 7 =B9B+C9C+D9D+E9E+F9F+G9G 70 + 0 + 80 + 0 + 90 + 07 =B0B+C0C+D0D+E0E+F0F+G0G Komórka H H H7 H8 H9 Formuły z SUMA.ILOCZYNÓW odpowiadające formułom dosłownym =SUMA.ILOCZYNÓW(B:G;B$:G$) =SUMA.ILOCZYNÓW(B:G;B$:G$) =SUMA.ILOCZYNÓW(B7:G7;B$:G$) =SUMA.ILOCZYNÓW(B8:G8;B$:G$) =SUMA.ILOCZYNÓW(B9:G9;B$:G$) H0 =SUMA.ILOCZYNÓW(B0:G0;B$:G$) Uwagi Wprowadzona przez użytkownika Otrzymana przez kopiowanie z H Otrzymana przez kopiowanie z H Otrzymana przez kopiowanie z H Otrzymana przez kopiowanie z H Otrzymana przez kopiowanie z H
P. Kowalik, Laboratorium badań operacyjnych: zadanie optymalnej diety Zrzut ekranu powyżej nie ilustruje żadnych czynności, a jedynie służy do kontroli poprawności wprowadzenia danych! Wyniki formuł na tym etapie są zerami, ponieważ w B:H znajdują się zera. To samo, co powyżej, ale zamiast wyników formuł są wyświetlone same formuły. Ustawienia Solvera Na tym etapie zakończyło się wprowadzanie danych bezpośrednio do komórek arkusza. Mamy następujące związki między zapisem matematycznym a zapisem w Ecelu: B C D E F G (B:G),,,,,.- ilości produktów spożywczych (komponentów diety) w kg (odpowiednio jęczmienia, kukurydzy, rzepaku, liści buraków pastewnych i soi) wchodzących w skład mieszanki (paszy) H 0, + 0,9 + 0, + 0, + 0,0 + 0,8 min (funkcja celu łączny koszt zakupu produktów) przy ograniczeniach min. dzienne wymagane spożycie składn. odżywczych H 9 + + 7 + + + 0 I H7 9 + + 7 + + + 0 I7 H8,7 +, +, +,7 + 0,9 +, I8, + +, +, + 0, +,7 70 + 0 + 80 + 0 + 90 + 07 H9 7 I9 H0 700 I0 (H:H0) (I:I0) B C D E F G (B:G) 0, 0, 0, 0, 0, 0 - ilości produktów spożywczych nie mogą być ujemne
P. Kowalik, Laboratorium badań operacyjnych: zadanie optymalnej diety Należy teraz otworzyć okno (Ecel 00 i starsze menu Narzędzia-Solver, Ecel 007 i nowsze wstążka Dane- Solver; nazewnictwo używane poniżej jest dostosowane do interfejsu Solvera do wersji Ecela do 007 włącznie), a następnie zadeklarować ustawienia: Komórka celu: H Równa: Min (ponieważ funkcja celu jest minimalizowana; trzeba ustawić ręcznie opcja domyślna to Maks!) Komórki zmieniane: B:G Warunki ograniczające: B:G>=0 H:H0>=I:I0 Uwaga B:G>=0 jest skróconym zapisem dla B>=0, C>=0, D>=0, E>=0, F>=0, G>=0 (czyli 0, 0, 0, 0, 0, 0 ) H:H0>=I:I0 jest skróconym zapisem dla H>=I, H7>=I7, H8>=I8, H9>=I9, H0>=I0 (warunki związane ze spożyciem ) Główne okno Solvera (Solver - Parametry) widok przed dodaniem warunków ograniczających. W samym polu Warunki ograniczające nic nie wpisujemy, ponieważ jest to NIEMOŻLIWE. Aby dodać warunki, klikamy w Dodaj. Otwiera się nowe okno Dodaj warunek ograniczający Wprowadzamy pierwszą grupę warunków -warunki nieujemności zmiennych (B:G>=0) i klikamy Dodaj.
P. Kowalik, Laboratorium badań operacyjnych: zadanie optymalnej diety 7 Pojawia się znowu okno Dodaj warunek ograniczający. Wprowadzamy analogicznie warunki ograniczeń funkcyjnych (H:H0>=I:I0). Ponieważ nie ma już więcej warunków do dodania, klikamy OK. Następuje powrót do okna Solver - Parametry Po dodaniu warunków ograniczających okno Solver Parametry powinno wyglądać jak niżej Ustawienia Solvera dla rozwiązywanego zadania Teraz trzeba tylko kliknąć w Rozwiąż i zaczekać (bardzo krótko), aż pojawi się następujące okno: Pozostaje już tylko kliknąć w OK, aby zaakceptować wynik. Rozwiązanie zadania Odpowiedź słowna Minimalny dzienny koszt diety wynosi,987 PLN. Jest on osiągnięty dla następującej diety (planu zakupów i spożycia): 0 kg jęczmienia, 0 kg kukurydzy, 0 kg pszenicy, = = = =,09 kg rzepaku, = 0 kg liści buraków, = 0 kg soi. Uwagi. Dieta składa się jedynie z jednego produktu rzepaku. Pomimo wszelkich zdroworozsądkowych czy naukowych argumentów za różnorodnością żywienia (w sensie używania różnych produktów spożywczych do stworzenia diety), rozważany model tego nie gwarantuje, a optymalna dieta może równie dobrze składać się z jednego, jak i ze wszystkich dostępnych produktów. Ponieważ spożycie białka, fosforu i kalorii bardzo przekracza wymagane minimalne spożycie, zatem drugi etap rozwiązywania zadania uwzględnia górne limity spożycia (zasada co za dużo, to niezdrowo ).
P. Kowalik, Laboratorium badań operacyjnych: zadanie optymalnej diety 8 Rozwiązywanie zadania: część - rozszerzenie zadania o górne limity spożycia składników (górne) normy maksymalnego dopuszczalnego spożycia składników Dodanie górnych limitów spożycia składników poszerza model matematyczny o nową grupę warunków ograniczających. Model matematyczny do zadania (wariant rozszerzony - dolne i górne normy spożycia składników),,,,, - ilości produktów spożywczych (komponentów diety) w kg (odpowiednio jęczmienia, kukurydzy, rzepaku, liści buraków pastewnych i soi) wchodzących w skład mieszanki (paszy) 0, + 0,9 + 0, + 0, + 0,0 + 0,8 min (funkcja celu łączny koszt zakupu produktów spożywczych przy ograniczeniach 0 + 9 + + 0 + 9 + 00 9 + + 7 + + +,7 +, +, +,7 + 0,9 +,, + +, +, + 0, +,7 70 + 0 + 80 + 0 + 90 + 07 0 + 9 + + 0 + 9 + 00 9 + + 7 + + +,7 +, +, +,7 + 0,9 +,, + +, +, + 0, +,7 70 + 0 + 80 + 0 + 90 + 07 0, 0, 0 0, 0, 0 komponentów diety) minimalne wymagane dzienne spożycie 0 0 7 700 maksymalne dopuszczalne dzienne spożycie 780 0 0 000 - ilości produktów spożywczych nie mogą być ujemne Przykładowe rozmieszczenie danych w arkuszu dla zadania optymalnej diety z dodatkowymi górnymi normami spożycia składników. Widoczne na zrzucie ekranu rozwiązanie odnosi się do zadania bez górnych norm spożycia składników, czyli otrzymanego w poprzednim etapie rozwiązywania. W kolumnie J dopisane są górne normy spożycia składników.
P. Kowalik, Laboratorium badań operacyjnych: zadanie optymalnej diety 9 Jak widać, nowe warunki ograniczające rozpisane z adresami komórek wyglądają następująco H 0 + 9 + + 0 + 9 + 00 780 J H7 9 + + 7 + + + 0 J7 H8,7 +, +, +,7 + 0,9 +, 0 J8, + +, +, + 0, +,7 70 + 0 + 80 + 0 + 90 + 07 H9 J9 H0 000 J0 (H:H0) (J:J0) Teraz trzeba otworzyć okno Solvera i dodać te warunki zbiorczo jako H:H0<=J:J0. Po kliknięciu Dodaj na oknie Solver-Parametry wpisujemy: Okno Solvera z nowymi warunkami wygląda następująco. Dodatkowe ograniczenia związane z górnymi normami spożycia. Grupa warunków z górnymi limitami spożycia została dodana jako trzecia, ale jest wyświetlona jako druga. Co prawda zgodnie z regułami sortowania alfabetycznego (J po I) grupa ta powinna być wyświetlona jako trzecia, ale w sortowaniu warunków brana jest też pod uwagę kolejność znaków równości i nierówności. Jest ona taka jak na rozwijanej liście w polu Dodaj warunek ograniczający czyli: <=,=,>=. Pozostaje teraz tylko kliknąć Rozwiąż aby otrzymać nowe rozwiązanie. Rozwiązanie zadania z uwzględnieniem górnych norm spożycia składników.
P. Kowalik, Laboratorium badań operacyjnych: zadanie optymalnej diety 0 Odpowiedź słowna Minimalny dzienny koszt diety z uwzględnieniem górnych norm spożycia składników wynosi,9 PLN Jest on osiągnięty dla następującej diety (planu zakupów i spożycia): 0 kg jęczmienia, 0, 879 kg kukurydzy, 0 kg pszenicy, = = = =,888 kg rzepaku, =, 990 kg liści buraków, = 0kg soi. Uwagi. Uwzględnienie górnych norm spożycia składników spowodowało wzrost kosztów diety. Niestety, w tym konkretnym przypadku dieta ta zmieniła istotnie swój skład. Oprócz rzepaku pojawiła się w niej kukurydza oraz - w bardzo wysokich ilościach - liście buraków. Ponieważ spożycie wielkich ilości produktów może być szkodliwe, zatem normy ich spożycia również w razie potrzeby muszą być uwzględniane. Rozwiązywanie zadania: część - wprowadzone górne norm spożycia produktów (oddzielnie każdego oraz ich łącznej ilości). Dodanie górnych limitów spożycia produktów spożywczych jest zrealizowane w zadaniu na dwa sposoby: poprzez limitowanie spożycia poszczególnych produktów ( Spożycie każdego z produktów nie może przekroczyć,9 kg ) oraz wszystkich produktów łącznie( łączne spożycie wszystkich produktów [nie może przekroczyć] 7, kg ). Model matematyczny jest zatem poszerzony o nową grupę warunków ograniczających. Model matematyczny do zadania (wariant rozszerzony - dolne i górne normy spożycia składników, górne normy spożycia produktów spożywczych),,,,, - ilości produktów spożywczych (komponentów diety) w kg (odpowiednio jęczmienia, kukurydzy, rzepaku, liści buraków pastewnych i soi) wchodzących w skład mieszanki (paszy) 0, + 0,9 + 0, + 0, + 0,0 + 0,8 min (funkcja celu łączny koszt zakupu produktów spożywczych przy ograniczeniach 0 + 9 + + 0 + 9 + 00 9 + + 7 + + +,7 +, +, +,7 + 0,9 +,, + +, +, + 0, +,7 70 + 0 + 80 + 0 + 90 + 07 0 + 9 + + 0 + 9 + 00 9 + + 7 + + +,7 +, +, +,7 + 0,9 +,, + +, +, + 0, +,7 70 + 0 + 80 + 0 + 90 + 07 0, 0, 0 0, 0, 0 komponentów diety) minimalne wymagane dzienne spożycie 0 0 7 700 maksymalne dopuszczalne dzienne spożycie 780 0 0 000 - ilości produktów spożywczych nie mogą być ujemne Spożycie poszczególnych produktów nie większe niż górna norma dla poszczególnych produktów,9, 9, 9 9,, 9, 9 Łączne spożycie produktów Maksymalne łączne spożycie produktów + + + + + 7,
P. Kowalik, Laboratorium badań operacyjnych: zadanie optymalnej diety Przykładowe rozmieszczenie danych w arkuszu dla zadania optymalnej diety z dodatkowymi górnymi normami spożycia produktów. Widoczne na zrzucie ekranu rozwiązanie odnosi się do zadania z górnymi normami spożycia składników, czyli otrzymanego w poprzednim etapie rozwiązywania. W komórkach I oraz J dopisane są górne normy spożycia produktów, a w komórce H formuła na sumę zmiennych decyzyjnych, czyli łączną ilość spożytych produktów. Widok po wprowadzeniu formuły na łączne spożycie produktów (H) oraz górnych norm spożycia produktów dla łącznego spożycia (7, kg w I) oraz dla spożycia poszczególnych produktów (,9 kg w J). Nowe warunki ograniczające rozpisane z adresami komórek wyglądają następująco Spożycie poszczególnych produktów nie większe niż górna norma dla poszczególnych produktów B, 9 J C, 9 J D, 9 J E, 9 J F, 9 J G, 9 J (B:G) Łączne spożycie produktów Maksymalne łączne spożycie produktów H + + + + + 7, I Teraz trzeba otworzyć okno Solvera i dodać te warunki zbiorczo jako B:G<=J oraz H<=I. Po kliknięciu Dodaj na oknie Solver-Parametry wpisujemy:
P. Kowalik, Laboratorium badań operacyjnych: zadanie optymalnej diety Okno Solvera z nowymi warunkami wygląda następująco. Rozwiązanie zadania z uwzględnieniem górnych norm spożycia składników oraz produktów. Odpowiedź słowna Minimalny dzienny koszt diety z uwzględnieniem górnych norm spożycia składników oraz produktów wynosi, PLN Jest on osiągnięty dla następującej diety (planu zakupów i spożycia): 0 kg jęczmienia,, kg kukurydzy, 0 kg pszenicy, = = = = 0,8 kg rzepaku, =, 9 kg liści buraków, = 0kg soi. Uwagi. Uwzględnienie górnych norm spożycia produktów wraz górnymi normami spożycia składników spowodowało kolejny wzrost kosztów diety.
P. Kowalik, Laboratorium badań operacyjnych: zadanie optymalnej diety Rozwiązywanie zadania: część - górna norma spożycia kalorii zmniejszona do 900 Zmniejszenie górnego limitu spożycia kalorii do 900 g oznacza, że warunek ograniczający 70 + 0 + 80 + 0 + 90 + 07 000 zmieni się na 70 + 0 + 80 + 0 + 90 + 07 900 Należy poprawić zawartość komórki J0 z 000 na 900 i kliknąć Rozwiąż w oknie Solvera. Nie ma żadnych zmian w ustawieniach Solvera! Przy rozwiązywaniu Solver wyświetla komunikat jak niżej, który oznacza, że warunki ograniczające są sprzeczne (nie ma rozwiązania!). Wartości komórek zmienianych i zależnych od nich formuł modelu, które można odczytać w arkuszu po wyświetleniu powyższego komunikatu nie są rozwiązaniami a jedynie wartościami, przy których Solver wstrzymał obliczenia!!!