Click or drag to resize

TargetedSegmentListParameterOptimizer Class

Allows the constrained or unconstrained parameter optimization of trajectories by adjusting variables to minimize or maximize a cost function while satisfying equality and inequality constraints.

The parameter optimizer can be run in "differential corrector" mode with a cost function as long as at least one equality constraint is added. If a cost function is set, equality constraints are optional. Inequality constraints are always optional.

Inheritance Hierarchy

Namespace:  AGI.Foundation.NumericalMethods
Assembly:  AGI.Foundation.SegmentPropagation (in AGI.Foundation.SegmentPropagation.dll) Version: 24.1.418.0 (24.1.418.0)
Syntax
public class TargetedSegmentListParameterOptimizer : TargetedSegmentListOperator, 
	IDisposable

The TargetedSegmentListParameterOptimizer type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyCostFunction
Gets or sets the cost function that the Variables will attempt to minimize or maximize by modifying the trajectory of the parent TargetedSegmentList. This CostFunction will provide the CostFunctionSettings to the Optimizer when GetOperatorEvaluator(EvaluatorGroup) is called.
Public propertyDifferenceMethod
Gets or sets the difference method used to compute the derivative of the function.
Public propertyEqualities
Gets the equalities that the Variables will attempt to satisfy by modifying the trajectory of the parent TargetedSegmentList. These Equalities will provide the SolverConstraintSettings to the Optimizer when GetOperatorEvaluator(EvaluatorGroup) is called.
Public propertyInequalities
Gets the inequalities that the Variables will attempt to satisfy by modifying the trajectory of the parent TargetedSegmentList. These Inequalities will provide the InequalityConstraintSettings to the Optimizer when GetOperatorEvaluator(EvaluatorGroup) is called.
Public propertyIsFrozen
Gets a value indicating whether this object is frozen. A frozen object cannot be modified and an ObjectFrozenException will be thrown if an attempt is made to do so.
(Inherited from DefinitionalObject.)
Public propertyMaximumIterations
Gets or sets the maximum number of iterations this operator will take to find a solution. By default, this is set to 50.
Public propertyName
Gets or sets an optional name for you to identify this operator with.
(Inherited from TargetedSegmentListOperator.)
Public propertyOnlyStoreFinalResults
Gets or sets a value indicating whether this operator should report only the final results or all iterations/computations. For example, it is possible that this operator will iterate to a solution and that each iteration will produce a large ephemeris. If memory use is a concern and you do not need to do analysis on the iterations, ensure this is . Conversely, if debugging the operator's performance is needed set this property to . By default this is .
Public propertyOptimizer
Gets or sets the ParameterOptimizer that will be used to optimize the trajectory. All properties on the Optimizer should be set as needed except for the Function, the CostFunction, Equalities, Inequalities, and Variables.
Public propertyVariables
Gets the variables that will change the trajectory to minimize or maximize the CostFunction and satisfy the Equalities and Inequalities. These Variables will provide the SolverVariableSettings to the Optimizer when GetOperatorEvaluator(EvaluatorGroup) is called.
Top
Methods
  NameDescription
Protected methodCheckForSameDefinition(DefinitionalObject)
Checks to determine if another instance has the same definition as this instance and returns if it does. Derived classes MUST override this method and check all new fields introduced by the derived class for definitional equivalence. It is NOT necessary to check base class fields because the base class will already have done that. When overriding this method, you should NOT call the base implementation because it will return for all derived-class instances. Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
(Inherited from TargetedSegmentListOperator.)
Protected methodCheckForSameDefinition(TargetedSegmentListOperator)
Checks to determine if another instance has the same definition as this instance and returns if it does. Derived classes MUST override this method and check all new fields introduced by the derived class for definitional equivalence. It is NOT necessary to check base class fields because the base class will already have done that. When overriding this method, you should NOT call the base implementation because it will return for all derived-class instances. Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
(Overrides TargetedSegmentListOperatorCheckForSameDefinition(TargetedSegmentListOperator).)
Protected methodCheckForSameDefinition(TargetedSegmentListParameterOptimizer)
Checks to determine if another instance has the same definition as this instance and returns if it does. Derived classes MUST override this method and check all new fields introduced by the derived class for definitional equivalence. It is NOT necessary to check base class fields because the base class will already have done that. When overriding this method, you should NOT call the base implementation because it will return for all derived-class instances. Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
Public methodClone
Clones this object using the specified context.
(Overrides TargetedSegmentListOperatorClone(CopyContext).)
Protected methodComputeCurrentDefinitionHashCode
Computes a hash code based on the current properties of this object. Derived classes MUST override this method and compute a hash code that combines: a unique hash code seed, the base implementation result, and the hash codes of all new fields introduced by the derived class which are used in the CheckForSameDefinition(DefinitionalObject) method.
(Overrides TargetedSegmentListOperatorComputeCurrentDefinitionHashCode.)
Public methodDispose
Releases any resources associated with this instance.
Protected methodDispose(Boolean)
Releases any resources associated with this instance.
Public methodEnumerateDependencies
Enumerates the dependencies of this object by calling EnumerateT(T) for each object that this object directly depends upon. Derived classes which contain additional dependencies MUST override this method, call the base implementation, and enumerate dependencies introduced by the derived class.
(Overrides DefinitionalObjectEnumerateDependencies(DependencyEnumerator).)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFreeze
Freezes this object. Further attempts to modify it will result in an ObjectFrozenException.
(Inherited from DefinitionalObject.)
Protected methodFreezeAggregatedObjects
Called by Freeze to also freeze any objects that are considered to be a part of this object. Derived classes which contain additional aggregated objects MUST override this method, call the base implementation, and freeze aggregated objects introduced by the derived class. The objects that need to be frozen in this method are frequently created in this object's constructor and are not settable via properties.
(Overrides DefinitionalObjectFreezeAggregatedObjects.)
Public methodGetDefinitionHashCode
Gets a hash code representing the definition of this object.
(Inherited from DefinitionalObject.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetOperatorEvaluator
Creates and returns the fully configured TargetedSegmentListOperatorEvaluator for use in a TargetedSegmentLists propagator.
(Overrides TargetedSegmentListOperatorGetOperatorEvaluator(EvaluatorGroup).)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIsSameDefinition
Determines if this object has the same definition as another object.
(Inherited from DefinitionalObject.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodThrowIfFrozen
Throws ObjectFrozenException if this object IsFrozen. This method should be called from any method or property that modifies this object.
(Inherited from DefinitionalObject.)
Public methodToString
Returns a string that represents the current object.
(Overrides ObjectToString.)
Top
Events
  NameDescription
Public eventNormalFunctionEvaluationEvent
An event that gets raised when the nominal orbit is evaluated with no perturbations. This event will be raised in whatever thread the orbit was run in.
Public eventPerturbedFunctionEvaluationEvent
An event that gets raised when a perturbed orbit is computed. This event will be raised in whatever thread the orbit was run in.
Top
See Also