Automated generation of high-performance heuristics from flexible - - PowerPoint PPT Presentation

automated generation of high performance heuristics from
SMART_READER_LITE
LIVE PREVIEW

Automated generation of high-performance heuristics from flexible - - PowerPoint PPT Presentation

Automated generation of high-performance heuristics from flexible algorithm frameworks: Challenges and Perspectives Thomas St utzle IRIDIA, CoDE, Universit e Libre de Bruxelles (ULB) Brussels, Belgium stuetzle@ulb.ac.be


slide-1
SLIDE 1

Automated generation of high-performance heuristics from flexible algorithm frameworks: Challenges and Perspectives

Thomas St¨ utzle

IRIDIA, CoDE, Universit´ e Libre de Bruxelles (ULB) Brussels, Belgium stuetzle@ulb.ac.be iridia.ulb.ac.be/~stuetzle

IRIDIA

Institut de Recherches

Interdisciplinaires et de Développements en Intelligence Artificielle

slide-2
SLIDE 2

Outline

  • 1. What we have been done / are doing
  • 2. Next steps?, challenges and perspectives

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 2

slide-3
SLIDE 3

Automatic offline configuration / algorithm design

Typical performance measures

◮ maximize solution quality (within given computation time) ◮ minimize computation time (to reach optimal solution)

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 3

slide-4
SLIDE 4

Configurators

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 4

slide-5
SLIDE 5

The irace package

Manuel L´

  • pez-Ib´

a˜ nez, J´ er´ emie Dubois-Lacoste, Thomas St¨ utzle, and Mauro

  • Birattari. The irace package, Iterated Race for Automatic Algorithm
  • Configuration. Technical Report TR/IRIDIA/2011-004, IRIDIA, Universit´

e Libre de Bruxelles, Belgium, 2011. The irace Package: User Guide, 2016, Technical Report TR/IRIDIA/2016-004 http://iridia.ulb.ac.be/irace

◮ implementation of Iterated Racing in R

Goal 1: flexible Goal 2: easy to use

◮ but no knowledge of R necessary ◮ parallel evaluation (MPI, multi-cores, grid engine .. ) ◮ currently various extensions done (soon publicly available)

irace has shown to be effective for configuration tasks with several hundred of variables

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 5

slide-6
SLIDE 6

Automatic design of algorithms from algorithm frameworks

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 6

slide-7
SLIDE 7

General approach

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 7

slide-8
SLIDE 8

Main approaches

Top-down approaches

◮ develop flexible framework following a fixed algorithm

template with alternatives

◮ apply high-performing configurators ◮ Examples: Satenstein, MOACO, MOEA, MIP Solvers?(!)

Bottom-up approaches

◮ flexible framework implementing algorithm components ◮ define rules for composing algorithms from components e.g.

through grammars

◮ frequently usage of genetic programming, grammatical

evolution etc.

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 8

slide-9
SLIDE 9

Top-down configuration

Multi-objective evolutionary algorithms (MOEA)

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 9

slide-10
SLIDE 10

Multi-objective evolutionary algorithms

Pareto based Indicator based Weight based

(NSGA-II, SPEA2) (IBEA, SMS-EMOA) (MOGLS, MOEA/D)

We initially focused on building an automatically configurable component-wise framework for Pareto- and indicator-based MOEAs

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 10

slide-11
SLIDE 11

MOEA Framework — outline

[Bezerra, L´

  • pes-Ib´

a˜ nez, St¨ utzle, 2016]

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 11

slide-12
SLIDE 12

Preference relations in mating / replacement

Component Parameters Preference Set-partitioning, Quality, Diversity BuildMatingPool PreferenceMat, Selection Replacement PreferenceRep, Removal ReplacementExt PreferenceExt, RemovalExt

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 12

slide-13
SLIDE 13

Representing known MOEAs

BuildMatingPool Replacement Alg. SetPart Quality Diversity Selection SetPart Quality Diversity Removal MOGA rank — niche-sh. DT — — — generational NSGA-II depth — crowding DT depth — crowding

  • ne-shot

SPEA2 strength — kNN DT strength — kNN sequential IBEA — binary — DT — binary —

  • ne-shot

HypE — I h

H

— DT depth I h

H

— sequential SMS — — — random depth-rank I 1

H

— —

(All MOEAs above use fixed size population and no external archive; in addition, SMS-EMOA uses λ = 1)

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 13

slide-14
SLIDE 14

MO configuration

irace + performance indicator (e.g. hypervolume) = automatic configuration of multi-objective solvers!

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 14

slide-15
SLIDE 15

Experimental results

DTLZ WFG 2-obj 3-obj 5-obj 2-obj 3-obj 5-obj ∆R = 126 ∆R = 127 ∆R = 107 ∆R = 169 ∆R = 130 ∆R = 97

AutoD2 AutoD3 AutoD5 AutoW2 AutoW3 AutoW5

(1339) (1500) (1002) (1692) (1375) (1170) SPEA2D2 IBEAD3 SMSD5 SPEA2W2 SMSW3 SMSW5 (1562) (1719) (1550) (2097) (1796) (1567) IBEAD2 SMSD3 IBEAD5 NSGA-IIW2 IBEAW3 IBEAW5 (1940) (1918) (1867) (2542) (1843) (1746) NSGA-IID2 HypED3 SPEA2D5 SMSW2 SPEA2W3 SPEA2W5 (2143) (2019) (2345) (2621) (2600) (2747) HypED2 SPEA2D3 NSGA-IID5 IBEAW2 NSGA-IIW3 NSGA-IIW5 (2338) (2164) (2346) (2777) (3315) (3029) SMSD2 NSGA-IID3 HypED5 HypEW2 HypEW3 MOGAW5 (2406) (2528) (2674) (2851) (3431) (4268) MOGAD2 MOGAD3 MOGAD5 MOGAW2 MOGAW3 HypEW5 (2970) (2851) (2915) (4320) (4540) (4373)

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 15

slide-16
SLIDE 16

Additional remarks

◮ additional results

◮ time-constrained scenarios ◮ cross-benchmark comparison ◮ applications to multi-objective flow-shop scheduling

◮ extended version of AutoMOEA

◮ extensions of template (weights, local search, etc.) ◮ more comprehensive benchmarks sets ◮ in-depth comparison of MOEAs ◮ design space analysis (e.g. ablation)

◮ Other examples

◮ Single-objective frameworks for MIP: CPLEX, SCIP ◮ Single-objective framework for SAT, SATenstein ◮ Continuous optimization: UACOR, ABC-X ◮ Multi-objective algorithm frameworks (TP+PLS, MOACO) Automated Algorithm Selection and Configuration, Dagstuhl, Germany 16

slide-17
SLIDE 17

Bottom up configuration of hybrid SLS algorithms

Automatic design of hybrid SLS algorithms

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 17

slide-18
SLIDE 18

Automatic design of hybrid SLS algorithms

[Marmion, Mascia, L´

  • pes-Ib´

a˜ nez, St¨ utzle, 2013]

Approach

◮ decompose single-point SLS methods into components ◮ derive generalized metaheuristic structure ◮ component-wise implementation of metaheuristic part

Implementation

◮ present possible algorithm compositions by a grammar ◮ instantiate grammer using a parametric representation

◮ allows use of standard automatic configuration tools ◮ shows good performance when compared to, e.g., grammatical

evolution [Mascia, L´

  • pes-Ib´

a˜ nez, Dubois-Lacoste, St¨ utzle, 2014]

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 18

slide-19
SLIDE 19

General Local Search Structure: ILS

s0 :=initSolution s∗ := ls(s0) repeat s′ :=perturb(s∗,history) s∗′ :=ls(s′) s∗ :=accept(s∗,s∗′,history) until termination criterion met

◮ many SLS methods instantiable from this structure ◮ abilities

◮ hybridization (through recursion) ◮ problem specific implementation at low-level ◮ separation of generic and problem-specific components Automated Algorithm Selection and Configuration, Dagstuhl, Germany 19

slide-20
SLIDE 20

Grammar

<algorithm> ::= <initialization> <ils> <initialization> ::= random | <pbs_initialization> <ils> ::= ILS(<perturb>, <ls>, <accept>, <stop>)

<perturb> ::= none | <initialization> | <pbs_perturb> <ls> ::= <ils> | <descent> | <sa> | <rii> | <pii> | <vns> | <ig> | <pbs_ls> <accept> ::= alwaysAccept | improvingAccept <comparator> | prob(<value_prob_accept>) | probRandom | <metropolis> | threshold(<value_threshold_accept>) | <pbs_accept> <descent> ::= bestDescent(<comparator>, <stop>) | firstImprDescent(<comparator>, <stop>) <sa> ::= ILS(<pbs_move>, no_ls, <metropolis>, <stop>) <rii> ::= ILS(<pbs_move>, no_ls, probRandom, <stop>) <pii> ::= ILS(<pbs_move>, no_ls, prob(<value_prob_accept>), <stop>) <vns> ::= ILS(<pbs_variable_move>, firstImprDescent(improvingStrictly), improvingAccept(improvingStrictly), <stop>) <ig> ::= ILS(<deconst-construct_perturb>, <ls>, <accept>, <stop>) <comparator> ::= improvingStrictly | improving <value_prob_accept> ::= [0, 1] <value_threshold_accept> ::= [0, 1] <metropolis> ::= metropolisAccept(<init_temperature>, <final_temperature>, <decreasing_temperature_ratio>, <span>) <init_temperature> ::= {1, 2,..., 10000} <final_temperature> ::= {1, 2,..., 100} <decreasing_temperature_ratio> ::= [0, 1] <span> ::= {1, 2,..., 10000} Automated Algorithm Selection and Configuration, Dagstuhl, Germany 20

slide-21
SLIDE 21

System overview

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 21

slide-22
SLIDE 22

Flow-shop problem with makespan objective

[Pagnozzi, St¨ utzle, 2016]

◮ Automatic configuration:

◮ max. three levels of recursion ◮ biased / unbiased grammar resulting in 262 and 502

parameters, respectively

◮ budget: 200 000 trials of n · m · 0.03 seconds

95% confidence limits

Algorithms ARPD 0.22 0.24 0.26 0.28 0.30 IGrs IGtb irace1 irace2 irace3 irace4

Results are clearly superior to state-of-the-art

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 22

slide-23
SLIDE 23

Flow-shop problem with total completion time objective

◮ Automatic configuration:

◮ max. three levels of recursion ◮ biased / unbiased grammar resulting in 262 and 502

parameters, respectively

◮ budget: 100 000 trials of n · m · 0.03 seconds

  • Relative Percentage Deviation

0.50 0.55 0.60 0.65 0.70 0.75 ALGirtct IGA IGAb

Results are clearly superior to state-of-the-art

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 23

slide-24
SLIDE 24

Flow-shop problem with total tardiness objective

◮ Automatic configuration:

◮ max. three levels of recursion ◮ biased / unbiased grammar resulting in 262 and 502

parameters, respectively

◮ budget: 100 000 trials of n · m · 0.03 seconds

  • Relative Deviation Index

TSM63 TSMe63 irace4 1 2 3 4 5 6

Results are clearly superior to state-of-the-art

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 24

slide-25
SLIDE 25

Comparison

Comparison of SLS algorithms

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 25

slide-26
SLIDE 26

Example: Comparison of MOEAs

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 26

slide-27
SLIDE 27

Exploration and Extension

Exploration of SLS algorithm variants

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 27

slide-28
SLIDE 28

SA in components

Input: a neighbourhood S for the solutions, an initial solution s0, control parameters s∗ = ˆ s = s0 t0 = initialize temperature while stopping criterion is not met choose si+1 ∈ S(ˆ s) using search space exploration criterion if si+1 meets acceptance criterion: ˆ s = si+1 if ˆ s improves over s∗: s∗ = ˆ s if temperature length is reached update temperature according to cooling scheme if temperature has to be reset reset temperature following temperature restart scheme return locally optimal solution s∗

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 28

slide-29
SLIDE 29

SA components

List of the SA components (# of options implemented):

◮ initial temperature t0 (7 options) ◮ neighbourhood exploration (2 options) ◮ acceptance criterion (9 options) ◮ cooling scheme (10 options) ◮ temperature length (12 options) ◮ temperature restart (21 options) ◮ termination condition (11 options)

to be combined with 2 problem-specific components:

◮ neighbourhood S (problem-specific # options) ◮ initial solution s0 (problem-specific # options)

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 29

slide-30
SLIDE 30

Summary

Contributions

◮ approach to automate design and analysis of (hybrid)

metaheuristics

◮ not a silver bullet, but needs right components, especially

low-level problem-specific ones

◮ directly extendible for unbiased comparisons of metaheuristics

and to capture current knowledge

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 30

slide-31
SLIDE 31

Can we boost frameworks and automated design to new solver paradigm (for SLS algorithms)?

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 31

slide-32
SLIDE 32

Configurable SLS framework XXL

◮ paradigm shift in SLS algorithm development ◮ configurable frameworks XXL ◮ solve = model + configure + search

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 32

slide-33
SLIDE 33

Unfiltered list of ingredients / extensions

Problem side

◮ define appropriate problems classes ◮ hierarchy of problem classes / representations ◮ problem specification language / representation ◮ advantages: combinatorial structure exploitable as explicitly

defined

Algorithmic side

◮ low-level heuristics (constructive, neighborhoods etc.) ◮ high-level guidance strategies ◮ integration of other techniques (e.g. matheuristics)

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 33

slide-34
SLIDE 34

Unfiltered list of ingredients / extensions

Low-level SLS components

◮ automatic generation of constructive heuristics from problem

specification

◮ automatic generation of perturbative local searches, incl.

VLNS

◮ search restrictions and speed-up

Higher-level SLS side

◮ decomposition and re-composition of SLS methods ◮ components XXL ◮ generation of templates and evaluation functions

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 34

slide-35
SLIDE 35

Unfiltered list of ingredients / extensions

Automatic configuration techniques

◮ extension to very-large scale configuration tasks ◮ informers, feature generation ◮ learning relationship problem-space to algorithm design space ◮ methodological improvements

Extensions

◮ stochastic / dynamic / multi-objective problems ◮ other techniques (MIP, CP etc.)

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 35

slide-36
SLIDE 36

Design questions

◮ how many frameworks? how to integrate various? ◮ what type of problems? ◮ what specific types of techniques?

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 36

slide-37
SLIDE 37

Design questions

◮ how many frameworks? how to integrate various? ◮ what type of problems? ◮ what specific types of techniques?

Automatic configuration of solver integration?

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 36

slide-38
SLIDE 38

Automated Algorithm Selection and Configuration, Dagstuhl, Germany 37