Řešení úloh lineárního programování pomocí MOSELu

Slides:



Advertisements
Podobné prezentace
Matematické modelování a operační výzkum
Advertisements

DATOVÝ TYP POLE.
Fronta - a)Implementace s využitím statických struktur (pole) b)Implementace s využitím dynamických struktur (spojového seznamu) odebírá se ze začátku.
Úvod Klasifikace disciplín operačního výzkumu
Programování v Pascalu Přednáška 10 RNDr. Hana Havelková.
Materiály k přednášce Úvod do programování Ondřej Čepek.
Základy lineárního programování
Aplikace lineárního programování
LINEÁRNÍ OPTIMALIZAČNÍ MODEL
Vyučovací hodina 1 vyučovací hodina: Opakování z minulé hodiny 5 min Nová látka 20 min Procvičení nové látky 15 min Shrnutí 5 min 2 vyučovací hodiny: Opakování.
ROZHODOVACÍ ÚLOHY.
Zapsání modelu úlohy celočíselného programování do jazyka Mosel Deklarace seznamu indexů, polí a jejich naplnění koeficienty modelu, Deklarace rozhodovacích.
Příklad postupu operačního výzkumu
CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ Ústav technologie, mechanizace a řízení staveb Fakulta stavební VUT v Brně © Ing. Václav Rada, CSc. 15. PŘEDNÁŠKA.
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
doc. RNDr. Zdeněk Botek, CSc.
KÓDOVANIE INFORMÁCIÍ Maroš Malý, 4.C.
Delavnica za konfiguriranje dostopovnih točk RAČUNALNIŠKA OMREŽJA
ALGORITMIZACE.
Určitý integrál. Příklad.
Střední odborná škola a Střední odborné učiliště, Hradec Králové, Vocelova 1338, příspěvková organizace Registrační číslo projektu: CZ.1.07/1.5.00/
Základy elektrotechniky
Občanské sdružení Helpík
Název prezentace (DUMu): Jednoduché úročení – řešené příklady
Parametry vedení a stejnosměrná vedení
ROZDĚLENÍ ÚHLŮ PODLE VELIKOSTI
Veřejné zakázky malého rozsahu na ZČU
Ohmův zákon Praktické ověření.
Chemické vlastnosti vlasu I.
DIGITÁLNÍ UČEBNÍ MATERIÁL
CESTOVNÍ POJIŠTĚNÍ NA BC PRO ROK 2017
Biostatistika Kontingenční tabulky v Excelu
Kdo jsem – domácí mazlíčci 
Pedagogická psychologie PEPS B
ZÁKLADNÍ SLOŽKY VÝŽIVY - BÍLKOVINY
Název školy Gymnázium, střední odborná škola, střední odborné učiliště a vyšší odborná škola, Hořice Číslo projektu CZ.1.07/1.5.00/ Název materiálu.
Autoimunity, imunodeficity
KOUŘENÍ RODINNÁ VÝCHOVA Mgr. Renata Šimková.
VZNIK ČESKOSLOVENSKA.
Protektorát Čechy a Morava
Určeno pro : žáky 2. stupně ZŠ Sekce: základní Předmět : zeměpis
Autor: Jiří Dušek Verze ze dne
INTEGROVANÁ VÝUKA PŘEDMĚTU A CIZÍHO JAZYKA
NÁZEV: VY_32_INOVACE_10_19_F9_Hanak TÉMA: Jaderná energie
Elektronické součástky a obvody
Programovací jazyk C# 4. část - cykly.
Brno, Michal Šturma Wireless Informatika naostro.
VY_32_INOVACE_AGEO_14 Analytická geometrie Parabola.
ZÁKLADNÍ ŠKOLA, JIČÍN, HUSOVA 170 Číslo projektu
Elektrický potenciál a elektrické napětí
Škola ZŠ Masarykova, Masarykova 291, Valašské Meziříčí Autor
Geoetické aspekty kauzy D8
Plánování a řízení projektů BIVŠ - LS17
Příprava projektů OP Z – spolupráce s ASZ
Procvičování měkkých a tvrdých souhlásek
Autor bakalářské práce: Veronika Vlachová
Exoplanety a jejich hledání
Základní chemické pojmy a zákony
Informační zdroje a informační systémy na UK
Základy infinitezimálního počtu
Úvod do kvantové fyziky Interakce záření s hmotou ….
VY_32_INOVACE_Rypkova_ Vysokofrekvenční vedení
Název školy: Základní škola Netvořice
Co je vlastně Hip Hop? hudební žánr vytvořený v USA (N.Y. Bronx) kolem roku 1970 (DJ Kool Herc – jeden z prvních hiphopových umělců) vzniká spojením.
Etopedie Mgr. Lenka Gajzlerová
Mobilní aplikace pro android
Autor: Mgr. Vlasta Šujanová Název : VY_32_INOVACE_04CJ_2_SLDRUHY
Opakování základních příkazů a syntaxí v programovacím jazyce Pascal
Lineární optimalizační model
Transkript prezentace:

Řešení úloh lineárního programování pomocí MOSELu Spuštění Xpress-IVE, (Start>>Programs>>Xpress-MP>>Xpress-IVE) Vytvoření a uložení Mosel-ovského souboru, (File>>New, OpenDialogue) Přepsání modelu do jazyka Mosel, Oprava chyb a odladění modelu, (Build>>Run) Řešení úlohy, (Build>>Run) Ověření řešení.

Přepsání modelu do jazyka Mosel Deklarace seznamu indexů, polí a jejich naplnění koeficienty modelu, Deklarace rozhodovacích proměnných, Definice účelové funkce, Zápis strukturálních podmínek, Zápis obligatorních podmínek, Příkaz optimalizace, Určení formy výstupu.

Úloha plánování výroby (Production Problem) Drobný podnikatel vyrábí a prodává bramborové lupínky a hranolky pořadě za ceny 120 a 76 peněžních jednotek za kilogram produktu. Na výrobu 1 kg lupínků je zapotřebí 2 kg brambor a 0.4 kg oleje, na výrobu 1 kg hranolků je třeba 1.5 kg brambor a 0.2 kg oleje. Podnikatel nakoupil před zahájením výroby 100 kg brambor a 16 kg oleje za regulované ceny 12 a 40 peněžních jednotek za kilogram příslušné suroviny. Jaká množství jednotlivých produktů má podnikatel vyrábět a prodávat, aby maximalizoval svůj zisk při respektování omezených množství obou surovin, které má k dispozici?

Model úlohy plánování výroby Účelová funkce Strukturální podmínky Obligatorní podmínky

Model úlohy plánování výroby (Pole s koeficienty úlohy) UNITPROF: [80, 50] CONSOFPOT: [2, 1.5] CONSOFOIL: [0.4, 0.2]

Struktura modelu v jazyku MOSEL model "Chips and Frenchfries Production" uses "mmxprs" declarations … end-declarations end-model Úvodní klíčové slovo Specifikace solveru Koncové klíčové slovo

Deklarace množiny indexů a polí v jazyku MOSEL model "Chips and Frenchfries Production" uses "mmxprs" declarations PRODUCTS=1..2 CONSOFPOT:array(PRODUCTS) of real CONSOFOIL:array(PRODUCTS) of real UNITPROF:array(PRODUCTS) of real end-declarations … end-model Úvodní klíčové slovo deklarace Koncové klíčové slovo deklarace

Inicializace polí v jazyku MOSEL model "Chips and Frenchfries Production" uses "mmxprs" declarations PRODUCTS=1..2 CONSOFPOT:array(PRODUCTS) of real CONSOFOIL:array(PRODUCTS) of real UNITPROF:array(PRODUCTS) of real end-declarations CONSOFPOT:=[2, 1.5] CONSOFOIL:=[0.4, 0.2] UNITPROF:=[80, 50] end-model Úvodní klíčové slovo deklarace Koncové klíčové slovo deklarace

Deklarace rozhodovacích proměnných v jazyku MOSEL model "Chips and Frenchfries Production" uses "mmxprs" declarations PRODUCTS=1..2 CONSOFPOT:array(PRODUCTS) of real CONSOFOIL:array(PRODUCTS) of real UNITPROF:array(PRODUCTS) of real X:array(PRODUCTS) of mpvar end-declarations *** end-model Deklarace proměnných X(1), X(2)

Zápis účelové funkce v jazyku MOSEL model "Chips and Frenchfries Production" uses "mmxprs" declarations PRODUCTS=1..2 *** X:array(PRODUCTS) of mpvar end-declarations Profit:=sum(j in PRODUCTS) UNITPROF(j)*X(j) end-model Proměnná, která představuje zisk

Zápis strukturálních podmínek v jazyku MOSEL model "Chips and Frenchfries Production" uses "mmxprs" declarations *** end-declarations Profit:=sum(j in PRODUCTS) UNITPROF(j)*X(j) sum(j in PRODUCTS)CONSOFPOT(j)*X(j) <=100 sum(j in PRODUCTS)CONSOFOIL(j)*X(j) <=16 end-model

Příkaz optimalizace v jazyku MOSEL model "Chips and Frenchfries Production" uses "mmxprs" declarations *** end-declarations Profit:=sum(j in PRODUCTS) UNITPROF(j)*X(j) sum(j in PRODUCTS)CONSOFPOT(j)*X(j) <=100 sum(j in PRODUCTS)CONSOFOIL(j)*X(j) <=16 maximize(Profit) end-model

Psaní výstupní sestavy v jazyku MOSEL model "Chips and Frenchfries Production" uses "mmxprs" declarations *** X:array(PRODUCTS) of mpvar end-declarations maximize(Profit) writeln("Total Profit: ", getobjval) forall(j in PRODUCTS) writeln("X(",j,")= ", getsol(X(j))) end-model

Dopravní úloha (Transportation Problem) Je třeba co nejlevněji uspokojit požadavky spotřebitelů j = 1, 2, 3, 4 na dovezení bj tun cementu, kde hodnoty bj jsou postupně 7, 8, 10 a 11. Požadavky spotřebitelů je možno uspokojit ze skladů i = 1, 2, 3, které disponují zásobami ai tun cementu, kde hodnoty ai jsou pro i = 1, 2, 3 postupně 10, 15, 11. Jednotkové dopravní náklady cij na přepravu jedné tuny cementu ze skladu i k spotřebiteli j jsou v tabulce. cij 1 2 3 4 5 6 7 8

Dopravní úloha (Prezentace v grafu) 2 15 1 10 3 11 7 1 8 2 10 3 11 4

Dopravní úloha (Prezentace v grafu) 1 10 7 1 8 2 2 15 10 3 3 11 11 4 xij rozhodnutí o tom, kolik se poveze cementu z i do j.

Dopravní úloha (Skladová podmínka) 2 15 7 1 10 3 11 8 4

Model dopravní úlohy

Model dopravní úlohy

Dopravní úloha (Transportation Problem) c 1 2 3 4 5 6 7 8

Textový soubor se vstupními údaji v jazyku MOSEL ! poznamka “Transportation_Problem" a:[10, 15, 11] b:[7, 8, 10 ,11] c:[4, 5, 5, 3, 6, 6, 7, 8, 5, 7, 7, 5] Matice je tu zapsaná po řádcích!

Deklarace množiny indexů a polí v jazyku MOSEL model “Transportation Problem" uses "mmxprs" declarations STORES=1..3 CUSTOMERS =1..4 a:array(STORES) of real b:array(CUSTOMERS) of real c:array(STORES, CUSTOMERS ) of real end-declarations … end-model

Inicializace polí v jazyku MOSEL model " Transportation Problem " uses "mmxprs" declarations *** end-declarations initializations from “Transportation_Problem.dat” a, b, c end-initializations end-model Úvodní klíčové slovo inicializace Koncové klíčové slovo inicializace

Deklarace rozhodovacích proměnných v jazyku MOSEL model " Transportation Problem " uses "mmxprs" declarations STORES=1..3 CUSTOMERS =1..4 a:array(STORES) of real b:array() of real c:array(STORES, CUSTOMERS ) of real X:array(STORES, CUSTOMERS) of mpvar end-declarations *** end-model Deklarace proměnných X(i, j),

Zápis účelové funkce v jazyku MOSEL model " Transportation Problem " uses "mmxprs" declarations *** X:array(STORES, CUSTOMERS) of mpvar end-declarations Cost:=sum(i in STORES, j in CUSTOMERS) c(i,j)*X(i,j) end-model Proměnná, která představuje n8klady

Zápis strukturálních podmínek v jazyku MOSEL model " Transportation Problem " uses "mmxprs" declarations *** end-declarations Cost:=sum(i in STORES, j in CUSTOMERS) c(i,j)*X(i,j) forall(i in STORES) sum(j in CUSTOMERS) X(i,j) =a(i) forall(j in CUSTOMERS) sum(i in STORES) X(i,j) =b(j) end-model

Příkaz optimalizace v jazyku MOSEL model " Transportation Problem " uses "mmxprs" declarations *** end-declarations Cost:=sum(i in STORES, j in CUSTOMERS) c(i,j)*X(i,j) forall(i in STORES) sum(j in CUSTOMERS) X(i,j) =a(i) forall(j in CUSTOMERS) sum(i in STORES) X(i,j) =b(j) minimize(Cost) end-model