4ek311 –operační výzkum

Post on 18-Oct-2021

46 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

4EK311 – Operační výzkum

3. Optimalizační software a

stabilita řešení úloh LP

3.1 Příklad – matematický model

© Mgr. Sekničková Jana, Ph.D. 2

Lis: 1 𝑥1 + 2 𝑥2 ≤ 120 [min]Balení: 1 𝑥1 + 4 𝑥2 ≤ 180 [min]Poptávka: 1 𝑥1 − 1 𝑥2 ≥ 90 [krabiček]Šroubky: 1 𝑥1 + 0 𝑥2 ≤ 110 [krabiček]Nezápornost: 𝑥1, 𝑥2 ≥ 0 [krabiček]

Zisk: 40 𝑥1 + 60 𝑥2 …max [Kč]

45

40

90

60

© Mgr. Sekničková Jana, Ph.D. 3

x1

x2

120 1800

-90

110

Zmax

OPTIMUM

60

(2)

(1)

(3)(4)

Grafické řešení úlohy LP

Optimální řešení zadané úlohy leží na průsečíku dvou hraničních přímek omezení (1) a (4):

𝑥1 + 2𝑥2 = 120

𝑥1 = 110

Odtud je 𝑥1 = 110, 𝑥2 = 5

Bod optimálního řešení je tedy

𝐱∗ = 110, 5

Hodnota účelové funkce je po dosazení

𝑧 = 40𝑥1 + 60𝑥2 = 40 ∙ 110 + 60 ∙ 5 = 4700

3.2 Grafické řešení úlohy LP

© Mgr. Sekničková Jana, Ph.D. 4

Lis: 1 𝑥1 + 2 𝑥2 ≤ 120 [min]Balení: 1 𝑥1 + 4 𝑥2 ≤ 180 [min]Poptávka: 1 𝑥1 − 1 𝑥2 ≥ 90 [krabiček]Šroubky: 1 𝑥1 + 0 𝑥2 ≤ 110 [krabiček]Nezápornost: 𝑥1, 𝑥2 ≥ 0 [krabiček]

Zisk: 40 𝑥1 + 60 𝑥2 …max [Kč]

Množina přípustných

řešení

x1

x2

0

60

120

(1)

45

180

(2)

-90

90

(3)(4)

110

© Mgr. Sekničková Jana, Ph.D. 5

Základní řešení ESRZákladní přípustná

řešení úlohy LP

D

AC

B

Řešení dle základní věty LP

Výpočet základních přípustných řešení:

A = 90, 0 , 𝐱 = 90, 𝟎, 30, 90, 𝟎, 20 T

B = 110, 0 , 𝐱 = 110, 𝟎, 10, 70, 20, 𝟎 T

C = 110, 5 , 𝐱 = 110, 5, 𝟎, 50, 15, 𝟎 T

D = 100, 10 , 𝐱 = 100, 10, 𝟎, 40, 𝟎, 10 T

𝑧𝐴 = 40 𝑥1 + 60 𝑥2 = 40 ∙ 90 + 60 ∙ 0 = 3600

𝑧𝐵 = 40 𝑥1 + 60 𝑥2 = 40 ∙ 110 + 60 ∙ 0 = 4400

𝑧𝐶 = 40 𝑥1 + 60 𝑥2 = 40 ∙ 110 + 60 ∙ 5 = 4700

𝑧𝐷 = 40 𝑥1 + 60 𝑥2 = 40 ∙ 100 + 60 ∙ 10 = 4600

3.3 Řešení dle základní věty LP

© Mgr. Sekničková Jana, Ph.D. 6

Lis: 1 𝑥1 + 2 𝑥2 ≤ 120 [min]Balení: 1 𝑥1 + 4 𝑥2 ≤ 180 [min]Poptávka: 1 𝑥1 − 1 𝑥2 ≥ 90 [krabiček]Šroubky: 1 𝑥1 + 0 𝑥2 ≤ 110 [krabiček]Nezápornost: 𝑥1, 𝑥2 ≥ 0 [krabiček]

Zisk: 𝑧 = 40 𝑥1 + 60 𝑥2 …max [Kč]

Optimální řešení:𝐱∗ = 110, 5, 0, 50, 15, 0 T

𝑧 = 4700

Graficky lze řešit úlohy LP, které obsahují dvě (max. tři) proměnné

Dle základní věty LP lze řešit i mnohem větší úlohy

Tzv. metoda hrubé síly

Vyčíslení všech ZŘ ESR (kolik jich je?)

Redukce na ZPŘ úlohy LP

Výpočet hodnoty účelové funkce pro všechna ZPŘ

Výběr optimálního řešení

I ZPŘ však může být opravdu mnoho

m = 4, n = 2, ZŘ 14 → ZPŘ 4

m = 100, n = 10, ZŘ téměř 47 bilionů → ZPŘ cca 14 bilionů

3.4 Řešení pomocí softwaru

© Mgr. Sekničková Jana, Ph.D. 7

V praxi se však používá efektivní prohledávání množiny základních přípustných řešení pomocí simplexové metody (či metody vnitřního bodu, apod.)

Historické optimalizační softwary

STORM

DS Win

Současné nástroje

LINGO, MPL

Řešitel pro MS Excel

a další

3.4 Řešení pomocí softwaru

© Mgr. Sekničková Jana, Ph.D. 8

3.4 LINGO

Firma LINDO Systems, Inc.

LINDO (Linear INteractive and Discrete Optimizer)

www.lindo.com

LINGO (verze 16.0, 17.0) – Windows, Mac, Linux

© Mgr. Sekničková Jana, Ph.D. 9

© Mgr. Sekničková Jana, Ph.D. 10

3.4 LINGO - model

© Mgr. Sekničková Jana, Ph.D. 11

Lis: 1 𝑥1 + 2 𝑥2 ≤ 120 [min]Balení: 1 𝑥1 + 4 𝑥2 ≤ 180 [min]Poptávka: 1 𝑥1 − 1 𝑥2 ≥ 90 [krab. ]Šroubky: 1 𝑥1 + 0 𝑥2 ≤ 110 [krab. ]Nezápornost: 𝑥1, 𝑥2 ≥ 0 [krab. ]

Zisk: 40 𝑥1 + 60 𝑥2 …max [Kč]

3.4 LINGO - řešení

© Mgr. Sekničková Jana, Ph.D. 12

3.4 LINGO – výstup řešení

© Mgr. Sekničková Jana, Ph.D. 13

Omezení

Proměnné

Účelová funkce

Hodnota účelové

funkce

3.4 LINGO - proměnné

© Mgr. Sekničková Jana, Ph.D. 14

Proměnné

Názvy Hodnoty Redukované ceny

Proměnné ⟶ Procesy

Co udávají?Hodnoty ⟶ Intenzity procesů

Redukovaná cena ⟶ Pokud se proces nerealizuje (hodnota strukturní proměnné = 0), udává, o kolik se musí zlepšit cena, aby bylo výhodné proces realizovat. ⟶ Pokud se proces realizuje (hodnota strukturní proměnné > 0), je redukovaná cena nulová (není třeba cenu zlepšovat).

Předpokládejme nyní v příkladu zavedení výroby třetího

výrobku (klíč na utahování šroubů)

Lisování 5 minut

Balení 5 minut

Zisk 10 Kč

3.4 Redukovaná cena

© Mgr. Sekničková Jana, Ph.D. 15

Lis: 1 𝑥1 + 2 𝑥2 ≤ 120 [min]Balení: 1 𝑥1 + 4 𝑥2 ≤ 180 [min]Poptávka: 1 𝑥1 − 1 𝑥2 ≥ 90 [krab. ]Šroubky: 1 𝑥1 + 0 𝑥2 ≤ 110 [krab. ]Nezápornost: 𝑥1, 𝑥2 ≥ 0 [krab. ]

Zisk: 40 𝑥1 + 60 𝑥2 …max [Kč]

Optimální řešení:𝐱∗ = 110, 5, 0, 50, 15, 0 T

𝑧 = 4700

3.4 Redukovaná cena

© Mgr. Sekničková Jana, Ph.D. 16

© Mgr. Sekničková Jana, Ph.D. 17

O kolik je třeba zlepšit současný cenový koeficient (10 Kč),

aby byl příslušný proces realizován.

O kolik se zhorší hodnota účelové funkce, když budeme nuceni

realizovat příslušný proces s jednotkovou intenzitou.

3.4 Redukovaná cena

© Mgr. Sekničková Jana, Ph.D. 18

Redukovaná cena ⟶ Pokud se proces realizuje (hodnota strukturní proměnné > 0), je redukovaná cena nulová (není třeba cenu zlepšovat).⟶ Pokud se proces nerealizuje (hodnota strukturní proměnné = 0), udává, o kolik se musí zlepšit cena, aby bylo výhodné proces realizovat.

Současná cena: 𝑐3 = 10Redukovaná cena: 𝑢 = 140

© Mgr. Sekničková Jana, Ph.D. 19

Současná cena: 𝑐3 = 10Současný zisk: 𝑧 = 4700Redukovaná cena: 𝑢 = 140

© Mgr. Sekničková Jana, Ph.D. 20

3.4 LINGO - omezení

© Mgr. Sekničková Jana, Ph.D. 21

Omezení

Názvy

Hodnoty přídatných proměnných

Stínové ceny

Omezení ⟶ Činitelé

Hodnoty přídatných proměnných ⟶ Rezerva

Stínová cena (duální cena, duální proměnná)⟶ Pokud je omezení splněno na hraně, tj. jako rovnost (hodnota přídatné proměnné = 0), udává, o kolik se zlepší z, pokud se kapacita uvolní o jednotku. ⟶ Pokud je omezení splněno s rezervou (hodnota přídatné proměnné > 0), je stínová cena nulová (malá změna kapacity nezpůsobí změnu z).

© Mgr. Sekničková Jana, Ph.D. 22

Lis: 1 𝑥1 + 2 𝑥2 ≤ 120 [min]Balení: 1 𝑥1 + 4 𝑥2 ≤ 180 [min]Poptávka: 1 𝑥1 − 1 𝑥2 ≥ 90 [krab. ]Šroubky: 1 𝑥1 + 0 𝑥2 ≤ 110 [krab. ]Nezápornost: 𝑥1, 𝑥2 ≥ 0 [krab. ]

Zisk: 40 𝑥1 + 60 𝑥2 …max [Kč]

Optimální řešení:𝐱∗ = 110, 5, 0, 50, 15, 0 T

𝑧 = 4700

Stínová cena ⟶ Pokud je omezení splněno s rezervou (hodnota přídatné proměnné > 0), je stínová cena nulová (malá změna kapacity nezpůsobí změnu z).

© Mgr. Sekničková Jana, Ph.D. 23

Lis: 1 𝑥1 + 2 𝑥2 ≤ 120 [min]Balení: 1 𝑥1 + 4 𝑥2 ≤ 180 [min]Poptávka: 1 𝑥1 − 1 𝑥2 ≥ 90 [krab. ]Šroubky: 1 𝑥1 + 0 𝑥2 ≤ 110 [krab. ]Nezápornost: 𝑥1, 𝑥2 ≥ 0 [krab. ]

Zisk: 40 𝑥1 + 60 𝑥2 …max [Kč]

Optimální řešení:𝐱∗ = 110, 5, 0, 50, 15, 0 T

𝑧 = 4700

Stínová cena ⟶ Pokud je omezení splněno na hraně, tj. jako rovnost (hodnota přídatné proměnné = 0), udává, o kolik se zlepší z, pokud se kapacita uvolní o jednotku.

Současná kapacita: 𝑏1 = 120Současný zisk: 𝑧 = 4700Stínová cena: 𝑢 = 30

© Mgr. Sekničková Jana, Ph.D. 24

Stínové ceny

Omezení ve tvaru nerovnice typu ≤:

𝑎𝑖1𝑥1 + 𝑎𝑖2𝑥2 + ⋯+ 𝑎𝑖𝑛𝑥𝑛 ≤ 𝑏𝑖

Zvětšení pravé strany rozšiřuje množinu přípustných řešení

Zlepšení řešení

maximalizace – zvýšení hodnoty účelové funkce

minimalizace – snížení hodnoty účelové funkce

Omezení ve tvaru nerovnice typu ≥:

𝑎𝑖1𝑥1 + 𝑎𝑖2𝑥2 + ⋯+ 𝑎𝑖𝑛𝑥𝑛 ≥ 𝑏𝑖

Zvětšení pravé strany zmenšuje množinu přípustných řešení

Zhoršení řešení

maximalizace – snížení hodnoty účelové funkce

minimalizace – zvýšení hodnoty účelové funkce

© Mgr. Sekničková Jana, Ph.D. 25

Stínová cena⟶ O kolik se zlepší z, pokud se kapacita uvolní o jednotku.

3.4 Redukované a stínové ceny

© Mgr. Sekničková Jana, Ph.D. 26

Interpretace pro redukované i stínové ceny platí jen při malých změnách

CO JE MALÁ ZMĚNA ?

Interpretace pro redukované i stínové ceny platí jen při změnách v rámci intervalu stability

3.5 LINGO - stabilita

LINGO ⟶ Options… ⟶ General Solver

⟶ Dual Computations ⟶ Prices & Ranges© Mgr. Sekničková Jana, Ph.D. 27

3.5 LINGO - stabilita

© Mgr. Sekničková Jana, Ph.D. 28

Vyřešit úlohu (CTRL + U)

Z okna s modelem (ne s řešením) zobrazit Range report (CTRL + R)

3.5 LINGO - stabilita

© Mgr. Sekničková Jana, Ph.D. 29

Současná hodnota Povolený nárůst Povolený pokles

Proměnné

Omezení

3.5 Intervaly stability cenových koeficientů

Účelová funkce: 𝑧 = 40 𝑥1 + 60 𝑥2 …max [Kč]

𝑐1 ∈ 40 − 10, 40 + ∞ → 𝑐1 ∈ 30, ∞

𝑐2 ∈ 60 − 60, 60 + 20 → 𝑐2 ∈ 0, 80

© Mgr. Sekničková Jana, Ph.D. 30

60

50

© Mgr. Sekničková Jana, Ph.D. 31

x1

x2

120

45

1800

-90

90 110

Zmax

OPTIMUM

40

60

(2)

(1)

(3)(4)

Změna cenového koeficientu

80

𝑐1 ∈ 30, ∞

3.5 Intervaly stability pravých stran

𝑏1 ∈ 120 − 10, 120 + 25 → 𝑏1 ∈ 110, 145

𝑏2 ∈ 180 − 50, 180 + ∞ → 𝑏2 ∈ 130, ∞

𝑏3 ∈ 90 − ∞, 90 + 15 → 𝑏3 ∈ −∞, 105

𝑏4 ∈ 110 − 10, 110 + 10 → 𝑏4 ∈ 100, 120© Mgr. Sekničková Jana, Ph.D. 32

105

© Mgr. Sekničková Jana, Ph.D. 33

x190 110

Zmax

OPTIMUM

(2)

(1)

(3) (4)

10095

𝑏4 ∈ 100, 120

Změna pravé strany

© Mgr. Sekničková Jana, Ph.D. 34

x190 110

Množina přípustných

řešení

Zmax

(2)

(1)

(3) (4)

10510095

OPTIMUM

Celočíselné řešení

3.6 Celočíselnost v úlohách LP

Množina přípustných řešení obsahuje jen celočíselné body (mřížka)

Úlohu řešíme nejprve bez podmínek celočíselnosti

Pokud vyjde řešení celočíselně, máme OŘ

Pokud nevyjde celočíselně, použijeme některou z metod pro hledání celočíselného řešení (větve a meze, Gomoryho apod.) – oříznutí množiny PŘ

LINGO: funkce @gin(x1);

Pozor: při použití podmínek celočíselnosti ztratíme informaci o redukovaných a stínových cenách

© Mgr. Sekničková Jana, Ph.D. 35

3.6 LINGO - celočíselnost

© Mgr. Sekničková Jana, Ph.D. 36

3.6 LINGO - celočíselnost

© Mgr. Sekničková Jana, Ph.D. 37

KONEC

© Mgr. Sekničková Jana, Ph.D. 38

Detaily k přednášce: skripta, kapitola 4

a kapitoly 2.7 a 2.8

top related