Couenne 0.5.8
Loading...
Searching...
No Matches
CouenneOrbitBranchingObj.hpp
Go to the documentation of this file.
1/* $Id: CouenneOrbitBranchingObj.hpp 560 2011-04-17 10:01:15Z stefan $
2 *
3 * Name: CouenneOrbitBranchingObj.hpp
4 * Authors: Jim Ostrowski, University of Waterloo
5 * Pietro Belotti, Lehigh University
6 * Purpose: Branching object for auxiliary variables
7 *
8 * This file is licensed under the Eclipse Public License (EPL)
9 */
10
11#ifndef COUENNEORBITBRANCHINGOBJ_HPP
12#define COUENNEORBITBRANCHINGOBJ_HPP
13
14#include "CouenneExprAux.hpp"
15#include "CouenneJournalist.hpp"
18
19namespace Couenne {
20
21//class CouenneCutGenerator;
22//class CouenneProblem;
23
24//#define COUENNE_CROP 1
25//#define COUENNE_LCROP (1e2*COUENNE_CROP)
26
27//#define COUENNE_LARGE_INTERVAL 1e4
28//#define COUENNE_NEAR_BOUND 1e-2
29
30
35
37
38public:
39
43 JnlstPtr jnlst,
46 expression *var,
47 int way,
48 CouNumber brpoint,
49 bool doFBBT,
50 bool doConvCuts);
51
55
56
58 virtual OsiBranchingObject * clone () const
59 {return new CouenneOrbitBranchingObj (*this);}
60
66 virtual double branch (OsiSolverInterface * solver = NULL);
67
69 virtual bool boundBranch () const
70 {return !doConvCuts_;} // iff it does not add convexification cuts
71
73 void setSimulate (bool s)
74 {simulate_ = s;}
75
76protected:
77
78};
79
80}
81
82#endif
bool simulate_
are we currently in strong branching?
bool doConvCuts_
shall we add convexification cuts at branching?
CouenneBranchingObject(OsiSolverInterface *solver, const OsiObject *originalObject, JnlstPtr jnlst, CouenneCutGenerator *c, CouenneProblem *p, expression *var, int way, CouNumber brpoint, bool doFBBT, bool doConvCuts)
Constructor.
Cut Generator for linear convexifications.
virtual bool boundBranch() const
does this branching object only change variable bounds?
void setSimulate(bool s)
set simulate_ field below
virtual double branch(OsiSolverInterface *solver=NULL)
Execute the actions required to branch, as specified by the current state of the branching object,...
CouenneOrbitBranchingObj(OsiSolverInterface *solver, const OsiObject *originalObject, JnlstPtr jnlst, CouenneCutGenerator *c, CouenneProblem *p, expression *var, int way, CouNumber brpoint, bool doFBBT, bool doConvCuts)
Constructor.
CouenneOrbitBranchingObj(const CouenneOrbitBranchingObj &src)
Copy constructor.
virtual OsiBranchingObject * clone() const
cloning method
Class for MINLP problems with symbolic information.
Expression base class.
const OsiObject * originalObject() const
general include file for different compilers
Ipopt::SmartPtr< Ipopt::Journalist > JnlstPtr
double CouNumber
main number type in Couenne