DotNet Reference

.Net Reference

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.2
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.Runtime.InteropServices;
15using System.Collections;
16using System.Collections.Generic;
17
18public 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 partial class VehicleTypeContainer : global::System.IDisposable {
78 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
79 protected bool swigCMemOwn;
80
81 internal VehicleTypeContainer(global::System.IntPtr cPtr, bool cMemoryOwn) {
82 swigCMemOwn = cMemoryOwn;
83 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
84 }
85
86 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VehicleTypeContainer obj) {
87 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
88 }
89
90 ~VehicleTypeContainer() {
91 Dispose(false);
92 }
93
94 public void Dispose() {
95 Dispose(true);
96 global::System.GC.SuppressFinalize(this);
97 }
98
99 protected virtual void Dispose(bool disposing) {
100 lock(this) {
101 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
102 if (swigCMemOwn) {
103 swigCMemOwn = false;
105 }
106 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
107 }
108 }
109 }
110
111 public partial class VehicleClassEntry : global::System.IDisposable {
112 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
113 protected bool swigCMemOwn;
114
115 internal VehicleClassEntry(global::System.IntPtr cPtr, bool cMemoryOwn) {
116 swigCMemOwn = cMemoryOwn;
117 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
118 }
119
120 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VehicleClassEntry obj) {
121 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
122 }
123
124 ~VehicleClassEntry() {
125 Dispose(false);
126 }
127
128 public void Dispose() {
129 Dispose(true);
130 global::System.GC.SuppressFinalize(this);
131 }
132
133 protected virtual void Dispose(bool disposing) {
134 lock(this) {
135 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
136 if (swigCMemOwn) {
137 swigCMemOwn = false;
139 }
140 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
141 }
142 }
143 }
144
145 public int vehicle_class {
146 set {
148 }
149 get {
151 return ret;
152 }
153 }
154
155 public long fixed_cost {
156 set {
158 }
159 get {
161 return ret;
162 }
163 }
164
165 public VehicleClassEntry() : this(operations_research_constraint_solverPINVOKE.new_RoutingModel_VehicleTypeContainer_VehicleClassEntry(), true) {
166 }
167
168 }
169
170 public int NumTypes() {
172 return ret;
173 }
174
175 public int Type(int vehicle) {
177 return ret;
178 }
179
181 set {
183 }
184 get {
186 IntVector ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVector(cPtr, false);
187 return ret;
188 }
189 }
190
191 public SWIGTYPE_p_std__vectorT_std__setT_operations_research__RoutingModel__VehicleTypeContainer__VehicleClassEntry_t_t sorted_vehicle_classes_per_type {
192 set {
193 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));
194 }
195 get {
197 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);
198 return ret;
199 }
200 }
201
202 public SWIGTYPE_p_std__vectorT_std__dequeT_int_t_t vehicles_per_vehicle_class {
203 set {
204 operations_research_constraint_solverPINVOKE.RoutingModel_VehicleTypeContainer_vehicles_per_vehicle_class_set(swigCPtr, SWIGTYPE_p_std__vectorT_std__dequeT_int_t_t.getCPtr(value));
205 }
206 get {
208 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);
209 return ret;
210 }
211 }
212
213 public VehicleTypeContainer() : this(operations_research_constraint_solverPINVOKE.new_RoutingModel_VehicleTypeContainer(), true) {
214 }
215
216 }
217
218 public static long kNoPenalty {
219 get {
221 return ret;
222 }
223 }
224
225 public static int kNoDisjunction {
226 get {
228 }
229
230 }
231
232 public static int kNoDimension {
233 get {
235 }
236
237 }
238
239 public RoutingModel(RoutingIndexManager index_manager) : this(operations_research_constraint_solverPINVOKE.new_RoutingModel__SWIG_0(RoutingIndexManager.getCPtr(index_manager)), true) {
241 }
242
243 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) {
245 }
246
247 public int RegisterUnaryTransitVector( long[] values) {
249 return ret;
250 }
251
254 return ret;
255 }
256
259 return ret;
260 }
261
262 public int RegisterTransitMatrix( long[][] values) {
264 values.GetLength(0),
265 NestedArrayHelper.GetArraySecondSize(values),
266 NestedArrayHelper.GetFlatArray(values)
267);
268 return ret;
269 }
270
272 int ret = operations_research_constraint_solverPINVOKE.RoutingModel_RegisterTransitCallback(swigCPtr, StoreLongLongToLong(callback) );
273 return ret;
274 }
275
277 int ret = operations_research_constraint_solverPINVOKE.RoutingModel_RegisterPositiveTransitCallback(swigCPtr, StoreLongLongToLong(callback) );
278 return ret;
279 }
280
281 public bool AddDimension(int evaluator_index, long slack_max, long capacity, bool fix_start_cumul_to_zero, string name) {
282 bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_AddDimension(swigCPtr, evaluator_index, slack_max, capacity, fix_start_cumul_to_zero, name);
284 return ret;
285 }
286
287 public bool AddDimensionWithVehicleTransits( int[] evaluator_indices, long slack_max, long capacity, bool fix_start_cumul_to_zero, string name) {
288 bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_AddDimensionWithVehicleTransits(swigCPtr, evaluator_indices.Length, evaluator_indices , slack_max, capacity, fix_start_cumul_to_zero, name);
290 return ret;
291 }
292
293 public bool AddDimensionWithVehicleCapacity(int evaluator_index, long slack_max, long[] vehicle_capacities, bool fix_start_cumul_to_zero, string name) {
294 bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_AddDimensionWithVehicleCapacity(swigCPtr, evaluator_index, slack_max, vehicle_capacities.Length, vehicle_capacities , fix_start_cumul_to_zero, name);
296 return ret;
297 }
298
299 public bool AddDimensionWithVehicleTransitAndCapacity( int[] evaluator_indices, long slack_max, long[] vehicle_capacities, bool fix_start_cumul_to_zero, string name) {
300 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);
302 return ret;
303 }
304
305 public IntBoolPair AddConstantDimensionWithSlack(long value, long capacity, long slack_max, bool fix_start_cumul_to_zero, string name) {
306 IntBoolPair ret = new IntBoolPair(operations_research_constraint_solverPINVOKE.RoutingModel_AddConstantDimensionWithSlack(swigCPtr, value, capacity, slack_max, fix_start_cumul_to_zero, name), true);
308 return ret;
309 }
310
311 public IntBoolPair AddConstantDimension(long value, long capacity, bool fix_start_cumul_to_zero, string name) {
312 IntBoolPair ret = new IntBoolPair(operations_research_constraint_solverPINVOKE.RoutingModel_AddConstantDimension(swigCPtr, value, capacity, fix_start_cumul_to_zero, name), true);
314 return ret;
315 }
316
317 public IntBoolPair AddVectorDimension( long[] values, long capacity, bool fix_start_cumul_to_zero, string name) {
318 IntBoolPair ret = new IntBoolPair(operations_research_constraint_solverPINVOKE.RoutingModel_AddVectorDimension(swigCPtr, values.Length, values , capacity, fix_start_cumul_to_zero, name), true);
320 return ret;
321 }
322
323 public IntBoolPair AddMatrixDimension( long[][] values, long capacity, bool fix_start_cumul_to_zero, string name) {
325 values.GetLength(0),
326 NestedArrayHelper.GetArraySecondSize(values),
327 NestedArrayHelper.GetFlatArray(values)
328, capacity, fix_start_cumul_to_zero, name), true);
330 return ret;
331 }
332
334 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_MakePathSpansAndTotalSlacks(swigCPtr, RoutingDimension.getCPtr(dimension), IntVarVector.getCPtr(spans), IntVarVector.getCPtr(total_slacks));
335 Constraint ret = (cPtr == global::System.IntPtr.Zero) ? null : new Constraint(cPtr, false);
337 return ret;
338 }
339
340 public SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__GlobalDimensionCumulOptimizer_t_t GetGlobalDimensionCumulMPOptimizers() {
341 SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__GlobalDimensionCumulOptimizer_t_t ret = new SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__GlobalDimensionCumulOptimizer_t_t(operations_research_constraint_solverPINVOKE.RoutingModel_GetGlobalDimensionCumulMPOptimizers(swigCPtr), false);
342 return ret;
343 }
344
345 public SWIGTYPE_p_operations_research__GlobalDimensionCumulOptimizer GetMutableGlobalCumulMPOptimizer(RoutingDimension dimension) {
347 SWIGTYPE_p_operations_research__GlobalDimensionCumulOptimizer ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_operations_research__GlobalDimensionCumulOptimizer(cPtr, false);
349 return ret;
350 }
351
352 public bool HasDimension(string dimension_name) {
355 return ret;
356 }
357
358 public RoutingDimension GetDimensionOrDie(string dimension_name) {
361 return ret;
362 }
363
364 public RoutingDimension GetMutableDimension(string dimension_name) {
365 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_GetMutableDimension(swigCPtr, dimension_name);
366 RoutingDimension ret = (cPtr == global::System.IntPtr.Zero) ? null : new RoutingDimension(cPtr, false);
368 return ret;
369 }
370
371 public void SetPrimaryConstrainedDimension(string dimension_name) {
374 }
375
378 return ret;
379 }
380
383 IntVector tmpVector = null;
384 if (cPtr != global::System.IntPtr.Zero) {
385 tmpVector = new IntVector(cPtr, true);
386 int[] outArray = new int[tmpVector.Count];
387 tmpVector.CopyTo(outArray);
388 return outArray;
389 }
390 return null;
391}
392
393 public int AddDisjunction( long[] indices, long penalty, long max_cardinality) {
394 return operations_research_constraint_solverPINVOKE.RoutingModel_AddDisjunction__SWIG_0(swigCPtr, indices.Length, indices , penalty, max_cardinality);
395}
396
397 public int AddDisjunction( long[] indices, long penalty) {
398 return operations_research_constraint_solverPINVOKE.RoutingModel_AddDisjunction__SWIG_1(swigCPtr, indices.Length, indices , penalty);
399}
400
401 public int AddDisjunction( long[] indices) {
403}
404
405 public int[] GetDisjunctionIndices(long index) {
406 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_GetDisjunctionIndices(swigCPtr, index);
407 IntVector tmpVector = null;
408 if (cPtr != global::System.IntPtr.Zero) {
409 tmpVector = new IntVector(cPtr, true);
410 int[] outArray = new int[tmpVector.Count];
411 tmpVector.CopyTo(outArray);
412 return outArray;
413 }
414 return null;
415}
416
417 public long[] GetDisjunctionNodeIndices(int index) {
419 Int64Vector tmpVector = null;
420 if (cPtr != global::System.IntPtr.Zero) {
421 tmpVector = new Int64Vector(cPtr, true);
422 long[] outArray = new long[tmpVector.Count];
423 tmpVector.CopyTo(outArray);
424 return outArray;
425 }
426 return null;
427}
428
429 public long GetDisjunctionPenalty(int index) {
431 return ret;
432 }
433
434 public long GetDisjunctionMaxCardinality(int index) {
436 return ret;
437 }
438
441 return ret;
442 }
443
446 }
447
448 public void AddSoftSameVehicleConstraint( long[] indices, long cost) {
450 }
451
452 public void SetAllowedVehiclesForIndex( int[] vehicles, long index) {
454 }
455
456 public bool IsVehicleAllowedForIndex(int vehicle, long index) {
458 return ret;
459 }
460
461 public void AddPickupAndDelivery(long pickup, long delivery) {
463 }
464
465 public void AddPickupAndDeliverySets(int pickup_disjunction, int delivery_disjunction) {
466 operations_research_constraint_solverPINVOKE.RoutingModel_AddPickupAndDeliverySets(swigCPtr, pickup_disjunction, delivery_disjunction);
467 }
468
471 }
472
473 public void SetPickupAndDeliveryPolicyOfVehicle(int policy, int vehicle) {
475 }
476
477 public int GetPickupAndDeliveryPolicyOfVehicle(int vehicle) {
479 return ret;
480 }
481
484 return ret;
485 }
486
487 public void SetVisitType(long index, int type, int type_policy) {
489 }
490
491 public int GetVisitType(long index) {
493 return ret;
494 }
495
496 public int[] GetSingleNodesOfType(int type) {
497 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_GetSingleNodesOfType(swigCPtr, type);
498 IntVector tmpVector = null;
499 if (cPtr != global::System.IntPtr.Zero) {
500 tmpVector = new IntVector(cPtr, true);
501 int[] outArray = new int[tmpVector.Count];
502 tmpVector.CopyTo(outArray);
503 return outArray;
504 }
505 return null;
506}
507
508 public int[] GetPairIndicesOfType(int type) {
509 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_GetPairIndicesOfType(swigCPtr, type);
510 IntVector tmpVector = null;
511 if (cPtr != global::System.IntPtr.Zero) {
512 tmpVector = new IntVector(cPtr, true);
513 int[] outArray = new int[tmpVector.Count];
514 tmpVector.CopyTo(outArray);
515 return outArray;
516 }
517 return null;
518}
519
520 public int GetVisitTypePolicy(long index) {
522 return ret;
523 }
524
525 public void CloseVisitTypes() {
527 }
528
531 return ret;
532 }
533
534 public void AddHardTypeIncompatibility(int type1, int type2) {
536 }
537
538 public void AddTemporalTypeIncompatibility(int type1, int type2) {
540 }
541
542 public SWIGTYPE_p_absl__flat_hash_setT_int_t GetTemporalTypeIncompatibilitiesOfType(int type) {
543 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);
544 return ret;
545 }
546
549 return ret;
550 }
551
554 return ret;
555 }
556
557 public void AddRequiredTypeAlternativesWhenAddingType(int dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t required_type_alternatives) {
558 operations_research_constraint_solverPINVOKE.RoutingModel_AddRequiredTypeAlternativesWhenAddingType(swigCPtr, dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t.getCPtr(required_type_alternatives));
560 }
561
562 public void AddRequiredTypeAlternativesWhenRemovingType(int dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t required_type_alternatives) {
563 operations_research_constraint_solverPINVOKE.RoutingModel_AddRequiredTypeAlternativesWhenRemovingType(swigCPtr, dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t.getCPtr(required_type_alternatives));
565 }
566
567 public SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t GetSameVehicleRequiredTypeAlternativesOfType(int type) {
568 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);
569 return ret;
570 }
571
572 public SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t GetRequiredTypeAlternativesWhenAddingType(int type) {
573 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);
574 return ret;
575 }
576
577 public SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t GetRequiredTypeAlternativesWhenRemovingType(int type) {
578 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);
579 return ret;
580 }
581
584 return ret;
585 }
586
589 return ret;
590 }
591
592 public long UnperformedPenalty(long var_index) {
594 return ret;
595 }
596
597 public long UnperformedPenaltyOrValue(long default_value, long var_index) {
599 return ret;
600 }
601
602 public long GetDepot() {
604 return ret;
605 }
606
607 public void SetMaximumNumberOfActiveVehicles(int max_active_vehicles) {
609 }
610
613 return ret;
614 }
615
616 public void SetArcCostEvaluatorOfAllVehicles(int evaluator_index) {
618 }
619
620 public void SetArcCostEvaluatorOfVehicle(int evaluator_index, int vehicle) {
622 }
623
624 public void SetFixedCostOfAllVehicles(long cost) {
626 }
627
628 public void SetFixedCostOfVehicle(long cost, int vehicle) {
630 }
631
632 public long GetFixedCostOfVehicle(int vehicle) {
634 return ret;
635 }
636
637 public void SetAmortizedCostFactorsOfAllVehicles(long linear_cost_factor, long quadratic_cost_factor) {
639 }
640
641 public void SetAmortizedCostFactorsOfVehicle(long linear_cost_factor, long quadratic_cost_factor, int vehicle) {
642 operations_research_constraint_solverPINVOKE.RoutingModel_SetAmortizedCostFactorsOfVehicle(swigCPtr, linear_cost_factor, quadratic_cost_factor, vehicle);
643 }
644
647 Int64Vector tmpVector = null;
648 if (cPtr != global::System.IntPtr.Zero) {
649 tmpVector = new Int64Vector(cPtr, true);
650 long[] outArray = new long[tmpVector.Count];
651 tmpVector.CopyTo(outArray);
652 return outArray;
653 }
654 return null;
655}
656
659 Int64Vector tmpVector = null;
660 if (cPtr != global::System.IntPtr.Zero) {
661 tmpVector = new Int64Vector(cPtr, true);
662 long[] outArray = new long[tmpVector.Count];
663 tmpVector.CopyTo(outArray);
664 return outArray;
665 }
666 return null;
667}
668
669 public void ConsiderEmptyRouteCostsForVehicle(bool consider_costs, int vehicle) {
671 }
672
673 public bool AreEmptyRouteCostsConsideredForVehicle(int vehicle) {
675 return ret;
676 }
677
680 }
681
684 }
685
686 public void AddSearchMonitor(SearchMonitor monitor) {
688 }
689
690 public void AddAtSolutionCallback( VoidToVoid callback) {
692 }
693
696 }
697
700 }
701
704 }
705
706 public void AddVariableTargetToFinalizer(IntVar var, long target) {
708 }
709
710 public void CloseModel() {
712 }
713
715 operations_research_constraint_solverPINVOKE.RoutingModel_CloseModelWithParameters(swigCPtr, search_parameters.CalculateSize(), ProtoHelper.ProtoToByteArray(search_parameters));
716 }
717
718 public Assignment Solve(Assignment assignment) {
719 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_Solve__SWIG_0(swigCPtr, Assignment.getCPtr(assignment));
720 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
721 return ret;
722 }
723
724 public Assignment Solve() {
726 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
727 return ret;
728 }
729
731 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_SolveWithParameters(swigCPtr, search_parameters.CalculateSize(), ProtoHelper.ProtoToByteArray(search_parameters));
732 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
733 return ret;
734 }
735
737 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_SolveFromAssignmentWithParameters(swigCPtr, Assignment.getCPtr(assignment), search_parameters.CalculateSize(), ProtoHelper.ProtoToByteArray(search_parameters));
738 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
739 return ret;
740 }
741
742 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) {
743 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), search_parameters.CalculateSize(), ProtoHelper.ProtoToByteArray(search_parameters), SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t.getCPtr(solutions));
744 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
746 return ret;
747 }
748
749 public Assignment SolveFromAssignmentsWithParameters(SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t assignments, Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters) {
750 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), search_parameters.CalculateSize(), ProtoHelper.ProtoToByteArray(search_parameters));
751 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
753 return ret;
754 }
755
756 public void SetAssignmentFromOtherModelAssignment(Assignment target_assignment, RoutingModel source_model, Assignment source_assignment) {
757 operations_research_constraint_solverPINVOKE.RoutingModel_SetAssignmentFromOtherModelAssignment(swigCPtr, Assignment.getCPtr(target_assignment), RoutingModel.getCPtr(source_model), Assignment.getCPtr(source_assignment));
758 }
759
760 public long ComputeLowerBound() {
762 return ret;
763 }
764
765 public int GetStatus() {
767 return ret;
768 }
769
770 public IntVar ApplyLocks( long[] locks) {
771 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_ApplyLocks(swigCPtr, locks.Length, locks );
772 IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
773 return ret;
774 }
775
776 public bool ApplyLocksToAllVehicles( long[][] locks, bool close_routes) {
778 locks.GetLength(0),
779 NestedArrayHelper.GetArraySecondSize(locks),
780 NestedArrayHelper.GetFlatArray(locks)
781, close_routes);
782 return ret;
783 }
784
787 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
788 return ret;
789 }
790
793 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
794 return ret;
795 }
796
797 public bool WriteAssignment(string file_name) {
800 return ret;
801 }
802
803 public Assignment ReadAssignment(string file_name) {
804 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_ReadAssignment(swigCPtr, file_name);
805 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
807 return ret;
808 }
809
811 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_RestoreAssignment(swigCPtr, Assignment.getCPtr(solution));
812 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
814 return ret;
815 }
816
817 public Assignment ReadAssignmentFromRoutes( long[][] routes, bool ignore_inactive_indices) {
819 routes.GetLength(0),
820 NestedArrayHelper.GetArraySecondSize(routes),
821 NestedArrayHelper.GetFlatArray(routes)
822, ignore_inactive_indices);
823 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
824 return ret;
825 }
826
827 public bool RoutesToAssignment( long[][] routes, bool ignore_inactive_indices, bool close_routes, Assignment assignment) {
829 routes.GetLength(0),
830 NestedArrayHelper.GetArraySecondSize(routes),
831 NestedArrayHelper.GetFlatArray(routes)
832, ignore_inactive_indices, close_routes, Assignment.getCPtr(assignment));
833 return ret;
834 }
835
836 public void AssignmentToRoutes(Assignment assignment, long[][] routes) {
838 routes.GetLength(0),
839 NestedArrayHelper.GetArraySecondSize(routes),
840 NestedArrayHelper.GetFlatArray(routes)
841);
843 }
844
846 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_CompactAssignment(swigCPtr, Assignment.getCPtr(assignment));
847 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
849 return ret;
850 }
851
853 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_CompactAndCheckAssignment(swigCPtr, Assignment.getCPtr(assignment));
854 Assignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Assignment(cPtr, false);
856 return ret;
857 }
858
859 public void AddToAssignment(IntVar var) {
861 }
862
863 public void AddIntervalToAssignment(IntervalVar interval) {
865 }
866
869 }
870
871 public long Start(int vehicle) {
873 return ret;
874 }
875
876 public long End(int vehicle) {
878 return ret;
879 }
880
881 public bool IsStart(long index) {
883 return ret;
884 }
885
886 public bool IsEnd(long index) {
888 return ret;
889 }
890
891 public int VehicleIndex(long index) {
893 return ret;
894 }
895
896 public long Next(Assignment assignment, long index) {
897 long ret = operations_research_constraint_solverPINVOKE.RoutingModel_Next(swigCPtr, Assignment.getCPtr(assignment), index);
899 return ret;
900 }
901
902 public bool IsVehicleUsed(Assignment assignment, int vehicle) {
903 bool ret = operations_research_constraint_solverPINVOKE.RoutingModel_IsVehicleUsed(swigCPtr, Assignment.getCPtr(assignment), vehicle);
905 return ret;
906 }
907
910 return ret;
911 }
912
915 return ret;
916 }
917
918 public IntVar NextVar(long index) {
919 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_NextVar(swigCPtr, index);
920 IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
921 return ret;
922 }
923
924 public IntVar ActiveVar(long index) {
925 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_ActiveVar(swigCPtr, index);
926 IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
927 return ret;
928 }
929
930 public IntVar ActiveVehicleVar(int vehicle) {
931 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_ActiveVehicleVar(swigCPtr, vehicle);
932 IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
933 return ret;
934 }
935
936 public IntVar VehicleCostsConsideredVar(int vehicle) {
937 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_VehicleCostsConsideredVar(swigCPtr, vehicle);
938 IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
939 return ret;
940 }
941
942 public IntVar VehicleVar(long index) {
943 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_VehicleVar(swigCPtr, index);
944 IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
945 return ret;
946 }
947
948 public IntVar CostVar() {
949 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_CostVar(swigCPtr);
950 IntVar ret = (cPtr == global::System.IntPtr.Zero) ? null : new IntVar(cPtr, false);
951 return ret;
952 }
953
954 public long GetArcCostForVehicle(long from_index, long to_index, long vehicle) {
955 long ret = operations_research_constraint_solverPINVOKE.RoutingModel_GetArcCostForVehicle(swigCPtr, from_index, to_index, vehicle);
956 return ret;
957 }
958
961 return ret;
962 }
963
964 public long GetHomogeneousCost(long from_index, long to_index) {
965 long ret = operations_research_constraint_solverPINVOKE.RoutingModel_GetHomogeneousCost(swigCPtr, from_index, to_index);
966 return ret;
967 }
968
969 public long GetArcCostForFirstSolution(long from_index, long to_index) {
971 return ret;
972 }
973
974 public long GetArcCostForClass(long from_index, long to_index, long cost_class_index) {
975 long ret = operations_research_constraint_solverPINVOKE.RoutingModel_GetArcCostForClass(swigCPtr, from_index, to_index, cost_class_index);
976 return ret;
977 }
978
979 public int GetCostClassIndexOfVehicle(long vehicle) {
981}
982
983 public bool HasVehicleWithCostClassIndex(int cost_class_index) {
985 return ret;
986 }
987
988 public int GetCostClassesCount() {
990 return ret;
991 }
992
995 return ret;
996 }
997
998 public int GetVehicleClassIndexOfVehicle(long vehicle) {
1000}
1001
1002 public int GetVehicleOfClass(int vehicle_class) {
1004 return ret;
1005 }
1006
1009 return ret;
1010 }
1011
1012 public int[] GetSameVehicleIndicesOfIndex(int node) {
1014 IntVector tmpVector = null;
1015 if (cPtr != global::System.IntPtr.Zero) {
1016 tmpVector = new IntVector(cPtr, true);
1017 int[] outArray = new int[tmpVector.Count];
1018 tmpVector.CopyTo(outArray);
1019 return outArray;
1020 }
1021 return null;
1022}
1023
1026 return ret;
1027 }
1028
1029 public bool ArcIsMoreConstrainedThanArc(long from, long to1, long to2) {
1031 return ret;
1032 }
1033
1034 public string DebugOutputAssignment(Assignment solution_assignment, string dimension_to_print) {
1035 string ret = operations_research_constraint_solverPINVOKE.RoutingModel_DebugOutputAssignment(swigCPtr, Assignment.getCPtr(solution_assignment), dimension_to_print);
1037 return ret;
1038 }
1039
1040 public Solver solver() {
1041 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_solver(swigCPtr);
1042 Solver ret = (cPtr == global::System.IntPtr.Zero) ? null : new Solver(cPtr, false);
1043 return ret;
1044 }
1045
1046 public bool CheckLimit() {
1048 return ret;
1049 }
1050
1051 public int Nodes() {
1053 return ret;
1054 }
1055
1056 public int Vehicles() {
1058 return ret;
1059 }
1060
1061 public long Size() {
1063 return ret;
1064 }
1065
1067 long ret = operations_research_constraint_solverPINVOKE.RoutingModel_GetNumberOfDecisionsInFirstSolution(swigCPtr, search_parameters.CalculateSize(), ProtoHelper.ProtoToByteArray(search_parameters));
1068 return ret;
1069 }
1070
1072 long ret = operations_research_constraint_solverPINVOKE.RoutingModel_GetNumberOfRejectsInFirstSolution(swigCPtr, search_parameters.CalculateSize(), ProtoHelper.ProtoToByteArray(search_parameters));
1073 return ret;
1074 }
1075
1076 public bool IsMatchingModel() {
1078 return ret;
1079 }
1080
1082 global::System.IntPtr cPtr = operations_research_constraint_solverPINVOKE.RoutingModel_MakeGuidedSlackFinalizer(swigCPtr, RoutingDimension.getCPtr(dimension), StoreLongToLong(initializer) );
1083 DecisionBuilder ret = (cPtr == global::System.IntPtr.Zero) ? null : new DecisionBuilder(cPtr, false);
1084 return ret;
1085 }
1086
1089 DecisionBuilder ret = (cPtr == global::System.IntPtr.Zero) ? null : new DecisionBuilder(cPtr, false);
1090 return ret;
1091 }
1092
1093 // Status
1099
1100 // PickupAndDeliveryPolicy
1104
1105 // VisitTypePolicy
1110
1111}
1112
1113}
Parameters which have to be set when creating a RoutingModel.
SWIGTYPE_p_std__vectorT_std__setT_operations_research__RoutingModel__VehicleTypeContainer__VehicleClassEntry_t_t? sorted_vehicle_classes_per_type
SWIGTYPE_p_std__vectorT_std__dequeT_int_t_t? vehicles_per_vehicle_class
void AddSearchMonitor(SearchMonitor monitor)
void SetVisitType(long index, int type, int type_policy)
void SetFixedCostOfVehicle(long cost, int vehicle)
Assignment CompactAndCheckAssignment(Assignment assignment)
bool HasVehicleWithCostClassIndex(int cost_class_index)
string DebugOutputAssignment(Assignment solution_assignment, string dimension_to_print)
Assignment SolveFromAssignmentsWithParameters(SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t assignments, Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters)
Assignment RestoreAssignment(Assignment solution)
Assignment Solve(Assignment assignment)
int AddDisjunction(long[] indices, long penalty)
void AddLocalSearchOperator(LocalSearchOperator ls_operator)
void SetPickupAndDeliveryPolicyOfVehicle(int policy, int vehicle)
RoutingModel(RoutingIndexManager index_manager, Google.OrTools.ConstraintSolver.RoutingModelParameters parameters)
RoutingDimension GetMutableDimension(string dimension_name)
Assignment CompactAssignment(Assignment assignment)
void AddRequiredTypeAlternativesWhenRemovingType(int dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t required_type_alternatives)
static readonly int TYPE_SIMULTANEOUSLY_ADDED_AND_REMOVED
void AddIntervalToAssignment(IntervalVar interval)
long GetNumberOfRejectsInFirstSolution(Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters)
SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t GetRequiredTypeAlternativesWhenAddingType(int type)
int RegisterPositiveTransitCallback(LongLongToLong callback)
Assignment SolveFromAssignmentWithParameters(Assignment assignment, Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters)
void AddLocalSearchFilter(LocalSearchFilter filter)
long GetArcCostForVehicle(long from_index, long to_index, long vehicle)
void SetFirstSolutionEvaluator(LongLongToLong evaluator)
void SetAllowedVehiclesForIndex(int[] vehicles, long index)
int RegisterUnaryTransitCallback(LongToLong callback)
void AddWeightedVariableMinimizedByFinalizer(IntVar var, long cost)
bool AddDimensionWithVehicleTransits(int[] evaluator_indices, long slack_max, long capacity, bool fix_start_cumul_to_zero, string name)
bool HasDimension(string dimension_name)
int[] GetDimensionResourceGroupIndices(RoutingDimension dimension)
bool ArcIsMoreConstrainedThanArc(long from, long to1, long to2)
long GetArcCostForFirstSolution(long from_index, long to_index)
IntBoolPair AddVectorDimension(long[] values, long capacity, bool fix_start_cumul_to_zero, string name)
bool RoutesToAssignment(long[][] routes, bool ignore_inactive_indices, bool close_routes, Assignment assignment)
void AddTemporalTypeIncompatibility(int type1, int type2)
bool AddDimensionWithVehicleCapacity(int evaluator_index, long slack_max, long[] vehicle_capacities, bool fix_start_cumul_to_zero, string name)
long GetHomogeneousCost(long from_index, long to_index)
Assignment ReadAssignmentFromRoutes(long[][] routes, bool ignore_inactive_indices)
void AddHardTypeIncompatibility(int type1, int type2)
void ConsiderEmptyRouteCostsForVehicle(bool consider_costs, int vehicle)
void AssignmentToRoutes(Assignment assignment, long[][] routes)
void SetMaximumNumberOfActiveVehicles(int max_active_vehicles)
SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__GlobalDimensionCumulOptimizer_t_t GetGlobalDimensionCumulMPOptimizers()
void AddSoftSameVehicleConstraint(long[] indices, long cost)
virtual void Dispose(bool disposing)
Definition: RoutingModel.cs:40
Assignment SolveWithParameters(Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters)
void AddVariableTargetToFinalizer(IntVar var, long target)
RoutingModel(RoutingIndexManager index_manager)
void SetAmortizedCostFactorsOfAllVehicles(long linear_cost_factor, long quadratic_cost_factor)
bool IsVehicleAllowedForIndex(int vehicle, long index)
DecisionBuilder MakeGuidedSlackFinalizer(RoutingDimension dimension, LongToLong initializer)
void CloseModelWithParameters(Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters)
void AddPickupAndDeliverySets(int pickup_disjunction, int delivery_disjunction)
void AddAtSolutionCallback(VoidToVoid callback)
DecisionBuilder MakeSelfDependentDimensionFinalizer(RoutingDimension dimension)
void SetAmortizedCostFactorsOfVehicle(long linear_cost_factor, long quadratic_cost_factor, int vehicle)
long GetNumberOfDecisionsInFirstSolution(Google.OrTools.ConstraintSolver.RoutingSearchParameters search_parameters)
IntBoolPair AddConstantDimension(long value, long capacity, bool fix_start_cumul_to_zero, string name)
SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t GetRequiredTypeAlternativesWhenRemovingType(int type)
int RegisterPositiveUnaryTransitCallback(LongToLong callback)
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)
bool AddDimensionWithVehicleTransitAndCapacity(int[] evaluator_indices, long slack_max, long[] vehicle_capacities, bool fix_start_cumul_to_zero, string name)
void SetArcCostEvaluatorOfAllVehicles(int evaluator_index)
RoutingDimension GetDimensionOrDie(string dimension_name)
bool AddDimension(int evaluator_index, long slack_max, long capacity, bool fix_start_cumul_to_zero, string name)
IntBoolPair AddMatrixDimension(long[][] values, long capacity, bool fix_start_cumul_to_zero, string name)
SWIGTYPE_p_absl__flat_hash_setT_int_t GetTemporalTypeIncompatibilitiesOfType(int type)
SWIGTYPE_p_operations_research__GlobalDimensionCumulOptimizer GetMutableGlobalCumulMPOptimizer(RoutingDimension dimension)
IntBoolPair AddConstantDimensionWithSlack(long value, long capacity, long slack_max, bool fix_start_cumul_to_zero, string name)
Constraint MakePathSpansAndTotalSlacks(RoutingDimension dimension, IntVarVector spans, IntVarVector total_slacks)
void AddPickupAndDelivery(long pickup, long delivery)
RoutingModel.VehicleTypeContainer GetVehicleTypeContainer()
bool IsVehicleUsed(Assignment assignment, int vehicle)
long UnperformedPenaltyOrValue(long default_value, long var_index)
SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t GetSameVehicleRequiredTypeAlternativesOfType(int type)
void AddRequiredTypeAlternativesWhenAddingType(int dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t required_type_alternatives)
int AddDisjunction(long[] indices, long penalty, long max_cardinality)
long GetArcCostForClass(long from_index, long to_index, long cost_class_index)
long Next(Assignment assignment, long index)
void SetArcCostEvaluatorOfVehicle(int evaluator_index, int vehicle)
bool AreEmptyRouteCostsConsideredForVehicle(int vehicle)
void SetPrimaryConstrainedDimension(string dimension_name)
void SetAssignmentFromOtherModelAssignment(Assignment target_assignment, RoutingModel source_model, Assignment source_assignment)
bool ApplyLocksToAllVehicles(long[][] locks, bool close_routes)
Assignment ReadAssignment(string file_name)
int RegisterTransitCallback(LongLongToLong callback)
Parameters defining the search used to solve vehicle routing problems.
static int RoutingModel_GetNumOfSingletonNodes(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_GetNonZeroCostClassesCount(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_RegisterUnaryTransitCallback(global::System.Runtime.InteropServices.HandleRef jarg1, LongToLong jarg2)
static void RoutingModel_AddLocalSearchFilter(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_GetRequiredTypeAlternativesWhenAddingType(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void RoutingModel_SetFixedCostOfAllVehicles(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void RoutingModel_AddHardTypeIncompatibility(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
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 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_VehicleVar(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void delete_RoutingModel(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_RegisterUnaryTransitVector(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] 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 int RoutingModel_GetPickupAndDeliveryPolicyOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void RoutingModel_ConsiderEmptyRouteCostsForVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2, int jarg3)
static global::System.IntPtr RoutingModel_GetAmortizedQuadraticCostFactorOfVehicles(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_CloseModel(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 void RoutingModel_AddToAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_GetDimensionResourceGroupIndices(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static int RoutingModel_GetCostClassIndexOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void RoutingModel_SetPrimaryConstrainedDimension(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
static int RoutingModel_AddDisjunction__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2, long jarg3)
static void RoutingModel_AddVariableMaximizedByFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_GetSameVehicleIndicesOfIndex(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
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 void RoutingModel_SetMaximumNumberOfActiveVehicles(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_ActiveVehicleVar(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static bool RoutingModel_HasTemporalTypeIncompatibilities(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_GetPairIndicesOfType(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 long RoutingModel_Size(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_VehicleIndex(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void RoutingModel_AddAtSolutionCallback(global::System.Runtime.InteropServices.HandleRef jarg1, VoidToVoid jarg2)
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 int RoutingModel_VehicleTypeContainer_Type(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static int RoutingModel_GetVisitTypePolicy(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static long RoutingModel_UnperformedPenaltyOrValue(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3)
static global::System.IntPtr RoutingModel_PreAssignment(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_RestoreAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static int RoutingModel_GetVisitType(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static global::System.IntPtr RoutingModel_GetTemporalTypeIncompatibilitiesOfType(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static void RoutingModel_SetFixedCostOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, int jarg3)
static global::System.IntPtr RoutingModel_GetDisjunctionNodeIndices(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static int RoutingModel_AddDisjunction__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2)
static long RoutingModel_GetHomogeneousCost(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3)
static long RoutingModel_Start(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static int RoutingModel_VehicleTypeContainer_NumTypes(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_GetMutableDimension(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
static void RoutingModel_AddTemporalTypeIncompatibility(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static void RoutingModel_VehicleTypeContainer_type_index_of_vehicle_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static bool RoutingModel_IsMatchingModel(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_CostVar(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_AddLocalSearchOperator(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static long RoutingModel_GetArcCostForFirstSolution(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3)
static global::System.IntPtr RoutingModel_VehicleTypeContainer_sorted_vehicle_classes_per_type_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_SetPickupAndDeliveryPolicyOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static int RoutingModel_GetStatus(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_GetCostClassesCount(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_AddDimensionWithVehicleCapacity(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, long jarg3, int length4, long[] jarg4, bool jarg5, string jarg6)
static global::System.IntPtr RoutingModel_AddVectorDimension(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2, long jarg3, bool jarg4, string jarg5)
static void RoutingModel_SetArcCostEvaluatorOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static bool RoutingModel_AddDimension(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, long jarg3, long jarg4, bool jarg5, string jarg6)
static void RoutingModel_SetPickupAndDeliveryPolicyOfAllVehicles(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_Nexts(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_ArcIsMoreConstrainedThanArc(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3, long jarg4)
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 global::System.IntPtr RoutingModel_ReadAssignmentFromRoutes(global::System.Runtime.InteropServices.HandleRef jarg1, int len2_1, int[] len2_2, long[] jarg2, bool jarg3)
static void RoutingModel_CloseVisitTypes(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_MakeGuidedSlackFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, LongToLong jarg3)
static int RoutingModel_RegisterTransitCallback(global::System.Runtime.InteropServices.HandleRef jarg1, LongLongToLong jarg2)
static global::System.IntPtr RoutingModel_ApplyLocks(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2)
static void RoutingModel_SetFirstSolutionEvaluator(global::System.Runtime.InteropServices.HandleRef jarg1, LongLongToLong jarg2)
static void RoutingModel_AddRequiredTypeAlternativesWhenAddingType(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static global::System.IntPtr RoutingModel_MutablePreAssignment(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_AddConstantDimension(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3, bool jarg4, string jarg5)
static global::System.IntPtr RoutingModel_GetDisjunctionIndices(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static long RoutingModel_GetDisjunctionMaxCardinality(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static bool RoutingModel_IsStart(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
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_NextVar(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void RoutingModel_AddPickupAndDeliverySets(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3)
static global::System.IntPtr RoutingModel_solver(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_HasTemporalTypeRequirements(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_GetMaximumNumberOfActiveVehicles(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_AddRequiredTypeAlternativesWhenRemovingType(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3)
static void RoutingModel_AddVariableTargetToFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, long jarg3)
static int RoutingModel_RegisterPositiveTransitCallback(global::System.Runtime.InteropServices.HandleRef jarg1, LongLongToLong jarg2)
static long RoutingModel_GetArcCostForClass(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3, long jarg4)
static long RoutingModel_End(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static long RoutingModel_VehicleTypeContainer_VehicleClassEntry_fixed_cost_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_VehicleTypeContainer_vehicles_per_vehicle_class_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 RoutingModel_VehicleTypeContainer_vehicles_per_vehicle_class_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static string RoutingModel_GetPrimaryConstrainedDimension(global::System.Runtime.InteropServices.HandleRef jarg1)
static long RoutingModel_GetNumberOfDecisionsInFirstSolution(global::System.Runtime.InteropServices.HandleRef jarg1, int search_parameters_size, byte[] jarg2)
static bool RoutingModel_HasDimension(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
static global::System.IntPtr RoutingModel_GetSameVehicleRequiredTypeAlternativesOfType(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_VehicleVars(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_GetNumberOfDisjunctions(global::System.Runtime.InteropServices.HandleRef jarg1)
static long RoutingModel_UnperformedPenalty(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static global::System.IntPtr RoutingModel_ReadAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
static global::System.IntPtr RoutingModel_GetDimensionOrDie(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
static long RoutingModel_ComputeLowerBound(global::System.Runtime.InteropServices.HandleRef jarg1)
static long RoutingModel_GetNumberOfRejectsInFirstSolution(global::System.Runtime.InteropServices.HandleRef jarg1, int search_parameters_size, byte[] jarg2)
static void RoutingModel_SetVisitType(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, int jarg3, int jarg4)
static global::System.IntPtr RoutingModel_GetAmortizedLinearCostFactorOfVehicles(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_SetAmortizedCostFactorsOfAllVehicles(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3)
static void RoutingModel_AddIntervalToAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_CompactAndCheckAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static int RoutingModel_GetVehicleOfClass(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static long RoutingModel_Next(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, long jarg3)
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 void delete_RoutingModel_VehicleTypeContainer_VehicleClassEntry(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_GetVehicleClassesCount(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_VehicleTypeContainer_VehicleClassEntry_vehicle_class_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static int RoutingModel_GetNumberOfVisitTypes(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_SetArcCostEvaluatorOfAllVehicles(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static long RoutingModel_GetArcCostForVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3, long jarg4)
static int RoutingModel_GetVehicleClassIndexOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static long RoutingModel_GetDisjunctionPenalty(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static bool RoutingModel_HasSameVehicleTypeRequirements(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 global::System.IntPtr RoutingModel_VehicleTypeContainer_type_index_of_vehicle_get(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_SetAmortizedCostFactorsOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2, long jarg3, int jarg4)
static bool RoutingModel_HasHardTypeIncompatibilities(global::System.Runtime.InteropServices.HandleRef jarg1)
static bool RoutingModel_IsEnd(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static global::System.IntPtr RoutingModel_VehicleCostsConsideredVar(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_SolveWithParameters(global::System.Runtime.InteropServices.HandleRef jarg1, int search_parameters_size, byte[] jarg2)
static long RoutingModel_GetFixedCostOfVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static bool RoutingModel_CostsAreHomogeneousAcrossVehicles(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_GetVehicleTypeContainer(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_Nodes(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_AddVariableMinimizedByFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static global::System.IntPtr RoutingModel_Solve__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static string RoutingModel_DebugOutputAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3)
static bool RoutingModel_IsVehicleAllowedForIndex(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, long jarg3)
static bool RoutingModel_CheckLimit(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_VehicleTypeContainer_VehicleClassEntry_vehicle_class_get(global::System.Runtime.InteropServices.HandleRef jarg1)
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 bool RoutingModel_AreEmptyRouteCostsConsideredForVehicle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_GetMutableGlobalCumulMPOptimizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef 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 int RoutingModel_Vehicles(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_AddSoftSameVehicleConstraint(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, long[] jarg2, long jarg3)
static global::System.IntPtr RoutingModel_GetSingleNodesOfType(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 void RoutingModel_IgnoreDisjunctionsAlreadyForcedToZero(global::System.Runtime.InteropServices.HandleRef jarg1)
static global::System.IntPtr RoutingModel_Solve__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1)
static int RoutingModel_RegisterPositiveUnaryTransitCallback(global::System.Runtime.InteropServices.HandleRef jarg1, LongToLong jarg2)
static void RoutingModel_SetAllowedVehiclesForIndex(global::System.Runtime.InteropServices.HandleRef jarg1, int length2, int[] jarg2, long jarg3)
static void RoutingModel_AddWeightedVariableMinimizedByFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, long jarg3)
static global::System.IntPtr RoutingModel_MakeSelfDependentDimensionFinalizer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static bool RoutingModel_WriteAssignment(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
static void delete_RoutingModel_VehicleTypeContainer(global::System.Runtime.InteropServices.HandleRef jarg1)
static long RoutingModel_GetDepot(global::System.Runtime.InteropServices.HandleRef jarg1)
static void RoutingModel_VehicleTypeContainer_sorted_vehicle_classes_per_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static bool RoutingModel_ApplyLocksToAllVehicles(global::System.Runtime.InteropServices.HandleRef jarg1, int len2_1, int[] len2_2, long[] jarg2, bool jarg3)
static bool RoutingModel_HasVehicleWithCostClassIndex(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_ActiveVar(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static void RoutingModel_AddSearchMonitor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
static void RoutingModel_VehicleTypeContainer_VehicleClassEntry_fixed_cost_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2)
static global::System.IntPtr RoutingModel_GetRequiredTypeAlternativesWhenRemovingType(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
static global::System.IntPtr RoutingModel_GetGlobalDimensionCumulMPOptimizers(global::System.Runtime.InteropServices.HandleRef jarg1)
static byte[] ProtoToByteArray(IMessage message)
Definition: ProtoHelper.cs:22
delegate long LongLongToLong(long t, long u)
delegate long LongToLong(long t)