OR-Tools  9.1
constraint_solver_csharp_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.2
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_operations_research_constraint_solver_WRAP_H_
12#define SWIG_operations_research_constraint_solver_WRAP_H_
13
15
16public:
18 virtual ~SwigDirector_Decision();
19 virtual std::string DebugString() const;
20 virtual void Apply(operations_research::Solver *const s);
21 virtual void Refute(operations_research::Solver *const s);
22 virtual void Accept(operations_research::DecisionVisitor *const visitor) const;
23
24 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
25 typedef void (SWIGSTDCALL* SWIG_Callback1_t)(void *);
26 typedef void (SWIGSTDCALL* SWIG_Callback2_t)(void *);
27 typedef void (SWIGSTDCALL* SWIG_Callback3_t)(void *);
28 void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackApplyWrapper, SWIG_Callback2_t callbackRefuteWrapper, SWIG_Callback3_t callbackAccept);
29
30private:
31 SWIG_Callback0_t swig_callbackToString;
32 SWIG_Callback1_t swig_callbackApplyWrapper;
33 SWIG_Callback2_t swig_callbackRefuteWrapper;
34 SWIG_Callback3_t swig_callbackAccept;
35 void swig_init_callbacks();
36};
37
39
40public:
43 virtual std::string DebugString() const;
45
46 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
47 typedef void * (SWIGSTDCALL* SWIG_Callback1_t)(void *);
48 void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackNextWrapper);
49
50private:
51 SWIG_Callback0_t swig_callbackToString;
52 SWIG_Callback1_t swig_callbackNextWrapper;
53 void swig_init_callbacks();
54};
55
57
58public:
60 virtual ~SwigDirector_Demon();
61 virtual std::string DebugString() const;
62 virtual void Run(operations_research::Solver *const s);
64
65 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
66 typedef void (SWIGSTDCALL* SWIG_Callback1_t)(void *);
67 typedef int (SWIGSTDCALL* SWIG_Callback2_t)();
68 void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackRunWrapper, SWIG_Callback2_t callbackPriority);
69
70private:
71 SWIG_Callback0_t swig_callbackToString;
72 SWIG_Callback1_t swig_callbackRunWrapper;
73 SWIG_Callback2_t swig_callbackPriority;
74 void swig_init_callbacks();
75};
76
78
79public:
82 virtual std::string DebugString() const;
83 virtual std::string name() const;
84 virtual std::string BaseName() const;
85 virtual void Post();
86 virtual void InitialPropagate();
87
88 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
89 typedef char * (SWIGSTDCALL* SWIG_Callback1_t)();
90 typedef char * (SWIGSTDCALL* SWIG_Callback2_t)();
91 typedef void (SWIGSTDCALL* SWIG_Callback3_t)();
92 typedef void (SWIGSTDCALL* SWIG_Callback4_t)();
93 void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackName, SWIG_Callback2_t callbackBaseName, SWIG_Callback3_t callbackPost, SWIG_Callback4_t callbackInitialPropagateWrapper);
94
95private:
96 SWIG_Callback0_t swig_callbackToString;
97 SWIG_Callback1_t swig_callbackName;
98 SWIG_Callback2_t swig_callbackBaseName;
99 SWIG_Callback3_t swig_callbackPost;
100 SWIG_Callback4_t swig_callbackInitialPropagateWrapper;
101 void swig_init_callbacks();
102};
103
105
106public:
109 virtual std::string DebugString() const;
110 virtual void EnterSearch();
111 virtual void RestartSearch();
112 virtual void ExitSearch();
115 virtual void ApplyDecision(operations_research::Decision *const d);
116 virtual void RefuteDecision(operations_research::Decision *const d);
117 virtual void AfterDecision(operations_research::Decision *const d, bool apply);
118 virtual void BeginFail();
119 virtual void EndFail();
120 virtual void BeginInitialPropagation();
121 virtual void EndInitialPropagation();
122 virtual bool AcceptSolution();
123 virtual bool AtSolution();
124 virtual void NoMoreSolutions();
125 virtual bool LocalOptimum();
127 virtual void AcceptNeighbor();
128 virtual void AcceptUncheckedNeighbor();
129 virtual bool IsUncheckedSolutionLimitReached();
130 virtual void PeriodicCheck();
131 virtual int ProgressPercent();
132 virtual void Accept(operations_research::ModelVisitor *const visitor) const;
133 virtual void Install();
134
135 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
136 typedef void (SWIGSTDCALL* SWIG_Callback1_t)();
137 typedef void (SWIGSTDCALL* SWIG_Callback2_t)();
138 typedef void (SWIGSTDCALL* SWIG_Callback3_t)();
139 typedef void (SWIGSTDCALL* SWIG_Callback4_t)(void *);
140 typedef void (SWIGSTDCALL* SWIG_Callback5_t)(void *, void *);
141 typedef void (SWIGSTDCALL* SWIG_Callback6_t)(void *);
142 typedef void (SWIGSTDCALL* SWIG_Callback7_t)(void *);
143 typedef void (SWIGSTDCALL* SWIG_Callback8_t)(void *, unsigned int);
144 typedef void (SWIGSTDCALL* SWIG_Callback9_t)();
148 typedef unsigned int (SWIGSTDCALL* SWIG_Callback13_t)();
149 typedef unsigned int (SWIGSTDCALL* SWIG_Callback14_t)();
151 typedef unsigned int (SWIGSTDCALL* SWIG_Callback16_t)();
152 typedef unsigned int (SWIGSTDCALL* SWIG_Callback17_t)(void *, void *);
155 typedef unsigned int (SWIGSTDCALL* SWIG_Callback20_t)();
158 typedef void (SWIGSTDCALL* SWIG_Callback23_t)(void *);
160 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);
161
162private:
163 SWIG_Callback0_t swig_callbackToString;
164 SWIG_Callback1_t swig_callbackEnterSearch;
165 SWIG_Callback2_t swig_callbackRestartSearch;
166 SWIG_Callback3_t swig_callbackExitSearch;
167 SWIG_Callback4_t swig_callbackBeginNextDecision;
168 SWIG_Callback5_t swig_callbackEndNextDecision;
169 SWIG_Callback6_t swig_callbackApplyDecision;
170 SWIG_Callback7_t swig_callbackRefuteDecision;
171 SWIG_Callback8_t swig_callbackAfterDecision;
172 SWIG_Callback9_t swig_callbackBeginFail;
173 SWIG_Callback10_t swig_callbackEndFail;
174 SWIG_Callback11_t swig_callbackBeginInitialPropagation;
175 SWIG_Callback12_t swig_callbackEndInitialPropagation;
176 SWIG_Callback13_t swig_callbackAcceptSolution;
177 SWIG_Callback14_t swig_callbackAtSolution;
178 SWIG_Callback15_t swig_callbackNoMoreSolutions;
179 SWIG_Callback16_t swig_callbackLocalOptimum;
180 SWIG_Callback17_t swig_callbackAcceptDelta;
181 SWIG_Callback18_t swig_callbackAcceptNeighbor;
182 SWIG_Callback19_t swig_callbackAcceptUncheckedNeighbor;
183 SWIG_Callback20_t swig_callbackIsUncheckedSolutionLimitReached;
184 SWIG_Callback21_t swig_callbackPeriodicCheck;
185 SWIG_Callback22_t swig_callbackProgressPercent;
186 SWIG_Callback23_t swig_callbackAccept;
187 SWIG_Callback24_t swig_callbackInstall;
188 void swig_init_callbacks();
189};
190
192
193public:
197 virtual std::string DebugString() const;
198 virtual void EnterSearch();
199 virtual void RestartSearch();
200 virtual void ExitSearch();
203 virtual void ApplyDecision(operations_research::Decision *const d);
204 virtual void RefuteDecision(operations_research::Decision *const d);
205 virtual void AfterDecision(operations_research::Decision *const d, bool apply);
206 virtual void BeginFail();
207 virtual void EndFail();
208 virtual void BeginInitialPropagation();
209 virtual void EndInitialPropagation();
210 virtual bool AcceptSolution();
211 virtual bool AtSolution();
212 virtual void NoMoreSolutions();
213 virtual bool LocalOptimum();
215 virtual void AcceptNeighbor();
216 virtual void AcceptUncheckedNeighbor();
217 virtual bool IsUncheckedSolutionLimitReached();
218 virtual void PeriodicCheck();
219 virtual int ProgressPercent();
220 virtual void Accept(operations_research::ModelVisitor *const visitor) const;
221 virtual void Install();
222
223 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
224 typedef void (SWIGSTDCALL* SWIG_Callback1_t)();
225 typedef void (SWIGSTDCALL* SWIG_Callback2_t)();
226 typedef void (SWIGSTDCALL* SWIG_Callback3_t)();
227 typedef void (SWIGSTDCALL* SWIG_Callback4_t)(void *);
228 typedef void (SWIGSTDCALL* SWIG_Callback5_t)(void *, void *);
229 typedef void (SWIGSTDCALL* SWIG_Callback6_t)(void *);
230 typedef void (SWIGSTDCALL* SWIG_Callback7_t)(void *);
231 typedef void (SWIGSTDCALL* SWIG_Callback8_t)(void *, unsigned int);
232 typedef void (SWIGSTDCALL* SWIG_Callback9_t)();
236 typedef unsigned int (SWIGSTDCALL* SWIG_Callback13_t)();
237 typedef unsigned int (SWIGSTDCALL* SWIG_Callback14_t)();
239 typedef unsigned int (SWIGSTDCALL* SWIG_Callback16_t)();
240 typedef unsigned int (SWIGSTDCALL* SWIG_Callback17_t)(void *, void *);
243 typedef unsigned int (SWIGSTDCALL* SWIG_Callback20_t)();
246 typedef void (SWIGSTDCALL* SWIG_Callback23_t)(void *);
248 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);
249
250private:
251 SWIG_Callback0_t swig_callbackToString;
252 SWIG_Callback1_t swig_callbackEnterSearch;
253 SWIG_Callback2_t swig_callbackRestartSearch;
254 SWIG_Callback3_t swig_callbackExitSearch;
255 SWIG_Callback4_t swig_callbackBeginNextDecision;
256 SWIG_Callback5_t swig_callbackEndNextDecision;
257 SWIG_Callback6_t swig_callbackApplyDecision;
258 SWIG_Callback7_t swig_callbackRefuteDecision;
259 SWIG_Callback8_t swig_callbackAfterDecision;
260 SWIG_Callback9_t swig_callbackBeginFail;
261 SWIG_Callback10_t swig_callbackEndFail;
262 SWIG_Callback11_t swig_callbackBeginInitialPropagation;
263 SWIG_Callback12_t swig_callbackEndInitialPropagation;
264 SWIG_Callback13_t swig_callbackAcceptSolution;
265 SWIG_Callback14_t swig_callbackAtSolution;
266 SWIG_Callback15_t swig_callbackNoMoreSolutions;
267 SWIG_Callback16_t swig_callbackLocalOptimum;
268 SWIG_Callback17_t swig_callbackAcceptDelta;
269 SWIG_Callback18_t swig_callbackAcceptNeighbor;
270 SWIG_Callback19_t swig_callbackAcceptUncheckedNeighbor;
271 SWIG_Callback20_t swig_callbackIsUncheckedSolutionLimitReached;
272 SWIG_Callback21_t swig_callbackPeriodicCheck;
273 SWIG_Callback22_t swig_callbackProgressPercent;
274 SWIG_Callback23_t swig_callbackAccept;
275 SWIG_Callback24_t swig_callbackInstall;
276 void swig_init_callbacks();
277};
278
280
281public:
282 SwigDirector_OptimizeVar(operations_research::Solver *const s, bool maximize, operations_research::IntVar *const a, int64_t step);
284 virtual std::string DebugString() const;
285 virtual void EnterSearch();
286 virtual void RestartSearch();
287 virtual void ExitSearch();
290 virtual void ApplyDecision(operations_research::Decision *const d);
291 virtual void RefuteDecision(operations_research::Decision *const d);
292 virtual void AfterDecision(operations_research::Decision *const d, bool apply);
293 virtual void BeginFail();
294 virtual void EndFail();
295 virtual void BeginInitialPropagation();
296 virtual void EndInitialPropagation();
297 virtual bool AcceptSolution();
298 virtual bool AtSolution();
299 virtual void NoMoreSolutions();
300 virtual bool LocalOptimum();
302 virtual void AcceptNeighbor();
303 virtual void AcceptUncheckedNeighbor();
304 virtual bool IsUncheckedSolutionLimitReached();
305 virtual void PeriodicCheck();
306 virtual int ProgressPercent();
307 virtual void Accept(operations_research::ModelVisitor *const visitor) const;
308 virtual void Install();
309 virtual std::string Print() const;
310
311 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
312 typedef void (SWIGSTDCALL* SWIG_Callback1_t)();
313 typedef void (SWIGSTDCALL* SWIG_Callback2_t)();
314 typedef void (SWIGSTDCALL* SWIG_Callback3_t)();
315 typedef void (SWIGSTDCALL* SWIG_Callback4_t)(void *);
316 typedef void (SWIGSTDCALL* SWIG_Callback5_t)(void *, void *);
317 typedef void (SWIGSTDCALL* SWIG_Callback6_t)(void *);
318 typedef void (SWIGSTDCALL* SWIG_Callback7_t)(void *);
319 typedef void (SWIGSTDCALL* SWIG_Callback8_t)(void *, unsigned int);
320 typedef void (SWIGSTDCALL* SWIG_Callback9_t)();
324 typedef unsigned int (SWIGSTDCALL* SWIG_Callback13_t)();
325 typedef unsigned int (SWIGSTDCALL* SWIG_Callback14_t)();
327 typedef unsigned int (SWIGSTDCALL* SWIG_Callback16_t)();
328 typedef unsigned int (SWIGSTDCALL* SWIG_Callback17_t)(void *, void *);
331 typedef unsigned int (SWIGSTDCALL* SWIG_Callback20_t)();
334 typedef void (SWIGSTDCALL* SWIG_Callback23_t)(void *);
336 typedef char * (SWIGSTDCALL* SWIG_Callback25_t)();
337 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, SWIG_Callback25_t callbackPrint);
338
339private:
340 SWIG_Callback0_t swig_callbackToString;
341 SWIG_Callback1_t swig_callbackEnterSearch;
342 SWIG_Callback2_t swig_callbackRestartSearch;
343 SWIG_Callback3_t swig_callbackExitSearch;
344 SWIG_Callback4_t swig_callbackBeginNextDecision;
345 SWIG_Callback5_t swig_callbackEndNextDecision;
346 SWIG_Callback6_t swig_callbackApplyDecision;
347 SWIG_Callback7_t swig_callbackRefuteDecision;
348 SWIG_Callback8_t swig_callbackAfterDecision;
349 SWIG_Callback9_t swig_callbackBeginFail;
350 SWIG_Callback10_t swig_callbackEndFail;
351 SWIG_Callback11_t swig_callbackBeginInitialPropagation;
352 SWIG_Callback12_t swig_callbackEndInitialPropagation;
353 SWIG_Callback13_t swig_callbackAcceptSolution;
354 SWIG_Callback14_t swig_callbackAtSolution;
355 SWIG_Callback15_t swig_callbackNoMoreSolutions;
356 SWIG_Callback16_t swig_callbackLocalOptimum;
357 SWIG_Callback17_t swig_callbackAcceptDelta;
358 SWIG_Callback18_t swig_callbackAcceptNeighbor;
359 SWIG_Callback19_t swig_callbackAcceptUncheckedNeighbor;
360 SWIG_Callback20_t swig_callbackIsUncheckedSolutionLimitReached;
361 SWIG_Callback21_t swig_callbackPeriodicCheck;
362 SWIG_Callback22_t swig_callbackProgressPercent;
363 SWIG_Callback23_t swig_callbackAccept;
364 SWIG_Callback24_t swig_callbackInstall;
365 SWIG_Callback25_t swig_callbackPrint;
366 void swig_init_callbacks();
367};
368
370
371public:
374 virtual std::string DebugString() const;
375 virtual void EnterSearch();
376 virtual void RestartSearch();
377 virtual void ExitSearch();
380 virtual void ApplyDecision(operations_research::Decision *const d);
381 virtual void RefuteDecision(operations_research::Decision *const d);
382 virtual void AfterDecision(operations_research::Decision *const d, bool apply);
383 virtual void BeginFail();
384 virtual void EndFail();
385 virtual void BeginInitialPropagation();
386 virtual void EndInitialPropagation();
387 virtual bool AcceptSolution();
388 virtual bool AtSolution();
389 virtual void NoMoreSolutions();
390 virtual bool LocalOptimum();
392 virtual void AcceptNeighbor();
393 virtual void AcceptUncheckedNeighbor();
394 virtual bool IsUncheckedSolutionLimitReached();
395 virtual void PeriodicCheck();
396 virtual int ProgressPercent();
397 virtual void Accept(operations_research::ModelVisitor *const visitor) const;
398 virtual void Install();
399 virtual bool Check();
400 virtual void Init();
401 virtual void Copy(operations_research::SearchLimit const *const limit);
403
404 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
405 typedef void (SWIGSTDCALL* SWIG_Callback1_t)();
406 typedef void (SWIGSTDCALL* SWIG_Callback2_t)();
407 typedef void (SWIGSTDCALL* SWIG_Callback3_t)();
408 typedef void (SWIGSTDCALL* SWIG_Callback4_t)(void *);
409 typedef void (SWIGSTDCALL* SWIG_Callback5_t)(void *, void *);
410 typedef void (SWIGSTDCALL* SWIG_Callback6_t)(void *);
411 typedef void (SWIGSTDCALL* SWIG_Callback7_t)(void *);
412 typedef void (SWIGSTDCALL* SWIG_Callback8_t)(void *, unsigned int);
413 typedef void (SWIGSTDCALL* SWIG_Callback9_t)();
417 typedef unsigned int (SWIGSTDCALL* SWIG_Callback13_t)();
418 typedef unsigned int (SWIGSTDCALL* SWIG_Callback14_t)();
420 typedef unsigned int (SWIGSTDCALL* SWIG_Callback16_t)();
421 typedef unsigned int (SWIGSTDCALL* SWIG_Callback17_t)(void *, void *);
424 typedef unsigned int (SWIGSTDCALL* SWIG_Callback20_t)();
427 typedef void (SWIGSTDCALL* SWIG_Callback23_t)(void *);
429 typedef unsigned int (SWIGSTDCALL* SWIG_Callback25_t)();
431 typedef void (SWIGSTDCALL* SWIG_Callback27_t)(void *);
432 typedef void * (SWIGSTDCALL* SWIG_Callback28_t)();
433 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, SWIG_Callback25_t callbackCheck, SWIG_Callback26_t callbackInit, SWIG_Callback27_t callbackCopy, SWIG_Callback28_t callbackMakeClone);
434
435private:
436 SWIG_Callback0_t swig_callbackToString;
437 SWIG_Callback1_t swig_callbackEnterSearch;
438 SWIG_Callback2_t swig_callbackRestartSearch;
439 SWIG_Callback3_t swig_callbackExitSearch;
440 SWIG_Callback4_t swig_callbackBeginNextDecision;
441 SWIG_Callback5_t swig_callbackEndNextDecision;
442 SWIG_Callback6_t swig_callbackApplyDecision;
443 SWIG_Callback7_t swig_callbackRefuteDecision;
444 SWIG_Callback8_t swig_callbackAfterDecision;
445 SWIG_Callback9_t swig_callbackBeginFail;
446 SWIG_Callback10_t swig_callbackEndFail;
447 SWIG_Callback11_t swig_callbackBeginInitialPropagation;
448 SWIG_Callback12_t swig_callbackEndInitialPropagation;
449 SWIG_Callback13_t swig_callbackAcceptSolution;
450 SWIG_Callback14_t swig_callbackAtSolution;
451 SWIG_Callback15_t swig_callbackNoMoreSolutions;
452 SWIG_Callback16_t swig_callbackLocalOptimum;
453 SWIG_Callback17_t swig_callbackAcceptDelta;
454 SWIG_Callback18_t swig_callbackAcceptNeighbor;
455 SWIG_Callback19_t swig_callbackAcceptUncheckedNeighbor;
456 SWIG_Callback20_t swig_callbackIsUncheckedSolutionLimitReached;
457 SWIG_Callback21_t swig_callbackPeriodicCheck;
458 SWIG_Callback22_t swig_callbackProgressPercent;
459 SWIG_Callback23_t swig_callbackAccept;
460 SWIG_Callback24_t swig_callbackInstall;
461 SWIG_Callback25_t swig_callbackCheck;
462 SWIG_Callback26_t swig_callbackInit;
463 SWIG_Callback27_t swig_callbackCopy;
464 SWIG_Callback28_t swig_callbackMakeClone;
465 void swig_init_callbacks();
466};
467
469
470public:
471 SwigDirector_RegularLimit(operations_research::Solver *const s, absl::Duration time, int64_t branches, int64_t failures, int64_t solutions, bool smart_time_check, bool cumulative);
473 virtual std::string DebugString() const;
474 virtual void EnterSearch();
475 virtual void RestartSearch();
476 virtual void ExitSearch();
479 virtual void ApplyDecision(operations_research::Decision *const d);
480 virtual void RefuteDecision(operations_research::Decision *const d);
481 virtual void AfterDecision(operations_research::Decision *const d, bool apply);
482 virtual void BeginFail();
483 virtual void EndFail();
484 virtual void BeginInitialPropagation();
485 virtual void EndInitialPropagation();
486 virtual bool AcceptSolution();
487 virtual bool AtSolution();
488 virtual void NoMoreSolutions();
489 virtual bool LocalOptimum();
491 virtual void AcceptNeighbor();
492 virtual void AcceptUncheckedNeighbor();
493 virtual bool IsUncheckedSolutionLimitReached();
494 virtual void PeriodicCheck();
495 virtual int ProgressPercent();
496 virtual void Accept(operations_research::ModelVisitor *const visitor) const;
497 virtual void Install();
498 virtual bool Check();
499 virtual void Init();
500 virtual void Copy(operations_research::SearchLimit const *const limit);
502
503 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
504 typedef void (SWIGSTDCALL* SWIG_Callback1_t)();
505 typedef void (SWIGSTDCALL* SWIG_Callback2_t)();
506 typedef void (SWIGSTDCALL* SWIG_Callback3_t)();
507 typedef void (SWIGSTDCALL* SWIG_Callback4_t)(void *);
508 typedef void (SWIGSTDCALL* SWIG_Callback5_t)(void *, void *);
509 typedef void (SWIGSTDCALL* SWIG_Callback6_t)(void *);
510 typedef void (SWIGSTDCALL* SWIG_Callback7_t)(void *);
511 typedef void (SWIGSTDCALL* SWIG_Callback8_t)(void *, unsigned int);
512 typedef void (SWIGSTDCALL* SWIG_Callback9_t)();
516 typedef unsigned int (SWIGSTDCALL* SWIG_Callback13_t)();
517 typedef unsigned int (SWIGSTDCALL* SWIG_Callback14_t)();
519 typedef unsigned int (SWIGSTDCALL* SWIG_Callback16_t)();
520 typedef unsigned int (SWIGSTDCALL* SWIG_Callback17_t)(void *, void *);
523 typedef unsigned int (SWIGSTDCALL* SWIG_Callback20_t)();
526 typedef void (SWIGSTDCALL* SWIG_Callback23_t)(void *);
528 typedef unsigned int (SWIGSTDCALL* SWIG_Callback25_t)();
530 typedef void (SWIGSTDCALL* SWIG_Callback27_t)(void *);
531 typedef void * (SWIGSTDCALL* SWIG_Callback28_t)();
532 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, SWIG_Callback25_t callbackCheck, SWIG_Callback26_t callbackInit, SWIG_Callback27_t callbackCopy, SWIG_Callback28_t callbackMakeClone);
533
534private:
535 SWIG_Callback0_t swig_callbackToString;
536 SWIG_Callback1_t swig_callbackEnterSearch;
537 SWIG_Callback2_t swig_callbackRestartSearch;
538 SWIG_Callback3_t swig_callbackExitSearch;
539 SWIG_Callback4_t swig_callbackBeginNextDecision;
540 SWIG_Callback5_t swig_callbackEndNextDecision;
541 SWIG_Callback6_t swig_callbackApplyDecision;
542 SWIG_Callback7_t swig_callbackRefuteDecision;
543 SWIG_Callback8_t swig_callbackAfterDecision;
544 SWIG_Callback9_t swig_callbackBeginFail;
545 SWIG_Callback10_t swig_callbackEndFail;
546 SWIG_Callback11_t swig_callbackBeginInitialPropagation;
547 SWIG_Callback12_t swig_callbackEndInitialPropagation;
548 SWIG_Callback13_t swig_callbackAcceptSolution;
549 SWIG_Callback14_t swig_callbackAtSolution;
550 SWIG_Callback15_t swig_callbackNoMoreSolutions;
551 SWIG_Callback16_t swig_callbackLocalOptimum;
552 SWIG_Callback17_t swig_callbackAcceptDelta;
553 SWIG_Callback18_t swig_callbackAcceptNeighbor;
554 SWIG_Callback19_t swig_callbackAcceptUncheckedNeighbor;
555 SWIG_Callback20_t swig_callbackIsUncheckedSolutionLimitReached;
556 SWIG_Callback21_t swig_callbackPeriodicCheck;
557 SWIG_Callback22_t swig_callbackProgressPercent;
558 SWIG_Callback23_t swig_callbackAccept;
559 SWIG_Callback24_t swig_callbackInstall;
560 SWIG_Callback25_t swig_callbackCheck;
561 SWIG_Callback26_t swig_callbackInit;
562 SWIG_Callback27_t swig_callbackCopy;
563 SWIG_Callback28_t swig_callbackMakeClone;
564 void swig_init_callbacks();
565};
566
568
569public:
572 virtual std::string DebugString() const;
574 virtual void Start(operations_research::Assignment const *assignment);
575 virtual void Reset();
576 virtual bool HasFragments() const;
577 virtual bool HoldsDelta() const;
578
579 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
580 typedef unsigned int (SWIGSTDCALL* SWIG_Callback1_t)(void *, void *);
581 typedef void (SWIGSTDCALL* SWIG_Callback2_t)(void *);
582 typedef void (SWIGSTDCALL* SWIG_Callback3_t)();
583 typedef unsigned int (SWIGSTDCALL* SWIG_Callback4_t)();
584 typedef unsigned int (SWIGSTDCALL* SWIG_Callback5_t)();
585 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);
586
587private:
588 SWIG_Callback0_t swig_callbackToString;
589 SWIG_Callback1_t swig_callbackMakeNextNeighbor;
590 SWIG_Callback2_t swig_callbackStart;
591 SWIG_Callback3_t swig_callbackReset;
592 SWIG_Callback4_t swig_callbackHasFragments;
593 SWIG_Callback5_t swig_callbackHoldsDelta;
594 void swig_init_callbacks();
595};
596
598
599public:
601 SwigDirector_IntVarLocalSearchOperator(std::vector< operations_research::IntVar * > const &vars, bool keep_inverse_values = false);
603 virtual std::string DebugString() const;
605 virtual void Start(operations_research::Assignment const *assignment);
606 virtual void Reset();
607 virtual bool HasFragments() const;
608 virtual bool HoldsDelta() const;
609 virtual bool IsIncremental() const;
610 virtual bool SkipUnchanged(int index) const;
611 virtual void OnStart();
612 virtual bool MakeOneNeighbor();
615 }
616
617 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
618 typedef void (SWIGSTDCALL* SWIG_Callback1_t)();
619 typedef unsigned int (SWIGSTDCALL* SWIG_Callback2_t)();
620 typedef unsigned int (SWIGSTDCALL* SWIG_Callback3_t)();
621 typedef unsigned int (SWIGSTDCALL* SWIG_Callback4_t)();
622 typedef void (SWIGSTDCALL* SWIG_Callback5_t)();
623 typedef unsigned int (SWIGSTDCALL* SWIG_Callback6_t)();
624 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);
625
626private:
627 SWIG_Callback0_t swig_callbackToString;
628 SWIG_Callback1_t swig_callbackReset;
629 SWIG_Callback2_t swig_callbackHasFragments;
630 SWIG_Callback3_t swig_callbackHoldsDelta;
631 SWIG_Callback4_t swig_callbackIsIncremental;
632 SWIG_Callback5_t swig_callbackOnStart;
633 SWIG_Callback6_t swig_callbackMakeOneNeighbor;
634 void swig_init_callbacks();
635};
636
638
639public:
641 SwigDirector_SequenceVarLocalSearchOperator(std::vector< operations_research::SequenceVar * > const &vars);
643 virtual std::string DebugString() const;
645 virtual void Start(operations_research::Assignment const *assignment);
646 virtual void Reset();
647 virtual bool HasFragments() const;
648 virtual bool HoldsDelta() const;
649 virtual bool IsIncremental() const;
650 virtual bool SkipUnchanged(int index) const;
651 virtual void OnStart();
652
653 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
654 typedef unsigned int (SWIGSTDCALL* SWIG_Callback1_t)(void *, void *);
655 typedef void (SWIGSTDCALL* SWIG_Callback2_t)();
656 typedef unsigned int (SWIGSTDCALL* SWIG_Callback3_t)();
657 typedef unsigned int (SWIGSTDCALL* SWIG_Callback4_t)();
658 typedef unsigned int (SWIGSTDCALL* SWIG_Callback5_t)();
659 typedef void (SWIGSTDCALL* SWIG_Callback6_t)();
660 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);
661
662private:
663 SWIG_Callback0_t swig_callbackToString;
664 SWIG_Callback1_t swig_callbackMakeNextNeighbor;
665 SWIG_Callback2_t swig_callbackReset;
666 SWIG_Callback3_t swig_callbackHasFragments;
667 SWIG_Callback4_t swig_callbackHoldsDelta;
668 SWIG_Callback5_t swig_callbackIsIncremental;
669 SWIG_Callback6_t swig_callbackOnStart;
670 void swig_init_callbacks();
671};
672
674
675public:
676 SwigDirector_BaseLns(std::vector< operations_research::IntVar * > const &vars);
677 virtual ~SwigDirector_BaseLns();
678 virtual std::string DebugString() const;
680 virtual void Start(operations_research::Assignment const *assignment);
681 virtual void Reset();
682 virtual bool HasFragments() const;
683 virtual bool HoldsDelta() const;
684 virtual bool IsIncremental() const;
685 virtual void InitFragments();
686 virtual bool NextFragment();
687
688 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
689 typedef void (SWIGSTDCALL* SWIG_Callback1_t)();
690 typedef unsigned int (SWIGSTDCALL* SWIG_Callback2_t)();
691 typedef unsigned int (SWIGSTDCALL* SWIG_Callback3_t)();
692 typedef unsigned int (SWIGSTDCALL* SWIG_Callback4_t)();
693 typedef void (SWIGSTDCALL* SWIG_Callback5_t)();
694 typedef unsigned int (SWIGSTDCALL* SWIG_Callback6_t)();
695 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);
696
697private:
698 SWIG_Callback0_t swig_callbackToString;
699 SWIG_Callback1_t swig_callbackReset;
700 SWIG_Callback2_t swig_callbackHasFragments;
701 SWIG_Callback3_t swig_callbackHoldsDelta;
702 SWIG_Callback4_t swig_callbackIsIncremental;
703 SWIG_Callback5_t swig_callbackInitFragments;
704 SWIG_Callback6_t swig_callbackNextFragment;
705 void swig_init_callbacks();
706};
707
709
710public:
711 SwigDirector_ChangeValue(std::vector< operations_research::IntVar * > const &vars);
713 virtual std::string DebugString() const;
715 virtual void Start(operations_research::Assignment const *assignment);
716 virtual void Reset();
717 virtual bool HasFragments() const;
718 virtual bool HoldsDelta() const;
719 virtual bool IsIncremental() const;
720 virtual bool SkipUnchanged(int index) const;
721 virtual void OnStart();
722 virtual bool MakeOneNeighbor();
725 }
726 virtual int64_t ModifyValue(int64_t index, int64_t value);
727
728 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
729 typedef void (SWIGSTDCALL* SWIG_Callback1_t)();
730 typedef unsigned int (SWIGSTDCALL* SWIG_Callback2_t)();
731 typedef unsigned int (SWIGSTDCALL* SWIG_Callback3_t)();
732 typedef unsigned int (SWIGSTDCALL* SWIG_Callback4_t)();
733 typedef void (SWIGSTDCALL* SWIG_Callback5_t)();
734 typedef unsigned int (SWIGSTDCALL* SWIG_Callback6_t)();
735 typedef long long (SWIGSTDCALL* SWIG_Callback7_t)(long long, long long);
736 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);
737
738private:
739 SWIG_Callback0_t swig_callbackToString;
740 SWIG_Callback1_t swig_callbackReset;
741 SWIG_Callback2_t swig_callbackHasFragments;
742 SWIG_Callback3_t swig_callbackHoldsDelta;
743 SWIG_Callback4_t swig_callbackIsIncremental;
744 SWIG_Callback5_t swig_callbackOnStart;
745 SWIG_Callback6_t swig_callbackMakeOneNeighbor;
746 SWIG_Callback7_t swig_callbackModifyValue;
747 void swig_init_callbacks();
748};
749
751
752public:
754 virtual std::string DebugString() const;
756 virtual void Start(operations_research::Assignment const *assignment);
757 virtual void Reset();
758 virtual bool HasFragments() const;
759 virtual bool HoldsDelta() const;
760 virtual bool IsIncremental() const;
761 virtual bool SkipUnchanged(int index) const;
762 virtual void OnStart();
763 virtual bool MakeOneNeighbor();
766 }
767 virtual bool MakeNeighbor();
768 virtual void OnNodeInitialization();
771 }
772 virtual bool RestartAtPathStartOnSynchronize();
775 }
776 virtual bool OnSamePathAsPreviousBase(int64_t base_index);
777 virtual bool OnSamePathAsPreviousBaseSwigPublic(int64_t base_index) {
779 }
780 virtual int64_t GetBaseNodeRestartPosition(int base_index);
781 virtual int64_t GetBaseNodeRestartPositionSwigPublic(int base_index) {
783 }
784 virtual void SetNextBaseToIncrement(int64_t base_index);
785 virtual void SetNextBaseToIncrementSwigPublic(int64_t base_index) {
787 }
788 virtual bool ConsiderAlternatives(int64_t base_index) const;
789 virtual bool ConsiderAlternativesSwigPublic(int64_t base_index) const {
791 }
792 virtual bool InitPosition() const;
793 virtual bool InitPositionSwigPublic() const {
795 }
796
797 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
798 typedef void (SWIGSTDCALL* SWIG_Callback1_t)();
799 typedef unsigned int (SWIGSTDCALL* SWIG_Callback2_t)();
800 typedef unsigned int (SWIGSTDCALL* SWIG_Callback3_t)();
801 typedef unsigned int (SWIGSTDCALL* SWIG_Callback4_t)();
802 typedef void (SWIGSTDCALL* SWIG_Callback5_t)();
803 typedef unsigned int (SWIGSTDCALL* SWIG_Callback6_t)();
804 typedef unsigned int (SWIGSTDCALL* SWIG_Callback7_t)();
805 typedef void (SWIGSTDCALL* SWIG_Callback8_t)();
806 typedef unsigned int (SWIGSTDCALL* SWIG_Callback9_t)();
807 typedef unsigned int (SWIGSTDCALL* SWIG_Callback10_t)(long long);
808 typedef long long (SWIGSTDCALL* SWIG_Callback11_t)(int);
809 typedef void (SWIGSTDCALL* SWIG_Callback12_t)(long long);
810 typedef unsigned int (SWIGSTDCALL* SWIG_Callback13_t)(long long);
811 typedef unsigned int (SWIGSTDCALL* SWIG_Callback14_t)();
812 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);
813
814private:
815 SWIG_Callback0_t swig_callbackToString;
816 SWIG_Callback1_t swig_callbackReset;
817 SWIG_Callback2_t swig_callbackHasFragments;
818 SWIG_Callback3_t swig_callbackHoldsDelta;
819 SWIG_Callback4_t swig_callbackIsIncremental;
820 SWIG_Callback5_t swig_callbackOnStart;
821 SWIG_Callback6_t swig_callbackMakeOneNeighbor;
822 SWIG_Callback7_t swig_callbackMakeNeighbor;
823 SWIG_Callback8_t swig_callbackOnNodeInitialization;
824 SWIG_Callback9_t swig_callbackRestartAtPathStartOnSynchronize;
825 SWIG_Callback10_t swig_callbackOnSamePathAsPreviousBase;
826 SWIG_Callback11_t swig_callbackGetBaseNodeRestartPosition;
827 SWIG_Callback12_t swig_callbackSetNextBaseToIncrement;
828 SWIG_Callback13_t swig_callbackConsiderAlternatives;
829 SWIG_Callback14_t swig_callbackInitPosition;
830 void swig_init_callbacks();
831};
832
834
835public:
838 virtual std::string DebugString() const;
839 virtual void Relax(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta);
840 virtual void Commit(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta);
841 virtual bool Accept(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta, int64_t objective_min, int64_t objective_max);
842 virtual bool IsIncremental() const;
844 virtual void Revert();
845 virtual void Reset();
846 virtual int64_t GetSynchronizedObjectiveValue() const;
847 virtual int64_t GetAcceptedObjectiveValue() const;
848
849 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
850 typedef void (SWIGSTDCALL* SWIG_Callback1_t)(void *, void *);
851 typedef void (SWIGSTDCALL* SWIG_Callback2_t)(void *, void *);
852 typedef unsigned int (SWIGSTDCALL* SWIG_Callback3_t)(void *, void *, long long, long long);
853 typedef unsigned int (SWIGSTDCALL* SWIG_Callback4_t)();
854 typedef void (SWIGSTDCALL* SWIG_Callback5_t)(void *, void *);
855 typedef void (SWIGSTDCALL* SWIG_Callback6_t)();
856 typedef void (SWIGSTDCALL* SWIG_Callback7_t)();
857 typedef long long (SWIGSTDCALL* SWIG_Callback8_t)();
858 typedef long long (SWIGSTDCALL* SWIG_Callback9_t)();
859 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);
860
861private:
862 SWIG_Callback0_t swig_callbackToString;
863 SWIG_Callback1_t swig_callbackRelax;
864 SWIG_Callback2_t swig_callbackCommit;
865 SWIG_Callback3_t swig_callbackAccept;
866 SWIG_Callback4_t swig_callbackIsIncremental;
867 SWIG_Callback5_t swig_callbackSynchronize;
868 SWIG_Callback6_t swig_callbackRevert;
869 SWIG_Callback7_t swig_callbackReset;
870 SWIG_Callback8_t swig_callbackGetSynchronizedObjectiveValue;
871 SWIG_Callback9_t swig_callbackGetAcceptedObjectiveValue;
872 void swig_init_callbacks();
873};
874
876
877public:
878 SwigDirector_LocalSearchFilterManager(std::vector< operations_research::LocalSearchFilterManager::FilterEvent > filter_events);
879 SwigDirector_LocalSearchFilterManager(std::vector< operations_research::LocalSearchFilter * > filters);
881 virtual std::string DebugString() const;
882
883 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
884 void swig_connect_director(SWIG_Callback0_t callbackToString);
885
886private:
887 SWIG_Callback0_t swig_callbackToString;
888 void swig_init_callbacks();
889};
890
892
893public:
894 SwigDirector_IntVarLocalSearchFilter(std::vector< operations_research::IntVar * > const &vars);
896 virtual std::string DebugString() const;
897 virtual void Relax(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta);
898 virtual void Commit(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta);
899 virtual bool Accept(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta, int64_t objective_min, int64_t objective_max);
900 virtual bool IsIncremental() const;
901 virtual void Revert();
902 virtual void Reset();
903 virtual int64_t GetSynchronizedObjectiveValue() const;
904 virtual int64_t GetAcceptedObjectiveValue() const;
908 }
909
910 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
911 typedef void (SWIGSTDCALL* SWIG_Callback1_t)(void *, void *);
912 typedef void (SWIGSTDCALL* SWIG_Callback2_t)(void *, void *);
913 typedef unsigned int (SWIGSTDCALL* SWIG_Callback3_t)(void *, void *, long long, long long);
914 typedef unsigned int (SWIGSTDCALL* SWIG_Callback4_t)();
915 typedef void (SWIGSTDCALL* SWIG_Callback5_t)();
916 typedef void (SWIGSTDCALL* SWIG_Callback6_t)();
917 typedef long long (SWIGSTDCALL* SWIG_Callback7_t)();
918 typedef long long (SWIGSTDCALL* SWIG_Callback8_t)();
919 typedef void (SWIGSTDCALL* SWIG_Callback9_t)(void *);
920 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);
921
922private:
923 SWIG_Callback0_t swig_callbackToString;
924 SWIG_Callback1_t swig_callbackRelax;
925 SWIG_Callback2_t swig_callbackCommit;
926 SWIG_Callback3_t swig_callbackAccept;
927 SWIG_Callback4_t swig_callbackIsIncremental;
928 SWIG_Callback5_t swig_callbackRevert;
929 SWIG_Callback6_t swig_callbackReset;
930 SWIG_Callback7_t swig_callbackGetSynchronizedObjectiveValue;
931 SWIG_Callback8_t swig_callbackGetAcceptedObjectiveValue;
932 SWIG_Callback9_t swig_callbackOnSynchronize;
933 void swig_init_callbacks();
934};
935
937
938public:
941 virtual std::string DebugString() const;
942 virtual void VisitSetVariableValue(operations_research::IntVar *const var, int64_t value);
943 virtual void VisitSplitVariableDomain(operations_research::IntVar *const var, int64_t value, bool start_with_lower_half);
944 virtual void VisitScheduleOrPostpone(operations_research::IntervalVar *const var, int64_t est);
945 virtual void VisitScheduleOrExpedite(operations_research::IntervalVar *const var, int64_t est);
946 virtual void VisitRankFirstInterval(operations_research::SequenceVar *const sequence, int index);
947 virtual void VisitRankLastInterval(operations_research::SequenceVar *const sequence, int index);
948 virtual void VisitUnknownDecision();
949
950 typedef char * (SWIGSTDCALL* SWIG_Callback0_t)();
951 typedef void (SWIGSTDCALL* SWIG_Callback1_t)(void *, long long);
952 typedef void (SWIGSTDCALL* SWIG_Callback2_t)(void *, long long, unsigned int);
953 typedef void (SWIGSTDCALL* SWIG_Callback3_t)(void *, long long);
954 typedef void (SWIGSTDCALL* SWIG_Callback4_t)(void *, long long);
955 typedef void (SWIGSTDCALL* SWIG_Callback5_t)(void *, int);
956 typedef void (SWIGSTDCALL* SWIG_Callback6_t)(void *, int);
957 typedef void (SWIGSTDCALL* SWIG_Callback7_t)();
958 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);
959
960private:
961 SWIG_Callback0_t swig_callbackToString;
962 SWIG_Callback1_t swig_callbackVisitSetVariableValue;
963 SWIG_Callback2_t swig_callbackVisitSplitVariableDomain;
964 SWIG_Callback3_t swig_callbackVisitScheduleOrPostpone;
965 SWIG_Callback4_t swig_callbackVisitScheduleOrExpedite;
966 SWIG_Callback5_t swig_callbackVisitRankFirstInterval;
967 SWIG_Callback6_t swig_callbackVisitRankLastInterval;
968 SWIG_Callback7_t swig_callbackVisitUnknownDecision;
969 void swig_init_callbacks();
970};
971
972
973#endif
unsigned int(SWIGSTDCALL * SWIG_Callback2_t)()
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)
Redefines MakeNextNeighbor to export a simpler interface.
void(SWIGSTDCALL * SWIG_Callback5_t)()
SwigDirector_BaseLns(std::vector< operations_research::IntVar * > const &vars)
unsigned int(SWIGSTDCALL * SWIG_Callback4_t)()
virtual std::string DebugString() const
virtual void Start(operations_research::Assignment const *assignment)
char *(SWIGSTDCALL * SWIG_Callback0_t)()
void(SWIGSTDCALL * SWIG_Callback1_t)()
unsigned int(SWIGSTDCALL * SWIG_Callback6_t)()
unsigned int(SWIGSTDCALL * SWIG_Callback3_t)()
unsigned int(SWIGSTDCALL * SWIG_Callback2_t)()
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)
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
Redefines MakeNextNeighbor to export a simpler interface.
unsigned int(SWIGSTDCALL * SWIG_Callback4_t)()
SwigDirector_ChangeValue(std::vector< operations_research::IntVar * > const &vars)
virtual std::string DebugString() const
long long(SWIGSTDCALL * SWIG_Callback7_t)(long long, long long)
virtual void Start(operations_research::Assignment const *assignment)
virtual int64_t ModifyValue(int64_t index, int64_t value)
char *(SWIGSTDCALL * SWIG_Callback0_t)()
virtual bool SkipUnchanged(int index) const
virtual bool MakeOneNeighbor()
This method should not be overridden. Override ModifyValue() instead.
virtual void OnStart()
Called by Start() after synchronizing the operator with the current assignment.
unsigned int(SWIGSTDCALL * SWIG_Callback6_t)()
unsigned int(SWIGSTDCALL * SWIG_Callback3_t)()
void(SWIGSTDCALL * SWIG_Callback3_t)()
virtual std::string name() const
Object naming.
virtual void Post()
This method is called when the constraint is processed by the solver.
char *(SWIGSTDCALL * SWIG_Callback2_t)()
void(SWIGSTDCALL * SWIG_Callback4_t)()
SwigDirector_Constraint(operations_research::Solver *const solver)
char *(SWIGSTDCALL * SWIG_Callback1_t)()
virtual std::string DebugString() const
virtual void InitialPropagate()
This method performs the initial propagation of the constraint.
virtual std::string BaseName() const
Returns a base name for automatic naming.
char *(SWIGSTDCALL * SWIG_Callback0_t)()
void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackName, SWIG_Callback2_t callbackBaseName, SWIG_Callback3_t callbackPost, SWIG_Callback4_t callbackInitialPropagateWrapper)
void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackNextWrapper)
virtual operations_research::Decision * Next(operations_research::Solver *const s)
This is the main method of the decision builder class.
void *(SWIGSTDCALL * SWIG_Callback1_t)(void *)
void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackApplyWrapper, SWIG_Callback2_t callbackRefuteWrapper, SWIG_Callback3_t callbackAccept)
void(SWIGSTDCALL * SWIG_Callback3_t)(void *)
void(SWIGSTDCALL * SWIG_Callback2_t)(void *)
virtual void Accept(operations_research::DecisionVisitor *const visitor) const
Accepts the given visitor.
virtual std::string DebugString() const
virtual void Apply(operations_research::Solver *const s)
Apply will be called first when the decision is executed.
char *(SWIGSTDCALL * SWIG_Callback0_t)()
void(SWIGSTDCALL * SWIG_Callback1_t)(void *)
virtual void Refute(operations_research::Solver *const s)
Refute will be called after a backtrack.
int(SWIGSTDCALL * SWIG_Callback2_t)()
void swig_connect_director(SWIG_Callback0_t callbackToString, SWIG_Callback1_t callbackRunWrapper, SWIG_Callback2_t callbackPriority)
virtual std::string DebugString() const
char *(SWIGSTDCALL * SWIG_Callback0_t)()
virtual void Run(operations_research::Solver *const s)
This is the main callback of the demon.
virtual operations_research::Solver::DemonPriority priority() const
This method returns the priority of the demon.
void(SWIGSTDCALL * SWIG_Callback1_t)(void *)
void(SWIGSTDCALL * SWIG_Callback2_t)(void *, void *)
virtual int64_t GetAcceptedObjectiveValue() const
Objective value from the last time Accept() was called and returned true.
virtual int64_t GetSynchronizedObjectiveValue() const
Objective value from last time Synchronize() was called.
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 Reset()
Sets the filter to empty solution.
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 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)
SwigDirector_IntVarLocalSearchFilter(std::vector< operations_research::IntVar * > const &vars)
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 OnSynchronizeSwigPublic(operations_research::Assignment const *delta)
unsigned int(SWIGSTDCALL * SWIG_Callback3_t)(void *, void *, long long, long long)
virtual void OnSynchronize(operations_research::Assignment const *delta)
void(SWIGSTDCALL * SWIG_Callback1_t)(void *, void *)
virtual void Revert()
Cancels the changes made by the last Relax()/Accept() calls.
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
Redefines MakeNextNeighbor to export a simpler interface.
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)
virtual void Start(operations_research::Assignment const *assignment)
virtual bool MakeOneNeighbor()
Creates a new neighbor.
virtual void OnStart()
Called by Start() after synchronizing the operator with the current assignment.
void(SWIGSTDCALL * SWIG_Callback2_t)(void *, void *)
void(SWIGSTDCALL * SWIG_Callback5_t)(void *, void *)
virtual int64_t GetAcceptedObjectiveValue() const
Objective value from the last time Accept() was called and returned true.
virtual int64_t GetSynchronizedObjectiveValue() const
Objective value from last time Synchronize() was called.
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...
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 Reset()
Sets the filter to empty solution.
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 Commit(operations_research::Assignment const *delta, operations_research::Assignment const *deltadelta)
Dual of Relax(), lets the filter know that the delta was accepted.
unsigned int(SWIGSTDCALL * SWIG_Callback4_t)()
unsigned int(SWIGSTDCALL * SWIG_Callback3_t)(void *, void *, long long, long long)
void(SWIGSTDCALL * SWIG_Callback1_t)(void *, void *)
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)
Synchronizes the filter with the current solution, delta being the difference with the solution passe...
void swig_connect_director(SWIG_Callback0_t callbackToString)
SwigDirector_LocalSearchFilterManager(std::vector< operations_research::LocalSearchFilterManager::FilterEvent > filter_events)
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
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)
unsigned int(SWIGSTDCALL * SWIG_Callback4_t)()
unsigned int(SWIGSTDCALL * SWIG_Callback5_t)()
unsigned int(SWIGSTDCALL * SWIG_Callback1_t)(void *, void *)
virtual void Start(operations_research::Assignment const *assignment)
virtual int ProgressPercent()
Returns a percentage representing the propress of the search before reaching limits.
void(SWIGSTDCALL * SWIG_Callback23_t)(void *)
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, SWIG_Callback25_t callbackPrint)
virtual void RestartSearch()
Restart the search.
void(SWIGSTDCALL * SWIG_Callback8_t)(void *, unsigned int)
void(SWIGSTDCALL * SWIG_Callback5_t)(void *, void *)
virtual void ExitSearch()
End of the search.
virtual bool LocalOptimum()
When a local optimum is reached.
virtual void NoMoreSolutions()
When the search tree is finished.
unsigned int(SWIGSTDCALL * SWIG_Callback17_t)(void *, void *)
virtual void AfterDecision(operations_research::Decision *const d, bool apply)
Just after refuting or applying the decision, apply is true after Apply.
unsigned int(SWIGSTDCALL * SWIG_Callback14_t)()
virtual void BeginFail()
Just when the failure occurs.
virtual void BeginInitialPropagation()
Before the initial propagation.
virtual void EndNextDecision(operations_research::DecisionBuilder *const b, operations_research::Decision *const d)
After calling DecisionBuilder::Next, along with the returned decision.
void(SWIGSTDCALL * SWIG_Callback6_t)(void *)
unsigned int(SWIGSTDCALL * SWIG_Callback13_t)()
unsigned int(SWIGSTDCALL * SWIG_Callback16_t)()
virtual void PeriodicCheck()
Periodic call to check limits in long running methods.
virtual void EnterSearch()
Beginning of the search.
void(SWIGSTDCALL * SWIG_Callback7_t)(void *)
virtual std::string DebugString() const
virtual void ApplyDecision(operations_research::Decision *const d)
Before applying the decision.
virtual void Accept(operations_research::ModelVisitor *const visitor) const
Accepts the given model visitor.
virtual void EndFail()
After completing the backtrack.
virtual void EndInitialPropagation()
After the initial propagation.
virtual void AcceptUncheckedNeighbor()
After accepting an unchecked neighbor during local search.
virtual bool AtSolution()
This method is called when a valid solution is found.
virtual void BeginNextDecision(operations_research::DecisionBuilder *const db)
Before calling DecisionBuilder::Next.
char *(SWIGSTDCALL * SWIG_Callback0_t)()
void(SWIGSTDCALL * SWIG_Callback4_t)(void *)
virtual bool IsUncheckedSolutionLimitReached()
Returns true if the limit of solutions has been reached including unchecked solutions.
unsigned int(SWIGSTDCALL * SWIG_Callback20_t)()
virtual bool AcceptDelta(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
Internal methods.
char *(SWIGSTDCALL * SWIG_Callback25_t)()
SwigDirector_OptimizeVar(operations_research::Solver *const s, bool maximize, operations_research::IntVar *const a, int64_t step)
virtual void RefuteDecision(operations_research::Decision *const d)
Before refuting the decision.
virtual void AcceptNeighbor()
After accepting a neighbor during local search.
virtual void Install()
Registers itself on the solver such that it gets notified of the search and propagation events.
virtual bool AcceptSolution()
This method is called when a solution is found.
virtual bool InitPosition() const
Returns true if the operator needs to restart its initial position at each call to Start()
unsigned int(SWIGSTDCALL * SWIG_Callback13_t)(long long)
unsigned int(SWIGSTDCALL * SWIG_Callback2_t)()
virtual int64_t GetBaseNodeRestartPositionSwigPublic(int base_index)
virtual bool ConsiderAlternatives(int64_t base_index) const
Indicates if alternatives should be considered when iterating over base nodes.
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
Redefines MakeNextNeighbor to export a simpler interface.
virtual void SetNextBaseToIncrement(int64_t base_index)
Set the next base to increment on next iteration.
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, 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 void SetNextBaseToIncrementSwigPublic(int64_t base_index)
unsigned int(SWIGSTDCALL * SWIG_Callback14_t)()
virtual void OnNodeInitialization()
Called by OnStart() after initializing node information.
virtual bool OnSamePathAsPreviousBaseSwigPublic(int64_t base_index)
unsigned int(SWIGSTDCALL * SWIG_Callback4_t)()
virtual std::string DebugString() const
unsigned int(SWIGSTDCALL * SWIG_Callback9_t)()
virtual void Start(operations_research::Assignment const *assignment)
unsigned int(SWIGSTDCALL * SWIG_Callback10_t)(long long)
void(SWIGSTDCALL * SWIG_Callback12_t)(long long)
char *(SWIGSTDCALL * SWIG_Callback0_t)()
virtual bool SkipUnchanged(int index) const
long long(SWIGSTDCALL * SWIG_Callback11_t)(int)
virtual bool RestartAtPathStartOnSynchronize()
When the operator is being synchronized with a new solution (when Start() is called),...
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...
unsigned int(SWIGSTDCALL * SWIG_Callback7_t)()
virtual bool MakeOneNeighbor()
This method should not be overridden. Override MakeNeighbor() instead.
virtual bool ConsiderAlternativesSwigPublic(int64_t base_index) const
virtual void OnStart()
Called by Start() after synchronizing the operator with the current assignment.
unsigned int(SWIGSTDCALL * SWIG_Callback6_t)()
unsigned int(SWIGSTDCALL * SWIG_Callback3_t)()
virtual int ProgressPercent()
Returns a percentage representing the propress of the search before reaching limits.
void(SWIGSTDCALL * SWIG_Callback23_t)(void *)
virtual void RestartSearch()
Restart the search.
void(SWIGSTDCALL * SWIG_Callback8_t)(void *, unsigned int)
void(SWIGSTDCALL * SWIG_Callback5_t)(void *, void *)
virtual void ExitSearch()
End of the search.
virtual void Init()
This method is called when the search limit is initialized.
virtual bool LocalOptimum()
When a local optimum is reached.
SwigDirector_RegularLimit(operations_research::Solver *const s, absl::Duration time, int64_t branches, int64_t failures, int64_t solutions, bool smart_time_check, bool cumulative)
virtual void NoMoreSolutions()
When the search tree is finished.
unsigned int(SWIGSTDCALL * SWIG_Callback17_t)(void *, void *)
virtual void AfterDecision(operations_research::Decision *const d, bool apply)
Just after refuting or applying the decision, apply is true after Apply.
unsigned int(SWIGSTDCALL * SWIG_Callback14_t)()
virtual void BeginFail()
Just when the failure occurs.
virtual void BeginInitialPropagation()
Before the initial propagation.
virtual void EndNextDecision(operations_research::DecisionBuilder *const b, operations_research::Decision *const d)
After calling DecisionBuilder::Next, along with the returned decision.
void(SWIGSTDCALL * SWIG_Callback27_t)(void *)
void(SWIGSTDCALL * SWIG_Callback6_t)(void *)
unsigned int(SWIGSTDCALL * SWIG_Callback13_t)()
unsigned int(SWIGSTDCALL * SWIG_Callback16_t)()
virtual void PeriodicCheck()
Periodic call to check limits in long running methods.
virtual void EnterSearch()
Internal methods.
void(SWIGSTDCALL * SWIG_Callback7_t)(void *)
virtual std::string DebugString() const
virtual void ApplyDecision(operations_research::Decision *const d)
Before applying the decision.
virtual void Copy(operations_research::SearchLimit const *const limit)
Copy a limit.
virtual void Accept(operations_research::ModelVisitor *const visitor) const
Accepts the given model visitor.
virtual void EndFail()
After completing the backtrack.
void *(SWIGSTDCALL * SWIG_Callback28_t)()
virtual void EndInitialPropagation()
After the initial propagation.
virtual void AcceptUncheckedNeighbor()
After accepting an unchecked neighbor during local search.
virtual bool AtSolution()
This method is called when a valid solution is found.
char *(SWIGSTDCALL * SWIG_Callback0_t)()
void(SWIGSTDCALL * SWIG_Callback4_t)(void *)
virtual bool IsUncheckedSolutionLimitReached()
Returns true if the limit of solutions has been reached including unchecked solutions.
unsigned int(SWIGSTDCALL * SWIG_Callback20_t)()
virtual operations_research::SearchLimit * MakeClone() const
Allocates a clone of the limit.
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, SWIG_Callback25_t callbackCheck, SWIG_Callback26_t callbackInit, SWIG_Callback27_t callbackCopy, SWIG_Callback28_t callbackMakeClone)
unsigned int(SWIGSTDCALL * SWIG_Callback25_t)()
virtual bool AcceptDelta(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
virtual void RefuteDecision(operations_research::Decision *const d)
Before refuting the decision.
virtual bool Check()
This method is called to check the status of the limit.
virtual void AcceptNeighbor()
After accepting a neighbor during local search.
virtual void Install()
Registers itself on the solver such that it gets notified of the search and propagation events.
virtual bool AcceptSolution()
This method is called when a solution is found.
virtual void BeginNextDecision(operations_research::DecisionBuilder *const b)
Before calling DecisionBuilder::Next.
virtual int ProgressPercent()
Returns a percentage representing the propress of the search before reaching limits.
void(SWIGSTDCALL * SWIG_Callback23_t)(void *)
virtual void RestartSearch()
Restart the search.
void(SWIGSTDCALL * SWIG_Callback8_t)(void *, unsigned int)
void(SWIGSTDCALL * SWIG_Callback5_t)(void *, void *)
virtual void ExitSearch()
End of the search.
virtual void Init()
This method is called when the search limit is initialized.
virtual bool LocalOptimum()
When a local optimum is reached.
virtual void NoMoreSolutions()
When the search tree is finished.
unsigned int(SWIGSTDCALL * SWIG_Callback17_t)(void *, void *)
virtual void AfterDecision(operations_research::Decision *const d, bool apply)
Just after refuting or applying the decision, apply is true after Apply.
unsigned int(SWIGSTDCALL * SWIG_Callback14_t)()
virtual void BeginFail()
Just when the failure occurs.
virtual void BeginInitialPropagation()
Before the initial propagation.
virtual void EndNextDecision(operations_research::DecisionBuilder *const b, operations_research::Decision *const d)
After calling DecisionBuilder::Next, along with the returned decision.
void(SWIGSTDCALL * SWIG_Callback27_t)(void *)
void(SWIGSTDCALL * SWIG_Callback6_t)(void *)
unsigned int(SWIGSTDCALL * SWIG_Callback13_t)()
unsigned int(SWIGSTDCALL * SWIG_Callback16_t)()
virtual void PeriodicCheck()
Periodic call to check limits in long running methods.
virtual void EnterSearch()
Internal methods.
void(SWIGSTDCALL * SWIG_Callback7_t)(void *)
virtual std::string DebugString() const
virtual void ApplyDecision(operations_research::Decision *const d)
Before applying the decision.
virtual void Copy(operations_research::SearchLimit const *const limit)
Copy a limit.
virtual void Accept(operations_research::ModelVisitor *const visitor) const
Accepts the given model visitor.
virtual void EndFail()
After completing the backtrack.
void *(SWIGSTDCALL * SWIG_Callback28_t)()
virtual void EndInitialPropagation()
After the initial propagation.
virtual void AcceptUncheckedNeighbor()
After accepting an unchecked neighbor during local search.
virtual bool AtSolution()
This method is called when a valid solution is found.
char *(SWIGSTDCALL * SWIG_Callback0_t)()
void(SWIGSTDCALL * SWIG_Callback4_t)(void *)
virtual bool IsUncheckedSolutionLimitReached()
Returns true if the limit of solutions has been reached including unchecked solutions.
unsigned int(SWIGSTDCALL * SWIG_Callback20_t)()
virtual operations_research::SearchLimit * MakeClone() const
Allocates a clone of the limit.
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, SWIG_Callback25_t callbackCheck, SWIG_Callback26_t callbackInit, SWIG_Callback27_t callbackCopy, SWIG_Callback28_t callbackMakeClone)
unsigned int(SWIGSTDCALL * SWIG_Callback25_t)()
virtual bool AcceptDelta(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
virtual void RefuteDecision(operations_research::Decision *const d)
Before refuting the decision.
virtual bool Check()
This method is called to check the status of the limit.
SwigDirector_SearchLimit(operations_research::Solver *const s)
virtual void AcceptNeighbor()
After accepting a neighbor during local search.
virtual void Install()
Registers itself on the solver such that it gets notified of the search and propagation events.
virtual bool AcceptSolution()
This method is called when a solution is found.
virtual void BeginNextDecision(operations_research::DecisionBuilder *const b)
Before calling DecisionBuilder::Next.
virtual int ProgressPercent()
Returns a percentage representing the propress of the search before reaching limits.
void(SWIGSTDCALL * SWIG_Callback23_t)(void *)
virtual void RestartSearch()
Restart the search.
void(SWIGSTDCALL * SWIG_Callback8_t)(void *, unsigned int)
void(SWIGSTDCALL * SWIG_Callback5_t)(void *, void *)
virtual void ExitSearch()
End of the search.
virtual bool LocalOptimum()
When a local optimum is reached.
virtual void NoMoreSolutions()
When the search tree is finished.
unsigned int(SWIGSTDCALL * SWIG_Callback17_t)(void *, void *)
virtual void AfterDecision(operations_research::Decision *const d, bool apply)
Just after refuting or applying the decision, apply is true after Apply.
unsigned int(SWIGSTDCALL * SWIG_Callback14_t)()
virtual void BeginFail()
Just when the failure occurs.
virtual void BeginInitialPropagation()
Before the initial propagation.
virtual void EndNextDecision(operations_research::DecisionBuilder *const b, operations_research::Decision *const d)
After calling DecisionBuilder::Next, along with the returned decision.
void(SWIGSTDCALL * SWIG_Callback6_t)(void *)
unsigned int(SWIGSTDCALL * SWIG_Callback13_t)()
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)
unsigned int(SWIGSTDCALL * SWIG_Callback16_t)()
virtual void PeriodicCheck()
Periodic call to check limits in long running methods.
virtual void EnterSearch()
Beginning of the search.
void(SWIGSTDCALL * SWIG_Callback7_t)(void *)
virtual std::string DebugString() const
virtual void ApplyDecision(operations_research::Decision *const d)
Before applying the decision.
virtual void Accept(operations_research::ModelVisitor *const visitor) const
Accepts the given model visitor.
virtual void EndFail()
After completing the backtrack.
virtual void EndInitialPropagation()
After the initial propagation.
virtual void AcceptUncheckedNeighbor()
After accepting an unchecked neighbor during local search.
virtual bool AtSolution()
This method is called when a valid solution is found.
void(SWIGSTDCALL * SWIG_Callback4_t)(void *)
virtual bool IsUncheckedSolutionLimitReached()
Returns true if the limit of solutions has been reached including unchecked solutions.
unsigned int(SWIGSTDCALL * SWIG_Callback20_t)()
virtual bool AcceptDelta(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
virtual void RefuteDecision(operations_research::Decision *const d)
Before refuting the decision.
SwigDirector_SearchMonitor(operations_research::Solver *const s)
virtual void AcceptNeighbor()
After accepting a neighbor during local search.
virtual void Install()
Registers itself on the solver such that it gets notified of the search and propagation events.
virtual bool AcceptSolution()
This method is called when a solution is found.
virtual void BeginNextDecision(operations_research::DecisionBuilder *const b)
Before calling DecisionBuilder::Next.
virtual bool MakeNextNeighbor(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
unsigned int(SWIGSTDCALL * SWIG_Callback1_t)(void *, void *)
virtual void Start(operations_research::Assignment const *assignment)
This method should not be overridden.
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 callbackMakeNextNeighbor, SWIG_Callback2_t callbackReset, SWIG_Callback3_t callbackHasFragments, SWIG_Callback4_t callbackHoldsDelta, SWIG_Callback5_t callbackIsIncremental, SWIG_Callback6_t callbackOnStart)
virtual int ProgressPercent()
Returns a percentage representing the propress of the search before reaching limits.
void(SWIGSTDCALL * SWIG_Callback23_t)(void *)
virtual void RestartSearch()
Restart the search.
void(SWIGSTDCALL * SWIG_Callback8_t)(void *, unsigned int)
void(SWIGSTDCALL * SWIG_Callback5_t)(void *, void *)
virtual void ExitSearch()
End of the search.
virtual bool LocalOptimum()
When a local optimum is reached.
virtual void NoMoreSolutions()
When the search tree is finished.
unsigned int(SWIGSTDCALL * SWIG_Callback17_t)(void *, void *)
virtual void AfterDecision(operations_research::Decision *const d, bool apply)
Just after refuting or applying the decision, apply is true after Apply.
unsigned int(SWIGSTDCALL * SWIG_Callback14_t)()
virtual void BeginFail()
Just when the failure occurs.
virtual void BeginInitialPropagation()
Before the initial propagation.
virtual void EndNextDecision(operations_research::DecisionBuilder *const b, operations_research::Decision *const d)
After calling DecisionBuilder::Next, along with the returned decision.
void(SWIGSTDCALL * SWIG_Callback6_t)(void *)
unsigned int(SWIGSTDCALL * SWIG_Callback13_t)()
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)
unsigned int(SWIGSTDCALL * SWIG_Callback16_t)()
virtual void PeriodicCheck()
Periodic call to check limits in long running methods.
virtual void EnterSearch()
Beginning of the search.
void(SWIGSTDCALL * SWIG_Callback7_t)(void *)
virtual void ApplyDecision(operations_research::Decision *const d)
Before applying the decision.
virtual void Accept(operations_research::ModelVisitor *const visitor) const
Accepts the given model visitor.
virtual void EndFail()
After completing the backtrack.
virtual void EndInitialPropagation()
After the initial propagation.
virtual void AcceptUncheckedNeighbor()
After accepting an unchecked neighbor during local search.
virtual bool AtSolution()
This method is called when a valid solution is found.
void(SWIGSTDCALL * SWIG_Callback4_t)(void *)
virtual bool IsUncheckedSolutionLimitReached()
Returns true if the limit of solutions has been reached including unchecked solutions.
unsigned int(SWIGSTDCALL * SWIG_Callback20_t)()
virtual bool AcceptDelta(operations_research::Assignment *delta, operations_research::Assignment *deltadelta)
SwigDirector_SolutionCollector(operations_research::Solver *const solver, operations_research::Assignment const *assignment)
virtual void RefuteDecision(operations_research::Decision *const d)
Before refuting the decision.
virtual void AcceptNeighbor()
After accepting a neighbor during local search.
virtual void Install()
Registers itself on the solver such that it gets notified of the search and propagation events.
virtual bool AcceptSolution()
This method is called when a solution is found.
virtual void BeginNextDecision(operations_research::DecisionBuilder *const b)
Before calling DecisionBuilder::Next.
virtual void VisitRankFirstInterval(operations_research::SequenceVar *const sequence, int index)
virtual void VisitScheduleOrExpedite(operations_research::IntervalVar *const var, int64_t est)
void(SWIGSTDCALL * SWIG_Callback1_t)(void *, long long)
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 VisitRankLastInterval(operations_research::SequenceVar *const sequence, int index)
virtual void VisitSplitVariableDomain(operations_research::IntVar *const var, int64_t value, bool start_with_lower_half)
void(SWIGSTDCALL * SWIG_Callback4_t)(void *, long long)
void(SWIGSTDCALL * SWIG_Callback5_t)(void *, int)
virtual void VisitSetVariableValue(operations_research::IntVar *const var, int64_t value)
void(SWIGSTDCALL * SWIG_Callback6_t)(void *, int)
virtual void VisitScheduleOrPostpone(operations_research::IntervalVar *const var, int64_t est)
void(SWIGSTDCALL * SWIG_Callback3_t)(void *, long long)
void(SWIGSTDCALL * SWIG_Callback2_t)(void *, long long, unsigned int)
An Assignment is a variable -> domains mapping, used to report solutions to the user.
This is the base class for building an Lns operator.
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 DecisionVisitor is used to inspect a decision.
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.
Definition: local_search.cc:97
Interval variables are often used in scheduling.
Local Search Filters are used for fast neighbor pruning.
Filter manager: when a move is made, filters are executed to decide whether the solution is feasible ...
The base class for all local search operators.
This class encapsulates an objective.
Base class of the local search operators dedicated to path modifications (a path is a set of nodes li...
virtual bool ConsiderAlternatives(int64_t base_index) const
Indicates if alternatives should be considered when iterating over base nodes.
virtual void OnNodeInitialization()
Called by OnStart() after initializing node information.
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),...
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...
bool MakeOneNeighbor() override
This method should not be overridden. Override MakeNeighbor() instead.
virtual bool InitPosition() const
Returns true if the operator needs to restart its initial position at each call to Start()
virtual void SetNextBaseToIncrement(int64_t base_index)
Set the next base to increment on next iteration.
Usual limit based on wall_time, number of explored branches and number of failures in the search tree...
Base class of all search limits.
A search monitor is a simple set of callbacks to monitor all search events.
A sequence variable is a variable whose domain is a set of possible orderings of the interval variabl...
This class is the root class of all solution collectors.
DemonPriority
This enum represents the three possible priorities for a demon in the Solver queue.
A symmetry breaker is an object that will visit a decision and create the 'symmetrical' decision in r...
int64_t b
int64_t a
int64_t value
IntVar * var
Definition: expr_array.cc:1874
#define SWIGSTDCALL
int index
Definition: pack.cc:509
int64_t time
Definition: resource.cc:1691
int64_t delta
Definition: resource.cc:1692