Click or drag to resize

CombinationOptimizationContext Constructor

Initializes a new instance of the CombinationOptimizationContext class aimed to optimize the specified objective function, with the given optimization goal, range of iterations, and probability smoothing coefficient.

Namespace:  Novacta.Analytics.Advanced
Assembly:  Novacta.Analytics (in Novacta.Analytics.dll) Version: 2.0.0
Syntax
public CombinationOptimizationContext(
	Func<DoubleMatrix, double> objectiveFunction,
	int stateDimension,
	int combinationDimension,
	double probabilitySmoothingCoefficient,
	OptimizationGoal optimizationGoal,
	int minimumNumberOfIterations,
	int maximumNumberOfIterations
)

Parameters

objectiveFunction
Type: SystemFuncDoubleMatrix, Double
The function to be optimized.
stateDimension
Type: SystemInt32
The number of available items.
combinationDimension
Type: SystemInt32
The number of items to be taken at a time.
probabilitySmoothingCoefficient
Type: SystemDouble
A coefficient to define the smoothing scheme for the probabilities of the Cross-Entropy parameters exploited by this context.
optimizationGoal
Type: Novacta.Analytics.AdvancedOptimizationGoal
A constant to specify if the function must be minimized or maximized.
minimumNumberOfIterations
Type: SystemInt32
The minimum number of iterations required by this context.
maximumNumberOfIterations
Type: SystemInt32
The maximum number of iterations allowed by this context.
Exceptions
ExceptionCondition
ArgumentNullExceptionobjectiveFunction is null.
ArgumentExceptionoptimizationGoal is not a field of OptimizationGoal.
-or-
minimumNumberOfIterations is greater than maximumNumberOfIterations. -or-
combinationDimension is not less than stateDimension.
ArgumentOutOfRangeExceptionprobabilitySmoothingCoefficient is not in the open interval between 0 and 1.
-or-
stateDimension is not positive.
-or-
combinationDimension is not positive.
-or-
minimumNumberOfIterations is not positive.
-or-
maximumNumberOfIterations is not positive.
Remarks

It is assumed that the objectiveFunction will accept row vectors as valid representations of an argument.

Any argument represents a combination of stateDimension, say LaTeX equation, items taken combinationDimension, say LaTeX equation, at a time. An argument, say LaTeX equation, must have its LaTeX equation-th entry LaTeX equation equal to LaTeX equation if the corresponding item is included in the combination; LaTeX equation otherwise.

As discussed by Rubinstein and Kroese, Remark 5.2, p. 189[1] , typical values for probabilitySmoothingCoefficient are between .7 and 1 (excluded).

Bibliography
[1] Rubinstein, R.Y. and Kroese, D.P., The Cross-Entropy Method, A unified Approach to Combinatorial Optimization, Monte-Carlo Simulation, and Machine Learning, Springer, New York. (2004)
See Also