public abstract class MultivariableFunctionDifferentialSolver extends MultivariableFunctionSolver
MultivariableFunctionSolvers
that will solve a function
by iteration towards a solution. In each iteration, the change of the variable values will be evaluated, applied to the previous
variable values and repeated in the next iteration.
An instance of a type derived from this will pass in values of Variables
(get
) into a
SolvableMultivariableFunction
to drive them to satisfy this Constraints
(get
).Modifier | Constructor and Description |
---|---|
protected |
MultivariableFunctionDifferentialSolver()
Initializes a new instance.
|
protected |
MultivariableFunctionDifferentialSolver(MultivariableFunctionDifferentialSolver existingInstance,
CopyContext context)
Initializes a new instance as a copy of an existing instance.
|
Modifier and Type | Method and Description |
---|---|
abstract MultivariableFunctionSolverStepResult<SolvableMultivariableFunctionResults,SolvableMultivariableFunctionDerivativeResults> |
computeNextStep(double[] variableValues,
ITrackCalculationProgress progressTracker)
Computes the next differential step that this differential corrector should take.
|
boolean |
findSolution(int numberOfIterations,
boolean justFinalResult,
ITrackCalculationProgress progressTracker)
Solves the
function . |
LineSearchSettings |
getLineSearchSettings()
Gets or sets an optional property that can be used to specify tolerances, convergence criteria, and maximum iterations
for a line search that is used to find the optimal feasible step in the same direction as the computed step.
|
void |
setLineSearchSettings(LineSearchSettings value)
Gets or sets an optional property that can be used to specify tolerances, convergence criteria, and maximum iterations
for a line search that is used to find the optimal feasible step in the same direction as the computed step.
|
checkConstraints, clone, dispose, dispose, findSolution, findSolution, getConstraints, getCurrentIteration, getFunction, getIsThreadSafe, getLastRunsResults, getMultithreaded, getVariables, reset, setCurrentIteration, setFunction, setLastRunsResults, setMultithreaded
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
close
protected MultivariableFunctionDifferentialSolver()
protected MultivariableFunctionDifferentialSolver(@Nonnull MultivariableFunctionDifferentialSolver existingInstance, @Nonnull CopyContext context)
See ICloneWithContext.clone(CopyContext)
for more information about how to implement this constructor
in a derived class.
existingInstance
- The existing instance to copy.context
- A CopyContext
that controls the depth of the copy.ArgumentNullException
- Thrown when existingInstance
or context
is null
.public final LineSearchSettings getLineSearchSettings()
Gets or sets an optional property that can be used to specify tolerances, convergence criteria, and maximum iterations for a line search that is used to find the optimal feasible step in the same direction as the computed step. The cost function that is minimized for the line search is the square root of the sum of the squares of the weighted and scaled constraint errors.
GoldenSectionFindExtremum
is used to find the minimum of the cost function along the direction
of the computed step.
public final void setLineSearchSettings(LineSearchSettings value)
Gets or sets an optional property that can be used to specify tolerances, convergence criteria, and maximum iterations for a line search that is used to find the optimal feasible step in the same direction as the computed step. The cost function that is minimized for the line search is the square root of the sum of the squares of the weighted and scaled constraint errors.
GoldenSectionFindExtremum
is used to find the minimum of the cost function along the direction
of the computed step.
public boolean findSolution(int numberOfIterations, boolean justFinalResult, ITrackCalculationProgress progressTracker)
function
. This method must increment CurrentIteration
(get
/ set
)
as well as set LastRunsResults
(get
/ set
) before this method returns.findSolution
in class MultivariableFunctionSolver
numberOfIterations
- The number of iterations that may be performed while
attempting to find a solution.justFinalResult
- Tells this method to only include the final results, or
the results of each iteration.progressTracker
- An optional progress tracker.LastRunsResults
(get
/ set
)
for the results.public abstract MultivariableFunctionSolverStepResult<SolvableMultivariableFunctionResults,SolvableMultivariableFunctionDerivativeResults> computeNextStep(double[] variableValues, ITrackCalculationProgress progressTracker)
variableValues
- The current values of the variables.progressTracker
- An optional progress tracker.