Bonmin  1.7
Classes | Typedefs | Enumerations | Functions
Bonmin Namespace Reference

(C) Copyright International Business Machines Corporation 2007 More...

Classes

class  BonminAmplSetup
class  BabSetupBase
 A class to have all elements necessary to setup a branch-and-bound. More...
class  BonminSetup
class  CbcStrategyChooseCuts
 A class to setup default strategy for Cbc specifying which cut generators to use. More...
class  SubMipSolver
 A very simple class to provide a common interface for solving MIPs with Cplex and Cbc. More...
class  HotInfo
class  BonChooseVariable
 This class chooses a variable to branch on. More...
class  CurvBranchingSolver
 Implementation of BonChooseVariable for curvature-based braching. More...
class  LpBranchingSolver
 Implementation of BonChooseVariable for curvature-based braching. More...
class  PseudoCosts
class  QpBranchingSolver
 This class chooses a variable to branch on. More...
class  DummyHeuristic
class  EcpCuts
class  MinlpFeasPump
class  OACutGenerator2
 Class to perform OA in its classical form. More...
class  OaDecompositionBase
 Base class for OA algorithms. More...
class  OaFeasibilityChecker
 Class to perform OA in its classical form. More...
class  OaMessages
 Output messages for Outer approximation cutting planes. More...
class  OaNlpOptim
 Generate cuts for the nlp corresponding to continuous relaxation at a node. More...
class  LinearCutsGenerator
class  OuterApprox
 A class to build outer approximations. More...
class  QuadCut
class  Cuts
 Generalizes OsiCuts to handle quadratic cuts. More...
class  QuadRow
 Stores a quadratic row of the form l < c + ax + x^T Q x < u. More...
struct  TMat
class  TMINLP2TNLPQuadCuts
 This is a derived class fro TMINLP2TNLP to handle adding quadratic cuts. More...
class  TMINLPLinObj
 From a TMINLP, this class adapts to another TMINLP where the original objective is transformed into a constraint by adding an extra variable which is minimized. More...
class  BabInfo
 Bonmin class for passing info between components of branch-and-cuts. More...
class  Bab
class  CbcNlpStrategy
class  BonCbcFullNodeInfo
 Holds information for recreating a subproblem by incremental change from the parent for Bonmin. More...
class  BonCbcPartialNodeInfo
 Holds information for recreating a subproblem by incremental change from the parent for. More...
class  CbcDiver
 Class to do diving in the tree. More...
class  CbcProbedDiver
 Class to do probed diving in the tree. More...
class  CbcDfsDiver
 A more elaborate diving class. More...
class  DiverCompare
class  GuessHeuristic
class  DummyPump
class  FixAndSolveHeuristic
class  HeuristicDive
class  HeuristicDiveFractional
class  HeuristicDiveMIP
class  HeuristicDiveMIPFractional
class  HeuristicDiveMIPVectorLength
class  HeuristicDiveVectorLength
class  HeuristicFPump
class  RoundingFPump
class  HeuristicLocalBranching
class  HeuristicRINS
class  LocalSolverBasedHeuristic
class  MilpRounding
class  PumpForMinlp
class  AmplInterface
 Class for providing an Osi interface to Ipopt with an ampl nl file as input. More...
class  AmplTMINLP
 Ampl MINLP Interface. More...
class  SolReader
 A class for reading a .col or .row file containing name for variables and constraints (usually ampl generated file). More...
class  AuxInfo
 Bonmin class for passing info between components of branch-and-cuts. More...
class  BoundsReader
 Reads a file containing change bounds for variables. More...
class  BranchingTQP
 This is an adapter class that converts a TMINLP2TNLP object into a TNLP, which is now just a QP. More...
class  NamesReader
 A class for reading a .col or .row file containing name for variables and constraints (usually ampl generated file). More...
class  CurvatureEstimator
class  CutStrengthener
 Class for strengthening OA cuts, and generating additional ones. More...
class  OsiTMINLPInterface
 This is class provides an Osi interface for a Mixed Integer Linear Program expressed as a TMINLP (so that we can use it for example as the continuous solver in Cbc). More...
class  RegisteredOptions
 Class to add a few more information to Ipopt::RegisteredOptions. More...
class  StartPointReader
 This class reads a file with a starting point for Ipopt initalization. More...
class  StrongBranchingSolver
 This class is the base class for a solver that can be used in BonOsiSolverInterface to perform the strong branching solves. More...
class  TMINLP
 Base class for all MINLPs that use a standard triplet matrix form and dense vectors. More...
class  TMINLP2OsiLP
 A transformer class to build outer approximations i.e. More...
class  TMINLP2TNLP
 This is an adapter class that converts a TMINLP to a TNLP to be solved by Ipopt. More...
class  TNLP2FPNLP
 This is an adapter class to convert an NLP to a Feasibility Pump NLP by changing the objective function to the (2-norm) distance to a point. More...
class  TNLPSolver
 This is a generic class for calling an NLP solver to solve a TNLP. More...
class  vector
 A small wrap around std::vector to give easy access to array for interfacing with fortran code. More...
struct  SimpleReferenced
struct  SimpleReferencedPtr
class  BqpdSolver
class  BqpdWarmStart
 Warm start for filter interface. More...
class  FilterSolver
class  FilterWarmStart
 Warm start for filter interface. More...
class  FilterWarmStartDiff
class  IpoptInteriorWarmStarter
class  IpoptSolver
class  IpoptWarmStart
 Class for storing warm start informations for Ipopt. More...
class  IpoptWarmStartDiff
 Diff class for IpoptWarmStart. More...

Typedefs

typedef std::list< QuadCut * > list_QuadCut
typedef std::pair< int, int > matEntry
 Store column and row of the entry.
typedef std::pair< int, int > matIdx
 Store the number of times entry is used and its index in the matrix.
typedef std::map< matEntry,
matIdx
AdjustableMat

Enumerations

enum  Algorithm {
  Dummy = -1, B_BB = 0, B_OA = 1, B_QG = 2,
  B_Hyb = 3, B_Ecp = 4, B_IFP = 5
}
 Type of algorithms which can be used. More...
enum  OA_Message {
  FEASIBLE_NLP, INFEASIBLE_NLP, UPDATE_UB, SOLVED_LOCAL_SEARCH,
  LOCAL_SEARCH_ABORT, UPDATE_LB, ABORT, OASUCCESS,
  OAABORT, OA_STATS, LP_ERROR, PERIODIC_MSG,
  FP_DISTANCE, FP_MILP_VAL, FP_MAJOR_ITERATION, FP_MINOR_ITERATION,
  DUMMY_END
}
enum  MatrixStorageType { Upper, Lower, Full }
enum  CutStrengtheningType { CS_None = 0, CS_StrengthenedGlobal = 1, CS_UnstrengthenedGlobal_StrengthenedLocal = 2, CS_StrengthenedGlobal_StrengthenedLocal = 3 }
enum  DisjunctiveCutType { DC_None = 0, DC_MostFractional = 1 }
enum  ErrorCodes { ERROR_IN_AMPL_SUFFIXES = 111, UNSUPPORTED_CBC_OBJECT }
 Some error codes for uncatachable errors. More...
enum  Solver { EIpopt = 0, EFilterSQP, EAll }
 Solvers for solving nonlinear programs. More...

Functions

bool integerFeasible (OsiSolverInterface &si, const OsiBranchingInformation &info, double integer_tolerance, OsiObject **objects=0, int nObjects=-1)
 Check for integer feasibility of a solution return true if it is feasible.
void fixIntegers (OsiSolverInterface &si, const OsiBranchingInformation &info, double integer_tolerance, OsiObject **objects=0, int nObjects=-1)
 Fix integer variables in si to their values in colsol.
void relaxIntegers (OsiSolverInterface &si, const OsiBranchingInformation &info, double integer_tolerance, OsiObject **objects=0, int nObjects=-1)
 Relax integer variables in si.
bool isDifferentOnIntegers (OsiSolverInterface &si, OsiObject **objects, int nObjects, double integer_tolerance, const double *colsol, const double *other)
 Check if two solutions are the same on integer variables.
void installCuts (OsiSolverInterface &si, const OsiCuts &cs, int numberCuts)
 Install cuts in solver.
template<class X >
void resizeAndCopyArray (X *&array, unsigned int oldSize, unsigned int newSize)
template<class X >
void resizeAndCopyArray (X *&array, unsigned int oldSize, unsigned int newSize, unsigned int &capacity)
bool isNlpFeasible (TMINLP2TNLP *minlp, const double primalTolerance)
 checks if the NLP relaxation of the problem is feasible
void adjustPrimalTolerance (TMINLP2TNLP *minlp, double &primalTolerance)
 Adjusts the primalTolerance in case some of the constraints are violated.
int std_m (int n)
int warn_m (int n)
int err_m (int n)
 DECLARE_STD_EXCEPTION (TMINLP_INVALID)
 DECLARE_STD_EXCEPTION (TMINLP_INVALID_VARIABLE_BOUNDS)
template<class X >
SimpleReferenced< X > * make_referenced (X other)
template<class X >
SimpleReferencedPtr< X > * make_referenced (X *other)

Detailed Description

(C) Copyright International Business Machines Corporation 2007

DiveVectorLength class.

DiveMIPVectorLength class.

DiveMIPFractional class.

DiveFractional class.


Typedef Documentation

typedef std::list<QuadCut*> Bonmin::list_QuadCut

Definition at line 212 of file BonQuadCut.hpp.

typedef std::pair<int, int> Bonmin::matEntry

Store column and row of the entry.

Definition at line 20 of file BonQuadRow.hpp.

typedef std::pair<int, int> Bonmin::matIdx

Store the number of times entry is used and its index in the matrix.

Definition at line 22 of file BonQuadRow.hpp.

Definition at line 26 of file BonQuadRow.hpp.


Enumeration Type Documentation

Type of algorithms which can be used.

Enumerator:
Dummy 
B_BB 
B_OA 
B_QG 
B_Hyb 
B_Ecp 
B_IFP 

Definition at line 15 of file BonBonminSetup.hpp.

Enumerator:
FEASIBLE_NLP 
INFEASIBLE_NLP 
UPDATE_UB 
SOLVED_LOCAL_SEARCH 
LOCAL_SEARCH_ABORT 
UPDATE_LB 
ABORT 
OASUCCESS 
OAABORT 
OA_STATS 
LP_ERROR 
PERIODIC_MSG 
FP_DISTANCE 
FP_MILP_VAL 
FP_MAJOR_ITERATION 
FP_MINOR_ITERATION 
DUMMY_END 

Definition at line 16 of file BonOAMessages.hpp.

Enumerator:
Upper 

Stores only the upper triangle of a symetric Q.

Lower 

Stores the lower triangle of a symetric Q.

Full 

Stores the whole matrix of a non-symetric Q.

Definition at line 22 of file BonQuadCut.hpp.

Enumerator:
CS_None 
CS_StrengthenedGlobal 
CS_UnstrengthenedGlobal_StrengthenedLocal 
CS_StrengthenedGlobal_StrengthenedLocal 

Definition at line 18 of file BonCutStrengthener.hpp.

Enumerator:
DC_None 
DC_MostFractional 

Definition at line 25 of file BonCutStrengthener.hpp.

Some error codes for uncatachable errors.

Enumerator:
ERROR_IN_AMPL_SUFFIXES 
UNSUPPORTED_CBC_OBJECT 

There is a CbcObject in the model which is not understood by Bonmin.

Definition at line 7 of file BonExitCodes.hpp.

Solvers for solving nonlinear programs.

Enumerator:
EIpopt 
EFilterSQP 

filterSQP Sequential Quadratic Programming algorithm.

EAll 

Use all solvers.

Definition at line 37 of file BonOsiTMINLPInterface.hpp.


Function Documentation

bool Bonmin::integerFeasible ( OsiSolverInterface &  si,
const OsiBranchingInformation &  info,
double  integer_tolerance,
OsiObject **  objects = 0,
int  nObjects = -1 
)

Check for integer feasibility of a solution return true if it is feasible.

void Bonmin::fixIntegers ( OsiSolverInterface &  si,
const OsiBranchingInformation &  info,
double  integer_tolerance,
OsiObject **  objects = 0,
int  nObjects = -1 
)

Fix integer variables in si to their values in colsol.

Remarks:
colsol is assumed to be integer on the integer constrained variables.
void Bonmin::relaxIntegers ( OsiSolverInterface &  si,
const OsiBranchingInformation &  info,
double  integer_tolerance,
OsiObject **  objects = 0,
int  nObjects = -1 
)

Relax integer variables in si.

bool Bonmin::isDifferentOnIntegers ( OsiSolverInterface &  si,
OsiObject **  objects,
int  nObjects,
double  integer_tolerance,
const double *  colsol,
const double *  other 
)

Check if two solutions are the same on integer variables.

void Bonmin::installCuts ( OsiSolverInterface &  si,
const OsiCuts &  cs,
int  numberCuts 
)

Install cuts in solver.

template<class X >
void Bonmin::resizeAndCopyArray ( X *&  array,
unsigned int  oldSize,
unsigned int  newSize 
)

Definition at line 16 of file BonArraysHelpers.hpp.

Referenced by Bonmin::TMat::resize().

template<class X >
void Bonmin::resizeAndCopyArray ( X *&  array,
unsigned int  oldSize,
unsigned int  newSize,
unsigned int &  capacity 
)

Definition at line 36 of file BonArraysHelpers.hpp.

bool Bonmin::isNlpFeasible ( TMINLP2TNLP *  minlp,
const double  primalTolerance 
)

checks if the NLP relaxation of the problem is feasible

void Bonmin::adjustPrimalTolerance ( TMINLP2TNLP *  minlp,
double &  primalTolerance 
)

Adjusts the primalTolerance in case some of the constraints are violated.

int Bonmin::std_m ( int  n) [inline]

Definition at line 10 of file BonMsgUtils.hpp.

int Bonmin::warn_m ( int  n) [inline]

Definition at line 11 of file BonMsgUtils.hpp.

int Bonmin::err_m ( int  n) [inline]

Definition at line 12 of file BonMsgUtils.hpp.

Bonmin::DECLARE_STD_EXCEPTION ( TMINLP_INVALID  )
Bonmin::DECLARE_STD_EXCEPTION ( TMINLP_INVALID_VARIABLE_BOUNDS  )
template<class X >
SimpleReferenced<X>* Bonmin::make_referenced ( other)

Definition at line 87 of file BonTypes.hpp.

References Bonmin::SimpleReferenced< X >::object.

template<class X >
SimpleReferencedPtr<X>* Bonmin::make_referenced ( X *  other)

Definition at line 93 of file BonTypes.hpp.

References Bonmin::SimpleReferencedPtr< X >::object.