• No results found

SBB: A New Solver for Mixed Integer Nonlinear Programming

N/A
N/A
Protected

Academic year: 2021

Share "SBB: A New Solver for Mixed Integer Nonlinear Programming"

Copied!
24
0
0

Loading.... (view fulltext now)

Full text

(1)

SBB: A New Solver for

Mixed Integer Nonlinear

Programming

Michael R. Bussieck

GAMS Development Corp.

Arne S. Drud

ARKI Consulting & Development A/S OR2001, Duisburg

(2)

Overview

!

SBB =

Simple

Branch & Bound

!

Introduction: The MINLP Model

!

The B&B Algorithm

!

The SBB Design Criteria and Implementation

!

Pseudo Cost Variable Selection

!

Computational Experiments

(3)

The MINLP Model

! Min or max f(x,y) s.t. g(x,y) = b

l < x < u continuous li < y < ui integer

! For convenience we only discuss “Min”

! SBB handles also: SOS1, SOS2, SemiContinuous,

and SemiInteger Variables

! Integrality Constraints on y removed: RMINLP

! A Node is the RMINLP model with tightened

(4)

The B&B Algorithm

Solve RMINLP

Initialize/Store In a Node Table Is the Node Table empty? Select

SelectSelect

Select a Node,

remove from Table, and Solve

Infeasible or Obj worse than Best? Integer Solution?

Select SelectSelect

Select a fractional discrete

Variable. Create/store 2 nodes with Tighter Infeasible Bounds

Report and Stop Report and Stop Yes Unbounded Infeasible Integer Yes Store Solution Update Best Remove Nodes With worse Obj Yes

(5)

Local/Global Optimization Issues

!

Nodes solved with an NLP Local Optimization

Algorithm. Potential Problems are:

! Search Tree can incorrectly be cut off:

! A node is declared “Infeasible” even though it is only “locally infeasible” and there exist feasible regions.

! A node is fathomed because the objective for the node is a poor approximation for the global optimum for the

node.

! Problems will occur if the NLP solver fails

!

RMINLP model is

convex

in both

x

and

y

(6)

Design Objectives

!

Use any existing GAMS NLP solver

! CONOPT, MINOS, SNOPT

! PATHNLP, CPLEXSLP

!

Handle solver failures

!

Help against incorrect infeasibilities

(7)

Implementation - Concept

GAMS Process

Model Files Solution Files

Solver Process SBB Process

Revised Model Files RMINLP Solution Files

(8)

Efficient SBB Implementation

GAMS Process

Model Files Solution Files

Solver Process

Node File Primal + Dual Solution

SBB Process

Bound Revision File RMINLP Solution Files

(9)

Solving the RMINLP Submodels

Child Node with few primal Infeasibilities, Dual Feasible Parent Node with known

Optimal Solution

(10)

Some SBB Options

! failseq solver1.opt1 solver2.opt2

! Try solver1 with options defined by opt1. If it fails, try solver2 with options defined by opt2, etc. If all fail, ignore the node and continue the search

! infeasseq level solver1.opt1 solver2.opt2

! If a node with depth < level is locally infeasible then try solver1 with options defined by opt1, etc.

! rootsolver solver.opt

! Use a special solver/option pair for the root node

! subiter/subres max

(11)

Pseudo Cost Variable Selection

!

F set of

binary

variables with fractional

value in optimum solution of RMINLP

!

|F|>1: Variable selection problem

! Min/max (integer) infeasibility ! Pseudo cost (PC)

! Make important decisions early in the B&B tree

! Measured by change in the objective of both children nodes

! Reduces tree size

(12)

PC: Definition and Selection

!

Definition:

! obj* objective in parent node

! x* optimum solution in parent node

! Upbranch: Downbranch:

!

We don’t want

!

* * 1 , 1 i i i x obj obj c x − − = = * * , 0 i i i x obj obj c x = = − )) , (min( max arg ' i i F i c c i ∈ =

tiny

c

big

c

i

=

,

i

=

(13)

PC: Initialization and Update

! Initialization

! Non linear ???

! Ask solver (CONOPT) to produce PC by solving 2|F| NLPs internally (without overhead of I/O, presolve, scaling, …)

! Terminate early if

! Have large and

! Feasible and objdiff tiny

! Update

! nth update

! After solving child node with ! After … …

0

'

=

i

x

1

'

=

i

x

n x obj obj c c i i i * / * ' '         − + = i c ci 0 1 Objective difference
(14)

Computational Experiments

!

MINLP Solver

! SBB (Branch & Bound)

! DICOPT (Outer Approximation)

! FilterBB (B&B)

! AlphaECP/mittlp (Extended Cutting Plane)

! MINOPT/LINGO algorithms

!

MINLP Solver (Global Optimization)

! BARON (Branch and Reduce)

(15)

Tests

! GAMS/DICOPT

! GAMS/SBB

! Default, Pseudo Cost Variable Selection

! FilterBB (AMPL Interface)

! Test library MINLPLib

! 139 MINLP models (existing collections + difficult client models)

! http://www.gamsworld.org/minlp

! DICOPT/FilterBB do not support SOS1/2 and semi continuous variables (7 models).

! 10 minutes time limit (1GHz PC)

(16)
(17)
(18)

SBB/DICOPT Comparison

Opt = “optimal” Int = integer solution Nis = no int solution
(19)

Quality/Speed SBB/DICOPT

! Test on 80 models that were reported “optimal” in both cases. ! All experiments on 1GHz Linux PC ! Total times ! SBB: 1572s ! DICOPT: 258s

(20)
(21)
(22)

Quality/Speed SBB-PC/SBB

! Test on 103 models that were reported “optimal” in both cases. ! Total times ! Faster ! SBB-PC: 1246s ! SBB: 2187s ! Slower ! SBB-PC: 1874s ! SBB: 599s

(23)

<1% 10% 100% >100% DICOPT (49) FilterBB (45) SBB (55) SBB-PC (58) 51 4 1 2 49 3 1 2 37 3 4 1 30 7 8 4 0 10 20 30 40 50 60

Global Solutions???

! Test on 62 models for which the global optimum is known (Global optimization solver BARON)

! Relative gap: | | | | glob glob obj obj obj rgap = −

(24)

Future Work/Conclusions

! Today MINLP is at the stage where MIP was long

time ago 10-15 years ago

! Model Formulations:

! Recommendations for good formulations and warnings against bad formulations

! Preprocessing

! Algorithmic/Theoretical Work:

! Preprocessing, Probing

! Cut Generation, …

! Serious MINLP modelers/users need more than

References

Related documents

The purpose of this study was to determine the relative and absolute reliability of the assessment of ambulatory walking activity during 2 consecutive weeks in patients with

FIERST DISTRIBUTING COMPANY 746 TRUMBULL DRIVE.

The General Terms and Conditions of company Event Rent GmbH shall apply; these can be obtained or accessed on the Internet at www.eventrent.de All prices plus actual VAT.. We

I know that the NMSS spends a lot of time and has a lot of people involved in reviewing different material that goes out about progress, research or treatment, making sure

Following registration, Applicants will be called for an interview. On the day of the interview, please bring all the accompanying family members, as well as

Digital health tools can track and back fill surgery cancellations, free doctors from taking notes during virtual visits, identify patients at risk for treatment failure, triage

We can view some optimization problems as two-stage problems where the decision vector has two distinct parts. At the first stage, before a realization of the corresponding

Figure 1 (a) shows that there is only one lexical match in this example: the bigram (aaA laB) at position 5 in the query word matches with the same bigram at position 5 in