Define an n-way class for variables. More...
Classes | |
class | BonNWayChoose |
This class chooses a variable to branch on. More... | |
class | n_way_consequences |
class | BonNWayObject |
class | BonNWayBranchingObject |
N way branching Object class. More... | |
class | RobotSetup |
algorithm setup. More... | |
class | HeuristicInnerApproximation |
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 |
struct | MatComp |
class | HeuristicDiveMIP |
class | HeuristicDiveMIPFractional |
class | HeuristicDiveMIPVectorLength |
class | HeuristicDiveVectorLength |
class | score_sorter |
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... | |
struct | NonConvexSuff |
To store all data stored in the nonconvex suffixes. 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... | |
struct | optionsCmp |
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... | |
struct | Transposer |
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. More... | |
typedef std::pair< int, int > | matIdx |
Store the number of times entry is used and its index in the matrix. More... | |
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 | |
static bool | cleanNnz (double &value, double colLower, double colUpper, double rowLower, double rowUpper, double colsol, double &lb, double &ub, double tiny, double veryTiny) |
void | getMyOuterApproximation (OsiTMINLPInterface &si, OsiCuts &cs, int ind, const double *x, int getObj, const double *x2, double theta, bool global) |
Get the outer approximation constraints at provided point and only for the specified constraint (ind is the constraint or row number). More... | |
void | addOuterDescription (OsiTMINLPInterface &nlp, OsiSolverInterface &si, const double *x, int nbAp, bool getObj) |
Adds an outer description of problem to linear formulation. More... | |
template<class X > | |
bool | has_cg (CbcModel &model, const X &gen) |
bool | integerFeasible (OsiSolverInterface &si, const OsiBranchingInformation &info, double integer_tolerance, OsiObject **objects, int nObjects) |
Check for integer feasibility of a solution return 1 if it is. More... | |
void | fixIntegers (OsiSolverInterface &si, const OsiBranchingInformation &info, double integer_tolerance, OsiObject **objects, int nObjects) |
Fix integer variables in si to their values in colsol. More... | |
void | relaxIntegers (OsiSolverInterface &si, const OsiBranchingInformation &info, double integer_tolerance, OsiObject **objects, int nObjects) |
Slightly relax integer variables in si. More... | |
bool | refixIntegers (OsiSolverInterface &si, const OsiBranchingInformation &info, double integer_tolerance, OsiObject **objects, int nObjects) |
void | installCuts (OsiSolverInterface &si, const OsiCuts &cs, int numberCuts) |
Install cuts in solver. More... | |
bool | isDifferentOnIntegers (OsiSolverInterface &si, OsiObject **objects, int nObjects, double integer_tolerance, const double *colsol, const double *otherSol) |
Check if two solutions are the same on integer variables. More... | |
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 More... | |
void | adjustPrimalTolerance (TMINLP2TNLP *minlp, double &primalTolerance) |
Adjusts the primalTolerance in case some of the constraints are violated. More... | |
int | std_m (int n) |
int | warn_m (int n) |
int | err_m (int n) |
static void | register_general_options (SmartPtr< RegisteredOptions > roptions) |
Register options. More... | |
static void | register_OA_options (SmartPtr< RegisteredOptions > roptions) |
static bool | cleanNnz (double &value, double colLower, double colUpper, double rowLower, double rowUpper, double colsol, double &lb, double &ub, double tiny, double veryTiny, double infty) |
static std::string | makeLatex (const std::string &s) |
static std::string | makeSpaceLess (const std::string &s) |
static std::string | makeString (int value) |
static std::string | makeString (double value) |
static std::string | makeNumber (std::string value) |
static char | OptionType2Char (const Ipopt::RegisteredOptionType &T) |
static std::string | defaultAsString (Ipopt::SmartPtr< Ipopt::RegisteredOption > opt) |
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) |
Variables | |
static const char * | txt_id = "FP for MINLP" |
static const char * | txt_id = "OA decomposition" |
static const char * | txt_id = "check integer sol." |
static const char * | txt_id = "NLP relax. for OA" |
static bool | WarnedForNonConvexOa =false |
Bonmin::BqpdSolver | F77_FUNC |
Define an n-way class for variables.
DiveVectorLength class.
DiveMIPVectorLength class.
DiveMIPFractional class.
DiveFractional class.
(C) Copyright International Business Machines Corporation 2007
Only valid value is one at UB others at LB Normally 0-1
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.
Enumerator | |
---|---|
Dummy | |
B_BB | |
B_OA | |
B_QG | |
B_Hyb | |
B_Ecp | |
B_IFP |
Definition at line 15 of file BonBonminSetup.hpp.
enum Bonmin::OA_Message |
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.
enum Bonmin::ErrorCodes |
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.
enum Bonmin::Solver |
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.
|
inlinestatic |
Definition at line 21 of file BonOuterDescription.cpp.
void Bonmin::getMyOuterApproximation | ( | OsiTMINLPInterface & | si, |
OsiCuts & | cs, | ||
int | ind, | ||
const double * | x, | ||
int | getObj, | ||
const double * | x2, | ||
double | theta, | ||
bool | global | ||
) |
Get the outer approximation constraints at provided point and only for the specified constraint (ind is the constraint or row number).
If x2 is different from NULL only add cuts violated by x2 by more than delta.
Definition at line 67 of file BonOuterDescription.cpp.
void Bonmin::addOuterDescription | ( | OsiTMINLPInterface & | nlp, |
OsiSolverInterface & | si, | ||
const double * | x, | ||
int | nbAp, | ||
bool | getObj | ||
) |
Adds an outer description of problem to linear formulation.
Definition at line 275 of file BonOuterDescription.cpp.
bool Bonmin::has_cg | ( | CbcModel & | model, |
const X & | gen | ||
) |
Definition at line 90 of file BonCbcLpStrategy.cpp.
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 1 if it is.
Check for integer feasibility of a solution return true if it is feasible.
Definition at line 21 of file BonSolverHelp.cpp.
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.
Definition at line 49 of file BonSolverHelp.cpp.
void Bonmin::relaxIntegers | ( | OsiSolverInterface & | si, |
const OsiBranchingInformation & | info, | ||
double | integer_tolerance, | ||
OsiObject ** | objects, | ||
int | nObjects | ||
) |
Slightly relax integer variables in si.
Relax integer variables in si.
Definition at line 97 of file BonSolverHelp.cpp.
bool Bonmin::refixIntegers | ( | OsiSolverInterface & | si, |
const OsiBranchingInformation & | info, | ||
double | integer_tolerance, | ||
OsiObject ** | objects, | ||
int | nObjects | ||
) |
Definition at line 121 of file BonSolverHelp.cpp.
Install cuts in solver.
Definition at line 148 of file BonSolverHelp.cpp.
bool Bonmin::isDifferentOnIntegers | ( | OsiSolverInterface & | si, |
OsiObject ** | objects, | ||
int | nObjects, | ||
double | integer_tolerance, | ||
const double * | colsol, | ||
const double * | otherSol | ||
) |
Check if two solutions are the same on integer variables.
Definition at line 178 of file BonSolverHelp.cpp.
void Bonmin::resizeAndCopyArray | ( | X *& | array, |
unsigned int | oldSize, | ||
unsigned int | newSize | ||
) |
Definition at line 16 of file BonArraysHelpers.hpp.
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
Definition at line 306 of file BonHeuristicDive.cpp.
void Bonmin::adjustPrimalTolerance | ( | TMINLP2TNLP * | minlp, |
double & | primalTolerance | ||
) |
Adjusts the primalTolerance in case some of the constraints are violated.
Definition at line 341 of file BonHeuristicDive.cpp.
Definition at line 10 of file BonMsgUtils.hpp.
Definition at line 11 of file BonMsgUtils.hpp.
Definition at line 12 of file BonMsgUtils.hpp.
Register options.
Definition at line 51 of file BonOsiTMINLPInterface.cpp.
Definition at line 196 of file BonOsiTMINLPInterface.cpp.
|
inlinestatic |
Definition at line 1882 of file BonOsiTMINLPInterface.cpp.
|
static |
Definition at line 29 of file BonRegisteredOptions.cpp.
|
static |
Definition at line 44 of file BonRegisteredOptions.cpp.
|
static |
Definition at line 80 of file BonRegisteredOptions.cpp.
|
static |
Definition at line 94 of file BonRegisteredOptions.cpp.
|
static |
Definition at line 108 of file BonRegisteredOptions.cpp.
|
static |
Definition at line 142 of file BonRegisteredOptions.cpp.
|
static |
Definition at line 152 of file BonRegisteredOptions.cpp.
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.
SimpleReferencedPtr<X>* Bonmin::make_referenced | ( | X * | other | ) |
Definition at line 93 of file BonTypes.hpp.
|
static |
Definition at line 27 of file BonFpForMinlp.cpp.
|
static |
Definition at line 27 of file BonOACutGenerator2.cpp.
|
static |
Definition at line 18 of file BonOaFeasChecker.cpp.
|
static |
Definition at line 18 of file BonOaNlpOptim.cpp.
|
static |
Definition at line 2375 of file BonOsiTMINLPInterface.cpp.
struct Bonmin::Transposer Bonmin::F77_FUNC |