VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY
BAKALÁŘSKÁ PRÁCE
2013
Jana Šmejkalová
VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY
Název bakalářské práce:
Optimalizace jídelníčku pro obézního člověka
Autor:
Jana Šmejkalová
Katedra:
Katedra ekonometrie
Obor:
Matematické metody v ekonomii
Vedoucí práce:
Ing. Veronika Skočdopolová
Prohlášení: Prohlašuji, že jsem bakalářskou práci na téma „Optimalizace jídelníčku pro obézního člověka“ zpracovala samostatně. Veškerou použitou literaturu a další podkladové materiály uvádím v seznamu použité literatury. V Praze dne 3. červen 2013
................................ Jana Šmejkalová
Poděkování: Ráda bych na tomto místě poděkovala Ing. Veronice Skočdopolové za vedení mé bakalářské práce a za podnětné návrhy, které ji obohatily. Rovněž děkuji paní Olze Mengerové, nutriční specialistce, za poskytnutí dat.
Abstrakt Název práce: Autor: Katedra: Vedoucí práce:
Optimalizace jídelníčku pro obézního člověka Jana Šmejkalová Katedra ekonometrie Ing. Veronika Skočdopolová
Cílem bakalářské práce je sestavení jídelníčku na čtrnáct dní pro obézního člověka. Jídelníček je sestaven tak, aby náklady na stravování byly minimální. Dále se úloha zaměřuje na výživové hodnoty, aby obézní člověk při daném jídelníčku hubnul požadované kilogramy. Aby tento požadavek byl co nejlépe dodržen, je úloha modifikována cílovým programováním, kde se cílí na výživové hodnoty. V původní úloze se využívají metody lineárního programování, speciálně nutriční problém. Výsledný model je zapsán do optimalizačního programu LINGO. Výsledky jsou posléze interpretovány. Nakonec se srovnává řešení úlohy původní a modifikované. Klíčová slova: nutriční problém, obezita, cílové programování
Abstract Title: Author: Department: Supervisor:
Menu optimization for obese person Jana Šmejkalová Department of Econometrics Ing. Veronika Skočdopolová
The aim of the bachelor thesis is to assemble 14 days menu for an obese person. Menu is assembled in a way, so that costs are minimal. Next point of the thesis is aimed on nutritional values in order to lose required kilograms for an obese person on given menu. In order of this request to be fulfilled, assignment is modulated by goal programming, where nutritional values are aimed. In the original assignment, linear programming methods are used, especially nutritional problem. Resultant model is then written into the optimization program LINGO. The results are then interpreted. In the end, the results of the original and modified assignment are compared together. Keywords: nutritional problem, obesity, goal programming
Obsah Úvod ...........................................................................................1 1 Lineární programování ..........................................................2 1.1
Operační výzkum ..................................................................................................................... 2
1.2
Lineární programování ............................................................................................................ 2
2 Vícekriteriální rozhodování ....................................................6 2.1
Matematický model úlohy VLP ................................................................................................ 6
2.2
Cílové programování ............................................................................................................... 7
2.3
Metody odhadu vah kritérií..................................................................................................... 8
3 Obezita ................................................................................10 3.1
Zásady správného stravování ................................................................................................ 11
4 Aplikace nutričního problému ..............................................13 4.1
Formulace matematického modelu ...................................................................................... 14
4.2
Řešení nutričního problému .................................................................................................. 20
Závěr ........................................................................................34 Seznam použité literatury .........................................................35 Přílohy ......................................................................................36
Úvod „Nadměrné jídlo překáží bytosti ducha“. (Seneca) V dnešní době trpí velká část populace obezitou. Bohužel se nejedná pouze o obezitu způsobenou zdravotními problémy, ale především obezitu zapříčiněnou špatným životním stylem. Velký počet lidí si v dnešní uspěchané době neumí najít čas na pravidelnou stravu a fyzickou aktivitu. Tím si ubližují nejen po estetické, ale hlavně po zdravotní stránce. Obezita s sebou z velké části přináší také mnoho přidružených zdravotních problémů. Proto je cílem této práce optimalizace jídelníčku na čtrnáct dní pro obézního člověka, který netrpí žádnou jinou nemocí. Jídelníčky se sestavují individuálně, protože každý člověk má různá omezení (alergie, či jiné nemoci – např. cukrovku), a tím pádem nemůže jíst všechny potraviny. Úkolem je vytvořit univerzální jídelníček, který bude splňovat takové dávky bílkovin, energie, sacharidů a tuků, aby obézní člověk za určitý časový úsek zhubl potřebné kilogramy, s minimálními náklady na vybraná jídla. Je nutné ošetřit příděly jídel v tom smyslu tak, aby se jídla neopakovala a aby ke snídani nebylo naservírováno pečené kuře apod. V první části práce je popsána teorie lineárního programování. Podrobněji je popsána směšovací úloha, jejíž součástí je nutriční problém, který se poté využije v druhé části při formulaci matematického modelu. Dále je popsána teorie cílového programování, kterým je modifikována původní úloha: sestavení jídelníčku na čtrnáct dní při minimálních nákladech. Původní úloha se modifikuje cílovým programováním, jelikož je velmi důležité, aby se výsledné vyživovací hodnoty blížily navrhovaným hodnotám. Pokud by se výživové hodnoty nedodržely, mohlo by se stát, že člověk, který se bude stravovat podle takového optimálního jídelníčku, bude podvyživen, tzn., že bude trpět nedostatkem potřebných živin. Na závěr je k vidění srovnání původního a modifikovaného jídelníčku. Tímto bylo možno zjistit, zda mělo smysl původní úlohu modifikovat nebo je skladba jídel obdobná.
1
1 Lineární programování1 1.1 Operační výzkum Operační výzkum je soubor vědních disciplín zabývající se optimalizačními a rozhodovacími procesy. Je to relativně mladá vědní disciplína. Počátky vzniku datujeme od 30. a 40. let 20. století, a to především díky vojenským strategiím ve 2. světové válce. Rozšíření operačního výzkumu je zaznamenáno s rozvojem výpočetní techniky, s jejímž využitím se specializuje na konkrétní odvětví. Mezi vědní disciplíny operačního výzkumu patří například lineární programování, teorie front, vícekriteriální rozhodování či teorie her.
1.2 Lineární programování Lineární programování je nástroj pro optimalizaci úloh, který hledá extrém účelové funkce na množině přípustných řešení. Účelová funkce je lineární funkce o n proměnných, kterou chceme maximalizovat nebo minimalizovat na množině přípustných řešení dané soustavou omezujících podmínek ve tvaru lineárních rovnic či nerovnic.
1.2.1 Matematický model úlohy lineárního programování Matematický model je sestaven z ekonomického modelu. Ekonomický model je zjednodušením reálného problému, který chceme analyzovat. V ekonomickém modelu je popsán cíl analýzy, který se obvykle zabývá maximalizací zisku či minimalizací nákladů. V matematickém modelu je cíl analýzy vyjádřen účelovou funkcí. Následuje popis procesů, které se v daném problému vyskytují a ovlivňují tak cíl analýzy. Procesy jsou v matematickém modelu proměnné, které mohou např. vyjadřovat množství vyrobeného produktu. Jelikož na procesy mají vliv další činitele, které jsou v matematickém modelu vyjádřeny omezujícími podmínkami, musíme se zabývat kapacitou těchto činitelů. Omezující podmínky jsou v matematickém modelu dvojí, a to vlastní omezující podmínky a nevlastní omezující podmínky. Nevlastní omezující podmínky nejsou závislé na činitelích, ale je to ošetření nezápornosti proměnných a celočíselnosti. Postup sestavení matematického modelu je shodný se sestavením modelu ekonomického. Zápis matematického modelu může být v obecném tvaru: 1
Není-li uvedeno jinak, vychází tato kapitola z [1]
2
maximalizovat (minimalizovat) , za podmínek , ,
. kde n – počet strukturních proměnných modelu, m – počet vlastních omezení, ,
j = 1, 2, ...,n – cenový koeficient j-té proměnné,
,
i = 1, 2, ..., m – hodnota pravé strany i-tého vlastního omezení, ,
i = 1, 2, ..., m j = 1, 2, ..., n – strukturní koeficient vyjadřující vztah mezi i-tým činitelem a j-tým procesem, , = 1, 2, ..., m j = 1, 2, ..., n – hodnota proměnné.
Jak je uvedeno výše v textu, cílem je najít extrém lineární funkce, při dodržení vlastních omezení a podmínek nezápornosti. Mezi typické úlohy lineárního programování řadíme: úlohy výrobního plánování, směšovací problémy, úlohy o dělení materiálu a distribuční úlohy.[2]
1.2.2 Směšovací problém Cílem směšovacích úloh je vytvořit takovou směs, která bude mít požadované vlastnosti či strukturu při dodržení omezujících podmínek a optimalizaci zvoleného kritéria. Nejobvyklejší je minimalizace nákladů na výslednou směs. Proměnné směšovacích problémů obvykle vyjadřují podíl jednotlivých složek na výsledné směsi. Jelikož výslednou směsí nemusí být jen potraviny, může se směšovací úloha využít i ve finančním světě. Tato 3
modifikace se označuje jako optimalizace portfolia, kde se snažíme získat nejvyšší výnos z akcií při minimálním riziku. Další modifikací směšovací úlohy je rozvrhování reklamy, kde se obvykle maximalizuje dopad reklamní kampaně na člověka. Nutriční problém je modifikací směšovacích úloh, kde je cílem návrh denní dávky výživy, např. při minimálních nákladech. Omezující podmínky ošetřují přísun dané vyživovací látky.
1.2.3 Řešitelnost úlohy lineárního programování Úlohy lineárního programování lze řešit např. simplexovou metodou. Simplexová metoda vychází ze základní věty lineárního programování. Prohledává množinu základních řešení úlohy lineárního programování s cílem získat optimální řešení. Tím se ušetří čas, jelikož základních řešení je konečný počet. Po konečném počtu iterací nalezne simplexová metoda optimální řešení nebo žádné optimální řešení neexistuje. Výpočet pomocí simplexové metody probíhá ve dvou fázích. Nejprve se hledá výchozí přípustné řešení úlohy, pokud přípustné řešení neexistuje, výpočet končí (obr. 1.1). Pokud simplexová metoda nalezne výchozí přípustné řešení úlohy lineárního programování, pokračuje se ve výpočtu. V této fázi se metoda snaží nalézt optimální řešení. Pokud ho nalezne, je třeba zjistit, zda je to jediné optimální řešení (obr. 1.2), nebo jich existuje více (obr. 1.3). Také se může stát, ačkoliv má úloha přípustné řešení, že optimální řešení dané úlohy neexistuje (obr. 1.4). Na obr. 1.1–1.4 je znázorněné, jak může dopadnout řešení úloh lineárního programování. Na obr. 1.1 je znázorněn případ, kdy úloha lineárního programování nemá ani přípustné řešení. Jsou zde zobrazeny dvě nerovnosti, pro které neexistuje průsečík. Účelová funkce není na obrázku zobrazena, jelikož to není podstatné, vzhledem k nerovnostem, které byly zmíněny. Za těchto okolností nelze splnit omezující podmínky úlohy lineárního programování. x2
x1 obr. 1.1 Úloha nemá přípustné řešení
4
Na obr. 1.2 je vyobrazena situace, kdy má úloha lineárního programování jediné optimální řešení, a to v bodě A. Šipka zobrazuje směr účelové funkce. Vyšrafovaná oblast je množina přípustných řešení. x2 A
z x1 obr. 1.2 Úloha má jediné optimální řešení
Na obr. 1.3 je znázorněno, že úloha lineárního programování má nekonečně mnoho řešení. Základním optimálním řešením této úlohy jsou body B a C. Mezi body B a C se nachází další optimální řešení, kterých je nekonečně mnoho. Šipka zobrazuje směr účelové funkce a vyšrafovaná oblast je přípustná množina. x2 B
z C
x1 obr. 1.3 Úloha má nekonečně mnoho řešení
Na obr. 1.4 je zobrazena úloha lineárního programování, která nemá optimální řešení. Předpokládá se neomezená množina přípustných řešení. Šipka zobrazuje směr účelové funkce. Vyšrafovaná oblast zobrazuje množinu přípustných řešení. [3] x2 z
x1 obr. 1.4 Úloha nemá optimální řešení
5
2 Vícekriteriální rozhodování2 U úloh v reálných situacích je třeba zvážit více kritérií (faktorů), které na rozhodování působí a které většinou nebývají ve vzájemném souladu. Tím je myšleno, že pokud je nějaká varianta hodnocena jako nejlepší podle jednoho kritéria, tak zpravidla nebývá hodnocena jako nejlepší i na základě jiného kritéria. Analýza vícekriteriálních rozhodovacích úloh je v tomto případě nástrojem pro řešení rozporů a hodnocení vzájemně protikladných kritérií. Cílem je v tomto případě výběr jediné varianty, kterou je možné po více stranách (na základě více kritérií) označit jako optimální. Úlohy vícekriteriálního rozhodování mohou být rozděleny do dvou skupin podle formulace množin rozhodovacích variant – úlohy vícekriteriálního hodnocení variant a úlohy vícekriteriálního programování. V úloze vícekriteriálního hodnocení variant jsou varianty dány konkrétním seznamem. V úloze vícekriteriálního programování mohou být varianty dány soustavou omezujících podmínek, tak jako je tomu v úlohách matematického programování. Pokud jsou omezující podmínky ve formě lineárních funkcí, pak se tyto úlohy nazývají úlohy vícekriteriálního lineárního programování (VLP).
2.1 Matematický model úlohy VLP Matematický model úlohy VLP, lze zapsat obecně: „maximalizovat“ , , , za podmínek , , , .
2
Není-li uvedeno jinak, vychází tato kapitola z [2]
6
Symbol „maximalizovat“ je v uvozovkách úmyslně, neboť nelze jednoznačně určit, co znamená současná maximalizace několika účelových funkcí. kde n – počet strukturních proměnných modelu, m – počet vlastních omezení, k – počet účelových funkcí, ,
j = 1, 2, ..., n – cenový koeficient j-té proměnné v i-té účelové funkci, i = 1, 2, ..., m – hodnota pravé strany i-tého vlastního omezení,
, ,
i = 1, 2, ..., m j = 1, 2, ..., n – strukturní koeficient vyjadřující vztah mezi i-tým, činitelem a j-tým procesem,
– hodnota proměnné.
2.2 Cílové programování Cílové programování je jeden z mnoha postupů pro řešení úloh vícekriteriálního programování. Dosáhnout cílových hodnot můžeme dvěma postupy. Cíle se mohou rozlišovat preferenčně, což znamená, že se subjektivně určí, jaká účelová funkce je pro zadavatele nejdůležitější. Další postup rozlišuje cíle pomocí vah, kde typická úloha cílového programování je složena ze základních částí – účelová funkce, pevné cíle, volné cíle. Účelová funkce modelu cílového programování je vyjádřena jako minimalizace odchylek od zadaných cílových hodnot, tzn. minimalizaci součtu odchylkových proměnných. Dále závisí na hodnotě odchylky, tzn., zda je odchylka záporná či kladná. Pokud se minimalizují pouze záporné odchylky, vede to k takovému řešení, které se přibližuje „zdola“ k cílovým hodnotám, avšak může být i libovolně vyšší než cílová hodnota. Pokud se minimalizují pouze kladné odchylky, vede taková situace k získání řešení, které se „shora“ přibližuje dané cílové hodnotě. Pokud budeme sčítat kladné a záporné odchylky, budeme se k cílové hodnotě přibližovat oboustranně. Pevné cíle jsou omezující podmínky ve tvaru rovnic nebo nerovnic, od kterých se nelze odchýlit, tzn. řešení, které nebude splňovat jeden z pevných cílů, je nepřijatelné. Volné cíle vyrovnávají rozdíl mezi levou a pravou stranou rovnic pomocí odchylek kladných nebo záporných.
7
Obecný zápis pro minimalizaci váženého součtu odchylek: [4] Minimalizovat z=∑ za podmínek ∑
,
∑
i = 1,...,m, ,
i=1,2,...,k,
. – váhy i-té cílové hodnoty, – kladná odchylka od i-té cílové hodnoty, – záporná odchylka od i-té cílové hodnoty, – cílová hodnota, – matice cenových koeficientů, – hodnota proměnné, i = 1, 2, ..., m – hodnota pravé strany i-tého vlastního omezení,
, ,
i = 1, 2, ..., m j = 1, 2, ..., n - strukturní koeficient vyjadřující vztah mezi i-tým, činitelem a j-tým procesem. [4]
2.3 Metody odhadu vah kritérií V cílovém programování se určují priority kritérií pomocí vah. Rozhodovatel většinou nedisponuje váhami v číselné podobě. Proto se usnadňuje rozhodovateli vytvoření vah pomocí nějakého jednoduchého nástroje. Tímto nástrojem mohou být metody odhadu vah kritérií. Základem těchto metod je subjektivní ohodnocení od rozhodovatele. Metoda pořadí Metoda pořadí vyžaduje od rozhodovatele, aby uspořádal kritéria od nejdůležitějšího po nejméně důležité. „Nejdůležitějšímu kritériu je přiřazena hodnota k (k je počet krirérií), druhému kritériu číslo k–1, a tak dále až nejméně důležitému kritériu číslo 1.“ [str. 275] 8
Hodnotu přiřazenou i-tému kritériu označíme symbolem zjistíme podle vztahu:
, potom odhad váhy tohoto kritéria
(1.1)
∑
Bodovací metoda U bodovací metody se předpokládá, že rozhodovatel umí kvantitativně ohodnotit důležitost kritérií v předem určené bodovací stupnici. Čím je kritérium důležitější, tím je mu přiřazeno vyšší bodové ohodnocení. Pokud hodnotu i-tého kritéria označíme symbolem , potom můžeme odhad vah kritérií získat podle vztahu (1.1). Fullerův trojúhelník Metoda je založena na párovém srovnávání kritérií. Rozhodovateli je předloženo trojúhelníkové schéma, ve kterém jsou dvojice jednotlivých kritérií zobrazeny právě jednou. Z každé z dvojic vybírá rozhodovatel to důležitější, které nějakým způsobem označí – např. zakroužkováním. Mají-li ve dvojici obě dvě kritéria pro rozhodovatele stejnou prioritu, označí obě. Pokud hodnotu i-tého kritéria označíme symbolem , potom můžeme odhad vah kritérií získat podle vztahu (1.1). Saatyho metoda Postup odhadu vah pomocí Saatyho metody je propracovanější než předešlé metody a také nejvíce využívaný. Metoda je taktéž založena na párovém porovnávání. Rozhodovatel porovnává všechny možné dvojice kritérií. Prioritu jednoho kritéria před druhým si rozhodovatel určí pomocí celočíselné stupnice 1 až 9. Jednička vyjadřuje, že jsou daná dvě kritéria stejně důležitá a devítka odpovídá tomu, že jedno kritérium výrazně převyšuje důležitostí nad druhým. V opačném případě, kdy je preference jednoho kritéria menší než druhého, se použije převrácená hodnota celých čísel ze zmíněné stupnice. Díky párovému porovnávání se může sestrojit matice S = ( ), kterou označujeme jako Saatyho matici. Prvky matice
,
Dále
jsou odhady podílu vah i-tého a j-tého kritéria: i ,j = 1,2,...,k.
Na diagonále Saatyho matice jsou jedničky, což je zřejmé z předchozího výkladu. = 1 / , i, j = 1, 2, ..., k, což znamená, že prvky Saatyho matice symetrické podle
hlavní diagonály jsou převrácenými hodnotami.
9
3 Obezita6 Obezita je onemocnění, které se řadí do poruch výživy. Její léčbou se zabývá obor dietologie. Obezita je charakterizovaná zvýšeným shlukem tukové tkáně. Jde o civilizační onemocnění. Obezitou rozumíme individuální poruchu energetiky organismu, jež se v posledních letech velmi rozšířila napříč obyvatelstvem. Obezita je závažná nemoc, která může významně zkrátit délku života. Poměr počtu obézních lidí k počtu obyvatel v posledních desítkách let výrazně roste. Podle průzkumů trpí nadváhou v České republice 73% mužů a 57% žen, z těchto údajů trpí obezitou 24% mužů a 26% žen. Existuje řada faktorů, které ovlivňují rozvoj obezity. Nejvýznamnějším faktorem se zdá být nepoměr mezi příjmem a výdejem energie. Klidový metabolismus má vliv na tělesnou hmotnost a je nastaven na určitou klidovou energetickou úroveň. Nebezpečí vzniku nadváhy je přehnaná úspornost organismu, kdy tělo vydává málo energie a tím se utváří zásoby. Obezita se dá identifikovat pomocí body mass indexu (BMI), který se spočte podle jednoduchého vzorce: váha (kg) / výška . Výsledky BMI :
Klasifikace hmotnosti podle BMI: Stupeň podváha normální váha nadváha obezita I. stupně obezita II. stupně obezita III. stupně
BMI (kg/ ) <18,5 18,5–24,9 25,0–29,9 , 30,0–34,9 35,0–39,9 40,0<
Riziko komplikací obezity Nízké Průměrné mírně zvýšené Střední Vysoké velmi vysoké
tab. 3.1
Toto identifikování obezity není příliš vhodné pro lidi, kteří mají vysoký podíl svalové hmoty, neboť BMI neumí rozlišit poměr tuků, svalů a kostí na celkové tělesné hmotnosti. Existuje rozšířená myšlenka v povědomí lidí, že si lidé způsobují obezitu sami. Ve většině případů se jedná o pravdu, protože se tito lidé neumějí správně stravovat. Stravují se v řetězcích rychlého občerstvení, nepřemýšlejí nad skladbou pokrmů. Nezajímají o to, zda jejich tělo dostává správné množství energie, tuků a sacharidů. Jedí nepravidelně. Mnoho lidí vynechává snídani, která je nejdůležitějším pokrmem dne a naopak si v deset hodin večer „smlsnou“ na nějaké pochoutce. Dále se omezuje příjem ovoce a zeleniny, kdy si dá člověk 6
Není-li uvedeno jinak, vychází tato kapitola z [6]
10
raději kolu s bramborovými lupínky. V dnešní době se velmi omezil výdej energie, jak v zaměstnání, tak i při zajišťování běžných denních potřeb. Převážně kvůli technickým vymoženostem. Ženy při úklidu nevydají tolik energie jako v minulosti. Do práce a školy nemusíme chodit pěšky. A celkově je nyní preferován sedavý styl života (u televize, počítače, apod.). Nejenom špatná strava způsobuje obezitu. Dalším faktorem je dědičnost, kdy lidé trpí porušenými biochemickými procesy v organismu. Vzniká narušením jednoho z genů z celkových třiceti. Genetický faktor ovlivňuje celkovou hmotnost ze 40%. Obezita způsobená dědičností se léčí hůře. Obezitě se člověk může vyhnout, pokud se bude držet zásad správného stravování a jestliže bude vyvíjet dostatečnou pohybovou aktivitu. Obezita je vidět na první pohled, ale bohužel to není jen kosmetická vada. Pojí se s ní další komplikace. Obezní lidé často trpí kardiovaskulárními, metabolickými a nádorovými onemocněními. Vysoká tělesná hmotnost ničí klouby a kosti, což často vede ke snížení pohyblivosti. Proto by se toto onemocnění nemělo brát na lehkou váhu.[5]
3.1 Zásady správného stravování Snídaně Doba podávání snídaně je přibližně v 6–9 hodin, přesněji řečeno do jedné hodiny po probuzení. Měla by pokrývat asi 20–25 % denní dávky energie. Snídaně je základ. Měla by obsahovat bílkovinou složku, protože bílkoviny mají největší schopnost zasytit. Další složka by měla být sacharidová, kvůli vláknině. Poslední složkou, která by neměla chybět je ovoce a zelenina. Svačina Doba podávání svačiny je přibližně kolem 10–11 hodiny, lépe řečeno do 2 až 3 hodin po snězení snídaně. Podíl na celkové denní dávce energie by měl být 5–10 %. Svačina by měla být složena zejména z ovoce nebo zeleniny. Druhá svačina by měla následovat 3–4 hodiny po obědě, tedy kolem 15–17 hodiny. Oběd Doba podávání by měla být kolem 12–13 hodiny, respektive 2–3 hodiny po svačině. Měl by pokrývat 25–30 % denní dávky energie. Nejlepší variantou je oběd teplý. Složky oběda by měli být stejné jako u snídaně.
11
Večeře Doba podávání by měla být přibližně 3–4 hodiny před ulehnutím k spánku. Pokrývá přibližně 25% denní dávky energie. Pokud člověk chodí spát pozdě, je vhodné rozdělit tuto dávku do dvou a mít večeře dvě. První večeře by měla obsahovat 20% a druhá 5% denní dávky energie. Složení stejné jako u snídaně a oběda. Z výše uvedeného plyne, že je potřeba dodržovat pravidelnou stravu. Dodržovat malé porce a stravovat se 5–6 denně. Strava by měla být co nejpestřejší. Lidé by se měli snažit zařazovat potraviny s vysokým obsahem vlákniny jako je například ovoce. Vyhýbat se umělým sladidlům, tučným potravinám a potravinám rostlinného původu. V neposlední řadě se nesmí zapomínat na pitný režim. Dospělý člověk by měl vypít denně alespoň 2 až 3litry vody. Energetický příjem závisí na tělesné výšce a hmotnosti, věku a pohybových aktivitách. Proto nutriční specialisti sestavují jídelníček individuálně. Dále se při sestavování jídelníčku přihlíží k dalším onemocněním pacientů. [7]
12
4 Aplikace nutričního problému Pro sestavení jídelníčku na čtrnáct dní s minimálními náklady se využije teorie lineárního programování. Již bylo zmíněno v úvodu, že v dnešní době je obezita velmi rozšířená nemoc. Jídelníček je sestavován z osobního zájmu. Mě osobně velmi zajímá, jak by se měl obézní člověk stravovat, aby zhubl. Jestli je to pro něj drastické a musí výrazně omezit příjem, nebo je to jen špatnou skladbou jídel, tím pádem se bude učit, jak se správně stravuje. Dále je potřeba zmínit, že je ignorován energetický výdej. Z důvodu, že pro obézního člověka je fyzická aktivita velmi nebezpečná, občas i nemožná, a to z důvodu, že nohy často neunesou tělo, je tak člověk upoután na lůžko. Nejdříve se musí upravit jídelníček a až člověk zhubne na určitou váhu, kde opadá riziko pohybu, měl by se daný člověk snažit vyvíjet fyzickou aktivitu. Vždy se začíná pomalou chůzi. Postupem času se intenzita zvyšuje. Data jsou vytvořena v MS Excel jako databáze jídel, kde jídla jsou hlavní množinou, která obsahuje podmnožiny snídaně, přílohy snídaně, svačiny, polévky, obědy, přílohy k obědům, večeře a přílohy k večeřím. Celkový počet jídel a příloh je 148. Přílohy jsou od jídel odděleny z důvodu větší variability. Touto variabilitou je myšleno, že k nějaké omáčce může být jako příloha knedlík, ale také rýže či těstoviny. Dále jsou ke každému jídlu přiřazeny nutriční hodnoty energie (kJ), bílkoviny (g), tuky (g), sacharidy (g) a cena (Kč). Na dalších listech jsou vytvořené matice umělých proměnných. Řádky této matice jsou jídla a sloupce jsou přílohy, kde prvkům matice je přiřazena hodnota 1(0), podle toho, jestli se daná příloha hodí k danému jídlu či nikoliv, tímto se ošetří, aby k šunce s máslem nebyla přidělena příloha těstoviny. Při formulaci musí být podmínkami pojištěno, aby bylo přiděleno jídlo na každý den i ke každému času, kde časem jsou myšleny všechny podmnožiny množiny jídlo. Dále se musí ošetřit, aby se za čtrnáct dnů neopakovala snídaně, oběd a večeře. Polévka a svačina se můžou opakovat maximálně dvakrát. Svačina musí být každý den dvakrát – dopolední a odpolední. Jak je zmíněno výše, přílohy jsou odděleny od jídel, tím pádem musí být zajištěno, aby ke každému jídlu byla přiřazena příloha. Musí se ještě ošetřit, aby se přílohy mohly opakovat maximálně n–krát. Jelikož je to minimalizační úloha, hrozilo by, že by byla vybrána nejlevnější příloha, která by byla servírovaná každý den. Dále se nesmí přesáhnout dané nutriční hodnoty, které jsou určeny na den, pokud by se nedodržely nutriční hodnoty, neměl by daný jídelníček smysl, protože by člověk nezhubl požadované kilogramy. Je zvykem, že nutriční hodnota jídla spadá do nějakého intervalu, kde je minimální požadovaný příjem a maximálně požadovaný příjem. Je to z důvodu, aby se člověk v rámci hubnutí neuskromnil od jídla drasticky. V této úloze je uvedena pouze jedna hodnota, která je požadovaná – ideální příjem nutriční hodnoty. Jelikož je úloha minimalizující, mohlo by se stát, když jsou požadavky na nutriční hodnoty ve formě horních mezí, že se nevybere žádné jídlo = je to nejlevnější varianta. Aby nenastal takový problém, bude to zajištěno jinými podmínkami. 13
.
4.1 Formulace matematického modelu Cílem práce je sestavit jídelníček na čtrnáct dní s minimálními náklady. Proto je účelová funkce minimalizující. Minimalizovat
z
cenai xijk
i jidlo jdny kcas
(4.1) Za podmínek Na každý den v čase snídaně se přidělí snídaně:
xij1 1
pro
,
isnidane
Na každý den v čase příloha ke snídani se přidělí příloha ke snídani:
xij 2
1
pro
,
pro
,
pro
,
pro
,
i prilohy _ snidane
Na každý den v čase svačiny se přidělí dvě svačiny:
xij 3 2
isvaciny
Na každý den v čase polévky se přidělí polévka:
xij 4 1 ipolevky Na každý den v čase oběda se přidělí oběd:
xij 5 1
iobedy
14
Na každý den v čase příloha k obědu se přidělí příloha k obědu:
xij 6 1 i prilohy _ obedy
pro
,
pro
,
Na každý den v čase večeře se přidělí večeře:
xij 7 1
ivecere
Na každý den v čase přílohy večeře se přidělí příloha k večeři:
xij8
1
pro
,
i prilohy _ vecere
(4.2 – 4.9) Za čtrnáct dnů se nebude opakovat snídaně:
xijk 1
pro
,
jdny
Za čtrnáct dnů se nebude opakovat příloha ke snídani více jak pětkrát:
xijk 5
pro
,
pro
,
pro
,
pro
,
jdny
Svačina se může opakovat dvakrát za čtrnáct dnů:
xijk 2
jdny
Polévka se může opakovat dvakrát za čtrnáct dnů:
xijk 2
jdny
Za čtrnáct dnů se nebude opakovat oběd:
xijk 1
jdny
15
Za čtrnáct dnů se nebude opakovat příloha k obědu více jak třikrát:
xijk 3
pro
,
pro
,
jdny
Za čtrnáct dnů se nebude opakovat večeře:
xijk 1
jdny
Za čtrnáct dnů se nebude opakovat příloha k večeři více jak čtyřikrát:
xijk 4
pro
,
jdny
(4.10 – 4.17)
Dodržení energetických hodnot Množství energie v i-té snídani s i-tou přílohou ke snídani nepřesáhne 1710kJ/den:
ENERGIE i xijk
isnidane
ENERGIE i xijk 1710
pro
,
pro
,
i prilohy _ snidane
Množství energie v i-té svačině nepřesáhne 1332kJ/den:
ENERGIE i xijk 1332
isvaciny
Množství energie v i-té polévce s i-tým obědem a i-tou přílohou nepřesáhnou 2225kJ/den:
ENERGIE i xijk ENERGIE i xijk
i polevky
iobedy
ENERGIE i xijk 2225
i prilohy _ obedy
pro
,
Množství energie v i-té večeři s přílohou nepřesáhne 2000kJ/den:
ivecere
ENERGIE i xijk
ENERGIE i xijk 2000
pro
,
i prilohy _ vecere
(4.18 – 4.21) 16
Dodržení množství bílkovin Množství bílkovin v i-té snídani s i-tou přílohou ke snídani nepřesáhne 18g/den:
BILKOVINY i xijk
isnidane
BILKOVINY i xijk 18
pro
,
pro
,
i prilohy _ snidane
Množství bílkovin v i-té svačině nepřesáhne 10,5g/den:
BILKOVINY i xijk 10,5
isvaciny
Množství bílkovin v i-té polévce s i-tým obědem a i-tou přílohou nepřesáhnou 160,4J/den:
BILKOVINY i xijk BILKOVINY i xijk
i polevky
iobedy
BILKOVINY i xijk 160,4
i prilohy _ obedy
pro
,
pro
,
Množství bílkovin v i-té večeři s přílohou nepřesáhne 40,9g/den:
BILKOVINY i xijk
ivecere
BILKOVINY i xijk 40,9
i prilohy _ vecere
(4.22 – 4.25) Dodržení množství tuku Množství tuků v i-té snídani s i-tou přílohou ke snídani nepřesáhne 23,5g/den:
TUKYi xijk
isnidane
TUKYi xijk 23,5
pro
,
i prilohy _ snidane
Množství tuků v i-té svačině nepřesáhne 6,6g/den:
TUKYi xijk 6,6
pro
,
isvaciny
Množství tuků v i-té polévce s i-tým obědem a i-tou přílohou nepřesáhnou 24,6g/den:
TUKYi xijk TUKYi xijk
i polevky
iobedy
TUKYi xijk 24,6
i prilohy _ obedy
pro 17
,
Množství tuků v i-té večeři s přílohou nepřesáhne 24,2g/den:
TUKYi xijk
ivecere
TUKYi xijk 24,2
pro
,
i prilohy _ vecere
(4.26 – 4.29) Dodržení množství sacharidů Množství sacharidů v i-té snídani s i-tou přílohou ke snídani nepřesáhne 74,6g/den:
SACHARIDYi xijk
isnidane
SACHARIDYi xijk 74,6
pro
,
i prilohy _ snidane
Množství sacharidů v i-té svačině nepřesáhne 69g/den:
SACHARIDY i xijk 69
pro
,
isvaciny
Množství sacharidů v i-té polévce s i-tým obědem a i-tou přílohou nepřesáhnou 80,4g/den:
SACHARIDY i xijk SACHARIDY i xijk
i polevky
iobedy
SACHARIDY i xijk 80,4
i prilohy _ obedy
pro
,
pro
,
Množství sacharidů v i-té večeři s přílohou nepřesáhne 77,8g/den:
SACHARIDY i xijk
ivecere
SACHARIDY i xijk 77,8
i prilohy _ vecere
(4.30 – 4.33) Zajištění přidělení povolených příloh Přidělí se povolená l-tá příloha k i-té snídani ve stejný den m:
xim1 xlm2
SNID _ Pil POM _ Silm
pro
,
l prilohy _ snidane
SNID _ Pil POM _ Silm
pro
,
isnidane
(4.34 – 4.35)
18
Přidělí se povolená l-tá příloha k i-tému obědu ve stejný den m:
xim5 xlm6
OBED _ Pil POM _ Silm
pro
,
l prilohy _ obedy
OBED _ Pil POM _ Silm
pro
,
iobedy
(4.36 – 4.37) Přidělí se povolená l-tá příloha k i-tému obědu ve stejný den m:
xim7 xlm8
VECER _ Pil POM _ Silm
pro
,
l prilohy _ vecere
VECER _ Pil POM _ Silm
pro
,
ivecere
(4.38 –4.39) Bivalentní proměnná Pokud je i-tá bivalentní proměnná 1, pak je vybrané i-té jídlo v j-tý den a k-tý čas. Pokud není bivalentní proměnná 1 je to jinak.
xijk 1(0)
pro
; k = 1,...,8,
Pokud je i-tá pomocná bivalentní proměnná 1, pak je k i-té snídani přiřazena povolená l-tá příloha na m-tý den. Pokud není 1, je to jinak.
POM _ Silm 1(0)
pro
; m = 1,...,14,
Pokud je i-tá pomocná bivalentní proměnná 1, pak je k i-tému obědu přiřazena povolená l-tá příloha na m-tý den. Pokud není 1, je to jinak.
POM _ Oilm 1(0)
pro
; m = 1,...,14,
Pokud je i-tá pomocná bivalentní proměnná 1, pak je k i-té večeři přiřazena povolená l-tá příloha na m-tý den. Pokud není 1, je to jinak.
POM _ Vilm 1(0)
pro
; m = 1,...,14. (4.40 – 4.43)
19
kde i – počet jídel, j, m – počet dnů, k – počet časů, l – počet příloh,
cenai ,
– cenový koeficient i-tého jídla,
ENERGIEi ,
– obsah energie i-tého jídla,
BILKOVINYi ,
– obsah bílkovin i-tého jídla,
TUKYi ,
– obsah tuků i-tého jídla,
SACHARIDYi ,
– obsah sacharidů i-tého jídla, – matice umělých proměnných, kde je k i-té
SNID_ Pil ,
snídani přiřazena hodnota 1, pokud je l-tá příloha povolená k i-té snídani, – matice umělých proměnných, kde je k i-tému
OBED_ Pil ,
obědu přiřazena hodnota 1, pokud je l-tá příloha povolená k i-tému obědu, – matice umělých proměnných, kde je k i-té
VECER_ Pil ,
večeři přiřazena hodnota 1, pokud je l-tá příloha povolená k i-té večeři.
4.2 Řešení nutričního problému Úloha je řešena v optimalizačním programu LINGO. Zápis úlohy a data, která byla potřebná k vyřešení této úlohy, jsou přiložena v příloze. Model byl několikrát přepisován, než se sladil s požadavky zápisu v LINGU. Optimální řešení úlohy bylo nalezeno. Interpretace výsledků Optimální řešení dané úlohy je 1 235, 67Kč na osobu při dodržení všech omezujících podmínek. Jídelníček, pro který platí minimální náklady je pro přehlednost uveden v tabulce:
20
Pondělí snídaně dopolední svačina oběd odpolední svačina večeře
Sýr hermelín sametový, Rama Linie s chlebem Ředkvičky Čočková polévka, vepřové játra s bramborem Červená paprika Jarní salát s kuřecím masem a s chlebem Úterý
snídaně dopolední svačina oběd odpolední svačina večeře
Jogurt Müller Mix třešňový s rohlíkem Červená paprika Hrášková polévka, filé z tresky s bramborovou kaší Okurka Vařené hovězí, rajská omáčka s těstovinami Středa
snídaně dopolední svačina oběd odpolední svačina večeře
Debrecínské párky s plnotučnou hořčicí a s rohlíkem Kedlubna Rajská polévka, srnčí s bramborovou kaší Kukuřice Máslo Finea light, paštika Junák s chlebem Čtvrtek
snídaně dopolední svačina oběd odpolední svačina večeře
Sýr camembert - Stříbrňák 30 % , máslo Finea light s chlebem Kedlubna Fazolová polévka, telecí játra s bramborem Kukuřice Chilli con carne s chlebem Pátek
snídaně dopolední svačina oběd odpolední svačina večeře
Vejce na tvrdo s máslem a s bagetou Mandarinka Rajská polévka, hovězí roštěná znojemská s těstovinami Meloun Kuřecí soté se zeleninou a s těstovinami 21
Sobota snídaně dopolední svačina oběd odpolední svačina večeře
Kuřecí šunka Fitness, Rama linie s bagetou Jablko Hrášková polévka, lín s rýží Zelená paprika Šopský salát s bagetou Neděle
snídaně dopolední svačina oběd odpolední svačina večeře
Šunkový salám s chlebem Mandarinka Čočková polévka, vepřové ledvinky s bramborem Banán Dušená mrkev s hráškem a s bagetou Pondělí
snídaně dopolední svačina oběd odpolední svačina večeře
Máslo Finea light, paštika Junák s chlebem Jablko Nudlová polévka, hovězí zadní s bramborovým knedlíkem Kiwi Uzená makrela s bagetou Úterý
snídaně dopolední svačina oběd odpolední svačina večeře
Krabí salát s rohlíkem Zelená paprika Česneková polévka, vepřová plec s bramborovým knedlíkem Rajčata Zeleninový talíř s bylinkovým krémem a s rohlíkem Středa
snídaně dopolední svačina oběd odpolední svačina večeře
Sýr Eidam 30% t.v.s, máslo Finea light s chlebem Pomeranč Česneková polévka, hovězí játra s rýží Mrkev Debrecínské párky s plnotučnou hořčicí a s chlebem Čtvrtek 22
snídaně dopolední svačina oběd odpolední svačina večeře
Ředkvičkový salát, pomazánka s bagetou Mrkev Polévka s drobením, hovězí ledvinky s rýží Banán Mexická omáčka s těstovinami Pátek
snídaně dopolední svačina oběd odpolední svačina večeře
Jogurt Activia bílé pohlazení s rohlíkem Pomeranč Hrášková polévka, telecí játra s rýží Rajčata Salát se slaninou, s ořechy a s rohlíkem Sobota
snídaně dopolední svačina oběd odpolední svačina večeře
Jogurt Activia bílá přírodní, jablko s bagetou Meloun Fazolová polévka, pečené kuře s bramborovou kaší Kiwi Salát Caesar s parmezánem a s rohlíkem Neděle
snídaně dopolední svačina oběd odpolední svačina večeře
Jogurt Jogobella banánová s rohlíkem Okurka Nudlová polévka, vepřová maďarská pečeně s těstovinami Ředkvičky Polévka italská z cizrny a rajčat s rohlíkem tab. 4.1
Je vidět, že polévky a svačiny se opakují maximálně dvakrát. Což bylo umožněno omezujícími podmínkami. Žádná snídaně, oběd i večeře se neopakují. Občas je stejné jídlo na oběd nebo večeři, ale to podmínky dovolují. Z reálného pohledu, člověk občas navaří tak, aby jídlo z oběda zbylo ještě na večeři. Skladba jídelníčku je pestrá, jelikož obsahuje více druhů masa, což je důležité z toho důvodu, že každé maso se skládá z různých živin, které jsou různě prospěšné pro člověka. Je zřejmé, že se na večeřích většinou podílí kuřecí maso, ale to souvisí s výběrem jídel do dat. Bylo tak učiněno z toho důvodu, že je tzv. bílé maso lépe stravitelné. Jen musí dodržovat přesnou skladbu jídelníčku a neměl by jíst žádné potraviny nad rámec tohoto jídelníčku. Nějakou dobu bude potřeba, aby se obézní člověk vyhýbal 23
sladkostem, které se mohou zakomponovat do jídelníčku, až člověk bude vyvíjet fyzickou aktivitu.
4.2.1 Modifikace úlohy Již několikrát bylo zmíněno, že je velmi důležité dodržet denní dávky energie, bílkovin, tuků a sacharidů, proto bude úloha modifikována cílovým programováním. Formulace modifikované úlohy bude uskutečněna na principu minimalizace váženého součtu odchylek, což znamená, že se použijí jak kladné, tak záporné odchylky, které se budou přibližovat, co nejblíže ideální hodnotě např. denní příjem bílkovin ve snídani by měl být 74,6g. K této hodnotě se pomocí odchylek snažíme přiblížit. Ideální hodnoty nemusí být dosaženo anebo může být překročena. V nejlepším případě se hodnoty rovnají. Dále je velmi důležité stanovení hodnot vah. Každá nutriční hodnota je pro dietu jinak významná. Když bude příjem tuků o hodně vyšší, než je doporučená denní dávka, pak může člověk spíše tloustnout, tím pádem by se takováto „dieta“ minula účinkem. Na druhou stranu, když příjem tuků v denní dávce snídaně bude trošku přes ideální dávku, není to takový problém, protože tento příjem metabolismus přes den zpracuje. A zase naopak při večeři, pokud by se přemrštila denní dávka tuků na večeři, je to špatně, jelikož je metabolismus už v klidovém režimu. Na této myšlence jsou sestrojeny váhy pro nutriční hodnoty energie, tuků a sacharidů. Pro nutriční hodnotu bílkovin jsou váhy sestrojeny jinak. Hodnoty vah jsou uvedeny v příloze. Pokud bude denní příjem bílkovin o něco vyšší, než je doporučená denní dávka, nezatěžuje to lidský organismus, protože mu bílkoviny prospívají.
4.2.2 Formulace matematického modelu Modifikovaný matematický model vychází z původního lineárního matematického modelu. Takže omezující podmínky (4.2 – 4.17) a (4.34 – 4.43) jsou i pro modifikovanou úlohu stejné. Účelová funkce (4.1) a zbylé omezující podmínky (4.18 – 4.33) jsou změněny takto: Minimalizovat
z vsnEm
odch _ SNID _ Em j vsnEp
j dny vsvEp vvEm
j dny
odch _ SVAC _ Ep j voEm
odch _ VECER _ Em j vvEp
j dny j dny
odch _ SNID _ Ep j vsvEm odch _ SVAC _ Em j j dny
odch _ OBED _ Ep j voEp odch _ OBED _ Ep j
j dny
j dny
odch _ VECER _ Ep j vsnBm
j dny
odch _ SNID _ Bm j
j dny
24
odch _ SNID _ Bp j vsvBm
j dny
j dny
odch _ OBED _ Bm j voBp
odch _ VECER _ Bp j vsnTm
vsnBp
voBm
j dny vvBp
voTp
odch _ SVAC _ Tm j vsvTp
j dny
odch _ SNID _ Tm j vsnTp
j dny
j dny
odch _ SVAC _ Tp j voTm
odch _ OBED _ Tm j
odch _ SNID _ Tp j
j dny
j dny
odch _ VECER_ Tp j
odch _ OBED _ Tp j vvTm
odch _ VECER _ Tm j vvTp
j dny
j dny
odch _ SNID _ Sm j vsnSp
j dny
j dny
j dny
odch _ SVAC _ Sp j voSm
odch _ VECER_ Sm j
vsnSm
j dny
vvSp
odch _ VECER_ Bm j
odch _ OBED _ Bp j vvBm
j dny
j dny
vsvSp
j dny
j dny
j dny vsvTm
odch _ SVAC _ Bm j vsvBp odch _ SVAC _ Bp j
odch _ SNID _ Sp j vsvSm
odch _ OBED _ Sm j vvSm
j dny
odch _ SVAC _ Sm j
j dny
odch _ VECER_ Sp j
j dny
za podmínek Dodržení energetických hodnot Množství energie v i-té snídani s i-tou přílohou ke snídani cílí k hodnotě 2892kJ/den: (
ENERGIE i xijk
isnidane
ENERGIE i xijk ) odch _ SNID _ Em j odch _ SNID _ Ep j
i prilohy _ snidane
2892
pro
,
Množství energie v i-té svačině cílí k hodnotě 5136kJ/den: (
ENERGIE i xijk ) odch _ SVAC _ Em j odch _ SVAC _ Ep j 5136
isvaciny
pro
25
,
Množství energie v i-té polévce s i-tým obědem a i-tou přílohou cílí k hodnotě 3988kJ/den: (
ENERGIE i xijk ENERGIE i xijk
i polevky
iobedy
ENERGIE i xijk ) odch _ OBED _ Em j
i prilohy _ obedy
odch _ OBED_ Ep j 3988
pro
,
Množství energie v i-té večeři s přílohou cílí k hodnotě 3540kJ/den: (
ENERGIE i xijk ) odch _ VECER _ Em j odch _ VECER _ Ep j
ENERGIE i xijk
ivecere
i prilohy _ vecere
3540
pro
,
Dodržení množství bílkovin Množství bílkovin v i-té snídani s i-tou přílohou ke snídani cílí k hodnotě 20g/den: (
BILKOVINY i xijk
isnidane
BILKOVINY i xijk ) odch _ SNID _ Bm j odch _ SNID _ Bp j
i prilohy _ snidane
20
pro
,
Množství bílkovin v i-té svačině cílí k hodnotě 20,4g/den: (
BILKOVINY i xijk ) odch _ SVAC _ Bm j odch _ SVAC _ Bp j 20,4
isvaciny
pro
,
Množství bílkovin v i-té polévce s i-tým obědem a i-tou přílohou cílí k hodnotě 180,4J/den: (
BILKOVINY i xijk BILKOVINY i xijk
i polevky
iobedy
BILKOVINY i xijk )
i prilohy _ obedy
odch _ OBED _ Bm j odch _ OBED _ Bp j 180,4
pro
,
Množství bílkovin v i-té večeři s přílohou cílí k hodnotě 170,9g/den: (
ivecere
BILKOVINY i xijk
BILKOVINY i xijk ) odch _ VECER _ Bm j
i prilohy _ vecere
odch _ VECER_ Bp j 170,9
pro
26
,
Dodržení množství tuku Množství tuků v i-té snídani s i-tou přílohou ke snídani cílí k hodnotě 26g/den: (
TUKYi xijk
isnidane
TUKYi xijk ) odch _ SNID _ Tm j odch _ SNID _ Tp j 26
i prilohy _ snidane
pro
,
Množství tuků v i-té svačině cílí k hodnotě 62g/den: (
TUKYi xijk ) odch _ SVAC _ Tm j odch _ SVAC _ Tp j 62
isvaciny
pro
,
Množství tuků v i-té polévce s i-tým obědem a i-tou přílohou cílí k hodnotě 24,6g/den: (
TUKYi xijk TUKYi xijk
i polevky
iobedy
TUKYi xijk ) odch _ OBED _ Tm j
i prilohy _ obedy
odch _ OBED_ Tp j 24,6
pro
,
Množství tuků v i-té večeři s přílohou cílí k hodnotě 24,2g/den: (
TUKYi xijk
ivecere
TUKYi xijk ) odch _ VECER _ Tm j odch _ VECER _ Tp j 24,2
i prilohy _ vecere
pro
,
Dodržení množství sacharidů Množství sacharidů v i-té snídani s i-tou přílohou ke snídani cílí k hodnotě 74,6g/den: (
SACHARIDY i xijk
isnidane
SACHARIDY i xijk ) odch _ SNID _ Sm j
i prilohy _ snidane
odch _ SNID _ Sp j 74,6
pro
,
Množství sacharidů v i-té svačině cílí k hodnotě 120g/den: (
(SACHARIDY i xijk ) odch _ SVAC _ Sm j odch _ SVAC _ Sp j 120
isvaciny
pro
27
,
Množství sacharidů v i-té polévce s i-tým obědem a i-tou přílohou cílí k hodnotě 125,4g/den:
SACHARIDY i xijk SACHARIDY i xijk
(
i polevky
iobedy
SACHARIDY i xijk )
i prilohy _ obedy
odch _ OBED _ Sm j odch _ OBED_ Sp j 125,4
pro
,
Množství sacharidů v i-té večeři s přílohou cílí k hodnotě 107,8g/den: (
SACHARIDY i xijk ) odch _ VECER _ Sm j
SACHARIDY i xijk
ivecere
i prilohy _ vecere
odch _ VECER_ Sp j 107,8
pro
Cena jídelníčku na 14dnů nemůže přesáhnout 2200Kč:
cenai xijk 2200
i jidlo jdny k cas
kde odch_SNID + E
,B
,T
,S
j = 1, ..., 14 – j-tá záporná odchylka od
energetické, bílkovinové, tukové, sacharidové hodnoty i-té snídaně, odch_SNID + E , B , T , S
j = 1, ..., 14 – j-tá kladná odchylka od
energetické, bílkovinové, tukové, sacharidové hodnoty i-té snídaně, odch_SVAC + E
,B
,T
,S
j = 1, ..., 14 – j-tá záporná odchylka od
energetické, bílkovinové, tukové, sacharidové hodnoty i-té svačiny, odch_SVAC + E , B , T , S
j = 1, ..., 14 – j-tá kladná odchylka od
energetické, bílkovinové, tukové, sacharidové hodnoty i-té svačiny, odch_OBED + E
,B
,T
,S
j = 1, ..., 14 – j-tá záporná odchylka od
energetické, bílkovinové, tukové, sacharidové hodnoty i-tého oběda, odch_OBED + E , B , T , S
j = 1, ..., 14 – j-tá kladná odchylka od
energetické, bílkovinové, tukové, sacharidové hodnoty i-tého oběda, odch_OBED + E
,B
,T
,S
j = 1,...., 14 – j-tá záporná odchylka od
energetické, bílkovinové, tukové, sacharidové hodnoty i-té večeře,
28
odch_OBED + E , B , T , S
j = 1, ..., 14 – j-tá kladná odchylka od
energetické, bílkovinové, tukové, sacharidové hodnoty i-té večeře, v + snEm, svEm, oEm, vEm – váha pro j-tou zápornou odchylku od energetické hodnoty v i-té snídani, svačině, obědu, večeři, v + snBm, svBm, oBm, vBm – váha pro j-tou zápornou odchylku od bílkovinové hodnoty v i-té snídani, svačině, obědu, večeři, v + snTm, svTm, oTm, vTm – váha pro j-tou zápornou odchylku od tukové hodnoty v i-té snídani, svačině, obědu, večeři, v + snSm, svSm, oSm, vSm – váha pro j-tou zápornou odchylku od sacharidové hodnoty v i-té snídani, svačině, obědu, večeři, v + snEp, svEp, oEp, vEp – váha pro j-tou kladnou odchylku od energetické hodnoty v i-té snídani, svačině, obědu, večeři, v + snBp, svBp, oBp, vBp – váha pro j-tou kladnou odchylku od bílkovinové hodnoty v i-té snídani, svačině, obědu, večeři, v + snTp, svTp, oTp, vTp – váha pro j-tou kladnou odchylku od tukové hodnoty v i-té snídani, svačině, obědu, večeři, v + snSp, svSp, oSp, vSp – váha pro j-tou kladnou odchylku od sacharidové hodnoty v i-té snídani, svačině, obědu, večeři
4.2.3 Řešení modifikované úlohy Modifikovaná úloha byla řešena v optimalizačním programu LINGO, tak jako původní model. Zápis modelu je uveden v příloze. Optimální řešení bohužel nebylo nalezeno. Důvodem je, že matematický model má příliš proměnných a omezujících podmínek. Z tohoto důvodu jsou interpretovány výsledky při nejlepší dosažené hodnotě účelové funkce a ne optimální hodnotě účelové funkce, při dodržení všech omezujících podmínek. Hodnoty odchylek jsou uvedeny v příloze. Náklady na jídelníček při dosažení nejlepší hodnoty účelové funkce jsou 1406,65Kč. Výsledky jsou pro přehlednost zobrazeny v tabulce:
29
Pondělí snídaně dopolední svačina oběd odpolední svačina večeře
Dušená šunka Fitness, máslo Finea light s bagetou
snídaně dopolední svačina oběd odpolední svačina večeře
Šunkový salám, máslo s bagetou
Jablko Pórková polévka, roštěná s rýží Kedlubna Zeleninový talíř s bylinkovým krémem a s rohlíkem Úterý
Meloun Fazolová polévka, srnčí ragů s těstovinami Mrkev Jarní salát s kuřecím masem a s těstovinami Středa
snídaně dopolední svačina oběd odpolední svačina večeře
Sýr hermelín sametový, Rama Linie s chlebem Banán Hrstková polévka, hovězí ledvinky s rýží Rajčata Uzená makrela s bagetou Čtvrtek
snídaně dopolední svačina oběd odpolední svačina večeře
Kakaový Lipánek s rohlíkem Okurka Bramborová polévka, hovězí přední libové s bramborovým knedlíkem Zelená paprika Matesy v oleji s chlebem Pátek
snídaně dopolední svačina oběd
Sýr camembert - Stříbrňák 30 %, máslo Finea light s chlebem Rajčata Rajská polévka, vepřové přední tučné s těstovinami
30
odpolední svačina večeře
Ředkvičky Salát Caesar s parmezánem a s rohlíkem Sobota
snídaně dopolední svačina oběd odpolední svačina večeře
Kladenská pečeně, 2 vejce s bagetou Jablko Čočková polévka, vepřová kýta s těstovinami Kiwi Máslo Finea light, paštika Junák s bagetou Neděle
snídaně dopolední svačina oběd odpolední svačina večeře
Sýr Ferda se šunkou a s rohlíkem Kiwi Gulášová polévka, makrela s bramborem Červená paprika Italská polévka z cizrny a rajčat s rohlíkem Pondělí
snídaně dopolední svačina oběd odpolední svačina večeře
Máslo Finea light, paštika Junák s bagetou Červená paprika Zelná polévka, krůta s bramborovou kaší Zelená paprika Vařené hovězí maso s rajskou omáčkou a s těstovinami Úterý
snídaně dopolední svačina oběd odpolední svačina večeře
Sýr Eidam 30% t.v.s., Rama Linie s chlebem Mandarinka Hrášková polévka, zadní hovězí s houskovým knedlíkem Okurka Dušená mrkev s hráškem a s bagetou Středa
snídaně dopolední svačina oběd odpolední svačina
Šunkový závitek v aspiku s bagetou Pomeranč Kapustová polévka, domácí králík s rýží Kukuřice 31
večeře
Kuřecí soté se zeleninou a s rýží Čtvrtek
snídaně dopolední svačina oběd odpolední svačina večeře
Jogurt Activia bílá přírodní, jablko s bagetou Meloun Čočková polévka, telecí kýta upravená na řízky s bramborovou kaší Ředkvičky Mexická omáčka s těstovinami Pátek
snídaně dopolední svačina oběd odpolední svačina večeře snídaně dopolední svačina oběd odpolední svačina večeře
Müllermilk mléčný nápoj jahoda s rohlíkem Mrkev Rajská polévka, domácí kachna s bramborem Kedlubna Chilli con carne s chlebem Sobota Sýr Žervé s bylinkami, krůtí salám s chlebem Pomeranč Zelná polévka, vepřová plec s bramborovým knedlíkem Kukuřice Debrecínské párky s plnotučnou hořčicí a s bagetou Neděle
snídaně dopolední svačina oběd odpolední svačina večeře
Debrecínské párky s plnotučnou hořčicí a s chlebem Banán Gulášová polévka, čerstvý sleď s bramborem Mandarinka Salát se slaninou a s ořechy a s rohlíkem tab. 4.2
Všechna omezení byla dodržena. Na první pohled nejde změna ve struktuře jídelníčku poznat. Aby byly vidět rozdíly mezi řešením lineárního problému a řešením modifikované úlohy, jsou porovnávány jednotlivé hodnoty snídaní, obědů a večeří za čtrnáct dní. Hodnoty svačin není třeba porovnávat, jelikož je jejich počet přesný na 14dní tzn., že nejdou nahradit jiným pokrmem. Pro přehlednost jsou výsledky zobrazeny v tabulce:
32
Lineární model
Srovnání hodnot za 14dní Hodnota energie ve snídaních (kJ) Hodnota energie v obědech (kJ) Hodnota energie ve večeřích (kJ) Hodnota bílkovin ve snídaních (kJ) Hodnota bílkovin v obědech (g) Hodnota bílkovin ve večeřích (g) Hodnota tuků ve snídaních (g) Hodnota tuků v obědech (g) Hodnota tuků ve večeřích (g) Hodnota sacharidů ve snídaních (g) Hodnota sacharidů v obědech (g) Hodnota sacharidů ve večeřích (g)
19 582,00 28 053,00 23 130,00 163,44 1 641,55 204,55 192,96 255,90 178,67 587,78 910,80 727,39
Modifikovaný model 22 801,00 31 239,00 24 324,00 240,27 2 584,43 217,72 253,10 284,00 195,71 671,56 918,70 746,79
Ideální hodnoty 23 940,00 31 150,00 28 000,00 252,00 2 245,60 572,60 326,00 344,40 388,80 1 044,40 1 125,60 1 089,20
tab. 4.3
Ačkoliv nebylo nalezeno optimální řešení modifikované úlohy je možno ze zobrazených hodnot vyvodit, že cílové programování jídelníček vylepšilo, co se týče nutričních hodnot. Na druhou stranu za upravený jídelníček člověk zaplatí o 170,98Kč více.
33
Závěr Pomocí lineárního programování se podařilo sestavit jídelníček pro obézního člověka s minimálními náklady tak, aby za určitý časový interval zhubl požadované kilogramy. Tato redukce váhy je založena na dodržení příjmu nutričních hodnot. Úloha byla řešena v optimalizačním programu LINGO. Při splnění nutričních hodnot a dalších omezujících podmínek, které jsou zmíněny v kapitole 4, jsou minimální náklady na jídelníček 1 235,67 Kč. Přestože byla minimalizována cena, výsledný jídelníček je velmi pestrý. Lineární model byl upraven cílovým programováním, aby se vybrané pokrmy co nejvíce přiblížily doporučeným denním dávkám nutričních hodnot. Bohužel optimální řešení modifikované úlohy nebylo nalezeno. Program LINGO nedokázal najít optimální řešení z důvodu vysokého počtu proměnných a omezujících podmínek. Byla nalezena alespoň nejlepší hodnota účelové funkce. Při této hodnotě jsou minimální náklady na upravený jídelníček 1 406,65 Kč. Výsledné řešení lineární a modifikované úlohy bylo porovnáno. Porovnávaly se nutriční hodnoty snídaní, obědů a večeří za čtrnáct dní, za účelem poukázat na rozdíly, které ve výčtu jídel nebyly snadno rozpoznatelné. Srovnání nutričních hodnot svačin nemělo žádný význam, jelikož jejich počet je stejný jako počet dní, na který je jídelníček sestaven, tudíž neexistuje možnost obměny svačiny. Díky tomuto srovnání bylo zjištěno, že ačkoliv nebylo nalezeno optimální řešení modifikované úlohy, úprava modelu cílovým programováním byla úspěšná, což dokazují hodnoty vybraných pokrmů, které se přiblížily doporučeným denním dávkám nutričních hodnot více než v původním lineárním modelu. V souladu se zlepšenou strukturou jídelníčku v modifikované úloze se náklady zvýšili o 170,98 Kč. Nárůst ceny může být považován za zanedbatelný. V tuto chvílí má každý jedinec, který se rozhodne řídit touto dietou, na výběr ze dvou variant. Pokud zvolí původní jídelníček, docílí nižší ceny. V případě, že se rozhodne pro upravený, získá lepší strukturu pokrmů, tzn. lepší dávky nutričních hodnot. Závěrem bych chtěla podotknout, že redukce váhy nelze dosáhnout za pouhých 14 dní, ale je nutné držet se zmíněných zásad delší časové období. Úbytek váhy je u každého jedince individuální záležitostí z důvodu odlišných predispozic.
34
Seznam použité literatury [1]
LAGOVÁ, M., JABLONSKÝ, J.: Lineární modely. Oeconomica, Praha 2009.
[2]
JABLONSKÝ, J.: Operační výzkum. Professional Publishing, Praha 2007.
[3]
FÁBRY, J.: Matematické modelování, Oeconomica, Praha 2007.
[4]
JABLONSKÝ, J.: Programy pro matematické modelování. Oeconomica, Praha 2007.
[5]
MÁLKOVÁ, I.: Obezita je realita aneb hubneme s rozumem, Radioservis,a.s, Praha 2002.
Internetové zdroje [6]
http:/www.nemoci.vitalion.cz/obezita/.
[7]
KUNEŠOVÁ, Marie. Obezita - Etiopatoogeneze, diagnostika a léčba. Interni Med. 2004. Dostupné online: http://www.solen.cz/pdfs/int/2004/09/04.pdf.
35
Přílohy Příloha 1 – Snídaně Jídlo Bábovka z třeného těsta ředkvičkový salát/pomazánka krabí salát máslo Finea light , paštika Junák šunka fitness dušená, máslo Finea light párky debrecínské, hořčice plnotučná kladenská pečeně, 2 vejce Lipánek kakaový (Madeta) Sýr camembert - Stříbrňák 30 % , máslo Finea light Sýr Eidam 30% t.v.s., Rama Linie Sýr hermelín sametový, Rama Linie Sýr Žervé s bylinkami, krůtí salám Müllermilk mléčný nápoj jahoda Šunkový závitek v aspiku průměrně Active müsli s malinami a ostružinami, mléko polotučné Jogurt Activia bílá přírodní, jablko Sardinky ve slané vodě Ovesné vločky jemné s vlákninou, Jogurt Activia bílá přírodní Šunka fitness kuřecí, Rama Linie Salám pražský, Finea light Jogurt Jogobella - banán (Zott) Jogurt Activia bílé pohlazení (Danone) Jogurt Müller Mix třešeň (Müller) Sýr Ferda se šunkou (Madeta) Mléko 1,5% UHT (Meggle) a Müsli křupavé s medem a ořechy (BonaVita) šunkový salám, máslo vejce s máslem Máslo jihočeské (Madeta) + Marmeláda - směs průměrně Pomazánkové máslo (Net Plasy) + Paprika červená Máslo jogurtové (Meggle) + Pažitka
36
energie bílkoviny
tuky
sacharidy
cena
2 648,00 168,00 921,00 811,00 767,00 1 035,00 1 151,00 1 184,00 835,00 844,00 1 008,00 1 053,00 1 357,00 827,00 1 101,00 710,00 951,00 1 135,00 615,00 1 490,00 411 394 471 1300 1889 707 640 4010 1481 2665
30,00 9,10 18,60 19,64 12,30 20,50 16,80 15,40 17,00 15,84 22,34 25,10 5,94 13,68 7,80 5,35 14,00 8,60 8,84 33,00 2,6 3,1 3,5 27,5 12,5 14,5 13,2 82,7 31,5 65,7
80,00 4,20 1,20 0,68 1,60 3,30 4,90 23,94 0,20 2,90 0,85 0,75 52,15 4,56 40,30 23,25 0,00 35,20 2,60 2,30 15 12,5 15,4 1,7 72,8 0,1 0 52,5 5,2 9,5
2,60 9,50 7,60 8,00 13,00 15,80 13,00 14,50 21,00 13,50 25,50 23,50 13,90 16,00 17,50 9,00 16,00 14,50 7,50 12,00 7,80 5,00 14,50 2,50 7,50 6,00 6,50 4,50 3,50 2,50
12,00 1,10 12,00 4,52 17,50 11,90 26,30 11,48 12,70 12,24 9,79 23,85 14,84 13,58 7,35 6,70 25,63 12,00 14,04 13,00 3,5 3,9 3,9 13,6 11,1 8,4 6,5 1,15 1,2 4,6
Příloha 2 – Svačiny Jídlo
energie bílkoviny
pomeranč banán jablko kiwi mandarinka kedlubna kukuřice meloun mrkev okurka červená paprika zelená paprika rajčata ředkvičky
tuky
sacharidy
cena 9,5
295
1,4
0,5
17,6
597
2
0,5
34,5
5
382
0,6
0,6
21,6
9,5
192
1
0,5
9,1
3,9
197
0,9
0,3
10,6
4,5
119
1,8
0,15
5,1
9,5
666
5,25
3,3
28,2
10,5
177
0,75
0,15
9,75
6,2
282
2,01
0,45
14,55
1,9
101
1,05
0,3
3,9
4,5
182
1,8
0,75
7,8
14,75
98
1,2
0,45
3,9
12,75
155
1,65
0,45
6,9
7,3
126
1,65
0,15
5,55
7,5
tuky
sacharidy
cena
1,80 2,00 8,10 1,70 1,80 1,80 2,80 1,40 1,60 2,00 9,10 1,90 1,90 2,50
13,60 18,40 17,90 19,30 33,00 28,10 23,00 17,50 22,60 13,00 11,80 13,70 14,00 11,90
11,50 15,40 18,20 13,60 11,90 10,40 14,80 12,10 15,60 18,70 9,20 9,10 12,90 13,40
Příloha 3 – Polévky Jídlo
energie bílkoviny
nudlová polévka polévka bramborová polévka gulášová polévka kapustová polévka čočková polévka fazolová polévka zelná polévka rajská polévka hrstková zeleninová polévka polévka hrášková polévka česneková polévka s drobením polévka pórková
337,00 438,00 739,00 431,00 815,00 680,00 537,00 378,00 536,00 352,00 576,00 322,00 352,00 355,00
37
2,50 3,40 8,30 3,30 12,30 8,80 3,30 2,10 6,10 3,70 2,40 2,20 2,80 3,60
Příloha 4 – Obědy Jídlo Husa Kachna domácí Krůta Kuře Vepřová kýta Vepřová plec Hovězí přední libové Vepřové přední tučné Roštěná Svíčková Zadní hovězí Žebro Candát Kapr Lín Losos Makrela Okoun Pstruh Sleď čerstvý Štika Treska - filé Telecí kýta upravená na řízky Játra hovězí Játra telecí Játra vepřová Ledvinky hovězí Ledvinky vepřové Králík domácí Srnčí Zajíc Srnčí ragů smažený holandský řízek hovězí vařené, rajská omáčka vepřová pečeně, dušená mrkev špagety s boloňskou omáčkou čevabčiči vepřové na česneku hovězí guláš vepřová pečeně maďarská kuřecí s broskví hovězí roštěnka znojemská závitek záhorácký uzené maso, křenová omáčka španělský ptáček zapečené těstoviny s uzeninou vepřové na smetaně
38
energie bílkoviny
tuky
sacharidy
cena
1947,00 1181,00 741,00 519,00 536,00 645,00 737,00 961,00 762,00 623,00 615,00 904,00 339,00 444,00 327,00 942,00 783,00 368,00 410,00 783,00 360,00 310,00 507,00 548,00 574,00 549,00 582,00 473,00 674,00 448,00 456,00 657,00 3077,00 1102,00 1374,00 1704,00 2475,00 1289,00 1010,00 1010,00 1368,00 883,00 1663,00 2288,00 1327,00 2843,00 1205,00
45,60 23,00 8,50 3,20 4,50 6,90 9,80 17,50 10,70 7,40 6,50 14,80 0,30 4,20 0,40 16,50 12,00 0,80 3,00 12,00 0,70 0,40 21,80 19,70 19,00 20,60 15,00 16,30 21,10 20,80 23,00 32,00 52,90 14,70 19,20 18,80 51,00 23,60 16,70 16,70 14,00 14,20 30,50 43,60 21,60 43,70 19,30
0,15 0,15 0,15 0,30 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,30 0,15 0,00 0,00 0,15 0,15 0,15 0,15 0,15 0,15 0,00 0,50 6,00 4,00 1,50 0,90 0,80 0,00 0,40 0,50 0,60 39,20 15,50 20,80 12,20 12,50 8,60 6,50 6,50 22,30 6,10 10,00 19,70 5,80 44,40 10,50
20,00 26,00 28,00 18,00 18,00 17,00 22,00 12,00 43,00 90,00 33,00 18,00 100,00 35,00 21,00 55,00 30,00 80,00 90,00 75,00 50,00 31,00 31,00 12,00 18,00 22,00 8,90 5,50 16,90 23,80 18,30 19,60 25,00 29,00 22,50 12,90 13,40 24,70 32,40 23,30 38,60 39,70 36,50 22,90 34,70 22,40 22,60
465,03 282,08 176,98 123,96 128,02 154,06 176,03 229,53 182,00 148,80 146,89 215,92 80,97 106,05 78,10 224,99 187,02 87,90 97,93 187,02 85,98 74,04 121,09 130,89 137,10 131,13 139,01 112,97 160,98 107,00 108,91 156,92 25,20 17,40 18,40 20,50 20,10 14,90 15,70 15,70 27,80 14,80 20,30 19,30 24,50 25,60 17,40
Příloha 5 – Večeře Jídlo rajčata s mozzarelou vec špagety s boloňskou omáčkou vec Makrela uzená vec Matesy v oleji vec Salát Caesar s parmezánem vec Salát se slaninou a ořechy vec Chilli con carne vec Dušená brokolice vec párky debrecínské, hořčice plnotučná vec máslo Finea light , paštika Junák vec hovězí vařené, rajská omáčka vec Dušená mrkev s hráškem vec Polévka italská z cizrny a rajčat vec Omáčka mexická vec Krupicová kaše vec Lívance se skořicí, džemem vec Kuře na paprice vec Kuřecí soté se zeleninou vec Palačinky plněné kuřecím masem a houbami vec Rajčata plněná mletým masem vec Sekaná pečeně vec Vaječná omeleta se žampiony vec Zeleninový koláč o průměru 26 cm vec Zeleninový talíř s bylinkovým krémem vec Ovocné knedlíky vec Rýžový nákyp s jablky vec Žemlovka s jablky vec Salát jarní s kuřecím masem vec Salát šopský vec Halušky se zelím vec Kapustový karbanátek vec
39
energie bílkoviny
tuky
sacharidy
cena
1116,00 1704,00 975,00 1072,00 1263,00 1110,00 1058,00 1541,00 1035,00 811,00 1102,00 489,00 1079,00 458,00 2208,00 3435,00 1365,00 641,00 1700,00 1590,00 1542,00 1759,00 2860,00 1136,00 1957,00 2758,00 2746,00 1033,00 525,00 1072,00 2033,00
17,60 18,80 16,30 22,60 17,50 20,00 8,30 31,00 20,50 19,64 14,70 4,10 11,00 0,15 26,00 30,80 19,00 2,63 27,00 25,00 37,80 35,00 46,00 0,00 13,00 28,10 26,60 8,25 9,00 12,92 31,50
9,30 12,20 0,10 0,00 15,00 5,00 34,02 10,00 3,30 0,68 15,50 17,90 31,00 24,00 59,20 107,30 13,00 22,20 28,00 13,00 13,20 5,30 36,00 24,00 73,00 88,90 94,40 24,25 6,00 27,16 35,70
14,40 12,90 33,20 37,80 26,70 18,60 28,50 9,60 15,80 8,00 29,40 10,20 12,40 22,00 11,70 10,40 29,30 33,00 25,80 29,20 14,40 15,40 18,70 16,50 20,40 25,80 28,40 24,90 33,20 14,60 11,50
20,20 20,50 21,40 17,60 21,25 5,00 9,16 15,00 11,90 4,52 17,40 3,50 10,00 1,80 15,50 27,20 26,00 9,78 22,00 27,00 17,60 21,10 32,00 8,00 16,00 13,50 11,00 18,50 3,00 7,74 15,20
Příloha 6 – Povolené přílohy ke snídaním snídaně Bábovka z třeného těsta ředkvičkový salát/pomazánka krabí salát máslo Finea light , paštika Junák šunka fitness dušená, máslo Finea light párky debrecínské, hořčice plnotučná kladenská pečeně, 2 vejce Lipánek kakaový (Madeta) Sýr camembert - Stříbrňák 30 % , máslo Finea light Sýr Eidam 30% t.v.s., Rama Linie Sýr hermelín sametový, Rama Linie Sýr Žervé s bylinkami, krůtí salám Müllermilk mléčný nápoj jahoda Šunkový závitek v aspiku průměrně Active müsli s malinami a ostružinami, mléko polotučné Jogurt Activia bílá přírodní, jablko Sardinky ve slané vodě Ovesné vločky jemné s vlákninou, Jogurt Activia bílá přírodní Šunka fitness kuřecí, Rama Linie Salám pražský, Finea light Jogurt Jogobella - banán (Zott) Jogurt Activia bílé pohlazení (Danone) Jogurt Müller Mix třešeň (Müller) Sýr Ferda se šunkou (Madeta) Mléko 1,5% UHT (Meggle) a Müsli křupavé s medem a ořechy (BonaVita) šunkový salám, máslo vejce s máslem Máslo jihočeské (Madeta) + Marmeláda - směs průměrně Pomazánkové máslo (Net Plasy) + Paprika červená Máslo jogurtové (Meggle) + Pažitka
40
chleba
rohlík
0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 1 0
0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0
bageta bez přílohy 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 0 1 1 1 1 1
1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 0 0 0 0 0
Příloha 7 – Povolené přílohy k obědům
Hlavní chod
rýže
Husa Kachna domácí Krůta Kuře Vepřová kýta Vepřová plec Hovězí přední libové Vepřové přední tučné Roštěná Svíčková Zadní Žebro Candát Kapr Lín Losos Makrela Okoun Pstruh Sleď čerstvý Štika Treska - filé Telecí kýta upravená na řízky Játra hovězí Játra telecí Játra vepřová Ledvinky hovězí Ledvinky vepřové Králík domácí Srnčí Zajíc Srnčí ragů smažený holandský řízek hovězí vařené, rajská omáčka vepřová pečeně, dušená mrkev špagety s boloňskou omáčkou čevabčiči vepřové na česneku hovězí guláš vepřová pečeně maďarská kuřecí s broskví hovězí roštěnka znojemská závitek záhorácký uzené maso, křenová omáčka španělský ptáček zapečené těstoviny s uzeninou vepřové na smetaně
0 0 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 0 0
těstoviny brambory 0 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 1 1 0 0 0 1
1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 0 1 0 0
41
knedlík bramboro bramboro houskový vá kaše vý knedlík 1 1 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 1
0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 0 0 0 0
1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0
bez přílohy 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0
Příloha 8 – Povolené přílohy k večeřím večeře
chleba
rohlík
rajčata s mozzarelou špagety s boloňskou omáčkou Makrela uzená Matesy v oleji Salát Caesar s parmezánem Salát se slaninou a ořechy Chilli con carne Dušená brokolice párky debrecínské, hořčice plnotučná máslo Finea light , paštika Junák hovězí vařené, rajská omáčka Dušená mrkev s hráškem Polévka italská z cizrny a rajčat Omáčka mexická Krupicová kaše Lívance se skořicí, džemem Kuře na paprice Kuřecí soté se zeleninou Palačinky plněné kuřecím masem a houbami Rajčata plněná mletým masem Sekaná pečeně Vaječná omeleta se žampiony Zeleninový koláč o průměru 26 cm Zeleninový talíř s bylinkovým krémem Ovocné knedlíky Rýžový nákyp s jablky Žemlovka s jablky Salát jarní s kuřecím masem Salát šopský Halušky se zelím Kapustový karbanátek
0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1
0 0 1 0 1 1 1 1 1 1 0 1 1 0 0 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1
42
bageta těstoviny bez přílohy 1 0 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1
0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 0
Příloha 9 – Váhy
odch_SNID_E odch_SVAC_E odch_OBED_E odch_VECER_E odch_SNID_B odch_SVAC_B odch_OBED_B odch_VECER_B odch_SNID_T odch_SVAC_T odch_OBED_T odch_VECER_T odch_SNID_S odch_SVAC_S odch_OBED_S odch_VECER_S
vaha_m 0,4 0,5 0,3 0,1 0,6 0,5 0,9 0,7 0,6 0,5 0,1 0 1 0,5 0,3 0,4
vaha_p 0,6 0,5 0,7 0,9 0,4 0,5 0,1 0,3 0,4 0,5 0,9 1 0 0,5 0,7 0,6
43
Příloha 10 – Výsledné odchylky zaokrouhlenné odchylky: odch_SNIDEm odch_SNIDEp odch_SNIDBm odch_SNIDBp odch_SNIDTm 1. 0 64 9,7 0 1,5 2. 28 0 0 11,8 5,6 3. 37 0 7,5 0 15,8 4. 0 5 3,03 0 6,9 5. 0 178 0 0,3 16,3 6. 0 44 0 9,8 0 7. 1 0 4,3 0 0,53 8. 0 26 2,2 0 2,4 9. 0 80 0,6 0 7,4 10. 174 0 1,4 0 5,9 11. 0 121 0,9 0 0 12. 40 0 5,8 0 6,6 13. 165 0 1,8 0 7,03 14. 0 20 0 3,3 8,8
odch_SNIDTp 0 0 0 0 0 2,2 0 0 0 0 5,2 0 0 0
odch_SNIDSm odch_SNIDSp 26,2 0 44,5 0 3,7 0 25,5 0 0 2,7 36,05 0 36 0 33,5 0 22,3 0 36,6 0 47,7 0 26,8 0 33,9 0 25,3 0
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
odch_OBEDEm odch_OBEDEp odch_OBEDBm odch_OBEDBp odch_OBEDTm odch_OBEDTp odch_OBEDSm odch_OBEDSp 0 10 0 25 4,8 0 26,3 0 0 6 0 24 3,5 0 26,4 0 0 16 39,2 0 0 5,5 1,3 0 0 8 41,1 0 0 3,3 1,4 0 5 0 0 0,9 6 0 26 0 39 0 0 38,3 4,1 0 25,25 0 21 0 9,2 0 5,7 0 3,6 0 0 1 0 8 0 2,1 9,9 0 0 15 21 0 0 1,2 4,7 0 8 0 14 0 14,3 0 10,9 0 28 0 0 1,1 12,1 0 9,9 0 29 0 11,1 0 1,7 0 0,5 0 0 14 32,5 0 4,2 0 0 1,8 22 0 0 11,4 0 13,2 15,2 0
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
odch_VECEREm odch_VECEREp odch_VECERBm odch_VECERBp odch_VECERTm odch_VECERTp odch_VECERSm odch_VECERSp 241 0 27,8 0 15,27 0 5,98 0 32 0 17,4 0 5,5 0 25,8 0 0 73 32,1 0 1,8 0 25,1 0 0 42 27,1 0 10,8 0 0 0,9 0 231 8,8 0 1,2 0 28,3 0 0 79 16,9 0 4,2 0 20,8 0 0 73 19,8 0 0 14,8 39,4 0 206 0 16,2 0 5,48 0 37,6 0 227 0 19,4 0 0,97 0 40 0 62 0 15,7 0 5,5 0 30 0 0 72 22,4 0 0 8,02 42,6 0 0 121 10,4 0 0 2,02 39,6 0 264 0 25,08 0 3,07 0 36,7 0 101 0 16,3 0 12 0 15,05 0
44
Příloha 11 – Zápis lineární úlohy v LINGU: Model: Sets: jidlo/@ole('BP_dtb_jidel_of.xlsx')/:energie,bilkoviny,tuky,sacharidy ,cena; snidane(jidlo)/@ole('BP_dtb_jidel_of.xlsx','SNID')/:; prilohy_snidane(jidlo)/@ole('BP_dtb_jidel_of.xlsx','SNID_pril')/:; svaciny(jidlo)/@ole('BP_dtb_jidel_of.xlsx','SVAC')/:; polevky(jidlo)/@ole('BP_dtb_jidel_of.xlsx','POLEV')/:; obedy(jidlo)/@ole('BP_dtb_jidel_of.xlsx','OBED')/:; prilohy_obedy(jidlo)/@ole('BP_dtb_jidel_of.xlsx','OBED_pril')/:; vecere(jidlo)/@ole('BP_dtb_jidel_of.xlsx','VECER')/:; prilohy_vecere(jidlo)/@ole('BP_dtb_jidel_of.xlsx','VECER_pril')/:; dny/1..14/; cas/1..8/; !umělé proměnné (matice)- SNID_P, OBED_P, VECER_P; pridelene_pril_snidane(snidane,prilohy_snidane):SNID_P; pridele_pril_obedy(obedy,prilohy_obedy):OBED_P; pridelene_pril_vecere(vecere,prilohy_vecere):VECER_P; !bivalentní proměnná; jidlo_dny_cas(jidlo,dny,cas):x; dny_cas(dny,cas):; snidane_prilohy_snidane_dny(snidane,prilohy_snidane,dny):POM_S; obedy_prilohy_obedy_dny(obedy,prilohy_obedy,dny):POM_O; vecere_prilohy_vecere_dny(vecere,prilohy_vecere,dny):POM_V; Endsets Data: energie,bilkoviny,tuky,sacharidy,cena = @ole('BP_dtb_jidel_of.xlsx'); SNID_P,OBED_P,VECER_P = @ole('BP_dtb_jidel_of.xlsx'); Enddata !MATEMATICKY MODEL; min=@sum(jidlo_dny_cas(i,j,k):cena(i)*x(i,j,k)); ! Aby se na každý den přiřadilo ke každému času jídlo; @for(dny_cas(j,k):@sum(snidane(i):x(i,j,1))=1); @for(dny_cas(j,k):@sum(prilohy_snidane(i):x(i,j,2))=1); @for(dny_cas(j,k):@sum(svaciny(i):x(i,j,3))=2); svačiny denně; @for(dny_cas(j,k):@sum(polevky(i):x(i,j,4))=1); @for(dny_cas(j,k):@sum(obedy(i):x(i,j,5))=1); @for(dny_cas(j,k):@sum(prilohy_obedy(i):x(i,j,6))=1); @for(dny_cas(j,k):@sum(vecere(i):x(i,j,7))=1); @for(dny_cas(j,k):@sum(prilohy_vecere(i):x(i,j,8))=1);
!dvě
! Aby se za 14dní neopakovala snídaně, oběd a večeře, svačina a polévka max dvakrát, přílohy aby se neopakovaly x-krát; @for(snidane(i):@for(cas(k)|k#eq#1:@sum(dny(j):x(i,j,k))<=1)); 45
@for(prilohy_snidane(i):@for(cas(k)|k#eq#2:@sum(dny(j):x(i,j,k))<=5; @for(svaciny(i):@for(cas(k)|k#eq#3:@sum(dny(j):x(i,j,k))<=2)); @for(polevky(i):@for(cas(k)|k#eq#4:@sum(dny(j):x(i,j,k))<=2)); @for(obedy(i):@for(cas(k)|k#eq#5:@sum(dny(j):x(i,j,k))<=1)); @for(prilohy_obedy(i):@for(cas(k)|k#eq#6:@sum(dny(j):x(i,j,k))<=3)); @for(vecere(i):@for(cas(k)|k#eq#7:@sum(dny(j):x(i,j,k))<=1)); @for(prilohy_vecere(i):@for(cas(k)|k#eq#8:@sum(dny(j):x(i,j,k))<=4); !Dodržení energetických hodnot; @for(dny(j):@sum(snidane(i):energie(i)*x(i,j,1))+@sum(prilohy_snida ne(i): energie(i)*x(i,j,2))<=2892); @for(dny(j):@sum(svaciny(i):energie(i)*x(i,j,3))<=5136); @for(dny(j):@sum(polevky(i):energie(i)*x(i,j,4))+@sum(obedy(i):ener gie(i)*x(i,j,5))+@sum(prilohy_obedy(i):energie(i)*x(i,j,6))<=3988); @for(dny(j):@sum(vecere(i):energie(i)*x(i,j,7))+@sum(prilohy_vecere (i):energie(i)*x(i,j,8))<=3540); !Dodržení bílkovin; @for(dny(j):@sum(snidane(i):bilkoviny(i)*x(i,j,1))+@sum(prilohy_sni dane(i):bilkoviny(i)*x(i,j,2))<=1170.4); @for(dny(j):@sum(svaciny(i):bilkoviny(i)*x(i,j,3))<=110.4); @for(dny(j):@sum(polevky(i):bilkoviny(i)*x(i,j,4))+@sum(obedy(i):bil koviny(i)*x(i,j,5))+@sum(prilohy_obedy(i):bilkoviny(i)*x(i,j,6)) <=1100.8); @for(dny(j):@sum(vecere(i):bilkoviny(i)*x(i,j,7))+@sum(prilohy_vece re(i):bilkoviny(i)*x(i,j,8))<=1195.8); !Dodržení tuků; @for(dny(j):@sum(snidane(i):tuky(i)*x(i,j,1))+@sum(prilohy_snidane (i):tuky(i)*x(i,j,2))<=26); @for(dny(j):@sum(svaciny(i):tuky(i)*x(i,j,3))<=62); @for(dny(j):@sum(polevky(i):tuky(i)*x(i,j,4))+@sum(obedy(i):tuky(i) *x(i,j,5))+@sum(prilohy_obedy(i):tuky(i)*x(i,j,6))<=24.6); @for(dny(j):@sum(vecere(i):tuky(i)*x(i,j,7))+@sum(prilohy_vecere(i): tuky(i)*x(i,j,8))<=24.2); !Dodržení sacharidů; @for(dny(j):@sum(snidane(i):sacharidy(i)*x(i,j,1))+@sum(prilohy_sni dane(i):sacharidy(i)*x(i,j,2))<=74.6); @for(dny(j):@sum(svaciny(i):sacharidy(i)*x(i,j,3))<=120); @for(dny(j):@sum(polevky(i):sacharidy(i)*x(i,j,4))+@sum(obedy(i):sa charidy(i)*x(i,j,5))+@sum(prilohy_obedy(i):sacharidy(i)*x(i,j,6)) <=125.4); @for(dny(j):@sum(vecere(i):sacharidy(i)*x(i,j,7))+@sum(prilohy_vece re(i):sacharidy(i)*x(i,j,8))<=107.8); !Zajištění přidělení správných příloh; @for(snidane(i):@for(dny(m):x(i,m,1)=@sum(prilohy_snidane(l):SNID_P (i,l)*POM_S(i,l,m)))); @for(prilohy_snidane(l):@for(dny(m):x(l,m,2)=@sum(snidane(i):SNID_P (i,l)*POM_S(i,l,m)))); @for(obedy(i):@for(dny(m):x(i,m,5)=@sum(prilohy_obedy(l):OBED_P(i,l) *POM_O(i,l,m)))); 46
@for(prilohy_obedy(l):@for(dny(m):x(l,m,6)=@sum(obedy(i):OBED_P(i,l) *POM_O(i,l,m)))); @for(vecere(i):@for(dny(m):x(i,m,7)=@sum(prilohy_vecere(l):VECER_P (i,l)*POM_V(i,l,m)))); @for(prilohy_vecere(l):@for(dny(m):x(l,m,8)=@sum(vecere(i):VECER_P (i,l)*POM_V(i,l,m)))); !Binární proměnná; @for(jidlo_dny_cas:@bin(x)); @for(snidane_prilohy_snidane_dny:@bin(POM_S)); @for(obedy_prilohy_obedy_dny:@bin(POM_O)); @for(vecere_prilohy_vecere_dny:@bin(POM_V)); End
Příloha 12 – Zápis modifikované úlohy v LINGU: Model: Sets: jidlo/@ole('BP_dtb_jidel_of.xlsx')/:energie,bilkoviny,tuky,sacharidy ,cena; snidane(jidlo)/@ole('BP_dtb_jidel_of.xlsx','SNID')/:; prilohy_snidane(jidlo)/@ole('BP_dtb_jidel_of.xlsx','SNID_pril')/:; svaciny(jidlo)/@ole('BP_dtb_jidel_of.xlsx','SVAC')/:; polevky(jidlo)/@ole('BP_dtb_jidel_of.xlsx','POLEV')/:; obedy(jidlo)/@ole('BP_dtb_jidel_of.xlsx','OBED')/:; prilohy_obedy(jidlo)/@ole('BP_dtb_jidel_of.xlsx','OBED_pril')/:; vecere(jidlo)/@ole('BP_dtb_jidel_of.xlsx','VECER')/:; prilohy_vecere(jidlo)/@ole('BP_dtb_jidel_of.xlsx','VECER_pril')/:; dny/1..14/:odch_SNID_Em,odch_SNID_Ep,odch_SVAC_Em,odch_SVAC_Ep,odch_ OBED_Em,odch_OBED_Ep,odch_VECER_Em,odch_VECER_Ep,odch_SNID_Bm,odch_S NID_Bp,odch_SVAC_Bm, odch_SVAC_Bp,odch_OBED_Bm,odch_OBED_Bp,odch_VECER_Bm,odch_VECER_Bp, odch_SNID_Tm,odch_SNID_Tp,odch_SVAC_Tm,odch_SVAC_Tp,odch_OBED_Tm,odc h_OBED_Tp,odch_VECER_Tm,odch_VECER_Tp,odch_SNID_Sm,odch_SNID_Sp,odch _SVAC_Sm,odch_SVAC_Sp,odch_OBED_Sm,odch_OBED_Sp,odch_VECER_Sm,odch_V ECER_Sp; cas/1..8/; !umělé proměnné (matice)- SNID_P, OBED_P, VECER_P; pridelene_pril_snidane(snidane,prilohy_snidane):SNID_P; pridele_pril_obedy(obedy,prilohy_obedy):OBED_P; pridelene_pril_vecere(vecere,prilohy_vecere):VECER_P; !bivalentní proměnná; jidlo_dny_cas(jidlo,dny,cas):x; dny_cas(dny,cas):; snidane_prilohy_snidane_dny(snidane,prilohy_snidane,dny):POM_S; obedy_prilohy_obedy_dny(obedy,prilohy_obedy,dny):POM_O; vecere_prilohy_vecere_dny(vecere,prilohy_vecere,dny):POM_V; 47
Endsets Data: energie,bilkoviny,tuky,sacharidy,cena = @ole('BP_dtb_jidel_of.xlsx'); SNID_P,OBED_P,VECER_P = @ole('BP_dtb_jidel_of.xlsx'); vsnEm,vsnEp,vsvEm,vsvEp,voEm,voEp,vvEm,vvEp,vsnBm,vsnBp,vsvBm,vsvBp, voBm,voBp,vvBm,vvBp,vsnTm,vsnTp,vsvTm,vsvTp,voTm,voTp,vvTm,vvTp, vsnSm,vsnSp,vsvSm,vsvSp,voSm,voSp,vvSm,vvSp = @ole('BP_dtb_jidel_of.xlsx'); Enddata !MATEMATICKY MODEL; min=vsnEm*@sum(dny(j):odch_SNID_Em(j))+vsnEp*@sum(dny(j):odch_SNID_E p(j))+vsvEm*@sum(dny(j):odch_SVAC_Em(j))+vsvEp*@sum(dny(j):odch_SVAC _Ep(j)) +voEm*@sum(dny(j):odch_OBED_Em(j))+voEp*@sum(dny(j):odch_OBED_Ep(j)) +vvEm* @sum(dny(j):odch_VECER_Em(j))+vvEp*@sum(dny(j):odch_VECER_Ep(j)) +vsnBm*@sum(dny(j):odch_SNID_Bm(j))+vsnBp*@sum(dny(j):odch_SNID_Bp (j))+vsvBm*@sum(dny(j):odch_SVAC_Bm(j))+vsvBp*@sum(dny(j):odch_SVAC_ Bp(j)) +voBm*@sum(dny(j):odch_OBED_Bm(j))+voBp*@sum(dny(j):odch_OBED_Bp(j)) +vvBm* @sum(dny(j):odch_VECER_Bm(j))+vvBp*@sum(dny(j):odch_VECER_bp(j)) +vsnTm*@sum(dny(j):odch_SNID_Tm(j))+vsnTp*@sum(dny(j):odch_SNID_Tp (j))+vsvTm*@sum(dny(j):odch_SVAC_Tm(j))+vsvTp*@sum(dny(j):odch_SVAC_ Tp(j)) +voTm*@sum(dny(j):odch_OBED_Tm(j))+voTp*@sum(dny(j):odch_OBED_Tp(j)) +vvTm*@sum(dny(j):odch_VECER_Tm(j))+vvTp*@sum(dny(j):odch_VECER_Tp (j)) +vsnSm*@sum(dny(j):odch_SNID_Sm(j))+vsnSp*@sum(dny(j):odch_SNID_Sp (j))+vsvSm*@sum(dny(j):odch_SVAC_Sm(j))+vsvSp*@sum(dny(j):odch_SVAC_ Sp(j)) +voSm*@sum(dny(j):odch_OBED_Sm(j))+voSp*@sum(dny(j):odch_OBED_Sp(j)) +vvSm*@sum(dny(j):odch_VECER_Sm(j))+vvSp*@sum(dny(j):odch_VECER_Sp (j)); ! Aby se na každý den přiřadilo ke každému času jídlo; @for(dny_cas(j,k):@sum(snidane(i):x(i,j,1))=1); @for(dny_cas(j,k):@sum(prilohy_snidane(i):x(i,j,2))=1); @for(dny_cas(j,k):@sum(svaciny(i):x(i,j,3))=2); !dvě svačiny denně; @for(dny_cas(j,k):@sum(polevky(i):x(i,j,4))=1); @for(dny_cas(j,k):@sum(obedy(i):x(i,j,5))=1); @for(dny_cas(j,k):@sum(prilohy_obedy(i):x(i,j,6))=1); @for(dny_cas(j,k):@sum(vecere(i):x(i,j,7))=1); @for(dny_cas(j,k):@sum(prilohy_vecere(i):x(i,j,8))=1); ! Aby se za 14dní neopakovala snídaně, oběd a večeře, svačina a polévka max dvakrát, přílohy aby se neopakovaly x-krát; @for(snidane(i):@for(cas(k)|k#eq#1:@sum(dny(j):x(i,j,k))<=1)); 48
@for(prilohy_snidane(i):@for(cas(k)|k#eq#2:@sum(dny(j):x(i,j,k))<=5) ); @for(svaciny(i):@for(cas(k)|k#eq#3:@sum(dny(j):x(i,j,k))<=2)); @for(polevky(i):@for(cas(k)|k#eq#4:@sum(dny(j):x(i,j,k))<=2)); @for(obedy(i):@for(cas(k)|k#eq#5:@sum(dny(j):x(i,j,k))<=1)); @for(prilohy_obedy(i):@for(cas(k)|k#eq#6:@sum(dny(j):x(i,j,k))<=3)); @for(vecere(i):@for(cas(k)|k#eq#7:@sum(dny(j):x(i,j,k))<=1)); @for(prilohy_vecere(i):@for(cas(k)|k#eq#8:@sum(dny(j):x(i,j,k))<=4)) ; !Dodržení energetických hodnot; @for(dny(j):@sum(snidane(i):energie(i)*x(i,j,1))+@sum (prilohy_snidane(i):energie(i)*x(i,j,2))+odch_SNID_Em(j) -odch_SNID_Ep(j)=1710); @for(dny(j):@sum(svaciny(i):energie(i)*x(i,j,3))+odch_SVAC_Em(j) -odch_SVAC_Ep(j)<=1332); @for(dny(j):@sum(polevky(i):energie(i)*x(i,j,4))+@sum(obedy(i):energ ie(i)*x(i,j,5))+@sum(prilohy_obedy(i):energie(i)*x(i,j,6))+odch_OBED _Em(j)-odch_OBED_Ep(j)=2225); @for(dny(j):@sum(vecere(i):energie(i)*x(i,j,7))+@sum(prilohy_vecere (i):energie(i)*x(i,j,8))+odch_VECER_Em(j)-odch_VECER_Ep(j)=2000); !Dodržení bílkovin; @for(dny(j):@sum(snidane(i):bilkoviny(i)*x(i,j,1))+@sum(prilohy_snid ane(i):bilkoviny(i)*x(i,j,2))+odch_SNID_Bm(j)-odch_SNID_Bp(j)=18); @for(dny(j):@sum(svaciny(i):bilkoviny(i)*x(i,j,3))+odch_SVAC_Bm(j) -odch_SVAC_Bp(j)=10.5); @for(dny(j):@sum(polevky(i):bilkoviny(i)*x(i,j,4))+@sum(obedy(i):bi lkoviny(i)*x(i,j,5))+@sum(prilohy_obedy(i):bilkoviny(i)*x(i,j,6))+od ch_OBED_Bm(j)-odch_OBED_Bp(j)=160.4); @for(dny(j):@sum(vecere(i):bilkoviny(i)*x(i,j,7))+@sum(prilohy_vecer e(i):bilkoviny(i)*x(i,j,8))+odch_VECER_Bm(j)-odch_VECER_Bp(j)=40.9); !Dodržení tuků; @for(dny(j):@sum(snidane(i):tuky(i)*x(i,j,1))+@sum(prilohy_snidane (i):tuky(i)*x(i,j,2))+odch_SNID_Tm(j)-odch_SNID_Tp(j)=23.5); @for(dny(j):@sum(svaciny(i):tuky(i)*x(i,j,3))+odch_SVAC_Tm(j) -odch_SVAC_Tp(j)<=6.6); @for(dny(j):@sum(polevky(i):tuky(i)*x(i,j,4))+@sum(obedy(i):tuky(i) *x(i,j,5))+@sum(prilohy_obedy(i):tuky(i)*x(i,j,6))+odch_OBED_Tm(j) -odch_OBED_Tp(j)=24.6); @for(dny(j):@sum(vecere(i):tuky(i)*x(i,j,7))+@sum(prilohy_vecere(i): tuky(i)*x(i,j,8))+odch_VECER_Tm(j)-odch_VECER_Tp(j)=24.2); !Dodržení sacharidů; @for(dny(j):@sum(snidane(i):sacharidy(i)*x(i,j,1))+@sum(prilohy_snid ane(i):sacharidy(i)*x(i,j,2))+odch_SNID_Sm(j)-odch_SNID_Sp(j)=74.6); @for(dny(j):@sum(svaciny(i):sacharidy(i)*x(i,j,3))+odch_SVAC_Sm(j) -odch_SVAC_Sp(j)<=69); @for(dny(j):@sum(polevky(i):sacharidy(i)*x(i,j,4))+@sum(obedy(i):sa charidy(i)*x(i,j,5))+@sum(prilohy_obedy(i):sacharidy(i)*x(i,j,6))+od ch_OBED_Sm(j)-odch_OBED_Sp(j)=80.4); @for(dny(j):@sum(vecere(i):sacharidy(i)*x(i,j,7))+@sum(prilohy_vecer e(i):sacharidy(i)*x(i,j,8))+odch_VECER_Sm(j)-odch_VECER_Sp(j)=77.8); 49
!Zajištění přidělení správných příloh; @for(snidane(i):@for(dny(m):x(i,m,1)=@sum(prilohy_snidane(l):SNID_P ( i,l)*POM_S(i,l,m)))); @for(prilohy_snidane(l):@for(dny(m):x(l,m,2)=@sum(snidane(i):SNID_P (i,l)*POM_S(i,l,m)))); @for(obedy(i):@for(dny(m):x(i,m,5)=@sum(prilohy_obedy(l):OBED_P(i,l) *POM_O(i,l,m)))); @for(prilohy_obedy(l):@for(dny(m):x(l,m,6)=@sum(obedy(i):OBED_P(i,l) *POM_O(i,l,m)))); @for(vecere(i):@for(dny(m):x(i,m,7)=@sum(prilohy_vecere(l):VECER_P (i,l)*POM_V(i,l,m)))); @for(prilohy_vecere(l):@for(dny(m):x(l,m,8)=@sum(vecere(i):VECER_P (i,l)*POM_V(i,l,m)))); !maximalni cena; @sum(jidlo_dny_cas(i,j,k):cena(i)*x(i,j,k))<=2200; !Binární proměnná; @for(jidlo_dny_cas:@bin(x)); @for(snidane_prilohy_snidane_dny:@bin(POM_S)); @for(obedy_prilohy_obedy_dny:@bin(POM_O)); @for(vecere_prilohy_vecere_dny:@bin(POM_V)); End
50