utility.endnode.intpol1d.create: Construct a single-attribute interpolation end node

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

utility.endnode.intpol1d.createR Documentation

Construct a single-attribute interpolation end node

Description

Function to construct a single-attribute interpolation end node.

Usage

utility.endnode.intpol1d.create(name.node, 
                                name.attrib, 
                                range, 
                                x, 
                                u, 
                                names.x      = rep(NA, length(x)), 
                                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.

name.attrib

name of the attribute on which the value or utility function depends as a character string.

range

numeric vector with two components specifying the minimum and the maximum of the attribute range.

x

numeric vector of attribute values for which the value or utility is known.

u

numeric vector of values or utilities corresponding to the attribute values given in the previous argument x.

names.x

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

names.u

(optional) vector of character strings with names of the components of the numeric vector u specified above. Only required to provide acces 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.intpol1d 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.intpol1d,
summary.utility.endnode.intpol1d,
evaluate.utility.endnode.intpol1d and
plot.utility.endnode.intpol1d.

Create other end nodes with

utility.endnode.discrete.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

  bedmod_other <-
    utility.endnode.intpol1d.create(
      name.node   = "bed modification other",
      name.attrib = "bedmodfract_percent",
      range       = c(0,100),
      x           = c(0,10,30,100),
      u           = c(1,0.775,0.5625,0),
      required    = FALSE,
      utility     = FALSE)
      
  print(bedmod_other)
  plot(bedmod_other)

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