11 #ifndef SWIG_pywrapcp_WRAP_H_ 12 #define SWIG_pywrapcp_WRAP_H_ 28 std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
29 return (iv != swig_inner.end() ? iv->second :
false);
31 void swig_set_inner(
const char *swig_protected_method_name,
bool swig_val)
const {
32 swig_inner[swig_protected_method_name] = swig_val;
35 mutable std::map<std::string, bool> swig_inner;
37 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) 39 PyObject *swig_get_method(
size_t method_index,
const char *method_name)
const {
40 PyObject *method = vtable[method_index];
45 std::string msg =
"Method in class BaseObject doesn't exist, undefined ";
49 vtable[method_index] = method;
66 virtual std::string
name()
const;
71 std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
72 return (iv != swig_inner.end() ? iv->second :
false);
74 void swig_set_inner(
const char *swig_protected_method_name,
bool swig_val)
const {
75 swig_inner[swig_protected_method_name] = swig_val;
78 mutable std::map<std::string, bool> swig_inner;
80 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) 82 PyObject *swig_get_method(
size_t method_index,
const char *method_name)
const {
83 PyObject *method = vtable[method_index];
88 std::string msg =
"Method in class PropagationBaseObject doesn't exist, undefined ";
92 vtable[method_index] = method;
115 std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
116 return (iv != swig_inner.end() ? iv->second :
false);
118 void swig_set_inner(
const char *swig_protected_method_name,
bool swig_val)
const {
119 swig_inner[swig_protected_method_name] = swig_val;
122 mutable std::map<std::string, bool> swig_inner;
124 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) 126 PyObject *swig_get_method(
size_t method_index,
const char *method_name)
const {
127 PyObject *method = vtable[method_index];
132 std::string msg =
"Method in class Decision doesn't exist, undefined ";
136 vtable[method_index] = method;
158 std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
159 return (iv != swig_inner.end() ? iv->second :
false);
161 void swig_set_inner(
const char *swig_protected_method_name,
bool swig_val)
const {
162 swig_inner[swig_protected_method_name] = swig_val;
165 mutable std::map<std::string, bool> swig_inner;
167 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) 169 PyObject *swig_get_method(
size_t method_index,
const char *method_name)
const {
170 PyObject *method = vtable[method_index];
175 std::string msg =
"Method in class DecisionBuilder doesn't exist, undefined ";
179 vtable[method_index] = method;
202 std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
203 return (iv != swig_inner.end() ? iv->second :
false);
205 void swig_set_inner(
const char *swig_protected_method_name,
bool swig_val)
const {
206 swig_inner[swig_protected_method_name] = swig_val;
209 mutable std::map<std::string, bool> swig_inner;
211 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) 213 PyObject *swig_get_method(
size_t method_index,
const char *method_name)
const {
214 PyObject *method = vtable[method_index];
219 std::string msg =
"Method in class Demon doesn't exist, undefined ";
223 vtable[method_index] = method;
240 virtual std::string
name()
const;
249 std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
250 return (iv != swig_inner.end() ? iv->second :
false);
252 void swig_set_inner(
const char *swig_protected_method_name,
bool swig_val)
const {
253 swig_inner[swig_protected_method_name] = swig_val;
256 mutable std::map<std::string, bool> swig_inner;
258 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) 260 PyObject *swig_get_method(
size_t method_index,
const char *method_name)
const {
261 PyObject *method = vtable[method_index];
266 std::string msg =
"Method in class Constraint doesn't exist, undefined ";
270 vtable[method_index] = method;
315 std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
316 return (iv != swig_inner.end() ? iv->second :
false);
318 void swig_set_inner(
const char *swig_protected_method_name,
bool swig_val)
const {
319 swig_inner[swig_protected_method_name] = swig_val;
322 mutable std::map<std::string, bool> swig_inner;
324 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) 326 PyObject *swig_get_method(
size_t method_index,
const char *method_name)
const {
327 PyObject *method = vtable[method_index];
332 std::string msg =
"Method in class SearchMonitor doesn't exist, undefined ";
336 vtable[method_index] = method;
355 virtual void Reset();
362 std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
363 return (iv != swig_inner.end() ? iv->second :
false);
365 void swig_set_inner(
const char *swig_protected_method_name,
bool swig_val)
const {
366 swig_inner[swig_protected_method_name] = swig_val;
369 mutable std::map<std::string, bool> swig_inner;
371 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) 373 PyObject *swig_get_method(
size_t method_index,
const char *method_name)
const {
374 PyObject *method = vtable[method_index];
379 std::string msg =
"Method in class LocalSearchOperator doesn't exist, undefined ";
383 vtable[method_index] = method;
402 virtual void Reset();
416 std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
417 return (iv != swig_inner.end() ? iv->second :
false);
419 void swig_set_inner(
const char *swig_protected_method_name,
bool swig_val)
const {
420 swig_inner[swig_protected_method_name] = swig_val;
423 mutable std::map<std::string, bool> swig_inner;
425 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) 427 PyObject *swig_get_method(
size_t method_index,
const char *method_name)
const {
428 PyObject *method = vtable[method_index];
433 std::string msg =
"Method in class IntVarLocalSearchOperator doesn't exist, undefined ";
437 vtable[method_index] = method;
455 virtual void Reset();
465 std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
466 return (iv != swig_inner.end() ? iv->second :
false);
468 void swig_set_inner(
const char *swig_protected_method_name,
bool swig_val)
const {
469 swig_inner[swig_protected_method_name] = swig_val;
472 mutable std::map<std::string, bool> swig_inner;
474 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) 476 PyObject *swig_get_method(
size_t method_index,
const char *method_name)
const {
477 PyObject *method = vtable[method_index];
482 std::string msg =
"Method in class BaseLns doesn't exist, undefined ";
486 vtable[method_index] = method;
504 virtual void Reset();
519 std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
520 return (iv != swig_inner.end() ? iv->second :
false);
522 void swig_set_inner(
const char *swig_protected_method_name,
bool swig_val)
const {
523 swig_inner[swig_protected_method_name] = swig_val;
526 mutable std::map<std::string, bool> swig_inner;
528 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) 530 PyObject *swig_get_method(
size_t method_index,
const char *method_name)
const {
531 PyObject *method = vtable[method_index];
536 std::string msg =
"Method in class ChangeValue doesn't exist, undefined ";
540 vtable[method_index] = method;
563 virtual void Reset();
574 std::map<std::string, bool>::const_iterator iv = swig_inner.find(swig_protected_method_name);
575 return (iv != swig_inner.end() ? iv->second :
false);
577 void swig_set_inner(
const char *swig_protected_method_name,
bool swig_val)
const {
578 swig_inner[swig_protected_method_name] = swig_val;
581 mutable std::map<std::string, bool> swig_inner;
583 #if defined(SWIG_PYTHON_DIRECTOR_VTABLE) 585 PyObject *swig_get_method(
size_t method_index,
const char *method_name)
const {
586 PyObject *method = vtable[method_index];
591 std::string msg =
"Method in class IntVarLocalSearchFilter doesn't exist, undefined ";
595 vtable[method_index] = method;
SwigDirector_BaseLns(std::vector< operations_research::IntVar * > const &vars)
virtual std::string DebugString() const
virtual void RefuteDecision(operations_research::Decision *const d)
Before refuting the decision.
This is the base class for building an Lns operator.
virtual void Revert()
Cancels the changes made by the last Relax()/Accept() calls.
virtual bool HoldsDelta() const
virtual bool HoldsDelta() const
virtual int64_t GetSynchronizedObjectiveValue() const
Objective value from last time Synchronize() was called.
virtual ~SwigDirector_Constraint()
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
virtual operations_research::Decision * Next(operations_research::Solver *const s)
This is the main method of the decision builder class.
bool swig_get_inner(const char *swig_protected_method_name) const
virtual void Post()
This method is called when the constraint is processed by the solver.
virtual std::string DebugString() const
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
Redefines MakeNextNeighbor to export a simpler interface.
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
virtual std::string DebugString() const
The base class for all local search operators.
virtual ~SwigDirector_LocalSearchOperator()
virtual bool IsIncremental() const
virtual int ProgressPercent()
Returns a percentage representing the propress of the search before reaching limits.
PyObject * swig_get_self() const
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
virtual void OnSynchronize(operations_research::Assignment const *delta)
bool swig_get_inner(const char *swig_protected_method_name) const
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
virtual bool Accept(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta, int64_t objective_min, int64_t objective_max)
Accepts a "delta" given the assignment with which the filter has been synchronized; the delta holds t...
virtual void EndInitialPropagation()
After the initial propagation.
SwigDirector_DecisionBuilder()
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
virtual void PeriodicCheck()
Periodic call to check limits in long running methods.
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
Redefines MakeNextNeighbor to export a simpler interface.
SwigDirector_BaseObject(PyObject *self)
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
virtual void Start(operations_research::Assignment const *assignment)
SwigDirector_ChangeValue(std::vector< operations_research::IntVar * > const &vars)
bool swig_get_inner(const char *swig_protected_method_name) const
virtual void EndNextDecision(operations_research::DecisionBuilder *const b, operations_research::Decision *const d)
After calling DecisionBuilder::Next, along with the returned decision.
A Demon is the base element of a propagation queue.
virtual bool HoldsDelta() const
bool swig_get_inner(const char *swig_protected_method_name) const
virtual bool IsIncremental() const
SWIGINTERN PyObject * SWIG_Python_str_FromChar(const char *c)
static void raise(const char *msg)
virtual void OnSynchronize(const Assignment *delta)
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
bool swig_get_inner(const char *swig_protected_method_name) const
A constraint is the main modeling object.
virtual bool MakeOneNeighbor()
This method should not be overridden. Override ModifyValue() instead.
virtual void Synchronize(operations_research::Assignment const *assignment, operations_research::Assignment const *delta)
This method should not be overridden.
virtual bool HasFragments() const
virtual void BeginFail()
Just when the failure occurs.
A DecisionBuilder is responsible for creating the search tree.
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
Defines operators which change the value of variables; each neighbor corresponds to one modified vari...
virtual void AcceptUncheckedNeighbor()
After accepting an unchecked neighbor during local search.
bool swig_get_inner(const char *swig_protected_method_name) const
virtual void Run(operations_research::Solver *const s)
This is the main callback of the demon.
virtual bool MakeOneNeighbor()
Creates a new neighbor.
virtual bool HasFragments() const
bool swig_get_inner(const char *swig_protected_method_name) const
virtual bool SkipUnchanged(int index) const
virtual void Accept(operations_research::ModelVisitor *const visitor) const
Accepts the given model visitor.
SwigDirector_Constraint(operations_research::Solver *const solver)
virtual void OnStart()
Called by Start() after synchronizing the operator with the current assignment.
virtual bool HasFragments() const
virtual bool AcceptSolution()
This method is called when a solution is found.
virtual bool IsIncremental() const
SwigDirector_PropagationBaseObject(PyObject *self, operations_research::Solver *const s)
virtual std::string DebugString() const
virtual ~SwigDirector_SearchMonitor()
virtual bool IsUncheckedSolutionLimitReached()
Returns true if the limit of solutions has been reached including unchecked solutions.
virtual std::string DebugString() const
virtual std::string DebugString() const
virtual void Apply(operations_research::Solver *const s)
Apply will be called first when the decision is executed.
bool swig_get_inner(const char *swig_protected_method_name) const
virtual bool IsIncremental() const
virtual void Relax(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta)
Lets the filter know what delta and deltadelta will be passed in the next Accept().
virtual operations_research::IntVar * Var()
Creates a Boolean variable representing the status of the constraint (false = constraint is violated,...
virtual ~SwigDirector_BaseLns()
virtual int64_t GetAcceptedObjectiveValue() const
Objective value from the last time Accept() was called and returned true.
virtual std::string DebugString() const
virtual bool NextFragment()
virtual ~SwigDirector_PropagationBaseObject()
virtual void BeginNextDecision(operations_research::DecisionBuilder *const b)
Before calling DecisionBuilder::Next.
virtual void Accept(operations_research::ModelVisitor *const visitor) const
Accepts the given visitor.
virtual void ApplyDecision(operations_research::Decision *const d)
Before applying the decision.
An Assignment is a variable -> domains mapping, used to report solutions to the user.
virtual void EnterSearch()
Beginning of the search.
A BaseObject is the root of all reversibly allocated objects.
virtual bool HasFragments() const
The class IntVar is a subset of IntExpr.
virtual ~SwigDirector_IntVarLocalSearchFilter()
virtual void BeginInitialPropagation()
Before the initial propagation.
virtual std::string DebugString() const
virtual void InitialPropagate()
This method performs the initial propagation of the constraint.
virtual bool SkipUnchanged(int index) const
virtual void Commit(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta)
Dual of Relax(), lets the filter know that the delta was accepted.
SwigDirector_LocalSearchOperator()
virtual bool AcceptDelta(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
virtual std::string name() const
Object naming.
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
virtual void Install()
Registers itself on the solver such that it gets notified of the search and propagation events.
virtual int64_t ModifyValue(int64_t index, int64_t value)
virtual void AfterDecision(operations_research::Decision *const d, bool apply)
Just after refuting or applying the decision, apply is true after Apply.
DemonPriority
This enum represents the three possible priorities for a demon in the Solver queue.
A Decision represents a choice point in the search tree.
virtual void OnSynchronizeSwigPublic(operations_research::Assignment const *delta)
bool swig_get_inner(const char *swig_protected_method_name) const
bool swig_get_inner(const char *swig_protected_method_name) const
A search monitor is a simple set of callbacks to monitor all search events.
virtual void ExitSearch()
End of the search.
virtual ~SwigDirector_Decision()
virtual void Reset()
Sets the filter to empty solution.
virtual operations_research::Solver::DemonPriority priority() const
This method returns the priority of the demon.
virtual std::string name() const
Object naming.
SwigDirector_SearchMonitor(operations_research::Solver *const s)
virtual ~SwigDirector_IntVarLocalSearchOperator()
virtual void OnStart()
Called by Start() after synchronizing the operator with the current assignment.
virtual void NoMoreSolutions()
When the search tree is finished.
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
Redefines MakeNextNeighbor to export a simpler interface.
virtual bool AtSolution()
This method is called when a valid solution is found.
virtual void RestartSearch()
Restart the search.
virtual std::string DebugString() const
virtual ~SwigDirector_BaseObject()
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
virtual bool MakeOneNeighborSwigPublic()
virtual bool HoldsDelta() const
Specialization of LocalSearchOperator built from an array of IntVars which specifies the scope of the...
virtual void AcceptNeighbor()
After accepting a neighbor during local search.
virtual ~SwigDirector_ChangeValue()
virtual void InitFragments()
bool swig_get_inner(const char *swig_protected_method_name) const
virtual bool MakeOneNeighbor()
Creates a new neighbor.
virtual bool LocalOptimum()
When a local optimum is reached.
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
SwigDirector_IntVarLocalSearchOperator()
bool swig_get_inner(const char *swig_protected_method_name) const
virtual ~SwigDirector_DecisionBuilder()
bool MakeOneNeighbor() override
This method should not be overridden. Override ModifyValue() instead.
SwigDirector_IntVarLocalSearchFilter(std::vector< operations_research::IntVar * > const &vars)
virtual bool MakeOneNeighborSwigPublic()
virtual void Refute(operations_research::Solver *const s)
Refute will be called after a backtrack.
virtual std::string DebugString() const
virtual void EndFail()
After completing the backtrack.
virtual std::string DebugString() const
virtual std::string DebugString() const
virtual ~SwigDirector_Demon()