utility.endnode.discrete.create: Construct a discrete value or utility end node

View source: R/utility.endnode.discrete.r

utility.endnode.discrete.createR Documentation

Construct a discrete value or utility end node

Description

Function to construct a discrete value or utility end node.

Usage

utility.endnode.discrete.create(name.node, 
                                attrib.levels, 
                                u, 
                                names.u      = rep(NA, length(u)), 
                                utility      = TRUE, 
                                required     = FALSE, 
                                col          = "black", 
                                shift.levels = 0)

Arguments

name.node

name of the node to be constructed as a character string.

attrib.levels

data frame with attribute names as column names and all discrete attribute level combinations in the rows. This may be a dependence on any number of attributes. As combinatorics can lead to a very large number of possible combinations, the node should not depend on a too large number of attributes, in particular if each attribute has many different levels expressed by numbers or character strings.

u

numeric vector of the length of the number of columns of the data frame specifed as argument attrib.levels above specifying the values or utilities corresponding to the rows of attrib.levels.

names.u

(optional) vector of character strings with names of the components of the numeric vector u specified above. Only required to provide access to the values through a named parameter vector.

utility

(optional) logical variable indicating if a value function (FALSE) or a utility function (TRUE) is created. Default value is TRUE.

required

(optional) logical variable indicating if the value of this node is required for aggregation at the next higher level. If this variable is TRUE, aggregation at the next higher level is not possible if this node returns NA. Default value is FALSE.

col

(optional) color used for plotting the bounding box of the node in the objective hierarchy. Default value is "black".

shift.levels

(optional) number of hierarchical levels by which the node in the objective hierarchy is shifted to make a branch fit better to other branches. Default value is 0.

Value

The function returns the created object of type utility.endnode.discrete with the properties specified in the arguments of the function.

Author(s)

Peter Reichert <peter.reichert@emeriti.eawag.ch>

References

Short description of the package:

Reichert, P., Schuwirth, N. and Langhans, S., Constructing, evaluating and visualizing value and utility functions for decision support, Environmental Modelling & Software 46, 283-291, 2013.

Textbooks on the use of utility and value functions in decision analysis:

Keeney, R. L. and Raiffa, H. Decisions with Multiple Objectives - Preferences and Value Tradeoffs. John Wiley & Sons, 1976.

Eisenfuehr, F., Weber, M. and Langer, T., Rational Decision Making, Springer, Berlin, 2010.

See Also

Print, evaluate and plot the node with

print.utility.endnode.discrete,
summary.utility.endnode.discrete,
evaluate.utility.endnode.discrete and
plot.utility.endnode.discrete.

Create other end nodes with

utility.endnode.intpol1d.create,
utility.endnode.parfun1d.create,
utility.endnode.intpol2d.create,
utility.endnode.cond.create, or
utility.endnode.firstavail.create.

Create other types of nodes with

utility.aggregation.create,
utility.conversion.intpol.create, or
utility.conversion.parfun.create.

Examples

  widthvar <- 
    utility.endnode.discrete.create(
      name.node     = "width variability",
      attrib.levels = data.frame(widthvariability_class=
                                 c("high","moderate","none")),
      u             = c(1,0.4125,0),
      names.u       = c("u.high","u_moderate","u.none"),
      required      = FALSE,
      utility       = FALSE)

  print(widthvar)
  plot(widthvar)

utility documentation built on Aug. 28, 2023, 1:07 a.m.