11 #include "CoinTime.hpp"
21 #include "scip/scip.h"
24 using namespace Couenne;
62 static int nSolves = 0;
64 sprintf (name,
"fp_milp_%d", nSolves++);
65 milp_ -> writeLp (name);
72 SCIP_RETCODE retcode = ScipSolve (nSol, iSol, niter, nsuciter, obj);
74 if (retcode != SCIP_OKAY) {
76 printf (
"Couenne Feasibility Pump: SCIP did not return a feasible solution\n");
84 milp_ -> messageHandler () -> setLogLevel (0);
87 else milp_ -> initialSolve ();
92 if (
milp_ -> getColSolution ())
93 CoinCopyN (
milp_ -> getColSolution (),
problem_ -> nVars (), iSol);
101 obj =
milp_ -> getObjValue ();
constraint handler for rowcuts constraints enables separation of convexification cuts during SCIP sol...
double findSolution(const double *nSol, double *&sol, int niter, int *nsuciter)
find feasible solution (called by solveMILP ())
bool useSCIP_
Use SCIP instead of Cbc for solving MILPs.
void init_MILP()
initialize all solvers at the first call, where the initial MILP is built
double CouNumber
main number type in Couenne
CouenneProblem * problem_
Couenne representation of the problem.
OsiSolverInterface * milp_
MILP relaxation of the MINLP (used to find integer, non-NLP-feasible solutions)