#include "BonminConfig.h"#include <cassert>#include <iomanip>#include <sstream>#include "OsiSolverInterface.hpp"#include "OsiClpSolverInterface.hpp"#include "CbcModel.hpp"#include "CbcBranchUser.hpp"#include "CbcCompareUser.hpp"#include "CbcCompareActual.hpp"#include "CbcCutGenerator.hpp"#include "BonAmplInterface.hpp"#include "BonDummyHeuristic.hpp"#include "BonOACutGenerator2.hpp"#include "CbcHeuristicFPump.hpp"#include "CbcHeuristicGreedy.hpp"#include "BonAmplTMINLP.hpp"#include "CglGomory.hpp"#include "OsiCbcSolverInterface.hpp"#include "CoinTime.hpp"#include "FP.hpp"Include dependency graph for OAFeasibilityPump.cpp:

Go to the source code of this file.
Classes | |
| struct | ResolutionInformation |
Functions | |
| int | findGoodSolution (OsiSolverInterface &mip, int &nodeNumber) |
| solve problem with CPLEX for : at least minNodes then check every nodeInterval if a solution has been found and stop do that for maxTime | |
| double | FP (AmplInterface &nlp, OsiSolverInterface &linearModel, int numIntCols, int *inds, double *vals, double maxTime, int maxIter, ResolutionInformation &info, double ub, int &provenInfeas, double *&solution) |
| int | enhancedOA (AmplInterface &solver1, bool doFp, double *&solution) |
| Enhanced OA code. | |
| int | iteratedFP (AmplInterface &solver1, bool standAlone, double *&solution) |
| Iterated feasibility pump. | |
| double | FPGeneralIntegers (AmplInterface &nlp, OsiSolverInterface &linearModel, int numIntCols, int *inds, double *vals, double maxTime, ResolutionInformation &info, double ub, bool &provenInfeas) |
Variables | |
| OptParam | params |
| static double | BeginTimeGLOB |
| int findGoodSolution | ( | OsiSolverInterface & | mip, | |
| int & | nodeNumber | |||
| ) |
solve problem with CPLEX for : at least minNodes then check every nodeInterval if a solution has been found and stop do that for maxTime
Definition at line 112 of file OAFeasibilityPump.cpp.
Referenced by enhancedOA(), and FP().
| double FP | ( | AmplInterface & | nlp, | |
| OsiSolverInterface & | linearModel, | |||
| int | numIntCols, | |||
| int * | inds, | |||
| double * | vals, | |||
| double | maxTime, | |||
| int | maxIter, | |||
| ResolutionInformation & | info, | |||
| double | ub, | |||
| int & | provenInfeas, | |||
| double *& | solution | |||
| ) |
Definition at line 182 of file OAFeasibilityPump.cpp.
References BeginTimeGLOB, e, Bonmin::TNLPSolver::enableWarmStart(), findGoodSolution(), Bonmin::OsiTMINLPInterface::getColSolution(), Bonmin::OsiTMINLPInterface::getFeasibilityOuterApproximation(), Bonmin::OsiTMINLPInterface::getIterationCount(), Bonmin::OsiTMINLPInterface::getNumCols(), Bonmin::OsiTMINLPInterface::getObjValue(), Bonmin::OsiTMINLPInterface::getOuterApproximation(), Bonmin::OsiTMINLPInterface::getRowPrice(), info, Bonmin::OsiTMINLPInterface::initialSolve(), Bonmin::OsiTMINLPInterface::isInteger(), Bonmin::OsiTMINLPInterface::isProvenOptimal(), Bonmin::OsiTMINLPInterface::setColLower(), Bonmin::OsiTMINLPInterface::setColSolution(), Bonmin::OsiTMINLPInterface::setColUpper(), Bonmin::OsiTMINLPInterface::setRowPrice(), and Bonmin::OsiTMINLPInterface::solver().
Referenced by enhancedOA().
| int enhancedOA | ( | AmplInterface & | solver1, | |
| bool | doFp, | |||
| double *& | solution | |||
| ) |
Enhanced OA code.
Definition at line 720 of file OAFeasibilityPump.cpp.
References BeginTimeGLOB, e, Bonmin::OsiTMINLPInterface::extractLinearRelaxation(), findGoodSolution(), FP(), Bonmin::OsiTMINLPInterface::getColLower(), Bonmin::OsiTMINLPInterface::getColSolution(), Bonmin::OsiTMINLPInterface::getColUpper(), Bonmin::OsiTMINLPInterface::getFeasibilityOuterApproximation(), Bonmin::OsiTMINLPInterface::getNumCols(), Bonmin::OsiTMINLPInterface::getObjValue(), Bonmin::OsiTMINLPInterface::getOuterApproximation(), Bonmin::OsiTMINLPInterface::getStrParam(), Bonmin::OsiTMINLPInterface::initialSolve(), Bonmin::OsiTMINLPInterface::isInteger(), Bonmin::OsiTMINLPInterface::isProvenOptimal(), OptParam::maxTime_, ResolutionInformation::mip_time, ResolutionInformation::n_iterations, ResolutionInformation::nlp_time, params, Bonmin::OsiTMINLPInterface::setColLower(), Bonmin::OsiTMINLPInterface::setColUpper(), ResolutionInformation::time, and Bonmin::OsiTMINLPInterface::turnOnSolverOutput().
Referenced by main().
| int iteratedFP | ( | AmplInterface & | solver1, | |
| bool | standAlone, | |||
| double *& | solution | |||
| ) |
Iterated feasibility pump.
Definition at line 1204 of file OAFeasibilityPump.cpp.
References e, Bonmin::OsiTMINLPInterface::extractLinearRelaxation(), Bonmin::OsiTMINLPInterface::getColLower(), Bonmin::OsiTMINLPInterface::getColSolution(), Bonmin::OsiTMINLPInterface::getColUpper(), Bonmin::OsiTMINLPInterface::getFeasibilityOuterApproximation(), Bonmin::OsiTMINLPInterface::getNumCols(), Bonmin::OsiTMINLPInterface::getObjValue(), Bonmin::OsiTMINLPInterface::getOuterApproximation(), Bonmin::OsiTMINLPInterface::getStrParam(), Bonmin::OsiTMINLPInterface::initialSolve(), Bonmin::OsiTMINLPInterface::isInteger(), Bonmin::OsiTMINLPInterface::isProvenOptimal(), OptParam::maxTime_, params, Bonmin::OsiTMINLPInterface::setColLower(), Bonmin::OsiTMINLPInterface::setColUpper(), and Bonmin::OsiTMINLPInterface::turnOnSolverOutput().
Referenced by main().
| double FPGeneralIntegers | ( | AmplInterface & | nlp, | |
| OsiSolverInterface & | linearModel, | |||
| int | numIntCols, | |||
| int * | inds, | |||
| double * | vals, | |||
| double | maxTime, | |||
| ResolutionInformation & | info, | |||
| double | ub, | |||
| bool & | provenInfeas | |||
| ) |
Definition at line 1430 of file OAFeasibilityPump.cpp.
References e, Bonmin::TNLPSolver::enableWarmStart(), Bonmin::OsiTMINLPInterface::getColLower(), Bonmin::OsiTMINLPInterface::getColSolution(), Bonmin::OsiTMINLPInterface::getColUpper(), Bonmin::OsiTMINLPInterface::getFeasibilityOuterApproximation(), Bonmin::OsiTMINLPInterface::getIterationCount(), Bonmin::OsiTMINLPInterface::getNumCols(), Bonmin::OsiTMINLPInterface::getObjValue(), Bonmin::OsiTMINLPInterface::getOuterApproximation(), Bonmin::OsiTMINLPInterface::getRowPrice(), info, Bonmin::OsiTMINLPInterface::initialSolve(), Bonmin::OsiTMINLPInterface::isInteger(), Bonmin::OsiTMINLPInterface::isProvenOptimal(), k, Bonmin::OsiTMINLPInterface::setColLower(), Bonmin::OsiTMINLPInterface::setColSolution(), Bonmin::OsiTMINLPInterface::setColUpper(), Bonmin::OsiTMINLPInterface::setRowPrice(), and Bonmin::OsiTMINLPInterface::solver().
Definition at line 70 of file OAFeasibilityPump.cpp.
Referenced by enhancedOA(), iteratedFP(), and main().
double BeginTimeGLOB [static] |
1.4.7