Formát MPS, Systém XA, rovnicový způsob, spolupráce s tabulkovými kalkulátory, řídící příkazy.
Formát MPS Mathematical Programming System sekce NAME - titulek, sekce ROWS – popis omezení a jejich typů, sekce COLUMNS – popis proměnných a stukturních koeficientů, sekce RHS – vektor pravých stran, (sekce RANGES) - rozpětí, (sekce BOUNDS) - meze proměnných.
Formát MPS Mathematical Programming System 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. Sekce ROWS kód relačního znaménka omezení je ve sloupci 2, 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 ≥. název omezení je ve sloupcích 5 až 12,
Formát MPS Mathematical Programming System Sekce COLUMNS jméno proměnné je na pozicích , jméno řádku (omezení či účelové funkce), v němž má příslušná proměnná nenulový koeficient, je uvedeno na pozicích , hodnota příslušného koeficientu je na pozicích , 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, specifikovaného v předchozím bodě.
Formát MPS Mathematical Programming System Sekce RHS název pravé strany (slouží pro její identifikaci) je na pozicích , jméno řádku (omezení), v němž je na pravé straně nenulová hodnota, je na pozicích , hodnota pravé strany je na pozicích
Formát MPS Mathematical Programming System Sekce RANGES název souboru rozpětí - pozice , jméno řádku (omezující podmínka) s rozpětím - pozice , šířka rozpětí (konstanta ri) - pozice
Formát MPS Mathematical Programming System Sekce RANGES název souboru rozpětí - pozice , jméno řádku (omezující podmínka) s rozpětím - pozice , šířka rozpětí (konstanta ri) - pozice
Formát MPS Mathematical Programming System Sekce BOUNDS 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 danou hodnotu, FR volná proměnná (může být i záporná), BV binární proměnná, UI celočíselná proměnná se stanovenou horní mezí, název souboru mezí - pozice , název proměnné, pro kterou se zadává mez (nebo jiná informace) - pozice , hodnota meze je na pozicích (neuvádí se u typů BV a FR).
Formát MPS Mathematical Programming System maximalizovat z = 15x1 + 24x2 + 36x3, za podmínek x1 + 2x2 + 5x3 ≤ 185, x1 + x2 ≥ 50, x1 ≤ 20, x3 ≥ 10, xi ≥ 0, i = 1,2,3, xi - celé, i = 1,2.
NAME VYROBA ROWS N ZISK L SUROVINA G ODBYT COLUMNS INTEGER1 'MARKER' 'INTORG' X1 SUROVINA X1 ODBYT X1 ZISK X2 SUROVINA X2 ZISK X2 ODBYT INTEGER2 'MARKER' 'INTEND' X3 SUROVINA X3 ZISK RHS RHS1 SUROVINA RHS1 ODBYT BOUNDS UP BND1 X LO BND1 X ENDATA
Systém XA rovnicový způsob vstupu dat..TITLE Uloha vyrobniho planovani..OBJECTIVE MAXIMIZE 15[X1] + 24[X2] + 36X3..BOUNDS X1 <= 20 X3 >= 10..CONSTRAINT SUROVINA: X1 + 2X2 + 5X3 <= 185 ODBYT: X1 + X2 >= 50..TITLE..OBJECTIVE MAXIMIZE(MINIMIZE)..BOUNDS..CONSTRAINT
Systém XA MS Excel Název oblastiPopisKomentář LPCMDBuňka obsahující řádkové příkazy pro výpočet nepovinné ale doporučené XATITLENázev úlohynepovinné XAVARIABLENázvy proměnnýchpovinné XACOSTCenové koeficientypovinné XALOWERDolní meze proměnnýchnepovinné XAUPPERHorní meze proměnnýchnepovinné XACONSTRAINTMatice koeficientů (včetně pravé strany, relací a názvů) povinné XAVAHodnoty proměnnýchnepovinné XACAHodnoty omezení (levá strana)nepovinné XAVRRedukované ceny proměnnýchnepovinné XACRDuální (stínové) cenynepovinné XAVSStatus proměnnýchnepovinné XACSStatus omezujících podmíneknepovinné
Systém XA – LTS soubor..TITLEpovinná sekce soubor.xls(název bloku)stejné jako XATITLE..OBJECTIVE MINIMIZE / MAXIMIZEpovinná sekce soubor.xls(název bloku)stejné jako XAVARIABLE soubor.xls(název bloku)stejné jako XACOST..BOUNDSnepovinná sekce soubor.xls(název bloku)stejné jako XALOWER soubor.xls(název bloku)stejné jako XAUPPER..CONSTRAINTSpovinná sekce soubor.xls(název bloku)stejné jako XACONSTRAINT soubor.xls(název bloku)možno opakovat, jak je třeba :..ACTIVITYnepovinná sekce soubor.xls(název bloku)stejné jako XAVA soubor.xls(název bloku)stejné jako XACA..REDUCEDCOSTnepovinná sekce soubor.xls(název bloku)stejné jako XAVR soubor.xls(název bloku)stejné jako XACR..STATUSnepovinná sekce soubor.xls(název bloku)stejné jako XAVS soubor.xls(název bloku)stejné jako XACS
ABCDEIJK L 1MasoMasloChlebBramJogurt 2Energ GE Bilk GE80 4Zelezo GE15 5VitA GE Cena Min Max Nutricni problem 12MAXIMIZE NO MUTE YES OPTIMAL Blok Umístění XATITLEA11..A11 LPCMDA12..A12 XAVARIABLEB1..I1 XACOSTB7..I7 Blok Umístění XALOWERB8..I8 XAUPPERB9..I9 XACONSTRAINTA2..L5 XAVAB14..L14 XACAM2..M5 XAVRB15..I15 XACRN2..N5 XAVSnebyl definován XACSnebyl definován
ABCDEFGH 1Nutricni problemMAXIMIZE NO MUTE YES 2 3EnergBilkFeVitACenaMinMax 4Maso Maslo Chleb Brambor Jablka Syr Kure Jogurt GEGEGEGE CA CR VAVR 20Maso Maslo Chleb Brambor Jablka Syr Kure Jogurt OPTIMAL SOLUTION 30NORMAL COMPLETION
Systém XA – Styl III (Excel) Pouze v součinnosti s LTS souborem..TITLEpovinná sekce soubor.xls(název bloku)stejné jako XATITLE..TABLE MINIMIZE / MAXIMIZEpovinná sekce soubor.xls(název bloku) soubor.xls(název bloku)možno opakovat, jak je třeba :..ACTIVITYnepovinná sekce soubor.xls(název bloku)stejné jako XAVA soubor.xls(název bloku)stejné jako XACA..REDUCEDCOSTnepovinná sekce soubor.xls(název bloku)stejné jako XAVR soubor.xls(název bloku)stejné jako XACR..STATUSnepovinná sekce soubor.xls(název bloku)stejné jako XAVS soubor.xls(název bloku)stejné jako XACS
Systém XA – Styl III (Excel) cwV1V2 …VnMIN MAX FIX C1 C2 : MIN MAX FIX COST Matice koeficientů
Systém XA – Styl III (Excel) ABCDEFGHI 1Nutricni problem 2 3CEnerBilkZelVitACOSTMINMAXVA 4Maso Maslo Chleb Brambor Jablka Syr Kure Jogurt MIN MAX Blok Umístění NAZEVA1..A1 TABULKAA3..H13 HODNOTYI4..I12..TITLE nutr.xls(nazev)..TABLE MINIMIZE nutr.xls(tabulka)..ACTIVITY nutr.xls(hodnoty)
Systém XA – řízení výpočtu XA název souboru řádkové příkazy LP (pro rovnicový způsob), XLS, WK1 (pro tabulkové kalkulátory, pozor MS Excel verze 4.0, neumí spolupracovat s novějšími) CLP (Command Line Parameters – textový soubor s řádkovými příkazy) LTS (Look To Spreadsheet) – textový soubor s definicemi oblastí ve spreadsheetu
Systém XA – řízení výpočtu 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,
Systém XA – řízení výpočtu 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.
Systém XA – řízení výpočtu 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 Příklad XA VYROBA.MPS MAXIMIZE YES LISTINPUT NO OUTPUT VYROBA.TXT
Systém XA – výstupní informace 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%