Skip to main content

Evidence Optimization


Evidence Optimization can be used to intelligently search possible sets of evidence, with constraints set, in order to minimize/maximize/goal-seek any of the following:

  • A function variable (based on an arbitrary expression)
  • A continuous variable
  • A discrete or discretized variable state

Evidence optimization is different to optimizing the structure or parameters of a model. Evidence optimization is used after a model has been built, to make optimum decisions.


Causal Evidence Optimization

Design variables can be marked as interventions (Do evidence).

This is important when we are building Causal models, and we want to make optimum causal decisions.


Help for all settings is directly available in the User Interface via the Property Editor.

Fixed evidence

The optimizer can be configured to include fixed evidence, that does not change during the optimization process.

When set in the User Interface, it will automatically use any evidence currently set in the network viewer.


Note that a variable with fixed evidence set cannot be included as an input to the optimizer.

Allow Missing

When the Allow missing option is true on a design variable, the optimizer will consider missing values in the sets of possible solutions. This can be configured per variable.

Evidence kind

Discrete design variables can have either Hard or Soft/Virtual evidence set during optimization. This can be configured per variable.

Intervention Type

A design variable can be configured so that an Intervention (Do evidence) is perform instead of standard evidence.


For an introduction to to causal optimization please see Introduction to causality | the science of measuring and optimizing cause & effect

Add current queries

When a function is being optimized, the function and possibly others it depends on may reference the means or probabilities of other variables in an expression. When this is the case the optimizer will need to perform these additional queries. In the User Interface when this option is true, all queries currently used in the network viewer will be added.



Bounds can be set on continuous variables and discrete states (in soft/virtual evidence mode).


The User Interface allows you to automatically configure lower and upper bounds for continuous variables using standard deviations from the current mean (taking into account any fixed evidence).

Lower and Upper bounds can also be loaded from and saved to a file.


Genetic optimizer

Uses a genetic algorithm to search possible evidence sets.


Optimal solutions are not guaranteed, so it can be useful to run the optimizer multiple times.


When Simplify is set to true in the user interface, an additional algorithm is run, that attempts to reduce the number of variables with evidence set, while maintaining the best solution to within a specified tolerance.