Generating mixed integer programming instances with challenging - - PowerPoint PPT Presentation

generating mixed integer programming instances with
SMART_READER_LITE
LIVE PREVIEW

Generating mixed integer programming instances with challenging - - PowerPoint PPT Presentation

Generating mixed integer programming instances with challenging properties Simon Bowly University of Melbourne AMSI Optimise June 20, 2019 Simon Bowly Generating mixed integer programming instances Outline Feature Performance Space Space


slide-1
SLIDE 1

Generating mixed integer programming instances with challenging properties

Simon Bowly

University of Melbourne

AMSI Optimise June 20, 2019

Simon Bowly Generating mixed integer programming instances

slide-2
SLIDE 2

Outline

Algorithm Feature Space Performance Space

Simon Bowly Generating mixed integer programming instances

slide-3
SLIDE 3

Outline

Algorithm Feature Space Performance Space Give an overview of... MIP solvers (in particular branching strategies) Generating new instances using evolutionary algorithms Characteristics of the generated instances

Simon Bowly Generating mixed integer programming instances

slide-4
SLIDE 4

MIP/Polyhedra

Mixed Integer Program maximize cTx subject to Ax ≤ b x ≥ 0 some or all xi integral

Simon Bowly Generating mixed integer programming instances

slide-5
SLIDE 5

MIP Solvers

Mixed Integer Program maximize cTx subject to Ax ≤ b x ≥ 0 some or all xi integral Many interacting components make up a MIP solver: Presolvers Cutting planes Primal heuristics Parallelisation LP solvers Branching rules Node selection rules Domain propagation

Simon Bowly Generating mixed integer programming instances

slide-6
SLIDE 6

MIP Solvers

Mixed Integer Program maximize cTx subject to Ax ≤ b x ≥ 0 some or all xi integral Many interacting components make up a MIP solver: Presolvers Cutting planes Primal heuristics Parallelisation LP solvers Branching rules Node selection rules Domain propagation

Simon Bowly Generating mixed integer programming instances

slide-7
SLIDE 7

Branching Strategies

Simon Bowly Generating mixed integer programming instances

slide-8
SLIDE 8

Branching Strategies

Simon Bowly Generating mixed integer programming instances

slide-9
SLIDE 9

Branching Strategies

Simon Bowly Generating mixed integer programming instances

slide-10
SLIDE 10

Branching Strategies

Most/Least Infeasible Pseudocosts Strong Branching Cheap Expensive Large Tree Small Tree

Simon Bowly Generating mixed integer programming instances

slide-11
SLIDE 11

Branching Strategies

Most/Least Infeasible Pseudocosts Strong Branching Cheap Expensive Large Tree Small Tree To conduct a branching study . . . Disable cuts beyond the root node Provide the optimal solution (Linderoth and Savelsbergh, 1999)

Simon Bowly Generating mixed integer programming instances

slide-12
SLIDE 12

Evolving Instances

Genetic algorithms Population based metaheuristic with fitness selection Crossover is the key search operator Previous applications to instance generation Finding worst-case bounds for sorting algorithm performance (Cotta and Moscato, 2003). Exposing strengths and weaknesses of heuristics (van Hemert, 2006; Langdon and Poli, 2007).

Simon Bowly Generating mixed integer programming instances

slide-13
SLIDE 13

Evolving Instances

How can we narrow the search space?

MIP f-LP LC

Constructor Mapped Search

Restrict search to feasible, bounded problems.

Simon Bowly Generating mixed integer programming instances

slide-14
SLIDE 14

Evolving Instances

Dual programs max cTx min bTy s.t. Ax + s = b ⇐ ⇒ s.t. ATy − r = c x, s ≥ 0 y, r ≥ 0 Optimality conditions (x, s) and (y, r) feasible to primal and dual xiri = 0 ∀ i yjsj = 0 ∀ j Construction b = Ax + s c = ATy − r

Simon Bowly Generating mixed integer programming instances

slide-15
SLIDE 15

Evolving Instances

Uniform row crossover:

  

a11 . . . a1n a21 . . . a2n a31 . . . a3n

     

b11 . . . b1n b21 . . . b2n b31 . . . b3n

     

a21 . . . a2n b21 . . . b2n a31 . . . a3n

     

a11 . . . a1n b31 . . . b3n b11 . . . b1n

  

Multi-objective NSGA-II algorithm (Deb et al., 2002) Small instances - 50 integer variables and 50 constraints fullstrong and relpscost branching strategies in SCIP 6.0.0

Simon Bowly Generating mixed integer programming instances

slide-16
SLIDE 16

Performance Discriminating Instances

10 20 30 40 50 60 70 80 FullStrong Nodes 200 400 600 800 1000 1200 Relpscost Nodes Source Random

Simon Bowly Generating mixed integer programming instances

slide-17
SLIDE 17

Performance Discriminating Instances

20 40 60 80 100 120 140 FullStrong Nodes 2000 4000 6000 8000 10000 Relpscost Nodes Source Random Full Strong Relpscost

Simon Bowly Generating mixed integer programming instances

slide-18
SLIDE 18

Properties of Generated Instances

Simon Bowly Generating mixed integer programming instances

slide-19
SLIDE 19

Properties of Generated Instances

0.0 0.2 0.4 0.6 0.8 Polyhedral Flatness 50 100 150 200 250 FullStrong Nodes 20 40 60 80 100 120 Relpscost Nodes / FullStrong Nodes

Simon Bowly Generating mixed integer programming instances

slide-20
SLIDE 20

Takeaways

Evolutionary generation allows us to search performance space by manipulating instances. Small instances can be generated which expose performance differences in fundamental components. Branching is just one facet of MIP solver performance - there’s more of the performance space to explore.

Simon Bowly Generating mixed integer programming instances

slide-21
SLIDE 21

References

Cotta, C. and Moscato, P. (2003). A mixed evolutionary-statistical analysis of an algorithm’s complexity. Applied Mathematics Letters, 16(1):41–47. Deb, K., Pratap, A., Agarwal, S., and Meyarivan, T. (2002). A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE transactions on evolutionary computation, 6(2):182–197. Langdon, W. and Poli, R. (2007). Evolving Problems to Learn About Particle Swarm Optimizers and Other Search Algorithms. IEEE Transactions on Evolutionary Computation, 11(5):561–578. Linderoth, J. T. and Savelsbergh, M. W. P. (1999). A Computational Study of Search Strategies for Mixed Integer Programming. INFORMS Journal on Computing, 11(2):173–187. van Hemert, J. (2006). Evolving Combinatorial Problem Instances That Are Difficult to Solve. Evolutionary Computation, 14(4):433–462.

Simon Bowly Generating mixed integer programming instances

slide-22
SLIDE 22

MATILDA

Simon Bowly Generating mixed integer programming instances

slide-23
SLIDE 23

MATILDA

Simon Bowly Generating mixed integer programming instances

slide-24
SLIDE 24

MATILDA

Simon Bowly Generating mixed integer programming instances