OR-Tools  9.1
constraint_solver_java_wrap.h
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2  * This file was automatically generated by SWIG (http://www.swig.org).
3  * Version 4.0.1
4  *
5  * This file is not intended to be easily readable and contains a number of
6  * coding conventions designed to improve portability and efficiency. Do not make
7  * changes to this file unless you know what you are doing--modify the SWIG
8  * interface file instead.
9  * ----------------------------------------------------------------------------- */
10 
11 #ifndef SWIG_main_WRAP_H_
12 #define SWIG_main_WRAP_H_
13 
15 
16 public:
17  void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);
18  SwigDirector_Decision(JNIEnv *jenv);
19  virtual ~SwigDirector_Decision();
20  virtual std::string DebugString() const;
21  virtual void Apply(operations_research::Solver *const s);
22  virtual void Refute(operations_research::Solver *const s);
23  virtual void Accept(operations_research::DecisionVisitor *const visitor) const;
24 public:
25  bool swig_overrides(int n) {
26  return (n < 4 ? swig_override[n] : false);
27  }
28 protected:
30 };
31 
33 
34 public:
35  void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);
36  SwigDirector_DecisionVisitor(JNIEnv *jenv);
38  virtual std::string DebugString() const;
39  virtual void VisitSetVariableValue(operations_research::IntVar *const var, int64_t value);
40  virtual void VisitSplitVariableDomain(operations_research::IntVar *const var, int64_t value, bool start_with_lower_half);
41  virtual void VisitScheduleOrPostpone(operations_research::IntervalVar *const var, int64_t est);
42  virtual void VisitScheduleOrExpedite(operations_research::IntervalVar *const var, int64_t est);
43  virtual void VisitRankFirstInterval(operations_research::SequenceVar *const sequence, int index);
44  virtual void VisitRankLastInterval(operations_research::SequenceVar *const sequence, int index);
45  virtual void VisitUnknownDecision();
46 public:
47  bool swig_overrides(int n) {
48  return (n < 8 ? swig_override[n] : false);
49  }
50 protected:
52 };
53 
55 
56 public:
57  void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);
58  SwigDirector_DecisionBuilder(JNIEnv *jenv);
60  virtual std::string DebugString() const;
62 public:
63  bool swig_overrides(int n) {
64  return (n < 2 ? swig_override[n] : false);
65  }
66 protected:
68 };
69 
71 
72 public:
73  void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);
76  virtual std::string DebugString() const;
77  virtual void EnterSearch();
78  virtual void RestartSearch();
79  virtual void ExitSearch();
82  virtual void ApplyDecision(operations_research::Decision *const d);
83  virtual void RefuteDecision(operations_research::Decision *const d);
84  virtual void AfterDecision(operations_research::Decision *const d, bool apply);
85  virtual void BeginFail();
86  virtual void EndFail();
87  virtual void BeginInitialPropagation();
88  virtual void EndInitialPropagation();
89  virtual bool AcceptSolution();
90  virtual bool AtSolution();
91  virtual void NoMoreSolutions();
92  virtual bool LocalOptimum();
94  virtual void AcceptNeighbor();
95  virtual void AcceptUncheckedNeighbor();
96  virtual bool IsUncheckedSolutionLimitReached();
97  virtual void PeriodicCheck();
98  virtual int ProgressPercent();
99  virtual void Accept(operations_research::ModelVisitor *const visitor) const;
100  virtual void Install();
101 public:
102  bool swig_overrides(int n) {
103  return (n < 25 ? swig_override[n] : false);
104  }
105 protected:
107 };
108 
110 
111 public:
112  void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);
113  SwigDirector_LocalSearchOperator(JNIEnv *jenv);
115  virtual std::string DebugString() const;
117  virtual void Start(operations_research::Assignment const *assignment);
118  virtual void Reset();
119  virtual bool HasFragments() const;
120  virtual bool HoldsDelta() const;
121 public:
122  bool swig_overrides(int n) {
123  return (n < 6 ? swig_override[n] : false);
124  }
125 protected:
127 };
128 
130 
131 public:
132  void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);
134  SwigDirector_IntVarLocalSearchOperator(JNIEnv *jenv, std::vector< operations_research::IntVar * > const &vars, bool keep_inverse_values = false);
136  virtual std::string DebugString() const;
138  virtual void Start(operations_research::Assignment const *assignment);
139  virtual void Reset();
140  virtual bool HasFragments() const;
141  virtual bool HoldsDelta() const;
142  virtual bool IsIncremental() const;
143  virtual bool SkipUnchanged(int index) const;
144  virtual void OnStart();
145  virtual bool MakeOneNeighbor();
146  virtual bool MakeOneNeighborSwigPublic() {
148  }
149 public:
150  bool swig_overrides(int n) {
151  return (n < 7 ? swig_override[n] : false);
152  }
153 protected:
155 };
156 
158 
159 public:
160  void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);
162  SwigDirector_SequenceVarLocalSearchOperator(JNIEnv *jenv, std::vector< operations_research::SequenceVar * > const &vars);
164  virtual std::string DebugString() const;
166  virtual void Start(operations_research::Assignment const *assignment);
167  virtual void Reset();
168  virtual bool HasFragments() const;
169  virtual bool HoldsDelta() const;
170  virtual bool IsIncremental() const;
171  virtual bool SkipUnchanged(int index) const;
172  virtual void OnStart();
173 public:
174  bool swig_overrides(int n) {
175  return (n < 7 ? swig_override[n] : false);
176  }
177 protected:
179 };
180 
182 
183 public:
184  void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);
185  SwigDirector_BaseLns(JNIEnv *jenv, std::vector< operations_research::IntVar * > const &vars);
186  virtual ~SwigDirector_BaseLns();
187  virtual std::string DebugString() const;
189  virtual void Start(operations_research::Assignment const *assignment);
190  virtual void Reset();
191  virtual bool HasFragments() const;
192  virtual bool HoldsDelta() const;
193  virtual bool IsIncremental() const;
194  virtual void InitFragments();
195  virtual bool NextFragment();
196 public:
197  bool swig_overrides(int n) {
198  return (n < 7 ? swig_override[n] : false);
199  }
200 protected:
202 };
203 
205 
206 public:
207  void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);
208  SwigDirector_ChangeValue(JNIEnv *jenv, std::vector< operations_research::IntVar * > const &vars);
209  virtual ~SwigDirector_ChangeValue();
210  virtual std::string DebugString() const;
212  virtual void Start(operations_research::Assignment const *assignment);
213  virtual void Reset();
214  virtual bool HasFragments() const;
215  virtual bool HoldsDelta() const;
216  virtual bool IsIncremental() const;
217  virtual bool SkipUnchanged(int index) const;
218  virtual void OnStart();
219  virtual bool MakeOneNeighbor();
220  virtual bool MakeOneNeighborSwigPublic() {
222  }
223  virtual int64_t ModifyValue(int64_t index, int64_t value);
224 public:
225  bool swig_overrides(int n) {
226  return (n < 8 ? swig_override[n] : false);
227  }
228 protected:
230 };
231 
233 
234 public:
235  void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);
236  SwigDirector_PathOperator(JNIEnv *jenv, std::vector< operations_research::IntVar * > const &next_vars, std::vector< operations_research::IntVar * > const &path_vars, operations_research::PathOperator::IterationParameters iteration_parameters);
237  SwigDirector_PathOperator(JNIEnv *jenv, std::vector< operations_research::IntVar * > const &next_vars, std::vector< operations_research::IntVar * > const &path_vars, int number_of_base_nodes, bool skip_locally_optimal_paths, bool accept_path_end_base, std::function< int (int64_t) > start_empty_path_class);
238  virtual ~SwigDirector_PathOperator();
239  virtual std::string DebugString() const;
241  virtual void Start(operations_research::Assignment const *assignment);
242  virtual void Reset();
243  virtual bool HasFragments() const;
244  virtual bool HoldsDelta() const;
245  virtual bool IsIncremental() const;
246  virtual bool SkipUnchanged(int index) const;
247  virtual void OnStart();
248  virtual bool MakeOneNeighbor();
249  virtual bool MakeOneNeighborSwigPublic() {
251  }
252  virtual bool MakeNeighbor();
253  virtual void OnNodeInitialization();
256  }
257  virtual bool RestartAtPathStartOnSynchronize();
260  }
261  virtual bool OnSamePathAsPreviousBase(int64_t base_index);
262  virtual bool OnSamePathAsPreviousBaseSwigPublic(int64_t base_index) {
264  }
265  virtual int64_t GetBaseNodeRestartPosition(int base_index);
266  virtual int64_t GetBaseNodeRestartPositionSwigPublic(int base_index) {
268  }
269  virtual void SetNextBaseToIncrement(int64_t base_index);
270  virtual void SetNextBaseToIncrementSwigPublic(int64_t base_index) {
272  }
273  virtual bool ConsiderAlternatives(int64_t base_index) const;
274  virtual bool ConsiderAlternativesSwigPublic(int64_t base_index) const {
276  }
277  virtual bool InitPosition() const;
278  virtual bool InitPositionSwigPublic() const {
280  }
281 public:
282  bool swig_overrides(int n) {
283  return (n < 15 ? swig_override[n] : false);
284  }
285 protected:
287 };
288 
290 
291 public:
292  void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);
293  SwigDirector_LocalSearchFilter(JNIEnv *jenv);
295  virtual std::string DebugString() const;
296  virtual void Relax(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta);
297  virtual void Commit(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta);
298  virtual bool Accept(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta, int64_t objective_min, int64_t objective_max);
299  virtual bool IsIncremental() const;
301  virtual void Revert();
302  virtual void Reset();
303  virtual int64_t GetSynchronizedObjectiveValue() const;
304  virtual int64_t GetAcceptedObjectiveValue() const;
305 public:
306  bool swig_overrides(int n) {
307  return (n < 10 ? swig_override[n] : false);
308  }
309 protected:
311 };
312 
314 
315 public:
316  void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);
317  SwigDirector_LocalSearchFilterManager(JNIEnv *jenv, std::vector< operations_research::LocalSearchFilterManager::FilterEvent > filter_events);
318  SwigDirector_LocalSearchFilterManager(JNIEnv *jenv, std::vector< operations_research::LocalSearchFilter * > filters);
320  virtual std::string DebugString() const;
321 public:
322  bool swig_overrides(int n) {
323  return (n < 1 ? swig_override[n] : false);
324  }
325 protected:
327 };
328 
330 
331 public:
332  void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);
333  SwigDirector_IntVarLocalSearchFilter(JNIEnv *jenv, std::vector< operations_research::IntVar * > const &vars);
335  virtual std::string DebugString() const;
336  virtual void Relax(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta);
337  virtual void Commit(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta);
338  virtual bool Accept(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta, int64_t objective_min, int64_t objective_max);
339  virtual bool IsIncremental() const;
340  virtual void Revert();
341  virtual void Reset();
342  virtual int64_t GetSynchronizedObjectiveValue() const;
343  virtual int64_t GetAcceptedObjectiveValue() const;
347  }
348 public:
349  bool swig_overrides(int n) {
350  return (n < 10 ? swig_override[n] : false);
351  }
352 protected:
354 };
355 
357 
358 public:
359  void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);
360  SwigDirector_SymmetryBreaker(JNIEnv *jenv);
362  virtual std::string DebugString() const;
363  virtual void VisitSetVariableValue(operations_research::IntVar *const var, int64_t value);
364  virtual void VisitSplitVariableDomain(operations_research::IntVar *const var, int64_t value, bool start_with_lower_half);
365  virtual void VisitScheduleOrPostpone(operations_research::IntervalVar *const var, int64_t est);
366  virtual void VisitScheduleOrExpedite(operations_research::IntervalVar *const var, int64_t est);
367  virtual void VisitRankFirstInterval(operations_research::SequenceVar *const sequence, int index);
368  virtual void VisitRankLastInterval(operations_research::SequenceVar *const sequence, int index);
369  virtual void VisitUnknownDecision();
370 public:
371  bool swig_overrides(int n) {
372  return (n < 8 ? swig_override[n] : false);
373  }
374 protected:
376 };
377 
378 
379 #endif
SwigDirector_BaseLns(std::vector< operations_research::IntVar * > const &vars)
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 int64_t GetSynchronizedObjectiveValue() const
Objective value from last time Synchronize() was called.
virtual operations_research::Decision * Next(operations_research::Solver *const s)
This is the main method of the decision builder class.
void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackMakeNextNeighbor, SWIG_Callback2_t callbackStart, SWIG_Callback3_t callbackReset, SWIG_Callback4_t callbackHasFragments, SWIG_Callback5_t callbackHoldsDelta)
Set of parameters used to configure how the neighnorhood is traversed.
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
Redefines MakeNextNeighbor to export a simpler interface.
virtual void SetNextBaseToIncrementSwigPublic(int64_t base_index)
virtual std::string DebugString() const
The base class for all local search operators.
virtual int ProgressPercent()
Returns a percentage representing the propress of the search before reaching limits.
virtual bool InitPosition() const
Returns true if the operator needs to restart its initial position at each call to Start()
virtual bool ConsiderAlternatives(int64_t base_index) const
Indicates if alternatives should be considered when iterating over base nodes.
virtual void OnSynchronize(operations_research::Assignment const *delta)
virtual void Reset()
Sets the filter to empty solution.
Base class of the local search operators dedicated to path modifications (a path is a set of nodes li...
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.
virtual bool ConsiderAlternativesSwigPublic(int64_t base_index) 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.
virtual void Start(operations_research::Assignment const *assignment)
This method should not be overridden.
virtual void Start(operations_research::Assignment const *assignment)
virtual void Revert()
Cancels the changes made by the last Relax()/Accept() calls.
SwigDirector_ChangeValue(std::vector< operations_research::IntVar * > const &vars)
void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackRelax, SWIG_Callback2_t callbackCommit, SWIG_Callback3_t callbackAccept, SWIG_Callback4_t callbackIsIncremental, SWIG_Callback5_t callbackRevert, SWIG_Callback6_t callbackReset, SWIG_Callback7_t callbackGetSynchronizedObjectiveValue, SWIG_Callback8_t callbackGetAcceptedObjectiveValue, SWIG_Callback9_t callbackOnSynchronize)
virtual void EndNextDecision(operations_research::DecisionBuilder *const b, operations_research::Decision *const d)
After calling DecisionBuilder::Next, along with the returned decision.
A DecisionVisitor is used to inspect a decision.
void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackReset, SWIG_Callback2_t callbackHasFragments, SWIG_Callback3_t callbackHoldsDelta, SWIG_Callback4_t callbackIsIncremental, SWIG_Callback5_t callbackOnStart, SWIG_Callback6_t callbackMakeOneNeighbor)
void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackReset, SWIG_Callback2_t callbackHasFragments, SWIG_Callback3_t callbackHoldsDelta, SWIG_Callback4_t callbackIsIncremental, SWIG_Callback5_t callbackInitFragments, SWIG_Callback6_t callbackNextFragment)
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
virtual void OnSynchronize(const Assignment *delta)
virtual void Synchronize(operations_research::Assignment const *assignment, operations_research::Assignment const *delta)
Synchronizes the filter with the current solution, delta being the difference with the solution passe...
virtual void OnNodeInitialization()
Called by OnStart() after initializing node information.
virtual void OnStart()
Called by Start() after synchronizing the operator with the current assignment.
virtual bool MakeOneNeighbor()
This method should not be overridden. Override ModifyValue() instead.
void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackReset, SWIG_Callback2_t callbackHasFragments, SWIG_Callback3_t callbackHoldsDelta, SWIG_Callback4_t callbackIsIncremental, SWIG_Callback5_t callbackOnStart, SWIG_Callback6_t callbackMakeOneNeighbor, SWIG_Callback7_t callbackModifyValue)
Swig::BoolArray< 7 > swig_override
virtual void Start(operations_research::Assignment const *assignment)
Swig::BoolArray< 4 > swig_override
virtual void VisitSetVariableValue(operations_research::IntVar *const var, int64_t value)
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 void BeginFail()
Just when the failure occurs.
A DecisionBuilder is responsible for creating the search tree.
virtual void OnNodeInitialization()
Called by OnStart() after initializing node information.
virtual bool RestartAtPathStartOnSynchronizeSwigPublic()
int64_t b
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.
virtual bool MakeOneNeighbor()
Creates a new neighbor.
Interval variables are often used in scheduling.
virtual void Accept(operations_research::ModelVisitor *const visitor) const
Accepts the given model visitor.
virtual std::string DebugString() const
SwigDirector_LocalSearchFilterManager(std::vector< operations_research::LocalSearchFilterManager::FilterEvent > filter_events)
virtual void VisitScheduleOrPostpone(operations_research::IntervalVar *const var, int64_t est)
virtual bool InitPositionSwigPublic() const
virtual void OnStart()
Called by Start() after synchronizing the operator with the current assignment.
virtual bool OnSamePathAsPreviousBaseSwigPublic(int64_t base_index)
virtual std::string DebugString() const
virtual bool AcceptSolution()
This method is called when a solution is found.
virtual void VisitRankFirstInterval(operations_research::SequenceVar *const sequence, int index)
virtual bool IsUncheckedSolutionLimitReached()
Returns true if the limit of solutions has been reached including unchecked solutions.
virtual std::string DebugString() const
virtual void OnStart()
Called by Start() after synchronizing the operator with the current assignment.
virtual void VisitRankFirstInterval(operations_research::SequenceVar *const sequence, int index)
Filter manager: when a move is made, filters are executed to decide whether the solution is feasible ...
virtual void Apply(operations_research::Solver *const s)
Apply will be called first when the decision is executed.
virtual void Start(operations_research::Assignment const *assignment)
virtual void VisitScheduleOrExpedite(operations_research::IntervalVar *const var, int64_t est)
virtual bool SkipUnchanged(int index) 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 int64_t GetBaseNodeRestartPositionSwigPublic(int base_index)
void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackReset, SWIG_Callback2_t callbackHasFragments, SWIG_Callback3_t callbackHoldsDelta, SWIG_Callback4_t callbackIsIncremental, SWIG_Callback5_t callbackOnStart, SWIG_Callback6_t callbackMakeOneNeighbor, SWIG_Callback7_t callbackMakeNeighbor, SWIG_Callback8_t callbackOnNodeInitialization, SWIG_Callback9_t callbackRestartAtPathStartOnSynchronize, SWIG_Callback10_t callbackOnSamePathAsPreviousBase, SWIG_Callback11_t callbackGetBaseNodeRestartPosition, SWIG_Callback12_t callbackSetNextBaseToIncrement, SWIG_Callback13_t callbackConsiderAlternatives, SWIG_Callback14_t callbackInitPosition)
virtual int64_t GetAcceptedObjectiveValue() const
Objective value from the last time Accept() was called and returned true.
virtual std::string DebugString() const
bool MakeOneNeighbor() override
This method should not be overridden. Override MakeNeighbor() instead.
virtual void BeginNextDecision(operations_research::DecisionBuilder *const b)
Before calling DecisionBuilder::Next.
virtual void ApplyDecision(operations_research::Decision *const d)
Before applying the decision.
int index
Definition: pack.cc:509
virtual void Accept(operations_research::DecisionVisitor *const visitor) const
Accepts the given visitor.
An Assignment is a variable -> domains mapping, used to report solutions to the user.
virtual void EnterSearch()
Beginning of the search.
void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global)
The class IntVar is a subset of IntExpr.
virtual void BeginInitialPropagation()
Before the initial propagation.
virtual void SetNextBaseToIncrement(int64_t base_index)
Set the next base to increment on next iteration.
virtual bool ConsiderAlternatives(int64_t base_index) const
Indicates if alternatives should be considered when iterating over base nodes.
virtual bool SkipUnchanged(int index) const
int64_t delta
Definition: resource.cc:1692
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 AcceptDelta(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
virtual void VisitRankLastInterval(operations_research::SequenceVar *const sequence, int index)
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
Redefines MakeNextNeighbor to export a simpler interface.
A sequence variable is a variable whose domain is a set of possible orderings of the interval variabl...
virtual bool InitPosition() const
Returns true if the operator needs to restart its initial position at each call to Start()
virtual bool OnSamePathAsPreviousBase(int64_t base_index)
Returns true if a base node has to be on the same path as the "previous" base node (base node of inde...
virtual bool RestartAtPathStartOnSynchronize()
When the operator is being synchronized with a new solution (when Start() is called),...
void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackNextWrapper)
virtual void VisitScheduleOrPostpone(operations_research::IntervalVar *const var, int64_t est)
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.
virtual int64_t GetSynchronizedObjectiveValue() const
Objective value from last time Synchronize() was called.
A Decision represents a choice point in the search tree.
void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackRelax, SWIG_Callback2_t callbackCommit, SWIG_Callback3_t callbackAccept, SWIG_Callback4_t callbackIsIncremental, SWIG_Callback5_t callbackSynchronize, SWIG_Callback6_t callbackRevert, SWIG_Callback7_t callbackReset, SWIG_Callback8_t callbackGetSynchronizedObjectiveValue, SWIG_Callback9_t callbackGetAcceptedObjectiveValue)
virtual void OnSynchronizeSwigPublic(operations_research::Assignment const *delta)
virtual int64_t GetAcceptedObjectiveValue() const
Objective value from the last time Accept() was called and returned true.
A search monitor is a simple set of callbacks to monitor all search events.
virtual void VisitSetVariableValue(operations_research::IntVar *const var, int64_t value)
virtual void ExitSearch()
End of the search.
virtual void Reset()
Sets the filter to empty solution.
virtual bool MakeOneNeighbor()
This method should not be overridden. Override MakeNeighbor() instead.
SwigDirector_SearchMonitor(operations_research::Solver *const s)
A symmetry breaker is an object that will visit a decision and create the 'symmetrical' decision in r...
virtual void Start(operations_research::Assignment const *assignment)
virtual void OnStart()
Called by Start() after synchronizing the operator with the current assignment.
void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackVisitSetVariableValue, SWIG_Callback2_t callbackVisitSplitVariableDomain, SWIG_Callback3_t callbackVisitScheduleOrPostpone, SWIG_Callback4_t callbackVisitScheduleOrExpedite, SWIG_Callback5_t callbackVisitRankFirstInterval, SWIG_Callback6_t callbackVisitRankLastInterval, SWIG_Callback7_t callbackVisitUnknownDecision)
virtual void NoMoreSolutions()
When the search tree is finished.
void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackApplyWrapper, SWIG_Callback2_t callbackRefuteWrapper, SWIG_Callback3_t callbackAccept)
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
Redefines MakeNextNeighbor to export a simpler interface.
IntVar * var
Definition: expr_array.cc:1874
virtual void SetNextBaseToIncrement(int64_t base_index)
Set the next base to increment on next iteration.
virtual bool AtSolution()
This method is called when a valid solution is found.
virtual void RestartSearch()
Restart the search.
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
virtual void VisitSplitVariableDomain(operations_research::IntVar *const var, int64_t value, bool start_with_lower_half)
virtual void VisitSplitVariableDomain(operations_research::IntVar *const var, int64_t value, bool start_with_lower_half)
virtual int64_t GetBaseNodeRestartPosition(int base_index)
Returns the index of the node to which the base node of index base_index must be set to when it reach...
void swig_connect_director(SWIG_Callback0_t callbackToString)
virtual void Start(operations_research::Assignment const *assignment)
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 int64_t GetBaseNodeRestartPosition(int base_index)
Returns the index of the node to which the base node of index base_index must be set to when it reach...
virtual bool RestartAtPathStartOnSynchronize()
When the operator is being synchronized with a new solution (when Start() is called),...
virtual bool MakeOneNeighbor()
Creates a new neighbor.
Definition: local_search.cc:97
virtual bool LocalOptimum()
When a local optimum is reached.
virtual void VisitRankLastInterval(operations_research::SequenceVar *const sequence, int index)
virtual void VisitScheduleOrExpedite(operations_research::IntervalVar *const var, int64_t est)
Local Search Filters are used for fast neighbor pruning.
bool MakeOneNeighbor() override
This method should not be overridden. Override ModifyValue() instead.
void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackMakeNextNeighbor, SWIG_Callback2_t callbackReset, SWIG_Callback3_t callbackHasFragments, SWIG_Callback4_t callbackHoldsDelta, SWIG_Callback5_t callbackIsIncremental, SWIG_Callback6_t callbackOnStart)
int64_t value
SwigDirector_PathOperator(JNIEnv *jenv, std::vector< operations_research::IntVar * > const &next_vars, std::vector< operations_research::IntVar * > const &path_vars, operations_research::PathOperator::IterationParameters iteration_parameters)
SwigDirector_IntVarLocalSearchFilter(std::vector< operations_research::IntVar * > const &vars)
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 Refute(operations_research::Solver *const s)
Refute will be called after a backtrack.
virtual bool OnSamePathAsPreviousBase(int64_t base_index)
Returns true if a base node has to be on the same path as the "previous" base node (base node of inde...
virtual std::string DebugString() const
virtual void EndFail()
After completing the backtrack.
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().
void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackEnterSearch, SWIG_Callback2_t callbackRestartSearch, SWIG_Callback3_t callbackExitSearch, SWIG_Callback4_t callbackBeginNextDecision, SWIG_Callback5_t callbackEndNextDecision, SWIG_Callback6_t callbackApplyDecision, SWIG_Callback7_t callbackRefuteDecision, SWIG_Callback8_t callbackAfterDecision, SWIG_Callback9_t callbackBeginFail, SWIG_Callback10_t callbackEndFail, SWIG_Callback11_t callbackBeginInitialPropagation, SWIG_Callback12_t callbackEndInitialPropagation, SWIG_Callback13_t callbackAcceptSolution, SWIG_Callback14_t callbackAtSolution, SWIG_Callback15_t callbackNoMoreSolutions, SWIG_Callback16_t callbackLocalOptimum, SWIG_Callback17_t callbackAcceptDelta, SWIG_Callback18_t callbackAcceptNeighbor, SWIG_Callback19_t callbackAcceptUncheckedNeighbor, SWIG_Callback20_t callbackIsUncheckedSolutionLimitReached, SWIG_Callback21_t callbackPeriodicCheck, SWIG_Callback22_t callbackProgressPercent, SWIG_Callback23_t callbackAccept, SWIG_Callback24_t callbackInstall)