201
cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 1 Alkalmazott optimalizálás és játékelmélet (Applied Optimisation and Game Theory) vitmd097 ― 2016 tavasz Rétvári Gábor retvari(a)tmit.bme.hu Cinkler Tibor cinkler(a)tmit.bme.hu Tapolcai János tapolcai(a)tmit.bme.hu Trinh Anh Tuan trinh(a)tmit.bme.hu Toka László, Biczók Gergely http://qosip.tmit.bme.hu/~retvari/VITMD097.html http://opti.tmit.bme.hu/~cinkler/optgame/2013/ https://www.vik.bme.hu/kepzes/targyak/VITMD097/ 0. alkalom 2016.II.16. 14:00-15:45 IE.219

Alkalmazott optimalizálás és játékelmélet (Applied

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 1

Alkalmazott optimalizálás és játékelmélet

(Applied Optimisation and Game Theory)vitmd097 ― 2016 tavasz

Rétvári Gábor retvari(a)tmit.bme.huCinkler Tibor cinkler(a)tmit.bme.hu

Tapolcai János tapolcai(a)tmit.bme.huTrinh Anh Tuan trinh(a)tmit.bme.hu

Toka László, Biczók Gergely

http://qosip.tmit.bme.hu/~retvari/VITMD097.htmlhttp://opti.tmit.bme.hu/~cinkler/optgame/2013/

https://www.vik.bme.hu/kepzes/targyak/VITMD097/

0. alkalom2016.II.16. 14:00-15:45 IE.219

Page 2: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 3

Számonkérés

• Március 15 kedd marad el idén• 2 ZH-t írunk:

Április 19 kedd

Május 17 kedd

• 1 vizsga:• V. 31. kedd 10:00 ?• Esetleg plussz 1

• Írásbeli és szóbeli• Jól megírt ZH segít a vizsgán

Page 3: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 6

Tematika• Célkitűzés:

– Bármilyen problémával is szembesülünk, célunk a legjobb megoldást/stratégiát találni. Ebben segít az optimalizálás és a játékelmélet. A tárgy keretei közt ismertetjük a jellegzetes matematikai optimalizálási módszereket és a játékelmélet alapjait, valamint néhány modellezési-, tervezési példán keresztül bemutatjuk azok alkalmazását is. Egy-egy mérnöki feladathoz a megfelelő modell megalkotása, egy áramkör/rendszer megtervezése, egy megoldó szoftver kialakítása és a megfelelő matematikai optimalizálási módszer, vagy a játékelméleti eszköz nem triviális alkalmazása új műszaki tudományos eredmények alapjául szolgál. E tárgy segíti doktoranduszainkat az alkalmazott matematikai módszerek megismerésében és ilymódon a kutatási feladataik színvonalas megoldásában, választott szakterületüktől függetlenül.

• Tematika:– Lineáris programozás– Nemlineáris programozás– Diszkrét (kombinatorikus) optimalizálás

• Egészértékű és bináris lineáris programozás• Általánosan alkalmazható optimalizáló heurisztikák

– Játékelmélet• Nash egyensúly• Kevert stratégiai játékok• Dinamikus játékok• Kooperatív játékok• Műszaki alkalmazások, esettanulmányok

Page 4: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 7

Alkalmazott optimalizálás és játékelmélet

(Applied Optimisation and Game Theory)vitmd097 ― 2016 tavasz

Dr. Cinkler Tiborcinkler()tmit.bme.hu

http://opti.tmit.bme.hu/~cinkler/optgame/2013/https://www.vik.bme.hu/kepzes/targyak/VITMD097/

1. alkalom2016.III.29. kedd 14:15 -15:45 IE.219

III.29., IV.5., IV.12.

Page 5: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 8

A tárgy II. részéről• 2004 őszén tartottuk először a tárgyat heti kétórásként ― játékelmélet nélkül• 2005 őszén heti 4 óra (kb 1/3-a játékelmélet) ― „tábla+kréta”• 2006 ősz heti 4 óra ― „ppt”• 2007 ősz heti 4 óra – ppt javítva, bővítve• 2009 tavasz – áttettük tavaszi félévbe, lesz egy hasonló tárgyunk az őszi félévben.• 2010 nem indult• 2011 tavasz indult ☺• 2012 tavasz rekordszámú jelentkezővel indult ☺ ☺

• 2013 tavasz 10 doktorandusz• 2014 tavasz 12 doktorandusz• 2015 tavasz 10 doktorandusz• 2016 tavasz 6 doktorandusz

Vázlat:Eddig volt a folytonos optimalizálás (Lineáris programozás), most jön:• 1. Diszkrét optimalizálás bevezetés és alapfogalmak• 2. Diszkrét optimalizálás módszertana• 3. Meta-heurisztikus módszerek• 4. ILP alapok és trükkök• 5. Nemlineáris problémák kezelése

Page 6: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 10

1. Diszkrét Optimalizálás Bevezetés és Alapfogalmak

• Bevezetés– Eddig folytonos → most diszkrét!

• Folytonos• Kevert (Mixed)• Diszkrét (Discrete)• Egészértékű (Integer)• Bináris (0/1 vagy 0-1) változók (Binary)• Ebből is a diszkrét általában a legbonyolultabb!

Néhány definició következik:• Alkalmazott (Applied)• Folytonos Optimalizálás (Continuous optimization)• Operáció Kutatás (Operations Research)• Diszkrét Optimalizálás (Discrete Optimisation)• Kombinatorikus Optimalizálás (Combinatorial Optimisation)

Page 7: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 11

Folytonos Optimalizáláshttp://en.wikipedia.org/wiki/Continuous_optimization

• Continuous optimization is a branch of optimization in applied mathematics. As opposed to discrete optimization, the variables used in the objective functioncan assume real values, e.g., values from intervals of the real line.

• Folytonos: – valós értékű változók a célfüggvényben

Page 8: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 12

Applied - Alkalmazotthttp://en.wikipedia.org/wiki/Applied_mathematics

• Applied Mathematics is a branch of mathematics that concerns itself with the mathematical techniques typically used in the application of mathematical knowledge to other domains.

• Alkalmazott: pl. mérnöki v. más területek problémáira

• Itt: hálózati folyamok elsősorban

Page 9: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 13

Operáció Kutatáshttp://en.wikipedia.org/wiki/Operations_research

• Operations research, operational research, or simply OR is an interdisciplinary science which deploys scientific methods like mathematical modeling, statistics, and algorithms to decision making in complex real-world problems which are concerned with coordination andexecution of the operations within an organization.

• Több matematikai terület alkalmazása döntéshozásnál, különböző műveletek megtervezésénél, végrehajtásánál.

Page 10: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 14

Diszkréthttp://en.wikipedia.org/wiki/Discrete_mathematics

• The word discrete comes from the Latin word discretus which means separate. • In discrete mathematics, without notion of continuity, a discrete set is a countable set; this concept is also

important for combinatorics, probability theory, and statistical theory. – Diszkrét elemek megszámlálható halmaza. Nem folytonos:

• In discrete mathematics and in theoretical computer science, the abstract world is usually modeled as a discrete space with discrete time.

• Discrete mathematics, also called finite mathematics, is the study of mathematical structures that are fundamentally discrete, in the sense of not supporting or requiring the notion of continuity. Most, if not all, of the objects studied in finite mathematics are countable sets, such as integers, finite graphs, and formal languages. (ami nem folytonos, pl. egész számok, gráfok, stb)

• Discrete mathematics has become popular in recent decades because of its applications to computer science. Concepts and notations from discrete mathematics are useful to study or describe objects or problems in computer algorithms and programming languages. In some mathematics curricula, finite mathematics courses cover discrete mathematical concepts for business, while discrete mathematics courses emphasize concepts for computer science majors.

• Diszkrét modell folytonos világra → mai számítógépek

• Algorithmics - a study of methods of calculation;

• http://en.wikipedia.org/wiki/Discrete_optimization• Discrete optimization is a branch of optimization in applied mathematics and computer science.• As opposed to continuous optimization, the variables used in the objective function (or some of them) are

restricted to assume only discrete values, such as the integers. Legalább 1 nem folytonos változó!• Problems of combinatorial optimization can be formulated in terms of discrete optimization, however

methods of their solution are often different.

Page 11: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 15

WikiPedia: Kombinatorikus Optimalizáláshttp://en.wikipedia.org/wiki/Combinatorial_optimization

• Combinatorics is a branch of mathematics that studies collections (usually finite) of objects that satisfy specified criteria.

– In particular, it is concerned with "counting" the objects in those collections (enumerative combinatorics),

– with deciding when the criteria can be met, with constructing and analyzing objects meeting the criteria (as in combinatorial designs and matroid theory),

– with finding "largest", "smallest", or "optimal" objects (extremal combinatorics and combinatorial optimization), and

– with finding algebraic structures these objects may have (algebraic combinatorics).

• Combinatorial optimization is a branch of optimization in applied mathematicsand computer science, related to operations research, algorithm theory and computational complexity theory that sits at the intersection of several fields, including artificial intelligence, mathematics and software engineering. Combinatorial optimization algorithms solve instances of problems that are believed to be hard in general, by exploring the usually-large solution space of these instances. Combinatorial optimization algorithms achieve this by reducing the effective size of the space, and by exploring the space efficiently.

Page 12: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 16

Folytonos → Diszkrét• Ha bináris és több változó is van,

akkor ennél (ábra) rosszabb a helyzet! → Sok dimenzió! (hiperkocka)

• Például 10 darab többtermékes egységnyi osztatlan folyamnak keresünk 0,99 kapacitású hálózatban max folyamot: 0 nulla lesz

• Ha folytonos esetben nézzük, és van 10 független út akkor 9,9 egységnyi folyamot kapunk...

• (Ha 11 út, akkor belefér az egész)

2 változó,Rácspontok -egészértékűekPiros nyíl a célfgv

Segít ha megoldjuk a folytonos problémát?

Page 13: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 17

Példa (1/4): Folytonos ↔ Diszkrét (LP ↔ ILP)

integer,,0,

1

73

93

:subject to

23max

2121

21

21

21

21

xxxx

xx

xx

xx

xx

≤+−

≤+

≤+

+ If we remove the integral constraint, the problem is transformed into a LP problem in Rn: its solution is x1=2.5 x2=1.5 cost = 10.5

Source: Pablo Pavon Marino, UPCT, Spain

Page 14: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 18

Példa (2/4): Folytonos ↔ Diszkrét (LP ↔ ILP)

integer,,0,

1

73

93

:subject to

23max

2121

21

21

21

21

xxxx

xx

xx

xx

xx

≤+−

≤+

≤+

+

Max 3x1+ 2x

2

-x1+ x

2< 1

x2

x1

3x1+ x

2< 9

x1+ 3x

2< 7

1

3

2

5

4

1 2 3 4 5 6 7

Optimum LP (2.5,1.5)

Source: Pablo Pavon Marino, UPCT, Spain

Page 15: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 19

Source: Pablo Pavon Marino, UPCT, Spain

Példa (3/4): Folytonos ↔ Diszkrét

integer,,0,

1

73

93

:subject to

23max

2121

21

21

21

21

xxxx

xx

xx

xx

xx

≤+−

≤+

≤+

+

x2

x1

1

3

2

5

4

1 2 3 4 5 6 7

The LP optimum (2.5,1.5)

Round the LP optimum?

“upwards”: (3,2) not feasible point

“downwards”: (2,1) feasible, benefit = 8

(3,2) not feasible

(2,1) feasible, benefit = 8

Is (2,1) the optimum solution???? NO!!!!

Page 16: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 20

Source: Pablo Pavon Marino, UPCT, Spain

Példa (4/4): Folytonos ↔ Diszkrét

integer,,0,

1

73

93

:subject to

23max

2121

21

21

21

21

xxxx

xx

xx

xx

xx

≤+−

≤+

≤+

+We solve the problem manually, just to check if the “rounding” strategy works:

x1 x2 benef1. 0 0 02. 1 0 33. 2 0 64. 3 0 9 5. 0 1 26. 1 1 57. 2 1 88. 1 2 7

x2

x1

1

3

2

5

4

1 2 3 4 5 6 7

Optimum LP (2.5,1.5)(2,1) feasible, benef=8

(3,0) feasible, benef=9

Page 17: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 21

LP→ILP• Standard form is the usual and most intuitive form of describing a

linear programming problem. It consists of the following three parts:• A linear function to be maximized

– e.g. maximize • Problem constraints of the following form

– e.g. ••

• Non-negative variables– e.g.

• The problem is usually expressed either in matrix or in canonical form, and then becomes:– maximize – subject to canonical form

Standard form

Page 18: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 22

maximize

subject to

Matrix fom

Page 19: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 23

LP→ILP• A célfüggvényben szerepelő változók: x1, x2 értelmezési tartománya

– x1, x2 ∈ R (valós szám) - folytonos– x1, x2 ∈{d1, d2, ...dN} (N darab tetszőleges diszkrét érték) - diszkrét– x1, x2 ∈N vagy x1, x2 ∈N0 vagy x1, x2 ∈Z vagy x1, x2 ∈Z+, stb. - egész – x1, x2 ∈{0,1} - bináris (vagy „nulla-egy”)– x1∈{0,1}, x2 ∈R - kevert – fentiek tetszőleges kombinaciója, jellemzően

folytonos és diszkrét változó is van

• integer programming (IP) or integer linear programming (ILP) • 0-1 integer programming (0-1 or 0/1 or Binary Programming )• mixed integer programming (MIP)

• A Tutorial on Integer Programming• http://mat.gsia.cmu.edu/orclass/integer/integer.html

• Az ILP csak egy a diszkrét optimalizálás eszköztárából: „Ágyúval lövünk a verébre”

Page 20: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 24

Globális Optimum vagy Approximáció?

• Bonyolultság elmélet

Computational complexity theory• http://en.wikipedia.org/wiki/Computational_complexity_theory

• Sztochasztikus (stochastic) (randomised) methods mostly

• Heuristics, meta-heuristics, generally applicable heuristics for global optimisation

• Empiric (tapasztalati)

Futási idő

Eredmény minősége

Page 21: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 25

A mohó algoritmus is adhat globális optimumot?

• Pl. Matroidok• Pl. Kruskal és Prim algoritmus feszítő fákra• Problémafüggő• Mohó módszer, iteratívan részmegoldásokon át a teljesig.• ILP-vel is lehet, hisz mindent lehet ILP-vel, de nincs értelme, mert

sokkal bonyolultabb mint a mohó!• „Testreszabottan” a legjobb!

7

3

89

3

3

2

6

1 31

9

83

215

4

3

3

3

7

3

89

3

3

2

6

1 31

9

83

215

4

3

3

3

Page 22: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 26

Approximációhttp://en.wikipedia.org/wiki/Approximation

An approximation is an inexact representation of something that is still close enough to be useful. Although approximation is most often applied to numbers, it is also frequently applied to such things as mathematical functions, shapes, and physical laws. http://en.wikipedia.org/wiki/Approximation_theory

Fontos: Tudjuk-e bizonyitani, hogy legfeljebb mennyire vagyunk az optimumtól?– Pl.: 1.5-aproximation, k-approximation– Alsó és felső korlát – jó ha szűk! (ILP: Alsó és felső korlát – gap

csökkentés: Rétvári Gábor elmondta)

Page 23: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 27

k-approximation

• Mennyire tudjuk egy approximációs algoritmussal közelíteni a tényleges célfügvény optimumát?

• Relatív „közelíthetőségi” küszöb: k– k�Opt ≤ f(x) ≤ Opt, ha k<1– Opt ≤ f(x) ≤ k �Opt, ha k>1

• Abszolut közelíthetőségi küszöb: c(abszolut hiba korlátja egy approximációnak)

– Opt-c ≤ f(x) ≤ Opt + c

Page 24: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 28

Sztochasztikushttp://en.wikipedia.org/wiki/Stochastic

• Stochastic, from the Greek "stochos" or "goal", means of, relating to, or characterized by conjecture and randomness. A stochastic process is one whose behavior is non-deterministic in that the next state of the environment is partially but not fully determined by the previous state of the environment.

• An antonym is astochastic, because its being one ispredicated on having an opposite.

• Nem determinisztikus

• Conjecture – sejtés, feltevés• Antonym – ellenkező értelmű szó

Page 25: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 29

Randomisedhttp://en.wikipedia.org/wiki/Randomization

• http://en.wikipedia.org/wiki/Random_sample: A random sample is one chosen by a method involving an unpredictable component.

• http://en.wikipedia.org/wiki/Applications_of_randomness

Page 26: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 30

Heurisztikahttp://en.wikipedia.org/wiki/Heuristic

• A heuristic is a replicable method or approach for directing one's attention in learning, discovery, or problem-solving. It is originally derived from the Greek "heurisko" (ευρίσκω, the verb from which Archimedes's (287 -212 BC Syracuse, Sicily) famous exclamation of "eureka" was derived ), which means "I find". The term was introduced in the 4th century AD by Pappus of Alexandria.

• Lexical note: The name of the topic is heuristic (not "heuristics"); a particular technique of directing your attention toward discovery is a heuristic, two or more of these are heuristics, and the adjective for "pertaining to how something is discovered" is heuristic.

• The mathematician George Pólya popularized heuristics in the mid–20th century in his book, How to Solve It (Princeton University Press. ISBN 0-691-08097-6 ).

• Two fundamental goals in computer science are finding algorithmswith provably good run times and with provably good or optimalsolution quality. A heuristic is an algorithm that gives up one or both of these goals; for example, it usually finds pretty good solutions, but there is no proof the solutions could not get arbitrarily bad; or it usually runs reasonably quickly, but there is no argument that this will always be the case.

Archimedes-féle csavar(vízemelő gép)

Magyar vonatkozás!

Page 27: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 31

Pólya György: How to solve it?• 1887 Budapest – 1985 Palo Alto• It suggests the following steps when solving a mathematical problem:• First, you have to understand the problem. • After understanding, then make a plan. • Carry out the plan. • Look back on your work. How could it be better? • If this technique fails, Pólya advises: "If you can't solve a problem, then there is an easier problem

you can solve: find it."[2] Or: "If you cannot solve the proposed problem, try to solve first some related problem. Could you imagine a more accessible related problem?"

Page 28: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 32

Metaheurisztikahttp://en.wikipedia.org/wiki/Metaheuristic

• A metaheuristic is a heuristic method for solving a very general class of computational problems by combining user given black-box procedures — usually heuristics themselves — in a hopefully efficient way. The name combines the Greek prefix "meta" ("beyond", here in the sense of "higher level") and "heuristic" (from ευρισκειν, heuriskein, "to find").

• Metaheuristics are generally applied to problems for which there is no satisfactory problem-specific algorithmor heuristic; or when it is not practical to implement such a method. Most commonly used metaheuristics are targeted to combinatorial optimization problems, but of course can handle any problem that can be recast in that form, such as solving boolean equations.

Page 29: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 33

Néhány (meta)heurisztikus módszer példahttp://en.wikipedia.org/wiki/Metaheuristic:• Brute-force search (exact) Exhaustive Search• Branch and bound (exact) • Random optimization• Local search• Greedy algorithm and hill-climbing• Random-restart hill climbing• Best-first search• Simulated annealing, Threshold Accepting• Quantum annealing• Ant colony optimization• Tabu search• Genetic algorithms• GRASP• Swarm intelligence• Stochastic Diffusion Search• Generalized extremal optimization• Reactive search• STAGE• Számtalan variációja és kombinációja a fentieknek• Stb.

Page 30: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 34

Empirical

• http://en.wikipedia.org/wiki/Empirical• ...use of working hypotheses that are

testable using observation or experiment. In this sense of the word, scientific statements are subject to and derived from our experiences or observations.

Page 31: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 35

2. Diszkrét Optimalizálás

• állapottér (S) (state space)– az összes i állpot halmaza

• állapot (i) (rész vagy teljes)(state)

• szomszédosság (N(i)) (neighbour)– Nem mindig adott

– Sok módon értelmezhető

• célfüggvény (F(i): S→R) – (objective function)

• korlátok (kényszerek - constraint)

• lokális és globális optimum

i

N(i)

j

k

l

m

Page 32: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 36

„Állapottér robbanás”• satate space explosion, satate explosion

• Mekkora az állapottér?• 10 binaris valtozó: 210 állapot = 1 024• 20 binaris valtozó: 220 állapot = 1 048 576• 30 binaris valtozó: 230 állapot = 1 073 741 824

Állapottér robbanás: • Hozzáveszünk egy új változót egy polinom idejű, egy exponenciális és egy

faktoriális algoritmushoz, megtöbbszöröződik a futási idő:• 105 = 100 000 < 115 = 161 051 (polinomiális)• 105 = 100 000 << 106 = 1 000 000 (exponenciális)• 10! = 3 628 800 << 11! = 39 916 800 (faktoriális)

<< 20! ∼ 2.4×1018 = 2.4 quadrillion

• 10, 11 vagy 20 ! állapottér → 1s<<11s<<10 000 év kiértékelési idő

Page 33: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 37

Legegyszerűbb approximáció: Dekompozíció

Példa:• polinom ideju algoritmus, ötödik hatvány, 10

változóra 105 (x5) komplexitás• exponenciális idejű algoritmus, 10 változóra 1010

(10x) komplexitás

• dekomponalva tízszer 1 illetve kétszer 5 valtozóra:

10·15 = 10 << 55+55 = 6250 << 105 = 100 000 (polinom)10·101 = 100 << 2·105 = 200 000 << 1010 = 10 000 000 000 (exp)

Page 34: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 38

Hátizsák ProblémaKnapsack Problem

• 14 „kapacitású” „hátizsák”• 8, 11, 6 és 4 „értékű” „tárgyak”• Melyek térfogata 5, 7, 4 és 3

• Egészértékű és bináris változat5 7 4 38 11 6 4

14

Page 35: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 39

original problem:(IP) maximise cx

subject to Ax ≤ b

x ≥ 0 and integer

linear relaxation:(LR) maximise cx

subject to Ax ≤ b

x ≥ 0

B&B – Example(Branch & Bound)

• The optimal objective value for (LR) is greater than or equal to (max !!!) the optimal objective for (IP).

• If (LR) is infeasible then so is (IP).• If (LR) is optimised by integer variables, then that solution is feasible and optimal for (IP).• If the cost coefficients c are integer, then the optimal objective for (IP) is less than or equal to

the “round down” of the optimal objective for (LR).

Forrás: M. Pióro

Page 36: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 40

B&B - knapsack problem• maximise 8x1 + 11x2 + 6x3+ 4x4

• subject to 5x1 + 7x2 + 4x3 + 3x4 ≤ 14xj ∈ {0,1} , j=1,2,3,4

• (LR) solution: x1 = 1, x2 = 1, x3 = 0.5, x4 = 0, z = 22– no integer solution will have value greater than 22

Fractional

z = 22

x3 = 0

Fractional

z = 21.65

x3 = 1

Fractional

z = 21.85

add the constraint to (LR)

x1 = 1, x2 = 1, x3 = 0, x4 = 0.667 x1 = 1, x2 = 0.714, x3 = 1, x4 = 0

Forrás: M. Pióro

Page 37: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 41

• we know that the optimal integer solution is not greater than 21.85 (21 in fact: c are integer)

• we will take a subproblem and branch on one of its variables- we choose an active subproblem (here: not chosen before)- we choose a subproblem with highest solution value

B&B example cntd.Fractional

z = 22

x3 = 0

Fractional

z = 21.65

x3 = 1

Fractional

z = 21.85

x1 = 1, x2 = 0, x3 = 1, x4 = 1 x1 = 0.6, x2 = 1, x3 = 1, x4 = 0

x3 = 1, x2 = 0

Integer

z = 18

INTEGER

x3 = 1, x2 = 1

Fractional

z = 21.8

no further branching, not active

Forrás: M. Pióro

x1 = 1, x2 = 0.714x3 = 1, x4 = 0

Page 38: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 42

B&B example cntd.Fractional

z = 22

x3 = 0

Fractional

z = 21.65

x3 = 1

Fractional

z = 21.85

x1 = 0, x2 = 1, x3 = 1, x4 = 1 x1 = 1, x2 = 1, x3 = 1, x4 = ?

x3 = 1, x2 = 0

Integer

z = 18

INTEGER

x3 = 1, x2 = 1

Fractional

z = 21.8

x3 = 1, x2 = 1, x1 = 0

Integer

z = 21

INTEGER

x3 = 1, x2 = 1, x1 = 1

Infeasible

INFEASIBLE

there is no better solution than 0111, z=21: fathom

Referencia

Etalon

Mérték

optimal

Forrás: M. Pióro

x1 = 0.6, x2 = 1x3 = 1, x4 = 0

Page 39: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 43

Alkalmazott optimalizálás és játékelmélet

(Applied Optimisation and Game Theory)vitmd097 ― 2016 tavasz

Dr. Cinkler Tiborcinkler()tmit.bme.hu

http://opti.tmit.bme.hu/~cinkler/optgame/2013/https://www.vik.bme.hu/kepzes/targyak/VITMD097/

2. alkalom2015.III.29 kedd 16:00-17:30 IE.219

Page 40: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 44

B&B Összefoglalva: Ugyanez a probléma itt is: http://mat.gsia.cmu.edu/orclass/integer/node13.html

The essence of the algorithm is as follows: 1. Solve the linear relaxation of the problem. If the solution is integer, then we are

done. Otherwise create two new subproblems by branching on a fractional variable.

2. A subproblem is not active when any of the following occurs: – You used the subproblem to branch on,– All variables in the solution are integer,– The subproblem is infeasible,– You can fathom the subproblem by a bounding argument.

3. Choose an active subproblem and branch on a fractional variable. Repeat until there are no active subproblems.

• Depending on the type of problem, the branching rule may change somewhat. For instance, if x is restricted to be integer (but not necessarily 0 or 1), then if x=4.27 your would branch with the constraints x≤4 and x≥5 (not on x=4 and x=5).

• Ha jól csináljuk exact ha nem approximáció!

Page 41: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 46

Teljes- és Rész-megoldások

• Probléma• Modell• Megoldó módszer

– Mohó, ILP, nem-determinisztikus, stb.– Teljes megoldások állapottere

• Pl. feszítőfa-problémánál ha minden csúcsot bekötöttünk a fába• B&B-nél a teljes érvényes vagy érvénytelen megoldást levélnek

(leaf) hívják, az addig talált legjobb érvényest INCUMBENT-nek

– Részmegoldások sorozata (ez is egy állapottér...)• Pl. hátizsák-problémánál minden részmegoldás lehet teljes is• Iteratív kiegészítgetéssel haladunk

Page 42: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 47

3. Néhány „meta-heurisztikus” módszer

ÁllapottérSzomszédosságCélfüggvényKorlátokLeállási kritériumok (max iteráció?)Konvergál?Eddigi legjobbhoz, vagy előbbi állapothoz viszonyít?Milyen elfogadási kritériumot használ?

i

N(i)

j

k

l

m

Page 43: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 48

3.1 Exhaustive Search (Kimerítő keresés)

• Brute-force („Nyers erő” módszere)• Az állapottér szisztematikus bejárása• Egy állapotot sem hagyunk ki• A legjobbat mindig eltároljuk• Egzakt (exact) (globálisan optimális) megoldás• Trükkök: szisztematikusan kizárható egy-egy

része a térnek heurisztikus/empirikus szabályok alapján– Példa: http://en.wikipedia.org/wiki/Computer_chess– Ügyesen kizárjuk a tér részeit, különben valós időben

nem menne...

Page 44: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 49

Pl.: Sakk• 264 ami sok!• Shannon, 1950, sakkautomaták:

– Type A: "brute force search”• 3-3 lépés előre – átlag 306 (>700 000 000)• Sorrend változások – még több...

– Type B: strategic AI (Artificial Intelligence)• Állapottér csökkentés• Csak „jó” lépések felé mélyed el

2006 nov-dec: Vladimir Kramnik(világbajnok)-Deep Fritz= 2-4.

GNU Chess

Chessmaster

Shannon

Garry Kasparov vs. Deep Blue, 1997

Page 45: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 50

0-1 Hátizsákunk kimerítő keresése

• xj ∈ {0,1} , j=1,2,3,4• x ∈ {{0,0,0,0}, {0,0,0,1}, {0,0,1,0}, {0,0,1,1},

{0,1,0,0}, {0,1,0,1}, {0,1,1,0}, {0,1,1,1}, {1,0,0,0}, {1,0,0,1}, {1,0,1,0}, {1,0,1,1},{1,1,0,0}, {1,1,0,1},{1,1,1,0}, {1,1,1,1}}

• 16 lehetőség, de bármely két elem belefér, de mind a négy már nem – ez vagy más szabályok alapján korlátozhatunk – szürkével jelölve

• NP-complete (NP-teljes)• Egy a „Karp's 21 NP-complete problems” közül.

5 7 4 38 11 6 4

14

Page 46: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 51

Karp's 21 NP-complete problemshttp://en.wikipedia.org/wiki/Karp’s_21_NP-complete_problems

• 1972, Richard Karp, "Reducibility Among Combinatorial Problems"

Pl. Knapsack NP-complete mert Exact Covert erre redukálták

Page 47: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 52

3.2. Elágazás-korlátozás (B&B ) http://en.wikipedia.org/wiki/Branch_and_bound

• Branch-and-Bound• Egzact módszer (lehet approximáció is)• Állapottér részeinek kizárása• Először A. H. Land és A. G. Doig javasolták a módszert

1960-ban LP-re.• 2 „eszköz” kell az Elágazás-korlátozás módszerhez

– Ágazás (Branching): Az értelmezési tartomány rekurzív felbontása al-tartományokra melyek lefedik az egész tartományt

• Ez fát alkot: search tree vagy branch-and-bound-tree

• A fa csomópontjai az egyes tartományoknak felelnek meg– Korlátozás (Bounding): Egy altartományon belül az optimális

megoldásra felső és alsó korlátot talál

Page 48: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 53

Elágazás-korlátozás (B&B)• Ha pl. minimalizálunk

– Ha A tartomány alsó küszöbe nagyobb mint bármely egyéb B tartomány felső küszöbe, akkor A tartomány biztos kihagyható (pruning) „levágjuk” a fa adott ágát és az esedékes tartományban finomítjuk a keresést

– Pl. egy m változóval tároljuk mindig az altartományok legkisebb felső korlátját és minden altartományt melynek az alsó korlátja nagyobb – elvetünk

– Ha átfedés van ezen intervallumok közt, nem vetjük el, hanem kiértékeljük

– Ha minden állapotot kiértékeltünk vagy elvetettünk vége van az eljárásnak

– Leállítható előbb is ha pl: error criterium = (max-min)/(min+max)elér valamilyen érték alá

• Nagyon jól kell megválasztani a 2 függvényt (alsó és felső küszöb)– Legrosszabb esetben kimerítő kereséssé válik �– CPLEX, LP_SOLVE, GLPK, ... (LEMON)

Page 49: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 54

Node selection policies

• Best-first or global-best node selection: choose the bud node that has the best value of the bounding function anywhere on the branch-and-bound tree. If we are minimizing, this means choosing the bud node with the smallest value of the bounding function; if maximizing choose the bud node with the largest value of the bounding function.

• Depth-first: choose only from among the set of bud nodes just created. Choose the bud node with the best value of the bounding function. Depth-first node selection takes you one step deeper into the branch-and-bound tree at each iteration, so it reaches the leaf nodes quickly. This is one way of achieving an early incumbent solution. If you cannot proceed any deeper into the tree, back up one level and choose another child node from that level.

• Breadth-first: expand bud nodes in the same order in which they were created.

Page 50: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 55

Pruning a bud node

• you can show that no descendent will be feasible, or – varies with the specific problem – E.g., constraints (e.g., capacity)

• you can show that no descendent will be optimal– if the bud node bounding function value is

worse than the objective function value for the incumbent

Page 51: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 56

Példa http://www.sce.carleton.ca/faculty/chinneck/po/Chapter12.pdf

• 4 ember• 4 feladat• 16 teljesítési idő• 4! = 24 állapot• n! Ha n pár van...

Page 52: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 57

B&B formulation• Meaning of a node in the branch and bound tree: a partial or complete

assignment of persons to tasks. For example, a complete assignment ACBD represents the assignment of person A to task 1, person C to task 2, etc.

• Node selection policy: global best value of the bounding function.

• Variable selection policy: choose the next task in the natural order 1 to 4.

• Bounding function: for unassigned tasks, choose the best unassigned person, even if that person is chosen more than once. This is a relaxation of the original problem in which each person can do exactly one task.

• Terminating rule: when the incumbent solution objective function value is better than or equal to the bounding function values associated with all of the bud nodes.

• Fathoming: the “solution” generated by the bounding function is feasible if every task is assigned to a different person.

Page 53: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 58

Minimalizálunk: alsó korlát becsléseThe bounding function value is calculated as follows:

• Actual value associated with assigning A to task 1: 9.

• Best unassigned person for task 2 is C, value: 1.

• Best unassigned person for task 3 is D, value: 2.

• Best unassigned person for task 4 is C, value: 2.

• The bounding function “solution” is ACDC, with total cost = 9+1+2+2=14. At this point we know that the very best objective function value that we might find at a leaf node descended from A??? is 14.

• Since person C is repeated, this is not a feasible solution, so the node is not fathomed.

• Note that person A is actually assigned, so we will not see A repeated in the bounding function calculations at this node or at any of the descendent nodes.

Page 54: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 59

1. fázis

• “solution” generated by the bounding function at the root node

• Dashed: Pruned• Solid: Feasible• Solid + Dashed: Feasible

but pruned

Page 55: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 60

2. fázis• Az első feladatot hozzárendeljük

A, B, C vagy D-hez

• C: fathomed• Therefore A pruned• Two bud (rügy) nodes (promise

of improving):– B??? with a bounding function

value of 9 and – D??? with a bounding function

value of 8

Page 56: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 61

3. fázis

• Global best node selection policy:– Choose D

• No new feasilble solution: – Incumbent unchanged

• BCDC=9 is the best among:– BCDC=9– DACC=12– DBCC=10– DCAA=12

Page 57: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 62

4. fázis

• two new fathomed nodes: BA?? and BC??

• BC?? Better than current incumbent– It replaces the incumbent– Old incumbent pruned

• BA?? Pruned, because it is worse then the current incumbent

• node DB?? Remains the only bud node

Page 58: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 63

5. fázis• expansion of DB?? to two child

nodes. Both of these are feasible since once the first 3 persons are chosen, the only unassigned person is assigned to the final task, producing a feasible solution.

• The newly produced solution DBAC has a better objective function value than the incumbent, and so replaces it and prunes the old incumbent.

• The other newly created solution, DBCA, is pruned by comparison with the new incumbent.

• At this point there are no bud nodes remaining for possible expansion, so we stop.

• The final solution is given by the current incumbent: DBAC with a minimum total time of 11 minutes for the assignment.

Page 59: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 64

Elágazás-korlátozás alkalmazása

• Több NP-nehéz problémára használják• Számos heurisztikus elemet tartalmaz

– Knapsack problem– Integer programming– Nonlinear programming (see this for non-convex

programming) – Traveling salesman problem (TSP) – Quadratic assignment problem (QAP) (négyzetes költség fgv)

– Maximum satisfiability problem (MAX-SAT)

Page 60: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 65

3.3. Random Sampling: „véletlen” módszerek

• véletlen „rálövünk sörétes puskával”• Minden állapot kiválasztásának

valószínűsége azonos• „Elég sok” minta alapján „van remény”,

hogy találunk „elég jó” megoldást• Ismétlés előfordul - kizárandó

Page 61: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 66

3.4. RR: Randomised Rambling Céltalan (Véletlen) Bolyongás

• Más néven: "Random walk" vagy "drunkard's walk" http://en.wikipedia.org/wiki/Random_walk

• Azonos valószínűséggel fogad el minden szomszédos állapotot, hogy abból lépjen tovább)

• Nagyon kiindulópont függő

Page 62: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 67

Példa: 1D Random Walkhttp://en.wikipedia.org/wiki/Random_walk

• Részegesen előre lépkedve 45º-ban balra vagy jobbra lépünk

• 8 ilyen „séta” első 100 lépése• Aszimptotikusankonvergál:• Ahol n a lépések száma

Page 63: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 68

Analógia: Brown-i mozgáshttp://en.wikipedia.org/wiki/Brownian_motion

Robert Brown botanikus nyomán32, 256 és 2048 lépésenként

1000 lépés 2D-ben

Page 64: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 69

Analógia: Brown-i mozgás (folytatás)

• Elég kis lépésekkel lépkedve a céltalan bolyongás (véletlen séta) közelíti a Brown-i mozgást– Lépésméret: ε– Séta hossza: L/ε2

– Brown-i úthossz: L– Központi határeloszlás tétel szerint

http://en.wikipedia.org/wiki/Central_limit_theorem

Page 65: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 70

Alkalmazott optimalizálás és játékelmélet

(Applied Optimisation and Game Theory)vitmd097 ― 2016 tavasz

Dr. Cinkler Tiborcinkler()tmit.bme.hu

http://opti.tmit.bme.hu/~cinkler/optgame/2013/https://www.vik.bme.hu/kepzes/targyak/VITMD097/

3. alkalom2016.IV.5. kedd 14:15 -15:45 IE.219

III.29., IV.5., IV.12.

Page 66: Alkalmazott optimalizálás és játékelmélet (Applied

ZH1: Április 19. kedd 14:00

ZH2: Május 17. kedd 14:00

Vizsga: Május 31. kedd 10:00

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 71

Page 67: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 72

Példa: 0-1 Hátizsákunk– szomszédossági gráf –

{0,0,0,0}

{0,0,0,1} {1,0,0,0}{0,1,0,0}{0,0,1,0}

{0,1,1,1} {1,1,1,0}{1,1,0,1}{1,0,1,1}

{1,1,1,1}

{0,0,1,1} {1,0,0,1}{0,1,1,0}{0,1,0,1} {1,0,1,0} {1,1,0,0}

• Ürestől a teljes állapot felé• Mindegyik állapotnak

4-3-2-1 szomszédja van

5 7 4 38 11 6 4

14

Page 68: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 73

Példa: 0-1 Hátizsákunk– szomszédossági gráf –

{0,0,0,0}

{0,0,0,1} {1,0,0,0}{0,1,0,0}{0,0,1,0}

{0,1,1,1} {1,1,1,0}{1,1,0,1}{1,0,1,1}

{1,1,1,1}

{0,0,1,1} {1,0,0,1}{0,1,1,0}{0,1,0,1} {1,0,1,0} {1,1,0,0}

Teljestől az üres állapot felé – ezesetben ez a gyorsabb!– előre becsülhető

Page 69: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 74

Példa: 0-1 Hátizsákunk– szomszédossági gráf –

{0,0,0,0}

{0,0,0,1} {1,0,0,0}{0,1,0,0}{0,0,1,0}

{0,1,1,1} {1,1,1,0}{1,1,0,1}{1,0,1,1}

{1,1,1,1}

{0,0,1,1} {1,0,0,1}{0,1,1,0}{0,1,0,1} {1,0,1,0} {1,1,0,0}

• Tetszőleges kiindulás• Mindkét irányba léphetünk (fel le)• Így már nehezebb lokális optimumban elakadni• Mindenkinek 4 szomszédja van

Page 70: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 75

Random Walk típusai és alkalmazásaihttp://en.wikipedia.org/wiki/Random_walk

• Típusai – valamennyi a múltat veszi valahogy figylembe:– The self-avoiding walk. Neal Madras and Gordon Slade (1996), The Self-

Avoiding Walk, Birkhäuser Boston. ISBN 0-8176-3891-1– The loop-erased random walk. See the two books of Lawler. – The reinforced random walk. – The exploration process.

• Alkalmazásai:– In brain research, random walks and reinforced random walks are used to model

cascades of neuron firing in the brain. – Random walk can be used to sample from a state space which is unknown or

very large, for example to pick a random page off the internet or, for research of working conditions, a random illegal worker in a given country.

– When this last approach is used in computer science it is known as Markov Chain Monte Carlo or MCMC for short. Often, sampling from some complicated state space also allows one to get a probabilistic estimate of the space's size. The estimate of the permanent (olyasmi mint determináns) of a large matrix of zeros and ones was the first major problem tackled using this approach.

– In wireless networking, random walk is used to model node movement. – Random walk is used to model gambling. – During World War II a random walk was used to model the distance that an

escaped prisoner of war would travel in a given time. – Stb.

Page 71: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 76

3.5. Local SearchHelyi (szomszédossági) keresés

http://en.wikipedia.org/wiki/Local_search_(optimization)

• Ez egy csoportja a módszereknek• Iteratív lépkedés szomszédos állapotba

– Ezért helyi (local)

• Ha nem véletlenül, hanem irányítottan mozog a szomszédossági (N) gráfban

• Csak lokális optimumot keres

• Hegymászás a legjellemzőbb példa – ha maximumot keresünk

Page 72: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 77

3.6. Hegymászás (Hill-climbing)http://en.wikipedia.org/wiki/Hill-climbing

• simple hill climbing (first better neighbour)• steepest ascent hill climbing (the best neighbour)• Folytonos téren (continuous space)

– Gradiens módszer megfelelője• gradient ascent (or gradient descent if the function is minimized)

• Csak lokális optimumot talál! Ezellen:– Random-restart hill climbing (Shotgun hill climbing ) (3.7. lesz)– stochastic hill climbing

• A „lépés méretét” állítják• „If the step size scales as 1/T (where T is the number of gradient

steps taken so far), then stochastic gradient descent is guaranteed to converge”

– random walks– Stb.

Page 73: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 78

Gradiens módszer

• Mindig a legmeredekebb irányban halad (fel vagy le)

• Szomszédossági keresésre is általánosítható

Page 74: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 79

3.7. Véletlen újraindítású hegymászáshttp://en.wikipedia.org/wiki/Random-restart_hill_climbing

• Hegymászás → lokális optimum• Iteratív ismétlés véletlen kiinduló-ponttal• Mindig a legjobb célfüggvényű állapotot

tároljuk• Meglepően hatékony• Gyors és nem kell az állapottér ismerete

Page 75: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 80

3.8. Mohó Algoritmus (Greedy Algorithm)

http://en.wikipedia.org/wiki/Greedy_algorithm

• Jellemzően részmegoldásokon át → teljes megoldásig• Pl: Feszítő fa: Példa Kruskal, Prim• (m sorbarendezése + O(m+log n) m él és n csomópont)• Spanning Tree (minimum összköltségű feszítőfa):

– mohó algoritmusok (említeni matroidokat) • (Joseph) Kruskal’s Algorithm (1956-ban, sokan mások is előtte és vele

egyidőben ) (AMO 520. oldal), Proceedings of the American Mathematical Society, pp. 48–50, mindig a

legolcsóbb élet teszi be, O(E log E) • improved Kruskal algorithm: O(E α(V)) α-Ackermann function• Prim’s algorithm (Robert C. Prim, 1957), O(Elog V), Fibonaccival O(E

+ Vlog V)

• Kruskal és Sollin mohón teszi be az éleket. • Prim mohón fát épít. (pl. Fibonacci Heap-pel.)

Page 76: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 81

Mohó algoritmus példák

• 41 USD centet kell visszaadni, úgy, hogy a legkevesebb darab érmét adjuk vissza (25, 10, 5, 1)

• Ez hasonlít a súlyozatlan egészértékű hátizsák problémára

• A számrendszerek közti átalakítás is hasonlóan működik (pl 1310→ 11012)

Page 77: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 82

0-1 hátizskproblémánk mohón― súlyozatlan eset ― példa+

• Martello és Toth (1990)• ha optimálisan k elem férne be legalább k/2-t tesz

be a mohó algoritmus• 14 „kapacitású” hátizsák

– 8, 11, 6 és 4 értékű „tárgyak”– 5, 7, 4 és 3 térfogatú tárgyak

• Súlyozatlan mohó módszer:– 1. lépés: 7 térfogatú: {0,1,0,0}– 2. lépés: 5 térfogatú: {1,1,0,0}– 3. lépés: 4 nem fér be, 3 sem fér bele

• Eredmény:– 14-ből csak 12 egységnyi kapacitást használtunk ki– {0,1,1,1} optimumhoz képest 19 a haszon (21 helyett)

5 7 4 38 11 6 4

14

Page 78: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 83

0-1 hátizskproblémánk mohón― súlyozatlan eset ―

{0,0,0,0}

{0,0,0,1} {1,0,0,0}{0,1,0,0}{0,0,1,0}

{0,1,1,1} {1,1,1,0}{1,1,0,1}{1,0,1,1}

{1,1,1,1}

{0,0,1,1} {1,0,0,1}{0,1,1,0}{0,1,0,1} {1,0,1,0} {1,1,0,0}

5 7 4 3

14

Page 79: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 84

0-1 hátizskproblémánk mohón― súlyozott eset ― példa++

• 14 „kapacitású” hátizsák– 8, 11, 6 és 4 értékű „tárgyak”– 5, 7, 4 és 3 térfogatú tárgyak– 1.6, 1.57, 1.5, 1.33 haszon egységnyi térfogatra

• Súlyozott mohó módszer:– 1. lépés: 5 térfogatú: {1,0,0,0}– 2. lépés: 7 térfogatú: {1,1,0,0}– 3. lépés: 4 nem fér be, 3 sem fér bele

• Eredmény:– 14-ből csak 12 egységnyi kapacitást használtunk ki– {0,1,1,1} optimumhoz képest 19 a haszon 21 helyett– Ugyanaz mint súlyozatlan esetre!

5 7 4 38 11 6 4

14

Page 80: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 85

0-1 hátizskproblémánk mohón― súlyozott eset ―

1000 → 1100 {0,0,0,0}

{0,0,0,1} {1,0,0,0}{0,1,0,0}{0,0,1,0}

{0,1,1,1} {1,1,1,0}{1,1,0,1}{1,0,1,1}

{1,1,1,1}

{0,0,1,1} {1,0,0,1}{0,1,1,0}{0,1,0,1} {1,0,1,0} {1,1,0,0}

Page 81: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 86

Optimalitás• unbounded knapsack = egészértékű, azaz minden elemből

akárhány berakható• George Dantzig proposed a greedy approximation algorithm to

solve the unbounded knapsack problem.[9]• His version sorts the items in decreasing order of value per unit

of weight, vi / wi. • It then proceeds to insert them into the sack, starting with as

many copies as possible of the first kind of item until there is no longer space in the sack for more.

• Provided that there is an unlimited supply of each kind of item, if m is the maximum value of items that fit into the sack, then the greedy algorithm is guaranteed to achieve at least a value of m / 2.

• However, for the bounded problem, where the supply of each kind of item is limited, the algorithm may be far from optimal.

• http://en.wikipedia.org/wiki/Knapsack_problem

Page 82: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 87

Állapottércsökkentés• http://en.wikipedia.org/wiki/Knapsack_problemDominance relations in the UKP• Solving the unbounded knapsack problem can be made

easier by throwing away items which will never be needed. • For a given item i, suppose we could find a set of items J such

that their total weight is less than the weight of i, and their total value is greater than the value of i. Then i cannot appear in the optimal solution, because we could always improve any potential solution containing i by replacing i with the set J.

• Therefore we can disregard the i-th item altogether. In such cases, J is said to dominate i.

• Note that this does not apply to bounded knapsack problems, since we may have already used up the items in J !

• Types of Dominance: Collective dominance, Threshold dominance, Multiple dominancem, Modular dominance

Page 83: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 88

Utazóügynök probléma ― példa+++

• Travelling salesman problem (TSP) http://en.wikipedia.org/wiki/Traveling_salesman_problem

• "Given the distances between any two points, what is the shortest route a salesman can make from point A, visiting all points, and returning to point A? This is the Travelling Salesman problem, an NP-Hard problem in mathematics."

The nearest neighbour algorithm was one of the first algorithms used to determine a solution to the travelling salesman problem. In it, the salesman starts at a random city and repeatedly visits the nearest city until all have been visited. It quickly yields a short tour, but usually not the optimal one.

Page 84: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 89

Mohó algoritmus TSP-re:Nearest neighbour algorithm

http://en.wikipedia.org/wiki/Nearest_neighbor_algorithm

• The nearest neighbor algorithm, which is normally fairly close to the optimal route, and does not take too long to execute. Rosenkrantz et al. [1977] showed that the nearest neighbour algorithm has approximation factor Θ(log | V | ). Unfortunately, it is provably reliable only for special cases of the TSP, namely those where the triangle inequality is satisfied. In the general case, there exists an example for which the nearest neighbor algorithm gives the worst possible route. In practice this heuristic provides solutions which are in average 10 to 15 percent above the optimal.

• An example of the nearest neighbor algorithm finding the worst case path would be to travel along a line, starting at 0, to alternating negative and positive powers of 2 minus 1, therefore, from 0,1,-3,7,-15,31,-63... (2n − 1)( − 1)n.

• unique worst possible tour: G. Gutin, A. Yeo and A. Zverovich, 2002

0 1-3 7-15 31-63

Page 85: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 90

3.9. Szimulált Lehűtés(Simulated Annealing)

• http://en.wikipedia.org/wiki/Simulated_annealing• Kezdőállapot• Szomszédok (érvényes állapotok) • Célfüggvény: energiafüggvény• Kezdőhőmérséklet• Hűtési fgv. • (TSP-nél: hurokhossz is kell) • bináris és integer stringre, majd TSP problémára, ahol az

állapotteret ügyesen tudjuk tartani: csak érvényesből érvényes állapotba!! Permutációkat keresünk. (PioroPPT 2. rész, 34-37 slide)

• Bizonyítás hogy optimális• Knapsack és TSP problémára példa• Túlhűtött víz példa: http://indavideo.hu/video/_Vizbol_jeg_kiserlet

Kirkpatrick, S.; Gelatt, C. D.; Vecchi, M. P. (1983). "Optimization by Simulated Annealing". Science 220 (4598): 671–680.

Page 86: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 91

Simulated Annealing

• uphill moves are permitted but only with a certain (decreasing) probability (“temperature” dependent) according to the so calledMetropolis test

• neighbours are selected at random

Combinatorial Optimisation Problem

given a finite set S (solution space) and evaluation function F : S →→→→ R

find i ∈∈∈∈ S minimizing F(i)

ΝΝΝΝ(i) ⊆⊆⊆⊆ S - neighbourhood of a feasible point (configuration) i∈∈∈∈ S

Forrás: Michal Pióro

Page 87: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 92

P (elfogadás)

∆E=Ek-Ek-1

SA: Új állapot „elfogadása”

Pk(elfogadás) = min { 1, exp (- ∆E / Tk) }Tk= α • Tk-1α < 1

Forrás: www.wacker.com/cms/media/images/picture_gallery/pressrelease/siltronic_ingot.jpg

Si ingotP (elfogadás)

∆E=Ek-Ek-1

Ek jobb mint Ek-1

Ek rosszabb mint Ek-1Minimalizálunk: Ek>Ek-1

1

0.5

Page 88: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 93

Simulated Annealing - algorithm

begin

choose an initial solution i∈ S;select an initial temperature T > 0; while stopping criterion not true

count := 0;while count < L

choose randomly a neighbour j∈Ν(i); ∆E:= E(j) - E(i);if ∆E ≤ 0 then i := j

else if random(0,1) < exp (-∆E / T) then i := j;count := count + 1

end while;reduce temperature (T:= T×α), α<1

end while

end

Metropolis test

Forrás: M. Pióro

Page 89: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 94

SA Pseudocode

Page 90: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 95

SA Variációk• Lehet az állapot-váltás elfogadására különböző

szabályokat használni• Különböző hűtési stratégiák• Újrahűtögetjük (fűrészfog))• Adaptívvá tesszük:

– Empirikus– Adaptív hűtési stratégia, lépésméret stb.– http://en.wikipedia.org/wiki/Adaptive_simulated_annealing

– Very Fast Simulated Reannealing (VFSR) 1989– ASA 1993 (VFSR-ből lett - átnevezés) ingyen

• Paraméterek automatikus hangolása

– Nem a hőt, hanem a lépésméretet csökkentjük:• http://en.wikipedia.org/wiki/Quantum_annealing

• QA• véletlen szomszéd• tunneling field strength T – szomszéd

szomszédjának szomszédja is jöhet, ha jobb mint a jelenlegi – szomszédosság „sugara” (rádiusz)

Page 91: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 96

QA: Egy HW implementáció• Photograph of a chip constructed by D-Wave Systems

Inc., mounted and wire-bonded in a sample holder. The D-Wave processor is designed to use 128 superconducting logic elements that exhibit controllable

and tunable coupling to perform operations.

the first commercial quantum annealer

http://en.wikipedia.org/wiki/Quantum_annealing

the first operational commercial quantum computer?

Page 92: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 97

• A megengedhető energia különbséget nézzük:– http://en.wikipedia.org/wiki/Stochastic_tunneling (STUN)

• nem hőmérséklet, hanem energiakülönbség alapján!

• Véletlen állapotba ugrik, nem szomszédba• Transformáció:

• http://en.wikipedia.org/wiki/Parallel_tempering• http://en.wikipedia.org/wiki/Differential_evolution (Inkább genetikus

algoritmus mint SA...)

• Definició szerint SA minimalizál!

SA Variációk

Page 93: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 98

Simulated Annealing - limit theorem

• limit theorem: global optimum will be found• for fixed T, after sufficiently large number of steps:

– Prob { X = i } = exp(-F(i)/T) / Z(T)– Z(T) = Σj∈S exp(-F(j)/T)– Markov process– Ergodic, statistical equilibrium, Boltzmann distribution– Prob { X = i } is the probability that the process is in state i

• for T→0, Prob { X = i } remains greater than 0 only for optimal configurations i∈S

this is not a very practical result:too many moves (number of states squared) would haveto be made to achieve the limit sufficiently closely

Soure: M. Pióro book, pg. 171-172

Page 94: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 99

SA 0-1 hátizsákunkra

• Szomszéd: Melyik tárgyat tesszük be vagy vesszük ki

• Energia-változás: összköltség az előbbi állapothoz képest

• Lehet binárisan is reprezentálni:

1 010 0 111.....

5 7 4 38 11 6 4

14

Page 95: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 100

SA a 0-1 hátizsák problémára• Véletlen pontból indul, mindig 1

szomszédot vizsgál• Energia?• Érvényes állapotok? {0,0,0,0}→0

{0,0,0,1} →4 {1,0,0,0} →8{0,1,0,0} →11{0,0,1,0} →6

{0,1,1,1} →21 {1,1,1,0} →25{1,1,0,1} →23{1,0,1,1} →18

{1,1,1,1} →29

{0,0,1,1} {1,0,0,1}{0,1,1,0}{0,1,0,1} {1,0,1,0} {1,1,0,0}10 15 17 12 14 19

Page 96: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 101

ILP megoldás SA-val

• Hasonlóan lehet ILP-t is megoldani SA-val– Célfüggvény, korlátok kezelése (ellenőrzés vagy bünti)

• Sőt folytonos problémákra is lehet SA-t használni (GA-nál részletezzük)

• maximise 8x1 + 11x2 + 6x3+ 4x4

• subject to 5x1 + 7x2 + 4x3 + 3x4 ≤ 14xj ∈ {0,1} , j=1,2,3,4

• maximise 8x1 + 11x2 + 6x3+ 4x4

• subject to 5x1 + 7x2 + 4x3 + 3x4 ≤ 140 ≤ xj ≤ 1, j=1,2,3,4

Page 97: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 102

Simulated Annealing applied to the Travelling Salesman Problem (TSP)

Combinatorial Optimisation Problem

given a finite set S (solution space) and evaluation function F : S →→→→ R

find p ∈∈∈∈ S minimizing F(p),

ΝΝΝΝ(p) ⊆⊆⊆⊆ S - neighbourhood of a feasible point (configuration) p ∈∈∈∈ S

TSP

S = { p : set of all cyclic permutations of length n with cycle n }

p(i) - city visited just after city no. i

F(p) = ∑∑∑∑ i=1,2,:,n cip(i) ( cip(i) - distance between city i and p(i) )

ΝΝΝΝ(p) - neighbourhood of p (next slide)

Forrás: M. Pióro

Page 98: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 103

SA: TSP„szomszéd”• Hamilton körből → Hamilton kör• permutáció

ABCD ║ EFGH ║ I → ABCD ║ HGFE ║ I

A B

C

D

EF

G

H

IABCDHGFEI

A B

C

D

EF

G

H

I

ABCDEFGHI

p: q∈∈∈∈N(p):

Page 99: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 104

3.10. Küszöbértékes elfogadás (Threshold Accepting)

• (Greate Deluge – Nagy Özönvíz)– Ha az addig talált legjobb értékhez viszonyítunk

• Javított "local search" • Determinisztikus szabály az új állapot

elfogadására SA-val szemben mely valószínűség alapú (véletlenszerű)!

Gustave Doré - The Holy Bible - Plate I, The Deluge.jpghttp://en.wikipedia.org/wiki/File:Gustave_Dor%C3%A9_-_The_Holy_Bible_-_Plate_I,_The_Deluge.jpg

Page 100: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 105

3.11. Tabu Search• http://en.wikipedia.org/wiki/Tabu_search• Memóriával (emlékezettel) rendelkezik• A szomszédosságot dinamikusan állítja! („N-T”)• Mi a tabu (T)? („taboo”→tabu)

– látogatott állapotok („steepest ascent, mildest descent”)– módosítás típus

• Mekkora a tabu lista = 7 ☺, • Mi a megállási feltétel? (többszintű tabu kritérium,

memóriával (tapasztalatot gyűjt)) • Példa SiAn Metropolis TSP-re: élek a tabulistában (n lépésen

át nem nyúlunk egy betett élhez)– Irodalom:

• Glover, F. and M. Laguna. (1997). Tabu Search. Kluwer, Norwell, MA. • Glover, F. "Tabu Search — Part I", ORSA Journal on Computing 1989 1: 3, 190-

206. • Glover, F. "Tabu Search — Part II", ORSA Journal on Computing 1990 2: 1, 4-32.

Page 101: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 106

Hogyan jut ki a lokális optimumból?

• „steepest ascent, mildest descent”• Legmeredekebben javít...• Leglankásabban ront...

Page 102: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 107

Alkalmazott optimalizálás és játékelmélet

(Applied Optimisation and Game Theory)vitmd097 ― 2016 tavasz

Dr. Cinkler Tiborcinkler()tmit.bme.hu

http://opti.tmit.bme.hu/~cinkler/optgame/2013/https://www.vik.bme.hu/kepzes/targyak/VITMD097/

4. alkalom2016.IV.5. kedd 16:00 -17:30 IE.219

III.29., IV.5., IV.12.

Page 103: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 109

3.12. Genetic Algorithm• Genetic (Evolutionary) Algorithms• kromozóma, genotipus (példa: facility location problems)• Szóba-jövő megoldások: individuals, creatures, or

phenotypes• Populáció → Generációk• fázisok:

1. fitness kiértékelés a populáció minden egyedére2. szülőválasztás (párválasztás);selection

– roulette wheel selection– tournament selection

3. kereszteződés (1 pont, 2pont, uniform stb), 1-2 utód (offspring); recombination

• crossover (genetic algorithm) n-pontos v. cut-and-splice4. mutáció (1 pont, 2 pont(szakasz))

– mutation5. új nemzedék (populáció - nemzedék) részben vagy teljesen új

egyedek, rögzített populációméret)

Page 104: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 110

GA variációk• Rengeteg változat

– Változó populációméret– A legjobb az előző generációból szerepel az újban– Stb.

• Elosztottan is implementálható• Folytonos probléma globális optimumának keresése diszkrét

heurisztikákkal, pl. GA (Zbigniew könyv 18-20 oldal) végigvenni!• Integer és Diszkrét visszavezetése binárisra - abszolut (egy érték

egy változó és kizárásos korlátok) Példát mutatni!• Integer visszavezetése binárisra - inkrementálisan (kettes

számrendszerben felírva, mázli ha pont kettő hatványa)• Bakteriális algoritmus → bacterial mutation of clones + gene transfer

(J. Botzheim, P. Soproni)• The Distributed Genetic Programming Framework (DGPF)

http://dgpf.sourceforge.net/• GENOCOP http://www.cs.adelaide.edu.au/~zbyszek/evol-

systems.html

Charles Darwin (1809–82) 208 éve született!

Page 105: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 111

Példa ha integer, diszkrét ill. folytonos• Ha integer, pl. [0-7] akkor

– Az egyes string mezőkbe nem 0/1 írunk, hanem 0-7– Vagy 3 biten ábrázoljuk: 000, 001, ..., 111 (3 db 0-1 változó)

• Ha diszkrét, akkor – Az egyes string mezőkbe nem 0/1 írunk, hanem a diszkrét értékeket– Vagy mindegyikhez egy bináris változót rendelünk. (pl hátizsákunk)

• Ha folytonos akkor binárisan reprezentáljuk kivánt pontosságig– Egy példa

Page 106: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 112

Egy példa: folytonos egyváltozós GA optimalizálás

• 6 tizedesnyi pontosságig

Source:• GA (Zbigniew book pp. 18-20)

Page 107: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 113

Mutation:

Cross-over:

The best chromosome after 150 iterations

Page 108: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 114

Leállási feltételek

• Common terminating conditions are– A solution is found that satisfies minimum criteria – Fixed number of generations reached – Allocated budget (computation time/money) reached – The highest ranking solution's fitness is reaching or

has reached a plateau such that successive iterations no longer produce better results

– Manual inspection – Combinations of the above

Page 109: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 115

GA történelem• Computer simulations of evolution started with Nils Aall Barricelli in 1954.

Barricelli was simulating the evolution of automata that played a simple card game. The Australian quantitative geneticist Alex Fraser published a series of papers on simulation of artificial selection of organisms with multiple loci controlling a measurable trait. From these beginnings, computer simulation of evolution by biologists became more common in the early 1960s, and the methods were described in books by Fraser and Burnell (1970) and Crosby (1973). Many early papers are reprinted by Fogel (1998).

• Although Barricelli had also used evolutionary simulation as a general optimization method, genetic algorithms became a widely recognized optimization method as a result of the work of John Holland in the early 1970s, and particularly his 1975 book. His work originated with studies of cellular automata, conducted by Holland and his colleagues at the University of Michigan. Research in GAs remained largely theoretical until the mid-1980s, when The First International Conference on Genetic Algorithms was held at The University of Illinois. As academic interest grew, the dramatic increase in desktop computational power allowed for practical application of the new technique. In 1989, The New York Times writer John Markoff wrote about Evolver, the first commercially available desktop genetic algorithm. Custom computer applications began to emerge in a wide variety of fields, and these algorithms are now used by a majority of Fortune 500 companies to solve difficult scheduling, data fitting, trend spotting and budgeting problems, and virtually any other type of combinatorial optimization problem.

Page 110: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 116

3.13 Differential Evolutionhttp://en.wikipedia.org/wiki/Differential_evolution

• Storn, R.; Price, K. (1997). "Differential evolution - a simple and efficient heuristic for global optimization over continuous spaces". Journal of Global Optimization 11: 341–359. doi:10.1023/A:1008202821328.

• population of candidate solutions (called agents)• Crossover: combine the positions of existing

agents from the population y = a + F(b-c), where a, b and c are three agents

• F: Differential weight• NP: Population size• CR: Crossover probability

Page 111: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 117

DE Algorithm

• CR: e valószínséggel döntjük el, hogy egy adott dimenzió mentén változtatunk-e az értéken• NP: hány darab ügynököt kezelünk egyszerre• F: Milyen súlyjal változtatunk az egyes dimenziók mentén.

Page 112: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 118

DE Parameter Selectionhttp://en.wikipedia.org/wiki/Differential_evolution

• Performance landscape showing how the basic DE performs in aggregate on the Sphere and Rosenbrock benchmark problems when varying the two DE parameters NP and F, and keeping fixed CR=0.9.

Page 113: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 119

3.14. Best First Search• http://en.wikipedia.org/wiki/Best-first_search

– Gráfbejárásra – a legigéretesebb csomópontot terjeszti ki iteratívan• BFS változatok

– Greedy BFS– Beam search (en.wikipedia.org/wiki/Beam_search) (lower memory requirement)

• Szűkebb vagy szélesebb „nyalábban” járja be a gráfot

– A* (‘A star’) search algorithm (en.wikipedia.org/wiki/A*_search_algorithm)• extension of: Edsger Dijkstra's 1959 algorithm

BFS Algorithm:OPEN = [initial state]while OPEN is not emptydo

1. Remove the best node from OPEN, call it n. 2. If n is the goal state, backtrace path to n (through recorded parents) and return path. 3. Create n's successors. 4. Evaluate each successor, add it to OPEN, and record its parent.

done

Page 114: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 120

3.14.c A*• Hart, P. E.; Nilsson, N. J.; Raphael, B. (1968). "A Formal Basis for the Heuristic Determination of Minimum Cost Paths".

IEEE Transactions on Systems Science and Cybernetics SSC4 4 (2): 100–107. doi:10.1109/TSSC.1968.300136

• f(x) = g(x) + h(x)– g(x) x tényleges távolsága a forrástól– h(x) heurisztikus/empirikus becslés – pl ha a szomszédai közelebb vannak, jobban szeretjük

A*

Weighted A*- gyors- csak közeít

Page 115: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 121

3.15. Tarts a győztessel!GWW: Go with the Winner

• n golyó együtt jobb mint nx1 golyó egyenként!• Kölcsönhatások• Példa: Gráfbejárás (Bárász Mihály)

• “Go with the winners” algorithmsAldous, D.; Vazirani, U.Foundations of Computer Science, 1994 Proceedings., 35th Annual Symposium onVolume , Issue , 20-22 Nov 1994 Page(s):492 - 501

• Summary: We can view certain randomized optimization algorithms as rules for randomly moving a particle around in a state space; each state might correspond to a distinct solution to the optimization problem, or more generally, the state space might express some other structure underlying the optimization algorithm. In this setting, a general paradigm for designing heuristics is to run several simulations of the algorithm simultaneously, and every so often classify the particles as “doing well” or “doing badly”, and move each particle that is “doing badly” to the position of one that is “doing well”. In this paper, we give a rigorous analysis of such a “go with the winners” scheme in the concrete setting of searching for a deep leaf in a tree. There are two relevant parameters of the tree: its depth d, and another parameter κ which is a measure of the imbalance of the tree. We prove that the running time of the “go with the winners” scheme (to achieve 99% probability of success) is bounded by a polynomial in d and κ. By contrast, the simple restart scheme: run several independent simulations and pick the deepest leaf encountered takes time exponential in κ and d in the worst-case. We also show that any algorithm that guarantees a constant probability of success must have worst case running time at least κd.

Page 116: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 122

Multi-objective GWW

• http://resources.metapress.com/pdf-preview.axd?code=qgqf0rrt3g8x8ayf&size=largest

• Multi-objective Go with the Winners Algorithm: A Preliminary Study

• Carlos A. Brizuela and Everardo Gutiérrez

Single-objective:• Go with the Winners Strategy in Path Tracing• László Szirmay-Kalos, György Antal, Mateu Sbert• http://www.fsz.bme.hu/~szirmay/gowin2.pdf

Page 117: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 123

3.16. GRASP• http://en.wikipedia.org/wiki/Greedy_randomized_adaptive_search_pr

ocedure• GRASP Greedy Randomised Adaptive Search Procedure

(Pioro könyv 178, (Feo-Resende 1995-ben javasoltak)) • Eddigi módszerek kombinációi, pl:

– Gennetic Annealing (GA + SA)– GRASP: Initial solution in greedy way + Improvement in randomised way

iteratively• Iterative, two-phase approach:

– Construction (Greedy Randomized Solution, via a very simple and fast method)

– Improvement (via Local Search or other more sophisticated method)• Például (1.SiAl + 2. SiAn)

• GRASP consists of two phases: construction and local search. – The construction phase builds good feasible solutions (a set of satisfied

clauses), – whose neighbourhood is investigated until a local optimum is found during the

local phase. The best total weight of satisfied clauses is kept as the result.)

Page 118: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 124

3.17. STAGE• STAGE function approximator, 2 local searches (példa: sinx/x) (Lőrincz András,

Ziegler Gábor)• Ahol lehet rekurzivan közelíteni, pl hátizsak!• Ahol van rendszer az állapottérben• Néhol remekül működik!• Hatékonysága sokmindentől függ!• Két példa:

– Latest Results with STAGE :• http://www.cs.cmu.edu/~reinf/papers/boyan.stage-talk.ps• local copy: BoyanSTAGEtalk.pdf

– Learning to Speed Up Search:• http://www.cs.cornell.edu/~weiwei/workshop-aaai02-new.ppt• local copy: STAGE_workshop-aaai02-new.ppt

Global quadratic regressionand greedy approach

Page 119: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 125

www.cs.cmu.edu/~reinf/papers/boyan.stage-talk.ps

Page 120: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 126

STAGE Algorithm

Page 121: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 127

3.18. Dynamic Programming• Rekurzió• http://en.wikipedia.org/wiki/Dynamic_programming• Példák:• Legrövidebb út választás• Hátizsák problémára pl. • Rugalmas forgalmas (ElasticTraffic) algoritmus is egy DynProg• „Principle of optimality” egy adott állapotban az optimalitás feltétele, hogy jó

következő döntést kell hozni az adott állapotban.• Dynamikus programozás bináris hátizsák problémára: komplexitás O(nb) ha a

hasznok egységnyiek, azonban O(n Sum_n pi) ahol pi az egyes i elemek által hozott haszon) ami legfeljebb O(n2pmax)

• Pseudopolynomial time algorithm (but not polynomial!) a lépések száma ugyan polinom idejű, de függ a haszontól! Elvileg a pi költség reprezentálására t=log pi bitre van szükség. Azaz 2t szám reprezentálható t bittel. (Ausiello et al. Complexity and Approximation 69-74) Tehát a komplexitás legfeljebb O(n22t)

• Ausiello et al. Complexity and Approximation 114-116 pseudo-polynomiality Definition 3.15.

• Példa, mikor approximációt használunk a bemeneti értékek átskálázására, és megmutatjuk, mikor lesz a polinom időben kapott eredmény valóban optimális is. (Ausiello et al.) (pl. ha 5 a LKO-ja mind a tárgyak mind a zsák méretének)

• Szemben a mohó módszerrel, DP minden iterációban újra meg újra figyelembe veszi a régi állapotokat is!

Page 122: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 129

Legrövidebb utak:Dynamic Programming ötlete

• L.A.Wolsey: Integer Programming, 1998 WiIley, (67-80 oldal szépen leírja – itt ezt használjuk)

• Ha az s-t legrövidebb út áthalad j-n akkor s-j és j-t a legrövidebb utak s és j valamint j és t között

• d(sj)=mini∈N(j){d(si)+d(ij)}• Negatív összköltségű körtől

mentes irányított gráfra• k-ra iterálva (1,2,�|V|-1)• Dk(sj)=min{Dk-1(sj), mini∈N(j){Dk-1(si)+d(ij)} }• Lépésszám: O(|V||E|)

s j ti

Page 123: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 130

Legrövidebb út DP-vel

Iteráció Költség az adott csomóponttól t-igs 1 2 3 t

0 100 100 100 100 01 100 100 10 17 02 32 20 10 15 03 30 18 10 15 04 26 18 10 15 0

s

1 2

t

3

8

14

10

53

1715

Dk(sj)=min{ Dk-1(sj), mini∈N(j) {Dk-1(si)+d(ij)} }

http://books.google.hu/books?hl=en&lr=&id=WWWDkd65TdYC&oi=fnd&pg=PR11&dq=Dijkstra+Dynamic+programming&ots=MQI0pF_jzM&sig=lOGUjk8567j7CxIW7bnmkOKy2AI&redir_esc=y#v=onepage&q=Dijkstra%20Dynamic%20programming&f=true

Page 124: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 131

Dynamic Programming

• Knapsack problem (appears in many ND applications)– maximize F = r1x1 + r2x2 + ... + rnxn

– subject to w1x1 + w2x2 + ... + wnxn ≤ Wx1,x2,...,xn binary

• Linear relaxation is straightforward to solve• NP-complete becuase problem size is O(n log W) • A hátizsák mérete w nő 1-től W-ig!• Az iterációk száma k nő 1-től n-ig (n: változók száma)• F*( k, w ) = max { F*( k–1, w ), F*( k–1, w–wk ) + rk }

– F*(0,w) = 0 for all w, F*(k,w) = -∞ for all k and w < 0– start from F*(1,1) and continue until F*(n,W)– time: nW Forrás: M. Pióro

Page 125: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 132

Dynamic Programming - example

w= (1, 2, 5, 6, 7)

r = (1, 6, 18, 22, 28)

Optimal objectives in knapsack subproblems

k \ w 0 1 2 3 4 5 6 7 8 9 10 11

1 w1=1, r1=1 0 1 1 1 1 1 1 1 1 1 1 12 w2=2, r2=6 0 1 6 7 7 7 7 7 7 7 7 73 w3=5, r3=18 0 1 6 7 7 18 19 24 25 25 25 254 w4=6, r4=22 0 1 6 7 7 18 22 24 28 29 29 405 w5=7, r5=28 0 1 6 7 7 18 22 28 29 34 35 40

w= (1, 2, 5, 6, 7) tárgyak mérete

r = (1, 6, 18, 22, 28) tárgyak értéke

Optimal objectives in knapsack subproblems

k \ w 0 1 2 3 4 5 6 7 8 9 10 11

1 w1=1, r1=1 0 1 1 1 1 1 1 1 1 1 1 12 w=2, r =6 0 1 6 7 7 7 7 7 7 7 7 73 w=5, r =18 0 1 6 7 7 18 19 24 25 25 25 254 w=6, r =22 0 1 6 7 7 18 22 24 28 29 29 405 w=7, r =28 0 1 6 7 7 18 22 28 29 34 35 40

k \ w 0 1 2 3 4 5 6 7 8 9 10 11

W=11 méretű hátizsák

n=5 darab tárgy

Forrás: M. Pióro

F*(k,w) = max { F*(k-1,w), F*(k-1,w-wk) + rk }F*(5,10) = max { F*(4,10), F*(4, 10-7) + 28 }

Hátizsákméretnövelés w →

Iterálás k →

Page 126: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 133

Alkalmazott optimalizálás és játékelmélet

(Applied Optimisation and Game Theory)vitmd097 ― 2016 tavasz

Dr. Cinkler Tiborcinkler()tmit.bme.hu

http://opti.tmit.bme.hu/~cinkler/optgame/2013/https://www.vik.bme.hu/kepzes/targyak/VITMD097/

5. alkalom2016.IV.12. szerda 14:15-15:45 IE.219

Page 127: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 134

3.19. Simulált foglalás

• Simulated Allocation és típusai • Michał Pióro• Példák:

– Hátizsák– Folyamproblémák

• Minden él egy hátizsák• Egyszerre több hátizsákot pakolunk

• Ha üres csak allokálunk, egy szint után már törlünk is.

• Adaptívan, ismételve, csoportok törlése...

Page 128: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 135

SiAl - pseudocode

begin

step:= 0; min_cost:= +∞; x:= 0;repeat

step:= step+1;

if random<q(x) then allocate(x) else disconnect(x);

if |x|<L and current_cost < min_cost then

begin min_cost:= current_cost; x_opt:= x end

until step=step_limit or min_cost=cost_lower_bound

end

Forrás: M. Pióro

Page 129: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 136

SiAl a 0-1 hátizsák problémára• üresből indul, • mindig 1 szomszédot vizsgál• Fel vagy le?• ha érvényes el is fogadja

{0,0,0,0}→0

{0,0,0,1} →4 {1,0,0,0} →8{0,1,0,0} →11{0,0,1,0} →6

{0,1,1,1} →21 {1,1,1,0} →25{1,1,0,1} →23{1,0,1,1} →18

{1,1,1,1} →29

{0,0,1,1} {1,0,0,1}{0,1,1,0}{0,1,0,1} {1,0,1,0} {1,1,0,0}10 15 17 12 14 19

Mikor konvergál?

Page 130: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 137

SiAl változatai

• Csoportokat törlünk– Pl. Nem egy utat hanem utak csoportját töröljük– Pl. egy élet használó össz utat

• Újraindítgatás

Példa:• Networks 2002: Cinkler, Pióro: Impact of

Shared Protection Strategies on Network

Design Networks2002_TopDes_td11.ppt

Page 131: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 138

3.20. Raj (Swarm Inteligence: SI)

• Halak, bacik, rovarok (hangya, méh), madarak• Kollektív viselkedés decentralizált önszerveződő rendszerekben• http://en.wikipedia.org/wiki/Swarm_intelligence• Beni, Hackwood & Wang in 1989• Használata: pl. Számítógépes grafikában játékokban

– Tim Burton: Batman Returns pingvinek mozgása– Peter Jackson: Lord of the Rings csatajelenetek

• Artificial Intelligence– ACO: Ant colony optimization

• Amerre jár, feromont tesz, és amerre feromon van arra jár– PSO: Particle swarm optimization

• Egy-egy pont a térben, és affelé mozognak szórtan, amelyik a legjobb, a legrosszabb mozog leggyorsabban

– SDS: Stochastic Diffusion Search• Szétbontjuk a célfüggvényt, és egy-egy elosztott ügynök egy-egy részt képvisel

– RFD: River formation dynamics folyómeder kialakulása– CSS: Charged System Search– IWD: Intelligent Water Drops– Méhecske, denevér, imunrendszer, stb analógiák

Page 132: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 139

http://www.mta.hu/index.php?id=634&no_cache=1&backPid=417&begin_at=10&tt_news=10952&cHash=4bcf6824d3

• Innovatív verebek• 2009.05.19.• Nagyobb csapatokban gyakoribb és gyorsabb a problémamegoldás – ezt igazolták házi verebeken végzett

kísérletükkel Liker András és Bókony Veronika, a veszprémi Pannon Egyetem kutatói. Eredményeiket az amerikai tudományos akadémia folyóirata, a PNAS közölte.

•• A cikk adatai:

Liker, A., & Bókony, V. (2009). Larger groups are more successful in innovative problem solving in house sparrows Proceedings of the National Academy of Sciences (DOI:10.1073/pnas.0900042106). www.pnas.org/content/106/19/7893.abstract

••• A képen egy hatfős verébcsapat négy tagja látható a kísérletben. A zöld festéssel jelölt hím madár egy már kinyitott lukból

táplálkozik, a többi madár a fedelek felnyitásával próbálkozik.• A csapatos élet számos jól ismert előnnyel jár az állatok számára, például csoportban könnyebb elkerülni a ragadozókat vagy

táplálékot találni. A két kutató azt az eddig kevésbé vizsgált elképzelést tesztelte, hogy a csapatosság az új, ismeretlen kihívásokkal való megbirkózás során is előnyös lehet, mivel a nagyobb csoportok nagyobb eséllyel tartalmazhatnak olyan egyedeket, akik találékonyságuk vagy tapasztaltságuk révén meg tudják találni a megfelelő megoldást. A kísérletben vadon befogott házi verebekből 2 és 6 fős csoportokat hoztak létre, és miután hozzászoktatták őket egy különleges etető használatához, egy-egy átlátszó fedéllel bezárták az etető nyílásait. A tesztek során a nagy csoportok négyszer annyi fedőt nyitottak fel, és 11-szer gyorsabban nyitották ki az elsőt, mint a kis csoportok. Ezáltal a nagy csoportok tagjai hétszer gyorsabban jutottak hozzá aznapi első táplálékukhoz, mint a kis csoportok tagjai, azaz minden csapattag profitált az innovatív társak eredményességéből. A nagyobb verébcsoportok tehát méretükhöz képest aránytalanul sikeresebbek voltak a problémamegoldásban, ami meglepően hasonlít a logikai feladatok elé állított embercsoportoknál tapasztalt eredményekhez. Ráadásul a városi verebek innovatívabbak voltak, mint a vidékiek, ami arra utal, hogy a csapatos élet különösen a változatos vagy gyorsan átalakuló élőhelyeken jelenthet előnyt a problémamegoldásban.

• Liker András a veszprémi Pannon Egyetem Limnológia Tanszékének docense. Doktori fokozatát a Debreceni Egyetemen szerezte 1998-ban, azóta egyetemi oktatóként dolgozik és viselkedésökológia, evolúcióbiológiai kutatásokat végez madarakon. Bókony Veronika a Szent István Egyetemen szerzett alkalmazott zoológusi diplomát, majd 2006-ban doktori fokozatot, jelenleg posztdoktor kutatóként dolgozik a Pannon Egyetem Limnológia Tanszékén. Fő kutatási területük az élőhelyek városiasodása: házi verebeken vizsgálják az urbanizációnak a madarak viselkedésére és egészségi állapotára gyakorolt hatásait.

Page 133: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 140

3.21. Hangyák (Ant Colony Optimisation)

• http://en.wikipedia.org/wiki/Ant_colony_optimization

• Marco Dorigo [Dor92,DoSt04]• Elsősorban útkeresés gráfokban• Hangyás módszerek (elosztott, feromon, stb.)

– ants (initially) wander randomly– upon finding food return to their colony while laying down pheromone

trails– If other ants find such a path, they are likely not to keep traveling at

random, but to instead follow the trail, returning and reinforcing it if they eventually find food (Ant communication and behavior). Pozitív visszacsatolás.

– A feromon párolog! (pheromone evaporates)• Leállási feltételek: lépésszám, idő, felhasznalói megszkítás, eltelt

idő vagy lépés az utolsó javítástól• Alkalmazása:

– Dinamikus hálózaton útvonalválasztási problémákra jó• Pl. közúti szállítmányozás dugó-kerüléssel

– TSP

Page 134: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 141

3.22. További heurisztikák

• Random restarts (RSA: Re-Applied SiAn)• Adaptivitás (ASA: Adaptive SiAn)• Iteratív (dinamikus programozás)• Korlátok kezelése: büntetőfüggvény (lineáris-nem jó,

convex és növekvő meredekségű legyen)• Dekompozíció• Kizárás, állapottérszűkítés• Fontos: elvileg járhassa be az egész állapotteret• Megfelelő kezdőpont kiválasztása!• Több célfüggvény → súlyozott átlag• Korlát vagy célfüggvény - együttműködés

Page 135: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 142

3.23. NFLTheoremhttp://en.wikipedia.org/wiki/No-free-lunch_theorem

• http://www.no-free-lunch.org/• no-free-lunch theorem (NFLT) • by physicists David H. Wolpert and William G. Macready

1995, 1997• 32 oldalas cikk:

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.95.7770&rep=rep1&type=pdf

• "[...] all algorithms that search for an extremum of a cost function perform exactly the same, when averaged over all possible cost functions." (Wolpert and Macready, 1995)

• "there ain't no such thing as a free lunch" • (nincs olyan, hogy ingyen leves)• Statisztikailag (sok problámára átlagolva) egyformák

Page 136: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 143

NFLT• "a general-purpose universal optimization strategy is

theoretically impossible, and the only way one strategy can outperform another is if it is specialized to the specific problem under consideration" (Ho and Pepyne, 2002)

• http://www.no-free-lunch.org (idézetek)• An illustration of the no-free-lunch theorem, showing the

performance of a highly specialized algorithm (red) and a general-purpose one (blue). Note that both algorithms perform — on average — equally well as they are applied to different problems.

Page 137: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 144

NFL Theorem

Theorem: For any pair of algorithms a1 and a2

In essence, this says that when all functions f are equally likely, the probability of observing an arbitrary sequence of m values in the course of search does not depend upon the search algorithm. Theorem 2 establishes a "more subtle" NFL result for time-varying objective functions.

Where YX is the set of all objective functions f:X→Y, where X is a finite solution space and Y is a finite poset (partially ordered set). The set of all permutations of X is J. A random variable F is distributed on YX. For all j in J, F o j is a random variable distributed on YX, with P(F o j = f) = P(F = f o j–1) for all fin YX.

Page 138: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 146

4. ILP vagy LP? Hálózati folyamproblémák

• Legrövidebb út• Legolcsóbb folyam• Legolcsóbb osztatlan folyam• Többtermékes folyam

– Mikor LP az ILP?– „Rezegtetés” ε élsúlyokkal– Relaxálás – kerekítés

• Védelem• maximise 8x1 + 11x2 + 6x3+ 4x4

• subject to 5x1 + 7x2 + 4x3 + 3x4 ≤ 14xj ∈ {0,1} , j=1,2,3,4

• (LR) solution: x1 = 1, x2 = 1, x3 = 0.5, x4 = 0, z = 22– no integer solution will have value greater than 22

5 7 4 38 11 6 4

14

Optimum: z = 21x1 = 0, x2 = 1, x3 = 1, x4 = 1

Page 139: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 147

Dijkstra shortest path algorithm (1959)

• explained here for directed unigraphs • l(i,j) - length of arc (i,j)∈E, l(i,j)= ∞ for (i,j)∉E, l(i,j) > 0 (!)• node labelling algorithm

– l(i) - temporary label of node i– l*(i) - permanent label of node i

• the algorithm (finds shortest paths from s to all other nodes):

step0: set l*(s)=0 and l(i)=l(s,i) for all i∈Vstep1: among all temporary labels l(i) pick

l(k) = min { l(i): i∈V }change l(k) to l*(k); stop if there is no temporary label left

step2: update all temporary labels of the nodes i with (k,i)∈E for all i byl(i) = min { l(i), l*(k) + l(k,i) }

return to step1.

remark: to retrieve the paths, the permanent node labels should containthe number of the node, from which the labelled one has been reached

Forrás: M. Pióro

Page 140: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 148

Illustration of theDijkstra’s Shortest Path Algorithm

Page 141: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 149

Complexity of the Dijkstra’s Shortest Path Algorithm

• Number of Edges E• Number of Vertices V• O(E+V2) simplest implementation• O(V2) for sparse graphs• O((E+V) log V) with binary heap• O( E+V log V ) with Fibanacci heap

Page 142: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 150

Legrövidebb út LP

• Folytonos LP!

k

ij

for all vertices (nodes) i

∑∈Ll

lxmin

sink theis if

source theis if

sink nor sourceneither is if

1

1

0

11i

i

i

xxN

k

ki

N

j

ij

=− ∑∑==

bxl ≤≤0 for all edges (arcs) (links) l

Shortest Path

1

Page 143: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 151

(Legrövidebb) legolcsóbb folyamLP (immár kapacitással)

for all nodes i

∑∈Ll

lxmin

sink theis if

source theis if

sink nor sourceneither is if0

11i

i

i

b

bxxN

k

ki

N

j

ij

=− ∑∑==

lBx ll links allfor ≤

bxl ≤≤0 for all links l

Minimum Cost (Splittable) (Single-Commodity) Flow Problem

Folyamok osztódhatnak!Egyszerre egy igényt nézünk!

Page 144: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 152

Legolcsóbb osztatlan folyam• 0/1 változók! Sokkal bonyolultabb mint az előbbi probléma!

for all nodes i

∑∈Ll

lxmin

sink theis if

source theis if

sink nor sourceneither is if

1

1

0

11i

i

i

xxN

k

ki

N

j

ij

=− ∑∑==

lBbx ll allfor ≤

{ }1,0∈lx for all links l

Minimum Cost Unsplittable (Single-Commodity) Flow Problem

Ha minden Bl nagyobb mint b nincs gond.Amely kisebb, azt az l-t töröljük. Így relaxálhatunk is LP-re...

Page 145: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 153

Legolcsóbb osztatlan többtermékesfolyam

For all nodes i

and commodities o

∑ ∑∈∀ ∈∀Oo Ll

oo

l bxmin

sink theis if

source theis if

sink nor sourceneither is if

1

1

0

11i

i

i

xxN

k

o

ki

N

j

o

ij

=− ∑∑==

lBbx l

o

o

o

l allfor ≤∑∀

{ }1,0∈olx for all links l and commodities o

Minimum Cost Unsplittable Multi-Commodity Flow Problem

Page 146: Alkalmazott optimalizálás és játékelmélet (Applied

MPP és GSP példa

• MPP– MPP_v06.ppt

• GSP:– DRCN_2013_v03.ppt

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 154

Page 147: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 155

Alkalmazott optimalizálás és játékelmélet

(Applied Optimisation and Game Theory)vitmd097 ― 2016 tavasz

Dr. Cinkler Tiborcinkler()tmit.bme.hu

http://opti.tmit.bme.hu/~cinkler/optgame/2013/https://www.vik.bme.hu/kepzes/targyak/VITMD097/

6. alkalom2016.IV.12. szerda 16:00-17:30 IE.219

Page 148: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 156

Az ILP NP nehéz• Az ILP NP teljes míg az LP polinom idejű!• Ezért szeretjük az LP-t

• Az ILP NP nehéz (Pióro sl. ) – Max Sat-ot (ami NP-complete) polinom idejü redukcióval

redukáljuk ILP-re

Boolean/Maximum Satisfiability Problem• http://en.wikipedia.org/wiki/Boolean_satisfiability_problem• http://en.wikipedia.org/wiki/Maximum_satisfiability_problem

3SAT: (x11 OR x12 OR x13) AND(x21 OR x22 OR x23) AND(x31 OR x32 OR x33) AND ...

Page 149: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 157

NP-Completeness - decision problems

Decision problem P

input data: parameters (p1,p2,...,pm) characterizing the finite solution (given) space X(p1,p2,...,pm), and constant C

question: does there exist x ∈∈∈∈ X(p1,p2,...,pm) such that F(x) ≤≤≤≤ C

Instance I

(p1,p2,...,pm) and C are given fixed numbers

N - size of the problem

polynomially related to the length of the strings encoding the instances I

Garey, M.R., Johnson, D.S.: Computer and Intractability –

A Guide to the Theory of NP-Completeness, W.H.Freeman & Co., 1979

Appendix B

Forrás: M. Pióro

Page 150: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 158

NP-Completeness - reduction

Polynomial problem:

there exists a polynomial G(N) of degree m (G(N) = O(Nm)) such that for each instance I of the problem of size N we can solve it (YES or NO) in the number of steps not greater than G(N)

Problem P1 can be reduced (transformed) in polynomial time to

problem P2 (P1→→→→P2):

1. For each instance of P1 we can find an equivalent instance of P2

2. There exists a polynomial H(N) of degree k such that for each instanceof P1 of size N we can transform it to an equivalent instance of P2 in the number of steps not greater than H(N)

3. And back. (P2→→→→P1)

Forrás: M. Pióro

Page 151: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 159

NP-Completeness cntd.Polynomial problems (P)

Non-deterministic Polynomial (NP)

NP (intuitive): we can construct each x ∈ X(p1,p2,...,pm), and check in time polynomial in N, if F(x) ≤ C

NP (intuitive): the solution tree has polynomially bounded paths

NP-complete (NP-C)

• NP problem is NP-complete if any other NP problem can be reduced to it in polynomial time

• All NP problems can be reduced in polynomial time to the Satisfiability Problem SAT

(SAT is NP-complete)• Are P and NP-C disjoint ???

PNP-C

NP

Forrás: M. Pióro

Page 152: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 160

NP-Completeness cntd.SAT (Satisfiability Problem)

U = {u1,u2,�um} - Boolean variables; t : U → {T,F} - truth assignmenta clause - {u1,u2,u4 } represents conjunction of its elements (u1 + u2 + u4)a clause is satisfied by a truth assignment t if and only if one of its elements is true

under assignment tC - finite collection of clauses

SAT: Given: a set U of variables and a collection C of clausesQuestion: is there a truth assignment satisfying all clauses in C?

So far there are several thousands of known NP-C problems,

including Travelling Salesman, Clique, Steiner Problem,

Graph Colourability, Knapsack (pseudo-polynomial)

Forrás: M. Pióro

Page 153: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 161

X - set of vectors x = (x1,x2,...,xn)x ∈ X iff Ax ≤ b and x are integers

Decision problem:

Instance: given n, A, b, B, and function f(x).Question: is there x ∈ X such that f(x) ≥ B?

The SAT problem is directly reducible to this IP problem.

Hint: • assign binary variables xi and xi with all Boolean variables ui and ui

• an equality with each clause of the instance of SAT (x1 + x2 + x4 ≥ 1) • add inequalities: 0 ≤ xi ≤ 1, 0 ≤ xi ≤ 1, 1 ≤ xi + xi ≤ 1, i=1,2,...,n

Integer Programming is NP-hard

Forrás: M. Pióro

Page 154: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 162

LP vagy ILP?• LP relaxáció

– Ha végtelen (elég nagy) a kapacitás!– Ha egyetlen folyamot vezetünk el egyszerű belátni– Ha egészértékű megoldást kapunk LPrelaxációra → ILPnek is optimális– Ha egészértékű kapacitás és egységnyi igények OK– Ha egészértékű kapacitás és egészértékű igények → létezik egészértékű

optimum– Ha A unimoduláris u.a. az eredmény (LP és ILP megoldása u.a.)

Teljesen (totálisan) unimoduláris az A mátrix → minden négyzetes almátrix determinánsa 1, -1 vagy 0

– Ha nem „rezegtessünk!” (+ε) vagy egyébb trükkök - ha egy pontpár közt csak 1 igény van, akkor működik...TAC: Tinny Additional CostLaborczi, Tapolcai, Ho, Cinkler, Recski, Mouftah: "Algorithms for Asymmetrically Weighted Pair of Disjoint Paths in Survivable Networks", DRCN2001

• Integrality Property: Every minimum cost flow problem with integer demands and integer capacities has an integer optimal solution!

Page 155: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 163

LP vagy ILP?

• Integrality Gap: the maximum ratio between the solution quality of the integer program and of its relaxation

• Approximation:– Rounding the fractional solution

• randomised,• 0-1 programming• heursitics

Page 156: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 164

TU• A totally unimodular matrix (TU matrix) is a matrix for which every

square non-singular submatrix is unimodular. A totally unimodularmatrix need not be square itself. From the definition it follows that any totally unimodular matrix has only 0, +1 or −1 entries.

• Totally unimodular matrices are extremely important in polyhedral combinatorics and combinatorial optimization since they give a quick way to verify that a linear program is integral (has an integral optimum, when any optimum exists). Specifically, if A is TU and b is integral, then linear programs of forms like

• or

• have integral optima, for any c. Hence if A is totally unimodularand b is integral, every extreme point of the feasible region, e.g.

• is integral and thus the feasible region is an integral polyhedron.

Page 157: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 165

Mi van, ha útfüggetlen védelmet is keresünk? (Diverse Routing)

• 2 Dijkstra• Suurballe• ILP

– Ferdén súlyozott is lehet...

Page 158: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 166

Shortest sets of disjoint paths

� Shortest set of K node-disjoint paths between a pair of nodes is found in K iterations of a single shortest path algorithm

� K disjoint paths are found inductively from optimal solutions for 1,2,...,(K-1) disjoint paths, using a shortest path algorithm at each step

ZA

1

1

3

3

1

B

C

Forrás: M. Pióro

ZA

-1

-1

3

3

-1

B

C ZA

1

1

3

3

1

B

C

ZA

1

1

3

3

1

B

C

Page 159: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 167

Shortest sets of disjoint paths

ZA

1

1

3

3

1

B

C

ZA

-

+

+

B

C• P1 ={ABCZ} , P2={ABZ,ACZ}• P2 - P1 - logical difference with

– + on arcs of P2

– - on arcs of P1

– cancellation of sign on common arcs

• the difference is a path between A and Z with the cost– (total length of + arcs) - (total length of - arcs)– equal to cost difference between P2 and P1 solutions

• in general the difference P2 - P1 is more complicated, but always includes an A to Z path with + and - labels

• transition from P1 to P2

– find a shortest path from A to Z with only - arcs common with P1 (interlacing with P1)– add it to P1 to get P2

Forrás: M. Pióro

Page 160: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 168

Legolcsóbb osztatlan többtermékesfolyam

• EZ CSAK ISMÉTLÉS (133 slide)!

For all nodes i

and commodities o

∑ ∑∈∀ ∈∀Oo Ll

oo

l bxmin

sink theis if

source theis if

sink nor sourceneither is if

1

1

0

11i

i

i

xxN

k

o

ki

N

j

o

ij

=− ∑∑==

lBbx l

o

o

o

l allfor ≤∑∀

{ }1,0∈olx for all links l

Minimum Cost Unsplittable Multi-Commodity Flow Problem

Page 161: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 169

Legolcsóbb osztatlan többtermékes folyam hozzárendelt védelemmel

Minimum Cost Unsplittable Multi-Commodity Flow Problem with Dedicated Protection

for all nodes i

and commodities o

( )∑ ∑∈ ∈

+

Ll Oo

oo

l

o

l byx min

oi

oi

oi

xxN

k

o

ki

N

j

o

ij

ofsink is if

of source is if

ofsink nor sourceneither is if

1

1

0

11

=− ∑∑==

oi

oi

oi

yyN

k

o

ki

N

j

o

ij

ofsink is if

of source is if

ofsink nor sourceneither is if

1

1

0

11

=− ∑∑==

( ) lBbyx l

o

Oo

o

l

o

l links allfor ≤+∑∈

olyx o

l

o

l and allfor 1≤+

{ }1,0, ∈olo

l yx

Path Diversity Constraint

Integrality Constraint

Capacity Constraint

Flow Conservation Constraints

Objective

s.t. (constraints)

Page 162: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 170

Legolcsóbb osztatlan többtermékes folyam hozzárendelt ferdén súlyozott védelemmel

Minimum Cost Unsplittable Multi-Commodity Flow Problem with Assymetrically Weighted Disjoint Paths

for all nodes i

and commodities o

( ) 10 , min <<

⋅+∑ ∑

∈ ∈

ααLl Oo

oo

l

o

l byx

oi

oi

oi

xxN

k

o

ki

N

j

o

ij

ofsink is if

of source is if

ofsink nor sourceneither is if

1

1

0

11

=− ∑∑==

oi

oi

oi

yyN

k

o

ki

N

j

o

ij

ofsink is if

of source is if

ofsink nor sourceneither is if

1

1

0

11

=− ∑∑==

( ) lBbyx l

o

Oo

o

l

o

l links allfor ≤+∑∈

olyx o

l

o

l and allfor 1≤+

{ }1,0, ∈olo

l yx

Path Diversity Constraint

Integrality Constraint

Capacity Constraint

Flow Conservation Constraints

Objective

s.t. (constraints)

Page 163: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 171

Legolcsóbb osztatlan többtermékes folyam megosztott védelemmel

for all nodes i

and commodities o

∑ ∑∈ ∈

+

Ll Oo

l

oo

l Ybxmin

oi

oi

oi

xxN

k

o

ki

N

j

o

ij

ofsink is if

of source is if

ofsink nor sourceneither is if

1

1

0

11

=− ∑∑==

oi

oi

oi

yyN

k

o

ki

N

j

o

ij

ofsink is if

of source is if

ofsink nor sourceneither is if

1

1

0

11

=− ∑∑==

lBYbx ll

o

Oo

o

l allfor ≤+∑∈

olyx o

l

o

l and allfor 1≤+

{ }1,0, ∈olo

l yx

lYbyx l

oo

l

llLl Oo

o

l allfor

''

' ≤∑ ∑≠∈ ∈

NONLINEAR!

ITC 1999: Cinkler, Laborczi, Horváth: Protection through Thrifty Configuration

Itc999_xy_emu.ppt

Minimum Cost Unsplittable Multi-Commodity Flow Problem with Shared Protection

Allocation for Shared Protection

Page 164: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 172

z=xy további egyszerűsítése

1. Boole only:

x + y >= z1 + x - y >= z1 - x + y >= z

- 1 + x + y <= z

2. Simpler:

y >= zx >= z

-1 + x + y <= z

3. Simplest:

x + y >= 2z-1 + x + y <= z

BOOLEAN ALGEBRA TUTORIAL:http://www.doc.ic.ac.uk/~dfg/hardware/hardware.html

0/1 változók nemlineáris N-változós f függvénye linearizálható!

f :{0,1}N → {0,1}

N-SAT problémakör!

Page 165: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 173

1. Boole only

x ∈{0,1} 0 0 1 1y ∈{0,1} 0 1 0 1x + y ≥ z z≤0 z≤1 z≤1 z≤2

1 + x - y ≥ z z≤1 z≤0 z≤2 z≤11 - x + y ≥ z z≤1 z≤2 z≤0 z≤1

- 1 + x + y ≤ z -1≤z 0≤z 0≤z 1≤zz=xy, z∈{0,1} 0 0 0 1

Page 166: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 174

2. Simpler

x ∈{0,1} 0 0 1 1y ∈{0,1} 0 1 0 1

y ≥ z z≤0 z≤1 z≤0 z≤1

x ≥ z z≤0 z≤0 z≤1 z≤1- 1 + x + y ≤ z -1≤z 0≤z 0≤z 1≤zz=xy, z∈{0,1} 0 0 0 1

Page 167: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 175

3. Simplest

x ∈{0,1} 0 0 1 1y ∈{0,1} 0 1 0 1

x + y ≥ 2z z≤0 z≤0.5 z≤0.5 z≤1

- 1 + x + y ≤ z -1≤z 0≤z 0≤z 1≤zz=xy, z∈{0,1} 0 0 0 1

Page 168: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 176

Amikor az ILP és LP relaxációja ugyanazt a feszítőfát adják...

• EZT IDÉN KIHAGYTUK!!!

• AMO 530 oldal: Spanning tree and LP: exponential and linear formulation

• AMO 532. oldal: Amikor az ILP es LP relaxációja ugyanazt a feszítőfát adja (a poliéder csúcsai egészértékűek!) (feszítőfa probléma)

• AMO 533. oldal: Theorem 13.10: The Polyhedron defined by the linear programming relaxation of the packing formulation of the minimum spanning tree problem has integer extreme points.

• ICC 2007 cikkünk: fairness_pres.pdf

Page 169: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 177

Egyszerűsítések - közelítések

• Élek helyett csomópont vagy teljes út basic-models-day-1-LUND.ppt (M. Pióro)– NL: Node-Link (eddig ezt használtuk!)

• minden élre x minden folyamra változó

– LP: Link-Path (ha kevesebb út mint él)• minden alternatív útra x minden folyamra változó

– ANL: Aggregated Node-Link• Minden élre x minden forrásra aggregált folyam

Page 170: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz

Capacitated flow allocation problem (Link-Path)

• indices– d=1,2,�,D demands – p=1,2,�,Pd paths for flows realizing demand d– e=1,2,�,E links

• constants – hd volume of demand d (mekkora kapacitás kell d igénynek?)– ce capacity of link e – δedp = 1 if e belongs to path p realizing demand d; 0, otherwise

Forrás: M. Pióro

178

Page 171: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz

Capacitated flow allocation problem –Link-Path formulation

• variables– xdp flow realizing demand d on path p

• constraintsΣp xdp = hd d=1,2,�,DΣd Σp δedpxdp ≤ ce e=1,2,�,E

– flow variables are continuous and non-negative

– 0/1 flow variables for unsplittable flows

• min ΣΣΣΣd ΣΣΣΣp xdp Forrás: M. Pióro

179

Page 172: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz

Node-Link formulation (eddig ezt használtuk)

indices– d=1,2,�,D demands – v=1,2,... ,V nodes– e=1,2,...,E links (directed arcs)

• constants – hd volume of demand d– sd, td source, sink node of demand d– aev = 1 if link e originates at node v; 0, otherwise– bev = 1 if link e terminates in node v; 0, otherwise– ce capacity of link e

For directed graphs (applicable to undirected graphs as well).

Forrás: M. Pióro 180

Page 173: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 181

Node-Link formulation (eddig ezt használtuk)

• variables– xed ≥ 0 flow of demand d on link e

• constraintshd if v = sd

Σe aev xed - Σe bev xed = 0 if v ≠ sd,td- hd if v = td

v=1,2,...,V d=1,2,�,D

Σd xed ≤ ce e=1,2,�,E

• min ΣΣΣΣd ΣΣΣΣe xde Forrás: M. Pióro

Page 174: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz

Aggregated Node-Link formulation

• indices– v,w=1,2,... ,V nodes– e=1,2,...,E arcs

• constants – hvw volume of demand d originating at node v

and terminating at node w– Hv = Σw≠v hvw total demand volume originating at node v– aev = 1 if link e originates at node v; 0, otherwise– bev = 1 if link e terminates in node v; 0, otherwise– ce capacity of link e

Forrás: M. Pióro

182

Page 175: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 183

Aggregated Node-Link formulation• variables

– xev ≥ 0 flow realizing all demands originating at node v on link e

• constraintsΣe aev xev = Hv v=1,2,...,V (redundant)

Σe bew xev - Σe aew xev = hvw v,w=1,2,...,V v≠wMinden w pontra megnézzük a v-ből kimenő forgalmakat! Minden w-be, adott v-ből csak hvw forgalom érkezhet, a többi v-ből érkező vagy be se lép vagy csak áthalad.

Σv xev ≤ ce e=1,2,�,E

• min ΣΣΣΣvΣΣΣΣe xve

wv

...

←Σe aew xev

e

←Hv Σe bew xev→

Page 176: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 184

Number of Variables and Constraints

# Variables # Constraints

LP P××××V(V-1) = O(V2) V(V-1) + (k××××V)/2 = O(V2)

NL (k××××V ××××V(V-1))/2 = O(V3) V ××××V(V-1) + (k××××V)/2 = O(V3)

ANL (k××××V××××V)/2 = O(V2) V××××V + (k××××V)/2 = O(V2)

Remark: Still NL can be faster than ANL!

Forrás: M. Pióro

Page 177: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 186

5. Nemlineáris problémák megoldása• Nonlinear programming

– Ha csak a célfüggvény és/vagy– Egy vagy több korlát (kényszer) nemlineáris– Convex Programming

• Konvex értelmezési tartomány• Konvex célfüggvény (ha minimalizálunk) - konkáv ha max.• ”For a convex optimization problem if a local minimum exists, then it

is a global minimum”• Quadratic Programming• Szakaszos lineáris közelítés (interpolation)• Közelítés függvénnyel (pl. hatványfüggvény) (interpolation,

smoothing, etc.)– Non-Convex

• Special Formulations• Branch-and-Bound Decomposition – exact or approximations

• Többcélú (pareto optimum)

Page 178: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 187

Curve fitting• Polynomial curves fitting points generated with a sine function.

Red line is a first degree polynomial, green line is second degree, orange line is third degree and blue is fourth degree

Page 179: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 188

Nemlineáris programozás• http://en.wikipedia.org/wiki/Nonlinear_programming• Ha a célfüggvény lineáris és az állapottér polytop → LP

• Avriel, Mordecai (2003). Nonlinear Programming: Analysis and Methods. Dover Publishing. ISBN 0-486-43227-0.

• Bazaraa, Mokhtar S. and Shetty, C. M. (1979). Nonlinear programming. Theory and algorithms. John Wiley & Sons. ISBN 0-471-78610-1.

• Nocedal, Jorge and Wright, Stephen J. (1999). Numerical Optimization. Springer. ISBN 0-387-98793-2.

• Dimitri P. Bertsekas (1999). Nonlinear Programming: 2nd Edition. Athena Scientific. ISBN 1-886529-00-0.

Page 180: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 189

2D példa – nem-lineáris korlátokConstraints:

• x ≥ 0• y ≥ 0• x2 + y2 ≥ 1• x2 + y2 ≤ 2

Objective:• max f(x,y) = x + y

• The intersection of the line with the constrained space represents the solution

• http://en.wikipedia.org/wiki/Nonlinear_programming

Page 181: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 190

3D példa – nem-lineáris célfüggvényConstrints:

• x2 − y2 + z2 ≤ 2• x2 + y2 + z2 ≤ 10

Objective:• max f(x,y,z) = xy + yz

• The intersection of the top surface with the constrained space in the center represents the solution

• http://en.wikipedia.org/wiki/Nonlinear_programming

Page 182: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 191

Quadratic Programming• http://en.wikipedia.org/wiki/Quadratic_programming• Quadratic programming is a special case of the more

general field of convex optimization• Assume x belongs to Rn space. The n×n matrix Q is

symmetric, and c is any n×1 vector.

Minimize (with respect to x)– Változók hatványa, szorzata és lineáris kombinációja

Subject to one or more constraints of the form:1. Ax ≤ b (inequality constraint) 2. Ex = d (equality constraint)

where x’ indicates the vector transpose of x.

Page 183: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 192

Quadratic Programming Cases• If Q is a positive semidefinite matrix, then f(x) is a convex function. In

this case the quadratic program has a global minimizer if there exists at least one vector 'x' satisfying the constraints.

• If the matrix Q is positive definite (saját konjugált transponáltjával egyenlő és )then this global minimizer is unique. For positive-definite Q, the ellipsoid method solves the problem in polynomial time. If Q has at least one negative eigenvalue, the problem is NP-hard.

• If Q is zero, then the problem becomes a linear program.

• If there are only equality constraints, then the QP can be solved by a linear system.

• Otherwise, a variety of methods for solving the QP are commonly used, including – interior point– active set and – conjugate gradient methods.

• Quadratic programming is a special case of the more general field of convex optimization.

Page 184: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 193

Nemlineáris linearizálása• Konkáv és Konvex (Pióro slidek)• Nemlineárisból lineárisat (pl. logaritmus szakaszos közelítése: ∧)

– Convex költségfüggvény kezelése és konvex korlátok kezelése • nemlineáris, de convex korlátok kezelése (egészértékű változókra)• nemlineáris, de convex célfüggvény kezelése (egészértékű változókra) (ha max!)

• Linearisation of convex (cost) functions– convex definíció AMO 544.oldal közép– 546 és 552 convex célfüggvény– Ha integer megoldásra törekszünk akkor linearizáljunk úgy, hogy a

töréspontok az x tengely egészértékű pontjaiban legyenek!– Bármilyen integer bemenetre definiált függvény felírható szakaszos

közelítéssel, de a közelítőszakaszok száma egyenlő (arányos) lesz az értelmezési tartomány hosszával!!!

convexconcave

log közelítése 6 szakasszal:

Minimalizáláshoz konkávMaximalizáláshoz konvex fgv kell

Page 185: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 194

Különböző esetek

• Nemlineáris de Konvex• Célfüggvény vagy tartomány (korlát)?• Min vagy max?• Folytonos vagy egészértékű?

min?

MAX?

f(y) ≤ c1y+b1

f(y) ≤ c2y+b2

f(y) ≤ c3y+b3

Page 186: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 195

Nemlineáris convex célfüggvény és tartomány linearizálása

Linearizálás szakaszos közelítéssel– Felülrül (konkáv)– Legkisebb hibával– Alulról– Értelmezési tartomány a görbe alatt– Linearis programozással kezelhető– Ha diszkrét, érdemes e pontokon át

húzni az egyeneseket – nehezen kivitelezhető

ÉS: Kényszerek egyidejű teljesülése!

Page 187: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 196

Mi van ha nem konvex?

Linearizálás szakaszos közelítéssel– Felülrül– Legkisebb hibával– Alulról– Értelmezési tartomány a

görbe felett– Egészértékű változók

szükségesek az (ai-ai-1) szakaszok (intervallumok) meghatározásához!

– Intervallumonként más-más szakasz

f(y) ≥ c1y+b1

f(y) ≥ c2y+b2

f(y) ≥ c3y+b3

a1 a2 a3 a4 VAGY: bármely Kényszer teljesülése!

Page 188: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 197

Mi van ha diszkrét?• Mind konkávra, mind konvexre• Mind minimalizálásra mind maximalizálásra• nem közelítés, hanem egzact• hiszen csak a rácscsomópontokban értelmezett a célfüggvény!• Konkávra itt is plussz változók kellenek az intervallumok

behatárolására!

Page 189: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 198

Ha van idő: Rugalmas forgalom (Elastic Traffic) kezelése

• Networks2002 cikk Elastic Traffic-cal (a PPT képletek nélkül van!!!) Networks2002_ela4.ppt (ILP nincs a PPTben!)

• Nemlineáris kezelése iterációval (Relative fairness)

• Log szakaszos közelítése: Proportional Rate Fairness

• EZT IDÉN KIHAGYTUK!!!

Page 190: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz

Uncapacitated flow allocation problem -variants

• objective minimize F(y) = Σe ξeye ( F(y) = Σe Σk ξekyek ) Σd Σp δedpxdp ≤ M⋅ye e=1,2,�,E ye integer - MIP Σd Σp δedpxdp ≤ M⋅ye e=1,2,�,E xdp, ye integer – IP Σd Σp δedpxdp ≤ Σk Mk⋅yek e=1,2,�,E yek integer – MIP– incremental modular function (most general, Section 4.3.1):

Σd Σp δedpxdp ≤ Σk mk⋅uek e=1,2,�,E uek binary – MIPue1 ≥ ue2 ≥ ... ≥ ueK e=1,2,�,E

• objective minimize F(y) = Σe ξef(ye)– ye = Σd Σp δedpxdp

– f(z) – convex (penalty, delay) - CXP– f(z) – concave (dimensioning function) - CVP

EZT IDÉN KIHAGYTUK!!!

199

Page 191: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz

Uncapacitated problem - convex link penalty functions

• objective minimize F(x) = Σe ξef( Σd Σpδedpxdp )

• constraints: – all flows non-negativeΣp xdp = hd d=1,2,�,Df(y)

y

One global minimum. Solution is bifurcated.y1 < y2 → f(y1)/y1 < f(y2)/y2

EZT IDÉN KIHAGYTUK!!!

200

Page 192: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz

LP approximation of the convex problem

• minimize z ( z = f(y) )• constraints

– z ≥ cky + bk , k=1,2,�,n

f(y)

ya1 a2

f(y) = c3y+b3

y

f(y) = c1y+b1

f(y) = c2y+b2

Using this approximation we can convert CXP to LP.

EZT IDÉN KIHAGYTUK!!!

201

Page 193: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz

Uncapacitated problem - concave link dimensioning functions

f(y)

y

Numerous local minima. Solution is non-bifurcated.y1 < y2 → f(y1)/y1 > f(y2)/y2

• objective minimize F(x) = Σe ξef( Σd Σp δedpxdp ) • constraints:

– all flows non-negativeΣp xdp = hd d=1,2,�,D

EZT IDÉN KIHAGYTUK!!!

202

Page 194: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz

Linear approximation of the concave problem

• minimize z = ∑k (ckyk + bkuk) ( z = f(y) )• constraints:

– ∑k yk = y– ∑k uk = 1 – 0 ≤ yk ≤ ∆uk, uk ∈ {0,1} , k=1,2,�,n

f(y)

ya1 a2

c3y+b3

c2y+b2

c1y+b1

b3

b2

yb1

Using this approximation we can convert CVP to MIP.

EZT IDÉN KIHAGYTUK!!!

203

Page 195: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 204

Logikai kifejezések ILP-sítése (és, vagy, akkor, stb.)

• Binaris linearizalása• Diszkrét és integer visszavezetése binárisra• Logikai relációk kezelése: ∧, ∨, ⇔, ⇒

(Lengyel slidek)

Page 196: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 205

Logikai műveletek kezelése

• Példa 1:

Page 197: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 206

Logikai műveletek kezelésePélda 2:

Page 198: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 207

Trükkök 1

• 1. Állapottér szűkítése folyamproblémához: azon élek kizárásával melyek érintése túl hosszú utat igényelne– Preprocesszálás szükséges

Page 199: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 208

Trükkök 2• Min-Max és Max-Min Problémák ILPsítése

– MinMax és MaxMin feladatok: Pl.: Vzs1 és Vzs2 2005/2006 őszi félév végén

– Min-Max: Ha szeretnénk, hogy a legnagyobb is a lehető legkisebb legyen, akkor mindegyiket felülről korlátozzuk egy segédváltozóval és e segédváltozót minimalizáljuk, vagy csak hozzácsapjuk a célfüggvényhez.

– y1, y2, y3 ≥ 0; y1, y2, y3 ≤Y; min Y; – Hasonlóan a Max-Min problémánál y1, y2, y3 ≥Y; max Y;– Multi-Path Protection with min-max MPP_v06.ppt

(ICC2008 Peking)– GSP gsp.ppt DRCN 2013 Budapest)

Page 200: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 209

Trükkök 3

• Lépcsős kapacitásköltség függvények kezelése ILP-vel

• Lépcsős kapacitásköltség kezelése gráffal (modellezés – párhuzamos élek – más-más költséggel)

• „Símítás” – „Kerekítés”• networks2006_StepViseVPN_v6.ppt

Page 201: Alkalmazott optimalizálás és játékelmélet (Applied

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2016 tavasz 210

6. Irodalomjegyzék (könyvek)M.S. Bazaraa, J.J. Jarvis, H.D. Sherali: Linear Programming and Network Flows, Wiley 1990

R. Bhandari: Survivable Networks – Algorithms for Diverse Routing, Kluwer 1990

M. Pióro, D. Medhi: Routing, Flow and Capacity Design in Communication and Computer Networks, Morgan Kaufmann 2004

[AMO] R.K. Ahuja, T.L. Magnanti, J.B. Orlin: Network Flows- Theory, Algorithms, and Applications, Prentice Hall 1993

G. Ausiello et al.: Complexity and Approximations – Combinatorial Optimization Problems and Their Approximability Properties, Springer 1999

L.A. Wolsey: Integer Programming, Wiley 1998

Vízvári B.: Egészértékű Programozás, Typotex 2006

Z. Michalewicz: Genetic Algorithms + Data Strutures = Evolution Programs, Springer 1992

M.R. Garey, D.S. Johnson: Computers and Intractability – A Guide to the Theory of NP-Completeness, Freeman 1979

V.V. Vazirani: Approximation Algorithms, Springer 2003

B.M.E. Moret, H.D. Shapiro: Algorithms from P to NP, Benjamin/Cummings 1991

T.H. Coremen, C.E. Leiserson, R.L. Rivest: Introduction to Algorithms, MIT, McGraw-Hill, 1990

M.G.C. Resende, P.M. Pardalos: Handbook of Optimisation in Telecommunications, Springer 2006