generating mixed integer programming instances with
play

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


  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

  2. Outline Feature Performance Space Space Algorithm Simon Bowly Generating mixed integer programming instances

  3. Outline Feature Performance Space Space Algorithm 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

  4. MIP/Polyhedra Mixed Integer Program c T x maximize subject to Ax ≤ b x ≥ 0 some or all x i integral Simon Bowly Generating mixed integer programming instances

  5. MIP Solvers Mixed Integer Program c T x maximize subject to Ax ≤ b x ≥ 0 some or all x i integral Many interacting components make up a MIP solver: LP solvers Presolvers Branching rules Cutting planes Node selection rules Primal heuristics Domain propagation Parallelisation Simon Bowly Generating mixed integer programming instances

  6. MIP Solvers Mixed Integer Program c T x maximize subject to Ax ≤ b x ≥ 0 some or all x i integral Many interacting components make up a MIP solver: LP solvers Presolvers Branching rules Cutting planes Node selection rules Primal heuristics Domain propagation Parallelisation Simon Bowly Generating mixed integer programming instances

  7. Branching Strategies Simon Bowly Generating mixed integer programming instances

  8. Branching Strategies Simon Bowly Generating mixed integer programming instances

  9. Branching Strategies Simon Bowly Generating mixed integer programming instances

  10. Branching Strategies Cheap Expensive Large Tree Small Tree Strong Most/Least Pseudocosts Branching Infeasible Simon Bowly Generating mixed integer programming instances

  11. Branching Strategies Cheap Expensive Large Tree Small Tree Strong Most/Least Pseudocosts Branching Infeasible 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

  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

  13. Evolving Instances How can we narrow the search space? Constructor L C f-LP Mapped MIP Search Restrict search to feasible, bounded problems. Simon Bowly Generating mixed integer programming instances

  14. Evolving Instances Dual programs c T x b T y max min A T y − r = c s.t. Ax + s = b ⇐ ⇒ s.t. x , s ≥ 0 y , r ≥ 0 Optimality conditions ( x , s ) and ( y , r ) feasible to primal and dual x i r i = 0 ∀ i y j s j = 0 ∀ j Construction b = Ax + s c = A T y − r Simon Bowly Generating mixed integer programming instances

  15. Evolving Instances Uniform row crossover:     a 11 a 1 n b 11 b 1 n . . . . . . a 21 a 2 n b 21 b 2 n     . . . . . .     a 31 a 3 n b 31 b 3 n . . . . . .     a 21 a 2 n a 11 a 1 n . . . . . . b 21 b 2 n b 31 b 3 n     . . . . . .     a 31 a 3 n b 11 b 1 n . . . . . . 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

  16. Performance Discriminating Instances 1200 1000 800 Relpscost Nodes 600 Source Random 400 200 0 10 20 30 40 50 60 70 80 FullStrong Nodes Simon Bowly Generating mixed integer programming instances

  17. Performance Discriminating Instances 10000 8000 6000 Relpscost Nodes Source Random Full Strong Relpscost 4000 2000 0 0 20 40 60 80 100 120 140 FullStrong Nodes Simon Bowly Generating mixed integer programming instances

  18. Properties of Generated Instances Simon Bowly Generating mixed integer programming instances

  19. Properties of Generated Instances 250 120 200 100 Relpscost Nodes / FullStrong Nodes 80 150 FullStrong Nodes 60 100 40 50 20 0 0.0 0.2 0.4 0.6 0.8 Polyhedral Flatness Simon Bowly Generating mixed integer programming instances

  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

  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

  22. MATILDA Simon Bowly Generating mixed integer programming instances

  23. MATILDA Simon Bowly Generating mixed integer programming instances

  24. MATILDA Simon Bowly Generating mixed integer programming instances

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend