Bonmin
1.7
|
(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) |
(C) Copyright International Business Machines Corporation 2007
DiveVectorLength class.
DiveMIPVectorLength class.
DiveMIPFractional class.
DiveFractional class.
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.
typedef std::map<matEntry, matIdx> Bonmin::AdjustableMat |
Definition at line 26 of file BonQuadRow.hpp.
enum Bonmin::Algorithm |
Type of algorithms which can be used.
Definition at line 15 of file BonBonminSetup.hpp.
enum Bonmin::OA_Message |
Definition at line 16 of file BonOAMessages.hpp.
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.
CS_None | |
CS_StrengthenedGlobal | |
CS_UnstrengthenedGlobal_StrengthenedLocal | |
CS_StrengthenedGlobal_StrengthenedLocal |
Definition at line 18 of file BonCutStrengthener.hpp.
Definition at line 25 of file BonCutStrengthener.hpp.
enum Bonmin::ErrorCodes |
Some error codes for uncatachable errors.
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.
enum Bonmin::Solver |
Solvers for solving nonlinear programs.
EIpopt | |
EFilterSQP |
filterSQP Sequential Quadratic Programming algorithm. |
EAll |
Use all solvers. |
Definition at line 37 of file BonOsiTMINLPInterface.hpp.
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.
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.
void Bonmin::resizeAndCopyArray | ( | X *& | array, |
unsigned int | oldSize, | ||
unsigned int | newSize | ||
) |
Definition at line 16 of file BonArraysHelpers.hpp.
Referenced by Bonmin::TMat::resize().
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 | ) |
SimpleReferenced<X>* Bonmin::make_referenced | ( | X | other | ) |
Definition at line 87 of file BonTypes.hpp.
References Bonmin::SimpleReferenced< X >::object.
SimpleReferencedPtr<X>* Bonmin::make_referenced | ( | X * | other | ) |
Definition at line 93 of file BonTypes.hpp.
References Bonmin::SimpleReferencedPtr< X >::object.