Click or drag to resize

ParameterOptimizer Class

The abstract base class for ParameterOptimizers. An instance of a type derived from this will pass in values of Variables into an OptimizerMultivariableFunction to optimize the CostFunction, match the equality constraints, and satisfy the inequality constraints.
Inheritance Hierarchy

Namespace:  AGI.Foundation.NumericalMethods
Assembly:  AGI.Foundation.Core (in AGI.Foundation.Core.dll) Version: 24.1.418.0 (24.1.418.0)
Syntax
public abstract class ParameterOptimizer : IThreadAware, 
	ICloneWithContext, IDisposable

The ParameterOptimizer type exposes the following members.

Constructors
  NameDescription
Protected methodParameterOptimizer
Initializes a new instance. You must add at least one variable to the Variables as well as set the Function. Further, either the CostFunction must be set or at least one equality constraint must be added to the Equalities to pose a well-defined optimization problem.
Protected methodParameterOptimizer(ParameterOptimizer, CopyContext)
Initializes a new instance as a copy of an existing instance.
Top
Properties
  NameDescription
Public propertyCostFunction
Gets or sets the cost function settings corresponding to the results computed by the Function. If there are no equality constraints set, then this property must not be for this optimizer to work.
Public propertyCurrentIteration
Gets or sets the number of the current iteration. This should be incremented in the FindSolution(Int32, Boolean, ITrackCalculationProgress) method.
Public propertyEqualities
Gets the equality constraint settings corresponding to the results computed by the Function. If the CostFunction is , there must be at least one constraint set for this optimizer to work.
Public propertyFunction
Gets or sets the function to solve. When the solver converges, this function must have been run with the variable values that converged. This behavior must be obeyed when Multithreaded is either or .
Public propertyInequalities
Gets the inequality constraint settings corresponding to the results computed by the Function.
Public propertyIsThreadSafe
Gets a value indicating whether the methods on this instance are safe to call from multiple threads simultaneously.
Public propertyLastRunsResults
Gets or sets the results of the solver run. This includes such information as if the solver converged, all the iteration results (if configured to save them), if the run was aborted, etc.
Public propertyMultithreaded
Gets or sets a value indicating whether this optimizer should evaluate with as many threads as the current threading policy facet and optimizer algorithm will allow. Note that derived types should copy this in their copy constructor.
Public propertyVariables
Gets the SolverVariableSettings that will be used when computing this function. The variables passed to the function will be in the same order as this list of settings. There must be at least one variable set for this solver to work.
Top
Methods
  NameDescription
Public methodStatic memberCheckCostFunctionConvergence
A helper method to determine if the cost function changed by less than its Tolerance in the last iteration.
Public methodStatic memberCheckEqualitySatisfaction
A helper method to determine if the equality constraints are satisfied with the currentEqualityValues.
Public methodStatic memberCheckInequalitySatisfaction
A helper method to determine if the inequality constraints are satisfied with the currentInequalityValues.
Public methodStatic memberCheckVariableConvergence
A helper method to determine if each of the variables changed by less than their respective VariableTolerance in the last iteration.
Public methodClone
Clones this object using the specified context.
Public methodDispose
Releases any resources associated with this instance.
Protected methodDispose(Boolean)
Releases any resources associated with this instance.
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 methodFindSolution(Int32)
Optimizes the Function. By default, the results of every iteration will be stored.
Public methodFindSolution(Int32, Boolean)
Optimizes the Function.
Public methodFindSolution(Int32, Boolean, ITrackCalculationProgress)
Optimizes the Function.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodReset
Resets the ParameterOptimizer by setting the LastRunsResults to and the CurrentIteration to zero. This method should be called in any derived version.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
See Also