Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Ř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,

Podobné prezentace


Prezentace na téma: "Ř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,"— Transkript prezentace:

1 Ř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í.

2 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.

3 Ú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?

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

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

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

7 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

8 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

9 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)

10 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

11 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

12 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

13 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

14 Dopravní úloha (Transportation Problem) Je třeba co nejlevněji uspokojit požadavky spotřebitelů j = 1, 2, 3, 4 na dovezení b j tun cementu, kde hodnoty b j 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 a i tun cementu, kde hodnoty a i jsou pro i = 1, 2, 3 postupně 10, 15, 11. Jednotkové dopravní náklady c ij na přepravu jedné tuny cementu ze skladu i k spotřebiteli j jsou v tabulce. c ij

15 Dopravní úloha (Prezentace v grafu)

16 Dopravní úloha (Prezentace v grafu) x ij rozhodnutí o tom, kolik se poveze cementu z i do j.

17 Dopravní úloha (Skladová podmínka)

18 Model dopravní úlohy

19

20 Dopravní úloha (Transportation Problem) a : [10, 15, 11] b : [7, 8, 10,11] c

21 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!

22 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

23 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

24 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),

25 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

26 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

27 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


Stáhnout ppt "Ř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,"

Podobné prezentace


Reklamy Google