Java Reference

Java Reference

Pack.java
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2  * This file was automatically generated by SWIG (http://www.swig.org).
3  * Version 4.0.2
4  *
5  * Do not make changes to this file unless you know what you are doing--modify
6  * the SWIG interface file instead.
7  * ----------------------------------------------------------------------------- */
8 
9 package com.google.ortools.constraintsolver;
10 
11 // Used to wrap IndexEvaluator1
12 // see https://docs.oracle.com/javase/8/docs/api/java/util/function/LongUnaryOperator.html
13 import java.util.function.LongUnaryOperator;
14 // Used to wrap IndexEvaluator2
15 // see https://docs.oracle.com/javase/8/docs/api/java/util/function/LongBinaryOperator.html
16 import java.util.function.LongBinaryOperator;
17 
18 public class Pack extends Constraint {
19  private transient long swigCPtr;
20 
21  protected Pack(long cPtr, boolean cMemoryOwn) {
22  super(mainJNI.Pack_SWIGUpcast(cPtr), cMemoryOwn);
23  swigCPtr = cPtr;
24  }
25 
26  protected static long getCPtr(Pack obj) {
27  return (obj == null) ? 0 : obj.swigCPtr;
28  }
29 
30  @SuppressWarnings("deprecation")
31  protected void finalize() {
32  delete();
33  }
34 
35  public synchronized void delete() {
36  if (swigCPtr != 0) {
37  if (swigCMemOwn) {
38  swigCMemOwn = false;
39  mainJNI.delete_Pack(swigCPtr);
40  }
41  swigCPtr = 0;
42  }
43  super.delete();
44  }
45 
46  public Pack(Solver s, IntVar[] vars, int number_of_bins) {
47  this(mainJNI.new_Pack(Solver.getCPtr(s), s, vars, number_of_bins), true);
48  }
49 
59  public void addWeightedSumLessOrEqualConstantDimension(long[] weights, long[] bounds) {
60  mainJNI.Pack_addWeightedSumLessOrEqualConstantDimension__SWIG_0(swigCPtr, this, weights, bounds);
61  }
62 
69  public void addWeightedSumLessOrEqualConstantDimension(LongUnaryOperator weights, long[] bounds) {
70  mainJNI.Pack_addWeightedSumLessOrEqualConstantDimension__SWIG_1(swigCPtr, this, weights, bounds);
71  }
72 
79  public void addWeightedSumLessOrEqualConstantDimension(LongBinaryOperator weights, long[] bounds) {
80  mainJNI.Pack_addWeightedSumLessOrEqualConstantDimension__SWIG_2(swigCPtr, this, weights, bounds);
81  }
82 
87  public void addWeightedSumEqualVarDimension(long[] weights, IntVar[] loads) {
88  mainJNI.Pack_addWeightedSumEqualVarDimension__SWIG_0(swigCPtr, this, weights, loads);
89  }
90 
96  public void addWeightedSumEqualVarDimension(LongBinaryOperator weights, IntVar[] loads) {
97  mainJNI.Pack_addWeightedSumEqualVarDimension__SWIG_1(swigCPtr, this, weights, loads);
98  }
99 
111  public void addSumVariableWeightsLessOrEqualConstantDimension(IntVar[] usage, long[] capacity) {
112  mainJNI.Pack_addSumVariableWeightsLessOrEqualConstantDimension(swigCPtr, this, usage, capacity);
113  }
114 
119  public void addWeightedSumOfAssignedDimension(long[] weights, IntVar cost_var) {
120  mainJNI.Pack_addWeightedSumOfAssignedDimension(swigCPtr, this, weights, IntVar.getCPtr(cost_var), cost_var);
121  }
122 
127  public void addCountUsedBinDimension(IntVar count_var) {
128  mainJNI.Pack_addCountUsedBinDimension(swigCPtr, this, IntVar.getCPtr(count_var), count_var);
129  }
130 
135  public void addCountAssignedItemsDimension(IntVar count_var) {
136  mainJNI.Pack_addCountAssignedItemsDimension(swigCPtr, this, IntVar.getCPtr(count_var), count_var);
137  }
138 
139  public void post() {
140  mainJNI.Pack_post(swigCPtr, this);
141  }
142 
143  public void clearAll() {
144  mainJNI.Pack_clearAll(swigCPtr, this);
145  }
146 
147  public void propagateDelayed() {
148  mainJNI.Pack_propagateDelayed(swigCPtr, this);
149  }
150 
151  public void initialPropagate() {
152  mainJNI.Pack_initialPropagate(swigCPtr, this);
153  }
154 
155  public void propagate() {
156  mainJNI.Pack_propagate(swigCPtr, this);
157  }
158 
159  public void oneDomain(int var_index) {
160  mainJNI.Pack_oneDomain(swigCPtr, this, var_index);
161  }
162 
163  public String toString() {
164  return mainJNI.Pack_toString(swigCPtr, this);
165  }
166 
167  public boolean isUndecided(int var_index, int bin_index) {
168  return mainJNI.Pack_isUndecided(swigCPtr, this, var_index, bin_index);
169  }
170 
171  public void setImpossible(int var_index, int bin_index) {
172  mainJNI.Pack_setImpossible(swigCPtr, this, var_index, bin_index);
173  }
174 
175  public void assign(int var_index, int bin_index) {
176  mainJNI.Pack_assign(swigCPtr, this, var_index, bin_index);
177  }
178 
179  public boolean isAssignedStatusKnown(int var_index) {
180  return mainJNI.Pack_isAssignedStatusKnown(swigCPtr, this, var_index);
181  }
182 
183  public boolean isPossible(int var_index, int bin_index) {
184  return mainJNI.Pack_isPossible(swigCPtr, this, var_index, bin_index);
185  }
186 
187  public IntVar assignVar(int var_index, int bin_index) {
188  long cPtr = mainJNI.Pack_assignVar(swigCPtr, this, var_index, bin_index);
189  return (cPtr == 0) ? null : new IntVar(cPtr, false);
190  }
191 
192  public void setAssigned(int var_index) {
193  mainJNI.Pack_setAssigned(swigCPtr, this, var_index);
194  }
195 
196  public void setUnassigned(int var_index) {
197  mainJNI.Pack_setUnassigned(swigCPtr, this, var_index);
198  }
199 
200  public void removeAllPossibleFromBin(int bin_index) {
201  mainJNI.Pack_removeAllPossibleFromBin(swigCPtr, this, bin_index);
202  }
203 
204  public void assignAllPossibleToBin(int bin_index) {
205  mainJNI.Pack_assignAllPossibleToBin(swigCPtr, this, bin_index);
206  }
207 
208  public void assignFirstPossibleToBin(int bin_index) {
209  mainJNI.Pack_assignFirstPossibleToBin(swigCPtr, this, bin_index);
210  }
211 
212  public void assignAllRemainingItems() {
213  mainJNI.Pack_assignAllRemainingItems(swigCPtr, this);
214  }
215 
217  mainJNI.Pack_unassignAllRemainingItems(swigCPtr, this);
218  }
219 
220  public void accept(ModelVisitor visitor) {
221  mainJNI.Pack_accept(swigCPtr, this, ModelVisitor.getCPtr(visitor), visitor);
222  }
223 
224 }
boolean isPossible(int var_index, int bin_index)
Definition: Pack.java:183
void addWeightedSumEqualVarDimension(LongBinaryOperator weights, IntVar[] loads)
This dimension imposes that for all bins b, the weighted sum (weights->Run(i, b)) of all objects i a...
Definition: Pack.java:96
IntVar assignVar(int var_index, int bin_index)
Definition: Pack.java:187
Pack(long cPtr, boolean cMemoryOwn)
Definition: Pack.java:21
boolean isAssignedStatusKnown(int var_index)
Definition: Pack.java:179
void assignAllPossibleToBin(int bin_index)
Definition: Pack.java:204
void addWeightedSumLessOrEqualConstantDimension(long[] weights, long[] bounds)
Dimensions are additional constraints than can restrict what is possible with the pack constraint.
Definition: Pack.java:59
void addSumVariableWeightsLessOrEqualConstantDimension(IntVar[] usage, long[] capacity)
This dimension imposes: forall b in bins, sum (i in items: usage[i] * is_assigned(i,...
Definition: Pack.java:111
void addWeightedSumEqualVarDimension(long[] weights, IntVar[] loads)
This dimension imposes that for all bins b, the weighted sum (weights[i]) of all objects i assigned ...
Definition: Pack.java:87
boolean isUndecided(int var_index, int bin_index)
Definition: Pack.java:167
void setImpossible(int var_index, int bin_index)
Definition: Pack.java:171
Pack(Solver s, IntVar[] vars, int number_of_bins)
Definition: Pack.java:46
void addCountAssignedItemsDimension(IntVar count_var)
This dimension links 'count_var' to the actual number of items assigned to a bin in the pack.
Definition: Pack.java:135
void initialPropagate()
This method performs the initial propagation of the constraint.
Definition: Pack.java:151
void assign(int var_index, int bin_index)
Definition: Pack.java:175
void assignFirstPossibleToBin(int bin_index)
Definition: Pack.java:208
void post()
This method is called when the constraint is processed by the solver.
Definition: Pack.java:139
void addWeightedSumLessOrEqualConstantDimension(LongUnaryOperator weights, long[] bounds)
This dimension imposes that for all bins b, the weighted sum (weights->Run(i)) of all objects i assi...
Definition: Pack.java:69
void addWeightedSumLessOrEqualConstantDimension(LongBinaryOperator weights, long[] bounds)
This dimension imposes that for all bins b, the weighted sum (weights->Run(i, b) of all objects i as...
Definition: Pack.java:79
void addCountUsedBinDimension(IntVar count_var)
This dimension links 'count_var' to the actual number of bins used in the pack.
Definition: Pack.java:127
void addWeightedSumOfAssignedDimension(long[] weights, IntVar cost_var)
This dimension enforces that cost_var == sum of weights[i] for all objects 'i' assigned to a bin.
Definition: Pack.java:119
void removeAllPossibleFromBin(int bin_index)
Definition: Pack.java:200
void accept(ModelVisitor visitor)
Accepts the given visitor.
Definition: Pack.java:220
void setUnassigned(int var_index)
Definition: Pack.java:196
Solver Class A solver represents the main computation engine.
Definition: Solver.java:73