Module org.cicirello.chips_n_salsa
Class BoundedIntegerVector
java.lang.Object
org.cicirello.search.representations.IntegerVector
org.cicirello.search.representations.BoundedIntegerVector
- All Implemented Interfaces:
IntegerValued,Copyable<IntegerVector>
A class for representing the input to a multivariate function, with integer values that are
bounded in some interval [min, max].
-
Constructor Summary
ConstructorsConstructorDescriptionBoundedIntegerVector(int[] x, int min, int max) Initializes the vector to the specified values, subject to the given bounds [min, max].Copies a BoundedIntegerVector. -
Method Summary
Modifier and TypeMethodDescriptioncopy()Creates an identical copy of this object.booleanIndicates whether some other object is "equal to" this one.inthashCode()Returns a hash code value.final booleansameBounds(BoundedIntegerVector other) Checks if the bounds of this BoundedIntegerVector are the same as those of another.final voidset(int[] values) Sets from an array, subject to the lower and upper bounds for this vector.final voidset(int i, int value) Sets a parameter to a specified value, subject to the lower and upper bounds for this function input.Methods inherited from class org.cicirello.search.representations.IntegerVector
exchange, get, length, toArray
-
Constructor Details
-
BoundedIntegerVector
public BoundedIntegerVector(int[] x, int min, int max) Initializes the vector to the specified values, subject to the given bounds [min, max].- Parameters:
x- The initial values for the vector. Any values that are less than min will instead be set to min. Any values that are greater than max will instead be set to max.min- The minimum allowed value for each integer.max- The maximum allowed value for each integer.- Throws:
IllegalArgumentException- if min > max
-
BoundedIntegerVector
Copies a BoundedIntegerVector.- Parameters:
other- The other BoundedIntegerVector
-
-
Method Details
-
set
public final void set(int i, int value) Sets a parameter to a specified value, subject to the lower and upper bounds for this function input. If the specified new value is less than the min, then the function input is set to the min. If the specified new value is greater than the max, then the function input is set to the max. Otherwise, the function input is set to the specified value.- Specified by:
setin interfaceIntegerValued- Overrides:
setin classIntegerVector- Parameters:
i- The input to set.value- The new value for the i-th function input.- Throws:
ArrayIndexOutOfBoundsException- if i < 0 or i ≥ length().
-
set
public final void set(int[] values) Sets from an array, subject to the lower and upper bounds for this vector. If a specified new value is less than the min, then it is set to the min. If the specified new value is greater than the max, then the it is set to the max. Otherwise, it is set to the specified value.- Specified by:
setin interfaceIntegerValued- Overrides:
setin classIntegerVector- Parameters:
values- The values to set.
-
sameBounds
Checks if the bounds of this BoundedIntegerVector are the same as those of another.- Parameters:
other- The other vector.- Returns:
- true if the vectors have the same bounds and false otherwise
-
copy
Creates an identical copy of this object.- Specified by:
copyin interfaceCopyable<IntegerVector>- Overrides:
copyin classIntegerVector- Returns:
- an identical copy of this object
-
equals
Indicates whether some other object is "equal to" this one. To be equal, the other object must be of the same runtime type and contain the same values and bounds.- Overrides:
equalsin classIntegerVector- Parameters:
other- The other object to compare.- Returns:
- true if other is not null, is of the same runtime type as this, and contains the same values and bounds.
-
hashCode
public int hashCode()Returns a hash code value.- Overrides:
hashCodein classIntegerVector- Returns:
- a hash code value
-