Skip to content

Decision Engine

antaltshul edited this page Jul 21, 2017 · 4 revisions

See the Bayesian Approach page for a description of the underlying Bayesian model.
On this page we will expand this model to create a decision engine that will formulate a decision on whether or not to generate a dispatch request for a repair crew. To implement this model, the following additional steps should be taken.

1. Add Decision Variables to the Domain

The Decision variables are those variables that the Software Engine will be assigning values to (effectively making decisions). The decision nodes don't have probability tables (Factors) associated with them, but they are otherwise represented on the Bayesian graph normally and will have causal and dependent variables. In the diagram below, the Decision variable Repair is added to the graph. An arrow and probabilities are added to show that Repair can help to retain the Data Center operation state.

decision node

2. Add the Utility Variable to the Domain

The Utility variable represents the "costs" and "payoffs" associated with a subset of variables on the network. In our example the Utility variable reflects the cost of dispatching a repair crew, the additional cost of materials in case of transformer damage, and losses associated with possible Data Center outage. The numeric values (not probabilities) are assigned to rows of the Utility Factor.

utility node

3. Apply Data Samples

Same as in the [Bayesian Approach] page

4. Calculate the Decision Value

The algorithmic part of the model will calculate the value of decision variables that results in the maximum statistical value of the Utility variable.

In our example, the Decision Variable will be "Repair =TRUE" if the sample is "Alert=TRUE" and "Backup=TRUE". However, the decision might be FALSE if "Alert = FALSE".

Clone this wiki locally