TargetedSegmentListOptimizerFunction Class |
A OptimizerMultivariableFunction that can be used in a ParameterOptimizer to optimize an arbitrary trajectory or other state elements based on the variables, the cost function, the equality constraints, and the inequality constraints.
This function will be created automatically at propagation time inside any TargetedSegmentListOperator that requires a function. As such, this will not dispose the items it is configured with.
Namespace: AGI.Foundation.NumericalMethods
The TargetedSegmentListOptimizerFunction type exposes the following members.
Name | Description | |
---|---|---|
TargetedSegmentListOptimizerFunction(TargetedSegmentListOptimizerFunction, CopyContext) | Initializes a new instance as a copy of an existing instance. | |
TargetedSegmentListOptimizerFunction(IListSegmentPropagatorVariableEvaluator, SegmentPropagatorCostFunctionEvaluator, IListSegmentPropagatorConstraintEvaluator, IListSegmentPropagatorInequalityConstraintEvaluator, IListSegmentPropagator, FiniteDifferenceMethod, TargetedSegmentListResults, TargetedSegmentListConfiguration) |
Initializes a new instance. The items passed in can be the original items that would be
propagated normally; you do not need to clone or otherwise copy the parameters for this function.
|
Name | Description | |
---|---|---|
DifferenceMethod |
Gets or sets how the default numerically computed derivatives of this function should be computed.
(Inherited from OptimizerMultivariableFunction.) | |
IsThreadSafe |
Gets a value indicating whether the methods on this instance are safe to call from
multiple threads simultaneously.
(Overrides OptimizerMultivariableFunctionIsThreadSafe.) | |
PerturbationValues |
Gets or sets the values to use to perturb the variables when the derivative is computed numerically.
This can be ignored if the concrete function computes its derivative analytically.
(Inherited from OptimizerMultivariableFunction.) |
Name | Description | |
---|---|---|
ApplyResults |
For OptimizerMultivariableFunctions that have
state, there may be times when that state should be manually set on a function (sometimes
for performance reasons, when the function will be called multiple times and it should
start from where it left off). This method will manually set that state, if needed.
(Overrides OptimizerMultivariableFunctionApplyResults(OptimizerMultivariableFunctionResults).) | |
CallDerivativeEvaluationEvent |
Calls the DerivativeEvaluationEvent.
(Inherited from OptimizerMultivariableFunction.) | |
Clone |
Clones this object using the specified context.
(Overrides OptimizerMultivariableFunctionClone(CopyContext).) | |
Dispose |
Releases any resources associated with this instance.
(Inherited from OptimizerMultivariableFunction.) | |
Dispose(Boolean) |
Releases any resources associated with this instance.
(Inherited from OptimizerMultivariableFunction.) | |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Evaluate(Double, ITrackCalculationProgress) | Evaluates the function. The OptimizerMultivariableFunctionResults returned must include the computed equality constraints in the order that they are in the Equalities and the computed inequality constraints in the order that they are in the Inequalities. If there are no equality constraints, the function should return a zero-length array of doubles for the equality constraint values. The same should be done for the inequality constraint values if there are no inequality constraint. If the CostFunction is , the results should include a null cost function value. Otherwise, the results should return a Double as the cost function value. | |
Evaluate(Double, Int32, Boolean, ITrackCalculationProgress) |
Evaluates the function and the gradients. This will call both the DerivativeEvaluationEvent and the
NormalFunctionEvaluationEvent events.
(Inherited from OptimizerMultivariableFunction.) | |
EvaluateDerivative(Double, Boolean, ITrackCalculationProgress) |
Evaluates the gradients of this function. The default implementation of this method will numerically compute the
gradients. To do that, the value of the function at the
variables will be computed. When using the default implementation, the
PerturbationValues must be set.
(Inherited from OptimizerMultivariableFunction.) | |
EvaluateDerivative(Double, Boolean, OptimizerMultivariableFunctionResults, ITrackCalculationProgress) |
Evaluates the gradients of this function. The default implementation of this method will numerically compute the
gradients. To do that, the value of the function at the
variables will be computed. When using the default implementation, the
PerturbationValues must be set.
(Inherited from OptimizerMultivariableFunction.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
DerivativeEvaluationEvent |
An event that gets raised when the derivative of the function is evaluated.
This event will be raised in whatever thread the derivative is evaluated in.
If you override the
EvaluateDerivative(Double, Boolean, OptimizerMultivariableFunctionResults, ITrackCalculationProgress)
method, you should call this event.
(Inherited from OptimizerMultivariableFunction.) | |
NormalFunctionEvaluationEvent |
An event that gets raised when the nominal function is evaluated.
This event will be raised in whatever thread the nominal function run was.
This should be called in the concrete Evaluate(Double, ITrackCalculationProgress) method.
(Inherited from OptimizerMultivariableFunction.) | |
PerturbedFunctionEvaluationEvent |
An event that gets raised when a perturbed function is computed as part of the derivation of the derivative of the function.
This event will be raised in whatever thread the function was evaluated in.
This can be ignored if the concrete function computes its derivative analytically.
(Inherited from OptimizerMultivariableFunction.) |