/home/coin/SVN-release/OS-2.0.1/Bonmin/experimental/FP/OAFeasibilityPump.cpp File Reference

#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


Function Documentation

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().


Variable Documentation

OptParam params

Definition at line 70 of file OAFeasibilityPump.cpp.

Referenced by enhancedOA(), iteratedFP(), and main().

double BeginTimeGLOB [static]

Definition at line 71 of file OAFeasibilityPump.cpp.

Referenced by enhancedOA(), and FP().


Generated on Thu Oct 8 03:04:26 2009 by  doxygen 1.4.7