Input Map
Two InputMaps are considered equal if their (name, value) pairs are the same. This class prevents the keys and values from changing. This prevents an input map associated with a solution from being changed. InputMap instances are the keys for solution caches. Thus, we cannot change the key of the solution cache. The user cannot construct an input map that is infeasible with respect to the input variable ranges.
Parameters
the map containing the (name, value) pairs associated with inputs for the evaluation process. These names and values must be valid with respect to the problem. The name must be a valid name for the problem, and the value must be within the input variable's defined range of possible values.
Functions
A copy of the input map as a mutable map
Interprets the supplied map as inputs for the problem definition and returns true if the values are within functional constraints. False will be returned if at least one functional constraint is infeasible.
The supplied input is considered input-feasible if it is feasible with respect to the defined input parameter ranges, the linear constraints, and the functional constraints.
Interprets the supplied map as inputs for the problem definition and returns true if the values are within the ranges defined for the variables. False will be returned if at least one input variable is not within its defined range.
Interprets the supplied map as inputs for the problem definition and returns true if the values are within linear constraints. False will be returned if at least one linear constraint is infeasible.
Perturbs the current input values by the supplied step size. Each input is randomly increased or decreased by the step size. The likelihood of increasing or decreasing the value is equally likely.
Randomly generates a new value for the named input variable and returns a new input map. Randomization is uniformly distributed over the range of the input variable with no memory of its current value.
Checks if the supplied value is a valid input value for the supplied input name.