Teorie systémů a operační analýza1 Celočíselné programování RNDr. Jiří Dvořák, CSc.

Slides:



Advertisements
Podobné prezentace
Úterý 11:00 – 12:30 hod. učebna 212 RB © Lagová, Kalčevová
Advertisements

Nelineární optimalizace s omezeními - obecně
Matematické modelování a operační výzkum
Dopravní úloha Literatura Kosková I.: Distribuční úlohy I.
Dualita úloh lineárního programování a analýza citlivosti
MARKOVSKÉ ŘETĚZCE.
SIMPLEXOVÝ ALGORITMUS Řešení v tabulkovém procesoru
JUI - 3. přednáška Zpracování seznamů, predikátové a vyhodnocovací funkce RNDr. Jiří Dvořák, CSc.
LOGISTICKÉ SYSTÉMY 6/14.
Aplikace teorie grafů Základní pojmy teorie grafů
Vzorová písemka Poznámka: Bonusové příklady jsou nepovinné, lze za ně ale získat body navíc. (2 body) Definujte pojem gradient. Vypočítejte gradient funkce.
Systémy hromadné obsluhy
Síťová analýza RNDr. Jiří Dvořák, CSc.
Přednáška 12 Diferenciální rovnice
Genetické algoritmy. V průběhu výpočtu používají náhodné operace. Algoritmus není jednoznačný, může projít více cestami. Nezaručují nalezení řešení.
Dynamické programování
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
FORMALIZACE PROJEKTU DO SÍŤOVÉHO GRAFU
Lineární programování Simplexový algoritmus
Základy lineárního programování
Úterý 11:00 – 12:30 hod. učebna 212 RB © Lagová, Kalčevová
LOGISTICKÉ SYSTÉMY 7/14.
Funkce.
Základní číselné množiny
Heuristické metody Heuristiky dělíme na primární a duální.
LOGISTICKÉ SYSTÉMY 9/14.
Informatika I 3. přednáška
Příklad postupu operačního výzkumu
Formulace a vlastnosti úloh lineárního programování
METODA KONEČNÝCH PRVKŮ
Vícekriteriální rozhodování
ANALÝZA VÝSLEDKŮ LINEÁRNÍHO OPTIMALIZAČNÍHO MODELU
Metody nelineárního programování
Optimalizace versus simulace 9.přednáška. Obecně o optimalizaci  Maximalizovat nebo minimalizovat omezujících podmínkách.  Maximalizovat nebo minimalizovat.
Lineární programování I
CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ
Funkce více proměnných.
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.
Jedno-indexový model a určení podílů cenných papírů v portfoliu
P-těžké, np-těžké a np-úplné problémy
Složité rozhodovací úlohy
Gradientní metody Metoda největšího spádu (volný extrém)
Vektorové prostory.
Nelinearity s hysterezí Přerušení platnosti relace vytváří dvě různé charakteristiky, jejichž platnost je podmíněna směrem pohybu Hystereze přepínače x.
II. Analýza poptávky Přehled témat
Teorie portfolia Kvantifikace množiny efektivních portfolií.
Přednes 5 Lokální interpolační funkce na trojúhelníkovém prvku.
Simplexová metoda pro známé počáteční řešení úlohy LP
Lineární programování - charakteristika krajních bodů
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
© Institut biostatistiky a analýz ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ Ústav technologie, mechanizace a řízení staveb Fakulta stavební VUT v Brně Ing. Václav Rada, CSc. Leden 2009.
Kvadratické nerovnice
Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky a managementu Registrační.
EMM81 Ekonomicko-matematické metody 8 Prof. RNDr. Jaroslav Ramík, CSc.
Operační výzkum Lineární programování Dualita v úlohách lineárního programování. Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace.
MME51 Ekonomicko-matematické metody 5 Prof. RNDr. Jaroslav Ramík, CSc.
Teorie portfolia Markowitzův model.
MME41 Ekonomicko-matematické metody 4 Prof. RNDr. Jaroslav Ramík, CSc.
EMM21 Ekonomicko-matematické metody 2 Prof. RNDr. Jaroslav Ramík,CSc.
Úvod do databázových systémů
Simplexová metoda.
Ing. Milan Houška KOSA PEF ČZU v Praze
Analýza výsledků v modelech lineárního programování
Operační výzkum Lineární programování Dopravní úloha nevyrovnaná.
Lineární programování
Kvantifikace množiny efektivních portfolií II
Kvantifikace množiny efektivních portfolií II
Lineární optimalizační model
Definiční obory. Množiny řešení. Intervaly.
Transkript prezentace:

Teorie systémů a operační analýza1 Celočíselné programování RNDr. Jiří Dvořák, CSc.

TSOA: Celočíselné programování2 Úloha celočíselného programování Minimalizovat f(x 1, x 2, …, x n ) za podmínek kde Z je množina celých čísel.

TSOA: Celočíselné programování3 Klasifikace úloh celočíselného programování Úlohy plně (ryze) celočíselné: J = {1, 2, …, n} Podmínka celočíselnosti se vztahuje na všechny proměnné. Úlohy částečně (smíšeně) celočíselné: J  {1, 2, …, n} Některé proměnné nemusejí být celočíselné. Úlohy bivalentního (nula-jedničkového) programování: M j = {0, 1} Proměnné mohou nabývat pouze hodnot nula nebo jedna.

TSOA: Celočíselné programování4 Úloha celočíselného LP ve standardním tvaru kde Z je množina celých čísel.

TSOA: Celočíselné programování5 Příklady úloh celočíselného LP Úloha optimalizace výrobního programu, kde množství výrobků se počítá v kusech. Řezný problém (rozhodovací proměnné vyjadřují počty kusů výchozího materiálu, rozřezané podle jednotlivých řezných plánů). Přiřazovací problém (rozhodovací proměnné x ij nabývají hodnoty jedna nebo nula podle toho, zda i-tý objekt z 1. skupiny je či není přiřazen j-tému objektu ze 2. skupiny). Úloha o batohu (rozhodovací proměnné x j nabývají hodnoty jedna nebo nula podle toho, zda j-tý předmět je či není vložen do batohu).

TSOA: Celočíselné programování6 Přiřazovací problém Jsou dány dvě skupiny objektů, každá o n objektech. Každému objektu 1. skupiny je třeba přiřadit právě jeden objekt 2. skupiny. Přiřazení i-tého objektu 1. skupiny j-tému objektu 2. skupiny přinese zisk resp. ztrátu c ij. Je-li i-tému objektu 1. skupiny přiřazen j-tý objekt 2. skupiny, je x ij = 1, jinak x ij = 0.

TSOA: Celočíselné programování7 Přístupy k řešení celočíselných úloh Zanedbání podmínek celočíselnosti, použití vhodné metody LP nebo NLP a upravení výsledků na celá čísla. Při tomto způsobu hrozí nebezpečí, že se dopustíme příliš velké chyby nebo dokonce získáme nepřípustné řešení. Na druhé straně u některých úloh, jako je např. přiřazovací problém nebo dopravní problém s celočíselnými hodnotami pravých stran omezení, je při zanedbání podmínek celočíselnosti a použití simplexové metody teoreticky zaručeno získání celočíselného optimálního řešení. Použití metod celočíselného programování.

TSOA: Celočíselné programování8 Metody řešení celočíselných úloh Metody sečných nadrovin (např. Gomoryho metody) Metody větví a mezí Metody dynamického programování Speciální metody pro řešení problému určitého typu  (např. maďarská metoda pro řešení přiřazovacího problému) Heuristické metody  obecné heuristiky (metaheuristiky) - např. lokální hledání, genetické algoritmy, simulované žíhání, zakázané hledání  problémově specifické heuristiky

TSOA: Celočíselné programování9 Metoda sečných nadrovin pro lineární úlohy 1.Zanedbáme podmínky celočíselnosti. 2.Úlohu řešíme simplexovou metodou. Splňuje-li získané optimální řešení podmínky celočíselnosti, pak končíme. 3.V opačném případě do úlohy přidáme lineární omezení, které má tyto vlastnosti:  je splněno pro libovolné přípustné řešení původní celočíselné úlohy,  není splněno pro optimální neceločíselné řešení (příslušná nadrovina toto řešení „odřízne“). Vracíme se na krok 2 a pokračujeme duálně simplexovou metodou. Pozn.: V některých případech může dojít k velkému nárůstu rozměrnosti úlohy a ke zpomalení konvergence.

TSOA: Celočíselné programování10 Konstrukce sečné nadroviny Nechť B je optimální báze. Označme symboly  ij prvky matice B –1 A a  i prvky vektoru B –1 b. Dále budeme označovat symbolem [x] největší celé číslo menší nebo rovné hodnotě x. Nechť  k není celočíselné. K soustavě rovnic z poslední simplexové tabulky připojíme rovnici kde r kj =  kj – [  kj ], R k =  k – [  k ] a x n+1 je další nezáporná proměnná.

TSOA: Celočíselné programování11 Metoda větví a mezí Uvažujme úlohu 1.Položme M R = M, p = 0 (M R označuje rozkládanou množinu). 2.Větvení: Množinu M R rozložíme na r po dvou disjunktních podmnožin M p+1, M p+2, …, M p+r, jejichž sjednocením je množina M R. 3.Omezování: Určíme horní mez h(M k ) hodnot funkce f(x) pro každou podmnožinu M k vzniklou v posledním rozkladu. 4.Lze-li nalézt přípustné řešení x o takové, že pro všechny dosud nerozložené podmnožiny platí f(x o )  h(M k ), pak postup končí a x o je optimální řešení. V opačném případě za množinu M R zvolíme podmnožinu s největší horní mezí, položíme p = p+r a vracíme se na krok 2.

TSOA: Celočíselné programování12 Metoda větví a mezí pro maximalizační úlohu LP Omezování: Každá z podmnožin vzniklých rozkladem je charakterizována soustavou lineárních omezení a podmínek celočíselnosti. Zanedbáme podmínky celočíselnosti a vzniklou úlohu řešíme simplexovou metodou. Získaná optimální hodnota účelové funkce je horní mezí hodnot účelové funkce na příslušné podmnožině. Větvení: Nechť x o je optimální řešení neceločíselné úlohy odpovídající rozkládané množině a nechť  je neceločíselná hodnota proměnné x k. Množinu rozdělíme na dvě podmnožiny tak, že k původním podmínkám přidáme poprvé podmínku x k  [  ] a podruhé podmínku x k  [  ] + 1, kde [  ] je celá část hodnoty .

TSOA: Celočíselné programování13 Úloha o batohu Máme n věcí, jejichž celková hmotnost převyšuje limit hmotnosti obsahu batohu. Úkolem je naplnit batoh tak, aby byla maximalizována celková cena obsahu batohu. Matematický model: kde a j je hmotnost j-té věci, c j je cena j-té věci, b je limit hmotnosti, x j = 1 znamená, že j-tou věc vezmeme, a x j = 0 znamená, že j-tou věc nevezmeme.

TSOA: Celočíselné programování14 Řešení úlohy o batohu metodou větví a mezí Větvení provádíme do dvou větví dosazením hodnoty nula nebo jedna za nějakou proměnnou. Předpokládejme, že proměnné jsou očíslovány tak, že platí d 1  d 2  …  d n, kde d j = c j /a j. Nechť množina M k byla získána dosazením hodnot  j  {0, 1} za prvých p proměnných. Pak horní mez lze určit takto: kde q je takové, že kromě dosud vložených věcí se do batohu vejdou ještě věci s indexy p+1 až q–1 a z q-té věci pouze část o hmotnosti  kq.

TSOA: Celočíselné programování15 Formulace úlohy o batohu pomocí dynamického programování Úlohu o batohu chápeme jako n-etapový rozhodovací proces, kde stavem procesu na začátku j-té etapy je zbývající kapacita batohu (označme ji y j ) a rozhodnutím v j-té etapě je určení hodnoty proměnné x j (1 znamená j-tou věc vzít a 0 znamená nevzít). Stavy procesu: y 1 = b,y j+1 = y j – a j x j Přípustná rozhodnutí: Úloha se převede na systém n funkcionálních rovnic, přičemž j-tá rovnice určuje optimální hodnotu účelové funkce spojené s (n – j + 1)-etapovým procesem, začínajícím ve stavu y j.

TSOA: Celočíselné programování16 Systém funkcionálních rovnic pro úlohu o batohu Označme symbolem  n – j + 1 (y j ) optimální hodnotu účelové funkce spojené s (n – j + 1)-etapovým procesem, začínajícím ve stavu y j. Pak platí

TSOA: Celočíselné programování17 Řešení systému funkcionálních rovnic Systém funkcionálních rovnic se řeší pro j = n, n – 1, …, 1 a pro hodnoty stavů a získané optimální hodnoty x j o (y j ) se zaznamenávají do tabulek. Optimální řešení úlohy x* o batohu se pak z těchto tabulek získá takto: kde

TSOA: Celočíselné programování18 Vybrané metaheuristiky Genetický algoritmus pracuje nad populací tvořenou vektory rozhodovacích proměnných. Pomocí operátorů selekce, křížení, mutace a reprodukce se algoritmus snaží získat řešení s lepšími hodnotami účelové funkce. Simulované žíhání (simulated annealing, SA) a zakázané hledání (tabu search, TS) používají operaci zvanou pohyb pro přechod k dalšímu řešení. Tyto metody připouštějí za určitých podmínek i pohyb k řešení horšímu, než je řešení aktuální, což jim umožňuje uniknout z řešení, které je pouze lokálně optimální.  SA je založeno na analogii mezi optimalizací a simulací procesu chladnutí materiálu.  TS snižuje nebezpečí návratu k již prozkoumanému řešení tak, že každé získané řešení (resp. odpovídající pohyb) je po jistou dobu zaznamenáno v seznamu zakázaných (tabu) řešení (resp. pohybů).