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;
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;
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;
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;
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;
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;
PyObject * swig_get_self() const
static void raise(const char *msg)
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
Redefines MakeNextNeighbor to export a simpler interface.
virtual bool HasFragments() const
virtual bool HoldsDelta() const
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
SwigDirector_BaseLns(std::vector< operations_research::IntVar * > const &vars)
virtual void InitFragments()
virtual ~SwigDirector_BaseLns()
virtual std::string DebugString() const
virtual bool IsIncremental() const
virtual bool NextFragment()
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
SwigDirector_BaseObject(PyObject *self)
virtual std::string DebugString() const
virtual ~SwigDirector_BaseObject()
bool swig_get_inner(const char *swig_protected_method_name) const
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
Redefines MakeNextNeighbor to export a simpler interface.
virtual bool SkipUnchanged(int index) const
virtual bool HasFragments() const
virtual bool HoldsDelta() const
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
virtual bool MakeOneNeighborSwigPublic()
virtual bool MakeOneNeighbor()
This method should not be overridden. Override ModifyValue() instead.
virtual ~SwigDirector_ChangeValue()
SwigDirector_ChangeValue(std::vector< operations_research::IntVar * > const &vars)
virtual std::string DebugString() const
virtual int64_t ModifyValue(int64_t index, int64_t value)
virtual bool IsIncremental() const
virtual void OnStart()
Called by Start() after synchronizing the operator with the current assignment.
bool swig_get_inner(const char *swig_protected_method_name) const
virtual operations_research::IntVar * Var()
Creates a Boolean variable representing the status of the constraint (false = constraint is violated,...
virtual std::string name() const
Object naming.
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
SwigDirector_Constraint(operations_research::Solver *const solver)
virtual std::string name() const
Object naming.
virtual void Accept(operations_research::ModelVisitor *const visitor) const
Accepts the given visitor.
virtual std::string DebugString() const
virtual void Post()
This method is called when the constraint is processed by the solver.
virtual ~SwigDirector_Constraint()
bool swig_get_inner(const char *swig_protected_method_name) const
virtual void InitialPropagate()
This method performs the initial propagation of the constraint.
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
virtual ~SwigDirector_DecisionBuilder()
virtual std::string DebugString() const
virtual operations_research::Decision * Next(operations_research::Solver *const s)
This is the main method of the decision builder class.
SwigDirector_DecisionBuilder()
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 ~SwigDirector_Decision()
virtual void Refute(operations_research::Solver *const s)
Refute will be called after a backtrack.
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
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
virtual operations_research::Solver::DemonPriority priority() const
This method returns the priority of the demon.
virtual void Run(operations_research::Solver *const s)
This is the main callback of the demon.
virtual std::string DebugString() const
virtual ~SwigDirector_Demon()
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 int64_t GetAcceptedObjectiveValue() const
Objective value from the last time Accept() was called and returned true.
virtual void Reset()
Sets the filter to empty solution.
SwigDirector_IntVarLocalSearchFilter(std::vector< operations_research::IntVar * > const &vars)
virtual void OnSynchronize(operations_research::Assignment const *delta)
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 void OnSynchronizeSwigPublic(operations_research::Assignment const *delta)
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 ~SwigDirector_IntVarLocalSearchFilter()
virtual std::string DebugString() const
virtual bool IsIncremental() const
virtual int64_t GetSynchronizedObjectiveValue() const
Objective value from last time Synchronize() was called.
virtual void Revert()
Cancels the changes made by the last Relax()/Accept() calls.
virtual void Synchronize(operations_research::Assignment const *assignment, operations_research::Assignment const *delta)
This method should not be overridden.
bool swig_get_inner(const char *swig_protected_method_name) 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.
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
Redefines MakeNextNeighbor to export a simpler interface.
virtual bool SkipUnchanged(int index) const
virtual bool HasFragments() const
virtual bool HoldsDelta() const
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
virtual bool MakeOneNeighborSwigPublic()
virtual bool MakeOneNeighbor()
Creates a new neighbor.
virtual std::string DebugString() const
virtual bool IsIncremental() const
virtual void OnStart()
Called by Start() after synchronizing the operator with the current assignment.
virtual ~SwigDirector_IntVarLocalSearchOperator()
bool swig_get_inner(const char *swig_protected_method_name) const
SwigDirector_IntVarLocalSearchOperator()
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
virtual bool HasFragments() const
virtual bool HoldsDelta() const
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
SwigDirector_LocalSearchOperator()
virtual ~SwigDirector_LocalSearchOperator()
virtual std::string DebugString() const
virtual void Start(operations_research::Assignment const *assignment)
bool swig_get_inner(const char *swig_protected_method_name) const
virtual std::string name() const
Object naming.
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
virtual std::string DebugString() const
virtual ~SwigDirector_PropagationBaseObject()
SwigDirector_PropagationBaseObject(PyObject *self, operations_research::Solver *const s)
bool swig_get_inner(const char *swig_protected_method_name) const
virtual void Install()
Registers itself on the solver such that it gets notified of the search and propagation events.
virtual bool IsUncheckedSolutionLimitReached()
Returns true if the limit of solutions has been reached including unchecked solutions.
virtual void ExitSearch()
End of the search.
virtual void EndInitialPropagation()
After the initial propagation.
virtual void PeriodicCheck()
Periodic call to check limits in long running methods.
virtual void BeginFail()
Just when the failure occurs.
virtual void RestartSearch()
Restart the search.
virtual void EnterSearch()
Beginning of the search.
void swig_set_inner(const char *swig_protected_method_name, bool swig_val) const
virtual bool AcceptSolution()
This method is called when a solution is found.
virtual int ProgressPercent()
Returns a percentage representing the propress of the search before reaching limits.
virtual void EndFail()
After completing the backtrack.
virtual void AcceptNeighbor()
After accepting a neighbor during local search.
virtual void ApplyDecision(operations_research::Decision *const d)
Before applying the decision.
virtual void NoMoreSolutions()
When the search tree is finished.
virtual void AfterDecision(operations_research::Decision *const d, bool apply)
Just after refuting or applying the decision, apply is true after Apply.
virtual void BeginNextDecision(operations_research::DecisionBuilder *const b)
Before calling DecisionBuilder::Next.
virtual void RefuteDecision(operations_research::Decision *const d)
Before refuting the decision.
virtual std::string DebugString() const
virtual bool AtSolution()
This method is called when a valid solution is found.
virtual void EndNextDecision(operations_research::DecisionBuilder *const b, operations_research::Decision *const d)
After calling DecisionBuilder::Next, along with the returned decision.
virtual void Accept(operations_research::ModelVisitor *const visitor) const
Accepts the given model visitor.
virtual bool LocalOptimum()
When a local optimum is reached.
virtual bool AcceptDelta(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
virtual void BeginInitialPropagation()
Before the initial propagation.
virtual void AcceptUncheckedNeighbor()
After accepting an unchecked neighbor during local search.
virtual ~SwigDirector_SearchMonitor()
SwigDirector_SearchMonitor(operations_research::Solver *const s)
bool swig_get_inner(const char *swig_protected_method_name) const
An Assignment is a variable -> domains mapping, used to report solutions to the user.
This is the base class for building an Lns operator.
A BaseObject is the root of all reversibly allocated objects.
Defines operators which change the value of variables; each neighbor corresponds to one modified vari...
bool MakeOneNeighbor() override
This method should not be overridden. Override ModifyValue() instead.
A constraint is the main modeling object.
A DecisionBuilder is responsible for creating the search tree.
A Decision represents a choice point in the search tree.
A Demon is the base element of a propagation queue.
The class IntVar is a subset of IntExpr.
virtual void OnSynchronize(const Assignment *delta)
Specialization of LocalSearchOperator built from an array of IntVars which specifies the scope of the...
virtual bool MakeOneNeighbor()
Creates a new neighbor.
The base class for all local search operators.
A search monitor is a simple set of callbacks to monitor all search events.
DemonPriority
This enum represents the three possible priorities for a demon in the Solver queue.
SWIGINTERN PyObject * SWIG_Python_str_FromChar(const char *c)