Interface IOptimizerOptions
Optimizer options that are common across all algorithms.
Namespace: BayesServer.Optimization
Assembly: BayesServer.Optimization.dll
Syntax
public interface IOptimizerOptions
Properties
Cancellation
Gets of sets the instance implementing ICancellation, used for cancellation.
Declaration
[Browsable(false)]
ICancellation Cancellation { get; set; }
Property Value
Type | Description |
---|---|
ICancellation |
See Also
CausalEffectKind
Gets or sets the kind of causal effect to optimize. e.g. Total/Direct.
Declaration
CausalEffectKind CausalEffectKind { get; set; }
Property Value
Type | Description |
---|---|
CausalEffectKind |
Remarks
Not all algorithms support direct effect calculations.
InferenceFactory
Creates one or more inference engines used by the optimization algorithm.
Declaration
[Browsable(false)]
IInferenceFactory InferenceFactory { get; set; }
Property Value
Type | Description |
---|---|
IInferenceFactory |
MaximumConcurrency
Gets or sets the maximum number of inference engines used during optimization.
Declaration
int? MaximumConcurrency { get; }
Property Value
Type | Description |
---|---|
Nullable<Int32> |
Remarks
During optimization, multiple inference engines may be used in parallel. However each inference engine has its own memory requirements for inference, and so this parameter allows the number to be limited, to avoid excessive memory consumption. The amount of memory used per inference engine, depends on the Network and also the evidence.
Progress
Gets of sets the instance implementing IOptimizerProgress, used for progress notifications.
Declaration
[Browsable(false)]
IOptimizerProgress Progress { get; set; }
Property Value
Type | Description |
---|---|
IOptimizerProgress |
QueryDistributions
Determines which additional queries, if any, should be calculated by the inference engine when evaluating the fitness of a solution. For example, additional queries maybe referenced by function nodes.
Declaration
[Browsable(false)]
IList<QueryDistribution> QueryDistributions { get; }
Property Value
Type | Description |
---|---|
IList<QueryDistribution> |
QueryFunctions
Determines which additional functions, if any, should be calculated by the inference engine when evaluating the fitness of a solution. For example, functions that are referenced by a function node optimization target/objective.
Declaration
[Browsable(false)]
IList<QueryFunctionOutput> QueryFunctions { get; }
Property Value
Type | Description |
---|---|
IList<QueryFunctionOutput> |
QueryLogLikelihood
Determines whether the log-likelihood should be calculated by the inference engine when evaluating the fitness of a solution. For example, the log-likelihood maybe referenced by function nodes.
Declaration
bool? QueryLogLikelihood { get; set; }
Property Value
Type | Description |
---|---|
Nullable<Boolean> |
Stopping
Gets or sets the instance implementing IStop used for early stopping.
Declaration
[Browsable(false)]
IStop Stopping { get; set; }
Property Value
Type | Description |
---|---|
IStop | The instance used for stopping. |
Remarks
Stopping is different to cancellation, as stopping will still return an objective value from the optimization process, albeit having performed fewer iterations.