172
cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 tavasz 6 Alkalmazott optimalizálás és játékelmélet (Applied Optimisation and Game Theory) vitmd097 ― 2014 tavasz Dr. Cinkler Tibor cinkler()tmit.bme.hu http://opti.tmit.bme.hu/~cinkler/optgame/2013/ https://www.vik.bme.hu/kepzes/targyak/VITMD097/ 1. alkalom 2014.III.12. szerda 14:00-15:30 IB.144

Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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

(Applied Optimisation and Game Theory)vitmd097 ― 2014 tavasz

Dr. Cinkler Tiborcinkler()tmit.bme.hu

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

1. alkalom2014.III.12. szerda 14:00-15:30 IB.144

Page 2: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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

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 3: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 4: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 5: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 6: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 7: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 8: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 9: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 10: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 11: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 12: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 13: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 14: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 15: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

maximize

subject to

Matrix fom

Page 16: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 17: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 18: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 19: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 20: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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(f) ≤ 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 21: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 22: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 23: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 24: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 25: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 26: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 27: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 28: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 29: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

„Á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 30: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 31: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 32: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 33: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 34: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

• 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 35: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 36: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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

(Applied Optimisation and Game Theory)vitmd097 ― 2014 tavasz

Dr. Cinkler Tiborcinkler()tmit.bme.hu

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

2. alkalom2014.III.12. szerda 15:45-17:15 IB.144

Page 37: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 38: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 39: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 40: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 41: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 42: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 43: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 44: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 45: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 46: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 47: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 48: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 49: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 50: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 51: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

1. fázis

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

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

but pruned

Page 52: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 53: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 54: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 55: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 56: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 57: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 58: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 59: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 60: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 61: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 62: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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

(Applied Optimisation and Game Theory)vitmd097 ― 2014 tavasz

Dr. Cinkler Tiborcinkler()tmit.bme.hu

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

3. alkalom2014.III.19. szerda 14:15-15:45 IB.144

Page 63: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 64: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 65: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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}

• 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 66: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 67: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 68: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 69: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

Gradiens módszer

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

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

Page 70: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 71: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 72: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 73: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 74: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 75: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 76: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 77: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 78: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 79: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 80: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 81: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 82: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 83: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 84: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 85: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

SA Pseudocode

Page 86: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 87: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 88: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 89: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 90: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 91: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 92: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 93: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 94: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 95: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 96: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 97: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

Hogyan jut ki a lokális optimumból?

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

Page 98: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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

(Applied Optimisation and Game Theory)vitmd097 ― 2013 tavasz

Dr. Cinkler Tiborcinkler()tmit.bme.hu

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

4. alkalom2014.III.19. csütörtök 14:15-15:45 IE.355oval IB.210

Page 99: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 100: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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) 204 éve született!

Page 101: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 102: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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

• 6 tizedesnyi pontosságig

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

Page 103: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

Mutation:

Cross-over:

The best chromosome after 150 iterations

Page 104: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 105: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 106: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 107: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 108: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 109: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 110: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 111: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 112: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 113: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 114: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 115: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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

Page 116: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

STAGE Algorithm

Page 117: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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

(Applied Optimisation and Game Theory)vitmd097 ― 2014 tavasz

Dr. Cinkler Tiborcinkler()tmit.bme.hu

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

5. alkalom2014.III.26. szerda 14:15-15:45 IB.144

Page 118: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 119: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 120: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 121: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 122: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 123: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 124: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 125: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 126: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 127: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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

Page 128: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 129: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 130: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 131: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 132: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 133: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 134: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 135: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 136: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

Illustration of theDijkstra’s Shortest Path Algorithm

Page 137: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 138: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 139: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

(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 140: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 141: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 142: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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 ― 2014 tavasz 157

Page 143: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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

(Applied Optimisation and Game Theory)vitmd097 ― 2014 tavasz

Dr. Cinkler Tiborcinkler()tmit.bme.hu

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

6. alkalom2014.III.26. szerda 16:00-16:30 IB.144

Page 144: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 145: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 146: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 147: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 148: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 149: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 150: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 151: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 152: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 153: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

Mi van, ha útfüggetlen védelmet is keresünk? (Diverse Routing)

• 2 Dijkstra• Suurballe• ILP

– Ferdén súlyozott is lehet...

Page 154: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 155: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 156: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 157: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 158: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 159: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 160: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 161: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 162: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 163: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 164: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 165: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 166: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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

181

Page 167: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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

182

Page 168: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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 183

Page 169: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 170: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

cinkler()tmit.bme.hu vitmd097 ― Alkalmazott optimalizálás és játékelmélet ― 2014 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

185

Page 171: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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 172: Alkalmazott optimalizálás és játékelmélet (Applied Optimisation …opti.tmit.bme.hu/~cinkler/optgame/2014/CinklerTibor/... · 2014-04-16 · cinkler()tmit.bme.hu vitmd097 ―

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

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