1 / 27

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

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

dwayne
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 úlohyplá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 Specifikace solveru Koncové klíčové slovo

  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é slovodeklarace Koncové klíčové slovodeklarace

  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é slovodeklarace Koncové klíčové slovodeklarace

  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 mpvarend-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 mpvarend-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í sestavyv 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í 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.

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

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

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

  18. Model dopravní úlohy

  19. Model dopravní úlohy

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

  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 mpvarend-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 mpvarend-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

More Related