A Fast Heuristic for GO and MINLP

Similar documents
From structures to heuristics to global solvers

Heuristics for nonconvex MINLP

Basic notions of Mixed Integer Non-Linear Programming

Some Recent Advances in Mixed-Integer Nonlinear Programming

Mixed Integer Non Linear Programming

Analyzing the computational impact of individual MINLP solver components

A Branch-and-Refine Method for Nonconvex Mixed-Integer Optimization

Software for Integer and Nonlinear Optimization

Solving Mixed-Integer Nonlinear Programs

Mixed-Integer Nonlinear Decomposition Toolbox for Pyomo (MindtPy)

Development of the new MINLP Solver Decogo using SCIP - Status Report

Rounding-based heuristics for nonconvex MINLPs

Machine learning, ALAMO, and constrained regression

23. Cutting planes and branch & bound

Development of an algorithm for solving mixed integer and nonconvex problems arising in electrical supply networks

Mixed Integer Programming:

Parallel PIPS-SBB Multi-level parallelism for 2-stage SMIPS. Lluís-Miquel Munguia, Geoffrey M. Oxberry, Deepak Rajan, Yuji Shinano

Using Interior-Point Methods within Mixed-Integer Nonlinear Programming

Mixed-Integer Nonlinear Programming

An Empirical Evaluation of a Walk-Relax-Round Heuristic for Mixed Integer Convex Programs

The Surprisingly Complicated Case of [Convex] Quadratic Optimization

Advances in Bayesian Network Learning using Integer Programming

MILP reformulation of the multi-echelon stochastic inventory system with uncertain demands

Optimization in Process Systems Engineering

Hot-Starting NLP Solvers

A Review and Comparison of Solvers for Convex MINLP

OQNLP: a Scatter Search Multistart Approach for Solving Constrained Non- Linear Global Optimization Problems

A Computational Comparison of Branch and Bound and. Outer Approximation Algorithms for 0-1 Mixed Integer. Brian Borchers. John E.

Integer Programming for Bayesian Network Structure Learning

Mixed Integer Programming (MIP) for Causal Inference and Beyond

Feasibility Pump for Mixed Integer Nonlinear Programs 1

Mathematical Programming techniques in Water Network Optimization

where X is the feasible region, i.e., the set of the feasible solutions.

Solving a Signalized Traffic Intersection Problem with NLP Solvers

Zebo Peng Embedded Systems Laboratory IDA, Linköping University

Indicator Constraints in Mixed-Integer Programming

MINLP: Theory, Algorithms, Applications: Lecture 3, Basics of Algorothms

GLOBAL OPTIMIZATION WITH GAMS/BARON

A Lifted Linear Programming Branch-and-Bound Algorithm for Mixed Integer Conic Quadratic Programs

SOLVING INTEGER LINEAR PROGRAMS. 1. Solving the LP relaxation. 2. How to deal with fractional solutions?

On handling indicator constraints in mixed integer programming

Can Li a, Ignacio E. Grossmann a,

Using Sparsity to Design Primal Heuristics for MILPs: Two Stories

Solving LP and MIP Models with Piecewise Linear Objective Functions

Overview of course. Introduction to Optimization, DIKU Monday 12 November David Pisinger

Nonlinear Optimization Solvers

An Active Set Strategy for Solving Optimization Problems with up to 200,000,000 Nonlinear Constraints

A Storm of Feasibility Pumps for Nonconvex MINLP

A Benders Algorithm for Two-Stage Stochastic Optimization Problems With Mixed Integer Recourse

Hill climbing: Simulated annealing and Tabu search

Outline. 1 Introduction. 2 Modeling and Applications. 3 Algorithms Convex. 4 Algorithms Nonconvex. 5 The Future of MINLP? 2 / 126

Can Li a, Ignacio E. Grossmann a,

AM 121: Intro to Optimization! Models and Methods! Fall 2018!

INTERIOR-POINT METHODS FOR NONCONVEX NONLINEAR PROGRAMMING: CONVERGENCE ANALYSIS AND COMPUTATIONAL PERFORMANCE

18 hours nodes, first feasible 3.7% gap Time: 92 days!! LP relaxation at root node: Branch and bound

A New Penalty-SQP Method

Math Models of OR: Branch-and-Bound

Gestion de la production. Book: Linear Programming, Vasek Chvatal, McGill University, W.H. Freeman and Company, New York, USA

Numerical Nonlinear Optimization with WORHP

Cutting Planes in SCIP

On Counting Lattice Points and Chvátal-Gomory Cutting Planes

Large Scale Semi-supervised Linear SVMs. University of Chicago

Multiperiod Blend Scheduling Problem

Click to edit Master title style

IE418 Integer Programming

Mixed-Integer Nonlinear Programming Formulation of a UAV Path Optimization Problem

Solving nonconvex MINLP by quadratic approximation

A note on : A Superior Representation Method for Piecewise Linear Functions by Li, Lu, Huang and Hu

Infeasibility Detection in Nonlinear Optimization

Low-ranksemidefiniteprogrammingforthe. MAX2SAT problem. Bosch Center for Artificial Intelligence

An Exact Optimization Algorithm for Linear Decomposition of Index Generation Functions

3E4: Modelling Choice. Introduction to nonlinear programming. Announcements

Nonconvex Generalized Benders Decomposition Paul I. Barton

Minotaur: A Mixed-Integer Nonlinear Optimization Toolkit

Exploring the Numerics of Branch-and-Cut for Mixed Integer Linear Optimization

Axioms of Density: How to Define and Detect the Densest Subgraph

On Handling Indicator Constraints in Mixed Integer Programming

A practical anytime algorithm for bipartizing networks

Toward scalable stochastic unit commitment. Part 2: Solver Configuration and Performance Assessment

Tight and Compact MILP Formulation for the Thermal Unit Commitment Problem

Process Integration Methods

Hybrid Evolutionary and Annealing Algorithms for Nonlinear Discrete Constrained Optimization 1. Abstract. 1 Introduction

Decision Making As An Optimization Problem

Optimization of a Nonlinear Workload Balancing Problem

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini

A note on : A Superior Representation Method for Piecewise Linear Functions

Integer Programming and Branch and Bound

NONLINEAR. (Hillier & Lieberman Introduction to Operations Research, 8 th edition)

An Efficient Heuristic Algorithm for Linear Decomposition of Index Generation Functions

Inexact Newton Methods and Nonlinear Constrained Optimization

A Framework for Modeling and Optimizing Dynamic Systems Under Uncertainty

Regularized optimization techniques for multistage stochastic programming

Mixed Integer Programming Solvers: from Where to Where. Andrea Lodi University of Bologna, Italy

Part III: Traveling salesman problems

Contents. Preface. 1 Introduction Optimization view on mathematical models NLP models, black-box versus explicit expression 3

Integer Programming for Bayesian Network Structure Learning

Scenario grouping and decomposition algorithms for chance-constrained programs

APPLIED MECHANISM DESIGN FOR SOCIAL GOOD

REGULAR-SS12: The Bernstein branch-and-prune algorithm for constrained global optimization of multivariate polynomial MINLPs

A MIXED INTEGER DISJUNCTIVE MODEL FOR TRANSMISSION NETWORK EXPANSION

Transcription:

A Fast Heuristic for GO and MINLP John W. Chinneck, M. Shafique, Systems and Computer Engineering Carleton University, Ottawa, Canada

Introduction Goal: Find a good quality GO/MINLP solution quickly. Trade off accuracy for speed No guarantee of finding optimum Target: very large, highly nonlinear GO/MINLP instances Method: use a fast approximate Global Optimizer within a B&B framework 2

The Fast Global Optimizer Why is nonconvex GO hard? Multiple disconnected feasible regions Multiple local optima Many places to look for optima Two main categories of solution methods: Space-covering global optimizers: Accurate, but slow: inherent tree search Multi-start local optimizers: Faster, but not as accurate: whole space not searched Goal: fast and reasonably accurate GO Trade a little accuracy for speed 3

GO Components Main idea: Multi-start based (for speed) Better exploration of the variable space before launching the local solver (for accuracy) Our main contribution Main steps: Goal: find local solver launch points that lead to global optimum 1. Latin Hypercube sampling in a defined launch box 2. Constraint Consensus concentration 3. Clustering 4. Simple Search 5. Local solver launches 4

1. LHC Sampling in the Launch Box LB 1 UB 2 UB 1 LB 2 Initial launch box based on empirical results: Most NLP solutions are in this range Shifted appropriately according to the bounds 5

2. Constraint Consensus (CC) [1] Projection method: iteratively adjusts point to reduce constraint violation(s). Quickly moves initial point to near-feasible final point. Very fast: no matrix inversion, no line search Reduces local solver time, improves success Start Point Compute Feasibility Vectors Compute Consensus Vector Update Point 6

Constraint Consensus ***add illustration of CC move CC start point After 1 iteration 7

3. Clustering of CC end points (CB) Single linkage clustering: pts closer than critical distance assigned to same cluster Critical distance: based on distribution of inter-point distances Small distances: points in same cluster Large distances: points in different clusters Choose critical distance based on this Effect: clusters correlate with feasible regions 8

LHC Final clusters CC end pts Inter- point distances 9

4. Simple Search (SS) Derivative-free neighborhood search for better points considers both feasibility and objective function Point quality metric (minimization): Penalty function: P(x) = f(x) + (maximum violation) 2 x 1. Interior random search 2. Exterior random search x Replace worst point Continue until no improvement for several iterations 10

LHC Serial Serial, but parallelizable. 2-4 rounds. CC CB Parallel Serial Complete GO Algorithm SS Parallel Select launch pts Local solver Serial. Identify x having best P(x) value. Note it s round. Take best point in each of 3 best clusters in that round. Parallel Result 11

Experimental Setup: Software OS: Fedora 17, 64 bit. Compiler: GCC 4.7.2 Modelling language: AMPL, presolver on Local solver: IPOPT 3.11.1, linear solver MA86 serial mode, default settings Parameter settings: Time limit: 1800 seconds (half an hour) Feasibility tolerance: 1 10-6 throughout LHC parameters: 60 points, launch box edge length 2 10 4 CC parameters: max 100 iterations per CC run, time limit: 1 sec/run CB parameter: max 25 clusters SS parameters: at least 10 points per cluster, continue improving until three successive failures. 2 rounds 12

Experimental Setup Hardware: 4-core, 3.4 GHz, 64-bit Intel i7-2600, 16 GB RAM Compare to: Knitro (multistart, parallel mode), SCIP, Couenne BARON not available for AMPL input Test models: Test set: 94 CUTEr [2] models having at least one nonlinear function (constraint or objective) and 300+ constraints (before AMPL presolve) 48 have linear constraints with nonlinear objective 46 have nonlinear constraints Tuning set: a different set of 35 models 13

CCGO vs. KNITRO: First Incumbent Multistart: 5 runs of each method Comparing median values Time diff < 1 sec = same Linear Constraints (48) CCGO KNITRO same better better Obj 15 15 18 0.313 0.313 0.375 Speed 0 3 45 0.000 0.063 0.938 Fails 0 0 Nonlinear Constraints (46) Comparable Subset (34) CCGO KNITRO same better better Obj 25 2 7 0.735 0.059 0.206 Speed 0 24 10 0.000 0.706 0.294 Fails 11 3 14

CCGO vs. Knitro: Final Solution Multistart: 5 runs of each method Comparing median values Time diff < 1 sec = same Linear Constraints (48) CCGO KNITRO same better better Obj 20 7 21 0.417 0.146 0.438 Speed 0 10 38 0 0.208 0.792 Fails 0 0 Nonlinear Constraints (46) Comparable Subset (34) CCGO KNITRO same better better Obj 19 1 14 0.559 0.029 0.412 Speed 1 29 4 0.029 0.853 0.118 Fails 11 3 15

CCGO vs. Knitro: Conclusions Both are multistart methods Linear constraints: similar first incumbent solutions, Knitro better final solutions Knitro faster Nonlinear Constraints: frequently similar first incumbents and final solutions, Knitro overall better solutions CCGO faster Knitro more robust (fewer failures) Questions How much of the difference is due to the use of Ipopt in CCGO vs the Knitro local solver? 16

CCGO vs. SCIP and Couenne: First Incumbent CCGO median vs. others Linear Constraints (48) CCGO Best SCIP Best Couenne Best Obj 35 (76%) 2 (4%) 27 (59%) Speed 4 (9%) 26 (57%) 30 (65%) Fails 0 (0%) 9 (20%) 10 (22%) Nonlinear Constraints (46) CCGO Best SCIP Best Couenne Best Obj 26 (57%) 5 (11%) 32 (70%) Speed 3 (7%) 11 (24%) 32 (70%) Fails 11 (24%) 31 (67%) 12 (26%) 17

CCGO vs. SCIP and Couenne: Final Solution CCGO median vs. others Linear Constraints (48) CCGO Best SCIP Best Couenne Best Obj 37 (77%) 1 (2%) 28 (58%) Speed 43 (90%) 5 (10%) 0 (0%) Fails 0 (0%) 9 (19%) 10 (21%) Nonlinear Constraints (46) CCGO Best SCIP Best Couenne Best Obj 26 (57%) 6 (13%) 36 (78%) Speed 29 (63%) 7 (15%) 13 (28%) Fails 11 (24%) 31 (67%) 12 (26%) 18

CCGO vs. SCIP and Couenne: Conclusions Linear Constraints: CCGO much more robust 1 st inc.: CCGO best solns but slowest Final: CCGO best solns, speed, robustness Nonlinear Constraints: CCGO most robust 1 st inc.: Couenne best. CCGO good soln quality but slowest. Final: CCGO good soln quality and fastest. SCIP and Couenne use initial heuristics that find an early incumbent. 19

fraction of models Comparing all 4 Solvers: Nonlinear Constraints Fraction of models having solution within 1% of best obj fcn value found CCGO Knitro SCIP Couenne 63.0% 89.1% 4.3% 71.7% 1 0.9 0.8 Solution Time Solution returned for % of models 0.7 0.6 0.5 0.4 0.3 CCGO Knitro SCIP Couenne CCGO Knitro SCIP Couenne 76.1% 93.5% 32.6% 73.9% 0.2 0.1 0 0 2000 4000 6000 8000 10000 % worse than best 20

Towards MINLP Goal: few local solver launches 1. Solve GO problem approximately LHC-CC-CB-SS, but no local solver launch 2. B&B using values for integer variables at approximate GO solution 3. When all integer variables fixed at integer values, launch local solver 4. Continue B&B as usual 21

Branching Issues Approximate solution affects branching MILP: Exact solver Branching tends to increase integrality MINLP with approximate GO solution: Branching may not force early integrality May have to branch until upper bound = lower bound 22

Branching Issues (contd) Round to integrality within a (larger) tolerance (e.g. 0.1)? Seed the initial random sample of the new subspace with a rounded solution. E.g. Parent solution (11.6, 12.2, 9.5) Down branch special point (11.6, 12.2, 9.0) Up branch special point (11.6, 12.2, 10.0) Take action if too many open nodes E.g. round integer variables and launch local solver to get a better incumbent 23

Spatial Branching Likely not needed If needed: CC start-end pairs map basins of attraction for feasible regions Subdivide using CC start-end pairs to define basins of attraction 24

MINLP results to date Test set: 8 small general MINLP instances from minlplib2 [3]. Name #Vars #BinVars #IntVars #Cons eg_all_s 8 0 7 28 eg_disc2_s 8 0 3 28 gear3 8 0 4 4 m7_ar4_1 112 0 42 269 m7_ar5_1 112 0 42 269 nvs01 3 0 2 3 o7_ar2_1 112 0 42 269 o7_ar3_1 112 0 42 269 IPOPT runtime = maximum 50 seconds Kept track of first 100 nodes in B&B tree 5.1 integer-feasible solutions found on avg 25

Conclusions GO results are promising Soln quality good Soln speed very good for nonlinear constraints Future work: GO parameter optimization Incorporation of new heuristics for robustness and quick first incumbent Improved integer branching 26

Looking for a good post-doc Topic: concurrent optimization About Ottawa, Canada: Canada s capital Many fine museums, outdoor festivals Canoeing, kayaking, hiking, camping, skiing Close(ish) to Montreal English/French bilingual Must like snow 27