Stochastic Solver
Represents an abstract base class for stochastic solvers. This class provides foundational functionality for solvers that utilize randomness during their optimization process.
Parameters
the problem being solved
The evaluator responsible for assessing the quality of solutions. Must implement the EvaluatorIfc interface.
The maximum number of iterations allowed for the solving process.
Strategy to determine the number of replications to perform for each evaluation.
the random number stream number, defaults to 0, which means the next stream
the provider of random number streams; defaults to a fresh RNStreamProvider, so each solver has its own streams
Optional name identifier for this instance of the solver.
Inheritors
Constructors
Creates a stochastic solver with the specified parameters.
Types
Represents a starting point generator that uses a randomly generated feasible point that is based on a sampling of randomly generated points within the feasible region of the problem definition.
Properties
If true, the stream will automatically participate in having its stream advanced to the next sub-stream via stream managers
Tells the stream to start producing antithetic variates
Structured, ordered snapshot of the solver's configuration — the same fields the toString implementations expose, in a form that downstream consumers can iterate (reporting, machine-readable summary artifacts, "compare two runs" tooling).
If true, the stream will automatically participate in having its stream reset to its start stream via stream managers
rnStream provides a reference to the underlying stream of random numbers
Can be supplied to provide a method for specifying a feasible starting point. The default is to randomly generate a starting point
Functions
Positions the RNG at the beginning of its next substream
The resetStartStream method will position the RNG at the beginning of its stream. This is the same location in the stream as assigned when the RNG was created and initialized.
Resets the position of the RNG at the start of the current substream
Generates a set of distinct input-feasible points for the problem, using one of two strategies depending on the size of the feasible grid relative to the request:
Generates a set of randomly generated points (inputs) for the problem. The points are sampled using Latin hyper-cube sampling over the ranges of the inputs. The points might not be feasible with respect to linear or functional constraints for the problem.
The default implementation will produce an input-feasible starting point by acceptance sampling of the feasible region using the problem definition.
Sets the starting point generator to use a randomly generated input-feasible points that are based on Latin hyper-cube sampling.
Sets the starting point generator to use a randomly generated input-feasible point that is associated with the best solution found from a sampling of randomly generated points within the feasible region of the problem definition. This approach causes the simulation oracles to be run multiple times during the search.
Logs a warning at construction when a requested population or design size exceeds the number of distinct feasible input points (the problem's input lattice). No run can use more distinct feasible points than exist, so sampleInputFeasiblePoints supplies at most that many. Intended to be called from a population-based subclass's init block so the mismatch is surfaced before a run rather than only mid-run.