Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
RoutingModel.cs
Go to the documentation of this file.
1//------------------------------------------------------------------------------
2// <auto-generated />
3//
4// This file was automatically generated by SWIG (https://www.swig.org).
5// Version 4.2.1
6//
7// Do not make changes to this file unless you know what you are doing - modify
8// the SWIG interface file instead.
9//------------------------------------------------------------------------------
10
12
13using System;
14using System.Collections.Generic;
15
16public partial class RoutingModel : global::System.IDisposable {
17 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
18 protected bool swigCMemOwn;
19
20 internal RoutingModel(global::System.IntPtr cPtr, bool cMemoryOwn) {
21 swigCMemOwn = cMemoryOwn;
22 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
23 }
24
25 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RoutingModel obj) {
26 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
27 }
28
29 internal static global::System.Runtime.InteropServices.HandleRef swigRelease(RoutingModel obj) {
30 if (obj != null) {
31 if (!obj.swigCMemOwn)
32 throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
33 global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
34 obj.swigCMemOwn = false;
35 obj.Dispose();
36 return ptr;
37 } else {
38 return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
39 }
40 }
41
42 ~RoutingModel() {
43 Dispose(false);
44 }
45
46 public void Dispose() {
47 Dispose(true);
48 global::System.GC.SuppressFinalize(this);
49 }
50
51 protected virtual void Dispose(bool disposing) {
52 lock(this) {
53 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
54 if (swigCMemOwn) {
55 swigCMemOwn = false;
57 }
58 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
59 }
60 }
61 }
62
63 // Keep reference to delegate to avoid GC to collect them early.
64 private List<LongToLong> unaryTransitCallbacks;
65 private LongToLong StoreLongToLong(LongToLong c) {
66 if (unaryTransitCallbacks == null)
67 unaryTransitCallbacks = new List<LongToLong>();
68 unaryTransitCallbacks.Add(c);
69 return c;
70 }
71
72 private List<LongLongToLong> transitCallbacks;
73 private LongLongToLong StoreLongLongToLong(LongLongToLong c) {
74 if (transitCallbacks == null)
75 transitCallbacks = new List<LongLongToLong>();
76 transitCallbacks.Add(c);
77 return c;
78 }
79
80 private List<VoidToVoid> solutionCallbacks;
81 private VoidToVoid StoreVoidToVoid(VoidToVoid c) {
82 if (solutionCallbacks == null)
83 solutionCallbacks = new List<VoidToVoid>();
84 solutionCallbacks.Add(c);
85 return c;
86 }
87
88 public partial class VehicleTypeContainer : global::System.IDisposable {
89 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
90 protected bool swigCMemOwn;
91
92 internal VehicleTypeContainer(global::System.IntPtr cPtr, bool cMemoryOwn) {
93 swigCMemOwn = cMemoryOwn;
94 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
95 }
96
97 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VehicleTypeContainer obj) {
98 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
99 }
100
101 internal static global::System.Runtime.InteropServices.HandleRef swigRelease(VehicleTypeContainer obj) {
102 if (obj != null) {
103 if (!obj.swigCMemOwn)
104 throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
105 global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
106 obj.swigCMemOwn = false;
107 obj.Dispose();
108 return ptr;
109 } else {
110 return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
111 }
112 }
113
114 ~VehicleTypeContainer() {
115 Dispose(false);
116 }
117
118 public void Dispose() {
119 Dispose(true);
120 global::System.GC.SuppressFinalize(this);
121 }
122
123 protected virtual void Dispose(bool disposing) {
124 lock(this) {
125 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
126 if (swigCMemOwn) {
127 swigCMemOwn = false;
129 }
130 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
131 }
132 }
133 }
134
135 public partial class VehicleClassEntry : global::System.IDisposable {
136 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
137 protected bool swigCMemOwn;
138
139 internal VehicleClassEntry(global::System.IntPtr cPtr, bool cMemoryOwn) {
140 swigCMemOwn = cMemoryOwn;
141 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
142 }
143
144 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VehicleClassEntry obj) {
145 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
146 }
147
148 internal static global::System.Runtime.InteropServices.HandleRef swigRelease(VehicleClassEntry obj) {
149 if (obj != null) {
150 if (!obj.swigCMemOwn)
151 throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
152 global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
153 obj.swigCMemOwn = false;
154 obj.Dispose();
155 return ptr;
156 } else {
157 return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
158 }
159 }
160
161 ~VehicleClassEntry() {
162 Dispose(false);
163 }
164
165 public void Dispose() {
166 Dispose(true);
167 global::System.GC.SuppressFinalize(this);
168 }
169
170 protected virtual void Dispose(bool disposing) {
171 lock(this) {
172 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
173 if (swigCMemOwn) {
174 swigCMemOwn = false;
176 }
177 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
178 }
179 }
180 }
181
182 public int vehicle_class {
183 set {
193 set {
203 }
205 }
206
207 public int NumTypes() {
209 return ret;
210 }
211
212 public int Type(int vehicle) {
214 return ret;
215 }
216
218 set {
220 }
221 get {
223 IntVector ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVector(cPtr, false);
224 return ret;
225 }
226 }
227
228 public SWIGTYPE_p_std__vectorT_std__setT_operations_research__RoutingModel__VehicleTypeContainer__VehicleClassEntry_t_t sorted_vehicle_classes_per_type {
229 set {
230 operations_research_constraint_solverPINVOKE.RoutingModel_VehicleTypeContainer_sorted_vehicle_classes_per_type_set(swigCPtr, SWIGTYPE_p_std__vectorT_std__setT_operations_research__RoutingModel__VehicleTypeContainer__VehicleClassEntry_t_t.getCPtr(value));
231 }
232 get {
234 SWIGTYPE_p_std__vectorT_std__setT_operations_research__RoutingModel__VehicleTypeContainer__VehicleClassEntry_t_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_std__vectorT_std__setT_operations_research__RoutingModel__VehicleTypeContainer__VehicleClassEntry_t_t(cPtr, false);
235 return ret;
236 }
237 }
238
239 public SWIGTYPE_p_std__vectorT_std__dequeT_int_t_t vehicles_per_vehicle_class {
240 set {
242 }
243 get {
245 SWIGTYPE_p_std__vectorT_std__dequeT_int_t_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_std__vectorT_std__dequeT_int_t_t(cPtr, false);
246 return ret;
247 }
248 }
249
250 public VehicleTypeContainer() : this(operations_research_constraint_solverPINVOKE.new_RoutingModel_VehicleTypeContainer(), true) {
251 }
253 }
254
255 public partial class ResourceGroup : global::System.IDisposable {
256 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
257 protected bool swigCMemOwn;
258
259 internal ResourceGroup(global::System.IntPtr cPtr, bool cMemoryOwn) {
260 swigCMemOwn = cMemoryOwn;
261 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
262 }
263
264 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ResourceGroup obj) {
265 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
266 }
267
268 internal static global::System.Runtime.InteropServices.HandleRef swigRelease(ResourceGroup obj) {
269 if (obj != null) {
270 if (!obj.swigCMemOwn)
271 throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
272 global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
273 obj.swigCMemOwn = false;
274 obj.Dispose();
275 return ptr;
276 } else {
277 return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
278 }
279 }
280
281 ~ResourceGroup() {
282 Dispose(false);
283 }
284
285 public void Dispose() {
286 Dispose(true);
287 global::System.GC.SuppressFinalize(this);
288 }
289
290 protected virtual void Dispose(bool disposing) {
291 lock(this) {
292 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
293 if (swigCMemOwn) {
294 swigCMemOwn = false;
296 }
297 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
298 }
299 }
300 }
301
302 public partial class Attributes : global::System.IDisposable {
303 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
304 protected bool swigCMemOwn;
305
306 internal Attributes(global::System.IntPtr cPtr, bool cMemoryOwn) {
307 swigCMemOwn = cMemoryOwn;
308 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
309 }
310
311 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Attributes obj) {
312 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
313 }
314
315 internal static global::System.Runtime.InteropServices.HandleRef swigRelease(Attributes obj) {
316 if (obj != null) {
317 if (!obj.swigCMemOwn)
318 throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
319 global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
320 obj.swigCMemOwn = false;
321 obj.Dispose();
322 return ptr;
323 } else {
324 return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
325 }
326 }
327
328 ~Attributes() {
329 Dispose(false);
330 }
331
332 public void Dispose() {
333 Dispose(true);
334 global::System.GC.SuppressFinalize(this);
335 }
336
337 protected virtual void Dispose(bool disposing) {
338 lock(this) {
339 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
340 if (swigCMemOwn) {
341 swigCMemOwn = false;
343 }
344 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
345 }
346 }
347 }
348
349 public Attributes() : this(operations_research_constraint_solverPINVOKE.new_RoutingModel_ResourceGroup_Attributes__SWIG_0(), true) {
350 }
352 public Attributes(Domain start_domain, Domain end_domain) : this(operations_research_constraint_solverPINVOKE.new_RoutingModel_ResourceGroup_Attributes__SWIG_1(Domain.getCPtr(start_domain), Domain.getCPtr(end_domain)), true) {
355
356 public Domain StartDomain() {
358 return ret;
359 }
360
361 public Domain EndDomain() {
363 return ret;
364 }
365
366 }
367
368 public partial class Resource : global::System.IDisposable {
369 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
370 protected bool swigCMemOwn;
371
372 internal Resource(global::System.IntPtr cPtr, bool cMemoryOwn) {
373 swigCMemOwn = cMemoryOwn;
374 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
375 }
376
377 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Resource obj) {
378 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
379 }
380
381 internal static global::System.Runtime.InteropServices.HandleRef swigRelease(Resource obj) {
382 if (obj != null) {
383 if (!obj.swigCMemOwn)
384 throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
385 global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
386 obj.swigCMemOwn = false;
387 obj.Dispose();
388 return ptr;
389 } else {
390 return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
391 }
392 }
393
394 ~Resource() {
395 Dispose(false);
396 }
397
398 public void Dispose() {
399 Dispose(true);
400 global::System.GC.SuppressFinalize(this);
401 }
402
403 protected virtual void Dispose(bool disposing) {
404 lock(this) {
405 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
406 if (swigCMemOwn) {
407 swigCMemOwn = false;
409 }
410 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
411 }
412 }
413 }
414
417 return ret;
418 }
419
420 }
421
422 public int AddResource(RoutingModel.ResourceGroup.Attributes attributes, RoutingDimension dimension) {
431
432 public int[] GetVehiclesRequiringAResource() {
434 IntVector tmpVector = null;
435 if (cPtr != global::System.IntPtr.Zero) {
436 tmpVector = new IntVector(cPtr, true);
437 int[] outArray = new int[tmpVector.Count];
438 tmpVector.CopyTo(outArray);
439 return outArray;
440 }
441 return null;
442 }
443
444 public bool VehicleRequiresAResource(int vehicle) {
446 return ret;
447 }
448
449 public void SetAllowedResourcesForVehicle(int vehicle, int[] allowed_resource_indices) {
450 operations_research_constraint_solverPINVOKE.RoutingModel_ResourceGroup_SetAllowedResourcesForVehicle(swigCPtr, vehicle, allowed_resource_indices.Length, allowed_resource_indices );
452
453 public void ClearAllowedResourcesForVehicle(int vehicle) {
456
457 public SWIGTYPE_p_absl__flat_hash_setT_int_t GetResourcesMarkedAllowedForVehicle(int vehicle) {
458 SWIGTYPE_p_absl__flat_hash_setT_int_t ret = new SWIGTYPE_p_absl__flat_hash_setT_int_t(operations_research_constraint_solverPINVOKE.RoutingModel_ResourceGroup_GetResourcesMarkedAllowedForVehicle(swigCPtr, vehicle), false);
459 return ret;
460 }
461
462 public bool IsResourceAllowedForVehicle(int resource, int vehicle) {
464 return ret;
465 }
466
467 public SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__ResourceGroup__Resource_t GetResources() {
468 SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__ResourceGroup__Resource_t ret = new SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__ResourceGroup__Resource_t(operations_research_constraint_solverPINVOKE.RoutingModel_ResourceGroup_GetResources(swigCPtr), false);
469 return ret;
470 }
471
472 public RoutingModel.ResourceGroup.Resource GetResource(int resource_index) {
474 return ret;
475 }
476
477 public SWIGTYPE_p_absl__flat_hash_setT_RoutingDimensionIndex_t GetAffectedDimensionIndices() {
478 SWIGTYPE_p_absl__flat_hash_setT_RoutingDimensionIndex_t ret = new SWIGTYPE_p_absl__flat_hash_setT_RoutingDimensionIndex_t(operations_research_constraint_solverPINVOKE.RoutingModel_ResourceGroup_GetAffectedDimensionIndices(swigCPtr), false);
479 return ret;
480 }
481
482 public int GetResourceClassesCount() {
484 return ret;
485 }
486
487 public int[] GetResourceIndicesInClass(int resource_class) {
489 IntVector tmpVector = null;
490 if (cPtr != global::System.IntPtr.Zero) {
491 tmpVector = new IntVector(cPtr, true);
492 int[] outArray = new int[tmpVector.Count];
493 tmpVector.CopyTo(outArray);
494 return outArray;
495 }
496 return null;
497 }
498
499 public SWIGTYPE_p_util_intops__StrongVectorT_operations_research__RoutingModel__ResourceClassIndex_std__vectorT_int_t_t GetResourceIndicesPerClass() {
500 SWIGTYPE_p_util_intops__StrongVectorT_operations_research__RoutingModel__ResourceClassIndex_std__vectorT_int_t_t ret = new SWIGTYPE_p_util_intops__StrongVectorT_operations_research__RoutingModel__ResourceClassIndex_std__vectorT_int_t_t(operations_research_constraint_solverPINVOKE.RoutingModel_ResourceGroup_GetResourceIndicesPerClass(swigCPtr), false);
501 return ret;
502 }
503
504 public int GetResourceClassIndex(int resource_index) {
507
508 public int Size() {
510 return ret;
511 }
512
513 public int Index() {
515 return ret;
516 }
517
518 }
519
520 public partial class VariableValuePair : global::System.IDisposable {
521 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
522 protected bool swigCMemOwn;
523
524 internal VariableValuePair(global::System.IntPtr cPtr, bool cMemoryOwn) {
525 swigCMemOwn = cMemoryOwn;
526 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
527 }
528
529 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VariableValuePair obj) {
530 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
531 }
532
533 internal static global::System.Runtime.InteropServices.HandleRef swigRelease(VariableValuePair obj) {
534 if (obj != null) {
535 if (!obj.swigCMemOwn)
536 throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
537 global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
538 obj.swigCMemOwn = false;
539 obj.Dispose();
540 return ptr;
541 } else {
542 return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
543 }
544 }
545
546 ~VariableValuePair() {
547 Dispose(false);
548 }
549
550 public void Dispose() {
551 Dispose(true);
552 global::System.GC.SuppressFinalize(this);
553 }
554
555 protected virtual void Dispose(bool disposing) {
556 lock(this) {
557 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
558 if (swigCMemOwn) {
559 swigCMemOwn = false;
561 }
562 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
563 }
564 }
565 }
566
567 public int var_index {
568 set {
578 set {
580 }
581 get {
583 return ret;
584 }
585 }
586
587 public VariableValuePair() : this(operations_research_constraint_solverPINVOKE.new_RoutingModel_VariableValuePair(), true) {
588 }
590 }
591
592 public partial class SecondaryOptimizer : global::System.IDisposable {
593 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
594 protected bool swigCMemOwn;
595
596 internal SecondaryOptimizer(global::System.IntPtr cPtr, bool cMemoryOwn) {
597 swigCMemOwn = cMemoryOwn;
598 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
599 }
600
601 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SecondaryOptimizer obj) {
602 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
603 }
604
605 internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SecondaryOptimizer obj) {
606 if (obj != null) {
607 if (!obj.swigCMemOwn)
608 throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
609 global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
610 obj.swigCMemOwn = false;
611 obj.Dispose();
612 return ptr;
613 } else {
614 return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
615 }
616 }
617
618 ~SecondaryOptimizer() {
619 Dispose(false);
620 }
621
622 public void Dispose() {
623 Dispose(true);
624 global::System.GC.SuppressFinalize(this);
625 }
626
627 protected virtual void Dispose(bool disposing) {
628 lock(this) {
629 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
630 if (swigCMemOwn) {
631 swigCMemOwn = false;
633 }
634 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
635 }
636 }
637 }
638
639 public SecondaryOptimizer(RoutingModel model, Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters, long solve_period) : this(operations_research_constraint_solverPINVOKE.new_RoutingModel_SecondaryOptimizer(RoutingModel.getCPtr(model), ProtoHelper.ProtoToByteArray(search_parameters, out var buffer), buffer, solve_period), true) {
640 }
642 public bool Solve(SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__VariableValuePair_t in_state, SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__VariableValuePair_t out_state) {
643 bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_SecondaryOptimizer_Solve(swigCPtr, SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__VariableValuePair_t.getCPtr(in_state), SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__VariableValuePair_t.getCPtr(out_state));
649
650 public static long kNoPenalty {
651 get {
653 return ret;
654 }
655 }
656
657 public static int kNoDisjunction {
658 get {
665 get {
667 }
668
669 }
670
671 public RoutingModel(RoutingIndexManager index_manager) : this(operations_research_constraint_solverPINVOKE.new_RoutingModel__SWIG_0(RoutingIndexManager.getCPtr(index_manager)), true) {
672 if (operations_research_constraint_solverPINVOKE.SWIGPendingException.Pending) throw operations_research_constraint_solverPINVOKE.SWIGPendingException.Retrieve();
674
675 public RoutingModel(RoutingIndexManager index_manager, Google.OrTools.ConstraintSolver.RoutingModelParameters parameters) : this(operations_research_constraint_solverPINVOKE.new_RoutingModel__SWIG_1(RoutingIndexManager.getCPtr(index_manager), ProtoHelper.ProtoToByteArray(parameters, out var buffer), buffer), true) {
678
679 public int RegisterUnaryTransitVector( long[] values) {
681 return ret;
682 }
683
684 public int RegisterUnaryTransitCallback( LongToLong callback, int sign) {
686 return ret;
687 }
688
689 public int RegisterUnaryTransitCallback( LongToLong callback) {
691 return ret;
692 }
693
694 public int RegisterTransitMatrix( long[][] values) {
696 values.GetLength(0),
697 NestedArrayHelper.GetArraySecondSize(values),
698 NestedArrayHelper.GetFlatArray(values)
699);
700 return ret;
701 }
702
703 public int RegisterTransitCallback( LongLongToLong callback, int sign) {
704 int ret = operations_research_constraint_solverPINVOKE.RoutingModel_RegisterTransitCallback__SWIG_0(swigCPtr, StoreLongLongToLong(callback) , sign);
705 return ret;
706 }
707
708 public int RegisterTransitCallback( LongLongToLong callback) {
709 int ret = operations_research_constraint_solverPINVOKE.RoutingModel_RegisterTransitCallback__SWIG_1(swigCPtr, StoreLongLongToLong(callback) );
710 return ret;
711 }
712
713 public bool AddDimension(int evaluator_index, long slack_max, long capacity, bool fix_start_cumul_to_zero, string name) {
714 bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_AddDimension(swigCPtr, evaluator_index, slack_max, capacity, fix_start_cumul_to_zero, name);
716 return ret;
717 }
718
719 public bool AddDimensionWithVehicleTransits( int[] evaluator_indices, long slack_max, long capacity, bool fix_start_cumul_to_zero, string name) {
720 bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_AddDimensionWithVehicleTransits(swigCPtr, evaluator_indices.Length, evaluator_indices , slack_max, capacity, fix_start_cumul_to_zero, name);
722 return ret;
723 }
724
725 public bool AddDimensionWithVehicleCapacity(int evaluator_index, long slack_max, long[] vehicle_capacities, bool fix_start_cumul_to_zero, string name) {
726 bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_AddDimensionWithVehicleCapacity(swigCPtr, evaluator_index, slack_max, vehicle_capacities.Length, vehicle_capacities , fix_start_cumul_to_zero, name);
728 return ret;
729 }
730
731 public bool AddDimensionWithVehicleTransitAndCapacity( int[] evaluator_indices, long slack_max, long[] vehicle_capacities, bool fix_start_cumul_to_zero, string name) {
732 bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_AddDimensionWithVehicleTransitAndCapacity(swigCPtr, evaluator_indices.Length, evaluator_indices , slack_max, vehicle_capacities.Length, vehicle_capacities , fix_start_cumul_to_zero, name);
734 return ret;
735 }
736
737 public IntBoolPair AddConstantDimensionWithSlack(long value, long capacity, long slack_max, bool fix_start_cumul_to_zero, string name) {
738 IntBoolPair ret = new IntBoolPair(operations_research_constraint_solverPINVOKE.RoutingModel_AddConstantDimensionWithSlack(swigCPtr, value, capacity, slack_max, fix_start_cumul_to_zero, name), true);
740 return ret;
741 }
742
743 public IntBoolPair AddConstantDimension(long value, long capacity, bool fix_start_cumul_to_zero, string name) {
744 IntBoolPair ret = new IntBoolPair(operations_research_constraint_solverPINVOKE.RoutingModel_AddConstantDimension(swigCPtr, value, capacity, fix_start_cumul_to_zero, name), true);
746 return ret;
747 }
748
749 public IntBoolPair AddVectorDimension( long[] values, long capacity, bool fix_start_cumul_to_zero, string name) {
750 IntBoolPair ret = new IntBoolPair(operations_research_constraint_solverPINVOKE.RoutingModel_AddVectorDimension(swigCPtr, values.Length, values , capacity, fix_start_cumul_to_zero, name), true);
752 return ret;
753 }
754
755 public IntBoolPair AddMatrixDimension( long[][] values, long capacity, bool fix_start_cumul_to_zero, string name) {
757 values.GetLength(0),
758 NestedArrayHelper.GetArraySecondSize(values),
759 NestedArrayHelper.GetFlatArray(values)
760, capacity, fix_start_cumul_to_zero, name), true);
762 return ret;
763 }
764
765 public SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_p_t GetUnaryDimensions() {
766 SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_p_t ret = new SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_p_t(operations_research_constraint_solverPINVOKE.RoutingModel_GetUnaryDimensions(swigCPtr), true);
767 return ret;
768 }
769
770 public SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_const_p_t GetDimensionsWithGlobalCumulOptimizers() {
771 SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_const_p_t ret = new SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_const_p_t(operations_research_constraint_solverPINVOKE.RoutingModel_GetDimensionsWithGlobalCumulOptimizers(swigCPtr), true);
772 return ret;
773 }
774
775 public SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_const_p_t GetDimensionsWithLocalCumulOptimizers() {
776 SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_const_p_t ret = new SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_const_p_t(operations_research_constraint_solverPINVOKE.RoutingModel_GetDimensionsWithLocalCumulOptimizers(swigCPtr), true);
777 return ret;
778 }
779
780 public bool HasGlobalCumulOptimizer(RoutingDimension dimension) {
789 return ret;
790 }
791
792 public SWIGTYPE_p_operations_research__GlobalDimensionCumulOptimizer GetMutableGlobalCumulLPOptimizer(RoutingDimension dimension) {
794 SWIGTYPE_p_operations_research__GlobalDimensionCumulOptimizer ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_operations_research__GlobalDimensionCumulOptimizer(cPtr, false);
796 return ret;
797 }
798
799 public SWIGTYPE_p_operations_research__GlobalDimensionCumulOptimizer GetMutableGlobalCumulMPOptimizer(RoutingDimension dimension) {
801 SWIGTYPE_p_operations_research__GlobalDimensionCumulOptimizer ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_operations_research__GlobalDimensionCumulOptimizer(cPtr, false);
803 return ret;
804 }
805
806 public SWIGTYPE_p_operations_research__LocalDimensionCumulOptimizer GetMutableLocalCumulLPOptimizer(RoutingDimension dimension) {
808 SWIGTYPE_p_operations_research__LocalDimensionCumulOptimizer ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_operations_research__LocalDimensionCumulOptimizer(cPtr, false);
810 return ret;
811 }
812
813 public bool HasDimension(string dimension_name) {
826 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_GetMutableDimension(swigCPtr, dimension_name);
827 RoutingDimension ret = (cPtr == global::System.IntPtr.Zero) ? null : new RoutingDimension(cPtr, false);
829 return ret;
830 }
831
832 public void SetPrimaryConstrainedDimension(string dimension_name) {
839 return ret;
840 }
841
844 RoutingModel.ResourceGroup ret = (cPtr == global::System.IntPtr.Zero) ? null : new RoutingModel.ResourceGroup(cPtr, false);
845 return ret;
846 }
847
848 public SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__RoutingModel__ResourceGroup_t_t GetResourceGroups() {
849 SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__RoutingModel__ResourceGroup_t_t ret = new SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__RoutingModel__ResourceGroup_t_t(operations_research_constraint_solverPINVOKE.RoutingModel_GetResourceGroups(swigCPtr), false);
850 return ret;
851 }
852
853 public RoutingModel.ResourceGroup GetResourceGroup(int rg_index) {
854 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_GetResourceGroup(swigCPtr, rg_index);
855 RoutingModel.ResourceGroup ret = (cPtr == global::System.IntPtr.Zero) ? null : new RoutingModel.ResourceGroup(cPtr, false);
856 return ret;
857 }
858
859 public int[] GetDimensionResourceGroupIndices(RoutingDimension dimension) {
861 IntVector tmpVector = null;
862 if (cPtr != global::System.IntPtr.Zero) {
863 tmpVector = new IntVector(cPtr, true);
864 int[] outArray = new int[tmpVector.Count];
865 tmpVector.CopyTo(outArray);
866 return outArray;
867 }
868 return null;
869}
870
871 public int GetDimensionResourceGroupIndex(RoutingDimension dimension) {
872 int ret = operations_research_constraint_solverPINVOKE.RoutingModel_GetDimensionResourceGroupIndex(swigCPtr, RoutingDimension.getCPtr(dimension));
873 return ret;
874 }
875
876 public int AddDisjunction( long[] indices, long penalty, long max_cardinality) {
877 return operations_research_constraint_solverPINVOKE.RoutingModel_AddDisjunction__SWIG_0(swigCPtr, indices.Length, indices , penalty, max_cardinality);
879
880 public int AddDisjunction( long[] indices, long penalty) {
881 return operations_research_constraint_solverPINVOKE.RoutingModel_AddDisjunction__SWIG_1(swigCPtr, indices.Length, indices , penalty);
883
884 public int AddDisjunction( long[] indices) {
887
888 public int[] GetDisjunctionIndices(long index) {
889 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_GetDisjunctionIndices(swigCPtr, index);
890 IntVector tmpVector = null;
891 if (cPtr != global::System.IntPtr.Zero) {
892 tmpVector = new IntVector(cPtr, true);
893 int[] outArray = new int[tmpVector.Count];
894 tmpVector.CopyTo(outArray);
895 return outArray;
896 }
897 return null;
898}
899
900 public long[] GetDisjunctionNodeIndices(int index) {
901 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_GetDisjunctionNodeIndices(swigCPtr, index);
902 Int64Vector tmpVector = null;
903 if (cPtr != global::System.IntPtr.Zero) {
904 tmpVector = new Int64Vector(cPtr, true);
905 long[] outArray = new long[tmpVector.Count];
906 tmpVector.CopyTo(outArray);
907 return outArray;
908 }
909 return null;
910}
911
912 public long GetDisjunctionPenalty(int index) {
913 long ret = operations_research_constraint_solverPINVOKE.RoutingModel_GetDisjunctionPenalty(swigCPtr, index);
914 return ret;
915 }
916
917 public long GetDisjunctionMaxCardinality(int index) {
919 return ret;
920 }
921
922 public int GetNumberOfDisjunctions() {
924 return ret;
925 }
926
927 public bool HasMandatoryDisjunctions() {
929 return ret;
930 }
931
934 return ret;
935 }
936
940
941 public void AddSoftSameVehicleConstraint( long[] indices, long cost) {
944
945 public void SetAllowedVehiclesForIndex( int[] vehicles, long index) {
948
949 public bool IsVehicleAllowedForIndex(int vehicle, long index) {
951 return ret;
952 }
953
954 public void AddPickupAndDelivery(long pickup, long delivery) {
957
958 public void AddPickupAndDeliverySets(int pickup_disjunction, int delivery_disjunction) {
959 operations_research_constraint_solverPINVOKE.RoutingModel_AddPickupAndDeliverySets(swigCPtr, pickup_disjunction, delivery_disjunction);
961
962 public partial class PickupDeliveryPosition : global::System.IDisposable {
963 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
964 protected bool swigCMemOwn;
965
966 internal PickupDeliveryPosition(global::System.IntPtr cPtr, bool cMemoryOwn) {
967 swigCMemOwn = cMemoryOwn;
968 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
969 }
970
971 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PickupDeliveryPosition obj) {
972 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
973 }
974
975 internal static global::System.Runtime.InteropServices.HandleRef swigRelease(PickupDeliveryPosition obj) {
976 if (obj != null) {
977 if (!obj.swigCMemOwn)
978 throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
979 global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
980 obj.swigCMemOwn = false;
981 obj.Dispose();
982 return ptr;
983 } else {
984 return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
985 }
986 }
987
988 ~PickupDeliveryPosition() {
989 Dispose(false);
990 }
991
992 public void Dispose() {
993 Dispose(true);
994 global::System.GC.SuppressFinalize(this);
995 }
996
997 protected virtual void Dispose(bool disposing) {
998 lock(this) {
999 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
1000 if (swigCMemOwn) {
1001 swigCMemOwn = false;
1003 }
1004 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
1005 }
1006 }
1007 }
1008
1009 public int pd_pair_index {
1010 set {
1020 set {
1022 }
1023 get {
1025 return ret;
1026 }
1027 }
1028
1029 public PickupDeliveryPosition() : this(operations_research_constraint_solverPINVOKE.new_RoutingModel_PickupDeliveryPosition(), true) {
1030 }
1032 }
1033
1034 public SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__PickupDeliveryPosition_t GetPickupPositions(long node_index) {
1035 SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__PickupDeliveryPosition_t ret = new SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__PickupDeliveryPosition_t(operations_research_constraint_solverPINVOKE.RoutingModel_GetPickupPositions(swigCPtr, node_index), false);
1036 return ret;
1037 }
1038
1039 public SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__PickupDeliveryPosition_t GetDeliveryPositions(long node_index) {
1040 SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__PickupDeliveryPosition_t ret = new SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__PickupDeliveryPosition_t(operations_research_constraint_solverPINVOKE.RoutingModel_GetDeliveryPositions(swigCPtr, node_index), false);
1041 return ret;
1042 }
1043
1044 public bool IsPickup(long node_index) {
1046 return ret;
1047 }
1048
1049 public bool IsDelivery(long node_index) {
1051 return ret;
1052 }
1053
1054 public void SetPickupAndDeliveryPolicyOfAllVehicles(int policy) {
1057
1058 public void SetPickupAndDeliveryPolicyOfVehicle(int policy, int vehicle) {
1061
1062 public int GetPickupAndDeliveryPolicyOfVehicle(int vehicle) {
1064 return ret;
1065 }
1066
1067 public int GetNumOfSingletonNodes() {
1069 return ret;
1070 }
1071
1072 public void SetVisitType(long index, int type, int type_policy) {
1075
1076 public int GetVisitType(long index) {
1078 return ret;
1079 }
1080
1081 public int[] GetSingleNodesOfType(int type) {
1082 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_GetSingleNodesOfType(swigCPtr, type);
1083 IntVector tmpVector = null;
1084 if (cPtr != global::System.IntPtr.Zero) {
1085 tmpVector = new IntVector(cPtr, true);
1086 int[] outArray = new int[tmpVector.Count];
1087 tmpVector.CopyTo(outArray);
1088 return outArray;
1089 }
1090 return null;
1091}
1092
1093 public int[] GetPairIndicesOfType(int type) {
1094 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_GetPairIndicesOfType(swigCPtr, type);
1095 IntVector tmpVector = null;
1096 if (cPtr != global::System.IntPtr.Zero) {
1097 tmpVector = new IntVector(cPtr, true);
1098 int[] outArray = new int[tmpVector.Count];
1099 tmpVector.CopyTo(outArray);
1100 return outArray;
1101 }
1102 return null;
1103}
1104
1105 public int GetVisitTypePolicy(long index) {
1106 int ret = operations_research_constraint_solverPINVOKE.RoutingModel_GetVisitTypePolicy(swigCPtr, index);
1107 return ret;
1108 }
1109
1110 public void CloseVisitTypes() {
1113
1114 public int GetNumberOfVisitTypes() {
1116 return ret;
1117 }
1118
1119 public void AddHardTypeIncompatibility(int type1, int type2) {
1122
1123 public void AddTemporalTypeIncompatibility(int type1, int type2) {
1126
1127 public SWIGTYPE_p_absl__flat_hash_setT_int_t GetTemporalTypeIncompatibilitiesOfType(int type) {
1128 SWIGTYPE_p_absl__flat_hash_setT_int_t ret = new SWIGTYPE_p_absl__flat_hash_setT_int_t(operations_research_constraint_solverPINVOKE.RoutingModel_GetTemporalTypeIncompatibilitiesOfType(swigCPtr, type), false);
1129 return ret;
1130 }
1131
1132 public bool HasHardTypeIncompatibilities() {
1134 return ret;
1135 }
1136
1137 public bool HasTemporalTypeIncompatibilities() {
1139 return ret;
1140 }
1141
1142 public void AddRequiredTypeAlternativesWhenAddingType(int dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t required_type_alternatives) {
1143 operations_research_constraint_solverPINVOKE.RoutingModel_AddRequiredTypeAlternativesWhenAddingType(swigCPtr, dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t.getCPtr(required_type_alternatives));
1145 }
1146
1147 public void AddRequiredTypeAlternativesWhenRemovingType(int dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t required_type_alternatives) {
1148 operations_research_constraint_solverPINVOKE.RoutingModel_AddRequiredTypeAlternativesWhenRemovingType(swigCPtr, dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t.getCPtr(required_type_alternatives));
1153 SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t ret = new SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t(operations_research_constraint_solverPINVOKE.RoutingModel_GetSameVehicleRequiredTypeAlternativesOfType(swigCPtr, type), false);
1154 return ret;
1155 }
1156
1157 public SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t GetRequiredTypeAlternativesWhenAddingType(int type) {
1158 SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t ret = new SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t(operations_research_constraint_solverPINVOKE.RoutingModel_GetRequiredTypeAlternativesWhenAddingType(swigCPtr, type), false);
1159 return ret;
1160 }
1161
1162 public SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t GetRequiredTypeAlternativesWhenRemovingType(int type) {
1163 SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t ret = new SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t(operations_research_constraint_solverPINVOKE.RoutingModel_GetRequiredTypeAlternativesWhenRemovingType(swigCPtr, type), false);
1164 return ret;
1165 }
1166
1167 public bool HasSameVehicleTypeRequirements() {
1169 return ret;
1170 }
1171
1172 public bool HasTemporalTypeRequirements() {
1174 return ret;
1175 }
1176
1177 public long UnperformedPenalty(long var_index) {
1179 return ret;
1180 }
1181
1182 public long UnperformedPenaltyOrValue(long default_value, long var_index) {
1183 long ret = operations_research_constraint_solverPINVOKE.RoutingModel_UnperformedPenaltyOrValue(swigCPtr, default_value, var_index);
1184 return ret;
1185 }
1186
1187 public long GetDepot() {
1189 return ret;
1190 }
1191
1192 public void SetMaximumNumberOfActiveVehicles(int max_active_vehicles) {
1195
1198 return ret;
1199 }
1200
1201 public void SetArcCostEvaluatorOfAllVehicles(int evaluator_index) {
1204
1205 public void SetArcCostEvaluatorOfVehicle(int evaluator_index, int vehicle) {
1208
1209 public void SetFixedCostOfAllVehicles(long cost) {
1212
1213 public void SetFixedCostOfVehicle(long cost, int vehicle) {
1216
1217 public long GetFixedCostOfVehicle(int vehicle) {
1219 return ret;
1220 }
1221
1222 public void SetPathEnergyCostOfVehicle(string force, string distance, long unit_cost, int vehicle) {
1230
1231 public void SetAmortizedCostFactorsOfVehicle(long linear_cost_factor, long quadratic_cost_factor, int vehicle) {
1232 operations_research_constraint_solverPINVOKE.RoutingModel_SetAmortizedCostFactorsOfVehicle(swigCPtr, linear_cost_factor, quadratic_cost_factor, vehicle);
1234
1237 Int64Vector tmpVector = null;
1238 if (cPtr != global::System.IntPtr.Zero) {
1239 tmpVector = new Int64Vector(cPtr, true);
1240 long[] outArray = new long[tmpVector.Count];
1241 tmpVector.CopyTo(outArray);
1242 return outArray;
1243 }
1244 return null;
1245}
1246
1248 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_GetAmortizedQuadraticCostFactorOfVehicles(swigCPtr);
1249 Int64Vector tmpVector = null;
1250 if (cPtr != global::System.IntPtr.Zero) {
1251 tmpVector = new Int64Vector(cPtr, true);
1252 long[] outArray = new long[tmpVector.Count];
1253 tmpVector.CopyTo(outArray);
1254 return outArray;
1255 }
1256 return null;
1257}
1258
1259 public void SetVehicleUsedWhenEmpty(bool is_used, int vehicle) {
1260 operations_research_constraint_solverPINVOKE.RoutingModel_SetVehicleUsedWhenEmpty(swigCPtr, is_used, vehicle);
1262
1263 public bool IsVehicleUsedWhenEmpty(int vehicle) {
1265 return ret;
1266 }
1267
1268 public void SetFirstSolutionEvaluator( LongLongToLong evaluator) {
1271
1272 public void AddLocalSearchOperator(LocalSearchOperator ls_operator) {
1275
1276 public void AddSearchMonitor(SearchMonitor monitor) {
1279
1280 public void AddAtSolutionCallback( VoidToVoid callback, bool track_unchecked_neighbors) {
1281 operations_research_constraint_solverPINVOKE.RoutingModel_AddAtSolutionCallback__SWIG_0(swigCPtr, StoreVoidToVoid(callback) , track_unchecked_neighbors);
1283
1284 public void AddAtSolutionCallback( VoidToVoid callback) {
1287
1288 public void AddVariableMinimizedByFinalizer(IntVar var) {
1291
1292 public void AddVariableMaximizedByFinalizer(IntVar var) {
1295
1296 public void AddWeightedVariableMinimizedByFinalizer(IntVar var, long cost) {
1299
1300 public void AddWeightedVariableMaximizedByFinalizer(IntVar var, long cost) {
1303
1304 public void AddVariableTargetToFinalizer(IntVar var, long target) {
1307
1308 public void AddWeightedVariableTargetToFinalizer(IntVar var, long target, long cost) {
1311
1312 public void CloseModel() {
1319
1320 public Assignment Solve(Assignment assignment) {
1321 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_Solve__SWIG_0(swigCPtr, Assignment.getCPtr(assignment));
1322 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
1323 return ret;
1324 }
1325
1326 public Assignment Solve() {
1327 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_Solve__SWIG_1(swigCPtr);
1328 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
1329 return ret;
1330 }
1331
1333 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_SolveWithParameters(swigCPtr, ProtoHelper.ProtoToByteArray(search_parameters, out var buffer), buffer);
1334 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
1335 return ret;
1336 }
1337
1339 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_SolveFromAssignmentWithParameters(swigCPtr, Assignment.getCPtr(assignment), ProtoHelper.ProtoToByteArray(search_parameters, out var buffer), buffer);
1340 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
1341 return ret;
1342 }
1343
1344 public Assignment FastSolveFromAssignmentWithParameters(Assignment assignment, Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters, bool check_solution_in_cp, SWIGTYPE_p_absl__flat_hash_setT_operations_research__IntVar_p_t touched) {
1345 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_FastSolveFromAssignmentWithParameters__SWIG_0(swigCPtr, Assignment.getCPtr(assignment), ProtoHelper.ProtoToByteArray(search_parameters, out var buffer), buffer, check_solution_in_cp, SWIGTYPE_p_absl__flat_hash_setT_operations_research__IntVar_p_t.getCPtr(touched));
1346 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
1347 return ret;
1348 }
1349
1350 public Assignment FastSolveFromAssignmentWithParameters(Assignment assignment, Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters, bool check_solution_in_cp) {
1351 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_FastSolveFromAssignmentWithParameters__SWIG_1(swigCPtr, Assignment.getCPtr(assignment), ProtoHelper.ProtoToByteArray(search_parameters, out var buffer), buffer, check_solution_in_cp);
1352 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
1353 return ret;
1354 }
1355
1356 public Assignment SolveFromAssignmentsWithParameters(SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t assignments, Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters, SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t solutions) {
1357 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_SolveFromAssignmentsWithParameters__SWIG_0(swigCPtr, SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t.getCPtr(assignments), ProtoHelper.ProtoToByteArray(search_parameters, out var buffer), buffer, SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t.getCPtr(solutions));
1358 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
1360 return ret;
1361 }
1362
1363 public Assignment SolveFromAssignmentsWithParameters(SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t assignments, Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters) {
1364 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_SolveFromAssignmentsWithParameters__SWIG_1(swigCPtr, SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t.getCPtr(assignments), ProtoHelper.ProtoToByteArray(search_parameters, out var buffer), buffer);
1371 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_SolveWithIteratedLocalSearch(swigCPtr, ProtoHelper.ProtoToByteArray(search_parameters, out var buffer), buffer);
1372 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
1373 return ret;
1374 }
1375
1376 public void SetAssignmentFromOtherModelAssignment(Assignment target_assignment, RoutingModel source_model, Assignment source_assignment) {
1377 operations_research_constraint_solverPINVOKE.RoutingModel_SetAssignmentFromOtherModelAssignment(swigCPtr, Assignment.getCPtr(target_assignment), RoutingModel.getCPtr(source_model), Assignment.getCPtr(source_assignment));
1379
1380 public long ComputeLowerBound() {
1382 return ret;
1383 }
1384
1385 public long ObjectiveLowerBound() {
1387 return ret;
1388 }
1389
1390 public int GetStatus() {
1392 return ret;
1393 }
1394
1395 public bool EnableDeepSerialization() {
1397 return ret;
1398 }
1399
1400 public IntVar ApplyLocks( long[] locks) {
1401 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_ApplyLocks(swigCPtr, locks.Length, locks );
1402 IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
1403 return ret;
1404 }
1405
1406 public bool ApplyLocksToAllVehicles( long[][] locks, bool close_routes) {
1408 locks.GetLength(0),
1409 NestedArrayHelper.GetArraySecondSize(locks),
1410 NestedArrayHelper.GetFlatArray(locks)
1411, close_routes);
1412 return ret;
1413 }
1414
1415 public Assignment PreAssignment() {
1416 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_PreAssignment(swigCPtr);
1417 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
1418 return ret;
1419 }
1420
1423 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
1424 return ret;
1425 }
1426
1427 public bool WriteAssignment(string file_name) {
1434 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_ReadAssignment(swigCPtr, file_name);
1435 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
1437 return ret;
1438 }
1439
1440 public Assignment RestoreAssignment(Assignment solution) {
1441 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_RestoreAssignment(swigCPtr, Assignment.getCPtr(solution));
1442 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
1444 return ret;
1445 }
1446
1447 public Assignment ReadAssignmentFromRoutes( long[][] routes, bool ignore_inactive_indices) {
1449 routes.GetLength(0),
1450 NestedArrayHelper.GetArraySecondSize(routes),
1451 NestedArrayHelper.GetFlatArray(routes)
1452, ignore_inactive_indices);
1453 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
1454 return ret;
1455 }
1456
1457 public bool RoutesToAssignment( long[][] routes, bool ignore_inactive_indices, bool close_routes, Assignment assignment) {
1459 routes.GetLength(0),
1460 NestedArrayHelper.GetArraySecondSize(routes),
1461 NestedArrayHelper.GetFlatArray(routes)
1462, ignore_inactive_indices, close_routes, Assignment.getCPtr(assignment));
1463 return ret;
1464 }
1465
1466 public void AssignmentToRoutes(Assignment assignment, long[][] routes) {
1468 routes.GetLength(0),
1469 NestedArrayHelper.GetArraySecondSize(routes),
1470 NestedArrayHelper.GetFlatArray(routes)
1471);
1473 }
1474
1475 public Assignment CompactAssignment(Assignment assignment) {
1476 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_CompactAssignment(swigCPtr, Assignment.getCPtr(assignment));
1477 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
1479 return ret;
1480 }
1481
1483 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_CompactAndCheckAssignment(swigCPtr, Assignment.getCPtr(assignment));
1484 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
1486 return ret;
1487 }
1488
1489 public void AddToAssignment(IntVar var) {
1492
1493 public void AddIntervalToAssignment(IntervalVar interval) {
1496
1497 public partial class RouteDimensionTravelInfo : global::System.IDisposable {
1498 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
1499 protected bool swigCMemOwn;
1500
1501 internal RouteDimensionTravelInfo(global::System.IntPtr cPtr, bool cMemoryOwn) {
1502 swigCMemOwn = cMemoryOwn;
1503 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
1504 }
1505
1506 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RouteDimensionTravelInfo obj) {
1507 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
1508 }
1509
1510 internal static global::System.Runtime.InteropServices.HandleRef swigRelease(RouteDimensionTravelInfo obj) {
1511 if (obj != null) {
1512 if (!obj.swigCMemOwn)
1513 throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
1514 global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
1515 obj.swigCMemOwn = false;
1516 obj.Dispose();
1517 return ptr;
1518 } else {
1519 return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
1520 }
1521 }
1522
1523 ~RouteDimensionTravelInfo() {
1524 Dispose(false);
1525 }
1526
1527 public void Dispose() {
1528 Dispose(true);
1529 global::System.GC.SuppressFinalize(this);
1530 }
1531
1532 protected virtual void Dispose(bool disposing) {
1533 lock(this) {
1534 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
1535 if (swigCMemOwn) {
1536 swigCMemOwn = false;
1538 }
1539 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
1540 }
1541 }
1542 }
1543
1544 public partial class TransitionInfo : global::System.IDisposable {
1545 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
1546 protected bool swigCMemOwn;
1547
1548 internal TransitionInfo(global::System.IntPtr cPtr, bool cMemoryOwn) {
1549 swigCMemOwn = cMemoryOwn;
1550 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
1551 }
1552
1553 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TransitionInfo obj) {
1554 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
1555 }
1556
1557 internal static global::System.Runtime.InteropServices.HandleRef swigRelease(TransitionInfo obj) {
1558 if (obj != null) {
1559 if (!obj.swigCMemOwn)
1560 throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
1561 global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
1562 obj.swigCMemOwn = false;
1563 obj.Dispose();
1564 return ptr;
1565 } else {
1566 return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
1567 }
1568 }
1569
1570 ~TransitionInfo() {
1571 Dispose(false);
1572 }
1573
1574 public void Dispose() {
1575 Dispose(true);
1576 global::System.GC.SuppressFinalize(this);
1577 }
1578
1579 protected virtual void Dispose(bool disposing) {
1580 lock(this) {
1581 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
1582 if (swigCMemOwn) {
1583 swigCMemOwn = false;
1585 }
1586 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
1587 }
1588 }
1589 }
1590
1591 public partial class PiecewiseLinearFormulation : global::System.IDisposable {
1592 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
1593 protected bool swigCMemOwn;
1594
1595 internal PiecewiseLinearFormulation(global::System.IntPtr cPtr, bool cMemoryOwn) {
1596 swigCMemOwn = cMemoryOwn;
1597 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
1598 }
1599
1600 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PiecewiseLinearFormulation obj) {
1601 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
1602 }
1603
1604 internal static global::System.Runtime.InteropServices.HandleRef swigRelease(PiecewiseLinearFormulation obj) {
1605 if (obj != null) {
1606 if (!obj.swigCMemOwn)
1607 throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
1608 global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
1609 obj.swigCMemOwn = false;
1610 obj.Dispose();
1611 return ptr;
1612 } else {
1613 return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
1614 }
1615 }
1616
1617 ~PiecewiseLinearFormulation() {
1618 Dispose(false);
1619 }
1620
1621 public void Dispose() {
1622 Dispose(true);
1623 global::System.GC.SuppressFinalize(this);
1624 }
1625
1626 protected virtual void Dispose(bool disposing) {
1627 lock(this) {
1628 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
1629 if (swigCMemOwn) {
1630 swigCMemOwn = false;
1632 }
1633 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
1634 }
1635 }
1636 }
1637
1638 public SWIGTYPE_p_absl__InlinedVectorT_long_8_t x_anchors {
1639 set {
1651 set {
1670 return ret;
1671 }
1672
1673 public PiecewiseLinearFormulation() : this(operations_research_constraint_solverPINVOKE.new_RoutingModel_RouteDimensionTravelInfo_TransitionInfo_PiecewiseLinearFormulation(), true) {
1674 }
1676 }
1677
1679 set {
1690 set {
1701 set {
1711 set {
1721 set {
1731 set {
1748 return ret;
1749 }
1750
1751 public TransitionInfo() : this(operations_research_constraint_solverPINVOKE.new_RoutingModel_RouteDimensionTravelInfo_TransitionInfo(), true) {
1752 }
1754 }
1755
1756 public SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__RouteDimensionTravelInfo__TransitionInfo_t transition_info {
1757 set {
1758 operations_research_constraint_solverPINVOKE.RoutingModel_RouteDimensionTravelInfo_transition_info_set(swigCPtr, SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__RouteDimensionTravelInfo__TransitionInfo_t.getCPtr(value));
1759 }
1760 get {
1762 SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__RouteDimensionTravelInfo__TransitionInfo_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__RouteDimensionTravelInfo__TransitionInfo_t(cPtr, false);
1763 return ret;
1764 }
1765 }
1766
1767 public long travel_cost_coefficient {
1768 set {
1778 string ret = operations_research_constraint_solverPINVOKE.RoutingModel_RouteDimensionTravelInfo_ToString__SWIG_0(swigCPtr, line_prefix);
1785 return ret;
1786 }
1787
1788 public RouteDimensionTravelInfo() : this(operations_research_constraint_solverPINVOKE.new_RoutingModel_RouteDimensionTravelInfo(), true) {
1789 }
1791 }
1792
1793 public partial class NodeNeighborsByCostClass : global::System.IDisposable {
1794 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
1795 protected bool swigCMemOwn;
1796
1797 internal NodeNeighborsByCostClass(global::System.IntPtr cPtr, bool cMemoryOwn) {
1798 swigCMemOwn = cMemoryOwn;
1799 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
1800 }
1801
1802 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(NodeNeighborsByCostClass obj) {
1803 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
1804 }
1805
1806 internal static global::System.Runtime.InteropServices.HandleRef swigRelease(NodeNeighborsByCostClass obj) {
1807 if (obj != null) {
1808 if (!obj.swigCMemOwn)
1809 throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
1810 global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
1811 obj.swigCMemOwn = false;
1812 obj.Dispose();
1813 return ptr;
1814 } else {
1815 return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
1816 }
1817 }
1818
1819 ~NodeNeighborsByCostClass() {
1820 Dispose(false);
1821 }
1822
1823 public void Dispose() {
1824 Dispose(true);
1825 global::System.GC.SuppressFinalize(this);
1826 }
1827
1828 protected virtual void Dispose(bool disposing) {
1829 lock(this) {
1830 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
1831 if (swigCMemOwn) {
1832 swigCMemOwn = false;
1834 }
1835 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
1836 }
1837 }
1838 }
1839
1840 public NodeNeighborsByCostClass() : this(operations_research_constraint_solverPINVOKE.new_RoutingModel_NodeNeighborsByCostClass(), true) {
1841 }
1843 public void ComputeNeighbors(RoutingModel routing_model, int num_neighbors, bool add_vehicle_starts_to_neighbors) {
1844 operations_research_constraint_solverPINVOKE.RoutingModel_NodeNeighborsByCostClass_ComputeNeighbors(swigCPtr, RoutingModel.getCPtr(routing_model), num_neighbors, add_vehicle_starts_to_neighbors);
1850 IntVector tmpVector = null;
1851 if (cPtr != global::System.IntPtr.Zero) {
1852 tmpVector = new IntVector(cPtr, true);
1853 int[] outArray = new int[tmpVector.Count];
1854 tmpVector.CopyTo(outArray);
1855 return outArray;
1856 }
1857 return null;
1858 }
1859
1860 }
1861
1862 public RoutingModel.NodeNeighborsByCostClass GetOrCreateNodeNeighborsByCostClass(double neighbors_ratio, long min_neighbors, SWIGTYPE_p_double neighbors_ratio_used, bool add_vehicle_starts_to_neighbors) {
1863 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_GetOrCreateNodeNeighborsByCostClass__SWIG_0(swigCPtr, neighbors_ratio, min_neighbors, SWIGTYPE_p_double.getCPtr(neighbors_ratio_used), add_vehicle_starts_to_neighbors);
1864 RoutingModel.NodeNeighborsByCostClass ret = (cPtr == global::System.IntPtr.Zero) ? null : new RoutingModel.NodeNeighborsByCostClass(cPtr, false);
1866 return ret;
1867 }
1868
1869 public RoutingModel.NodeNeighborsByCostClass GetOrCreateNodeNeighborsByCostClass(double neighbors_ratio, long min_neighbors, SWIGTYPE_p_double neighbors_ratio_used) {
1870 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_GetOrCreateNodeNeighborsByCostClass__SWIG_1(swigCPtr, neighbors_ratio, min_neighbors, SWIGTYPE_p_double.getCPtr(neighbors_ratio_used));
1871 RoutingModel.NodeNeighborsByCostClass ret = (cPtr == global::System.IntPtr.Zero) ? null : new RoutingModel.NodeNeighborsByCostClass(cPtr, false);
1873 return ret;
1874 }
1875
1876 public RoutingModel.NodeNeighborsByCostClass GetOrCreateNodeNeighborsByCostClass(int num_neighbors, bool add_vehicle_starts_to_neighbors) {
1877 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_GetOrCreateNodeNeighborsByCostClass__SWIG_2(swigCPtr, num_neighbors, add_vehicle_starts_to_neighbors);
1878 RoutingModel.NodeNeighborsByCostClass ret = (cPtr == global::System.IntPtr.Zero) ? null : new RoutingModel.NodeNeighborsByCostClass(cPtr, false);
1879 return ret;
1880 }
1881
1884 RoutingModel.NodeNeighborsByCostClass ret = (cPtr == global::System.IntPtr.Zero) ? null : new RoutingModel.NodeNeighborsByCostClass(cPtr, false);
1885 return ret;
1886 }
1887
1888 public void AddLocalSearchFilter(LocalSearchFilter filter) {
1891
1892 public long Start(int vehicle) {
1894 return ret;
1895 }
1896
1897 public long End(int vehicle) {
1899 return ret;
1900 }
1901
1902 public bool IsStart(long index) {
1904 return ret;
1905 }
1906
1907 public bool IsEnd(long index) {
1909 return ret;
1910 }
1911
1912 public int VehicleIndex(long index) {
1914 return ret;
1915 }
1916
1917 public long Next(Assignment assignment, long index) {
1918 long ret = operations_research_constraint_solverPINVOKE.RoutingModel_Next(swigCPtr, Assignment.getCPtr(assignment), index);
1924 bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_IsVehicleUsed(swigCPtr, Assignment.getCPtr(assignment), vehicle);
1931 return ret;
1932 }
1933
1934 public IntVarVector VehicleVars() {
1936 return ret;
1937 }
1938
1939 public IntVarVector ResourceVars(int resource_group) {
1941 return ret;
1942 }
1943
1944 public IntVar NextVar(long index) {
1945 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_NextVar(swigCPtr, index);
1946 IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
1947 return ret;
1948 }
1949
1950 public IntVar ActiveVar(long index) {
1951 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_ActiveVar(swigCPtr, index);
1952 IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
1953 return ret;
1954 }
1955
1956 public IntVar ActiveVehicleVar(int vehicle) {
1957 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_ActiveVehicleVar(swigCPtr, vehicle);
1958 IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
1959 return ret;
1960 }
1961
1962 public IntVar VehicleRouteConsideredVar(int vehicle) {
1963 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_VehicleRouteConsideredVar(swigCPtr, vehicle);
1964 IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
1965 return ret;
1966 }
1967
1968 public IntVar VehicleVar(long index) {
1969 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_VehicleVar(swigCPtr, index);
1970 IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
1971 return ret;
1972 }
1973
1974 public IntVar ResourceVar(int vehicle, int resource_group) {
1975 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_ResourceVar(swigCPtr, vehicle, resource_group);
1976 IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
1977 return ret;
1978 }
1979
1980 public IntVar CostVar() {
1981 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_CostVar(swigCPtr);
1982 IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
1983 return ret;
1984 }
1985
1986 public long GetArcCostForVehicle(long from_index, long to_index, long vehicle) {
1987 long ret = operations_research_constraint_solverPINVOKE.RoutingModel_GetArcCostForVehicle(swigCPtr, from_index, to_index, vehicle);
1988 return ret;
1989 }
1990
1991 public bool CostsAreHomogeneousAcrossVehicles() {
1993 return ret;
1994 }
1995
1996 public long GetHomogeneousCost(long from_index, long to_index) {
1997 long ret = operations_research_constraint_solverPINVOKE.RoutingModel_GetHomogeneousCost(swigCPtr, from_index, to_index);
1998 return ret;
1999 }
2000
2001 public long GetArcCostForFirstSolution(long from_index, long to_index) {
2003 return ret;
2004 }
2005
2006 public long GetArcCostForClass(long from_index, long to_index, long cost_class_index) {
2007 long ret = operations_research_constraint_solverPINVOKE.RoutingModel_GetArcCostForClass(swigCPtr, from_index, to_index, cost_class_index);
2008 return ret;
2009 }
2010
2011 public int GetCostClassIndexOfVehicle(long vehicle) {
2014
2015 public bool HasVehicleWithCostClassIndex(int cost_class_index) {
2017 return ret;
2018 }
2019
2020 public int GetCostClassesCount() {
2022 return ret;
2023 }
2024
2025 public int GetNonZeroCostClassesCount() {
2027 return ret;
2028 }
2029
2030 public int GetVehicleClassIndexOfVehicle(long vehicle) {
2033
2034 public int GetVehicleOfClass(int vehicle_class) {
2036 return ret;
2037 }
2038
2039 public int GetVehicleClassesCount() {
2041 return ret;
2042 }
2043
2044 public int[] GetSameVehicleIndicesOfIndex(int node) {
2046 IntVector tmpVector = null;
2047 if (cPtr != global::System.IntPtr.Zero) {
2048 tmpVector = new IntVector(cPtr, true);
2049 int[] outArray = new int[tmpVector.Count];
2050 tmpVector.CopyTo(outArray);
2051 return outArray;
2052 }
2053 return null;
2054}
2055
2056 public RoutingModel.VehicleTypeContainer GetVehicleTypeContainer() {
2057 RoutingModel.VehicleTypeContainer ret = new RoutingModel.VehicleTypeContainer(operations_research_constraint_solverPINVOKE.RoutingModel_GetVehicleTypeContainer(swigCPtr), false);
2058 return ret;
2059 }
2060
2061 public bool ArcIsMoreConstrainedThanArc(long from, long to1, long to2) {
2063 return ret;
2064 }
2065
2066 public string DebugOutputAssignment(Assignment solution_assignment, string dimension_to_print) {
2067 string ret = operations_research_constraint_solverPINVOKE.RoutingModel_DebugOutputAssignment(swigCPtr, Assignment.getCPtr(solution_assignment), dimension_to_print);
2073 bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_CheckIfAssignmentIsFeasible(swigCPtr, Assignment.getCPtr(assignment), call_at_solution_monitors);
2079 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_solver(swigCPtr);
2080 Solver ret = (cPtr == global::System.IntPtr.Zero) ? null : new Solver(cPtr, false);
2081 return ret;
2082 }
2083
2084 public bool CheckLimit(SWIGTYPE_p_absl__Duration offset) {
2085 bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_CheckLimit__SWIG_0(swigCPtr, SWIGTYPE_p_absl__Duration.getCPtr(offset));
2092 return ret;
2093 }
2094
2095 public void UpdateTimeLimit(SWIGTYPE_p_absl__Duration time_limit) {
2096 operations_research_constraint_solverPINVOKE.RoutingModel_UpdateTimeLimit(swigCPtr, SWIGTYPE_p_absl__Duration.getCPtr(time_limit));
2101 SWIGTYPE_p_absl__Duration ret = new SWIGTYPE_p_absl__Duration(operations_research_constraint_solverPINVOKE.RoutingModel_TimeBuffer(swigCPtr), true);
2102 return ret;
2103 }
2104
2105 public SWIGTYPE_p_std__atomicT_bool_t GetMutableCPSatInterrupt() {
2107 SWIGTYPE_p_std__atomicT_bool_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_std__atomicT_bool_t(cPtr, false);
2108 return ret;
2109 }
2110
2111 public SWIGTYPE_p_std__atomicT_bool_t GetMutableCPInterrupt() {
2113 SWIGTYPE_p_std__atomicT_bool_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_std__atomicT_bool_t(cPtr, false);
2114 return ret;
2115 }
2116
2117 public void CancelSearch() {
2120
2121 public int Nodes() {
2123 return ret;
2124 }
2125
2126 public int Vehicles() {
2128 return ret;
2129 }
2130
2131 public long Size() {
2133 return ret;
2134 }
2135
2138 return ret;
2139 }
2140
2143 return ret;
2144 }
2145
2146 public bool IsMatchingModel() {
2148 return ret;
2149 }
2150
2151 public bool AreRoutesInterdependent(SWIGTYPE_p_operations_research__RoutingSearchParameters parameters) {
2152 bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_AreRoutesInterdependent(swigCPtr, SWIGTYPE_p_operations_research__RoutingSearchParameters.getCPtr(parameters));
2158 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_MakeGuidedSlackFinalizer(swigCPtr, RoutingDimension.getCPtr(dimension), StoreLongToLong(initializer) );
2159 DecisionBuilder ret = (cPtr == global::System.IntPtr.Zero) ? null : new DecisionBuilder(cPtr, false);
2160 return ret;
2161 }
2162
2165 DecisionBuilder ret = (cPtr == global::System.IntPtr.Zero) ? null : new DecisionBuilder(cPtr, false);
2166 return ret;
2167 }
2168
2171 return ret;
2172 }
2173
2174 // Status
2184 // PickupAndDeliveryPolicy
2189 // TransitEvaluatorSign
2194 // VisitTypePolicy
2201
2202}
Parameters which have to be set when creating a RoutingModel.
void ComputeNeighbors(RoutingModel routing_model, int num_neighbors, bool add_vehicle_starts_to_neighbors)
RoutingModel.ResourceGroup.Attributes GetDimensionAttributes(RoutingDimension dimension)
RoutingModel.ResourceGroup.Resource GetResource(int resource_index)
SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__ResourceGroup__Resource_t GetResources()
SWIGTYPE_p_absl__flat_hash_setT_RoutingDimensionIndex_t GetAffectedDimensionIndices()
void SetAllowedResourcesForVehicle(int vehicle, int[] allowed_resource_indices)
bool IsResourceAllowedForVehicle(int resource, int vehicle)
SWIGTYPE_p_absl__flat_hash_setT_int_t GetResourcesMarkedAllowedForVehicle(int vehicle)
int AddResource(RoutingModel.ResourceGroup.Attributes attributes, RoutingDimension dimension)
SWIGTYPE_p_util_intops__StrongVectorT_operations_research__RoutingModel__ResourceClassIndex_std__vectorT_int_t_t GetResourceIndicesPerClass()
RoutingModel.RouteDimensionTravelInfo.TransitionInfo.PiecewiseLinearFormulation travel_compression_cost
RoutingModel.RouteDimensionTravelInfo.TransitionInfo.PiecewiseLinearFormulation travel_start_dependent_travel
SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__RouteDimensionTravelInfo__TransitionInfo_t transition_info
SWIGTYPE_p_std__vectorT_std__dequeT_int_t_t vehicles_per_vehicle_class
SWIGTYPE_p_std__vectorT_std__setT_operations_research__RoutingModel__VehicleTypeContainer__VehicleClassEntry_t_t sorted_vehicle_classes_per_type
IntVar ResourceVar(int vehicle, int resource_group)
static readonly int ROUTING_PARTIAL_SUCCESS_LOCAL_OPTIMUM_NOT_REACHED
void SetAmortizedCostFactorsOfVehicle(long linear_cost_factor, long quadratic_cost_factor, int vehicle)
bool HasLocalCumulOptimizer(RoutingDimension dimension)
RoutingDimension GetDimensionOrDie(string dimension_name)
static readonly int PICKUP_AND_DELIVERY_NO_ORDER
PickupAndDeliveryPolicy.
Assignment RestoreAssignment(Assignment solution)
string DebugOutputAssignment(Assignment solution_assignment, string dimension_to_print)
void SetPrimaryConstrainedDimension(string dimension_name)
void SetPickupAndDeliveryPolicyOfVehicle(int policy, int vehicle)
RoutingModel.NodeNeighborsByCostClass GetOrCreateNodeNeighborsByCostClass(double neighbors_ratio, long min_neighbors, SWIGTYPE_p_double neighbors_ratio_used, bool add_vehicle_starts_to_neighbors)
long GetArcCostForClass(long from_index, long to_index, long cost_class_index)
bool ApplyLocksToAllVehicles(long[][] locks, bool close_routes)
SWIGTYPE_p_absl__flat_hash_setT_int_t GetTemporalTypeIncompatibilitiesOfType(int type)
void SetAllowedVehiclesForIndex(int[] vehicles, long index)
bool AddDimension(int evaluator_index, long slack_max, long capacity, bool fix_start_cumul_to_zero, string name)
void AddWeightedVariableTargetToFinalizer(IntVar var, long target, long cost)
bool AddDimensionWithVehicleTransits(int[] evaluator_indices, long slack_max, long capacity, bool fix_start_cumul_to_zero, string name)
Assignment CompactAssignment(Assignment assignment)
void AddIntervalToAssignment(IntervalVar interval)
bool IsVehicleUsed(Assignment assignment, int vehicle)
void AddVariableTargetToFinalizer(IntVar var, long target)
void SetFixedCostOfVehicle(long cost, int vehicle)
RoutingDimension GetMutableDimension(string dimension_name)
void SetVisitType(long index, int type, int type_policy)
void AssignmentToRoutes(Assignment assignment, long[][] routes)
void SetPathEnergyCostOfVehicle(string force, string distance, long unit_cost, int vehicle)
bool HasGlobalCumulOptimizer(RoutingDimension dimension)
bool ArcIsMoreConstrainedThanArc(long from, long to1, long to2)
void AddTemporalTypeIncompatibility(int type1, int type2)
Assignment SolveWithIteratedLocalSearch(Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters)
void AddWeightedVariableMinimizedByFinalizer(IntVar var, long cost)
SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_const_p_t GetDimensionsWithGlobalCumulOptimizers()
IntVarVector ResourceVars(int resource_group)
void AddPickupAndDelivery(long pickup, long delivery)
SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t GetRequiredTypeAlternativesWhenAddingType(int type)
long GetHomogeneousCost(long from_index, long to_index)
bool AddDimensionWithVehicleTransitAndCapacity(int[] evaluator_indices, long slack_max, long[] vehicle_capacities, bool fix_start_cumul_to_zero, string name)
SWIGTYPE_p_operations_research__GlobalDimensionCumulOptimizer GetMutableGlobalCumulLPOptimizer(RoutingDimension dimension)
RoutingModel.ResourceGroup AddResourceGroup()
static readonly int TYPE_ADDED_TO_VEHICLE
VisitTypePolicy.
long GetNumberOfDecisionsInFirstSolution(Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters)
long GetArcCostForVehicle(long from_index, long to_index, long vehicle)
static readonly int kTransitEvaluatorSignUnknown
TransitEvaluatorSign.
Assignment SolveWithParameters(Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters)
void AddSearchMonitor(SearchMonitor monitor)
int GetDimensionResourceGroupIndex(RoutingDimension dimension)
void SetFirstSolutionEvaluator(LongLongToLong evaluator)
void AddHardTypeIncompatibility(int type1, int type2)
void AddPickupAndDeliverySets(int pickup_disjunction, int delivery_disjunction)
void AddLocalSearchOperator(LocalSearchOperator ls_operator)
void SetArcCostEvaluatorOfVehicle(int evaluator_index, int vehicle)
long UnperformedPenaltyOrValue(long default_value, long var_index)
SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__PickupDeliveryPosition_t GetDeliveryPositions(long node_index)
void SetAmortizedCostFactorsOfAllVehicles(long linear_cost_factor, long quadratic_cost_factor)
void AddLocalSearchFilter(LocalSearchFilter filter)
bool HasDimension(string dimension_name)
bool AreRoutesInterdependent(SWIGTYPE_p_operations_research__RoutingSearchParameters parameters)
SWIGTYPE_p_std__atomicT_bool_t GetMutableCPSatInterrupt()
SWIGTYPE_p_std__atomicT_bool_t GetMutableCPInterrupt()
Assignment SolveFromAssignmentsWithParameters(SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t assignments, Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters, SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t solutions)
void AddRequiredTypeAlternativesWhenRemovingType(int dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t required_type_alternatives)
DecisionBuilder MakeSelfDependentDimensionFinalizer(RoutingDimension dimension)
SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t GetSameVehicleRequiredTypeAlternativesOfType(int type)
SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__PickupDeliveryPosition_t GetPickupPositions(long node_index)
int RegisterTransitCallback(LongLongToLong callback, int sign)
void SetArcCostEvaluatorOfAllVehicles(int evaluator_index)
SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_const_p_t GetDimensionsWithLocalCumulOptimizers()
void AddRequiredTypeAlternativesWhenAddingType(int dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t required_type_alternatives)
bool AddDimensionWithVehicleCapacity(int evaluator_index, long slack_max, long[] vehicle_capacities, bool fix_start_cumul_to_zero, string name)
DecisionBuilder MakeGuidedSlackFinalizer(RoutingDimension dimension, LongToLong initializer)
void AddWeightedVariableMaximizedByFinalizer(IntVar var, long cost)
long GetArcCostForFirstSolution(long from_index, long to_index)
Assignment SolveFromAssignmentWithParameters(Assignment assignment, Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters)
int AddDisjunction(long[] indices, long penalty, long max_cardinality)
void UpdateTimeLimit(SWIGTYPE_p_absl__Duration time_limit)
Assignment ReadAssignmentFromRoutes(long[][] routes, bool ignore_inactive_indices)
Assignment FastSolveFromAssignmentWithParameters(Assignment assignment, Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters, bool check_solution_in_cp, SWIGTYPE_p_absl__flat_hash_setT_operations_research__IntVar_p_t touched)
bool RoutesToAssignment(long[][] routes, bool ignore_inactive_indices, bool close_routes, Assignment assignment)
IntBoolPair AddConstantDimensionWithSlack(long value, long capacity, long slack_max, bool fix_start_cumul_to_zero, string name)
int[] GetDimensionResourceGroupIndices(RoutingDimension dimension)
static readonly int ROUTING_NOT_SOLVED
Status.
bool IsVehicleAllowedForIndex(int vehicle, long index)
SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_p_t GetUnaryDimensions()
void AddSoftSameVehicleConstraint(long[] indices, long cost)
long GetNumberOfRejectsInFirstSolution(Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters)
void SetMaximumNumberOfActiveVehicles(int max_active_vehicles)
bool HasVehicleWithCostClassIndex(int cost_class_index)
void SetVehicleUsedWhenEmpty(bool is_used, int vehicle)
SWIGTYPE_p_operations_research__LocalDimensionCumulOptimizer GetMutableLocalCumulLPOptimizer(RoutingDimension dimension)
IntBoolPair AddVectorDimension(long[] values, long capacity, bool fix_start_cumul_to_zero, string name)
SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__RoutingModel__ResourceGroup_t_t GetResourceGroups()
SWIGTYPE_p_operations_research__GlobalDimensionCumulOptimizer GetMutableGlobalCumulMPOptimizer(RoutingDimension dimension)
SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t GetRequiredTypeAlternativesWhenRemovingType(int type)
void CloseModelWithParameters(Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters)
long Next(Assignment assignment, long index)
void SetAssignmentFromOtherModelAssignment(Assignment target_assignment, RoutingModel source_model, Assignment source_assignment)
IntBoolPair AddConstantDimension(long value, long capacity, bool fix_start_cumul_to_zero, string name)
void AddAtSolutionCallback(VoidToVoid callback, bool track_unchecked_neighbors)
Assignment CompactAndCheckAssignment(Assignment assignment)
Assignment ReadAssignment(string file_name)
RoutingModel.VehicleTypeContainer GetVehicleTypeContainer()
int RegisterUnaryTransitCallback(LongToLong callback, int sign)
bool CheckIfAssignmentIsFeasible(Assignment assignment, bool call_at_solution_monitors)
static readonly int TYPE_SIMULTANEOUSLY_ADDED_AND_REMOVED
RoutingModel.ResourceGroup GetResourceGroup(int rg_index)
IntBoolPair AddMatrixDimension(long[][] values, long capacity, bool fix_start_cumul_to_zero, string name)
Parameters defining the search used to solve vehicle routing problems.
static global::System.IntPtr RoutingModel_ResourceGroup_GetResourcesMarkedAllowedForVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static string RoutingModel_GetPrimaryConstrainedDimension(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_SolveFromAssignmentsWithParameters__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int search_parameters_size, byte[] jarg3)
static bool RoutingModel_ResourceGroup_IsResourceAllowedForVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static int RoutingModel_Nodes(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_PickupDeliveryPosition_pd_pair_index_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static int RoutingModel_PickupDeliveryPosition_pd_pair_index_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_SetPickupAndDeliveryPolicyOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static long RoutingModel_GetNumberOfRejectsInFirstSolution(global::System.Runtime.InteropServices.HandleRef jarg1, int search_parameters_size, byte[] jarg2)
static global::System.IntPtr RoutingModel_ResourceVar(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static long RoutingModel_RouteDimensionTravelInfo_TransitionInfo_post_travel_transit_value_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_AddPickupAndDeliverySets(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void RoutingModel_RouteDimensionTravelInfo_transition_info_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_GetAmortizedLinearCostFactorOfVehicles(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_ActiveVehicleVar(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_GetSameVehicleIndicesOfIndex(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void RoutingModel_AddWeightedVariableMinimizedByFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, long jarg3)
static void RoutingModel_SetPathEnergyCostOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, long jarg4, int jarg5)
static int RoutingModel_GetNonZeroCostClassesCount(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_GetDeliveryPositions(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void RoutingModel_AddVariableTargetToFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, long jarg3)
static void RoutingModel_RouteDimensionTravelInfo_TransitionInfo_PiecewiseLinearFormulation_x_anchors_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_Nexts(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_RouteDimensionTravelInfo_travel_cost_coefficient_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void delete_RoutingModel_VehicleTypeContainer_VehicleClassEntry(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_VehicleTypeContainer_vehicles_per_vehicle_class_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_GetPathsMetadata(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_ResourceGroup_GetResourceClassIndex(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static long RoutingModel_UnperformedPenaltyOrValue(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3)
static int RoutingModel_VariableValuePair_var_index_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_RouteDimensionTravelInfo_TransitionInfo_travel_start_dependent_travel_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_AddDimensionWithVehicleTransitAndCapacity(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, int[] jarg2, long jarg3, int length4, long[] jarg4, bool jarg5, string jarg6)
static void RoutingModel_AddAtSolutionCallback__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, VoidToVoid jarg2)
static void RoutingModel_SetVisitType(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, int jarg3, int jarg4)
static global::System.IntPtr RoutingModel_AddConstantDimensionWithSlack(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3, long jarg4, bool jarg5, string jarg6)
static global::System.IntPtr RoutingModel_ResourceGroup_GetResourceIndicesInClass(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void RoutingModel_AddRequiredTypeAlternativesWhenAddingType(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static int RoutingModel_GetVehicleOfClass(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_VehicleVars(global::System.Runtime.InteropServices.HandleRef jarg1)
static long RoutingModel_GetFixedCostOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_GetMutableLocalCumulLPOptimizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static long RoutingModel_GetDisjunctionMaxCardinality(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_solver(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_CloseVisitTypes(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_RouteDimensionTravelInfo_TransitionInfo_PiecewiseLinearFormulation_x_anchors_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_IgnoreDisjunctionsAlreadyForcedToZero(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_NodeNeighborsByCostClass_ComputeNeighbors(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3, bool jarg4)
static int RoutingModel_GetPickupAndDeliveryPolicyOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_GetPickupPositions(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static global::System.IntPtr RoutingModel_ReadAssignmentFromRoutes(global::System.Runtime.InteropServices.HandleRef jarg1, int len2_1, int[] len2_2, long[] jarg2, bool jarg3)
static global::System.IntPtr RoutingModel_GetSingleNodesOfType(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_ResourceVars(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void RoutingModel_SetPickupAndDeliveryPolicyOfAllVehicles(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void RoutingModel_AddSoftSameVehicleConstraint(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2, long jarg3)
static global::System.IntPtr RoutingModel_RestoreAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static bool RoutingModel_HasGlobalCumulOptimizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_FastSolveFromAssignmentWithParameters__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int search_parameters_size, byte[] jarg3, bool jarg4)
static void RoutingModel_AddWeightedVariableTargetToFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, long jarg3, long jarg4)
static void RoutingModel_AddLocalSearchFilter(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void RoutingModel_SetAssignmentFromOtherModelAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4)
static global::System.IntPtr RoutingModel_FastSolveFromAssignmentWithParameters__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int search_parameters_size, byte[] jarg3, bool jarg4, global::System.Runtime.InteropServices.HandleRef jarg5)
static global::System.IntPtr RoutingModel_SolveFromAssignmentsWithParameters__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int search_parameters_size, byte[] jarg3, global::System.Runtime.InteropServices.HandleRef jarg4)
static void delete_RoutingModel_NodeNeighborsByCostClass(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_Vehicles(global::System.Runtime.InteropServices.HandleRef jarg1)
static long RoutingModel_Start(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void RoutingModel_SetAmortizedCostFactorsOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3, int jarg4)
static bool RoutingModel_HasDimension(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
static global::System.IntPtr RoutingModel_MakeSelfDependentDimensionFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static long RoutingModel_GetArcCostForClass(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3, long jarg4)
static void delete_RoutingModel_PickupDeliveryPosition(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_HasMaxCardinalityConstrainedDisjunctions(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_AddDisjunction__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2, long jarg3)
static long RoutingModel_VehicleTypeContainer_VehicleClassEntry_fixed_cost_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_GetCostClassIndexOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static int RoutingModel_VehicleTypeContainer_Type(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static int RoutingModel_VehicleTypeContainer_VehicleClassEntry_vehicle_class_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_RegisterUnaryTransitVector(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2)
static void RoutingModel_AddTemporalTypeIncompatibility(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static global::System.IntPtr RoutingModel_GetMutableCPInterrupt(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_GetOrCreateNodeNeighborsByCostClass__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, bool jarg3)
static global::System.IntPtr RoutingModel_GetRequiredTypeAlternativesWhenRemovingType(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static bool RoutingModel_HasMandatoryDisjunctions(global::System.Runtime.InteropServices.HandleRef jarg1)
static long RoutingModel_GetArcCostForVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3, long jarg4)
static global::System.IntPtr RoutingModel_VehicleRouteConsideredVar(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static bool RoutingModel_IsPickup(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static global::System.IntPtr RoutingModel_ResourceGroup_Resource_GetDimensionAttributes(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static long RoutingModel_GetDepot(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_GetOrCreateNodeNeighborsByCostClass__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, double jarg2, long jarg3, global::System.Runtime.InteropServices.HandleRef jarg4)
static bool RoutingModel_IsEnd(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void RoutingModel_CancelSearch(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_SetFixedCostOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, int jarg3)
static void RoutingModel_VehicleTypeContainer_VehicleClassEntry_vehicle_class_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static int RoutingModel_GetCostClassesCount(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_AddDimensionWithVehicleTransits(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, int[] jarg2, long jarg3, long jarg4, bool jarg5, string jarg6)
static global::System.IntPtr RoutingModel_GetMutableCPSatInterrupt(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_SolveWithIteratedLocalSearch(global::System.Runtime.InteropServices.HandleRef jarg1, int search_parameters_size, byte[] jarg2)
static global::System.IntPtr RoutingModel_ResourceGroup_GetAffectedDimensionIndices(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_TimeBuffer(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_AddDisjunction__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2, long jarg3, long jarg4)
static void RoutingModel_SetFirstSolutionEvaluator(global::System.Runtime.InteropServices.HandleRef jarg1, LongLongToLong jarg2)
static bool RoutingModel_HasLocalCumulOptimizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void RoutingModel_SetAmortizedCostFactorsOfAllVehicles(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3)
static bool RoutingModel_CostsAreHomogeneousAcrossVehicles(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_IsDelivery(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static bool RoutingModel_WriteAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
static bool RoutingModel_ApplyLocksToAllVehicles(global::System.Runtime.InteropServices.HandleRef jarg1, int len2_1, int[] len2_2, long[] jarg2, bool jarg3)
static void RoutingModel_SetPrimaryConstrainedDimension(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
static string RoutingModel_RouteDimensionTravelInfo_TransitionInfo_ToString__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_RegisterUnaryTransitCallback__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, LongToLong jarg2, int jarg3)
static string RoutingModel_RouteDimensionTravelInfo_TransitionInfo_PiecewiseLinearFormulation_ToString__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
static global::System.IntPtr RoutingModel_GetMutableDimension(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
static void delete_RoutingModel_ResourceGroup_Resource(global::System.Runtime.InteropServices.HandleRef jarg1)
static long RoutingModel_GetArcCostForFirstSolution(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3)
static global::System.IntPtr RoutingModel_SolveWithParameters(global::System.Runtime.InteropServices.HandleRef jarg1, int search_parameters_size, byte[] jarg2)
static string RoutingModel_RouteDimensionTravelInfo_TransitionInfo_ToString__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
static bool RoutingModel_AddDimension(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, long jarg3, long jarg4, bool jarg5, string jarg6)
static bool RoutingModel_EnableDeepSerialization(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_AddDisjunction__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2)
static int RoutingModel_GetMaximumNumberOfActiveVehicles(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_GetMutableGlobalCumulLPOptimizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void RoutingModel_AddVariableMaximizedByFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void RoutingModel_AddIntervalToAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_GetMutableGlobalCumulMPOptimizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_VehicleTypeContainer_vehicles_per_vehicle_class_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_ReadAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
static global::System.IntPtr RoutingModel_GetDimensionsWithGlobalCumulOptimizers(global::System.Runtime.InteropServices.HandleRef jarg1)
static void delete_RoutingModel_RouteDimensionTravelInfo_TransitionInfo(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_ResourceGroup_ClearAllowedResourcesForVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void RoutingModel_AddRequiredTypeAlternativesWhenRemovingType(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static void delete_RoutingModel_ResourceGroup(global::System.Runtime.InteropServices.HandleRef jarg1)
static string RoutingModel_RouteDimensionTravelInfo_ToString__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1)
static string RoutingModel_RouteDimensionTravelInfo_TransitionInfo_PiecewiseLinearFormulation_ToString__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_RouteDimensionTravelInfo_TransitionInfo_travel_start_dependent_travel_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_GetTemporalTypeIncompatibilitiesOfType(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void RoutingModel_AddAtSolutionCallback__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, VoidToVoid jarg2, bool jarg3)
static bool RoutingModel_SecondaryOptimizer_Solve(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static long RoutingModel_RouteDimensionTravelInfo_TransitionInfo_compressed_travel_value_lower_bound_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_IsMatchingModel(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_HasHardTypeIncompatibilities(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_RegisterTransitCallback__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, LongLongToLong jarg2, int jarg3)
static int RoutingModel_RegisterUnaryTransitCallback__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, LongToLong jarg2)
static long RoutingModel_RouteDimensionTravelInfo_travel_cost_coefficient_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static long RoutingModel_GetNumberOfDecisionsInFirstSolution(global::System.Runtime.InteropServices.HandleRef jarg1, int search_parameters_size, byte[] jarg2)
static void RoutingModel_AddToAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_RouteDimensionTravelInfo_TransitionInfo_PiecewiseLinearFormulation_y_anchors_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_SetArcCostEvaluatorOfAllVehicles(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static bool RoutingModel_HasTemporalTypeIncompatibilities(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_AreRoutesInterdependent(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void RoutingModel_RouteDimensionTravelInfo_TransitionInfo_post_travel_transit_value_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static int RoutingModel_ResourceGroup_Size(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_ResourceGroup_Attributes_StartDomain(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_GetStatus(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_HasTemporalTypeRequirements(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_AddVectorDimension(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2, long jarg3, bool jarg4, string jarg5)
static bool RoutingModel_CheckLimit__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static int RoutingModel_RegisterTransitCallback__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, LongLongToLong jarg2)
static void RoutingModel_SetArcCostEvaluatorOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void RoutingModel_RouteDimensionTravelInfo_TransitionInfo_PiecewiseLinearFormulation_y_anchors_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_RouteDimensionTravelInfo_TransitionInfo_travel_compression_cost_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_RouteDimensionTravelInfo_TransitionInfo_travel_compression_cost_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static int RoutingModel_VehicleIndex(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static long RoutingModel_ComputeLowerBound(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_AddVariableMinimizedByFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static long RoutingModel_Size(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_AddResourceGroup(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_GetDimensionOrDie(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
static global::System.IntPtr RoutingModel_ResourceGroup_GetResource(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void delete_RoutingModel_VariableValuePair(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_CompactAndCheckAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static long RoutingModel_Next(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, long jarg3)
static void RoutingModel_RouteDimensionTravelInfo_TransitionInfo_travel_value_upper_bound_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static global::System.IntPtr RoutingModel_AddConstantDimension(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3, bool jarg4, string jarg5)
static long RoutingModel_End(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static bool RoutingModel_IsVehicleUsed(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3)
static global::System.IntPtr RoutingModel_GetDisjunctionIndices(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void RoutingModel_ResourceGroup_SetAllowedResourcesForVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int length3, int[] jarg3)
static int RoutingModel_GetNumberOfVisitTypes(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_SetFixedCostOfAllVehicles(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void delete_RoutingModel_RouteDimensionTravelInfo_TransitionInfo_PiecewiseLinearFormulation(global::System.Runtime.InteropServices.HandleRef jarg1)
static void delete_RoutingModel(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_CloseModel(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_ResourceGroup_GetResourceClassesCount(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_AddLocalSearchOperator(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_MakeGuidedSlackFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, LongToLong jarg3)
static int RoutingModel_GetNumOfSingletonNodes(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_CompactAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void RoutingModel_VariableValuePair_var_index_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static bool RoutingModel_IsVehicleUsedWhenEmpty(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_ApplyLocks(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2)
static global::System.IntPtr RoutingModel_GetDimensionsWithLocalCumulOptimizers(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_PickupDeliveryPosition_alternative_index_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_GetRequiredTypeAlternativesWhenAddingType(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static bool RoutingModel_IsVehicleAllowedForIndex(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, long jarg3)
static void RoutingModel_AddHardTypeIncompatibility(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static global::System.IntPtr RoutingModel_GetSameVehicleRequiredTypeAlternativesOfType(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void RoutingModel_AssignmentToRoutes(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int len3_1, int[] len3_2, long[] jarg3)
static void delete_RoutingModel_SecondaryOptimizer(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_SolveFromAssignmentWithParameters(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int search_parameters_size, byte[] jarg3)
static bool RoutingModel_IsStart(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static bool RoutingModel_ArcIsMoreConstrainedThanArc(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3, long jarg4)
static global::System.IntPtr RoutingModel_ActiveVar(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void RoutingModel_PickupDeliveryPosition_alternative_index_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static long RoutingModel_UnperformedPenalty(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static int RoutingModel_ResourceGroup_AddResource(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static string RoutingModel_DebugOutputAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3)
static global::System.IntPtr RoutingModel_Solve__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_GetVisitType(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void RoutingModel_RouteDimensionTravelInfo_TransitionInfo_compressed_travel_value_lower_bound_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static global::System.IntPtr RoutingModel_ResourceGroup_GetVehiclesRequiringAResource(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_GetNumberOfDisjunctions(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_VehicleTypeContainer_sorted_vehicle_classes_per_type_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_SetMaximumNumberOfActiveVehicles(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_ResourceGroup_Attributes_EndDomain(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_VehicleTypeContainer_type_index_of_vehicle_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static bool RoutingModel_ResourceGroup_VehicleRequiresAResource(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_GetDimensionResourceGroupIndices(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static bool RoutingModel_HasSameVehicleTypeRequirements(global::System.Runtime.InteropServices.HandleRef jarg1)
static long RoutingModel_ObjectiveLowerBound(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_SetAllowedVehiclesForIndex(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, int[] jarg2, long jarg3)
static void RoutingModel_VariableValuePair_value_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static global::System.IntPtr RoutingModel_NextVar(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static long RoutingModel_RouteDimensionTravelInfo_TransitionInfo_pre_travel_transit_value_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_CheckLimit__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_UpdateTimeLimit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_NodeNeighborsByCostClass_GetNeighborsOfNodeForCostClass(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static global::System.IntPtr RoutingModel_RouteDimensionTravelInfo_transition_info_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_ResourceGroup_GetResourceIndicesPerClass(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_ResourceGroup_NotifyVehicleRequiresAResource(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_PreAssignment(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_Solve__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_ResourceGroup_GetResources(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_GetVehicleClassesCount(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_GetUnaryDimensions(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_VehicleVar(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static bool RoutingModel_AddDimensionWithVehicleCapacity(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, long jarg3, int length4, long[] jarg4, bool jarg5, string jarg6)
static void RoutingModel_AddPickupAndDelivery(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3)
static int RoutingModel_RegisterTransitMatrix(global::System.Runtime.InteropServices.HandleRef jarg1, int len2_1, int[] len2_2, long[] jarg2)
static global::System.IntPtr RoutingModel_MutablePreAssignment(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_VehicleTypeContainer_NumTypes(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_GetOrCreateNodeNeighborsByCostClass__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_AddMatrixDimension(global::System.Runtime.InteropServices.HandleRef jarg1, int len2_1, int[] len2_2, long[] jarg2, long jarg3, bool jarg4, string jarg5)
static global::System.IntPtr RoutingModel_CostVar(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_GetResourceGroups(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_HasVehicleWithCostClassIndex(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void delete_RoutingModel_VehicleTypeContainer(global::System.Runtime.InteropServices.HandleRef jarg1)
static long RoutingModel_RouteDimensionTravelInfo_TransitionInfo_travel_value_upper_bound_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_VehicleTypeContainer_VehicleClassEntry_fixed_cost_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static int RoutingModel_GetVehicleClassIndexOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void delete_RoutingModel_RouteDimensionTravelInfo(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_VehicleTypeContainer_type_index_of_vehicle_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_CloseModelWithParameters(global::System.Runtime.InteropServices.HandleRef jarg1, int search_parameters_size, byte[] jarg2)
static void delete_RoutingModel_ResourceGroup_Attributes(global::System.Runtime.InteropServices.HandleRef jarg1)
static long RoutingModel_GetHomogeneousCost(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3)
static void RoutingModel_AddSearchMonitor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void RoutingModel_AddWeightedVariableMaximizedByFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, long jarg3)
static int RoutingModel_ResourceGroup_Index(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_RouteDimensionTravelInfo_TransitionInfo_pre_travel_transit_value_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void RoutingModel_VehicleTypeContainer_sorted_vehicle_classes_per_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_GetResourceGroup(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static long RoutingModel_VariableValuePair_value_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_RoutesToAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, int len2_1, int[] len2_2, long[] jarg2, bool jarg3, bool jarg4, global::System.Runtime.InteropServices.HandleRef jarg5)
static bool RoutingModel_CheckIfAssignmentIsFeasible(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, bool jarg3)
static int ProtoToByteArray(IMessage message, out byte[] buffer)
delegate long LongLongToLong(long t, long u)
Used to wrap IndexEvaluator2 (std::function<int64_t(int64_t, int64_t)>)
delegate long LongToLong(long t)
Used to wrap IndexEvaluator1 (std::function<int64_t(int64_t)>)
delegate void VoidToVoid()
Used to wrap Closure (std::function<void()>)