5.Profesionální optimalizační systémy

Rozměr: px
Začít zobrazení ze stránky:

Download "5.Profesionální optimalizační systémy"

Transkript

1 5.Profesionální optimalizační systémy Řešení reálných optimalizačních úloh, které často obsahují tisíce i desítky tisíc proměnných i omezujících podmínek, není myslitelné bez vysoce výkonných optimalizačních systémů. Excelovský řešitel, který byl popsaný v předcházející kapitole, je vhodný pro řešení úloh velmi malých rozměrů (desítky či několik velmi málo stovek proměnných). Navíc nevykazuje žádné mimořádné vlastnosti v porovnání se skutečně profesionálními a výkonnými optimalizačními systémy. Na softwarovém trhu je dnes k dispozici celá řada systémů od různých firem. O dvou z nich, které jsou nainstalované v počítačových učebnách VŠE, se zde zmíníme podrobněji, nejvýkonnější a nejznámější potom uvedeme ve stručném přehledu. V souvislosti s používáním optimalizačních systémů pro řešení reálných úloh značných rozměrů vyvstává otázka, jakým způsobem zadávat pro tyto systémy vstupní data. Dlouhodobým standardem v této oblasti je vstupní formát MPS (Mathematical Programming System), který popíšeme v následujícím oddílu. 5.1 Zadávání vstupních dat formát MPS Reálné úlohy lineárního či celočíselného programování mají zpravidla tisíce proměnných i omezujících podmínek. Představíme-li si úlohu, která má deset tisíc proměnných a tisíc omezujících podmínek, potom jen matice strukturních koeficientů obsahuje deset miliónů prvků. I když bývá v takových úlohách zaplněnost matice strukturních koeficientů (podíl nenulových prvků k celkovému počtu prvků matice) velmi nízká a může se pohybovat i pod úrovní jednoho procenta, je počet nenulových prvků velmi vysoký jedno procento z deseti milionů je sto tisíc. Otázkou tedy je, jakým způsobem zadat vstupní údaje optimalizační úlohy takového rozsahu. Určitým standardem v této oblasti se stal formát MPS, který vznikl za podpory firmy IBM v šedesátých letech minulého století. Tato firma totiž již tehdy dodávala ke svým sálovým počítačům systém pro řešení optimalizačních úloh a vstupní data pro tento systém se zadávala právě v uvedeném formátu. Vzhledem k tomu, že typickým paměťovým médiem v době vzniku formátu MPS byly děrné štítky (kapacita děrného štítku byla 80 znaků), jedná se o textový formát, ve kterém se zapisují na každý řádek určité informace s tím, že na jednom řádku je k dispozici maximálně 80 znaků (každý řádek je jeden děrný štítek). Informace se přitom musí zapisovat do pevně daných pozic. Znamená to, že například jisté informace

2 Profesionální optimalizační systémy se musí zapisovat od druhého sloupce, jiné od patnáctého apod. Jedná se tedy o formát s pevnou strukturou. Formát MPS se stal takovým standardem, že dnes není myslitelné, aby některý optimalizační systém, který chce být skutečně profesionálním, neuměl načítat data v tomto formátu. Většina systémů dokonce umožňuje transformaci dat z jiných, jim vlastních formátů, do formátů MPS. Tímto způsobem je zajištěna možnost řešit optimalizační úlohy pomocí různých optimalizačních systémů a porovnávat tak jejich výkonnost. Vstupní data zapsaná ve formátu MPS jsou uložena jako běžný textový (ASCII) soubor a je možné je prohlížet a případně i vytvářet v libovolném textovém editoru. Pro textový soubor s daty v tomto formátu se zpravidla používá přípona MPS - např. ULOHA.MPS. Zápis dat ve formátu MPS se dělí do několika základních sekcí každá z nich začíná jedním z následujících klíčových slov: NAME, ROWS, COLUMNS, RHS, RANGES a BOUNDS. První čtyři sekce (NAME, ROWS, COLUMNS a RHS) jsou povinné, další dvě jsou užívány volitelně podle potřeby. Zmíněné sekce musí být zapsány v uvedeném pořadí a mohou se vyskytnout maximálně jednou. 1. Sekce NAME Jedná se o identifikační sekci, která obsahuje pouze jediný řádek s názvem úlohy. Od první pozice na řádku je identifikátor sekce (NAME), od 15. pozice je název úlohy. 2. Sekce ROWS Řádková sekce (ROWS) je uvozena klíčovým slovem ROWS, zapsaným od první pozice řádku. Tato sekce slouží především pro určení názvu a typu každého řádku (omezující podmínka nebo kriteriální funkce). V jednotlivých řádcích řádkové sekce je proto pro každou omezující podmínku úlohy (nebo pro kriteriální funkci) uveden jednoznakový identifikátor, který je zapsaný ve druhé pozici řádku. Používají se přitom následující symboly: N pro účelovou funkci, E pro omezující podmínku typu =, L pro omezující podmínku typu, G pro omezující podmínku typu. Od 5. do 12.pozice je potom na každém řádku uveden název omezující podmínky nebo kriteriální funkce. Řádky v sekci ROWS mohou být

3 5.5 Optimalizační systém NEOS 119 uvedeny v libovolném pořadí. Formát sekce ROWS lze přehledně popsat takto: kód relačního znaménka omezení je ve sloupci 2, název omezení je ve sloupcích 5 až Sekce COLUMNS Sloupcová sekce je uvozena klíčovým slovem COLUMNS a jejím obsahem jsou především nenulové hodnoty matice strukturních koeficientů omezujících podmínek. Jako v ostatních sekcích se klíčové slovo (zde COLUMNS) zapisuje od první pozice v prvním řádku sekce. V dalších řádcích této sekce jsou uvedeny názvy proměnných a nenulové koeficienty těchto proměnných v jednotlivých omezeních a účelové funkci. Podobu sekce COLUMNS lze formálně popsat následovně: jméno proměnné je na pozicích 5-12, jméno řádku (omezení či účelové funkce), v němž má příslušná proměnná nenulový koeficient, je uvedeno na pozicích 15-22, hodnota příslušného koeficientu je na pozicích 25-36, přičemž koeficient může být zapsán i v semilogaritmickém tvaru, tj. např. 3.4E-3, na pozicích může být (ale nemusí) případné další jméno řádku, v němž je nenulový koeficient uvedené proměnné, na pozicích je hodnota koeficientu odpovídajícího řádku, specifikova-ného v předchozím bodě. Na každém řádku sekce COLUMNS mohou být tedy dva nenulové koeficienty vztahující se ovšem pouze k jedné proměnné. Pro jednoduchost dnes ale většina systémů konvertuje data tak, že v každém řádku této sekce je pouze jeden nenulový koeficient, jehož zápis končí na 36.pozici. 4. Sekce RHS Poslední povinnou sekcí je sekce pravých stran (RHS), ve které jsou uvedeny hodnoty pravých stran (konstanty) jednotlivých omezení úlohy. Sekce RHS začíná slovem RHS zapsaným od 1. pozice řádku. Od 5. pozice je potom uvedeno jméno souboru pravých stran. Důvodem je, že formát MPS umožňuje mít v jednom datovém souboru více souborů pravých stran a teprve při spuštění optimalizačního výpočtu uživatel specifikuje, jaký soubor použije. V typickém případě však bude v MPS souboru pouze jeden soubor pravých stran. Sekce RHS má následující podobu: název pravé strany (slouží pro její identifikaci) je na pozicích 5-12, jméno řádku (omezení), v němž je na pravé straně nenulová hodnota, je na pozicích 15-22,

4 Profesionální optimalizační systémy hodnota pravé strany je na pozicích Sekce RANGES Sekce rozpětí (RANGES) je první volitelnou sekcí formátu MPS. Pokud je tato nepovinná sekce použita, musí následovat bezprostředně za sekcí RHS a začíná klíčovým slovem RANGES, které je zapsané od první pozice řádku. Použití této sekce ukážeme na drobné ilustraci. Uvažujme, že máme omezující podmínky v následujícím tvaru: b i r n j1 a ij x j b i. Tyto podmínky lze snadno rozepsat do dvou samostatných omezení: n a ijx j j1 n j1 a ij x j b b i i, a současně r. Tento postup by však nebyl příliš výpočetně efektivní, neboť by narůstal počet omezujících podmínek úlohy. V oddílu 3.2 jsme si ukázali, že dvě omezení tohoto typu lze snadno transformovat do jednoho omezení přidáním nové proměnné s horní mezí r takto: n j1 a ij x u i r, u i 0. j u i b i, Tuto možnost nabízejí i profesionální optimalizační systémy, ve formátu MPS však musí být taková omezení specifikována v sekci RANGES, která umožňuje zadat šířku rozpětí mezí (v našem značení konstanta r), ve kterých se má pohybovat levá strana omezujících podmínek. V sekci ROWS je třeba definovat typ omezující podmínky. Pokud se uvede typ L ( ), potom hodnota konstanty r zadané v sekci RANGES pro toto omezení udává, o kolik musí být levá strana omezující podmínky menší nebo rovna zadané hodnotě pravé strany (b i ), která je specifikována v sekci RHS. Pokud se naopak uvede typ G ( ), potom hodnota konstanty r zadané v sekci RANGES pro toto omezení udává, o kolik musí být levá strana omezující

5 5.5 Optimalizační systém NEOS 121 podmínky větší nebo rovna zadané hodnotě pravé strany (b i ), která je specifikována v sekci RHS. Formát informací v sekci RANGES je následující: název souboru rozpětí - pozice 5-12, jméno řádku (omezující podmínka), pro který se specifikuje šířka rozpětí - pozice 15-22, šířka rozpětí (konstanta r) - pozice Sekce BOUNDS Sekce mezí (BOUNDS) je opět nepovinná a začíná klíčovým slovem BOUNDS, které je zapsané opět od první pozice na řádku. V této sekci jsou uvedeny, je-li to třeba, horní a dolní meze pro proměnné, případně další informace o charakteru proměnných. Proměnné, jež nejsou v sekci BOUNDS uvedeny, mají automaticky dolní mez nulu a horní mez +. V sekci BOUNDS je možno uvést i informaci o tom, které z proměnných jsou binární. Každý řádek sekce BOUNDS obsahuje informaci o typu meze, název proměnné a hodnotu meze, pokud je uvedení hodnoty smysluplné. Formát informací uváděných v sekci BOUNDS je následující: dvouznakový kód typu meze (na pozici 2 a 3 řádku) některé povolené typy a jejich významy uvádíme v následujícím přehledu: UP horní mez proměnné, LO dolní mez proměnné, FX proměnná je pevně fixována na stanovenou hodnotu, FR volná proměnná (může nabývat i záporných hodnot), BV binární proměnná, UI celočíselná proměnná se stanovenou horní mezí, název souboru mezí - pozice 5-12, název proměnné, pro kterou se zadává mez (nebo jiná informace) - pozice 15-22, hodnota meze je na pozicích (neuvádí se u typů BV a FR). V úlohách lineárního programování se často vyskytují podmínky celočíselnosti pro některé nebo všechny proměnné. Ve formátu MPS se tyto podmínky mohou specifikovat volbami BV případně UI v sekci BOUNDS. Další možností je použití tzv. markerů v sekci COLUMNS. Pro všechny proměnné, které budou uvedeny mezi dvěma markery 'INTORG' a 'INTEND', platí podmínky celočíselnosti. Od 5. pozice je označení markeru (např. INTEGER1), od 15. pozice je klíčové slovo 'MARKER' a od 40. pozice klíčové slovo 'INTORG' nebo 'INTEND'. Tato možnost se dnes ve formátech MPS využívá téměř výhradně.

6 Profesionální optimalizační systémy Celý soubor ve formátu MPS je ukončen klíčovým slovem ENDATA, které je zapsáno od první pozice posledního řádku datového souboru. Před uvedením příkladu chceme upozornit ještě na jednu skutečnost. Součástí formátu MPS není určení typu optimalizačního kritéria (zda se bude maximalizovat či minimalizovat). Toto určení je zpravidla součástí příkazu pro spuštění výpočtu daného optimalizačního řešitele. Příklad 5.1 ilustrace formátu MPS Uvažujme jednoduchou úlohu výrobního plánování, ve které lze vyrábět tři výrobky (v matematickém modelu jim budou odpovídat proměnné x 1, x 2, x 3 ). Omezujícími podmínkami jsou spotřeba suroviny (maximálně 185 kg) spotřeba suroviny na jednotlivé výrobky je postupně 1, 2 a 5 kg na jeden kus výrobku. Dalšími omezeními jsou požadavky odbytu prvního a druhého výrobku dohromady vyrobit minimálně 50 kusů, prvního výrobku maximálně 20 kusů a třetího minimálně 10 kusů. Objem výroby prvního a druhého výrobku musí být celočíselný. Cílem je navrhnout výrobní program, který bude splňovat všechny podmínky a bude maximalizovat celkový zisk (jednotkový zisk na jeden kus výrobků je postupně 15, 24 a 36 tis. Kč). Matematický model této úlohy bude tedy vypadat následovně: maximalizovat z = 15x x x 3 za podmínek (5.1) x 1 + 2x 2 + 5x 3 185, x 1 + x 2 50, x 1 20, x 3 10, x i 0, i = 1,2,3, x i - celé, i = 1,2. Zápis tohoto modelu ve formátu MPS bude vypadat následovně (použili jsme způsob, ve kterém je na jednom řádku sloupcové sekce pouze jeden nenulový koeficient). V řádkové sekci jsou definovány tři položky kriteriální funkce (ZISK), surovinové omezení (SUROVINA) a odbytové omezení (ODBYT). Poslední dvě omezení matematického modelu jsou dolní a horní mezí proměnné a proto budou zadány v sekci BOUNDS. NAME ROWS VYROBA

7 5.5 Optimalizační systém NEOS 123 N ZISK L SUROVINA G ODBYT COLUMNS INTEGER1 'MARKER' X1 SUROVINA X1 ODBYT X1 ZISK X2 SUROVINA X2 ZISK X2 ODBYT INTEGER2 'MARKER' X3 SUROVINA X3 ZISK RHS RHS1 SUROVINA RHS1 ODBYT BOUNDS UP BND1 X LO BND1 X ENDATA 'INTORG' 'INTEND' RHS1 a BND1 představují pouze pojmenování souboru pravých stran resp. souboru mezí a pro všechny řádky uvedených dvou sekcí bude toto pojmenování shodné. Jak je patrné i z výše uvedeného ilustračního příkladu, zápis vstupních dat ve formátu MPS je poměrně rozsáhlý a vzhledem k pevnému formátu by bylo obtížné jej pro uživatele vytvářet přímo v nějakém textovém editoru. Data ve formátu MPS jsou proto téměř výhradně výsledkem nějaké programové procedury, která převede data z externích datových zdrojů do požadované podoby, případně MPS soubor může vzniknout generováním z jiných formátů. Druhou možnost nabízí řada profesionálních optimalizačních systémů 5.2 Optimalizační systém LINDO Systém LINDO (Linear INteractive and Discrete Optimizer) je profesionální systém, který může řešit v maximální verzi (extended LINDO) optimalizační úlohy s několika desítkami tisíc proměnných i omezujících podmínek. Běžný uživatel si může stáhnout testovací verzi tohoto systému z www stránek firmy LINDO Systems, Inc. - Jedná se o

8 Profesionální optimalizační systémy omezenou verzi s rozsahem 500 proměnných (z toho maximálně 50 celočíselných proměnných) a 250 omezujících podmínek. Jinak má ovšem tento systém všechny rysy extended verze. Tato verze je k dispozici i na počítačové síti VŠE. Systém LINDO je určený především pro řešení úloh lineárního programování. Tyto úlohy mohou být doplněny podmínkami celočíselnosti (obecně celočíselné i bivalentní proměnné). Práce se systémem LINDO může být organizována několika způsoby. Pro řešení malých úloh (do několika málo desítek proměnných a omezujících podmínek) je ideální a jednoduchý způsob zadávání vstupních dat přímo do okna, které se uživateli otevře po spuštění systému. Tento způsob by byl ovšem nemožný u středních či velkých úloh, ve kterých mohou být tisíce proměnných a omezení. V takovém případě umožňuje LINDO načítat data ve formátu MPS, případně nabízí spolupráci s externími procedurami, které vygenerují potřebný datový soubor v požadovaném formátu. Vzhledem k informativnímu charakteru tohoto oddílu se budeme dále věnovat pouze přímému zadávaní vstupních dat a následné prezentaci výsledků. Při přímém zadávání vstupních údajů je třeba dodržovat nemnohá syntaktická pravidla, která budeme sumarizovat v následujícím přehledu: zápis modelu začíná definicí optimalizačního kritéria, které je uvozeno na samostatném řádku klíčovým slovem MAX (pro maximalizaci) nebo MIN (pro minimalizaci), zápis omezujících podmínek začíná klíčovým slovem SUBJECT TO (případně lze použít rovněž zkratky S.T. nebo ST nebo SUCH THAT), za kterým následuje zápis omezujících podmínek, který se ukončí příkazem END (z hlediska přehlednosti je rozumné členit celý zápis do řádků tak, jak ukazuje ilustrační příklad uvedený níže), názvy proměnných a případně omezujících podmínek mohou obsahovat maximálně 8 alfanumerických znaků (A-Z, 0-9) a musí začínat písmenem, omezení není třeba pojmenovávat (v takovém případě se automaticky ve výstupu výsledků očíslují) - pokud se uživatel rozhodne je pojmenovat, uvede název od začátku řádku a ukončí jej pravou kulatou závorkou, např. SUROVINA), LINDO rozeznává pouze 5 základních operátorů, a to + (sčítání), (odčítání), < (relace menší nebo rovno), > (relace větší nebo rovno) a = (relace rovnosti); všimněte si v této souvislosti, že se nepoužívá žádný symbol pro násobení; místo symbolů < a > lze používat také <= a >=,

9 5.5 Optimalizační systém NEOS 125 při zápisu omezující podmínky musí být absolutní člen (konstanta) uveden na pravé straně a naopak všechny proměnné musí být na levé straně - zápis X < Y je proto chybný, správně musí být X Y < 0, mezi strukturním (cenovým) koeficientem a názvem proměnné nemusí (ale může) být v zápisu omezujících podmínek (účelové funkce) uvedena mezera -lze tedy psát 3X stejně jako 3 X, komentáře jsou uvozeny znakem! na začátku řádku vše, co je na daném řádku za vykřičníkem, je považováno za komentář. Kromě uvedených pravidel lze při zápisu modelu používat další speciální modelovací příkazy, které se však uvádějí až za klíčové slovo END, ukončující zápis omezujících podmínek. Jejich výčet uvádíme se stručným popisem. FREE <název proměnné> specifikuje, že daná proměnná může nabývat i záporných hodnot (LINDO jinak uvažuje u všech proměnných podmínky nezápornosti automaticky) příklad FREE X. GIN <název proměnné nebo numerická hodnota> určuje, že daná proměnná bude obecně celočíselná. Místo názvu proměnné lze uvést číslo n. Tím se specifikuje, že prvních n proměnných ve formulaci modelu bude celočíselných. Příklad: GIN X (X bude celočíselné), GIN 3 (první tři proměnné modelu budou celočíselné). INT <název proměnné nebo numerická hodnota> je shodné s GIN s tím, že proměnné budou bivalentní budou tedy nabývat pouze hodnot 0 nebo 1. SLB <název proměnné a její dolní mez> Pomocí SLB může uživatel zadat dolní meze proměnných. Zápis SLB X 20 je shodný se zápisem X > 20, který by byl uveden mezi omezujícími podmínkami. Výhodou použití SLB je skutečnost, že se v tomto případě dolní mez nepočítá do celkového počtu omezujících podmínek a výpočet probíhá i efektivněji (algoritmus simplexové metody s dolními a horními mezemi). SUB <název proměnné a její horní mez> Stejné jako SLB, ale jedná se o horní meze proměnných, tzn. zápis SUB X 20 je shodný s omezující podmínkou X < 20.

10 Profesionální optimalizační systémy Obr. 5.1: LINDO základní obrazovka. Zápis vstupních dat příkladu (5.1) je ilustrován na obr. 5.1, který ukazuje i celé prostředí systému LINDO. Práce se systémem LINDO se řídí pomocí příkazů menu. Hlavní menu obsahuje 6 položek: File, Edit, Solve, Reports, Window a Help. Cílem tohoto oddílu není podat vyčerpávající popis systému LINDO, a proto se z jednotlivých položek budeme věnovat pouze volbám Solve a Reports. Zbývající volby jsou podobné analogickým volbám, které bývají k dispozici v ostatních programových systémech určených pro prostředí Windows.

11 5.5 Optimalizační systém NEOS 127 Obr. 5.2: Status Window. Položka hlavního menu Solve obsahuje následujících pět příkazů: 1. Solve spouští řešení modelu, který je v aktivním okně. Pokud nebyl model dosud kompilován, provede se kompilace a následný výpočet. V průběhu výpočtu se zobrazuje uživateli tzv. Status Window, kde jsou k dispozici některé užitečné informace. Jedná se především o status aktuálního řešení může být Optimal (optimální řešení), Feasible (přípustné), Infeasible (nepřípustné) a Unbounded (neomezené), a dále počet iterací (Iterations), míru nepřípustnosti (Infeasibility), hodnotu účelové funkce (Objective), čas výpočtu (Elapsed Time), nejlepší dosud nalezené celočíselné řešení (Best IP) atd. Ukázka tohoto okna (po nalezení optimálního řešení) je na obr Příkaz Solve je jedním z nejčastěji používaných příkazů. Lze jej aktivovat proto i přímo z nástrojové lišty pomocí tlačítka Po úspěšném ukončení výpočtu lineárních neceločíselných problémů se uživateli zobrazí okno s dotazem, zda se má do výstupu výsledků zahrnout i analýza citlivosti (Do Range/Sensitivity Analysis?). Z teorie lineárního programování je zřejmé, že analýzu citlivosti nelze provádět pro celočíselné úlohy. V našem příkladě by se tedy tato výzva vůbec nezobrazovala. Výsledky výpočtu se potom zobrazí v tzv. Reports Window. Ukázka tohoto okna pro náš ilustrační příklad je na obr Informace obsažené v Reports Window nevyžadují bližší komentář, protože jsou velmi podobné výstupům výsledků v ostatních systémech (např. MS Excel řešitel).

12 Profesionální optimalizační systémy Obr. 5.3: Reports Window. 2. Příkaz Compile provádí samostatnou kompilaci modelu, který je zapsán v aktivním okně. Při výskytu syntaktické chyby vypíše chybové hlášení a přesune kurzor na pozici, kde byla chyba indikována. 3. Příkaz Debug je užitečná pomůcka pro případ, že navržený model nemá přípustné řešení. Tento příkaz se snaží změnit parametry modelu tak, aby přípustné řešení existovalo. Podrobnější popis tohoto příkazu přesahuje rámec této učebnice. 4. Příkaz Pivot umožňuje provádět výpočet po jednotlivých iteracích s tím, že lze klíčový prvek (pivot) volit automaticky nebo si jej uživatel zvolí sám. 5. Příkaz Preemptive Goal předpokládá model s větším počtem optimalizačních kritérií. Tento model se zde řeší technikou cílového programování, ve kterém jsou cíle odlišeny preferencemi. Podrobnější popis opět přesahuje rámec těchto skript. Položka hlavního menu Reports obsahuje příkazy pro generování různých typů výstupních sestav. Výstupy jsou standardně posílány do Reports Window. Toto okno existuje vždy pouze jedno. Znamená to, že se případné další výstupy vždy přidávají v tomto okně za již uvedené informace. Často je proto rozumnější Reports Window po ukončení jednoho výpočtu zavřít. Při následném výpočtu se potom otevře nové okno a budou v něm obsaženy pouze nové informace. Po ukončení běžného optimalizačního výstupu se uživateli zobrazí v Reports Window hodnoty strukturních a přídatných proměnných, redukované ceny, duální (stínové) ceny a hodnota účelové funkce (viz obr. 5.3). Pokud si uživatel přeje, zobrazí se rovněž intervaly stability (pouze pro úlohy bez podmínek celočíselnosti). Stejné výstupy se aktivují po volbách Solution a Range z položek hlavního menu Reports. Mezi zajímavější volby z menu Reports patří dále příkaz Statistics, který nabízí podrobnou statistiku daného modelu, a příkaz Tableau, který zobrazí simplexovou tabulku zvoleného kroku výpočtu. Ostatní volby tohoto menu nejsou již běžně užívané. Kromě zmíněných příkazů seskupených v rámci menu Solve a Reports zmíníme ještě některé další příkazy. 1. Příkaz Edit Options umožňuje uživatelské nastavování vybraných parametrů. Tyto parametry jsou dvojího typu - parametry pro řízení optimalizačního výpočtu a parametry pro řízení výstupů. První typ

13 5.5 Optimalizační systém NEOS 129 parametrů není nutné při řešení běžných úloh měnit. Mezi výstupními parametry je jednak možnost zrušit zobrazování během výpočtu Status Window (stejnojmenný parametr) a jednak potlačit podrobný výstup výsledků v Reports Window (parametr Terse Output) - při potlačení výstupů se uživateli zobrazí jen počet iterací a dosažená hodnota optimalizačního kritéria. 2. Příkaz File Save As slouží pro uložení obsahu jakéhokoliv (aktivního) okna do souboru. Ukládat lze tedy model, výsledky obsažené v Reports Window apod. Přitom může uživatel zvolit jeden z následujících třech výstupních formátů: LINDO Text formát (přípona *.ltx) je běžně používaný formát. Obsah textového okna je uložen jako ASCII text přesně tak, jak byl zapsán na obrazovce. LINDO Packed formát (přípona *.lpk) lze použít pouze pro uložení modelu. Model je uložen v komprimované podobě - je tedy z hlediska spotřeby kapacity paměti úspornější. MPS formát (přípona *.mps), který jsme podrobněji popsali v prvním oddílu této kapitoly. 3. Příkaz File Open načítá model ze souboru. Načítat lze údaje z jednoho z výše uvedených formátů (*.ltx, *.lpk, *.mps). Nejčastěji používané příkazy lze aktivovat nejen z hlavního menu, ale i akceleračními klávesami (např. Ctrl+S aktivuje příkaz Solve) nebo pomocí tlačítek na nástrojové liště. Sytém LINDO je na rozdíl od některých dalších optimalizačních systémů (např. XA, který bude popsaný v následujícím oddílu) používaný pouze v produktech firmy LINDO Systems. Obsahuje poměrně komfortní uživatelské prostředí a tak může fungovat i samostatně. Oproti tomu systém XA a další systémy (CPLEX, MOSEK) jsou pouze řešiteli bez toho, aniž by měly nějaké uživatelské rozhraní. Proto jsou často používány v systémech, kterým se říká modelovací jazyky, jako řešitelské moduly (modelovací jazyky většinou samy o sobě žádné řešitele neobsahují a uživatel může pracovat s tím řešitelem, který má k dispozici). 5.3 Optimalizační systém XA Systém XA - Professional Linear Programming System (dále budeme pro jeho označení používat pro stručnost pouze zkratku XA) je jedním z nejvýkonnějších optimalizačních systémů vůbec. Jedná se pouze o řešitelský modul, který neobsahuje primárně žádné uživatelské prostředí.

14 Profesionální optimalizační systémy Systém XA sám o sobě je aplikace, která běží pod MS DOS a řízení zpracování se provádí zadáním řádkových příkazů do DOSovského okna. Maximální rozměry úloh, které je možno pomocí systému XA řešit, závisí na verzi, kterou má uživatel k dispozici. Na počítačových učebnách VŠE je verze 12, která umožňuje řešit úlohy, ve kterých může být až proměnných a omezujících podmínek. Všechny proměnné modelu přitom mohou být i celočíselné. Systém XA umožňuje řešit především standardní úlohy lineárního programování, ve kterých mohou být podmínky celočíselnosti (obecně celočíselné i bivalentní proměnné), dolní a horní meze proměnných apod. Důležitým předpokladem používání každého optimalizačního systému je znalost způsobu zadávání vstupních dat. XA poskytuje tři základní možnosti vstupních formátů: rovnicový způsob (podobný běžnému matematickému zápisu), zápis dat v tabulkových kalkulátorech, data ve formátu MPS. 1. Rovnicový způsob zadávání vstupních dat Rovnicový způsob je spíše ilustrační, protože se hodí především pro úlohy menších rozměrů. Data se zde zapisují libovolným textovým editorem (XA žádný vlastní editor nemá) a uloží se pod názvem s příponou LP jako běžný ASCII textový soubor. Rovnicový způsob zápisu dat úlohy LP obsahuje 4 následující sekce:..title..objective..bounds..constraint Tyto sekce musí být zapsány v uvedeném pořadí s tím, že sekce..bounds je nepovinná. Dále jednotlivé sekce popíšeme podrobněji. Každá ze sekcí začíná příslušným klíčovým slovem, před nímž bezprostředně jsou povinně dvě tečky (ne dvojtečka)...title sekce Na prvním řádku sekce..title je uvedené klíčové slovo, na dalším řádku potom zvolený název úlohy, který bude obsažený na každé stránce výstupních informací. Název úlohy může mít maximálně 128 znaků.

15 5.5 Optimalizační systém NEOS 131..OBJECTIVE sekce Sekce..OBJECTIVE slouží pro definici optimalizačního kritéria. Začíná klíčovým slovem..objective, které je doplněno slovem MAXIMIZE nebo MINIMIZE. Na dalším řádku je běžným matematickým způsobem zapsána účelová funkce. Názvy proměnných mohou mít přitom maximálně 8 alfa-numerických znaků, z nichž první musí být písmeno. V účelové funkci se vždy musí uvést i nulové koeficienty, neboť jména proměnných, která jsou uvedena v sekci..objective, se používají pro ověření správnosti a úplnosti zápisů jmen proměnných v ostatních sekcích, takže je nutné, aby se v účelové funkci vyskytly všechny v modelu použité proměnné. Vyskytne-li se v zápisu účelové funkce stejné jméno proměnné vícekrát, pak se příslušné koeficienty sčítají. Při zápisu se používají pouze symboly + a, tzn. mezi strukturním koeficientem a proměnnou není žádný znak pro násobení. Název proměnných, které mají být v modelu celočíselné (ať už bivalentní nebo obecně celočíselné) se uvedou v zápisu účelové funkce v hranatých závorkách, tj. [název]. U obecně celočíselných proměnných se potom musí ještě v sekci..bounds uvést jejich horní mez. Pokud se horní mez neuvede, nastaví se automaticky hodnota 1 a bude se tedy jednat o bivalentní proměnnou...objective sekce pro příklad (5.1) bude tedy vypadat následovně:..objective MAXIMIZE 15[X1] + 24[X2] + 36X3..BOUNDS sekce V sekci..bounds se uvádějí, pokud je to třeba, horní a dolní meze proměnných. Jestliže všechny proměnné mají pouze podmínky nezápornosti, potom se tato sekce nemusí vůbec uvádět. Různé možnosti a jejich vyjádření pomocí přípustného formálního zápisu ukážeme na několika typických příkladech: má-li být hodnota proměnné X1 maximálně 20, potom se tento požadavek vyjádří v sekci..bounds takto: X1<=20 má-li být proměnná X1 z uzavřeného intervalu od 10 do 50, potom to lze zapsat takto: X1<=50>=10 nebo ekvivalentně X1>=10<=50 zápisy, které uvádíme níže, není nutné blíže komentovat: X1=FREE X1=25

16 Profesionální optimalizační systémy..constraint sekce Obsahem sekce..constraint je zápis omezujících podmínek optimalizační úlohy. Jednotlivé řádky může uživatel pojmenovat. Tato možnost je doporučována především z důvodu lepší orientace ve výstupních sestavách. Názvy řádků mohou mít, podobně jako názvy proměnných, maximálně 8 alfanumerických znaků. Za názvem řádku musí bezprostředně následovat dvojtečka ":". Pokud uživatel řádky nepojmenuje, potom je jim automaticky přiřazeno jméno ve tvaru ROWXXXXX, kde XXXXX je pořadové číslo řádku. Omezující podmínky se potom zapisují běžným matematickým způsobem jako relační znaménko se použije <=, = nebo >=. Rovnicový způsob zápisu dat budeme ilustrovat na příkladu (5.1) z prvního oddílu této kapitoly. Tento zápis by tedy vypadal následovně:..title Uloha vyrobniho planovani..objective MAXIMIZE 15[X1] + 24[X2] + 36X3..BOUNDS X1 <= 20 X2 <= 1000 X3 >= 10..CONSTRAINT SUROVINA: X1 + 2X2 + 5X3 <= 185 ODBYT: X1 + X2 >= 50 Horní mez u proměnné X2 ve výše uvedeném zápisu je proto, že má být tato proměnná celočíselná a u takových proměnných je třeba stanovit horní hranici. Pokud o této hranici nemá uživatel bližší představu, potom může zadat dostatečně vysokou hranici (v našem příkladu hodnota 1000). Pro zápis vstupních dat rovnicovým způsobem uvádíme některé další důležité informace: 1. Datový soubor je zapisován ve volném formátu - na libovolném místě (kromě prvních znaků každé sekce) může být libovolný počet mezer. Volné řádky jsou systémem vždy ignorovány. Řádky začínající hvězdičkou (*) jsou celé chápány jako komentáře. 2. Nerozlišují se malá a velká písmena, neboť systém je vždy interně transformuje na velká písmena. Čísla nemohou být uváděna v semilogaritmickém tvaru, tj. čísla typu 2.84E+06 nejsou v rovnicovém způsobu zápisu dat povolena.

17 5.5 Optimalizační systém NEOS Jestliže se informace nevejdou na jeden řádek, lze plynule přejít na další řádky. Nelze přitom rozdělovat koeficienty a názvy proměnných do více řádků. 4. Datový soubor se musí uložit jako textový soubor, jehož název musí mít povinně příponu LP - přípustný název souboru je tedy např. ULOHA.LP. 2. Zápis dat v tabulkových kalkulátorech Tabulkové kalkulátory patří mezi nejoblíbenější programové produkty a příprava vstupních dat pro optimalizační úlohu je v nich poměrně pohodlná. V našich podmínkách se z této kategorie produktů používá téměř výhradně MS Excel v některé posledních verzí. Proto se při popisu zadávání vstupních dat pro systém XA zaměříme výhradně na něj. Při práci s ním je třeba dodržovat některé obecná pravidla: Systém XA (ve verzi, která je k dispozici) podporuje pouze starší formát tabulkového kalkulátoru. Data je tedy v MS Excelu třeba nejprve vytvořit v požadované struktuře (viz dále) a potom celý soubor uložit jako typ souboru Dokument Microsoft Excel 4.0 (*.xls). Moje zkušenosti ukazují, že s novější formáty systém XA nepodporuje. V tét souvislosti je třeba poznamenat, že formát Excel 4.0 povoluje v souboru pouze jeden list zbývající musí být tedy vymazány. Pokud uživatel vyžaduje, aby se do excelovského souboru uložily výsledky optimalizace, potom nesmí být tento soubor otevřený (v opačném případě XA hlásí, že do souboru nelze zapisovat). Při tvorbě dat lze používat veškeré vzorce a funkce MS Excelu. Před spuštěním optimalizace je v takovém případě vhodné provést rekalkulaci tabulky (klávesa F9). Nedoporučuji používat diakritiku ve všech používaných názvech. Při používání MS Excelu pro přípravu dat lze použít tři různé styly. Bud se v nich používají fixní, systémem XA určené, názvy bloků, nebo může uživatel použít i své vlastní názvy bloků. V takovém případě však musí potom sestavit spaciální textový soubor s příponou LTS (Look To Spreadsheet), ve které tyto názvy přiřadí jednotlivým částem optimalizační úlohy. 1. Styl I proměnné jsou ve sloupcích Při použití tohoto stylu je uživatel limitován počtem sloupců v listu, tj Počet proměnných tak může být maximálně 253 (zbývající tři musí být vyhrazeny pro vektor pravé strany, názvy řádků a relační znaménko

18 Profesionální optimalizační systémy v omezující podmínce). Uvedený limit však může být překonán použitím LTS souboru, ve kterém může být uvedeno více bloků proměnných (v rámci jednoho listu nebo dokonce i v různých souborech). 2. Styl II proměnné jsou v řádcích Jedná se o styl podobný předchozímu pouze jsou data vlastně otočená o 90 stupňů. 3. Styl III tabulka Tento styl vyžaduje použití LTS souboru pro definici bloků, je však ze všech stylů nejuniverzálnější a pro uživatele nejjednodušší. Při použití stylů I a II je možné použít předdefinované názvy bloků, ve kterých jsou umístěny potřebné informace. Úplný seznam těchto bloků je v následující tabulce (ne všechny z nich jsou povinné): Název oblasti Popis Komentář LPCMD Buňka obsahující řádkové příkazy pro výpočet (viz dále) nepovinné ale doporučené XATITLE Název úlohy nepovinné XAVARIABLE Názvy proměnných povinné XACOST Cenové koeficienty povinné XALOWER Dolní meze proměnných nepovinné XAUPPER Horní meze proměnných nepovinné XACONSTRAINT Matice koeficientů (včetně pravé strany, relací a názvů) povinné XAVA Hodnoty proměnných nepovinné XACA Hodnoty omezení (levá strana) nepovinné XAVR Redukované ceny proměnných nepovinné XACR Duální (stínové) ceny nepovinné XAVS Status proměnných nepovinné XACS Status omezujících podmínek nepovinné Tab. 5.1: Definice oblastí pro styly I a II..

19 5.5 Optimalizační systém NEOS 135 Pokud by dal uživatel při využití stylů I a II přednost vytvoření LTS souboru místo použití výše uvedených fixních názvů, uvádíme strukturu tohoto textového souboru:..title..objective MINIMIZE / MAXIMIZE..BOUNDS..CONSTRAINTS :..ACTIVITY..REDUCEDCOST..STATUS povinná sekce stejné jako XATITLE povinná sekce stejné jako XAVARIABLE stejné jako XACOST nepovinná sekce stejné jako XALOWER stejné jako XAUPPER povinná sekce stejné jako XACONSTRAINT možno opakovat, jak je třeba nepovinná sekce stejné jako XAVA stejné jako XACA nepovinná sekce stejné jako XAVR stejné jako XACR nepovinná sekce stejné jako XAVS stejné jako XACS Dříve než ukážeme na příkladu použití stylu I a II, popíšeme podrobněji některé uvedené sekce. Cílem této pomůcky není detailní vyčerpávající popis možností systému XA, proto se soustředíme jen na některé podstatné aspekty...title (XATITLE) Obsahuje odkaz na jednu buňku spreadsheetu, ve které je název úlohy (může obsahovat mezery, raději ne diakritiku) maximálně 128 znaků...objective MINIMIZE / MAXIMIZE (XAVARIABLE, XACOST) Tato sekce musí obsahovat definice dvou řádkových resp. sloupcových (podle toho, je-li používán styl I nebo II) bloků, které osahují jednak názvy proměnných (maximálně 8 znaků bez mezer a diakritiky) a jednak cenové koeficienty. Jsou-li názvy proměnných uvedeny v hranatých závorkách, jsou považovány za celočíselné proměnné. Pokud není u takových proměnných uvedena žádná horní mez, jedná se standardně o binární proměnné. Je-li tam hranice, potom jsou to obecně celočíselné proměnné.

20 Profesionální optimalizační systémy..bounds (XALOWER, XAUPPER) Sekce, která obsahuje odkazy na jednořádkové či jednosloupcové bloky, ve kterých jsou dolní a horní meze proměnných. U neceločíselných proměnných platí standardně podmínky nezápornosti. Pokud se do bloku XALOWER uvede FREE, potom se jedná o proměnnou, která není omezená co do znaménka. Uvede-li se tam INFINITY, potom je to proměnná, která musí být menší nebo rovna 0...CONSTRAINT (XACONSTRAINT) Při použití stylu I je to sekce, ve které je definovaný blok, který má tolik řádků, kolik je omezujících podmínek a n+4 sloupců, kde n je počet proměnných. V prvním sloupci jsou názvy omezujících podmínek (max. 8 znaků), v dalších n sloupcích jsou strukturní koeficienty, v n+2 sloupci jsou relační znaménka (<= nebo LE, = nebo EQ, >= nebo GE), v n+3 sloupci jsou hodnoty pravých stran a v posledním sloupci jsou případně hodnoty rozpětí pro dané omezení (viz příklad dále). Pro styl II má blok rozměr n+4 řádků a počet sloupců je shodný s počtem omezení...activity (XAVA, XACA) Tato sekce definuje jednořádkový nebo jednosloupcové blok XAVA, který musí mít alespoň tolik prvků, kolik je proměnných modelu. Do buněk tohoto bloku se potom přenesou hodnoty proměnných. Má-li blok XAVA alespoň o tři buňky více než je počet proměnných, potom se do nich uloží: hodnota účelové funkce, status modelu jeden z textů OPTIMAL SOLUTION, INTEGER SOLUTION, UNBOUNDED SOLUTION, INFEASIBLE SOLUTION, ERROR UNKNOWN status řešitele jeden z textů NORMAL COMPLETION, ITERATION INTERRUPT (byl-li výpočet přerušen z důvodu dosažení limitního počtu iterací), RESOURCE INTERRUPT (výpočet přerušen z důvodu nedostatku kapacity), UNKNOWN. Dále zde může být definován blok XACA, který musí mít alespoň tolik buněk, kolik je omezujících podmínek. V tomto bloku jsou potom zobrazeny levé strany omezujících podmínek...reducedcost (XAVR, XACR) Umožňuje definovat bloky, ve kterých se potom zobrazí hodnoty redukovaných cenových koeficientů proměnných (XAVR) a hodnoty stínových cen. Oba bloku musí mít tolik prvků, kolik je proměnných resp., omezení.

21 5.5 Optimalizační systém NEOS 137..STATUS (XAVS, XACS) Tato sekce nabízí možnost definovat bloky, ve kterých se potom zobrazí status proměnných (XAVS) případně status omezujících podmínek (XACS). Jedná se o následující možnosti: LB proměnná nebo omezující podmínka je ve své dolní mezi, UB proměnná nebo omezující podmínka je ve své horní mezi, BS proměnná nebo omezení (rozumí se přídatná proměnná příslušející omezení) je bazická proměnná, INF proměnná nebo omezující podmínka není přípustná, UNB proměnná nebo omezující podmínka není přípustná. Příklad 5.2 vstup dat v MS Excelu XA (Styly I a II) Jako ilustraci přípravy vstupních dat ve stylu I použijeme příklad 4.1 z předcházející kapitoly (nutriční problém). Na obr. 5.4 je možné rozvržení vstupních dat v tabulkovém kalkulátoru s použitím stylu I. Všimněte si, že na obr. 5.4 jsou vynechané sloupce F, G a H (předposlední tři proměnné modelu). Je to jen z důvodu možnosti umístění na šířku stránky tohoto textu. A B C D E I J K L 1 Maso Maslo Chleb Brambor Jogurt 2 Energie GE Bilkoviny GE 80 4 Zelezo GE 15 5 VitA GE Cena Min Max Nutricni problem 12 MAXIMIZE NO MUTE YES OPTIMAL Obr. 5.4: Příprava dat pro systém XA - styl I. V uvedeném příkladu budou jednotlivé bloky definované takto: Blok XATITLE LPCMD XAVARIABLE XACOST XALOWER XAUPPER XACONSTRAINT Umístění A11..A11 A12..A12 B1..I1 B7..I7 B8..I8 B9..I9 A2..L5

22 Profesionální optimalizační systémy XAVA XACA XAVR XACR XAVS XACS B14..L14 M2..M5 (na obr. 5.4 už není vidět) B15..I15 N2..N5 (na obr. 5.4 už není vidět) nebyl definován nebyl definován Hodnoty proměnných optimálního řešení jsou obsaženy v řádku 14 a konkrétně v buňce J14 je optimální hodnota účelové funkce. V buňce K14 je potom informace OPTIMAL SOLUTION (bylo nalezeno optimální řešení). Pokud by uživatel chtěl použít pro definici úlohy LTS soubor, tak by tento soubor mohl mít následující podobu:..title nutr.xls(xatitle)..objective MINIMIZE nutr.xls(xavariable) nutr.xls(xacost)..bounds nutr.xls(xalower) nutr.xls(xaupper)..constraints nutr.xls(xaconstraint) :..ACTIVITY nutr.xls(xava) nutr.xls(xaca)..reducedcost nutr.xls(xavr) nutr.xls(xacr) Místo názvů bloků XAxxxx by v tomto případě bylo možné použít jakékoliv vlastní názvy. Pro úplnost uvádíme na obr 5.5, jak může vypadat uspořádání vstupních dat pro naši úlohu při použití stylu II (proměnné ve sloupcích). Na uvedeném obrázku jsou všechny výstupní informace hodnoty proměnných (VA), redukované ceny (VR), levé stany omezujících podmínek (CA) i stínové ceny (CR). Hodnota účelové funkce je v buňce B28. A B C D E F G H

23 5.5 Optimalizační systém NEOS Nutricni problem MAXIMIZE NO MUTE YES 2 3 Energie Bilkoviny Zelezo VitA Cena Min Max 4 Maso Maslo Chleb Brambor Jablka Syr Kure Jogurt GE GE GE GE CA CR VA VR 20 Maso Maslo Chleb Brambor Jablka Syr Kure Jogurt OPTIMAL SOLUTION 30 NORMAL COMPLETION Obr. 5.5: Příprava dat a prezentace výsledků - styl II. Zbývá ještě zmínit se o posledním stylu III pro zadávání vstupních dat v tabulkových kalkulátorech. Tento styl se používá výhradně společně s LTS souborem, který musí mít v tomto případě následující strukturu:..title..table MINIMIZE / MAXIMIZE :..ACTIVITY..REDUCEDCOST..STATUS povinná sekce stejné jako XATITLE povinná sekce možno opakovat, jak je třeba nepovinná sekce stejné jako XAVA stejné jako XACA nepovinná sekce stejné jako XAVR stejné jako XACR nepovinná sekce stejné jako XAVS

24 Profesionální optimalizační systémy stejné jako XACS Sekce..TITLE,..ACTIVITY,..REDUCEDCOST a..status jsou jednak nepovinné a jednak jsou shodné s výše uvedeným popisem. Není třeba se s nimi více zabývat. Co je však nové je sekce..table MAXIMIZE / MINIMIZE V této sekci je definovaný blok, který obsahuje všechny informace o řešené úloze, tj. matici strukturních koeficientů, vektor pravé strany, cenové koeficienty, horní a dolní meze, rozpětí apod. Tento blok může být ve struktuře, kdy jsou proměnné v řádcích nebo ve sloupcích. Tuto strukturu ukazuje obr cw V1 V2 Vn MIN MAX FIX C1 C2 : MIN MAX FIX COST Obr. 5.6:..TABLE sekce - styl III. Na obr. 5.6 je struktura, kde jsou proměnné ve sloupcích. Struktura s proměnnými v řádcích by byla shodná, pouze by byla tabulka otočená o 90 stupňů. Symboly použité na obr.5.6 vyjadřují následující: cw (control word) zde se zapisují jednopísmenné symboly, které mají každý svůj význam; pro nás je nejdůležitější symbol V, který udává, že proměnné jsou ve sloupcích a symbol C, který udává, že omezení jsou ve sloupcích, MIN minimální hodnota proměnné (dolní mez) nebo omezující podmínky (podmínka typu >=), MAX maximální hodnota proměnné (horní mez) nebo omezující podmínky (podmínka typu <=), FIX fixovaná hodnota proměnné nebo omezující podmínka ve tvaru rovnice. Všechny uvedené symboly se nemusí používat např. pokud u proměnných nejsou žádné dolní meze nebo proměnné nejsou fixovány, nepoužije se u proměnných MIN ani FIX řádek (sloupec).

25 5.5 Optimalizační systém NEOS 141 A B C D E F G H I 1 Nutricni problem 2 3 C Energie Bilkoviny Zelezo VitA COST MIN MAX VA 4 Maso Maslo Chleb Brambor Jablka Syr Kure Jogurt MIN MAX Obr. 5.7: Vstupní data pro příklad styl III. Na obr. 5.7 je možné rozvržení vstupních dat pro náš ilustrační příklad. Jsou zde definovány pouze tři bloky: Blok NAZEV TABULKA HODNOTY Umístění A1..A1 A3..H13 I4..I12 Všimněte si ještě symbolu C v buňce A3, která udává, že se jedná o formulaci, kde jsou ve sloupcích omezující podmínky. Pro spuštění výpočtu je třeba sestavit LTS soubor, který v tomto případě bude vypadat takto:..title nutr.xls(nazev)..table MINIMIZE nutr.xls(tabulka)..activity nutr.xls(hodnoty) Tento text se uloží to textového souboru s příponou LTS, např. NUTR.LTS a výpočet se spustí příkazem XA NUTR.LTS Řízení výpočtu při práci se systémem XA Start optimalizačního výpočtu systémem XA se obvykle provádí tak, že zapíšeme následující příkaz: XA název souboru řádkové příkazy, kde název souboru je název souboru s podporovanými příponami. Může to být přípona LP pro rovnicový způsob, XLS nebo WK1 pro tabulkové kalkulátory nebo MPS pro data ve formátu MPS. Dále to může být název dávkového souboru s příponou CLP = Command Line Parameters (o těchto

26 Profesionální optimalizační systémy souborech se zmíníme dále) nebo případně s příponou LTS = Look To Spreadsheet (pro tabulkové kalkulátory). Systém XA umožňuje uživateli snadno volit obsah a formu výstupních informací a řídit průběh výpočtů pomocí velkého množství řádkových příkazů. Dále uvedeme význam pouze několika hlavních z nich: OUTPUT CON:/LPT1:/x:filename.ext - umožňuje volit směrování výstupních informací (obrazovka, tiskárna či datový soubor); default nastavení je výstup na obrazovku - např. OUTPUT VYSTUP.DAT, DECIMALS n - výstupní informace na n desetinných míst (default je 5), WAIT NO/YES - při volbě YES se výstup informací na displeji přeruší po zaplnění obrazovky a pokračuje teprve po stisknutí klávesy Enter (default je NO), SET REINVERSION n - určuje počet iteračních kroků, po němž se provádí reinverze matice báze; není-li příkaz SET REINVERSION použit, pak je počet kroků určován systémem automaticky - tato volba je většinou postačující, FORCE YES/NO - při volbě YES v případě, že úloha nemá žádné přípustné řešení se pravá strana (popř. horní a dolní meze) automaticky upraví tak, aby řešení úlohy existovalo, podobně dojde k úpravě úlohy při neomezeném řešení; default hodnota je NO, SET TIMELIMIT n - určení časového limitu (v minutách), po jehož uplynutí se výpočet přeruší a vytiskne se dosažené řešení; to má význam především u úloh s podmínkami celočíselnosti, kde výpočet může trvat velmi dlouho; pokud nebylo nalezeno optimální řešení a výpočet je ukončen, potom jsou průběžné informace uloženy do souboru s příponou SAV a při novém spuštění výpočtu se pokračuje od okamžiku přerušení, SET ITERATIONS n - určení počtu iterací, po jehož dosažení se výpočet přeruší a vytiskne se dosažené řešení, při znovuzahájení výpočtu platí stejná pravidla, jako při použití příkazu SET TIMELIMIT n, TOMPS NO/YES - datový soubor řešené úlohy se transformuje do formátu MPS a zapíše se do souboru s příponou MPS (jméno souboru je stejné jako jméno původního souboru) - default hodnota je NO, ACTIVITY soubor.txt - specifikuje soubor, do něhož jsou v pevném formátu zapsány základní informace o vyřešené úloze, tj. např. optimální hodnoty proměnných úlohy, optimální hodnoty duálních proměnných apod.

27 5.5 Optimalizační systém NEOS 143 LISTINPUT NO/YES - určuje, zda má být opis vstupních dat součástí výstupních informací default nastavení je YES, volba NO umožňuje podstatně zmenšit rozsah výstupního soubor a urychlit zpracování úlohy, MAXIMIZE NO/YES - určuje, zda je úloha maximalizační či minimalizační (má smysl u formátu MPS, kde není typ kritéria nijak specifikovaný) - default je NO, tj. minimalizace, COSTANALYSIS NO/YES - určuje, zda se má provádět analýza citlivosti řešení s ohledem na změny vektoru cenových koeficientů - default volba je NO, MARGINANALYSIS NO/YES - určuje, zda se má provádět analýza citlivosti řešení s ohledem na změny prvků vektoru pravých stran, Řádkové příkazy (pokud jich je více) se od sebe navzájem oddělují mezerami. Následující příkaz tedy spustí optimalizační výpočet s datovým souborem v MPS formátu, který se jmenuje VYROBA.MPS, účelová funkce v modelu se bude maximalizovat, výstupní informace se uloží do textového souboru s názvem VYROBA.TXT a do tohoto výstupního souboru nebude zahrnut opis vstupních dat. XA VYROBA.MPS MAXIMIZE YES LISTINPUT NO OUTPUT VYROBA.TXT Protože počet řádkových příkazů může být relativně velký, nemusí být při opětovném spuštění výpočtu pohodlné znovu vypisovat celý příkaz (včetně všech řádkových příkazů). Řádkové příkazy včetně názvu vstupního datového souboru mohou být uloženy do textového souboru, který musí mít příponu CLP, kde každý příkaz může být na samostatném řádku. Pro naši ilustraci by tedy CLP soubor mohl mít následující podobu: VYROBA.MPS MAXIMIZE YES LISTINPUT NO OUTPUT VYROBA.TXT Pokud bychom tento soubor pojmenovali DAVKA.CLP, potom se optimalizační výpočet spustí příkazem XA DAVKA.CLP Výstupní informace Výstupní informace jsou směrovány tam, kam určuje parametr OUTPUT (obrazovka, výstupní soubor nebo tiskárna). Obsah standardního výstupního souboru, který poskytuje systém XA, ukážeme na výše

28 Profesionální optimalizační systémy uvedeném numerickém příkladu. Každý, kdo však ovládá základy lineárního programování a několik anglických termínů z této oblasti, může s výstupními informacemi bez problémů pracovat i bez této ilustrace. Následující výpis výstupního souboru VYROBA.TXT proto nevyžaduje, jak se domníváme, podrobnější komentář. První část výstupních informací obsahuje statistiku úlohy (počet proměnných, omezení, počet celočíselných proměnných apod.) Dále je informace o tom, zda bylo nalezeno optimální řešení a pokud ano tak hodnota účelové funkce nejprve neceločíselného a potom (v našem případě) i celočíselného řešení. Výstupní informace potom obsahují dvě tabulky: informaci o proměnných (Solution) hodnoty proměnných (Activity), cenové (Cost) a redukované cenové (Reduced cost) koeficienty, informaci o omezujících podmínkách (Constraints) levou (Activity) a pravou stranu (RHS) omezující podmínky a stínovou neboli duální cenu (Dual value). Pro příklad (5.1) vypadá (mírně upravený) výpis výstupních informací následovně: STATISTICS - FILE: VYROBA.LP TITLE: Uloha vyrobniho pl Wed Jul 27 10:27: xa VERSION 12.0 NT Console USABLE MEMORY 31,246K BYTES VARIABLES 3 MAXIMUM 100,000 1 LOWER, 0 FIXED, 2 UPPER, 0 FREE, 0/2 INTEGER CONSTRAINTS 2 MAXIMUM 50,000 1 GE, 0 EQ, 1 LE, 0 NULL/FREE, 0 RANGED. CAPACITY USED BY CATEGORY- 0.3% VARIABLE, 0.4% CONSTRAINT, 8 NON-ZEROS, WORK 2,656,760 MAXIMIZATION. STRATEGY 1, NODES: 4,002/4,002 O P T I M A L L P S O L U T I O N ---> OBJECTIVE 2, SOLVE TIME 00:00:00 ITER 0 MEMORY USED 0.0% I N T E G E R S O L U T I O N ---> OBJECTIVE 2, /1 SOLVE TIME 00:00:00 NODES 1/0 ITER 0 MEMORY USED 0.0% File: VYROBA.LP Wed Jul 27 10:27: Page 1 SOLUTION (Maximized): 2, Uloha vyrobniho planovani

Metodické pokyny pro práci s modulem Řešitel v tabulkovém procesoru Excel

Metodické pokyny pro práci s modulem Řešitel v tabulkovém procesoru Excel Metodické pokyny pro práci s modulem Řešitel v tabulkovém procesoru Excel Modul Řešitel (v anglické verzi Solver) je určen pro řešení lineárních i nelineárních úloh matematického programování. Pro ilustraci

Více

4.Řešení optimalizačních úloh v tabulkových kalkulátorech

4.Řešení optimalizačních úloh v tabulkových kalkulátorech 4.Řešení optimalizačních úloh v tabulkových kalkulátorech Tabulkové kalkulátory patří mezi nejpoužívanější a pro běžného uživatele nejdostupnější programové systémy. Kromě základních a jim vlastních funkcí

Více

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel Přílohy Příloha 1 Řešení úlohy lineárního programování v MS Excel V této příloze si ukážeme, jak lze řešit úlohy lineárního programování pomocí tabulkového procesoru MS Excel 2007. Výpočet budeme demonstrovat

Více

Obr. P1.1 Zadání úlohy v MS Excel

Obr. P1.1 Zadání úlohy v MS Excel Přílohy Příloha 1 Řešení úlohy lineárního programování v MS Excel V této příloze si ukážeme, jak lze řešit úlohy lineárního programování pomocí tabulkového procesoru MS Excel. Výpočet budeme demonstrovat

Více

4EK212 Kvantitativní management. 2. Lineární programování

4EK212 Kvantitativní management. 2. Lineární programování 4EK212 Kvantitativní management 2. Lineární programování 1.7 Přídatné proměnné Přídatné proměnné jsou nezáporné Mají svoji ekonomickou interpretaci, která je odvozena od ekonomické interpretace omezení

Více

Metody lineární optimalizace Simplexová metoda. Distribuční úlohy

Metody lineární optimalizace Simplexová metoda. Distribuční úlohy Metody lineární optimalizace Simplexová metoda Dvoufázová M-úloha Duální úloha jednofázová Post-optimalizační analýza Celočíselné řešení Metoda větví a mezí Distribuční úlohy 1 OÚLP = obecná úloha lineárního

Více

4EK311 Operační výzkum. 3. Optimalizační software a stabilita řešení úloh LP

4EK311 Operační výzkum. 3. Optimalizační software a stabilita řešení úloh LP 4EK311 Operační výzkum 3. Optimalizační software a stabilita řešení úloh LP 3.1 Příklad matematický model Lis: 1 x 1 + 2 x 2 120 [min] Balení: 1 x 1 + 4 x 2 180 [min] Poptávka: 1 x 1 1 x 2 90 [krabiček]

Více

Ekonomická formulace. Matematický model

Ekonomická formulace. Matematický model Ekonomická formulace Firma balící bonboniéry má k dispozici 60 čokoládových, 60 oříškových a 85 karamelových bonbónů. Může vyrábět dva druhy bonboniér. Do první bonboniéry se dávají dva čokoládové, šest

Více

Simplexové tabulky z minule. (KMI ZF JU) Lineární programování EMM a OA O6 1 / 25

Simplexové tabulky z minule. (KMI ZF JU) Lineární programování EMM a OA O6 1 / 25 Simplexové tabulky z minule (KMI ZF JU) Lineární programování EMM a OA O6 1 / 25 Simplexová metoda symbolicky Výchozí tabulka prom. v bázi zákl. proměné přídatné prom. omez. A E b c T 0 0 Tabulka po přepočtu

Více

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná. Průběžná klasifikace Nová verze modulu Klasifikace žáků přináší novinky především v práci s průběžnou klasifikací. Pro zadání průběžné klasifikace ve třídě doposud existovaly 3 funkce Průběžná klasifikace,

Více

Parametrické programování

Parametrické programování Parametrické programování Příklad 1 Parametrické pravé strany Firma vyrábí tři výrobky. K jejich výrobě potřebuje jednak surovinu a jednak stroje, na kterých dochází ke zpracování. Na první výrobek jsou

Více

4EK213 LINEÁRNÍ MODELY

4EK213 LINEÁRNÍ MODELY 4EK213 LINEÁRNÍ MODELY Úterý 11:00 12:30 hod. učebna SB 324 Mgr. Sekničková Jana, Ph.D. 2. PŘEDNÁŠKA MATEMATICKÝ MODEL ÚLOHY LP Mgr. Sekničková Jana, Ph.D. 2 OSNOVA PŘEDNÁŠKY Obecná formulace MM Množina

Více

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou

Více

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM CÍLE KAPITOLY Využívat pokročilé možnosti formátování, jako je podmíněné formátování, používat vlastní formát čísel a umět pracovat s listy. Používat

Více

4EK201 Matematické modelování. 2. Lineární programování

4EK201 Matematické modelování. 2. Lineární programování 4EK201 Matematické modelování 2. Lineární programování 2.1 Podstata operačního výzkumu Operační výzkum (výzkum operací) Operational research, operations research, management science Soubor disciplín zaměřených

Více

Programy pro ˇreˇsen ı ulohy line arn ıho programov an ı 18. dubna 2011

Programy pro ˇreˇsen ı ulohy line arn ıho programov an ı 18. dubna 2011 Programy pro řešení úlohy lineárního programování 18. dubna 2011 Přehled Mathematica Sage AMPL GNU Linear Programming Kit (GLPK) Mathematica Mathematika je program pro numerické a symbolické počítání.

Více

DUM 06 téma: Tvorba makra pomocí VBA

DUM 06 téma: Tvorba makra pomocí VBA DUM 06 téma: Tvorba makra pomocí VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie

Více

V této kapitole bude popsán software, který je možné využít pro řešení rozhodovacích problémů popisovaných v těchto skriptech.

V této kapitole bude popsán software, který je možné využít pro řešení rozhodovacích problémů popisovaných v těchto skriptech. Kapitola 1 Softwarová podpora V této kapitole bude popsán software, který je možné využít pro řešení rozhodovacích problémů popisovaných v těchto skriptech. Solver (Řešitel) Pro řešení úloh lineárního

Více

P ílohy. P íloha 1. ešení úlohy lineárního programování v MS Excel

P ílohy. P íloha 1. ešení úlohy lineárního programování v MS Excel P ílohy P íloha 1 ešení úlohy lineárního programování v MS Excel V této p íloze si ukážeme, jak lze ešit úlohy lineárního programování pomocí tabulkového procesoru MS Excel 2007. Výpočet budeme demonstrovat

Více

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

Nástroje pro analýzu dat

Nástroje pro analýzu dat 7 Nástroje pro analýzu dat V té to ka pi to le: Ověřování vstupních dat Hledání řešení Řešitel Scénáře Citlivostní analýza Rychlá analýza Kapitola 7 Nástroje pro analýzu dat Součástí Excelu jsou nástroje

Více

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: vzdělávací

Více

DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS. (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat)

DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS. (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat) DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat) DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 62 Databáze a systémy pro uchování

Více

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina 5a. Makra Visual Basic pro Microsoft Escel Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty Zde bude stránka o cyklických odkazech a iteracích.

Více

STATISTICA Téma 1. Práce s datovým souborem

STATISTICA Téma 1. Práce s datovým souborem STATISTICA Téma 1. Práce s datovým souborem 1) Otevření datového souboru Program Statistika.cz otevíráme z ikony Start, nabídka Programy, podnabídka Statistika Cz 6. Ze dvou nabídnutých možností vybereme

Více

Internetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN BASIC

Internetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN BASIC Internetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN BASIC Modul FADN BASIC je určen pro odbornou zemědělskou veřejnost bez větších zkušeností s internetovými aplikacemi a bez hlubších

Více

2. cvičení z ZI1 - Excel

2. cvičení z ZI1 - Excel Doc.Ing. Vlastimil Jáneš... janes@fd.cvut.cz 2. cvičení z ZI1 - Excel O Excelu - organizace listů : 1 list : max. 65 536 řádků a 256 sloupců, tj. 16 777 216 buněk. Sloupce : A, B,.Z, AA, AB,. IU, IV (26

Více

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody 4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty

Více

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu StatSoft Typy souborů ve STATISTICA Tento článek poslouží jako přehled hlavních typů souborů v programu STATISTICA, ukáže Vám jejich možnosti a tím Vám dovolí využívat program efektivněji. Jistě jste již

Více

MS Excel makra a VBA

MS Excel makra a VBA Autor: RNDr. Obsah: MS Excel makra a VBA 1 Využití, ukázky, výhody a nevýhody... 2 2 Makra a zabezpečení... 2 2.1 Nastavení zabezpečení Excelu... 2 2.2 Uložení maker do sešitu a osobního sešitu maker...

Více

8 Makra Příklad 4 Excel 2007

8 Makra Příklad 4 Excel 2007 TÉMA: Úprava maker rozhodování, příkaz If..Then..Else Sekretářka společnosti Naše zahrada potřebuje upravit makra vytvořená pomocí záznamu tak, aby vyhovovala jejím požadavkům. Pro úpravy využije Editor

Více

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází Tiskové sestavy Tiskové sestavy se v aplikaci Access používají na finální tisk informací z databáze. Tisknout se dají všechny objekty, které jsme si vytvořili, ale tiskové sestavy slouží k tisku záznamů

Více

Vícekriteriální programování příklad

Vícekriteriální programování příklad Vícekriteriální programování příklad Pražírny kávy vyrábějí dva druhy kávy (Super a Standard) ze dvou druhů kávových bobů KB1 a KB2, které mají smluvně zajištěny v množství 4 t a 6 t. Složení kávy (v procentech)

Více

Velmi stručný návod jak dostat data z Terminálu Bloomberg do R

Velmi stručný návod jak dostat data z Terminálu Bloomberg do R Velmi stručný návod jak dostat data z Terminálu Bloomberg do R Ondřej Pokora, PřF MU, Brno 11. března 2013 1 Terminál Bloomberg Klávesou Help získáte nápovědu. Dvojím stisknutím Help Help spustíte online

Více

Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica

Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová 5. Statistica StatSoft, Inc., http://www.statsoft.com, http://www.statsoft.cz. Verze pro Mac i PC, dostupná

Více

Stěžejní funkce MS Excel 2007/2010, jejich ovládání a možnosti využití

Stěžejní funkce MS Excel 2007/2010, jejich ovládání a možnosti využití Stěžejní funkce MS Excel 2007/2010, jejich ovládání a možnosti využití Proč Excel? Práce s Excelem obnáší množství operací s tabulkami a jejich obsahem. Jejich jednotlivé buňky jsou uspořádány do sloupců

Více

4EK213 LINEÁRNÍ MODELY

4EK213 LINEÁRNÍ MODELY 4EK213 LINEÁRNÍ MODELY Úterý 11:00 12:30 hod. učebna SB 324 3. přednáška SIMPLEXOVÁ METODA I. OSNOVA PŘEDNÁŠKY Standardní tvar MM Základní věta LP Princip simplexové metody Výchozí řešení SM Zlepšení řešení

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1 24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE

Více

xrays optimalizační nástroj

xrays optimalizační nástroj xrays optimalizační nástroj Optimalizační nástroj xoptimizer je součástí webového spedičního systému a využívá mnoho z jeho stavebních bloků. xoptimizer lze nicméně provozovat i samostatně. Cílem tohoto

Více

Níže uvedená tabulka obsahuje technické údaje a omezení aplikace Excel (viz také článek Technické údaje a omezení aplikace Excel (2007).

Níže uvedená tabulka obsahuje technické údaje a omezení aplikace Excel (viz také článek Technické údaje a omezení aplikace Excel (2007). Níže uvedená tabulka obsahuje technické údaje a omezení aplikace - (viz také článek Technické údaje a omezení aplikace Excel (). otevřených sešitů a systémovými prostředky a systémovými prostředky a systémovými

Více

4EK213 Lineární modely. 12. Dopravní problém výchozí řešení

4EK213 Lineární modely. 12. Dopravní problém výchozí řešení 4EK213 Lineární modely 12. Dopravní problém výchozí řešení 12. Distribuční úlohy LP Úlohy výrobního plánování (alokace zdrojů) Úlohy finančního plánování (optimalizace portfolia) Úlohy reklamního plánování

Více

4EK213 Lineární modely. 4. Simplexová metoda - závěr

4EK213 Lineární modely. 4. Simplexová metoda - závěr 4EK213 Lineární modely 4. Simplexová metoda - závěr 4. Simplexová metoda - závěr Konečnost simplexové metody Degenerace Modifikace pravidla pro volbu vstupující proměnné Blandovo pravidlo Kontrola výpočtu

Více

Relativní a absolutní adresa buňky, pojmenování buňky/rozsahu

Relativní a absolutní adresa buňky, pojmenování buňky/rozsahu Relativní a absolutní adresa buňky, pojmenování buňky/rozsahu EU peníze středním školám Didaktický učební materiál Anotace Označení DUMU: VY_32_INOVACE_IT4.12 Předmět: IVT Tematická oblast: Microsoft Office

Více

4EK213 Lineární modely. 5. Dualita v úlohách LP

4EK213 Lineární modely. 5. Dualita v úlohách LP 4EK213 Lineární modely 5. Dualita v úlohách LP 5. Dualita v úlohách LP Obecné vyjádření simplexové tabulky Formulace duálního problému Formulace symetrického duálního problému Formulace nesymetrického

Více

Systém je citlivý na velikost písmen CASE SENSITIVE rozeznává malá velká písmena, např. PROM=1; PROm=1; PRom=1; Prom=1; prom=1; - 5 různých proměnných

Systém je citlivý na velikost písmen CASE SENSITIVE rozeznává malá velká písmena, např. PROM=1; PROm=1; PRom=1; Prom=1; prom=1; - 5 různých proměnných Systém je citlivý na velikost písmen CASE SENSITIVE rozeznává malá velká písmena, např. PROM=1; PROm=1; PRom=1; Prom=1; prom=1; - 5 různých proměnných jakési nádoby na hodnoty jsou různých typů při běžné

Více

Část 3 Manuál pro správce

Část 3 Manuál pro správce Obsah Část 3 Manuál pro správce... 3 Nastavení účtů v Kleosu... 4 Nastavení dalších polí... 4 Nastavení emailu... 6 Nastavení šablon... 7 Nastavení činností a fakturačních položek... 8 2 3 Část 3 Manuál

Více

Stručný návod k programu Octave

Stručný návod k programu Octave Stručný návod k programu Octave Octave je interaktivní program vhodný pro technické výpočty. Je nápadně podobný programu MATLAB, na rozdíl od něho je zcela zadarmo. Jeho domovská vebová stránka je http://www.octave.org/,

Více

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML ROZHRANÍ ESA XML Ing. Richard Vondráček SCIA CZ, s. r. o., Thákurova 3, 160 00 Praha 6 www.scia.cz 1 OTEVŘENÝ FORMÁT Jednou z mnoha užitečných vlastností programu ESA PT je podpora otevřeného rozhraní

Více

Databáze MS-Access. Obsah. Co je to databáze? Doc. Ing. Radim Farana, CSc. Ing. Jolana Škutová

Databáze MS-Access. Obsah. Co je to databáze? Doc. Ing. Radim Farana, CSc. Ing. Jolana Škutová Databáze MS-Access Doc. Ing. Radim Farana, CSc. Ing. Jolana Škutová Obsah Principy a možnosti databází. Uložení dat v databázi, formáty dat, pole, záznamy, tabulky, vazby mezi záznamy. Objekty databáze

Více

e-mail: RadkaZahradnikova@seznam.cz 1. července 2010

e-mail: RadkaZahradnikova@seznam.cz 1. července 2010 Optimální výrobní program Radka Zahradníková e-mail: RadkaZahradnikova@seznam.cz 1. července 2010 Obsah 1 Lineární programování 2 Simplexová metoda 3 Grafická metoda 4 Optimální výrobní program Řešení

Více

12. Lineární programování

12. Lineární programování . Lineární programování. Lineární programování Úloha lineárního programování (lineární optimalizace) je jedním ze základních problémů teorie optimalizace. Našim cílem je nalézt maximum (resp. minimum)

Více

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access formuláře a sestavy - vytváření Ing. Kotásek Jaroslav

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access formuláře a sestavy - vytváření Ing. Kotásek Jaroslav Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Autor: Číslo: Anotace: Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access formuláře

Více

4EK213 Lineární modely. 10. Celočíselné programování

4EK213 Lineární modely. 10. Celočíselné programování 4EK213 Lineární modely 10. Celočíselné programování 10.1 Matematický model úlohy ILP Nalézt extrém účelové funkce z = c 1 x 1 + c 2 x 2 + + c n x n na soustavě vlastních omezení a 11 x 1 + a 12 x 2 + a

Více

Tabulkový procesor. Základní rysy

Tabulkový procesor. Základní rysy Tabulkový procesor Tabulkový procesor je počítačový program zpracovávající data uložená v buňkách tabulky. Program umožňuje použití vzorců pro práci s daty a zobrazuje výsledné hodnoty podle vstupních

Více

Analýza dat na PC I.

Analýza dat na PC I. Lékařská a Přírodovědecká fakulta, Masarykova univerzita Analýza dat na PC I. Základy programu STATISTICA IBA výuka 2008/2009 StatSoft, Inc., http://www.statsoft.com/, http://www.statsoft.cz Verze pro

Více

Příklady modelů lineárního programování

Příklady modelů lineárního programování Příklady modelů lineárního programování Příklad 1 Optimalizace výroby konzerv. Podnik vyrábí nějaký výrobek, který prodává v 1 kg a 2 kg konzervách, přičemž se řídí podle následujících velmi zjednodušených

Více

24 Uživatelské výběry

24 Uživatelské výběry 24 Uživatelské výběry Uživatelský modul Uživatelské výběry slouží k vytváření, správě a následnému používání tématicky seskupených osob a organizací včetně jejich kontaktních údajů. Modul umožňuje hromadnou

Více

Reporting. Ukazatele je možno definovat nad libovolnou tabulkou Helios Orange, která je zapsána v nadstavbě firmy SAPERTA v souboru tabulek:

Reporting. Ukazatele je možno definovat nad libovolnou tabulkou Helios Orange, která je zapsána v nadstavbě firmy SAPERTA v souboru tabulek: Finanční analýza Pojem finanční analýza Finanční analýza umožňuje načítat data podle dimenzí a tyto součty dlouhodobě vyhodnocovat. Pojem finanční analýza není nejpřesnější, protože ukazatele mohou být

Více

Program pro tvorbu technických výpočtů. VIKLAN - Výpočty. Uživatelská příručka. pro seznámení se základními možnostmi programu. Ing.

Program pro tvorbu technických výpočtů. VIKLAN - Výpočty. Uživatelská příručka. pro seznámení se základními možnostmi programu. Ing. Program pro tvorbu technických výpočtů VIKLAN - Výpočty Uživatelská příručka pro seznámení se základními možnostmi programu Ing. Josef Spilka VIKLAN - Výpočty Verse 1.10.5.1 Copyright 2010 Ing. Josef Spilka.

Více

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem Vzorce Vzorce v Excelu lze zadávat dvěma způsoby. Buď známe přesný zápis vzorce a přímo ho do buňky napíšeme, nebo použijeme takzvaného průvodce při tvorbě vzorce (zejména u složitějších funkcí). Tvorba

Více

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5 Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5

Více

EXCELentní tipy a triky pro mírně pokročilé. Martina Litschmannová

EXCELentní tipy a triky pro mírně pokročilé. Martina Litschmannová EXCELentní tipy a triky pro mírně pokročilé Martina Litschmannová Obsah semináře definování názvu dynamicky měněné oblasti, kontingenční tabulky úvod, kontingenční tabulky násobné oblasti sloučení, převod

Více

Reliance 3 design OBSAH

Reliance 3 design OBSAH Reliance 3 design Obsah OBSAH 1. První kroky... 3 1.1 Úvod... 3 1.2 Založení nového projektu... 4 1.3 Tvorba projektu... 6 1.3.1 Správce stanic definice stanic, proměnných, stavových hlášení a komunikačních

Více

Postupy práce se šablonami IS MPP

Postupy práce se šablonami IS MPP Postupy práce se šablonami IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Postupy práce se šablonami IS MPP Modul

Více

Neuronové časové řady (ANN-TS)

Neuronové časové řady (ANN-TS) Neuronové časové řady (ANN-TS) Menu: QCExpert Prediktivní metody Neuronové časové řady Tento modul (Artificial Neural Network Time Series ANN-TS) využívá modelovacího potenciálu neuronové sítě k predikci

Více

zobrazuje názvy polí, vložené hodnoty jednotlivých záznamů, lze v něm zadávat data (přidávat záznamy) v návrhovém zobrazení:

zobrazuje názvy polí, vložené hodnoty jednotlivých záznamů, lze v něm zadávat data (přidávat záznamy) v návrhovém zobrazení: DUM 02 téma: Tabulky v MS Access ze sady: 3 tematický okruh sady: Databáze ze šablony: 07 - Kancelářský software určeno pro: 2. ročník vzdělávací obor: vzdělávací oblast: číslo projektu: anotace: metodika:

Více

Internetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN RESEARCH / DATA

Internetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN RESEARCH / DATA Internetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN RESEARCH / DATA Modul FADN RESEARCH je určen pro odborníky z oblasti zemědělské ekonomiky. Modul neomezuje uživatele pouze na předpřipravené

Více

IBRIDGE 1.0 UŽIVATELSKÝ MANUÁL

IBRIDGE 1.0 UŽIVATELSKÝ MANUÁL IBRIDGE 1.0 UŽIVATELSKÝ MANUÁL Jaromír Křížek OBSAH 1 ÚVOD... 3 2 INSTALACE... 4 2.1 SYSTÉMOVÉ POŽADAVKY... 5 2.2 SPUŠTĚNÍ IBRIDGE 1.0... 5 3 HLAVNÍ MENU... 6 3.1 MENU FILE... 6 3.2 MENU SETTINGS... 6

Více

Beton 3D Výuková příručka Fine s. r. o. 2010

Beton 3D Výuková příručka Fine s. r. o. 2010 Zadání Cílem tohoto příkladu je navrhnout a posoudit výztuž šestiúhelníkového železobetonového sloupu (výška průřezu 20 cm) o výšce 2 m namáhaného normálovou silou 400 kn, momentem My=2,33 knm a momentem

Více

1. Umístěte kurzor do sloupce Datový typ na řádek s polem, ve kterém vytvořit chcete seznam.

1. Umístěte kurzor do sloupce Datový typ na řádek s polem, ve kterém vytvořit chcete seznam. 10.6.7 POSTUP TVORBY KOMBINOVANÉHO SEZNAMU 1. Umístěte kurzor do sloupce Datový typ na řádek s polem, ve kterém vytvořit chcete seznam. 2. V rozbalovací nabídce se seznamem datových typů vyberte volbu

Více

Postup pro zpracování kontrolního hlášení

Postup pro zpracování kontrolního hlášení Postup pro zpracování kontrolního hlášení 1. Zadávání dokladů Doklady se zadávají běžným způsobem tak jako dosud, výběrem sazby DPH (s číslem řádku přiznání) v položce dokladu se zároveň pro položku automaticky

Více

Zpravodaj. Uživatelská příručka. Verze

Zpravodaj. Uživatelská příručka. Verze Zpravodaj Uživatelská příručka Verze 02.01.02 1. Úvod... 3 2. Jak číst tuto příručku... 4 3. Funkčnost... 5 3.1. Seznam zpráv... 5 4. Ovládání programu... 6 4.1. Hlavní okno serveru... 6 4.2. Seznam zpráv...

Více

pi Ludolfovo číslo π = 3,14159 e Eulerovo číslo e = 2,71828 (lze spočítat jako exp(1)), např. je v Octave, v MATLABu tato konstanta e není

pi Ludolfovo číslo π = 3,14159 e Eulerovo číslo e = 2,71828 (lze spočítat jako exp(1)), např. je v Octave, v MATLABu tato konstanta e není realmax maximální použitelné reálné kladné číslo realmin minimální použitelné reálné kladné číslo (v absolutní hodnotě, tj. číslo nejblíž k nule které lze použít) 0 pi Ludolfovo číslo π = 3,14159 e Eulerovo

Více

4EK311 Operační výzkum. 2. Lineární programování

4EK311 Operační výzkum. 2. Lineární programování 4EK311 Operační výzkum 2. Lineární programování 2.2 Matematický model úlohy LP Nalézt extrém účelové funkce z = c 1 x 1 + c 2 x 2 + + c n x n na soustavě vlastních omezení a 11 x 1 + a 12 x 2 + a 13 x

Více

MONITORING OBCHODNÍCH PARTNERŮ

MONITORING OBCHODNÍCH PARTNERŮ MONITORING OBCHODNÍCH PARTNERŮ NÁVOD PRO APLIKACI 1 Obsah: 1. Prvotní spuštění aplikace Část monitoring insolvenčního rejstříku 2. Hlavní okno 3. Monitorované subjekty 3.1 Skupiny monitorovaných subjektů

Více

Úvod. Program ZK EANPRINT. Základní vlastnosti programu. Co program vyžaduje. Určení programu. Jak program spustit. Uživatelská dokumentace programu

Úvod. Program ZK EANPRINT. Základní vlastnosti programu. Co program vyžaduje. Určení programu. Jak program spustit. Uživatelská dokumentace programu sq Program ZK EANPRINT verze 1.20 Uživatelská dokumentace programu Úvod Základní vlastnosti programu Jednoduchost ovládání - umožňuje obsluhu i málo zkušeným uživatelům bez nutnosti většího zaškolování.

Více

MIDAM Simulátor Verze 1.5

MIDAM Simulátor Verze 1.5 MIDAM Simulátor Verze 1.5 Simuluje základní komunikační funkce modulů Midam 100, Midam 200, Midam 300, Midam 400, Midam 401, Midam 410, Midam 411, Midam 500, Midam 600. Umožňuje změny konfigurace, načítání

Více

Office 2013. podrobný průvodce. Tomáš Šimek

Office 2013. podrobný průvodce. Tomáš Šimek Office 2013 podrobný průvodce Tomáš Šimek Seznámení se společnými postupy při práci s dokumenty Office Popis základních a pokročilejších postupů při práci s Wordem, Excelem, PowerPointem a OneNote Možnosti

Více

FORTANNS. havlicekv@fzp.czu.cz 22. února 2010

FORTANNS. havlicekv@fzp.czu.cz 22. února 2010 FORTANNS manuál Vojtěch Havlíček havlicekv@fzp.czu.cz 22. února 2010 1 Úvod Program FORTANNS je software určený k modelování časových řad. Kód programu má 1800 řádek a je napsán v programovacím jazyku

Více

Programy na PODMÍNĚNÝ příkaz IF a CASE

Programy na PODMÍNĚNÝ příkaz IF a CASE Vstupy a výstupy budou vždy upraveny tak, aby bylo zřejmé, co zadáváme a co se zobrazuje. Není-li určeno, zadáváme přirozená čísla. Je-li to možné, používej generátor náhodných čísel vysvětli, co a jak

Více

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole Příkaz switch Příkaz switch provede příslušnou skupinu příkazů na základě hodnoty proměnné (celočíselné

Více

Modul IRZ návod k použití

Modul IRZ návod k použití Modul IRZ návod k použití Verze: 2 Datum: 26. 2. 2016 Tento dokument představuje stručný návod na použití modulu IRZ v programu EVI 8. Modul IRZ je určen na evidenci odpadů pro IRZ provozovny a hlášení

Více

Popis programu EnicomD

Popis programu EnicomD Popis programu EnicomD Pomocí programu ENICOM D lze konfigurovat výstup RS 232 přijímačů Rx1 DIN/DATA a Rx1 DATA (přidělovat textové řetězce k jednotlivým vysílačům resp. tlačítkům a nastavovat parametry

Více

Konvertor diakritiky 3. Instalace

Konvertor diakritiky 3. Instalace OBSAH Popis... 2 Ovládání aplikace... 3 Odstranění diakritických znamének... 4 Operace s textem... 4 Nastavení aplikace... 4 Písmo... 4 Jazyk... 4 Přidání dalšího jazyka do aplikace... 5 Znaky... 5 Instalace

Více

IB112 Základy matematiky

IB112 Základy matematiky IB112 Základy matematiky Řešení soustavy lineárních rovnic, matice, vektory Jan Strejček IB112 Základy matematiky: Řešení soustavy lineárních rovnic, matice, vektory 2/53 Obsah Soustava lineárních rovnic

Více

Excel Asistent Magazín 06/2003

Excel Asistent Magazín 06/2003 Excel Asistent Magazín 06/2003 Pojmenované oblasti Jiří Číhař, Dataspectrum http:// // ExcelAsistentMagazín je určen k volnému šíření. Pokud Vás jeho obsah zaujal, zašlete jej prosím svým kolegům a přátelům.

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT

Více

Programovací jazyk Pascal

Programovací jazyk Pascal Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce

Více

1. Úloha o optimálnom výrobnom pláne (optimálne využitie výrobných faktorov)

1. Úloha o optimálnom výrobnom pláne (optimálne využitie výrobných faktorov) 2. cvičenie formulácia a výsledky - LINGO 1. Úloha o optimálnom výrobnom pláne (optimálne využitie výrobných faktorov) a) maximalizácia zisku NECELOČÍSELNE!zadani ucelove fce; [UCELOVA_FCE] max = 120*x1+50*x2+150*x3+100*x4;!zadani

Více

JAK PROPOJIT R-KO a EXCEL aneb Aby se uživatel nasytil a statistik zůstal celý

JAK PROPOJIT R-KO a EXCEL aneb Aby se uživatel nasytil a statistik zůstal celý JAK PROPOJIT R-KO a EXCEL aneb Aby se uživatel nasytil a statistik zůstal celý Ondřej Vencálek listopad 2008 Motivace Jak to udělat, aby se panu doktorovi ušetřila práce, a přitom aby se nemusel učit R-ko?

Více

CZ.1.07/1.5.00/34.0632

CZ.1.07/1.5.00/34.0632 Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Inovace a zkvalitnění výuky prostřednictvím ICT Název: Téma: Autor: Číslo: Anotace: Excel Formát buňky Ing. Silvana Žárská

Více

Manuál k programu KaraokeEditor

Manuál k programu KaraokeEditor Manuál k programu KaraokeEditor Co je KaraokeEditor? Program slouží pro editaci tagů v hudebních souborech formátu mp3. Tagy jsou doprovodné informace o písni, uložené přímo v mp3. Aplikace umí pracovat

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT

Více

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access složitější konverze dat Ing. Kotásek Jaroslav

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access složitější konverze dat Ing. Kotásek Jaroslav Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Autor: Číslo: Anotace: Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access složitější

Více

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu Vytěžování dat, cvičení 1: Úvod do Matlabu Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 24 Úvod do Matlabu Proč proboha Matlab? Matlab je SW pro

Více

Archiv elektronických dokumentů Zela

Archiv elektronických dokumentů Zela Archiv elektronických dokumentů Zela Instalace po rozbalení servisního balíčku 38 se automaticky spustí instalační program, který nainstaluje potřebné moduly pro provoz archivu dokumentů. Tyto moduly je

Více

Administrace webu Postup při práci

Administrace webu Postup při práci Administrace webu Postup při práci Obsah Úvod... 2 Hlavní menu... 3 a. Newslettery... 3 b. Administrátoři... 3 c. Editor stránek... 4 d. Kategorie... 4 e. Novinky... 5 f. Produkty... 5 g. Odhlásit se...

Více