0% found this document useful (0 votes)
212 views26 pages

BARON Solver Algorithm

BARON is a global optimization solver that uses branch and bound and branch and reduce algorithms to solve mixed-integer nonlinear programs. It performs preprocessing to reduce the search space at each node, uses lower and upper bounding techniques like linear approximations to bound nonlinear expressions, and selects branching variables and nodes to explore next in its search for the global optimum. While it was designed to be modular and customizable, the documentation does not provide details on all steps of its algorithms.

Uploaded by

DamdaePark
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
212 views26 pages

BARON Solver Algorithm

BARON is a global optimization solver that uses branch and bound and branch and reduce algorithms to solve mixed-integer nonlinear programs. It performs preprocessing to reduce the search space at each node, uses lower and upper bounding techniques like linear approximations to bound nonlinear expressions, and selects branching variables and nodes to explore next in its search for the global optimum. While it was designed to be modular and customizable, the documentation does not provide details on all steps of its algorithms.

Uploaded by

DamdaePark
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

BARON:

Branch and Reduce Optimization


Navigator
A High Level Overview for CME334
Assembled by Thomas Lipp
What is BARON?
• BARON is a branch and bound non-linear, mixed
integer global optimization solver dating back to 1991,
although last updated in 2010
• Developed at University of Illionis at Urbana-
Champaign by Nikolaos Sahinidis.
• Problems can be stated in either the AIMMS or GAMS
modeling languages, although computing time is
available on the NEOS server for GAMS
• Objective and constraint functions must be factorable
• All non-linear variables and expressions must be
bounded from above and below
Branch and Bound Algorithms

A quick reminder of Branch and


Bound algorithms.

From:
Sahinidis, N. V. and M. Tawarmalani, BARON 9.0.4: Global
Optimization of Mixed-Integer Nonlinear Programs, User's
manual, 2010
What does the Baron Algorithm Look
like?

From:
Sahinidis, N. V. and M. Tawarmalani, BARON 9.0.4: Global
Optimization of Mixed-Integer Nonlinear Programs, User's
manual, 2010
What does each step do?
• Unfortunately, the Baron documentation does
not address each step fully. BARON is written to
be modular so that user subroutines can be used
to replace certain steps as needed.
• The creators are also trying to market BARON:
http://www.theoptimizationfirm.com/

• The subproblems are generally fed to existing


solvers: SNOPT, MINOS, CPLEX, etc.
Things I won’t be able to answer
• How does BARON handle mixed integers
• What exactly occurs in any given step
• There may be more information available in:
Available for $221.09, and not currently owned
by the Stanford Library.
What does BARON have to offer, then?
• BARON calls itself a branch and reduce
algorithm rather than a branch and bound
algorithm, and it is this “reducing” that will
provide the most insight.
• The modular nature of BARON allows it to be
tailored to your specific application.
Preprocessing on a Node

From:
Sahinidis, N. V. and M. Tawarmalani, BARON 9.0.4: Global
Optimization of Mixed-Integer Nonlinear Programs, User's
manual, 2010
Feasibility Based Range Reduction:
a “Poor Man’s LP”
• The solid outer box represents the
initial domain of the node.

• The solid inner box represents the


reduced domain by considering
each of the constraints individually.
“The Poor Man’s LP”

• The dotted boundary represents


solving for the limits on each
coordinate with all constraints active

• The shaded region is the true


feasible region.

From:
Sahinidis, N. V. and M. Tawarmalani, BARON 9.0.4: Global
Optimization of Mixed-Integer Nonlinear Programs, User's
manual, 2010
Lower Bounding

From:
Sahinidis, N. V. and M. Tawarmalani, BARON 9.0.4: Global
Optimization of Mixed-Integer Nonlinear Programs, User's
manual, 2010
Lower Bounding
This is an overview of the lower bounding scheme used by BARON, but is a little
complex to go over. Remember that one requirement of all of our functions was
that they be factorable:

From:
M. Tawarmalani and N. V. Sahinidis
(2004), ‘Global optimization of mixed-
integer
nonlinear programs: A theoretical and
computational study’, Math. Program.,
DOI 10.1007/s10107-003-0467-6

Note: there are other bounding


schemes discussed, but this appears to
be the one that is used
Lower Bounding Subroutines
Lower Bounding Bilinearities
xi x j  0
( xiU  xi )( xUj  x j )  0
xiU xUj  xiU x j  xiU x j  xi x j  0
xi x j  xiU x j  xiU x j  xiU xUj
xi x j  xiL x j  xiL x j  xiL x Lj
So create a new variable to replace the bilinearity
wij  0
wij  xiU x j  xiU x j  xiU xUj
wij  xiL x j  xiL x j  xiL x Lj
A similar procedure can be performed in the case xi x j  0
and for upper bounding.
Lower Bounding Linear Fractional
Terms
• The same inequalities used in the bilinear case can be
rearranged, with some added technicalities on sign to
produce the liner fractional inequalities:
Further Lower Bounding
• Once a lower bound is created, a linear
approximation of this bound will often be
created to further speed computation.

From:
M. Tawarmalani and N. V. Sahinidis
(2004), ‘Global optimization of mixed-
integer
nonlinear programs: A theoretical and
computational study’, Math. Program.,
DOI 10.1007/s10107-003-0467-6
Upper Bounding

From:
Sahinidis, N. V. and M. Tawarmalani, BARON 9.0.4: Global
Optimization of Mixed-Integer Nonlinear Programs, User's
manual, 2010
Post Processing on a Node

From:
Sahinidis, N. V. and M. Tawarmalani, BARON 9.0.4: Global
Optimization of Mixed-Integer Nonlinear Programs, User's
manual, 2010
Optimality Based Range Reduction
• We will first define three different problems:
Original problem

Relaxed problem

Perturbed problem
Optimality Based Range Reduction:
on an active constraint
In this example the upper bound range constraint is active on x

From:
Sahinidis, N. V. and M. Tawarmalani, BARON
9.0.4: Global Optimization of Mixed-Integer
Nonlinear Programs, User's manual, 2010

L: the solution of the relaxed problem R


U: an upper bound on the original problem P
Φ: Φ(y) unknown solution of R(y) but is L when y = 0, as R(0) = R.
Κj*: the range reduction if Φ(y)
Κj: the range reduction based on the supporting hyperplane of Φ(y), z
Z: a supporting hyperplane based on the Lagrange multiplier in the solution of R.
Optimality Based Range Reduction:
on an inactive constraint
In this example there is no range constraint active.

From:
Sahinidis, N. V. and M. Tawarmalani, BARON
9.0.4: Global Optimization of Mixed-Integer
Nonlinear Programs, User's manual, 2010

L: the solution of the relaxed problem R


U: an upper bound on the original problem P
zL: linear underestimator found by fixing the value of x to be xjL
zU: linear underestimator found by fixing the value of x to xjU
Κj*/πj*: the range reduction if the entire value function were known.
Κj/ πj: the range reduction based on the underestimators z.
Branching

From:
Sahinidis, N. V. and M. Tawarmalani, BARON 9.0.4: Global
Optimization of Mixed-Integer Nonlinear Programs, User's
manual, 2010
Branching: Variable Selection
• BARON uses a rectangular subdivision
scheme, so only a single variable is chosen for
each branching.
• The variable chosen to branch is the variable
that contributes the most to the “relaxation
gap”.
• This is a non trivial process as many additional
variables were introduced in our
underestimating step
Branching: Point Selection
• Periodically, branch at the midpoint
• Otherwise, branch at the solution of the lower
bounding problem.
• This decision is stored, but not executed until
the node is selected again.
Node Selection

From:
Sahinidis, N. V. and M. Tawarmalani, BARON 9.0.4: Global
Optimization of Mixed-Integer Nonlinear Programs, User's
manual, 2010
Node Selection
• Default BARON implementation is a composite
value based on lower bound, violation (sum of
violations of all variables) and order of
creation.
• If memory limits are approached BARON
switches to FIFO.
• As with all steps, customizable by the user.
For More Information
• Sahinidis, N. V. and M. Tawarmalani, BARON 9.0.4: Global Optimization of
Mixed-Integer Nonlinear Programs, User's manual, 2010

• M. Tawarmalani and N. V. Sahinidis , ‘Global optimization of mixed-integer


nonlinear programs: A theoretical and computational study, Math Program,
DOI 10.1007/s10107-003-0467-6, 2004

• M. Tawarmalani and N. V. Sahinidis, Convexification and global optimization in


continuous and mixed-integer nonlinear programming: theory, algorithms,
software, and applications, Springer, 2002

You might also like