RoutingModel.cs
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 // <auto-generated />
3 //
4 // This file was automatically generated by SWIG (http://www.swig.org).
5 // Version 4.0.0
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 
13 using System;
14 using System.Runtime.InteropServices;
15 using System.Collections;
16 using System.Collections.Generic;
17 
18 public partial class RoutingModel : global::System.IDisposable {
19  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
20  protected bool swigCMemOwn;
21 
22  internal RoutingModel(global::System.IntPtr cPtr, bool cMemoryOwn) {
23  swigCMemOwn = cMemoryOwn;
24  swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
25  }
26 
27  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RoutingModel obj) {
28  return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
29  }
30 
31  ~RoutingModel() {
32  Dispose(false);
33  }
34 
35  public void Dispose() {
36  Dispose(true);
37  global::System.GC.SuppressFinalize(this);
38  }
39 
40  protected virtual void Dispose(bool disposing) {
41  lock(this) {
42  if (swigCPtr.Handle != global::System.IntPtr.Zero) {
43  if (swigCMemOwn) {
44  swigCMemOwn = false;
46  }
47  swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
48  }
49  }
50  }
51 
52  // Keep reference to delegate to avoid GC to collect them early.
53  private List<LongToLong> unaryTransitCallbacks;
54  private LongToLong StoreLongToLong(LongToLong c) {
55  if (unaryTransitCallbacks == null)
56  unaryTransitCallbacks = new List<LongToLong>();
57  unaryTransitCallbacks.Add(c);
58  return c;
59  }
60 
61  private List<LongLongToLong> transitCallbacks;
62  private LongLongToLong StoreLongLongToLong(LongLongToLong c) {
63  if (transitCallbacks == null)
64  transitCallbacks = new List<LongLongToLong>();
65  transitCallbacks.Add(c);
66  return c;
67  }
68 
69  private List<VoidToVoid> solutionCallbacks;
70  private VoidToVoid StoreVoidToVoid(VoidToVoid c) {
71  if (solutionCallbacks == null)
72  solutionCallbacks = new List<VoidToVoid>();
73  solutionCallbacks.Add(c);
74  return c;
75  }
76 
77  public static long kNoPenalty {
78  get {
80  return ret;
81  }
82  }
83 
84  public static int kNoDisjunction {
85  get {
87  }
88 
89  }
90 
91  public static int kNoDimension {
92  get {
94  }
95 
96  }
97 
98  public RoutingModel(RoutingIndexManager index_manager) : this(operations_research_constraint_solverPINVOKE.new_RoutingModel__SWIG_0(RoutingIndexManager.getCPtr(index_manager)), true) {
100  }
101 
102  public RoutingModel(RoutingIndexManager index_manager, Google.OrTools.ConstraintSolver.RoutingModelParameters parameters) : this(operations_research_constraint_solverPINVOKE.new_RoutingModel__SWIG_1(RoutingIndexManager.getCPtr(index_manager), parameters.CalculateSize(), ProtoHelper.ProtoToByteArray(parameters)), true) {
104  }
105 
106  public int RegisterUnaryTransitCallback( LongToLong callback) {
107  int ret = operations_research_constraint_solverPINVOKE.RoutingModel_RegisterUnaryTransitCallback(swigCPtr, StoreLongToLong(callback) );
108  return ret;
109  }
110 
111  public int RegisterTransitCallback( LongLongToLong callback) {
112  int ret = operations_research_constraint_solverPINVOKE.RoutingModel_RegisterTransitCallback(swigCPtr, StoreLongLongToLong(callback) );
113  return ret;
114  }
115 
117  int ret = operations_research_constraint_solverPINVOKE.RoutingModel_RegisterPositiveTransitCallback(swigCPtr, StoreLongLongToLong(callback) );
118  return ret;
119  }
120 
121  public bool AddDimension(int evaluator_index, long slack_max, long capacity, bool fix_start_cumul_to_zero, string name) {
122  bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_AddDimension(swigCPtr, evaluator_index, slack_max, capacity, fix_start_cumul_to_zero, name);
124  return ret;
125  }
126 
127  public bool AddDimensionWithVehicleTransits( int[] evaluator_indices, long slack_max, long capacity, bool fix_start_cumul_to_zero, string name) {
128  bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_AddDimensionWithVehicleTransits(swigCPtr, evaluator_indices.Length, evaluator_indices , slack_max, capacity, fix_start_cumul_to_zero, name);
130  return ret;
131  }
132 
133  public bool AddDimensionWithVehicleCapacity(int evaluator_index, long slack_max, long[] vehicle_capacities, bool fix_start_cumul_to_zero, string name) {
134  bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_AddDimensionWithVehicleCapacity(swigCPtr, evaluator_index, slack_max, vehicle_capacities.Length, vehicle_capacities , fix_start_cumul_to_zero, name);
136  return ret;
137  }
138 
139  public bool AddDimensionWithVehicleTransitAndCapacity( int[] evaluator_indices, long slack_max, long[] vehicle_capacities, bool fix_start_cumul_to_zero, string name) {
140  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);
142  return ret;
143  }
144 
145  public bool AddConstantDimensionWithSlack(long value, long capacity, long slack_max, bool fix_start_cumul_to_zero, string name) {
146  bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_AddConstantDimensionWithSlack(swigCPtr, value, capacity, slack_max, fix_start_cumul_to_zero, name);
148  return ret;
149  }
150 
151  public bool AddConstantDimension(long value, long capacity, bool fix_start_cumul_to_zero, string name) {
152  bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_AddConstantDimension(swigCPtr, value, capacity, fix_start_cumul_to_zero, name);
154  return ret;
155  }
156 
157  public bool AddVectorDimension( long[] values, long capacity, bool fix_start_cumul_to_zero, string name) {
158  bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_AddVectorDimension(swigCPtr, values.Length, values , capacity, fix_start_cumul_to_zero, name);
160  return ret;
161  }
162 
164  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_MakePathSpansAndTotalSlacks(swigCPtr, RoutingDimension.getCPtr(dimension), IntVarVector.getCPtr(spans), IntVarVector.getCPtr(total_slacks));
165  Constraint ret = (cPtr == global::System.IntPtr.Zero) ? null : new Constraint(cPtr, false);
167  return ret;
168  }
169 
170  public SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_p_t GetDimensionsForGlobalCumulOptimizers() {
171  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_GetDimensionsForGlobalCumulOptimizers(swigCPtr), false);
172  return ret;
173  }
174 
175  public SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_p_t GetDimensionsForLocalCumulOptimizers() {
176  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_GetDimensionsForLocalCumulOptimizers(swigCPtr), false);
177  return ret;
178  }
179 
180  public bool HasDimension(string dimension_name) {
181  bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_HasDimension(swigCPtr, dimension_name);
183  return ret;
184  }
185 
186  public RoutingDimension GetDimensionOrDie(string dimension_name) {
189  return ret;
190  }
191 
192  public RoutingDimension GetMutableDimension(string dimension_name) {
193  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_GetMutableDimension(swigCPtr, dimension_name);
194  RoutingDimension ret = (cPtr == global::System.IntPtr.Zero) ? null : new RoutingDimension(cPtr, false);
196  return ret;
197  }
198 
199  public void SetPrimaryConstrainedDimension(string dimension_name) {
202  }
203 
206  return ret;
207  }
208 
209  public int AddDisjunction( long[] indices, long penalty, long max_cardinality) {
210  return operations_research_constraint_solverPINVOKE.RoutingModel_AddDisjunction__SWIG_0(swigCPtr, indices.Length, indices , penalty, max_cardinality);
211 }
212 
213  public int AddDisjunction( long[] indices, long penalty) {
214  return operations_research_constraint_solverPINVOKE.RoutingModel_AddDisjunction__SWIG_1(swigCPtr, indices.Length, indices , penalty);
215 }
216 
217  public int AddDisjunction( long[] indices) {
219 }
220 
221  public int[] GetDisjunctionIndices(long index) {
223  CpIntVector tmpVector = null;
224  if (cPtr != global::System.IntPtr.Zero) {
225  tmpVector = new CpIntVector(cPtr, true);
226  int[] outArray = new int[tmpVector.Count];
227  tmpVector.CopyTo(outArray);
228  return outArray;
229  }
230  return null;
231 }
232 
233  public long[] GetDisjunctionIndices(int index) {
235  CpInt64Vector tmpVector = null;
236  if (cPtr != global::System.IntPtr.Zero) {
237  tmpVector = new CpInt64Vector(cPtr, true);
238  long[] outArray = new long[tmpVector.Count];
239  tmpVector.CopyTo(outArray);
240  return outArray;
241  }
242  return null;
243 }
244 
245  public long GetDisjunctionPenalty(int index) {
247  return ret;
248  }
249 
250  public long GetDisjunctionMaxCardinality(int index) {
252  return ret;
253  }
254 
255  public int GetNumberOfDisjunctions() {
257  return ret;
258  }
259 
262  }
263 
264  public void AddSoftSameVehicleConstraint( long[] indices, long cost) {
266  }
267 
268  public void SetAllowedVehiclesForIndex( int[] vehicles, long index) {
270  }
271 
272  public bool IsVehicleAllowedForIndex(int vehicle, long index) {
274  return ret;
275  }
276 
277  public void AddPickupAndDelivery(long pickup, long delivery) {
279  }
280 
281  public void AddPickupAndDeliverySets(int pickup_disjunction, int delivery_disjunction) {
282  operations_research_constraint_solverPINVOKE.RoutingModel_AddPickupAndDeliverySets(swigCPtr, pickup_disjunction, delivery_disjunction);
283  }
284 
285  public void SetPickupAndDeliveryPolicyOfAllVehicles(int policy) {
287  }
288 
289  public void SetPickupAndDeliveryPolicyOfVehicle(int policy, int vehicle) {
291  }
292 
293  public int GetPickupAndDeliveryPolicyOfVehicle(int vehicle) {
295  return ret;
296  }
297 
298  public int GetNumOfSingletonNodes() {
300  return ret;
301  }
302 
303  public void SetVisitType(long index, int type) {
305  }
306 
307  public int GetVisitType(long index) {
309  return ret;
310  }
311 
312  public int GetNumberOfVisitTypes() {
314  return ret;
315  }
316 
317  public long UnperformedPenalty(long var_index) {
319  return ret;
320  }
321 
322  public long UnperformedPenaltyOrValue(long default_value, long var_index) {
323  long ret = operations_research_constraint_solverPINVOKE.RoutingModel_UnperformedPenaltyOrValue(swigCPtr, default_value, var_index);
324  return ret;
325  }
326 
327  public long GetDepot() {
329  return ret;
330  }
331 
332  public void SetArcCostEvaluatorOfAllVehicles(int evaluator_index) {
334  }
335 
336  public void SetArcCostEvaluatorOfVehicle(int evaluator_index, int vehicle) {
338  }
339 
340  public void SetFixedCostOfAllVehicles(long cost) {
342  }
343 
344  public void SetFixedCostOfVehicle(long cost, int vehicle) {
346  }
347 
348  public long GetFixedCostOfVehicle(int vehicle) {
350  return ret;
351  }
352 
353  public void SetAmortizedCostFactorsOfAllVehicles(long linear_cost_factor, long quadratic_cost_factor) {
354  operations_research_constraint_solverPINVOKE.RoutingModel_SetAmortizedCostFactorsOfAllVehicles(swigCPtr, linear_cost_factor, quadratic_cost_factor);
355  }
356 
357  public void SetAmortizedCostFactorsOfVehicle(long linear_cost_factor, long quadratic_cost_factor, int vehicle) {
358  operations_research_constraint_solverPINVOKE.RoutingModel_SetAmortizedCostFactorsOfVehicle(swigCPtr, linear_cost_factor, quadratic_cost_factor, vehicle);
359  }
360 
363  CpInt64Vector tmpVector = null;
364  if (cPtr != global::System.IntPtr.Zero) {
365  tmpVector = new CpInt64Vector(cPtr, true);
366  long[] outArray = new long[tmpVector.Count];
367  tmpVector.CopyTo(outArray);
368  return outArray;
369  }
370  return null;
371 }
372 
375  CpInt64Vector tmpVector = null;
376  if (cPtr != global::System.IntPtr.Zero) {
377  tmpVector = new CpInt64Vector(cPtr, true);
378  long[] outArray = new long[tmpVector.Count];
379  tmpVector.CopyTo(outArray);
380  return outArray;
381  }
382  return null;
383 }
384 
385  public void ConsiderEmptyRouteCostsForVehicle(bool consider_costs, int vehicle) {
387  }
388 
389  public bool AreEmptyRouteCostsConsideredForVehicle(int vehicle) {
391  return ret;
392  }
393 
394  public void SetFirstSolutionEvaluator( LongLongToLong evaluator) {
396  }
397 
398  public void AddLocalSearchOperator(LocalSearchOperator ls_operator) {
400  }
401 
402  public void AddSearchMonitor(SearchMonitor monitor) {
404  }
405 
406  public void AddAtSolutionCallback( VoidToVoid callback) {
408  }
409 
412  }
413 
416  }
417 
418  public void AddWeightedVariableMinimizedByFinalizer(IntVar var, long cost) {
420  }
421 
422  public void AddVariableTargetToFinalizer(IntVar var, long target) {
424  }
425 
426  public void CloseModel() {
428  }
429 
431  operations_research_constraint_solverPINVOKE.RoutingModel_CloseModelWithParameters(swigCPtr, search_parameters.CalculateSize(), ProtoHelper.ProtoToByteArray(search_parameters));
432  }
433 
434  public Assignment Solve(Assignment assignment) {
435  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_Solve__SWIG_0(swigCPtr, Assignment.getCPtr(assignment));
436  Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
437  return ret;
438  }
439 
440  public Assignment Solve() {
441  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_Solve__SWIG_1(swigCPtr);
442  Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
443  return ret;
444  }
445 
447  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_SolveWithParameters(swigCPtr, search_parameters.CalculateSize(), ProtoHelper.ProtoToByteArray(search_parameters));
448  Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
449  return ret;
450  }
451 
453  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_SolveFromAssignmentWithParameters(swigCPtr, Assignment.getCPtr(assignment), search_parameters.CalculateSize(), ProtoHelper.ProtoToByteArray(search_parameters));
454  Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
455  return ret;
456  }
457 
458  public void SetAssignmentFromOtherModelAssignment(Assignment target_assignment, RoutingModel source_model, Assignment source_assignment) {
459  operations_research_constraint_solverPINVOKE.RoutingModel_SetAssignmentFromOtherModelAssignment(swigCPtr, Assignment.getCPtr(target_assignment), RoutingModel.getCPtr(source_model), Assignment.getCPtr(source_assignment));
460  }
461 
462  public long ComputeLowerBound() {
464  return ret;
465  }
466 
467  public int GetStatus() {
469  return ret;
470  }
471 
472  public IntVar ApplyLocks( long[] locks) {
473  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_ApplyLocks(swigCPtr, locks.Length, locks );
474  IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
475  return ret;
476  }
477 
478  public bool ApplyLocksToAllVehicles( long[][] locks, bool close_routes) {
480  locks.GetLength(0),
481  NestedArrayHelper.GetArraySecondSize(locks),
482  NestedArrayHelper.GetFlatArray(locks)
483 , close_routes);
484  return ret;
485  }
486 
488  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_PreAssignment(swigCPtr);
489  Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
490  return ret;
491  }
492 
495  Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
496  return ret;
497  }
498 
499  public bool WriteAssignment(string file_name) {
502  return ret;
503  }
504 
505  public Assignment ReadAssignment(string file_name) {
506  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_ReadAssignment(swigCPtr, file_name);
507  Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
509  return ret;
510  }
511 
513  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_RestoreAssignment(swigCPtr, Assignment.getCPtr(solution));
514  Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
516  return ret;
517  }
518 
519  public Assignment ReadAssignmentFromRoutes( long[][] routes, bool ignore_inactive_indices) {
521  routes.GetLength(0),
522  NestedArrayHelper.GetArraySecondSize(routes),
523  NestedArrayHelper.GetFlatArray(routes)
524 , ignore_inactive_indices);
525  Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
526  return ret;
527  }
528 
529  public bool RoutesToAssignment( long[][] routes, bool ignore_inactive_indices, bool close_routes, Assignment assignment) {
531  routes.GetLength(0),
532  NestedArrayHelper.GetArraySecondSize(routes),
533  NestedArrayHelper.GetFlatArray(routes)
534 , ignore_inactive_indices, close_routes, Assignment.getCPtr(assignment));
535  return ret;
536  }
537 
538  public void AssignmentToRoutes(Assignment assignment, long[][] routes) {
540  routes.GetLength(0),
541  NestedArrayHelper.GetArraySecondSize(routes),
542  NestedArrayHelper.GetFlatArray(routes)
543 );
545  }
546 
548  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_CompactAssignment(swigCPtr, Assignment.getCPtr(assignment));
549  Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
551  return ret;
552  }
553 
555  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_CompactAndCheckAssignment(swigCPtr, Assignment.getCPtr(assignment));
556  Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
558  return ret;
559  }
560 
561  public void AddToAssignment(IntVar var) {
563  }
564 
565  public void AddIntervalToAssignment(IntervalVar interval) {
567  }
568 
569  public Assignment PackCumulsOfOptimizerDimensionsFromAssignment(Assignment original_assignment, SWIGTYPE_p_absl__Duration duration_limit) {
570  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_PackCumulsOfOptimizerDimensionsFromAssignment(swigCPtr, Assignment.getCPtr(original_assignment), SWIGTYPE_p_absl__Duration.getCPtr(duration_limit));
571  Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
573  return ret;
574  }
575 
578  }
579 
580  public long Start(int vehicle) {
582  return ret;
583  }
584 
585  public long End(int vehicle) {
587  return ret;
588  }
589 
590  public bool IsStart(long index) {
592  return ret;
593  }
594 
595  public bool IsEnd(long index) {
597  return ret;
598  }
599 
600  public int VehicleIndex(int index) {
602  return ret;
603  }
604 
605  public long Next(Assignment assignment, long index) {
606  long ret = operations_research_constraint_solverPINVOKE.RoutingModel_Next(swigCPtr, Assignment.getCPtr(assignment), index);
608  return ret;
609  }
610 
611  public bool IsVehicleUsed(Assignment assignment, int vehicle) {
612  bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_IsVehicleUsed(swigCPtr, Assignment.getCPtr(assignment), vehicle);
614  return ret;
615  }
616 
617  public IntVarVector Nexts() {
619  return ret;
620  }
621 
624  return ret;
625  }
626 
627  public IntVar NextVar(long index) {
628  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_NextVar(swigCPtr, index);
629  IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
630  return ret;
631  }
632 
633  public IntVar ActiveVar(long index) {
634  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_ActiveVar(swigCPtr, index);
635  IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
636  return ret;
637  }
638 
639  public IntVar VehicleCostsConsideredVar(int vehicle) {
640  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_VehicleCostsConsideredVar(swigCPtr, vehicle);
641  IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
642  return ret;
643  }
644 
645  public IntVar VehicleVar(long index) {
646  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_VehicleVar(swigCPtr, index);
647  IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
648  return ret;
649  }
650 
651  public IntVar CostVar() {
652  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_CostVar(swigCPtr);
653  IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
654  return ret;
655  }
656 
657  public long GetArcCostForVehicle(long from_index, long to_index, long vehicle) {
658  long ret = operations_research_constraint_solverPINVOKE.RoutingModel_GetArcCostForVehicle(swigCPtr, from_index, to_index, vehicle);
659  return ret;
660  }
661 
664  return ret;
665  }
666 
667  public long GetHomogeneousCost(long from_index, long to_index) {
668  long ret = operations_research_constraint_solverPINVOKE.RoutingModel_GetHomogeneousCost(swigCPtr, from_index, to_index);
669  return ret;
670  }
671 
672  public long GetArcCostForFirstSolution(long from_index, long to_index) {
674  return ret;
675  }
676 
677  public long GetArcCostForClass(long from_index, long to_index, long cost_class_index) {
678  long ret = operations_research_constraint_solverPINVOKE.RoutingModel_GetArcCostForClass(swigCPtr, from_index, to_index, cost_class_index);
679  return ret;
680  }
681 
682  public int GetCostClassIndexOfVehicle(long vehicle) {
684 }
685 
686  public bool HasVehicleWithCostClassIndex(int cost_class_index) {
688  return ret;
689  }
690 
691  public int GetCostClassesCount() {
693  return ret;
694  }
695 
698  return ret;
699  }
700 
701  public int GetVehicleClassIndexOfVehicle(long vehicle) {
703 }
704 
705  public int GetVehicleClassesCount() {
707  return ret;
708  }
709 
710  public int[] GetSameVehicleIndicesOfIndex(int node) {
712  CpIntVector tmpVector = null;
713  if (cPtr != global::System.IntPtr.Zero) {
714  tmpVector = new CpIntVector(cPtr, true);
715  int[] outArray = new int[tmpVector.Count];
716  tmpVector.CopyTo(outArray);
717  return outArray;
718  }
719  return null;
720 }
721 
722  public bool ArcIsMoreConstrainedThanArc(long from, long to1, long to2) {
724  return ret;
725  }
726 
727  public string DebugOutputAssignment(Assignment solution_assignment, string dimension_to_print) {
728  string ret = operations_research_constraint_solverPINVOKE.RoutingModel_DebugOutputAssignment(swigCPtr, Assignment.getCPtr(solution_assignment), dimension_to_print);
730  return ret;
731  }
732 
733  public Solver solver() {
734  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_solver(swigCPtr);
735  Solver ret = (cPtr == global::System.IntPtr.Zero) ? null : new Solver(cPtr, false);
736  return ret;
737  }
738 
739  public bool CheckLimit() {
741  return ret;
742  }
743 
744  public SWIGTYPE_p_absl__Duration RemainingTime() {
745  SWIGTYPE_p_absl__Duration ret = new SWIGTYPE_p_absl__Duration(operations_research_constraint_solverPINVOKE.RoutingModel_RemainingTime(swigCPtr), true);
746  return ret;
747  }
748 
749  public int Nodes() {
751  return ret;
752  }
753 
754  public int Vehicles() {
756  return ret;
757  }
758 
759  public long Size() {
761  return ret;
762  }
763 
765  long ret = operations_research_constraint_solverPINVOKE.RoutingModel_GetNumberOfDecisionsInFirstSolution(swigCPtr, search_parameters.CalculateSize(), ProtoHelper.ProtoToByteArray(search_parameters));
766  return ret;
767  }
768 
770  long ret = operations_research_constraint_solverPINVOKE.RoutingModel_GetNumberOfRejectsInFirstSolution(swigCPtr, search_parameters.CalculateSize(), ProtoHelper.ProtoToByteArray(search_parameters));
771  return ret;
772  }
773 
774  public bool IsMatchingModel() {
776  return ret;
777  }
778 
780  global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_MakeGuidedSlackFinalizer(swigCPtr, RoutingDimension.getCPtr(dimension), StoreLongToLong(initializer) );
781  DecisionBuilder ret = (cPtr == global::System.IntPtr.Zero) ? null : new DecisionBuilder(cPtr, false);
782  return ret;
783  }
784 
787  DecisionBuilder ret = (cPtr == global::System.IntPtr.Zero) ? null : new DecisionBuilder(cPtr, false);
788  return ret;
789  }
790 
791  // Status
797 
798  // PickupAndDeliveryPolicy
802 
803 }
804 
805 }
bool ArcIsMoreConstrainedThanArc(long from, long to1, long to2)
static void RoutingModel_SetFixedCostOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, int jarg3)
static bool RoutingModel_AreEmptyRouteCostsConsideredForVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_CompactAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void RoutingModel_CloseModel(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_ArcIsMoreConstrainedThanArc(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3, long jarg4)
static int RoutingModel_GetNumberOfDisjunctions(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_RegisterUnaryTransitCallback(global::System.Runtime.InteropServices.HandleRef jarg1, LongToLong jarg2)
delegate long LongLongToLong(long t, long u)
static byte [] ProtoToByteArray(IMessage message)
Definition: ProtoHelper.cs:21
static void RoutingModel_SetArcCostEvaluatorOfAllVehicles(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
void SetVisitType(long index, int type)
static global::System.IntPtr RoutingModel_CompactAndCheckAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
void AddSoftSameVehicleConstraint(long[] indices, long cost)
static global::System.IntPtr RoutingModel_NextVar(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static int RoutingModel_Vehicles(global::System.Runtime.InteropServices.HandleRef jarg1)
int AddDisjunction(long[] indices, long penalty)
static bool RoutingModel_AddVectorDimension(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2, long jarg3, bool jarg4, string jarg5)
int AddDisjunction(long[] indices, long penalty, long max_cardinality)
void AddLocalSearchFilter(LocalSearchFilter filter)
static int RoutingModel_RegisterPositiveTransitCallback(global::System.Runtime.InteropServices.HandleRef jarg1, LongLongToLong jarg2)
static global::System.IntPtr RoutingModel_RestoreAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void delete_RoutingModel(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_ApplyLocksToAllVehicles(global::System.Runtime.InteropServices.HandleRef jarg1, int len2_1, int[] len2_2, long[] jarg2, bool jarg3)
static int RoutingModel_GetNumOfSingletonNodes(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_RemainingTime(global::System.Runtime.InteropServices.HandleRef jarg1)
Assignment SolveFromAssignmentWithParameters(Assignment assignment, Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters)
static long RoutingModel_GetDisjunctionMaxCardinality(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_GetMutableDimension(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
Parameters defining the search used to solve vehicle routing problems.
static void RoutingModel_SetAmortizedCostFactorsOfAllVehicles(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3)
static int RoutingModel_GetStatus(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_VehicleVars(global::System.Runtime.InteropServices.HandleRef jarg1)
void AddPickupAndDeliverySets(int pickup_disjunction, int delivery_disjunction)
static long RoutingModel_GetDepot(global::System.Runtime.InteropServices.HandleRef jarg1)
void SetAmortizedCostFactorsOfAllVehicles(long linear_cost_factor, long quadratic_cost_factor)
static global::System.IntPtr RoutingModel_MakePathSpansAndTotalSlacks(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 void RoutingModel_AddVariableMaximizedByFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
bool AreEmptyRouteCostsConsideredForVehicle(int vehicle)
static bool RoutingModel_WriteAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
long GetHomogeneousCost(long from_index, long to_index)
void AddAtSolutionCallback(VoidToVoid callback)
void ConsiderEmptyRouteCostsForVehicle(bool consider_costs, int vehicle)
static global::System.IntPtr RoutingModel_GetDimensionOrDie(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
static global::System.IntPtr RoutingModel_CostVar(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_GetCostClassesCount(global::System.Runtime.InteropServices.HandleRef jarg1)
static string RoutingModel_GetPrimaryConstrainedDimension(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_PackCumulsOfOptimizerDimensionsFromAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static void RoutingModel_SetArcCostEvaluatorOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static global::System.IntPtr RoutingModel_GetDimensionsForLocalCumulOptimizers(global::System.Runtime.InteropServices.HandleRef jarg1)
void SetFirstSolutionEvaluator(LongLongToLong evaluator)
static long RoutingModel_Size(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_GetSameVehicleIndicesOfIndex(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
Assignment PackCumulsOfOptimizerDimensionsFromAssignment(Assignment original_assignment, SWIGTYPE_p_absl__Duration duration_limit)
static int RoutingModel_GetVehicleClassIndexOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void RoutingModel_SetFixedCostOfAllVehicles(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
bool IsVehicleAllowedForIndex(int vehicle, long index)
static bool RoutingModel_IsVehicleUsed(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3)
DecisionBuilder MakeSelfDependentDimensionFinalizer(RoutingDimension dimension)
static bool RoutingModel_HasDimension(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
static long RoutingModel_Start(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static long RoutingModel_GetArcCostForFirstSolution(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3)
void SetPrimaryConstrainedDimension(string dimension_name)
static global::System.IntPtr RoutingModel_MutablePreAssignment(global::System.Runtime.InteropServices.HandleRef jarg1)
void AddVariableTargetToFinalizer(IntVar var, long target)
static void RoutingModel_AddPickupAndDeliverySets(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static global::System.IntPtr RoutingModel_PreAssignment(global::System.Runtime.InteropServices.HandleRef jarg1)
bool AddVectorDimension(long[] values, long capacity, bool fix_start_cumul_to_zero, string name)
bool AddDimension(int evaluator_index, long slack_max, long capacity, bool fix_start_cumul_to_zero, string name)
static global::System.IntPtr RoutingModel_Nexts(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_CostsAreHomogeneousAcrossVehicles(global::System.Runtime.InteropServices.HandleRef jarg1)
void SetPickupAndDeliveryPolicyOfVehicle(int policy, int vehicle)
static int RoutingModel_GetCostClassIndexOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static int RoutingModel_VehicleIndex(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static long RoutingModel_End(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
void SetArcCostEvaluatorOfVehicle(int evaluator_index, int vehicle)
static long RoutingModel_GetArcCostForVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3, long jarg4)
RoutingModel(RoutingIndexManager index_manager)
Definition: RoutingModel.cs:98
static void RoutingModel_IgnoreDisjunctionsAlreadyForcedToZero(global::System.Runtime.InteropServices.HandleRef jarg1)
long GetArcCostForClass(long from_index, long to_index, long cost_class_index)
static void RoutingModel_SetPickupAndDeliveryPolicyOfAllVehicles(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static long RoutingModel_GetNumberOfDecisionsInFirstSolution(global::System.Runtime.InteropServices.HandleRef jarg1, int search_parameters_size, byte[] jarg2)
int RegisterTransitCallback(LongLongToLong callback)
static void RoutingModel_AddIntervalToAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_MakeSelfDependentDimensionFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
Assignment ReadAssignmentFromRoutes(long[][] routes, bool ignore_inactive_indices)
static global::System.IntPtr RoutingModel_SolveWithParameters(global::System.Runtime.InteropServices.HandleRef jarg1, int search_parameters_size, byte[] jarg2)
bool ApplyLocksToAllVehicles(long[][] locks, bool close_routes)
static bool RoutingModel_HasVehicleWithCostClassIndex(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
void AddPickupAndDelivery(long pickup, long delivery)
static void RoutingModel_SetVisitType(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, int jarg3)
static void RoutingModel_CloseModelWithParameters(global::System.Runtime.InteropServices.HandleRef jarg1, int search_parameters_size, byte[] jarg2)
Assignment Solve(Assignment assignment)
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 global::System.IntPtr RoutingModel_solver(global::System.Runtime.InteropServices.HandleRef jarg1)
Assignment SolveWithParameters(Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters)
bool HasDimension(string dimension_name)
static void RoutingModel_SetPickupAndDeliveryPolicyOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_p_t GetDimensionsForGlobalCumulOptimizers()
static long RoutingModel_GetHomogeneousCost(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3)
static global::System.IntPtr RoutingModel_ReadAssignmentFromRoutes(global::System.Runtime.InteropServices.HandleRef jarg1, int len2_1, int[] len2_2, long[] jarg2, bool jarg3)
SWIGTYPE_p_std__vectorT_operations_research__RoutingDimension_p_t GetDimensionsForLocalCumulOptimizers()
static void RoutingModel_AddLocalSearchOperator(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
long GetArcCostForFirstSolution(long from_index, long to_index)
static int RoutingModel_GetNonZeroCostClassesCount(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 global::System.IntPtr RoutingModel_ApplyLocks(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2)
bool IsVehicleUsed(Assignment assignment, int vehicle)
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)
RoutingDimension GetMutableDimension(string dimension_name)
void AddWeightedVariableMinimizedByFinalizer(IntVar var, long cost)
static bool RoutingModel_IsMatchingModel(global::System.Runtime.InteropServices.HandleRef jarg1)
void SetArcCostEvaluatorOfAllVehicles(int evaluator_index)
static int RoutingModel_GetNumberOfVisitTypes(global::System.Runtime.InteropServices.HandleRef jarg1)
string DebugOutputAssignment(Assignment solution_assignment, string dimension_to_print)
static void RoutingModel_SetAllowedVehiclesForIndex(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, int[] jarg2, long jarg3)
static bool RoutingModel_IsEnd(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
RoutingModel(RoutingIndexManager index_manager, Google.OrTools.ConstraintSolver.RoutingModelParameters parameters)
static string RoutingModel_DebugOutputAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3)
static int RoutingModel_AddDisjunction__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2, long jarg3)
void SetAllowedVehiclesForIndex(int[] vehicles, long index)
static bool RoutingModel_IsStart(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static int RoutingModel_GetVehicleClassesCount(global::System.Runtime.InteropServices.HandleRef jarg1)
SWIGTYPE_p_absl__Duration RemainingTime()
bool AddDimensionWithVehicleCapacity(int evaluator_index, long slack_max, long[] vehicle_capacities, bool fix_start_cumul_to_zero, string name)
void AddLocalSearchOperator(LocalSearchOperator ls_operator)
static long RoutingModel_GetDisjunctionPenalty(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_GetAmortizedLinearCostFactorOfVehicles(global::System.Runtime.InteropServices.HandleRef jarg1)
Constraint MakePathSpansAndTotalSlacks(RoutingDimension dimension, IntVarVector spans, IntVarVector total_slacks)
static global::System.IntPtr RoutingModel_ActiveVar(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static bool RoutingModel_AddDimension(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, long jarg3, long jarg4, bool jarg5, string jarg6)
virtual void Dispose(bool disposing)
Definition: RoutingModel.cs:40
static void RoutingModel_SetPrimaryConstrainedDimension(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
bool AddConstantDimension(long value, long capacity, bool fix_start_cumul_to_zero, string name)
static long RoutingModel_GetFixedCostOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static long RoutingModel_ComputeLowerBound(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_GetDimensionsForGlobalCumulOptimizers(global::System.Runtime.InteropServices.HandleRef jarg1)
long GetNumberOfDecisionsInFirstSolution(Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters)
static void RoutingModel_SetFirstSolutionEvaluator(global::System.Runtime.InteropServices.HandleRef jarg1, LongLongToLong jarg2)
long GetArcCostForVehicle(long from_index, long to_index, long vehicle)
delegate long LongToLong(long t)
static global::System.IntPtr RoutingModel_VehicleCostsConsideredVar(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
bool RoutesToAssignment(long[][] routes, bool ignore_inactive_indices, bool close_routes, Assignment assignment)
void SetAmortizedCostFactorsOfVehicle(long linear_cost_factor, long quadratic_cost_factor, int vehicle)
static int RoutingModel_Nodes(global::System.Runtime.InteropServices.HandleRef jarg1)
bool HasVehicleWithCostClassIndex(int cost_class_index)
Assignment ReadAssignment(string file_name)
static bool RoutingModel_IsVehicleAllowedForIndex(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, long jarg3)
void AssignmentToRoutes(Assignment assignment, long[][] routes)
int RegisterPositiveTransitCallback(LongLongToLong callback)
static global::System.IntPtr RoutingModel_GetDisjunctionIndices__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static global::System.IntPtr RoutingModel_GetDisjunctionIndices__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static long RoutingModel_GetArcCostForClass(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3, long jarg4)
Assignment CompactAndCheckAssignment(Assignment assignment)
static void RoutingModel_AddPickupAndDelivery(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3)
static global::System.IntPtr RoutingModel_ReadAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
static bool RoutingModel_CheckLimit(global::System.Runtime.InteropServices.HandleRef jarg1)
void CloseModelWithParameters(Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters)
RoutingDimension GetDimensionOrDie(string dimension_name)
void AddIntervalToAssignment(IntervalVar interval)
static bool RoutingModel_AddConstantDimensionWithSlack(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3, long jarg4, bool jarg5, string jarg6)
static int RoutingModel_AddDisjunction__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2)
static long RoutingModel_Next(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, long jarg3)
static void RoutingModel_AssignmentToRoutes(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int len3_1, int[] len3_2, long[] jarg3)
void AddSearchMonitor(SearchMonitor monitor)
static bool RoutingModel_AddConstantDimension(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3, bool jarg4, string jarg5)
Parameters which have to be set when creating a RoutingModel.
static void RoutingModel_AddVariableTargetToFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, long jarg3)
static global::System.IntPtr RoutingModel_Solve__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static long RoutingModel_UnperformedPenalty(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
DecisionBuilder MakeGuidedSlackFinalizer(RoutingDimension dimension, LongToLong initializer)
static void RoutingModel_AddWeightedVariableMinimizedByFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, long jarg3)
static void RoutingModel_AddVariableMinimizedByFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
bool AddDimensionWithVehicleTransits(int[] evaluator_indices, long slack_max, long capacity, bool fix_start_cumul_to_zero, string name)
static bool RoutingModel_AddDimensionWithVehicleCapacity(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, long jarg3, int length4, long[] jarg4, bool jarg5, string jarg6)
static long RoutingModel_GetNumberOfRejectsInFirstSolution(global::System.Runtime.InteropServices.HandleRef jarg1, int search_parameters_size, byte[] jarg2)
static global::System.IntPtr RoutingModel_Solve__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1)
Assignment CompactAssignment(Assignment assignment)
static void RoutingModel_AddSearchMonitor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
void SetFixedCostOfVehicle(long cost, int vehicle)
int RegisterUnaryTransitCallback(LongToLong callback)
long UnperformedPenaltyOrValue(long default_value, long var_index)
static int RoutingModel_GetVisitType(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void RoutingModel_AddLocalSearchFilter(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)
bool AddDimensionWithVehicleTransitAndCapacity(int[] evaluator_indices, long slack_max, long[] vehicle_capacities, bool fix_start_cumul_to_zero, string name)
long Next(Assignment assignment, long index)
static int RoutingModel_AddDisjunction__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2, long jarg3, long jarg4)
Assignment RestoreAssignment(Assignment solution)
static void RoutingModel_AddAtSolutionCallback(global::System.Runtime.InteropServices.HandleRef jarg1, VoidToVoid jarg2)
static void RoutingModel_ConsiderEmptyRouteCostsForVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2, int jarg3)
long GetNumberOfRejectsInFirstSolution(Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters)
static bool RoutingModel_AddDimensionWithVehicleTransits(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, int[] jarg2, long jarg3, long jarg4, bool jarg5, string jarg6)
bool AddConstantDimensionWithSlack(long value, long capacity, long slack_max, bool fix_start_cumul_to_zero, string name)
static int RoutingModel_RegisterTransitCallback(global::System.Runtime.InteropServices.HandleRef jarg1, LongLongToLong jarg2)
static long RoutingModel_UnperformedPenaltyOrValue(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3)
static int RoutingModel_GetPickupAndDeliveryPolicyOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void RoutingModel_AddSoftSameVehicleConstraint(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2, long jarg3)
void SetAssignmentFromOtherModelAssignment(Assignment target_assignment, RoutingModel source_model, Assignment source_assignment)
static void RoutingModel_SetAmortizedCostFactorsOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3, int jarg4)
static global::System.IntPtr RoutingModel_VehicleVar(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void RoutingModel_AddToAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_GetAmortizedQuadraticCostFactorOfVehicles(global::System.Runtime.InteropServices.HandleRef jarg1)
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)