SiMoLib.NET API V3.0.1.1
Loading...
Searching...
No Matches
SiMoPO.HC.IHillClimbingAlgorithms Interface Reference

Interface to a single hill climbing algorithms thread. More...

+ Inheritance diagram for SiMoPO.HC.IHillClimbingAlgorithms:

Public Member Functions

int StartRaw (ref byte Maximization, ref int Dimension, double[] OptiPara, double[] OptiParaMin, double[] OptiParaMax, double[] OptiParaStep, byte[] OptiParaIsInvolved, byte[] OptiParaMaxIterate, double[] OptiParaOptimum, byte[] RandomizeStartParam, ref byte InfeasibleSolution, ref byte BreakOptimization, ref byte HaltOptimization, TargetFunctionCallRaw TargetFunctionRaw, SearchTypes SearchType, int RandomPopulationSize)
 Starts a direct optimization run without using properties, these have to be given then as parameters in the funtion call, the return values are OK = 0, OPTI_ERROR_NOT_LICENSED = -1, OPTI_ERROR_TARGET_FUNCTION_NULL = -2, OPTI_ERROR_DIMENSION_OVERSIZED = -3, OPTI_ERROR_IS_RUNNING = -4, OPTI_ERROR_NO_FEASIBLE_SOLUTION = -5, OPTI_ERROR_EXCEPTION = -100 or OPTI_ERROR_ARITHMETICEXCEPTION = -101.
 
- Public Member Functions inherited from SiMoPO.IParameterOptimization
int Start ()
 To trigger an optimization run, the return values are OK = 0, OPTI_ERROR_NOT_LICENSED = -1, OPTI_ERROR_TARGET_FUNCTION_NULL = -2, OPTI_ERROR_DIMENSION_OVERSIZED = -3, OPTI_ERROR_IS_RUNNING = -4, OPTI_ERROR_NO_FEASIBLE_SOLUTION = -5, OPTI_ERROR_EXCEPTION = -100 or OPTI_ERROR_ARITHMETICEXCEPTION = -101.
 

Properties

int RandomPopulationSize [get, set]
 To set the the number of random seeds for one optimization run.
 
byte[] RandomizeStartParam [get]
 If the RandomPopulationSize is greater than zero, this property can be used to explicitely select which parameter should be randomized in order to find a feasible solution.
 
byte[] OptiParaStepAdaptiveMode [get]
 If set to 0 the adaptive step size control is done linear, if set to 1 exponential, linear step size control makes sense with integer parameters representing options, exponential step size control is advised with double parameters.
 
double[] OptiParaStepAdaptiveBase [get]
 The base value when OptiParaStepAdaptiveMode is set to exponential.
 
int[] OptiParaStepAdaptiveAutoScaling [get]
 If not set to zero the adaptive step size control is activated starting with OptiParaStep around the value of Parameter Range / OptiParaStepAdaptiveAutoScaling, OptiParaStepAdaptive and OptiParaStepAdaptiveDecrease are calculated automatically then.
 
int[] OptiParaStepAdaptive [get]
 If not set to zero the adaptive step size control is activated starting with OptiParaStep = OptiParaStep * OptiParaStepAdaptiveBase^OptiParaStepAdaptive when OptiParaStepAdaptiveMode is set to exponential, with OptiParaStep = OptiParaStep * OptiParaStepAdaptive if set to linear.
 
int[] OptiParaStepAdaptiveDecrease [get]
 Describes the decrease of the adaptive OptiParaStep, i.e. if set to OptiParaStepAdaptive then the final OptiParaStep is reached after one iteration.
 
byte[] OptiParaMaxIterate [get]
 If TRUE the SimpleCoordinateSearch moves over the whole parameter range, this can be useful without adaptive step size control and integer parameters representing options.
 
SearchTypes SearchType [get, set]
 To set the search type.
 
string LicenseKeyStacker [get, set]
 To input a Stacker Developer or Stacker Developer Deploy license string, when read the hardware or software license is stated.
 
- Properties inherited from SiMoPO.IParameterOptimization
byte Maximization [get, set]
 If TRUE the search goes for a maximum of the target function, if FALSE for a minimum.
 
int Dimension [get, set]
 Number of parameters to be optimized.
 
int Id [get, set]
 Id of the PO algorithm to be used with parallel computing.
 
double[] OptiPara [get]
 Start parameters and runtime values of the parameters.
 
double[] OptiParaMin [get]
 Minimal allowed values for the parameters.
 
double[] OptiParaMax [get]
 Maximal allowed values for the parameters.
 
double[] OptiParaStep [get]
 Step width for the parameters (until now only used by Simple Hill Climbing)
 
byte[] OptiParaIsInvolved [get]
 If FALSE this parameter is not taken into optimization.
 
double[] OptiParaOptimum [get]
 Optimal values of the parameters after an optimization run.
 
double Optimum [get]
 Target function value after an optimization run.
 
byte InfeasibleSolution [get, set]
 If hill climbing parameters are set to RandomizeStartParam and hill climbing property RandomPopulationSize is greater than zero the target function must set this flag if the solution is infeasible (and reset if feasible), with genetic algorithms this parameter has no meaning yet.
 
byte BreakOptimization [get, set]
 To break an optimization run.
 
byte HaltOptimization [get, set]
 To halt an optimization run, as a handshake the optimization sets BreakOptimization, which has to be reset by the user.
 
string LicenseKey [get, set]
 To input a Developer or Developer Deploy license string, when read the hardware or software license is stated.
 
TargetFunctionCall TargetFunction [get, set]
 The target funtion is the function to be searched for an optimum according the parameters.
 
byte IsRunning [get]
 Signals the user that an optimization run is in progress.
 

Detailed Description

Interface to a single hill climbing algorithms thread.

Member Function Documentation

◆ StartRaw()

int SiMoPO.HC.IHillClimbingAlgorithms.StartRaw ( ref byte Maximization,
ref int Dimension,
double[] OptiPara,
double[] OptiParaMin,
double[] OptiParaMax,
double[] OptiParaStep,
byte[] OptiParaIsInvolved,
byte[] OptiParaMaxIterate,
double[] OptiParaOptimum,
byte[] RandomizeStartParam,
ref byte InfeasibleSolution,
ref byte BreakOptimization,
ref byte HaltOptimization,
TargetFunctionCallRaw TargetFunctionRaw,
SearchTypes SearchType,
int RandomPopulationSize )

Starts a direct optimization run without using properties, these have to be given then as parameters in the funtion call, the return values are OK = 0, OPTI_ERROR_NOT_LICENSED = -1, OPTI_ERROR_TARGET_FUNCTION_NULL = -2, OPTI_ERROR_DIMENSION_OVERSIZED = -3, OPTI_ERROR_IS_RUNNING = -4, OPTI_ERROR_NO_FEASIBLE_SOLUTION = -5, OPTI_ERROR_EXCEPTION = -100 or OPTI_ERROR_ARITHMETICEXCEPTION = -101.

Property Documentation

◆ LicenseKeyStacker

string SiMoPO.HC.IHillClimbingAlgorithms.LicenseKeyStacker
getset

To input a Stacker Developer or Stacker Developer Deploy license string, when read the hardware or software license is stated.

◆ OptiParaMaxIterate

byte [] SiMoPO.HC.IHillClimbingAlgorithms.OptiParaMaxIterate
get

If TRUE the SimpleCoordinateSearch moves over the whole parameter range, this can be useful without adaptive step size control and integer parameters representing options.

Default values are FALSE

◆ OptiParaStepAdaptive

int [] SiMoPO.HC.IHillClimbingAlgorithms.OptiParaStepAdaptive
get

If not set to zero the adaptive step size control is activated starting with OptiParaStep = OptiParaStep * OptiParaStepAdaptiveBase^OptiParaStepAdaptive when OptiParaStepAdaptiveMode is set to exponential, with OptiParaStep = OptiParaStep * OptiParaStepAdaptive if set to linear.

Default values are 0

◆ OptiParaStepAdaptiveAutoScaling

int [] SiMoPO.HC.IHillClimbingAlgorithms.OptiParaStepAdaptiveAutoScaling
get

If not set to zero the adaptive step size control is activated starting with OptiParaStep around the value of Parameter Range / OptiParaStepAdaptiveAutoScaling, OptiParaStepAdaptive and OptiParaStepAdaptiveDecrease are calculated automatically then.

Default values are 0

◆ OptiParaStepAdaptiveBase

double [] SiMoPO.HC.IHillClimbingAlgorithms.OptiParaStepAdaptiveBase
get

The base value when OptiParaStepAdaptiveMode is set to exponential.

Default values are 2.0

◆ OptiParaStepAdaptiveDecrease

int [] SiMoPO.HC.IHillClimbingAlgorithms.OptiParaStepAdaptiveDecrease
get

Describes the decrease of the adaptive OptiParaStep, i.e. if set to OptiParaStepAdaptive then the final OptiParaStep is reached after one iteration.

Default values are 1

◆ OptiParaStepAdaptiveMode

byte [] SiMoPO.HC.IHillClimbingAlgorithms.OptiParaStepAdaptiveMode
get

If set to 0 the adaptive step size control is done linear, if set to 1 exponential, linear step size control makes sense with integer parameters representing options, exponential step size control is advised with double parameters.

Default values are 1

◆ RandomizeStartParam

byte [] SiMoPO.HC.IHillClimbingAlgorithms.RandomizeStartParam
get

If the RandomPopulationSize is greater than zero, this property can be used to explicitely select which parameter should be randomized in order to find a feasible solution.

Default values are FALSE

◆ RandomPopulationSize

int SiMoPO.HC.IHillClimbingAlgorithms.RandomPopulationSize
getset

To set the the number of random seeds for one optimization run.

Default value is 0, this means the OptiPara values are used as only seed

◆ SearchType

SearchTypes SiMoPO.HC.IHillClimbingAlgorithms.SearchType
getset

To set the search type.

Default value is SimpleCoordinateSearch