Return to Index
Operations Research Models and Methods
Computation Section
Decision Analysis
 - Utility Functions
Purpose for Utility Functions

The decision analysis solution procedures compute the expected value of the decision returns at each chance node. The optimum solution selects decisions that maximize (or minimize) the expected returns. In the presence of uncertain outcomes it may not be true that a decision-maker has the goal of maximizing the expected value of the cash return. For example consider a game that offers a 50% chance of winning $1,000 and a 50% chance of winning $10,000. This is a sure win situation, but the question is how much should a player pay to play the game.

One answer would be that the opportunity would be worth the expected value of the cash returns.

E(Return) = 0.5*1000 + 0.5*10000 = $5500.

If one could play this game over and over again, the average gain per play would be the expected value. If the game is played only once, however, there are only two possibilities. The player will either lose $4,500 or gain $4,500. For many, the pain of losing that much cash would be more than the pleasure of gaining the same amount. The player concerned about the risk of loss would act to avert the risk of playing. He might be only be willing to pay a smaller amount than $5500.

One way to model different attitudes toward risk is to use a utility function. Let x be the payoff associated with a game, and let U(x) be the utility of x. A utility function that models aversion to risk is the exponential utility function. We let a be the minimum payoff for some situation and b be the maximum payoff. The exponential utility function is

U(x) = [1 - exp(-(x - a)/R)]/ [1 - exp(-(b - a)/R)]

R is a parameter of the model. We plot the utility function for the example using a parameter value of 10,000. The value of a and b are 1,000 and 10,000. Note that the utility function is 0 for a cash return of $1,000, and it is 1 for a cash return of $10,000. Between these values the function is concave. Risk aversion is characterized by a concave utility function and risk seeking behavior is characterized by a convex function.



Expected Utility


For the example game, we now replace the returns with the utility values of the returns and compute the expected value of the utility.

E(Utility) = 0.5*U(1000) + 0.5*U(10000) = 0.5*0 + 0.5*1 = 0.5

The inverse of the utility function is used to compute the cash equivalent to the utility value. The inverse of the exponential utility is

Inv(U(x)) = -ln{1 - U(x)* [1 - exp(-(b - a)/R)]}*R + a

Values computed with the inverse utility function are called Certainty Equivalents. For the expected utility of 0.5, the certainty equivalent is $4,520. With this utility function, the player will pay much less than the expected value of the game.

When utility functions are used, all expected values are computed with utility values rather than cash values. The parameter R can be varied to obtain different levels of concavity and correspondingly different levels of risk aversion.


Other Utility Functions


In addition to the exponential utility function, the add-in allows three others. In each case R is a parameter.

Power: U(x) =(x - a)^R/(b - a)^R where 0 < R < 1.

(note that ^ raises the factor to a power)

Ln: U(x) =ln((x - a)/R + 1)/ln((b- a)/R + 1) where R > 0.

Linear: (x - a)/(b - a)

The linear case is equivalent to using the expected value of the cash flows. Using R > 1 for the power function provides a convex utility function, representing risk seeking behavior.


Utility in Decision Analysis


We illustrate the use of utility functions for decision analysis with an example for the add-in. The example named Econ2 is defined on the dialog below. Five buttons on the right allow the selection of a utility function. Something other than None must be chosen, otherwise the utility option cannot be changed by the Change Structure dialog. For the example, we have chosen the Exponential option.

There are two restrictions on the model structure when using utility functions. First, the model must be posed as a maximization. Second, returns can only be specified for terminal nodes. Other options are disabled when one of the utility buttons are clicked.

Econ2 has two other features of interest. The network is not a tree structure as the number of arcs is greater than the number of nodes. We also specify that arc parameters are to be included and that the Algorithm is to be used to obtain a solution.


Utility Functions with the Add-in


The node structure for the example is shown after the data has been entered and after the optimum has been obtained. The parameters, utility function, the inverse utility function and computed data associated with the utility definition are shown in rows 1 through 4 starting at column R. The cells colored yellow have formulas provided by the program. The parameter value is in cell R2 and can be changed to vary the convexity of the utility function.

Initially, cell R4 is set to the mean between the minimum and maximum values, however, the cell may be changed to investigate the utility for a specific cash value. The utility is computed and shown in cell S4. The inverse utility function is in cell T4. It computes the inverse of the value in S4, so it should have the same value as R4. The minimum and maximum values in cells S2 and T2 are computed with the User Defined Excel functions MinIF and MaxIF. Cell U2 holds the factor that normalizes the utility values between 0 and 1. It is the denominator of the utility function as defined above.


The node data is adjusted to accommodate the utility function by adding the two new columns shown in pink above. The Node Utility column holds the utility function that computes the utilities of the terminal nodes. The Certainty Equivalent column computes the cash equivalent to the utility values in the Optimum Utility column.

The equations and algorithms that compute the optimum solution for the decision tree are adjusted to use the utilities as measures rather than cash values. Chance nodes compute the expected value of utility, and decision nodes choose the arc that maximizes expected utility.

The Optimum Arc column is colored green to indicate that the computer fills in this column. When Algorithm is chosen as the solution option, the column is originally empty. Clicking on the Solve button initiates the solution algorithm that fills the cells in the column that refer to decision nodes.


Arc Data

  The formulas in the last column of the arc data are adjusted to compute the arc utility. Arc probabilities for arcs leaving decision nodes are set to 0 and 1 during the solution algorithm. For each decision node only one leaving arc will have a unit probability, and that is the optimum arc.
  The example illustrates the use of the Arc Parameters column. The probabilities for arcs leaving the chance nodes are computed with Bayes' Rule elsewhere on the worksheet. The parameters simplify the reference to the named areas. The formulas in the relevant cells of the worksheet are shown below. Again, we use the INDEX function to refer to the named arrays of the Bayes' analysis.


The Update Utility Button

  The user can enter his own utility function and inverse utility function in cells S4 and T4. Care must be taken to provide references as done for the built in functions. The Update Utility button places copies the contents of cell S4 into the Node Utility column of the node display and the Inverse utility function into the Certainty Equivalent column of the display. This is the only time the button must be used. Otherwise the program will fill the two columns with the utility function that has been specified.


The Graphical Network

  The figure below shows the graphical display associated with the example. This model is not a tree because the terminal nodes at the far right have several arcs entering each one. It is inconvenient to show all the data on the graphical network when there are multiple arcs entering a node. Rather we indicate the arcs with the word Multiple. Note also that the nodes leaving arc 5 are not shown. The phrase "4 others" indicates that arcs exist, but are not shown. They actually go to the terminal nodes in column R. If the "Show all Links" option had been chosen, all the arcs would have been drawn, but the graphic would be more confused. A complete description of the network is found in the node and arc displays.

Return to Top

tree roots

Operations Research Models and Methods
by Paul A. Jensen
Copyright 2004 - All rights reserved

next page