Designer
This solver determines the optimal experimental design for a given measurement model. In a first step, we sample the prior distribution of the parameters \(\vartheta^{(i)}\sim p(\vartheta)\) for \(i=1,\dots,N_{\vartheta}\). Given the samples, we evaluate the model \(F(\vartheta^{(i)},s)\) and save the results for the candidate locations of the design parameters \(F(\vartheta^{(i)},s)\). In the last step, the likelihood \(p(y|\vartheta,s)\) is sampled for each of the parameters. Using the created samples \(y^{(i,j)}\sim p(y|\vartheta^{(i)},s)\) for \(i=1,\dots,N_y\) we approximate the utility using numerical integration
and perform the optimization over the space of design space is performed in order to determine the optimal design.
Usage
e["Solver"]["Type"] = "Designer"
Results
These are the results produced by this solver:
- Utility
Usage: e[“Results”][“Utility”] = List of real number
Description: Evaluation of utility.
- Optimal Design
Usage: e[“Results”][“Optimal Design”] = real number
Description: Coordinates of the optimal design.
Configuration
These are settings required by this module.
- Executions Per Generation
Usage: e[“Solver”][“Executions Per Generation”] = unsigned integer
Description: Specifies the number of model executions per generation. By default this setting is 0, meaning that all executions will be performed in the first generation. For values greater 0, executions will be split into batches and split int generations for intermediate output.
- Sigma
Usage: e[“Solver”][“Sigma”] = real number
Description: Standard deviation for measurement.
Termination Criteria
These are the customizable criteria that indicates whether the solver should continue or finish execution. Korali will stop when at least one of these conditions are met. The criteria is expressed in C++ since it is compiled and evaluated as seen here in the engine.
- Max Model Evaluations
Usage: e[“Solver”][“Max Model Evaluations”] = unsigned integer
Description: Specifies the maximum allowed evaluations of the computational model.
Criteria:
_maxModelEvaluations <= _modelEvaluationCount
- Max Generations
Usage: e[“Solver”][“Max Generations”] = unsigned integer
Description: Determines how many solver generations to run before stopping execution. Execution can be resumed at a later moment.
Criteria:
_k->_currentGeneration > _maxGenerations
Default Configuration
These following configuration will be assigned by default. Any settings defined by the user will override the given settings specified in these defaults.
{ "Executions Per Generation": 0, "Model Evaluation Count": 0, "Normal Generator": { "Mean": 0.0, "Standard Deviation": 1.0, "Type": "Univariate/Normal" }, "Sigma": 0, "Termination Criteria": { "Max Generations": 10000000000, "Max Model Evaluations": 1000000000 }, "Variable Count": 0 }