71
AUTOMATED REAL-WORLD PROBLEM SOLVING EMPLOYING META-HEURISTICAL BLACK-BOX OPTIMIZATION November 2013 Daniel R. Tauritz, Ph.D. Guest Scientist, Los Alamos National Laboratory Director, Natural Computation Laboratory Department of Computer Science Missouri University of Science and Technology

Automated real-world problem solving EMPLOYING meta- heuristical black-box optimization

  • Upload
    elda

  • View
    31

  • Download
    0

Embed Size (px)

DESCRIPTION

Automated real-world problem solving EMPLOYING meta- heuristical black-box optimization. Daniel R. Tauritz, Ph.D. Guest Scientist, Los Alamos National Laboratory Director, Natural Computation Laboratory Department of Computer Science Missouri University of Science and Technology. - PowerPoint PPT Presentation

Citation preview

Page 1: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

AUTOMATED REAL-WORLD PROBLEM SOLVING EMPLOYING META-

HEURISTICAL BLACK-BOX OPTIMIZATION

November 2013

Daniel R. Tauritz, Ph.D.Guest Scientist, Los Alamos National Laboratory

Director, Natural Computation LaboratoryDepartment of Computer Science

Missouri University of Science and Technology

Page 2: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Black-Box Search Algorithms

• Many complex real-world problems can be formulated as generate-and-test problems

• Black-Box Search Algorithms (BBSAs) iteratively generate trial solutions employing solely the information gained from previous trial solutions, but no explicit problem knowledge

Page 3: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Practitioner’s Dilemma

1. How to decide for given real-world problem whether beneficial to formulate as black-box search problem?

2. How to formulate real-world problem as black-box search problem?

3. How to select/create BBSA?4. How to configure BBSA?5. How to interpret result?6. All of the above are interdependent!

Page 4: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

5

Theory-Practice Gap

• While BBSAs, including EAs, steadily are improving in scope and performance, their impact on routine real-world problem solving remains underwhelming

• A scalable solution enabling domain-expert practitioners to routinely solve real-world problems with BBSAs is needed

Page 5: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

6

Two typical real-world problem categories

• Solving a single-instance problem:automated BBSA selection

• Repeatedly solving instances of a problem class:

evolve custom BBSA

Page 6: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

7

Part I: Solving Single-Instance Problems

Employing Automated BBSA Selection

Page 7: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

8

Requirements

1. Need diverse set of high-performance BBSAs

2. Need automated approach to select most appropriate BBSA from set for a given problem

3. Need automated approach to configure selected BBSA

Page 8: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

9

Automated BBSA Selection

1. Given a set of BBSAs, a priori evolve a set of benchmark functions which cluster the BBSAs by performance

2. Given a real-world problem, create a surrogate fitness function

3. Find the benchmark function most similar to the surrogate

4. Execute the corresponding BBSA on the real-world problem

Page 9: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

10

Benchmark Generator

BBSA1 BBSA2 BBSAn…

BBSA1 BP1 BBSA2 BP2 BBSAn BPn…

A Priori, Once Per BBSA Set

Page 10: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

11

A Priori, Once Per Problem ClassReal-World Problem

Sampling Mechanism

Surrogate Objective Function

Match with most “similar” BPk

Identified most appropriate BBSAk

Page 11: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

12

Per Problem InstanceReal-World Problem

Sampling Mechanism

Surrogate Objective Function

Apply a priori established most appropriate BBSAk

Page 12: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

13

Requirements

1. Need diverse set of high-performance BBSAs

2. Need automated approach to select most appropriate BBSA from set for a given problem

3. Need automated approach to configure selected BBSA

Page 13: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Static vs. dynamic parameters

• Static parameters remain constant during evolution, dynamic parameters can change

• Dynamic parameters require parameter control

• The optimal values of the strategy parameters can change during evolution [1]

Page 14: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

15

Solution

Create self-configuring BBSAs employing dynamic strategy parameters

Page 15: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

16

Supportive Coevolution [3]

Page 16: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Dynamical Evolution of Parameters

• Individuals Encode Parameter Values

• Indirect Fitness

• Poor Scaling

Self Adaptation

Page 17: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Def.: In Coevolution, the fitness of an individual is dependent on other individuals (i.e., individuals are part of the environment)

Def.: In Competitive Coevolution, the fitness of an individual is inversely proportional to the fitness of some or all other individuals

Coevolution Basics

Page 18: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Primary Population– Encodes problem solution

• Support Population– Encodes configuration information

Supportive Coevolution

Primary Individual

Support Individual

Page 19: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Each Parameter Evolved Separately

• Propagation Rate Separated

Multiple Support Populations

Page 20: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Multiple Primary Populations

Page 21: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Rastrigin

• Shifted Rastrigin– Randomly generated offset vector– Individuals offset before evaluation

Benchmark Functions

Page 22: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• All Results Statistically Significant according to T-test with α = 0.001

Fitness Results

Problem SA SuCo

Rastrigin N = 10 -0.2390 (-0.4249) -0.0199 (-0.1393)

Rastrigin N = 20 -0.3494 (-0.4905) -1.4132 (-0.7481)

Shifted N = 10 -4.4215 (-1.8744) -2.2518 (-0.9811)

Shifted N = 20 -10.397 (-4.3567) -5.7718 (-2.2848)

Page 23: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Proof of Concept Successful– SuCo outperformed SA on all but on

test problem

• SuCo Mutation more successful– Adapts better to change in population

fitness

Conclusions

Page 24: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

25

Self-Configuring Crossover [2]

Page 25: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Performance Sensitive to Crossover Selection

• Identifying & Configuring Best Traditional Crossover is Time Consuming

• Existing Operators May Be Suboptimal

• Optimal Operator May Change During Evolution

Motivation

Page 26: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Meta-EA– Exceptionally time consuming

• Self-Adaptive Algorithm Selection– Limited by algorithms it can choose

from

Some Possible Solutions

Page 27: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Each Individual Encodes a Crossover Operator

• Crossovers Encoded as a List of Primitives– Swap– Merge

• Each Primitive has three parameters– Number, Random, or Inline

Self-Configuring Crossover (SCX)

Swap(3, 5, 2)

Swap(r, i, r)

Merge(1, r, 0.7)

Offspring Crossover

Page 28: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Applying an SCX

1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0

Parent 1 Genes Parent 2 Genes

Concatenate Genes

Page 29: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Each Primitive has a type– Swap represents crossovers

that move genetic material

• First Two Parameters– Start Position– End Position

• Third Parameter Primitive Dependent– Swaps use “Width”

The Swap Primitive

Swap(3, 5, 2)

Page 30: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Applying an SCX

1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0

Concatenate Genes

Swap(3, 5, 2)

Swap(r, i, r)

Merge(1, r, 0.7)

Offspring Crossover3.0 4.0 5.0 6.0

Page 31: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Third Parameter Primitive Dependent– Merges use “Weight”

• Random Construct– All past primitive parameters

used the Number construct– “r” marks a primitive using the

Random Construct– Allows primitives to act

stochastically

The Merge Primitive

Merge(1, r, 0.7)

Page 32: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Applying an SCX

1.0 2.0 5.0 6.0 3.0 4.0 7.0 8.0

Concatenate Genes

Merge(1, r, 0.7)

Swap(3, 5, 2)

Swap(r, i, r)

Offspring Crossover

0.7

g(1) = 1.0*(0.7) + 6.0*(1-0.7)

g(i) = α*g(i) + (1-α)*g(j)

2.5g(2) = 6.0*(0.7) + 1.0*(1-0.7)4.5

Page 33: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Only Usable by First Two Parameters

• Denoted as “i”

• Forces Primitive to Act on the Same Loci in Both Parents

The Inline Construct

Swap(r, i, r)

Page 34: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Applying an SCX

2.5 2.0 5.0 4.5 3.0 4.0 7.0 8.0

Concatenate Genes

Swap(r, i, r)

Merge(1, r, 0.7)

Swap(3, 5, 2)

Offspring Crossover2.0 4.0

Page 35: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Applying an SCX

2.5 4.0 5.0 4.5 3.0 2.0 7.0 8.0

Concatenate GenesRemove Exess Genes

Offspring Genes

Page 36: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Evolving Crossovers

Merge(1, r, 0.7)

Merge(i, 8, r)

Swap(r, i, r)

Parent 1 Crossover

Swap(4, 2, r)

Swap(r, 7, 3)

Parent 2 Crossover

Merge(r, r, r)

Offspring Crossover

Swap(3, 5, 2)

Page 37: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Compared Against– Arithmetic

Crossover– N-Point

Crossover– Uniform

Crossover

• On Problems– Rosenbrock– Rastrigin– Offset Rastrigin– NK-Landscapes– DTrap

Empirical Quality Assessment

Problem Comparison SCXRosenbrock -86.94 (54.54) -26.47 (23.33)Rastrigin -59.2 (6.998) -0.0088 (0.021)Offset Rastrigin -0.1175 (0.116) -0.03 (0.028)NK 0.771 (0.011) 0.8016 (0.013)DTrap 0.9782 (0.005) 0.9925 (0.021)

Page 38: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Requires No Additional Evaluation

• Adds No Significant Increase in Run Time– All linear operations

• Adds Initial Crossover Length Parameter– Testing showed results fairly insensitive to

this parameter– Even worst settings tested achieved better

results than comparison operators

SCX Overhead

Page 39: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Remove Need to Select Crossover Algorithm

• Better Fitness Without Significant Overhead

• Benefits From Dynamically Changing Operator

Conclusions

Page 40: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

41

Current Work

• Combining Support Coevolution and Self-Configuring Crossover by employing the latter as a support population in the former [4]

Page 41: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

42

Part II: Repeatedly Solving Problem Class Instances By

Evolving Custom BBSAs Employing Meta-GP [5]

Page 42: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Difficult Repeated Problems– Cell Tower Placement– Flight Routing

• Which BBSA, such as Evolutionary Algorithms, Particle Swarm Optimization, or Simulated Annealing, to use?

Problem

Page 43: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Automated Algorithm Selection

• Self-Adaptive Algorithms

• Meta-Algorithms

– Evolving Parameters / Selecting Operators

– Evolve the Algorithm

Possible Solutions

Page 44: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Evolving BBSAs employing meta-Genetic Programming (GP)

• Post-ordered parse tree

• Evolve a repeated iteration

Our Solution

Page 45: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Initialization

Check for Termination

Terminate

Iteration

Page 46: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Genetic Programing

• Post-ordered parse tree

• Evolve a repeated iteration

• High-level operations

Our Solution

Page 47: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Iteration

• Sets of Solutions

• Root returns ‘Last’ set

Parse Tree

Page 48: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Mutate

• Mutate w/o creating new solution (Tweak)

• Uniform Recombination

• Diagonal Recombination

Nodes: Variation Nodes

Page 49: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• k-Tournament

• Truncation

Nodes: Selection Nodes

Page 50: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• makeSet

• Persistent Sets

Nodes: Set Nodes

Page 51: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• makeSet

• Persistent Sets

• addSet

• ‘Last’ Set

Nodes: Set Nodes

Page 52: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Evaluates the nodes passed in

• Allows multiple operations and accurate selections within an iteration

Nodes: Evaluation Node

Page 53: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Meta-Genetic Program

Create Valid Population

Generate Children

Evaluate Children

Select Survivors CheckTermination

Page 54: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

BBSA Evaluation

Create Valid Population

Generate Children

Evaluate Children

Select Survivors Generate Children

Page 55: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Evaluations

• Iterations

• Operations

• Convergence

Termination Conditions

Page 56: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Deceptive Trap Problem

Testing

0 | 0 | 1 | 1 | 0

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.51

1.52

2.53

3.54

4.55

# of 1s

Fitn

ess

0 | 1 | 0 | 1 | 0 1 | 1 | 1 | 1 | 0

Page 57: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Problem Configuration– Bit-length = 100– Trap Size = 5

• Verification Problem Configurations– Bit-length = 100, Trap Size = 5– Bit-length = 200, Trap Size = 5– Bit-length = 105, Trap Size = 7– Bit-length = 210, Trap Size = 7

• External Verification

Testing (cont.)

Page 58: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Results

60% Success Rate

Page 59: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Results: Bit-Length = 100

Trap Size = 5

Page 60: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Results: Bit-Length = 200

Trap Size = 5

Page 61: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Results: Bit-Length = 105

Trap Size = 7

Page 62: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Results: Bit-Length = 210

Trap Size = 7

Page 63: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

BBSA1 BBSA2

BBSA3

Page 64: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

BBSA1

Page 65: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

BBSA2

Page 66: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

BBSA3

Page 67: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

Over-Specialization

Trained Problem Configuration

Alternate Problem Configuration

Page 68: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

BBSA2

Page 69: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

• Created novel meta-GP approach for evolving BBSAs tuned to specific problem classes

• Ideal for solving repeated problems• Evolved custom BBSA which

outperformed standard EA and hill-climber on all tested problem instances

• Future work includes adding additional primitives and testing against state-of-the-art BBSAs on more challenging problems

Summary

Page 70: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

71

Take Home Message

• Practitioners need automated algorithm selection & configuration

• The number of BBSAs is increasing rapidly, making the selection of the best one to employ for a given problem increasingly difficult

• Some recent BBSAs facilitate automated real-world problem solving

Page 71: Automated real-world problem  solving EMPLOYING meta- heuristical black-box  optimization

References[1] Brian W. Goldman and Daniel R. Tauritz. Meta-Evolved Empirical Evidence of

the Effectiveness of Dynamic Parameters. In Proceedings of the 13th Annual Conference Companion on Genetic and Evolutionary Computation (GECCO '11), pages 155-156, Dublin, Ireland, July 12-16, 2011.

[2] Brian W. Goldman and Daniel R. Tauritz. Self-Configuring Crossover. In Proceedings of the 13th Annual Conference Companion on Genetic and Evolutionary Computation (GECCO '11), pages 575-582, Dublin, Ireland, July 12-16, 2011.

[3] Brian W. Goldman and Daniel R. Tauritz. Supportive Coevolution. In Proceedings of the 14th Annual Conference Companion on Genetic and Evolutionary Computation (GECCO '12), pages 59-66, Philadelphia, U.S.A., July 7-11, 2012.

[4] Nathaniel R. Kamrath, Brian W. Goldman and Daniel R. Tauritz. Using Supportive Coevolution to Evolve Self-Configuring Crossover. In Proceedings of the 15th Annual Conference Companion on Genetic and Evolutionary Computation (GECCO '13), pages 1489-1496, Amsterdam, The Netherlands, July 6-10, 2013.

[5] Matthew A. Martin and Daniel R. Tauritz. Evolving Black-Box Search Algorithms Employing Genetic Programming. In Proceedings of the 15th Annual Conference Companion on Genetic and Evolutionary Computation (GECCO '13), pages 1497-1504, Amsterdam, The Netherlands, July 6-10, 2013.