Title: | Construct, Evaluate and Plot Value and Utility Functions |
---|---|
Description: | Construct and plot objective hierarchies and associated value and utility functions. Evaluate the values and utilities and visualize the results as colored objective hierarchies or tables. Visualize uncertainty by plotting median and quantile intervals within the nodes of objective hierarchies. Get numerical results of the evaluations in standard R data types for further processing. |
Authors: | Peter Reichert <[email protected]> with contributions by Nele Schuwirth <[email protected]> |
Maintainer: | Peter Reichert <[email protected]> |
License: | GPL-3 |
Version: | 1.4.6 |
Built: | 2024-10-31 22:22:00 UTC |
Source: | CRAN |
Construct and plot objective hierarchies and associated value and utility functions. Evaluate the values and utilities and visualize the results as colored objective hierarchies or tables. Visualize uncertainty by plotting median and quantile intervals within the nodes of the objective hierarchy. Get numerical results of the evaluations in standard R data types for further processing.
Package: | utility |
Type: | Package |
Version: | 1.4.6 |
Date: | 2023-08-27 |
License: | GPL-3 |
An objective hierarchy and an associated value or utility function
is constructed by constructing the nodes of the hierarchy starting
from the end nodes and proceeding to the higher hierarchies.
Five types of end nodes are distinguished:
End nodes of the class utility.endnode.discrete
define a value
or utility function for an attribute that has a finite number of
discrete numeric or non-numeric levels.
End nodes of the classes utility.endnode.intpol1d
and
utility.endnode.parfun1d
implement single-attribute
value or utility functions that accept a continuous argument.
The first of these functions allows the user to specify
attribute-value pairs and performs linear interpolation between these
points.
The second function allows the user to specify any parameteric
function that is implemented as a function in R.
End nodes of the class utility.endnode.intpol2d
implement
interpolated value or utility functions that are based on two
attributes.
End nodes of the class utility.endnode.cond
implement
value or utility functions that assign different value or utility
functions to a finite set of attribute combinations.
End nodes of the class utility.endnode.firstavail
implement
value or utility functions that try to evaluate a list of nodes and
return the value of the first node that could be evaluated based
on the provided attribute data.
Finally, end nodes of the class utility.endnode.classcounts
implement
value or utility functions that value counts e.g. of species of different classes
by assigning a basic value for the occurrence of at least one species of the best class
and incrementing this value by multiplicities of species of this class and of the next lower class.
These end nodes can be implemented by using the following constructors. utility.endnode.discrete.create
utility.endnode.intpol1d.create
utility.endnode.parfun1d.create
utility.endnode.intpol2d.create
utility.endnode.cond.create
utility.endnode.firstavail.create
utility.endnode.classcounts.create
To advance to higher hierarchical levels, values or utilities at lower
levels must be aggregated to the next higher level.
This is done ab aggregation nodes of the class utility.aggregation
.
Such nodes can be implemented by using the following constructor: utility.aggregation.create
Finally, to provide decision support under uncertainty, values at
an adequate level of the objectives hierarchy must be converted to
utilities by accounting for the risk attitude of the decision maker.
Similar to the single-attribute value or utility functions,
this can either be done by linear interpolation with a node of the class
utility.conversion.intpol
or by using a parametric funciton in
a node of the class utility.conversion.parfun
.
These conversion nodes can be implemented by the constructors: utility.conversion.intpol.create
utility.conversion.parfun.create
The definition of the objective hierarchy and the associated value
and utility function can then be listed or visualized by using the
generic functions print
summary
plot
which automaticall call the implementation corresponding to the node specified
as the first argument: print.utility.endnode.discrete
print.utility.endnode.intpol1d
print.utility.endnode.parfun1d
print.utility.endnode.intpol2d
print.utility.endnode.cond
print.utility.endnode.firstavail
print.utility.endnode.classcounts
print.utility.aggregation
print.utility.conversion.intpol
print.utility.conversion.parfun
summary.utility.endnode.discrete
summary.utility.endnode.intpol1d
summary.utility.endnode.parfun1d
summary.utility.endnode.intpol2d
summary.utility.endnode.cond
summary.utility.endnode.firstavail
summary.utility.endnode.classcounts
summary.utility.aggregation
summary.utility.conversion.intpol
summary.utility.conversion.parfun
plot.utility.endnode.discrete
plot.utility.endnode.intpol1d
plot.utility.endnode.parfun1d
plot.utility.endnode.intpol2d
plot.utility.endnode.cond
plot.utility.endnode.firstavail
plot.utility.endnode.classcounts
plot.utility.aggregation
plot.utility.conversion.intpol
plot.utility.conversion.parfun
The value or utility function can then be evaluated by applying the
generic function evaluate
that again calls automatically the corresponding class-specific function evaluate.utility.endnode.discrete
evaluate.utility.endnode.intpol1d
evaluate.utility.endnode.parfun1d
evaluate.utility.endnode.intpol2d
evaluate.utility.endnode.cond
evaluate.utility.endnode.firstavail
evaluate.utility.endnode.classcounts
evaluate.utility.aggregation
evaluate.utility.conversion.intpol
evaluate.utility.conversion.parfun
This function requires the provision of observed or predicted attributes
of the valued system and returns the corresponding values or utilities
of all nodes of the hierarchy.
These results can then be visualized by providing them to the generic
function plot
in addition to the definition of the objective hierarchy stored in the
variable corresponding to the highest node of the hierarchy.
Again, this function automatically calls the correct class-specific
implementation (the root of the hierarchy will be an aggregation
or a conversion node, not an end node): plot.utility.aggregation
plot.utility.conversion.intpol
plot.utility.conversion.parfun
This proceedure guarantees easy handling with the simple commands
print
, summary
, evaluate
, and plot
and
the specific function descriptions provided above are only required
to check advanced attributes.
Peter Reichert <[email protected]> with contributions by Nele Schuwirth <[email protected]>
Maintainer: Peter Reichert <[email protected]>
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.
# define discrete end node for width variability # (attribute "widthvariability_class" with levels "high", # "moderate" and "none") 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) # define 1d interpolation end node for bed modification with # riprap # (attribute "bedmodfract_percent" with levels from 0 to 100) bedmod_riprap <- utility.endnode.intpol1d.create( name.node = "bed modification riprap", name.attrib = "bedmodfract_percent", range = c(0,100), x = c(0,10,30,100), u = c(1,0.775,0.5625,0.24), required = FALSE, utility = FALSE) # define 1d interpolation end node for bed modification with # other material # (attribute "bedmodfract_percent" with levels from 0 to 100) 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) # define combination end node for bed modification # (attributes "bedmodtype_class" and "bedmodfract_percent") bedmod <- utility.endnode.cond.create( name.node = "bed modification", attrib.levels = data.frame(bedmodtype_class= c("riprap","other")), nodes = list(bedmod_riprap,bedmod_other), required = FALSE, utility = FALSE) # define 1d interpolation end node for bank modification with # permeable material # (attribute "bankmodfract_percent" with levels from 0 to 100) bankmod_perm <- utility.endnode.intpol1d.create( name.node = "bank modification perm", name.attrib = "bankmodfract_percent", range = c(0,100), x = c(0,10,30,60,100), u = c(1,0.8667,0.675,0.4125,0.24), required = FALSE, utility = FALSE) # define 1d interpolation end node for bank modification with # impermeable material # (attribute "bankmodfract_percent" with levels from 0 to 100) bankmod_imperm <- utility.endnode.intpol1d.create( name.node = "bank modification imperm", name.attrib = "bankmodfract_percent", range = c(0,100), x = c(0,10,30,60,100), u = c(1,0.775,0.5625,0.24,0), required = FALSE, utility = FALSE) # define combination end node for bank modification # (attributes "bankmodtype_class" and "bankmodfract_percent") bankmod <- utility.endnode.cond.create( name.node = "bank modification", attrib.levels = data.frame(bankmodtype_class= c("perm","imperm")), nodes = list(bankmod_perm,bankmod_imperm), required = FALSE, utility = FALSE) # define 2d interpolation end node for riparian zone width # (attributes "riparianzonewidth_m" and "riparianzonewidth_m") riparzone_width <- utility.endnode.intpol2d.create( name.node = "riparian zone width", name.attrib = c("riverbedwidth_m","riparianzonewidth_m"), ranges = list(c(0,16),c(0,30)), isolines = list(list(x=c(0,16),y=c(0,0)), list(x=c(0,2,10,16),y=c(5,5,15,15)), list(x=c(0,16),y=c(15,15)), list(x=c(0,16),y=c(30,30))), u = c(0.0,0.6,1.0,1.0), lead = 1, utility = FALSE) # define discrete end node for riparian zone vegetation # (attriute "riparianzoneveg_class" with levels "natural", # "seminatural" and "artificial") riparzone_veg <- utility.endnode.discrete.create( name.node = "riparian zone veg.", attrib.levels = data.frame(riparianzoneveg_class= c("natural","seminatural","artificial")), u = c(1,0.5625,0), required = FALSE, utility = FALSE) # define aggregation node for riparian zone riparzone <- utility.aggregation.create( name.node = "riparian zone", nodes = list(riparzone_width,riparzone_veg), name.fun = "utility.aggregate.cobbdouglas", par = c(1,1), required = FALSE) # define aggregation node for ecomorphological state morphol <- utility.aggregation.create( name.node = "ecomorphology", nodes = list(widthvar,bedmod,bankmod,riparzone), name.fun = "utility.aggregate.mix", par = c(0.25,0.25,0.25,0.25,0,0,1), names.par = c("w_widthvar","w_bedmod","w_bankmod","w_riparzone", "w_add","w_min","w_cobbdouglas"), required = TRUE) # print individual definitions print(widthvar) print(bedmod) # print all definitions print(morphol) # plot objectives hierarchy with attributes plot(morphol) # plot individual nodes: plot(widthvar) plot(widthvar,par=c(u_moderate=0.2)) plot(bedmod_other) plot(bankmod) #plot(riparzone_width) # too slow for package installation # plot selected node definitions of a hierarchy plot(morphol,type="nodes",nodes=c("width variability", "bed modification other", "bank modification")) # evaluate value function for data sets and plot colored hierarchies # and table attrib_channelized <- data.frame(widthvariability_class = "none", bedmodtype_class = "riprap", bedmodfract_percent = 50, bankmodtype_class = "imperm", bankmodfract_percent = 70, riverbedwidth_m = 10, riparianzonewidth_m = 5, riparianzoneveg_class = "seminatural") attrib_rehab <- data.frame(widthvariability_class = "high", bedmodtype_class = "riprap", bedmodfract_percent = 50, bankmodtype_class = "imperm", bankmodfract_percent = 20, riverbedwidth_m = 15, riparianzonewidth_m = 15, riparianzoneveg_class = "natural") res_channelized <- evaluate(morphol,attrib=attrib_channelized) res_channelized_add <- evaluate(morphol,attrib=attrib_channelized, par=c(w_add=1,w_min=0,w_cobbdouglas=0)) res_rehab <- evaluate(morphol,attrib=attrib_rehab) res_both <- rbind(res_channelized,res_rehab) rownames(res_both) <- c("channelized","rehabilitated") plot(morphol,u=res_channelized) plot(morphol,u=res_channelized_add) plot(morphol,u=res_rehab) plot(morphol,u=res_rehab,uref=res_channelized) plot(morphol,u=res_both,type="table",plot.val=FALSE) plot(morphol,u=res_both,type="table",plot.val=TRUE,print.val=FALSE) plot(morphol,u=res_both,uref=res_channelized,type="table",plot.val=FALSE) # consideration of uncertain attribute levels # (Higher uncertainty for predicted state after rehabilitation than for # observed channelized state. # Note that the normal distributions lead to a small probability of attribute # levels beyond the range for which the value function is defined. This could # be corrected for by truncating or choosing another distribution. We keep # those values to demonstrate that this leads to warnings when evaluating the # value function for these attribute levels,): sampsize <- 1000 attrib_channelized_unc <- data.frame( widthvariability_class = rep("high",sampsize), bedmodtype_class = rep("riprap",sampsize), bedmodfract_percent = rnorm(sampsize,mean=50,sd=5), bankmodtype_class = rep("imperm",sampsize), bankmodfract_percent = rnorm(sampsize,mean=70,sd=5), riverbedwidth_m = rep(10,sampsize), riparianzonewidth_m = rep(5,sampsize), riparianzoneveg_class = c("seminatural","artificial")[rbinom(sampsize,1,0.5)+1]) attrib_rehab_unc <- data.frame( widthvariability_class = c("moderate","high")[rbinom(sampsize,1,0.5)+1], bedmodtype_class = rep("riprap",sampsize), bedmodfract_percent = rnorm(sampsize,mean=50,sd=15), bankmodtype_class = rep("imperm",sampsize), bankmodfract_percent = rnorm(sampsize,mean=20,sd=5), riverbedwidth_m = rnorm(sampsize,mean=10,sd=2), riparianzonewidth_m = rnorm(sampsize,mean=10,sd=2), riparianzoneveg_class = c("natural","seminatural")[rbinom(sampsize,1,0.5)+1]) res_channelized_unc <- evaluate(morphol,attrib=attrib_channelized_unc) res_rehab_unc <- evaluate(morphol,attrib=attrib_rehab_unc) plot(morphol,u=res_channelized_unc) #plot(morphol,u=res_rehab_unc) plot(morphol,u=res_rehab_unc,uref=res_channelized_unc) plot(morphol,u=list(channelized=res_channelized_unc,rehabilitated=res_rehab_unc), type="table") plot(morphol,u=list(channelized=res_channelized_unc,rehabilitated=res_rehab_unc), type="table",nodes=c("ecomorphology","riparian zone")) plot(morphol,u=list(channelized=res_channelized_unc,rehabilitated=res_rehab_unc), type="table",levels=2) plot(morphol,u=list(channelized=res_channelized_unc,rehabilitated=res_rehab_unc), uref=res_channelized_unc, type="table")
# define discrete end node for width variability # (attribute "widthvariability_class" with levels "high", # "moderate" and "none") 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) # define 1d interpolation end node for bed modification with # riprap # (attribute "bedmodfract_percent" with levels from 0 to 100) bedmod_riprap <- utility.endnode.intpol1d.create( name.node = "bed modification riprap", name.attrib = "bedmodfract_percent", range = c(0,100), x = c(0,10,30,100), u = c(1,0.775,0.5625,0.24), required = FALSE, utility = FALSE) # define 1d interpolation end node for bed modification with # other material # (attribute "bedmodfract_percent" with levels from 0 to 100) 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) # define combination end node for bed modification # (attributes "bedmodtype_class" and "bedmodfract_percent") bedmod <- utility.endnode.cond.create( name.node = "bed modification", attrib.levels = data.frame(bedmodtype_class= c("riprap","other")), nodes = list(bedmod_riprap,bedmod_other), required = FALSE, utility = FALSE) # define 1d interpolation end node for bank modification with # permeable material # (attribute "bankmodfract_percent" with levels from 0 to 100) bankmod_perm <- utility.endnode.intpol1d.create( name.node = "bank modification perm", name.attrib = "bankmodfract_percent", range = c(0,100), x = c(0,10,30,60,100), u = c(1,0.8667,0.675,0.4125,0.24), required = FALSE, utility = FALSE) # define 1d interpolation end node for bank modification with # impermeable material # (attribute "bankmodfract_percent" with levels from 0 to 100) bankmod_imperm <- utility.endnode.intpol1d.create( name.node = "bank modification imperm", name.attrib = "bankmodfract_percent", range = c(0,100), x = c(0,10,30,60,100), u = c(1,0.775,0.5625,0.24,0), required = FALSE, utility = FALSE) # define combination end node for bank modification # (attributes "bankmodtype_class" and "bankmodfract_percent") bankmod <- utility.endnode.cond.create( name.node = "bank modification", attrib.levels = data.frame(bankmodtype_class= c("perm","imperm")), nodes = list(bankmod_perm,bankmod_imperm), required = FALSE, utility = FALSE) # define 2d interpolation end node for riparian zone width # (attributes "riparianzonewidth_m" and "riparianzonewidth_m") riparzone_width <- utility.endnode.intpol2d.create( name.node = "riparian zone width", name.attrib = c("riverbedwidth_m","riparianzonewidth_m"), ranges = list(c(0,16),c(0,30)), isolines = list(list(x=c(0,16),y=c(0,0)), list(x=c(0,2,10,16),y=c(5,5,15,15)), list(x=c(0,16),y=c(15,15)), list(x=c(0,16),y=c(30,30))), u = c(0.0,0.6,1.0,1.0), lead = 1, utility = FALSE) # define discrete end node for riparian zone vegetation # (attriute "riparianzoneveg_class" with levels "natural", # "seminatural" and "artificial") riparzone_veg <- utility.endnode.discrete.create( name.node = "riparian zone veg.", attrib.levels = data.frame(riparianzoneveg_class= c("natural","seminatural","artificial")), u = c(1,0.5625,0), required = FALSE, utility = FALSE) # define aggregation node for riparian zone riparzone <- utility.aggregation.create( name.node = "riparian zone", nodes = list(riparzone_width,riparzone_veg), name.fun = "utility.aggregate.cobbdouglas", par = c(1,1), required = FALSE) # define aggregation node for ecomorphological state morphol <- utility.aggregation.create( name.node = "ecomorphology", nodes = list(widthvar,bedmod,bankmod,riparzone), name.fun = "utility.aggregate.mix", par = c(0.25,0.25,0.25,0.25,0,0,1), names.par = c("w_widthvar","w_bedmod","w_bankmod","w_riparzone", "w_add","w_min","w_cobbdouglas"), required = TRUE) # print individual definitions print(widthvar) print(bedmod) # print all definitions print(morphol) # plot objectives hierarchy with attributes plot(morphol) # plot individual nodes: plot(widthvar) plot(widthvar,par=c(u_moderate=0.2)) plot(bedmod_other) plot(bankmod) #plot(riparzone_width) # too slow for package installation # plot selected node definitions of a hierarchy plot(morphol,type="nodes",nodes=c("width variability", "bed modification other", "bank modification")) # evaluate value function for data sets and plot colored hierarchies # and table attrib_channelized <- data.frame(widthvariability_class = "none", bedmodtype_class = "riprap", bedmodfract_percent = 50, bankmodtype_class = "imperm", bankmodfract_percent = 70, riverbedwidth_m = 10, riparianzonewidth_m = 5, riparianzoneveg_class = "seminatural") attrib_rehab <- data.frame(widthvariability_class = "high", bedmodtype_class = "riprap", bedmodfract_percent = 50, bankmodtype_class = "imperm", bankmodfract_percent = 20, riverbedwidth_m = 15, riparianzonewidth_m = 15, riparianzoneveg_class = "natural") res_channelized <- evaluate(morphol,attrib=attrib_channelized) res_channelized_add <- evaluate(morphol,attrib=attrib_channelized, par=c(w_add=1,w_min=0,w_cobbdouglas=0)) res_rehab <- evaluate(morphol,attrib=attrib_rehab) res_both <- rbind(res_channelized,res_rehab) rownames(res_both) <- c("channelized","rehabilitated") plot(morphol,u=res_channelized) plot(morphol,u=res_channelized_add) plot(morphol,u=res_rehab) plot(morphol,u=res_rehab,uref=res_channelized) plot(morphol,u=res_both,type="table",plot.val=FALSE) plot(morphol,u=res_both,type="table",plot.val=TRUE,print.val=FALSE) plot(morphol,u=res_both,uref=res_channelized,type="table",plot.val=FALSE) # consideration of uncertain attribute levels # (Higher uncertainty for predicted state after rehabilitation than for # observed channelized state. # Note that the normal distributions lead to a small probability of attribute # levels beyond the range for which the value function is defined. This could # be corrected for by truncating or choosing another distribution. We keep # those values to demonstrate that this leads to warnings when evaluating the # value function for these attribute levels,): sampsize <- 1000 attrib_channelized_unc <- data.frame( widthvariability_class = rep("high",sampsize), bedmodtype_class = rep("riprap",sampsize), bedmodfract_percent = rnorm(sampsize,mean=50,sd=5), bankmodtype_class = rep("imperm",sampsize), bankmodfract_percent = rnorm(sampsize,mean=70,sd=5), riverbedwidth_m = rep(10,sampsize), riparianzonewidth_m = rep(5,sampsize), riparianzoneveg_class = c("seminatural","artificial")[rbinom(sampsize,1,0.5)+1]) attrib_rehab_unc <- data.frame( widthvariability_class = c("moderate","high")[rbinom(sampsize,1,0.5)+1], bedmodtype_class = rep("riprap",sampsize), bedmodfract_percent = rnorm(sampsize,mean=50,sd=15), bankmodtype_class = rep("imperm",sampsize), bankmodfract_percent = rnorm(sampsize,mean=20,sd=5), riverbedwidth_m = rnorm(sampsize,mean=10,sd=2), riparianzonewidth_m = rnorm(sampsize,mean=10,sd=2), riparianzoneveg_class = c("natural","seminatural")[rbinom(sampsize,1,0.5)+1]) res_channelized_unc <- evaluate(morphol,attrib=attrib_channelized_unc) res_rehab_unc <- evaluate(morphol,attrib=attrib_rehab_unc) plot(morphol,u=res_channelized_unc) #plot(morphol,u=res_rehab_unc) plot(morphol,u=res_rehab_unc,uref=res_channelized_unc) plot(morphol,u=list(channelized=res_channelized_unc,rehabilitated=res_rehab_unc), type="table") plot(morphol,u=list(channelized=res_channelized_unc,rehabilitated=res_rehab_unc), type="table",nodes=c("ecomorphology","riparian zone")) plot(morphol,u=list(channelized=res_channelized_unc,rehabilitated=res_rehab_unc), type="table",levels=2) plot(morphol,u=list(channelized=res_channelized_unc,rehabilitated=res_rehab_unc), uref=res_channelized_unc, type="table")
Generic function to calculate values or utilities at all nodes of a hierarchy for given levels of the attributes.
evaluate(x, ...)
evaluate(x, ...)
x |
node to be evaluated. |
... |
attribute levels have to be provided as an additional argument |
Data frame with results of values or utilities at all nodes of the hierarchy for all provided sets of attribute levels.
Peter Reichert <[email protected]>
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 utility.endnode.discrete.create
, utility.endnode.intpol1d.create
, utility.endnode.parfun1d.create
, utility.endnode.intpol2d.create
, utility.endnode.cond.create
, utility.aggregation.create
, utility.conversion.intpol.create
, utility.conversion.parfun.create
to create the nodes to be evaluated.
# see help(utility) # for examples.
# see help(utility) # for examples.
Calculate values or utilities at all nodes of a hierarchy for given levels of the attributes.
## S3 method for class 'utility.aggregation' evaluate(x, attrib, par = NA, ...)
## S3 method for class 'utility.aggregation' evaluate(x, attrib, par = NA, ...)
x |
node to be evaluated. |
attrib |
numeric vector with labelled components providing the levels of a single set of attributes or data frame for which each row provides such a set of attributes. |
par |
(optional) labelled numeric parameter vector providing parameters to modify the value or utility function before evaluation. |
... |
currently no other arguments are implemented or passed further. |
Data frame with results of values or utilities at all nodes of the hierarchy for all provided sets of attribute levels.
Peter Reichert <[email protected]>
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.
utility.aggregation.create
to create the node, print.utility.aggregation
or
summary.utility.aggregation
to print its definition, and plot.utility.aggregation
to plot the node
and utility.endnode.discrete.create
, utility.endnode.intpol1d.create
, utility.endnode.parfun1d.create
, utility.endnode.intpol2d.create
, utility.endnode.cond.create
, utility.endnode.firstavail.create
, utility.conversion.intpol.create
, utility.conversion.parfun.create
to create other nodes.
# see help(utility) # for examples.
# see help(utility) # for examples.
Calculate values or utilities at all nodes of a hierarchy for given levels of the attributes.
## S3 method for class 'utility.conversion.intpol' evaluate(x, attrib, par = NA, ...)
## S3 method for class 'utility.conversion.intpol' evaluate(x, attrib, par = NA, ...)
x |
node to be evaluated. |
attrib |
numeric vector with labelled components providing the levels of a single set of attributes or data frame for which each row provides such a set of attributes. |
par |
(optional) labelled numeric parameter vector providing parameters to modify the value or utility function before evaluation. |
... |
currently no other arguments are implemented or passed further. |
Data frame with results of values or utilities at all nodes of the hierarchy for all provided sets of attribute levels.
Peter Reichert <[email protected]>
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.
utility.conversion.intpol.create
to create the node, print.utility.conversion.intpol
or
summary.utility.conversion.intpol
to print its definition, and plot.utility.conversion.intpol
to plot the node
and utility.endnode.discrete.create
, utility.endnode.intpol1d.create
, utility.endnode.parfun1d.create
, utility.endnode.intpol2d.create
, utility.endnode.cond.create
. utility.endnode.firstavail.create
. utility.aggregation.create
, utility.conversion.parfun.create
to create other nodes.
# see help(utility) # for examples.
# see help(utility) # for examples.
Calculate values or utilities at all nodes of a hierarchy for given levels of the attributes.
## S3 method for class 'utility.conversion.parfun' evaluate(x, attrib, par = NA, ...)
## S3 method for class 'utility.conversion.parfun' evaluate(x, attrib, par = NA, ...)
x |
node to be evaluated. |
attrib |
numeric vector with labelled components providing the levels of a single set of attributes or data frame for which each row provides such a set of attributes. |
par |
(optional) labelled numeric parameter vector providing parameters to modify the value or utility function before evaluation. |
... |
currently no other arguments are implemented or passed further. |
Data frame with results of values or utilities at all nodes of the hierarchy for all provided sets of attribute levels.
Peter Reichert <[email protected]>
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.
utility.aggregation.create
to create the node, print.utility.aggregation
or
summary.utility.aggregation
to print its definition, and plot.utility.aggregation
to plot the node
and utility.endnode.discrete.create
, utility.endnode.intpol1d.create
, utility.endnode.parfun1d.create
, utility.endnode.intpol2d.create
, utility.endnode.cond.create
, utility.endnode.firstavail.create
, utility.aggregation.create
, utility.conversion.intpol.create
to create other nodes.
# see help(utility) # for examples.
# see help(utility) # for examples.
Calculate values or utilities at the node for given levels of the attributes.
## S3 method for class 'utility.endnode.classcounts' evaluate(x, attrib, par = NA, ...)
## S3 method for class 'utility.endnode.classcounts' evaluate(x, attrib, par = NA, ...)
x |
node to be evaluated. |
attrib |
numeric vector with labelled components providing the levels of a single set of attributes or data frame for which each row provides such a set of attributes. |
par |
(optional) labelled numeric parameter vector providing parameters to modify the value or utility function before evaluation. |
... |
currently no other arguments are implemented or passed further. |
Numeric vector of results of values or utilities at the node for all provided sets of attribute levels.
Peter Reichert <[email protected]>
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.
utility.endnode.classcounts.create
to create the node, print.utility.endnode.classcounts
or
summary.utility.endnode.classcounts
to print its definition, and plot.utility.endnode.classcounts
to plot the node
and utility.endnode.discrete.create
, utility.endnode.intpol1d.create
, utility.endnode.parfun1d.create
, utility.endnode.intpol2d.create
, utility.endnode.cond.create
, utility.endnode.firstavail.create
, utility.aggregation.create
, utility.conversion.intpol.create
, utility.conversion.parfun.create
to create other nodes.
# see help(utility) # for examples.
# see help(utility) # for examples.
Calculate values or utilities at the node for given levels of the attributes.
## S3 method for class 'utility.endnode.cond' evaluate(x, attrib, par = NA, ...)
## S3 method for class 'utility.endnode.cond' evaluate(x, attrib, par = NA, ...)
x |
node to be evaluated. |
attrib |
numeric vector with labelled components providing the levels of a single set of attributes or data frame for which each row provides such a set of attributes. |
par |
(optional) labelled numeric parameter vector providing parameters to modify the value or utility function before evaluation. |
... |
currently no other arguments are implemented or passed further. |
Numeric vector of results of values or utilities at the node for all provided sets of attribute levels.
Peter Reichert <[email protected]>
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.
utility.endnode.cond.create
to create the node, print.utility.endnode.cond
or
summary.utility.endnode.cond
to print its definition, and plot.utility.endnode.cond
to plot the node
and utility.endnode.discrete.create
, utility.endnode.intpol1d.create
, utility.endnode.parfun1d.create
, utility.endnode.intpol2d.create
, utility.endnode.firstavail.create
, utility.aggregation.create
, utility.conversion.intpol.create
, utility.conversion.parfun.create
to create other nodes.
# see help(utility) # for examples.
# see help(utility) # for examples.
Calculate values or utilities at the node for given levels of the attributes.
## S3 method for class 'utility.endnode.discrete' evaluate(x, attrib, par = NA, ...)
## S3 method for class 'utility.endnode.discrete' evaluate(x, attrib, par = NA, ...)
x |
node to be evaluated. |
attrib |
numeric vector with labelled components providing the levels of a single set of attributes or data frame for which each row provides such a set of attributes. |
par |
(optional) labelled numeric parameter vector providing parameters to modify the value or utility function before evaluation. |
... |
currently no other arguments are implemented or passed further. |
Numeric vector of results of values or utilities at the node for all provided sets of attribute levels.
Peter Reichert <[email protected]>
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.
utility.aggregation.create
to create the node, print.utility.aggregation
or
summary.utility.aggregation
to print its definition, and plot.utility.aggregation
to plot the node
and utility.endnode.intpol1d.create
, utility.endnode.parfun1d.create
, utility.endnode.intpol2d.create
, utility.endnode.cond.create
, utility.endnode.firstavail.create
, utility.aggregation.create
, utility.conversion.intpol.create
, utility.conversion.parfun.create
to create other nodes.
# see help(utility) # for examples.
# see help(utility) # for examples.
Calculate values or utilities at the node for given levels of the attributes.
## S3 method for class 'utility.endnode.firstavail' evaluate(x, attrib, par = NA, ...)
## S3 method for class 'utility.endnode.firstavail' evaluate(x, attrib, par = NA, ...)
x |
node to be evaluated. |
attrib |
numeric vector with labelled components providing the levels of a single set of attributes or data frame for which each row provides such a set of attributes. |
par |
(optional) labelled numeric parameter vector providing parameters to modify the value or utility function before evaluation. |
... |
currently no other arguments are implemented or passed further. |
Numeric vector of results of values or utilities at the node for all provided sets of attribute levels.
Peter Reichert <[email protected]>
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.
utility.endnode.firstavail.create
to create the node, print.utility.endnode.firstavail
or
summary.utility.endnode.firstavail
to print its definition, and plot.utility.endnode.firstavail
to plot the node
and utility.endnode.discrete.create
, utility.endnode.intpol1d.create
, utility.endnode.parfun1d.create
, utility.endnode.intpol2d.create
, utility.endnode.cond.create
, utility.aggregation.create
, utility.conversion.intpol.create
, utility.conversion.parfun.create
to create other nodes.
# see help(utility) # for examples.
# see help(utility) # for examples.
Calculate values or utilities at the node for given levels of the attributes.
## S3 method for class 'utility.endnode.intpol1d' evaluate(x, attrib, par = NA, ...)
## S3 method for class 'utility.endnode.intpol1d' evaluate(x, attrib, par = NA, ...)
x |
node to be evaluated. |
attrib |
numeric vector with labelled components providing the levels of a single set of attributes or data frame for which each row provides such a set of attributes. |
par |
(optional) labelled numeric parameter vector providing parameters to modify the value or utility function before evaluation. |
... |
currently no other arguments are implemented or passed further. |
Numeric vector of results of values or utilities at the node for all provided sets of attribute levels.
Peter Reichert <[email protected]>
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.
utility.aggregation.create
to create the node, print.utility.aggregation
or summary.utility.aggregation
to print its definition, and plot.utility.aggregation
to plot the node
and utility.endnode.discrete.create
, utility.endnode.parfun1d.create
, utility.endnode.intpol2d.create
, utility.endnode.cond.create
, utility.endnode.firstavail.create
, utility.aggregation.create
, utility.conversion.intpol.create
, utility.conversion.parfun.create
to create other nodes.
# see help(utility) # for examples.
# see help(utility) # for examples.
Calculate values or utilities at the node for given levels of the attributes.
## S3 method for class 'utility.endnode.intpol2d' evaluate(x, attrib, par = NA, ...)
## S3 method for class 'utility.endnode.intpol2d' evaluate(x, attrib, par = NA, ...)
x |
node to be evaluated. |
attrib |
numeric vector with labelled components providing the levels of a single set of attributes or data frame for which each row provides such a set of attributes. |
par |
(optional) labelled numeric parameter vector providing parameters to modify the value or utility function before evaluation. |
... |
currently no other arguments are implemented or passed further. |
Numeric vector of results of values or utilities at the node for all provided sets of attribute levels.
Peter Reichert <[email protected]>
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.
utility.aggregation.create
to create the node, print.utility.aggregation
or
summary.utility.aggregation
to print its definition, and plot.utility.aggregation
to plot the node
and utility.endnode.discrete.create
, utility.endnode.intpol1d.create
, utility.endnode.parfun1d.create
, utility.endnode.cond.create
, utility.endnode.firstavail.create
, utility.aggregation.create
, utility.conversion.intpol.create
, utility.conversion.parfun.create
to create other nodes.
# see help(utility) # for examples.
# see help(utility) # for examples.
Calculate values or utilities at the node for given levels of the attributes.
## S3 method for class 'utility.endnode.parfun1d' evaluate(x, attrib, par = NA, ...)
## S3 method for class 'utility.endnode.parfun1d' evaluate(x, attrib, par = NA, ...)
x |
node to be evaluated. |
attrib |
numeric vector with labelled components providing the levels of a single set of attributes or data frame for which each row provides such a set of attributes. |
par |
(optional) labelled numeric parameter vector providing parameters to modify the value or utility function before evaluation. |
... |
currently no other arguments are implemented or passed further. |
Numeric vector of results of values or utilities at the node for all provided sets of attribute levels.
Peter Reichert <[email protected]>
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.
utility.aggregation.create
to create the node, print.utility.aggregation
or
summary.utility.aggregation
to print its definition, and plot.utility.aggregation
to plot the node
and utility.endnode.discrete.create
, utility.endnode.intpol1d.create
, utility.endnode.intpol2d.create
, utility.endnode.cond.create
, utility.endnode.firstavail.create
, utility.aggregation.create
, utility.conversion.intpol.create
, utility.conversion.parfun.create
to create other nodes.
# see help(utility) # for examples.
# see help(utility) # for examples.
Plot node definition or underlying objective hierarchy.
## S3 method for class 'utility.aggregation' plot(x, u = NA, uref = NA, par = NA, type = c("hierarchy", "table", "node", "nodes"), nodes = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, cex.nodes = 1, cex.attrib = 1, f.reaches = 0.2, f.nodes = 0.2, with.attrib = TRUE, levels = NA, plot.val = TRUE, col.val = "black", lwd.val = 1, print.val = TRUE, two.lines = FALSE, ticks = c(0,0.2,0.4,0.6,0.8,1), ...)
## S3 method for class 'utility.aggregation' plot(x, u = NA, uref = NA, par = NA, type = c("hierarchy", "table", "node", "nodes"), nodes = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, cex.nodes = 1, cex.attrib = 1, f.reaches = 0.2, f.nodes = 0.2, with.attrib = TRUE, levels = NA, plot.val = TRUE, col.val = "black", lwd.val = 1, print.val = TRUE, two.lines = FALSE, ticks = c(0,0.2,0.4,0.6,0.8,1), ...)
x |
node to be plotted. |
u |
(optional) vector or data frame with elements or columns labelled
according to the nodes of the hierarchy containing values or utilities.
Typically, this will be the complete output or an output row of
the function |
uref |
(optional) vector or data frame with elements or columns labelled
according to the nodes of the hierarchy containing values or utilities.
Typically, this will be the complete output or an output row of
the function |
par |
(optional) labelled numeric parameter vector providing parameters to
modify the value or utility function before plotting the node.
Note that this affects only the node definitions plotted if the argument |
type |
(optional) specifies the type of plot to be produced. |
nodes |
(optional) character vector specifying the nodes for which the definitions
will be plotted or which will be considered in a table.
The default value of NA indicates that all nodes will be plotted.
This argument only affects the output if the argument |
col |
(optional) character vector of colors to be used to color the interval
between zero and unity in equidistant sections (use repetitions of the
same color if you want to have a non-equidistant color-coding).
This attribute is only used for value nodes and if values are provided
by the arguments |
gridlines |
(optional) numeric vector of levels at which gridlines are plotted
in node definitions.
This attribute is only used if the argument |
main |
(optional) title(s) of the plot.
If the argument |
cex.main |
(optional) scaling factor for title of the plot. |
cex.nodes |
(optional) scaling factor for node labels used in the plot. |
cex.attrib |
(optional) scaling factor for attribute labels used in the plot. |
f.reaches |
(optional) fraction of the width of the plot reserved for the row labels of the table if the argument |
f.nodes |
(optional) fraction of the height of the plot reserved for the column labels of the table if the argument |
with.attrib |
(optional) indicates if attributes should be listed if the argument |
levels |
(optional) how many levels of the hierarchy should be plotted (NA means to plot all levels). |
plot.val |
(optional) plot value (for hierarchy without uncertainty) or median (for hierarchy with uncertainty) as a vertical line within the box. |
col.val |
(optional) color of the vertical line indicating the value or median within the box (default black). |
lwd.val |
(optional) line width of the vertical line indicating the value or median within the box (default 1). |
print.val |
(optional) print value as a number when plotting a table of boxes. |
two.lines |
(optional) choose whether two lines should be used for the labels in the hierarchy plot. |
ticks |
(optional) positions of tick marks for hierarchy and table plots (NA or numeric(0) avoids tick marks). |
... |
additional arguments passed to the R plotting routine. |
Note that the plotting routines plot.utility.conversion.intpol
plot.utility.conversion.parfun
are exactly the same so that all hierarchies can be plotted with exactly
the same commands irrespective of the type of the top-level node.
Peter Reichert <[email protected]>
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 utility.aggregation.create
for how to construct such a node and evaluate.utility.aggregation
for how to evaluate the node.
See utility.calc.colors
for an example of how to construct color schemes and utility.get.colors
for how to get colors for specifed value levels.
# see help(utility) # for examples.
# see help(utility) # for examples.
Plot node definition or underlying objective hierarchy.
## S3 method for class 'utility.conversion.intpol' plot(x, u = NA, uref = NA, par = NA, type = c("hierarchy", "table", "node", "nodes"), nodes = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, cex.nodes = 1, cex.attrib = 1, f.reaches = 0.2, f.nodes = 0.2, with.attrib = TRUE, levels = NA, plot.val = TRUE, print.val = TRUE, two.lines = FALSE, ...)
## S3 method for class 'utility.conversion.intpol' plot(x, u = NA, uref = NA, par = NA, type = c("hierarchy", "table", "node", "nodes"), nodes = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, cex.nodes = 1, cex.attrib = 1, f.reaches = 0.2, f.nodes = 0.2, with.attrib = TRUE, levels = NA, plot.val = TRUE, print.val = TRUE, two.lines = FALSE, ...)
x |
node to be plotted. |
u |
(optional) vector or data frame with elements or columns labelled
according to the nodes of the hierarchy containing values or utilities.
Typically, this will be the complete output or an output row of
the function |
uref |
(optional) vector or data frame with elements or columns labelled
according to the nodes of the hierarchy containing values or utilities.
Typically, this will be the complete output or an output row of
the function |
par |
(optional) labelled numeric parameter vector providing parameters to
modify the value or utility function before plotting the node.
Note that this affects only the node definitions plotted if the argument |
type |
(optional) specifies the type of plot to be produced. |
nodes |
(optional) character vector specifying the nodes for which the definitions
will be plotted or which will be considered in a table.
The default value of NA indicates that all nodes will be plotted.
This argument only affects the output if the argument |
col |
(optional) character vector of colors to be used to color the interval
between zero and unity in equidistant sections (use repetitions of the
same color if you want to have a non-equidistant color-coding).
This attribute is only used for value nodes and if values are provided
by the arguments |
gridlines |
(optional) numeric vector of levels at which gridlines are plotted
in node definitions.
This attribute is only used if the argument |
main |
(optional) title(s) of the plot.
If the argument |
cex.main |
(optional) scaling factor for title of the plot. |
cex.nodes |
(optional) scaling factor for node labels used in the plot. |
cex.attrib |
(optional) scaling factor for attribute labels used in the plot. |
f.reaches |
(optional) fraction of the width of the plot reserved for the row labels of the table if the argument |
f.nodes |
(optional) fraction of the height of the plot reserved for the column labels of the table if the argument |
with.attrib |
(optional) indicates if attributes should be listed if the argument |
levels |
(optional) how many levels of the hierarchy should be plotted (NA means to plot all levels). |
plot.val |
(optional) plot value as a vertical line within the box. |
print.val |
(optional) print value as a number when plotting a table of boxes. |
two.lines |
(optional) choose whether two lines should be used for the labels in the hierarchy plot. |
... |
additional arguments passed to the R plotting routine. |
Note that the plotting routines plot.utility.conversion.parfun
plot.utility.aggregation
are exactly the same so that all hierarchies can be plotted with exactly
the same commands irrespective of the type of the top-level node.
Peter Reichert <[email protected]>
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 utility.conversion.intpol.create
for how to construct such a node and evaluate.utility.conversion.intpol
for how to evaluate the node.
See utility.calc.colors
for an example of how to construct color schemes and utility.get.colors
for how to get colors for specifed value levels.
# see help(utility) # for examples.
# see help(utility) # for examples.
Plot node definition or underlying objectives hierarchy.
## S3 method for class 'utility.conversion.parfun' plot(x, u = NA, uref = NA, par = NA, type = c("hierarchy", "table", "node", "nodes"), nodes = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, cex.nodes = 1, cex.attrib = 1, f.reaches = 0.2, f.nodes = 0.2, with.attrib = TRUE, levels = NA, plot.val = TRUE, print.val = TRUE, two.lines = FALSE, ...)
## S3 method for class 'utility.conversion.parfun' plot(x, u = NA, uref = NA, par = NA, type = c("hierarchy", "table", "node", "nodes"), nodes = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, cex.nodes = 1, cex.attrib = 1, f.reaches = 0.2, f.nodes = 0.2, with.attrib = TRUE, levels = NA, plot.val = TRUE, print.val = TRUE, two.lines = FALSE, ...)
x |
node to be plotted. |
u |
(optional) vector or data frame with elements or columns labelled
according to the nodes of the hierarchy containing values or utilities.
Typically, this will be the complete output or an output row of
the function |
uref |
(optional) vector or data frame with elements or columns labelled
according to the nodes of the hierarchy containing values or utilities.
Typically, this will be the complete output or an output row of
the function |
par |
(optional) labelled numeric parameter vector providing parameters to
modify the value or utility function before plotting the node.
Note that this affects only the node definitions plotted if the argument |
type |
(optional) specifies the type of plot to be produced. |
nodes |
(optional) character vector specifying the nodes for which the definitions
will be plotted or which will be considered in a table.
The default value of NA indicates that all nodes will be plotted.
This argument only affects the output if the argument |
col |
(optional) character vector of colors to be used to color the interval
between zero and unity in equidistant sections (use repetitions of the
same color if you want to have a non-equidistant color-coding).
This attribute is only used for value nodes and if values are provided
by the arguments |
gridlines |
(optional) numeric vector of levels at which gridlines are plotted
in node definitions.
This attribute is only used if the argument |
main |
(optional) title(s) of the plot.
If the argument |
cex.main |
(optional) scaling factor for title of the plot. |
cex.nodes |
(optional) scaling factor for node labels used in the plot. |
cex.attrib |
(optional) scaling factor for attribute labels used in the plot. |
f.reaches |
(optional) fraction of the width of the plot reserved for the row labels of the table if the argument |
f.nodes |
(optional) fraction of the height of the plot reserved for the column labels of the table if the argument |
with.attrib |
(optional) indicates if attributes should be listed if the argument |
levels |
(optional) how many levels of the hierarchy should be plotted (NA means to plot all levels). |
plot.val |
(optional) plot value as a vertical line within the box. |
print.val |
(optional) print value as a number when plotting a table of boxes. |
two.lines |
(optional) choose whether two lines should be used for the labels in the hierarchy plot. |
... |
additional arguments passed to the R plotting routine. |
Note that the plotting routines plot.utility.conversion.intpol
plot.utility.aggregation
are exactly the same so that all hierarchies can be plotted with exactly
the same commands irrespective of the type of the top-level node.
Peter Reichert <[email protected]>
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 utility.conversion.parfun.create
for how to construct such a node and evaluate.utility.conversion.parfun
for how to evaluate the node.
See utility.calc.colors
for an example of how to construct color schemes and utility.get.colors
for how to get colors for specifed value levels.
# see help(utility) # for examples.
# see help(utility) # for examples.
Plot node definition.
## S3 method for class 'utility.endnode.classcounts' plot(x, par = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, ...)
## S3 method for class 'utility.endnode.classcounts' plot(x, par = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, ...)
x |
node to be plotted. |
par |
(optional) labelled numeric parameter vector providing parameters to modify the value or utility function before plotting the node. |
col |
(optional) character vector of colors to be used to color the interval between zero and unity in equidistant sections (use repetitions of the same color if you want to have a non-equidistant color-coding). This attribute is only used for value nodes. |
gridlines |
(optional) numeric vector of levels at which gridlines are plotted in the node definition. |
main |
(optional) title of the plot. |
cex.main |
(optional) scaling factor for title of the plot. |
... |
additional arguments passed to the R plotting routine. |
Note that the plotting routines for the other end nodes plot.utility.endnode.discrete
plot.utility.endnode.intpol1d
plot.utility.endnode.parfun1d
plot.utility.endnode.intpol2d
plot.utility.endnode.cond
plot.utility.endnode.firstavail
are as far as possible the same so that all end nodes can be plotted with the same commands irrespective of the type of the end node.
Peter Reichert <[email protected]>
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 utility.endnode.classcounts.create
for how to construct such a node and evaluate.utility.endnode.classcounts
for how to evaluate the node.
See utility.calc.colors
for an example of how to construct color schemes and utility.get.colors
for how to get colors for specifed value levels.
# see help(utility) # for examples.
# see help(utility) # for examples.
Plot node definition.
## S3 method for class 'utility.endnode.cond' plot(x, par = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, nodes = x$name, ...)
## S3 method for class 'utility.endnode.cond' plot(x, par = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, nodes = x$name, ...)
x |
node to be plotted. |
par |
(optional) labelled numeric parameter vector providing parameters to modify the value or utility function before plotting the node. |
col |
(optional) character vector of colors to be used to color the interval between zero and unity in equidistant sections (use repetitions of the same color if you want to have a non-equidistant color-coding). This attribute is only used for value nodes. |
gridlines |
(optional) numeric vector of levels at which gridlines are plotted in the node definition. |
main |
(optional) title of the plot. |
cex.main |
(optional) scaling factor for title of the plot. |
nodes |
(optional) character vector specifying the names of the nodes to be plotted. |
... |
additional arguments passed to the R plotting routine. |
Note that the plotting routines for the other end nodes plot.utility.endnode.discrete
plot.utility.endnode.intpol1d
plot.utility.endnode.parfun1d
plot.utility.endnode.intpol2d
plot.utility.endnode.firstavail
are as far as possible the same so that all end nodes can be plotted with the same commands irrespective of the type of the end node.
Peter Reichert <[email protected]>
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 utility.endnode.cond.create
for how to construct such a node and evaluate.utility.endnode.cond
for how to evaluate the node.
See utility.calc.colors
for an example of how to construct color schemes and utility.get.colors
for how to get colors for specifed value levels.
# see help(utility) # for examples.
# see help(utility) # for examples.
Plot node definition.
## S3 method for class 'utility.endnode.discrete' plot(x, par = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, ...)
## S3 method for class 'utility.endnode.discrete' plot(x, par = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, ...)
x |
node to be plotted. |
par |
(optional) labelled numeric parameter vector providing parameters to modify the value or utility function before plotting the node. |
col |
(optional) character vector of colors to be used to color the interval between zero and unity in equidistant sections (use repetitions of the same color if you want to have a non-equidistant color-coding). This attribute is only used for value nodes. |
gridlines |
(optional) numeric vector of levels at which gridlines are plotted in the node definition. |
main |
(optional) title of the plot. |
cex.main |
(optional) scaling factor for title of the plot. |
... |
additional arguments passed to the R plotting routine. |
Note that the plotting routines for the other end nodes plot.utility.endnode.intpol1d
plot.utility.endnode.parfun1d
plot.utility.endnode.intpol2d
plot.utility.endnode.cond
plot.utility.endnode.firstavail
are as far as possible the same so that all end nodes can be plotted with the same commands irrespective of the type of the end node.
Peter Reichert <[email protected]>
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 utility.endnode.discrete.create
for how to construct such a node and evaluate.utility.endnode.discrete
for how to evaluate the node.
See utility.calc.colors
for an example of how to construct color schemes and utility.get.colors
for how to get colors for specifed value levels.
# see help(utility) # for examples.
# see help(utility) # for examples.
Plot node definition.
## S3 method for class 'utility.endnode.firstavail' plot(x, par = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, nodes = x$name, ...)
## S3 method for class 'utility.endnode.firstavail' plot(x, par = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, nodes = x$name, ...)
x |
node to be plotted. |
par |
(optional) labelled numeric parameter vector providing parameters to modify the value or utility function before plotting the node. |
col |
(optional) character vector of colors to be used to color the interval between zero and unity in equidistant sections (use repetitions of the same color if you want to have a non-equidistant color-coding). This attribute is only used for value nodes. |
gridlines |
(optional) numeric vector of levels at which gridlines are plotted in the node definition. |
main |
(optional) title of the plot. |
cex.main |
(optional) scaling factor for title of the plot. |
nodes |
(optional) character vector specifying the names of the nodes to be plotted. |
... |
additional arguments passed to the R plotting routine. |
Note that the plotting routines for the other end nodes plot.utility.endnode.discrete
plot.utility.endnode.intpol1d
plot.utility.endnode.parfun1d
plot.utility.endnode.intpol2d
plot.utility.endnode.cond
are as far as possible the same so that all end nodes can be plotted with the same commands irrespective of the type of the end node.
Peter Reichert <[email protected]>
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 utility.endnode.firstavail.create
for how to construct such a node and evaluate.utility.endnode.firstavail
for how to evaluate the node.
See utility.calc.colors
for an example of how to construct color schemes and utility.get.colors
for how to get colors for specifed value levels.
# see help(utility) # for examples.
# see help(utility) # for examples.
Plot node definition.
## S3 method for class 'utility.endnode.intpol1d' plot(x, par = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, xlim = numeric(0), ...)
## S3 method for class 'utility.endnode.intpol1d' plot(x, par = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, xlim = numeric(0), ...)
x |
node to be plotted. |
par |
(optional) labelled numeric parameter vector providing parameters to modify the value or utility function before plotting the node. |
col |
(optional) character vector of colors to be used to color the interval between zero and unity in equidistant sections (use repetitions of the same color if you want to have a non-equidistant color-coding). This attribute is only used for value nodes. |
gridlines |
(optional) numeric vector of levels at which gridlines are plotted in the node definition. |
main |
(optional) title of the plot. |
cex.main |
(optional) scaling factor for title of the plot. |
xlim |
(optional) limits for x-axis of the plot (default is range). |
... |
additional arguments passed to the R plotting routine. |
Note that the plotting routines for the other end nodes plot.utility.endnode.discrete
plot.utility.endnode.parfun1d
plot.utility.endnode.intpol2d
plot.utility.endnode.cond
plot.utility.endnode.firstavail
are as far as possible the same so that all end nodes can be plotted with the same commands irrespective of the type of the end node.
Peter Reichert <[email protected]>
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 utility.endnode.intpol1d.create
for how to construct such a node and evaluate.utility.endnode.intpol1d
for how to evaluate the node.
See utility.calc.colors
for an example of how to construct color schemes and utility.get.colors
for how to get colors for specifed value levels.
# see help(utility) # for examples.
# see help(utility) # for examples.
Plot node definition.
## S3 method for class 'utility.endnode.intpol2d' plot(x, par = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, xlim = numeric(0), ylim = numeric(0), ...)
## S3 method for class 'utility.endnode.intpol2d' plot(x, par = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, xlim = numeric(0), ylim = numeric(0), ...)
x |
node to be plotted. |
par |
(optional) labelled numeric parameter vector providing parameters to modify the value or utility function before plotting the node. |
col |
(optional) character vector of colors to be used to color the interval between zero and unity in equidistant sections (use repetitions of the same color if you want to have a non-equidistant color-coding). This attribute is only used for value nodes. |
gridlines |
(optional) numeric vector of levels at which gridlines are plotted in the node definition. Not used for this type of node. |
main |
(optional) title of the plot. |
cex.main |
(optional) scaling factor for title of the plot. |
xlim |
(optional) limits of the x-axis of the plot (defaults to range). |
ylim |
(optional) limits of the y-axis of the plot (defaults to range). |
... |
additional arguments passed to the R plotting routine. |
Note that the plotting routines for the other end nodes plot.utility.endnode.discrete
plot.utility.endnode.parfun1d
plot.utility.endnode.intpol2d
plot.utility.endnode.cond
plot.utility.endnode.firstavail
are as far as possible the same so that all end nodes can be plotted with the same commands irrespective of the type of the end node.
Peter Reichert <[email protected]>
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 utility.endnode.intpol1d.create
for how to construct such a node and evaluate.utility.endnode.intpol1d
for how to evaluate the node.
See utility.calc.colors
for an example of how to construct color schemes and utility.get.colors
for how to get colors for specifed value levels.
# see help(utility) # for examples.
# see help(utility) # for examples.
Plot node definition.
## S3 method for class 'utility.endnode.parfun1d' plot(x, par = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, xlim = numeric(0), ...)
## S3 method for class 'utility.endnode.parfun1d' plot(x, par = NA, col = utility.calc.colors(), gridlines = c(0.2, 0.4, 0.6, 0.8), main = "", cex.main = 1, xlim = numeric(0), ...)
x |
node to be plotted. |
par |
(optional) labelled numeric parameter vector providing parameters to modify the value or utility function before plotting the node. |
col |
(optional) character vector of colors to be used to color the interval between zero and unity in equidistant sections (use repetitions of the same color if you want to have a non-equidistant color-coding). This attribute is only used for value nodes. |
gridlines |
(optional) numeric vector of levels at which gridlines are plotted in the node definition. |
main |
(optional) title of the plot. |
cex.main |
(optional) scaling factor for title of the plot. |
xlim |
(optional) limits for x-axis of the plot (default is range). |
... |
additional arguments passed to the R plotting routine. |
Note that the plotting routines for the other end nodes plot.utility.endnode.discrete
plot.utility.endnode.intpol1d
plot.utility.endnode.intpol2d
plot.utility.endnode.cond
plot.utility.endnode.firstavail
are as far as possible the same so that all end nodes can be plotted with the same commands irrespective of the type of the end node.
Peter Reichert <[email protected]>
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 utility.endnode.parfun1d.create
for how to construct such a node and evaluate.utility.endnode.parfun1d
for how to evaluate the node.
See utility.calc.colors
for an example of how to construct color schemes and utility.get.colors
for how to get colors for specifed value levels.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print definition of node and associated hierarchy.
## S3 method for class 'utility.aggregation' print(x, ...)
## S3 method for class 'utility.aggregation' print(x, ...)
x |
node to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.aggregation.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print definition of node and associated hierarchy.
## S3 method for class 'utility.conversion.intpol' print(x, ...)
## S3 method for class 'utility.conversion.intpol' print(x, ...)
x |
node to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.conversion.intpol.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print definition of node and associated hierarchy.
## S3 method for class 'utility.conversion.parfun' print(x, ...)
## S3 method for class 'utility.conversion.parfun' print(x, ...)
x |
node to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.conversion.parfun.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print node defintion.
## S3 method for class 'utility.endnode.classcounts' print(x, ...)
## S3 method for class 'utility.endnode.classcounts' print(x, ...)
x |
node to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.endnode.classcounts.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print node defintion.
## S3 method for class 'utility.endnode.cond' print(x, ...)
## S3 method for class 'utility.endnode.cond' print(x, ...)
x |
node to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.endnode.cond.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print node defintion.
## S3 method for class 'utility.endnode.discrete' print(x, ...)
## S3 method for class 'utility.endnode.discrete' print(x, ...)
x |
node to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.endnode.discrete.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print node defintion.
## S3 method for class 'utility.endnode.firstavail' print(x, ...)
## S3 method for class 'utility.endnode.firstavail' print(x, ...)
x |
node to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.endnode.firstavail.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print node defintion.
## S3 method for class 'utility.endnode.intpol1d' print(x, ...)
## S3 method for class 'utility.endnode.intpol1d' print(x, ...)
x |
node to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.endnode.intpol1d.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print node defintion.
## S3 method for class 'utility.endnode.intpol2d' print(x, ...)
## S3 method for class 'utility.endnode.intpol2d' print(x, ...)
x |
node to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.endnode.intpol2d.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print node defintion.
## S3 method for class 'utility.endnode.parfun1d' print(x, ...)
## S3 method for class 'utility.endnode.parfun1d' print(x, ...)
x |
node to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.endnode.parfun1d.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print summary of definition of node and associated hierarchy.
## S3 method for class 'utility.aggregation' summary(object, ...)
## S3 method for class 'utility.aggregation' summary(object, ...)
object |
node of which a summary is to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.aggregation.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print summary of definition of node and associated hierarchy.
## S3 method for class 'utility.conversion.intpol' summary(object, ...)
## S3 method for class 'utility.conversion.intpol' summary(object, ...)
object |
node of which a summary is to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.conversion.intpol.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print summary of definition of node and associated hierarchy.
## S3 method for class 'utility.conversion.parfun' summary(object, ...)
## S3 method for class 'utility.conversion.parfun' summary(object, ...)
object |
node of which a summary is to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.conversion.parfun.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print summary of node definition.
## S3 method for class 'utility.endnode.classcounts' summary(object, ...)
## S3 method for class 'utility.endnode.classcounts' summary(object, ...)
object |
node of which a summary is to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.endnode.classcounts.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print summary of node definition.
## S3 method for class 'utility.endnode.cond' summary(object, ...)
## S3 method for class 'utility.endnode.cond' summary(object, ...)
object |
node of which a summary is to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.endnode.cond.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print summary of node definition.
## S3 method for class 'utility.endnode.discrete' summary(object, ...)
## S3 method for class 'utility.endnode.discrete' summary(object, ...)
object |
node of which a summary is to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.endnode.discrete.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print summary of node definition.
## S3 method for class 'utility.endnode.firstavail' summary(object, ...)
## S3 method for class 'utility.endnode.firstavail' summary(object, ...)
object |
node of which a summary is to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.endnode.firstavail.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print summary of node definition.
## S3 method for class 'utility.endnode.intpol1d' summary(object, ...)
## S3 method for class 'utility.endnode.intpol1d' summary(object, ...)
object |
node of which a summary is to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.endnode.intpol1d.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print summary of node definition.
## S3 method for class 'utility.endnode.intpol2d' summary(object, ...)
## S3 method for class 'utility.endnode.intpol2d' summary(object, ...)
object |
node of which a summary is to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.endnode.intpol2d.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Print summary of node definition.
## S3 method for class 'utility.endnode.parfun1d' summary(object, ...)
## S3 method for class 'utility.endnode.parfun1d' summary(object, ...)
object |
node of which a summary is to be printed. |
... |
currently no other arguments are implemented or passed further. |
In the current version of the package, the methods print
and summary
provide the same output.
Peter Reichert <[email protected]>
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 utility.endnode.parfun1d.create
for how to construct such a node.
# see help(utility) # for examples.
# see help(utility) # for examples.
Generic function to update parameters in all node defintions of the hierarchy defined by the given node.
updatepar(x, ...)
updatepar(x, ...)
x |
node to be updated. |
... |
parameter values can be provided by an additional argument |
The node or node hierarchy with updated parameters is returned.
Peter Reichert <[email protected]>
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 utility.endnode.discrete.create
, utility.endnode.intpol1d.create
, utility.endnode.parfun1d.create
, utility.endnode.intpol2d.create
, utility.endnode.cond.create
, utility.aggregation.create
, utility.conversion.intpol.create
, utility.conversion.parfun.create
for how to construct the nodes and updatepar.utility.endnode.discrete
updatepar.utility.endnode.intpol1d
updatepar.utility.endnode.parfun1d
updatepar.utility.endnode.intpol2d
updatepar.utility.endnode.cond
updatepar.utility.aggregation
updatepar.utility.conversion.intpol
updatepar.utility.conversion.parfun
for the updates of the specific nodes.
Update parameters in all node defintions of the hierarchy defined by the node.
## S3 method for class 'utility.aggregation' updatepar(x, par=NA, ...)
## S3 method for class 'utility.aggregation' updatepar(x, par=NA, ...)
x |
node to be updated. |
par |
parameter vector with labelled parameters to be updated. |
... |
currently no other arguments are implemented or passed further. |
The node hierarchy with updated parameters is returned.
Peter Reichert <[email protected]>
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 utility.aggregation.create
for how to construct such a node and updatepar.utility.endnode.discrete
updatepar.utility.endnode.intpol1d
updatepar.utility.endnode.parfun1d
updatepar.utility.endnode.intpol2d
updatepar.utility.endnode.cond
updatepar.utility.conversion.intpol
updatepar.utility.conversion.parfun
for analogous updates of other nodes
Update parameters in all node defintions of the hierarchy defined by the node.
## S3 method for class 'utility.conversion.intpol' updatepar(x, par=NA, ...)
## S3 method for class 'utility.conversion.intpol' updatepar(x, par=NA, ...)
x |
node to be updated. |
par |
parameter vector labelled with parameter values to be updated. |
... |
currently no other arguments are implemented or passed further. |
The node hierarchy with updated parameters is returned.
Peter Reichert <[email protected]>
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 utility.endnode.parfun1d.create
for how to construct such a node and updatepar.utility.endnode.discrete
updatepar.utility.endnode.intpol1d
updatepar.utility.endnode.parfun1d
updatepar.utility.endnode.intpol2d
updatepar.utility.endnode.cond
updatepar.utility.aggregation
updatepar.utility.conversion.parfun
for analogous updates of other nodes
Update parameters in all node defintions of the hierarchy defined by the node.
## S3 method for class 'utility.conversion.parfun' updatepar(x, par=NA, ...)
## S3 method for class 'utility.conversion.parfun' updatepar(x, par=NA, ...)
x |
node to be updated. |
par |
parameter vector with labelled parameters to be updated. |
... |
currently no other arguments are implemented or passed further. |
The node hierarchy with updated parameters is returned.
Peter Reichert <[email protected]>
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 utility.endnode.parfun1d.create
for how to construct such a node and updatepar.utility.endnode.discrete
updatepar.utility.endnode.intpol1d
updatepar.utility.endnode.parfun1d
updatepar.utility.endnode.intpol2d
updatepar.utility.endnode.cond
updatepar.utility.aggregation
updatepar.utility.conversion.intpol
for analogous updates of other nodes
Update parameters in all node defintions used to define the node.
## S3 method for class 'utility.endnode.classcounts' updatepar(x, par=NA, ...)
## S3 method for class 'utility.endnode.classcounts' updatepar(x, par=NA, ...)
x |
node to be updated. |
par |
parameter vector with labelled parameters to be updated. |
... |
currently no other arguments are implemented or passed further. |
The node with updated parameters is returned.
Peter Reichert <[email protected]>
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 utility.endnode.classcounts.create
for how to construct such a node and updatepar.utility.endnode.discrete
updatepar.utility.endnode.intpol1d
updatepar.utility.endnode.parfun1d
updatepar.utility.endnode.intpol2d
updatepar.utility.endnode.cond
updatepar.utility.endnode.firstavail
updatepar.utility.aggregation
updatepar.utility.conversion.intpol
updatepar.utility.conversion.parfun
for analogous updates of other nodes
Update parameters in all node defintions used to define the node.
## S3 method for class 'utility.endnode.cond' updatepar(x, par=NA, ...)
## S3 method for class 'utility.endnode.cond' updatepar(x, par=NA, ...)
x |
node to be updated. |
par |
parameter vector with labelled parameters to be updated. |
... |
currently no other arguments are implemented or passed further. |
The node with updated parameters is returned.
Peter Reichert <[email protected]>
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 utility.endnode.cond.create
for how to construct such a node and updatepar.utility.endnode.discrete
updatepar.utility.endnode.intpol1d
updatepar.utility.endnode.parfun1d
updatepar.utility.endnode.intpol2d
updatepar.utility.endnode.firstavail
updatepar.utility.aggregation
updatepar.utility.conversion.intpol
updatepar.utility.conversion.parfun
for analogous updates of other nodes
Update parameters in node defintion.
## S3 method for class 'utility.endnode.discrete' updatepar(x, par=NA, ...)
## S3 method for class 'utility.endnode.discrete' updatepar(x, par=NA, ...)
x |
node to be updated. |
par |
parameter vector with labelled parameters to be updated. |
... |
currently no other arguments are implemented or passed further. |
The node with updated parameters is returned.
Peter Reichert <[email protected]>
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 utility.endnode.parfun1d.create
for how to construct such a node and updatepar.utility.endnode.intpol1d
updatepar.utility.endnode.parfun1d
updatepar.utility.endnode.intpol2d
updatepar.utility.endnode.cond
updatepar.utility.endnode.firstavail
updatepar.utility.aggregation
updatepar.utility.conversion.intpol
updatepar.utility.conversion.parfun
for analogous updates of other nodes
Update parameters in all node defintions used to define the node.
## S3 method for class 'utility.endnode.firstavail' updatepar(x, par=NA, ...)
## S3 method for class 'utility.endnode.firstavail' updatepar(x, par=NA, ...)
x |
node to be updated. |
par |
parameter vector with labelled parameters to be updated. |
... |
currently no other arguments are implemented or passed further. |
The node with updated parameters is returned.
Peter Reichert <[email protected]>
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 utility.endnode.firstavail.create
for how to construct such a node and updatepar.utility.endnode.discrete
updatepar.utility.endnode.intpol1d
updatepar.utility.endnode.parfun1d
updatepar.utility.endnode.intpol2d
updatepar.utility.endnode.cond
updatepar.utility.aggregation
updatepar.utility.conversion.intpol
updatepar.utility.conversion.parfun
for analogous updates of other nodes
Update parameters in node defintion.
## S3 method for class 'utility.endnode.intpol1d' updatepar(x, par=NA, ...)
## S3 method for class 'utility.endnode.intpol1d' updatepar(x, par=NA, ...)
x |
node to be updated. |
par |
parameter vector with labelled parameters to be updated. |
... |
currently no other arguments are implemented or passed further. |
The node with updated parameters is returned.
Peter Reichert <[email protected]>
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 utility.endnode.parfun1d.create
for how to construct such a node and updatepar.utility.endnode.discrete
updatepar.utility.endnode.parfun1d
updatepar.utility.endnode.intpol2d
updatepar.utility.endnode.cond
updatepar.utility.endnode.firstavail
updatepar.utility.aggregation
updatepar.utility.conversion.intpol
updatepar.utility.conversion.parfun
for analogous updates of other nodes
Update parameters in node defintion.
## S3 method for class 'utility.endnode.intpol2d' updatepar(x, par=NA, ...)
## S3 method for class 'utility.endnode.intpol2d' updatepar(x, par=NA, ...)
x |
node to be updated. |
par |
parameter vector with labelled parameters to be updated. |
... |
currently no other arguments are implemented or passed further. |
The node with updated parameters is returned.
Peter Reichert <[email protected]>
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 utility.endnode.parfun1d.create
for how to construct such a node and updatepar.utility.endnode.discrete
updatepar.utility.endnode.intpol1d
updatepar.utility.endnode.parfun1d
updatepar.utility.endnode.cond
updatepar.utility.endnode.firstavail
updatepar.utility.aggregation
updatepar.utility.conversion.intpol
updatepar.utility.conversion.parfun
for analogous updates of other nodes
Update parameters in node defintion.
## S3 method for class 'utility.endnode.parfun1d' updatepar(x, par=NA, ...)
## S3 method for class 'utility.endnode.parfun1d' updatepar(x, par=NA, ...)
x |
node to be updated. |
par |
parameter vector with labelled parameters to be updated. |
... |
currently no other arguments are implemented or passed further. |
The node with updated parameters is returned.
Peter Reichert <[email protected]>
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 utility.endnode.parfun1d.create
for how to construct such a node and updatepar.utility.endnode.discrete
updatepar.utility.endnode.intpol1d
updatepar.utility.endnode.intpol2d
updatepar.utility.endnode.cond
updatepar.utility.endnode.firstavail
updatepar.utility.aggregation
updatepar.utility.conversion.intpol
updatepar.utility.conversion.parfun
for analogous updates of other nodes
Function to perform an additive aggregation (weighted mean) of values or utilities.
utility.aggregate.add(u, par)
utility.aggregate.add(u, par)
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector of weights for calculating the weighted mean of the
values provided in the argument |
The aggregation function is defined by
The following figure shows examples of the behaviour of this aggregation function for the two-dimensional case:
numeric value representing the weighted mean of the components
of u
.
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.add(c(0.2,0.8), par=c(1,1))
utility.aggregate.add(c(0.2,0.8), par=c(1,1))
Function to perform a mixture of additive and minimum aggregation. The parameter vector must contain the weights for additive aggregation followed by the weight of additive aggregation. The weight for minimum aggregation is then unity minus the weight for additive aggregation. If this additional weight is zero, we return to minimum aggregation, if it is unity, we will have additive aggregation.
utility.aggregate.addmin(u, par)
utility.aggregate.addmin(u, par)
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector of weights for additive aggregation appended by the weight for additive aggregation.
The weight for minimum aggregation is then unity minus the weight for
additive aggregation.
If this additional weight is zero, we return to minimum aggregation,
if it is unity, we will have additive aggregation.
The weights for additive aggregation need not be normalized, they will be
normalized before use.
In case of missing values in the vector |
The aggregation function is a mixture of the functions
utility.aggregate.add
and
utility.aggregate.min
.
The following figure shows examples of the behaviour of this aggregation function for the two-dimensional case:
The function returns the aggregated value or utility.
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.addmin(c(0.2,0.8), par=c(1,1,0.5))
utility.aggregate.addmin(c(0.2,0.8), par=c(1,1,0.5))
Function to perform a weighted power aggregation of values or utilities.
utility.aggregate.addpower(u, par)
utility.aggregate.addpower(u, par)
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector of weights appended by the power of the aggregation function (see details below).
The weights need not be normalized, they will be normalized before use.
In case of missing values in the vector |
The aggregation function is defined by
where is the last parameter appended to the weights.
The following figure shows examples of the behaviour of this aggregation function for the two-dimensional case:
The function returns the aggregated value or utility.
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.addpower(c(0.2,0.8), par=c(1,1,2))
utility.aggregate.addpower(c(0.2,0.8), par=c(1,1,2))
Function to perform a splitted weighted power aggregation of values or utilities.
utility.aggregate.addsplitpower(u, par)
utility.aggregate.addsplitpower(u, par)
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector of weights appended by the power of the aggregation function and the position of the split between concave and convex transformation (see details below).
The weights need not be normalized, they will be normalized before use.
In case of missing values in the vector |
The aggregation function is defined by
with
where and
are the two last parameters appended to the weights.
The following figure shows examples of the behaviour of this aggregation function for the two-dimensional case (the split parameter, , is chosen to be 1/2 in all four plots):
The function returns the aggregated value or utility.
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.addsplitpower(c(0.2,0.8), par=c(1,1,2,0.5))
utility.aggregate.addsplitpower(c(0.2,0.8), par=c(1,1,2,0.5))
Function to perform an aggregation of valus or utilities that considers some of the inputs only as bonus (only considered if value is larger then the aggregated value of the non bonus or malus input) or malus (only considered if value is smaller then the aggregated value of the non bonus or malus input).
utility.aggregate.bonusmalus(u,par,def.agg="utility.aggregate.add")
utility.aggregate.bonusmalus(u,par,def.agg="utility.aggregate.add")
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector combining the parameters of the default aggregation technique
(see argument |
def.agg |
(optional) character string specifying the name of the function used for aggregation
of the non-bonus and non-malus sub-objectives.
Note that for use of this aggregation technique in the function
|
The aggregation function is defined by
The following figure shows examples of the behaviour of this aggregation function for the two-dimensional case:
The function returns the aggregated value or utility.
This is the same function as utility.aggregate.cobbdouglas
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.bonusmalus(c(0.2,0.8), par=c(1,NA,1)) utility.aggregate.bonusmalus(c(0.2,0.8), par=c(1,1,NA)) utility.aggregate.bonusmalus(c(0.2,0.8), par=c(1,NA,-1)) utility.aggregate.bonusmalus(c(0.2,0.8), par=c(1,-1,NA))
utility.aggregate.bonusmalus(c(0.2,0.8), par=c(1,NA,1)) utility.aggregate.bonusmalus(c(0.2,0.8), par=c(1,1,NA)) utility.aggregate.bonusmalus(c(0.2,0.8), par=c(1,NA,-1)) utility.aggregate.bonusmalus(c(0.2,0.8), par=c(1,-1,NA))
Function to perform a Cobb-Douglas aggregation (weighted geometric mean) of values or utilities.
utility.aggregate.cobbdouglas(u, par)
utility.aggregate.cobbdouglas(u, par)
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector of weights for calculating the weighted geometric mean
of the values provided in the argument |
The aggregation function is defined by
The following figure shows examples of the behaviour of this aggregation function and its generalization to utility.aggregate.geooff
for the two-dimensional case:
The function returns the aggregated value or utility.
This is the same function as utility.aggregate.geo
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.cobbdouglas(c(0.2,0.8), par=c(1,1))
utility.aggregate.cobbdouglas(c(0.2,0.8), par=c(1,1))
Function to perform a geometric aggregation (weighted geometric mean) of values or utilities.
utility.aggregate.geo(u, par)
utility.aggregate.geo(u, par)
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector of weights for calculating the weighted geometric mean
of the values provided in the argument |
The aggregation function is defined by
The following figure shows examples of the behaviour of this aggregation function and its generalization to utility.aggregate.geooff
for the two-dimensional case:
The function returns the aggregated value or utility.
This is the same function as utility.aggregate.cobbdouglas
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.geo(c(0.2,0.8), par=c(1,1))
utility.aggregate.geo(c(0.2,0.8), par=c(1,1))
Function to perform a geometric aggregation (weighted geometric mean) of values or utilities with offset. The offset is added to the arguments and subtracted from the result.
utility.aggregate.geooff(u, par)
utility.aggregate.geooff(u, par)
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector of weights appended by an offset for calculating the
weighted geometric mean minus an offset of the values provided in the
argument |
The aggregation function is defined by
where is the last parameter appended to the weights.
The following figure shows examples of the behaviour of this aggregation function and its special case utility.aggregate.geo
for the two-dimensional case:
The function returns the aggregated value or utility.
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.geooff(c(0.2,0.8), par=c(1,1,0.1))
utility.aggregate.geooff(c(0.2,0.8), par=c(1,1,0.1))
Function to perform a harmonic aggregation (weighted harmonic mean) of values or utilities.
utility.aggregate.harmo(u, par)
utility.aggregate.harmo(u, par)
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector of weights for calculating the weighted harmonic mean
of the values provided in the argument |
The aggregation function is defined by
The following figure shows examples of the behaviour of this aggregation function and its generalization to utility.aggregate.harmooff
for the two-dimensional case:
The function returns the aggregated value or utility.
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.harmo(c(0.2,0.8), par=c(1,1))
utility.aggregate.harmo(c(0.2,0.8), par=c(1,1))
Function to perform a harmonic aggregation (weighted harmonic mean) of values or utilities with offset. The offset is added to the arguments and subtracted from the result.
utility.aggregate.harmooff(u, par)
utility.aggregate.harmooff(u, par)
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector of weights appended by an offset for calculating the
weighted harmonic mean minus an offset of the values provided in the
argument |
The aggregation function is defined by
where is the last parameter appended to the weights.
The following figure shows examples of the behaviour of this aggregation function and its special case utility.aggregate.harmo
for the two-dimensional case:
The function returns the aggregated value or utility.
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.harmooff(c(0.2,0.8), par=c(1,1,0.1))
utility.aggregate.harmooff(c(0.2,0.8), par=c(1,1,0.1))
Function to perform a maximum aggregation of values or utilities.
utility.aggregate.max(u, par = NA)
utility.aggregate.max(u, par = NA)
u |
numeric vector of values or utilities to be aggregated. |
par |
unused argument used for compatibility with other aggregation techniques that require parameters. |
The aggregation function is defined by
The following figure shows the behaviour of this aggregation function for the two-dimensional case:
maximum of the components of u
.
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.max(c(0.2,0.8))
utility.aggregate.max(c(0.2,0.8))
Function to perform a minimum aggregation of values or utilities.
utility.aggregate.min(u, par = NA)
utility.aggregate.min(u, par = NA)
u |
numeric vector of values or utilities to be aggregated. |
par |
unused argument used for compatibility with other aggregation techniques that require parameters. |
The aggregation function is defined by
The following figure shows the behaviour of this aggregation function for the two-dimensional case:
minimum of the components of u
.
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.min(c(0.2,0.8))
utility.aggregate.min(c(0.2,0.8))
Function to perform a mixed aggregation of values and utilities. The mixture consists of a weighted mean of the additive, minimum and geometric aggregation techniques.
utility.aggregate.mix(u, par)
utility.aggregate.mix(u, par)
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector of weights for calculating the weighted mean of the
values provided in the argument |
The aggregation function is a mixture of the functions
utility.aggregate.add
,
utility.aggregate.min
, and
utility.aggregate.geo
.
The following figure shows examples of the behaviour of this aggregation function for the two-dimensional case:
The function returns the aggregated value or utility.
Peter Reichert <[email protected]>
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.mix(c(0.2,0.8),par=c(1,1 , 1,0,0)) utility.aggregate.mix(c(0.2,0.8),par=c(1,1 , 0,1,0)) utility.aggregate.mix(c(0.2,0.8),par=c(1,1 , 0,0,1)) utility.aggregate.mix(c(0.2,0.8),par=c(1,1 , 1,1,1))
utility.aggregate.mix(c(0.2,0.8),par=c(1,1 , 1,0,0)) utility.aggregate.mix(c(0.2,0.8),par=c(1,1 , 0,1,0)) utility.aggregate.mix(c(0.2,0.8),par=c(1,1 , 0,0,1)) utility.aggregate.mix(c(0.2,0.8),par=c(1,1 , 1,1,1))
Function to perform a multiplicative aggregation of values or utilities.
utility.aggregate.mult(u, par)
utility.aggregate.mult(u, par)
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector of weights for calculating the multiplicative
combination of the values provided in the argument |
To derive the aggregated value, we first solve the implicit equation
for and then calculate the aggregated value as
See Keeney and Raiffa, Decisions with multiple objectives, 1976, pp. 307, 347-348 for details.
The following figure shows examples of the behaviour of this aggregation function for the two-dimensional case:
numeric value corresponding to the multiplicative aggregation
of the values provided in the vector u
.
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.mult(c(0.2,0.8),par=c(0.3,0.3))
utility.aggregate.mult(c(0.2,0.8),par=c(0.3,0.3))
Function to perform a reverse weighted power aggregation of values or utilities.
utility.aggregate.revaddpower(u, par)
utility.aggregate.revaddpower(u, par)
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector of weights appended by the power of the aggregation function (see details below).
The weights need not be normalized, they will be normalized before use.
In case of missing values in the vector |
The aggregation function is defined by
where is the last parameter appended to the weights.
The following figure shows examples of the behaviour of this aggregation function for the two-dimensional case:
The function returns the aggregated value or utility.
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.revaddpower(c(0.2,0.8), par=c(1,1,2))
utility.aggregate.revaddpower(c(0.2,0.8), par=c(1,1,2))
Function to perform a reverse splitted weighted power aggregation of values or utilities.
utility.aggregate.revaddsplitpower(u, par)
utility.aggregate.revaddsplitpower(u, par)
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector of weights appended by the power of the aggregation function and the position of the split between concave and convex transformation (see details below).
The weights need not be normalized, they will be normalized before use.
In case of missing values in the vector |
The aggregation function is defined by
with
where and
are the two last parameters appended to the weights.
The following figure shows examples of the behaviour of this aggregation function for the two-dimensional case (the split parameter, , is chosen to be 1/2 in all four plots):
The function returns the aggregated value or utility.
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.revaddsplitpower(c(0.2,0.8,0.5), par=c(1,1,2,0.5))
utility.aggregate.revaddsplitpower(c(0.2,0.8,0.5), par=c(1,1,2,0.5))
Function to perform a reverse geometric aggregation (unity minus the weighted geometric mean of unity minus the arguments) of values or utilities.
utility.aggregate.revgeo(u, par)
utility.aggregate.revgeo(u, par)
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector of weights for calculating the reverse weighted geometric mean
of the values provided in the argument |
The aggregation function is defined by
The following figure shows examples of the behaviour of this aggregation function and its generalization to utility.aggregate.revgeooff
for the two-dimensional case:
The function returns the aggregated value or utility.
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.revgeo(c(0.2,0.8), par=c(1,1))
utility.aggregate.revgeo(c(0.2,0.8), par=c(1,1))
Function to perform a reverse geometric aggregation (unity minus the weighted geometric mean of unity minus the arguments) of values or utilities with offset.
utility.aggregate.revgeooff(u, par)
utility.aggregate.revgeooff(u, par)
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector of weights for calculating the reverse weighted geometric mean
of the values provided in the argument |
The aggregation function is defined by
where is the last parameter appended to the weights.
The following figure shows examples of the behaviour of this aggregation function and its special case utility.aggregate.revgeo
for the two-dimensional case:
The function returns the aggregated value or utility.
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.revgeooff(c(0.2,0.8), par=c(1,1,0.1))
utility.aggregate.revgeooff(c(0.2,0.8), par=c(1,1,0.1))
Function to perform a reverse harmonic aggregation (unity minus the weighted harmonic mean of unity minus the arguments) of values or utilities.
utility.aggregate.revharmo(u, par)
utility.aggregate.revharmo(u, par)
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector of weights for calculating the reverse weighted harmonic mean
of the values provided in the argument |
The aggregation function is defined by
The following figure shows examples of the behaviour of this aggregation function and its generalization to utility.aggregate.revharmooff
for the two-dimensional case:
The function returns the aggregated value or utility.
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.revharmo(c(0.2,0.8), par=c(1,1))
utility.aggregate.revharmo(c(0.2,0.8), par=c(1,1))
Function to perform a reverse harmonic aggregation (unity minus the weighted harmonic mean of unity minus the arguments) of values or utilities with offset.
utility.aggregate.revharmooff(u, par)
utility.aggregate.revharmooff(u, par)
u |
numeric vector of values or utilities to be aggregated. |
par |
numeric vector of weights for calculating the reverse weighted harmonic mean
of the values provided in the argument |
The aggregation function is defined by
where is the last parameter appended to the weights.
The following figure shows examples of the behaviour of this aggregation function and its special case utility.aggregate.revharmo
for the two-dimensional case:
The function returns the aggregated value or utility.
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Constructor of aggregation node: utility.aggregation.create
Aggregation techniques provided by uncsim: utility.aggregate.add
for additive aggregation (weighted arithmetic mean), utility.aggregate.min
for minimum aggregation, utility.aggregate.max
for maximum aggregation, utility.aggregate.geo
or utility.aggregate.cobbdouglas
for geometric or Cobb-Douglas aggregation (weighted geometric mean), utility.aggregate.geooff
for geometric aggregation with offset, utility.aggregate.revgeo
for reverse geometric aggregation, utility.aggregate.revgeooff
for reverse geometric aggregation with offset, utility.aggregate.harmo
for harmonic aggregation (weighted harmonic mean), utility.aggregate.harmooff
for harmonic aggregation with offset, utility.aggregate.revharmo
for reverse harmonic aggregation, utility.aggregate.revharmooff
for reverse harmonic aggregation with offset, utility.aggregate.mult
for multiplicative aggregation, utility.aggregate.mix
for a mixture of additive, minimum, and geometric aggregation, utility.aggregate.addmin
for a mixture of additive and minimum aggregation. utility.aggregate.addpower
for additive power aggregation (weighted power mean), utility.aggregate.revaddpower
for reverse additive power aggregation, utility.aggregate.addsplitpower
for splitted additive power aggregation, utility.aggregate.revaddsplitpower
for reverse splitted additive power aggregation, utility.aggregate.bonusmalus
for an aggregation technique that considers some of the values or utilities of sub-objectives only as bonus or malus.
utility.aggregate.revharmooff(c(0.2,0.8), par=c(1,1,0.1))
utility.aggregate.revharmooff(c(0.2,0.8), par=c(1,1,0.1))
Function to construct an aggregation node for value or utlity functions.
utility.aggregation.create(name.node, nodes, name.fun, par, names.par = rep(NA, length(par)), required = FALSE, num.required = 1, col = "black", shift.levels = 0, add.arg.fun = NULL)
utility.aggregation.create(name.node, nodes, name.fun, par, names.par = rep(NA, length(par)), required = FALSE, num.required = 1, col = "black", shift.levels = 0, add.arg.fun = NULL)
name.node |
name of the node to be constructed as a character string. |
nodes |
list of nodes to be aggregated. |
name.fun |
name of the function to be used for aggregation.
This function must accept the arguments |
par |
numeric vector of parameter values to be passed to the function specified unter |
names.par |
(optional) vector of parameter names corresponging to the vector of values specified under |
required |
(optional) logical variable indicating if the value of this node is required for aggregation at the next higher level.
If this variable is |
num.required |
number of lower-level values or utilities that must at least be available to make the evaluation possible. |
col |
(optional) color used for plotting the bounding box of the node in the objective hierarchy.
Default value is |
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 |
add.arg.fun |
(optional) an additional argument to the aggregation function |
The function returns the created object of type utility.aggregation
with the properties specified in the arguments of the function.
Peter Reichert <[email protected]>
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.
Description of aggregation techniques:
Langhans, S.D., Reichert, P. and Schuwirth, N.,
The method matters: A guide for indicator aggregation in ecological assessments.
Ecological Indicators 45, 494-507, 2014.
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.
Print, evaluate and plot the node with print.utility.aggregation
, summary.utility.aggregation
, evaluate.utility.aggregation
and plot.utility.aggregation
.
Create end nodes with utility.endnode.discrete.create
, utility.endnode.intpol1d.create
, utility.endnode.intpol2d.create
, utility.endnode.parfun1d.create
, utility.endnode.cond.create
, or utility.endnode.firstavail.create
.
Create conversion nodes with utility.conversion.intpol.create
, or utility.conversion.parfun.create
.
# define discrete end node for width variability # (attribute "widthvariability_class" with levels "high", # "moderate" and "none") 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) # define 1d interpolation end node for bed modification with # riprap # (attribute "bedmodfract_percent" with levels from 0 to 100) bedmod_riprap <- utility.endnode.intpol1d.create( name.node = "bed modification riprap", name.attrib = "bedmodfract_percent", range = c(0,100), x = c(0,10,30,100), u = c(1,0.775,0.5625,0.24), required = FALSE, utility = FALSE) # define 1d interpolation end node for bed modification with # other material # (attribute "bedmodfract_percent" with levels from 0 to 100) 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) # define combination end node for bed modification # (attributes "bedmodtype_class" and "bedmodfract_percent") bedmod <- utility.endnode.cond.create( name.node = "bed modification", attrib.levels = data.frame(bedmodtype_class= c("riprap","other")), nodes = list(bedmod_riprap,bedmod_other), required = FALSE, utility = FALSE) # define 1d interpolation end node for bank modification with # permeable material # (attribute "bankmodfract_percent" with levels from 0 to 100) bankmod_perm <- utility.endnode.intpol1d.create( name.node = "bank modification perm", name.attrib = "bankmodfract_percent", range = c(0,100), x = c(0,10,30,60,100), u = c(1,0.8667,0.675,0.4125,0.24), required = FALSE, utility = FALSE) # define 1d interpolation end node for bank modification with # impermeable material # (attribute "bankmodfract_percent" with levels from 0 to 100) bankmod_imperm <- utility.endnode.intpol1d.create( name.node = "bank modification imperm", name.attrib = "bankmodfract_percent", range = c(0,100), x = c(0,10,30,60,100), u = c(1,0.775,0.5625,0.24,0), required = FALSE, utility = FALSE) # define combination end node for bank modification # (attributes "bankmodtype_class" and "bankmodfract_percent") bankmod <- utility.endnode.cond.create( name.node = "bank modification", attrib.levels = data.frame(bankmodtype_class= c("perm","imperm")), nodes = list(bankmod_perm,bankmod_imperm), required = FALSE, utility = FALSE) # define 2d interpolation end node for riparian zone width # (attributes "riparianzonewidth_m" and "riparianzonewidth_m") riparzone_width <- utility.endnode.intpol2d.create( name.node = "riparian zone width", name.attrib = c("riverbedwidth_m","riparianzonewidth_m"), ranges = list(c(0,16),c(0,30)), isolines = list(list(x=c(0,16),y=c(0,0)), list(x=c(0,2,10,16),y=c(5,5,15,15)), list(x=c(0,16),y=c(15,15)), list(x=c(0,16),y=c(30,30))), u = c(0.0,0.6,1.0,1.0), lead = 1, utility = FALSE) # define discrete end node for riparian zone vegetation # (attriute "riparianzoneveg_class" with levels "natural", # "seminatural" and "artificial") riparzone_veg <- utility.endnode.discrete.create( name.node = "riparian zone veg.", attrib.levels = data.frame(riparianzoneveg_class= c("natural","seminatural","artificial")), u = c(1,0.5625,0), required = FALSE, utility = FALSE) # define aggregation node for riparian zone riparzone <- utility.aggregation.create( name.node = "riparian zone", nodes = list(riparzone_width,riparzone_veg), name.fun = "utility.aggregate.cobbdouglas", par = c(1,1), required = FALSE) # define aggregation node for ecomorphological state morphol <- utility.aggregation.create( name.node = "ecomorphology", nodes = list(widthvar,bedmod,bankmod,riparzone), name.fun = "utility.aggregate.mix", par = c(0.25,0.25,0.25,0.25,0,0,1), names.par = c("w_widthvar","w_bedmod","w_bankmod","w_riparzone", "w_add","w_min","w_cobbdouglas"), required = TRUE) # print individual definitions print(widthvar) print(bedmod) # print all definitions print(morphol) # plot objectives hierarchy with attributes plot(morphol) # plot individual nodes: plot(widthvar) plot(widthvar,par=c(u_moderate=0.2)) plot(bedmod_other) plot(bankmod) #plot(riparzone_width) # plot selected node definitions of a hierarchy plot(morphol,type="nodes",nodes=c("width variability", "bed modification other", "bank modification")) # evaluate value function for data sets and plot colored hierarchies # and table attrib_channelized <- data.frame(widthvariability_class = "none", bedmodtype_class = "riprap", bedmodfract_percent = 50, bankmodtype_class = "imperm", bankmodfract_percent = 70, riverbedwidth_m = 10, riparianzonewidth_m = 5, riparianzoneveg_class = "seminatural") attrib_rehab <- data.frame(widthvariability_class = "high", bedmodtype_class = "riprap", bedmodfract_percent = 50, bankmodtype_class = "imperm", bankmodfract_percent = 20, riverbedwidth_m = 15, riparianzonewidth_m = 15, riparianzoneveg_class = "natural") res_channelized <- evaluate(morphol,attrib=attrib_channelized) res_channelized_add <- evaluate(morphol,attrib=attrib_channelized, par=c(w_add=1,w_min=0,w_cobbdouglas=0)) res_rehab <- evaluate(morphol,attrib=attrib_rehab) res_both <- rbind(res_channelized,res_rehab) rownames(res_both) <- c("channelized","rehabilitated") plot(morphol,u=res_channelized) plot(morphol,u=res_channelized_add) plot(morphol,u=res_rehab) plot(morphol,u=res_rehab,uref=res_channelized) plot(morphol,u=res_both,type="table") # consideration of uncertain attribute levels (higher uncertainty for # predicted state after rehabilitation than for observed channelized state): sampsize <- 2000 attrib_channelized_unc <- data.frame( widthvariability_class = rep("high",sampsize), bedmodtype_class = rep("riprap",sampsize), bedmodfract_percent = rnorm(sampsize,mean=50,sd=5), bankmodtype_class = rep("imperm",sampsize), bankmodfract_percent = rnorm(sampsize,mean=70,sd=5), riverbedwidth_m = rep(10,sampsize), riparianzonewidth_m = rep(5,sampsize), riparianzoneveg_class = c("seminatural","artificial")[rbinom(sampsize,1,0.5)+1]) attrib_rehab_unc <- data.frame( widthvariability_class = c("moderate","high")[rbinom(sampsize,1,0.5)+1], bedmodtype_class = rep("riprap",sampsize), bedmodfract_percent = rnorm(sampsize,mean=50,sd=15), bankmodtype_class = rep("imperm",sampsize), bankmodfract_percent = rnorm(sampsize,mean=20,sd=5), riverbedwidth_m = rnorm(sampsize,mean=10,sd=2), riparianzonewidth_m = rnorm(sampsize,mean=10,sd=2), riparianzoneveg_class = c("natural","seminatural")[rbinom(sampsize,1,0.5)+1]) res_channelized_unc <- evaluate(morphol,attrib=attrib_channelized_unc) res_rehab_unc <- evaluate(morphol,attrib=attrib_rehab_unc) plot(morphol,u=res_channelized_unc) plot(morphol,u=res_rehab_unc) plot(morphol,u=res_rehab_unc,uref=res_channelized_unc)
# define discrete end node for width variability # (attribute "widthvariability_class" with levels "high", # "moderate" and "none") 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) # define 1d interpolation end node for bed modification with # riprap # (attribute "bedmodfract_percent" with levels from 0 to 100) bedmod_riprap <- utility.endnode.intpol1d.create( name.node = "bed modification riprap", name.attrib = "bedmodfract_percent", range = c(0,100), x = c(0,10,30,100), u = c(1,0.775,0.5625,0.24), required = FALSE, utility = FALSE) # define 1d interpolation end node for bed modification with # other material # (attribute "bedmodfract_percent" with levels from 0 to 100) 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) # define combination end node for bed modification # (attributes "bedmodtype_class" and "bedmodfract_percent") bedmod <- utility.endnode.cond.create( name.node = "bed modification", attrib.levels = data.frame(bedmodtype_class= c("riprap","other")), nodes = list(bedmod_riprap,bedmod_other), required = FALSE, utility = FALSE) # define 1d interpolation end node for bank modification with # permeable material # (attribute "bankmodfract_percent" with levels from 0 to 100) bankmod_perm <- utility.endnode.intpol1d.create( name.node = "bank modification perm", name.attrib = "bankmodfract_percent", range = c(0,100), x = c(0,10,30,60,100), u = c(1,0.8667,0.675,0.4125,0.24), required = FALSE, utility = FALSE) # define 1d interpolation end node for bank modification with # impermeable material # (attribute "bankmodfract_percent" with levels from 0 to 100) bankmod_imperm <- utility.endnode.intpol1d.create( name.node = "bank modification imperm", name.attrib = "bankmodfract_percent", range = c(0,100), x = c(0,10,30,60,100), u = c(1,0.775,0.5625,0.24,0), required = FALSE, utility = FALSE) # define combination end node for bank modification # (attributes "bankmodtype_class" and "bankmodfract_percent") bankmod <- utility.endnode.cond.create( name.node = "bank modification", attrib.levels = data.frame(bankmodtype_class= c("perm","imperm")), nodes = list(bankmod_perm,bankmod_imperm), required = FALSE, utility = FALSE) # define 2d interpolation end node for riparian zone width # (attributes "riparianzonewidth_m" and "riparianzonewidth_m") riparzone_width <- utility.endnode.intpol2d.create( name.node = "riparian zone width", name.attrib = c("riverbedwidth_m","riparianzonewidth_m"), ranges = list(c(0,16),c(0,30)), isolines = list(list(x=c(0,16),y=c(0,0)), list(x=c(0,2,10,16),y=c(5,5,15,15)), list(x=c(0,16),y=c(15,15)), list(x=c(0,16),y=c(30,30))), u = c(0.0,0.6,1.0,1.0), lead = 1, utility = FALSE) # define discrete end node for riparian zone vegetation # (attriute "riparianzoneveg_class" with levels "natural", # "seminatural" and "artificial") riparzone_veg <- utility.endnode.discrete.create( name.node = "riparian zone veg.", attrib.levels = data.frame(riparianzoneveg_class= c("natural","seminatural","artificial")), u = c(1,0.5625,0), required = FALSE, utility = FALSE) # define aggregation node for riparian zone riparzone <- utility.aggregation.create( name.node = "riparian zone", nodes = list(riparzone_width,riparzone_veg), name.fun = "utility.aggregate.cobbdouglas", par = c(1,1), required = FALSE) # define aggregation node for ecomorphological state morphol <- utility.aggregation.create( name.node = "ecomorphology", nodes = list(widthvar,bedmod,bankmod,riparzone), name.fun = "utility.aggregate.mix", par = c(0.25,0.25,0.25,0.25,0,0,1), names.par = c("w_widthvar","w_bedmod","w_bankmod","w_riparzone", "w_add","w_min","w_cobbdouglas"), required = TRUE) # print individual definitions print(widthvar) print(bedmod) # print all definitions print(morphol) # plot objectives hierarchy with attributes plot(morphol) # plot individual nodes: plot(widthvar) plot(widthvar,par=c(u_moderate=0.2)) plot(bedmod_other) plot(bankmod) #plot(riparzone_width) # plot selected node definitions of a hierarchy plot(morphol,type="nodes",nodes=c("width variability", "bed modification other", "bank modification")) # evaluate value function for data sets and plot colored hierarchies # and table attrib_channelized <- data.frame(widthvariability_class = "none", bedmodtype_class = "riprap", bedmodfract_percent = 50, bankmodtype_class = "imperm", bankmodfract_percent = 70, riverbedwidth_m = 10, riparianzonewidth_m = 5, riparianzoneveg_class = "seminatural") attrib_rehab <- data.frame(widthvariability_class = "high", bedmodtype_class = "riprap", bedmodfract_percent = 50, bankmodtype_class = "imperm", bankmodfract_percent = 20, riverbedwidth_m = 15, riparianzonewidth_m = 15, riparianzoneveg_class = "natural") res_channelized <- evaluate(morphol,attrib=attrib_channelized) res_channelized_add <- evaluate(morphol,attrib=attrib_channelized, par=c(w_add=1,w_min=0,w_cobbdouglas=0)) res_rehab <- evaluate(morphol,attrib=attrib_rehab) res_both <- rbind(res_channelized,res_rehab) rownames(res_both) <- c("channelized","rehabilitated") plot(morphol,u=res_channelized) plot(morphol,u=res_channelized_add) plot(morphol,u=res_rehab) plot(morphol,u=res_rehab,uref=res_channelized) plot(morphol,u=res_both,type="table") # consideration of uncertain attribute levels (higher uncertainty for # predicted state after rehabilitation than for observed channelized state): sampsize <- 2000 attrib_channelized_unc <- data.frame( widthvariability_class = rep("high",sampsize), bedmodtype_class = rep("riprap",sampsize), bedmodfract_percent = rnorm(sampsize,mean=50,sd=5), bankmodtype_class = rep("imperm",sampsize), bankmodfract_percent = rnorm(sampsize,mean=70,sd=5), riverbedwidth_m = rep(10,sampsize), riparianzonewidth_m = rep(5,sampsize), riparianzoneveg_class = c("seminatural","artificial")[rbinom(sampsize,1,0.5)+1]) attrib_rehab_unc <- data.frame( widthvariability_class = c("moderate","high")[rbinom(sampsize,1,0.5)+1], bedmodtype_class = rep("riprap",sampsize), bedmodfract_percent = rnorm(sampsize,mean=50,sd=15), bankmodtype_class = rep("imperm",sampsize), bankmodfract_percent = rnorm(sampsize,mean=20,sd=5), riverbedwidth_m = rnorm(sampsize,mean=10,sd=2), riparianzonewidth_m = rnorm(sampsize,mean=10,sd=2), riparianzoneveg_class = c("natural","seminatural")[rbinom(sampsize,1,0.5)+1]) res_channelized_unc <- evaluate(morphol,attrib=attrib_channelized_unc) res_rehab_unc <- evaluate(morphol,attrib=attrib_rehab_unc) plot(morphol,u=res_channelized_unc) plot(morphol,u=res_rehab_unc) plot(morphol,u=res_rehab_unc,uref=res_channelized_unc)
Function to calculate a color scheme for value functions.
utility.calc.colors(n = 5)
utility.calc.colors(n = 5)
n |
number of colors. |
For n = 5
this function produces the standard colors red, orange, yellow, green and blue as used in river assessment programs.
These colors are provided in a lighter version to improve readability of black text in front of the colored background.
For large values of n
quasi-continuous transitions are defined between these colors.
Any other vector of colors can be used by the plotting routines.
Character vector of colors.
Peter Reichert <[email protected]>
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 plot.utility.endnode.discrete
plot.utility.endnode.intpol1d
plot.utility.endnode.parfun1d
plot.utility.endnode.intpol2d
plot.utility.endnode.cond
plot.utility.aggregation
plot.utility.conversion.intpol
plot.utility.conversion.parfun
for the use of such color vectors in plotting functions and utility.get.colors
for getting colors corresponding to specified values.
utility.calc.colors(5) utility.calc.colors(100)
utility.calc.colors(5) utility.calc.colors(100)
Function to construct a node converting values into utilities by interpolation.
utility.conversion.intpol.create(name.node, node, x, u, names.x = rep(NA, length(x)), names.u = rep(NA, length(u)), required = FALSE, col = "black", shift.levels = 0)
utility.conversion.intpol.create(name.node, node, x, u, names.x = rep(NA, length(x)), names.u = rep(NA, length(u)), required = FALSE, col = "black", shift.levels = 0)
name.node |
name of the node to be constructed as a character string. |
node |
value node that is to be converted into a utility node. |
x |
numeric vector of values for which the utility is known. |
u |
numeric vector of utilities corresponding to the values given in the previous argument |
names.x |
(optional) vector of character strings with names of the components of the numeric vector |
names.u |
(optional) vector of character strings with names of the components of the numeric vector |
required |
(optional) logical variable indicating if the value of this node is required for aggregation at the next higher level.
If this variable is |
col |
(optional) color used for plotting the bounding box of the node in the objective hierarchy.
Default value is |
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 |
The function returns the created object of type utility.conversion.intpol1
with the properties specified in the arguments of the function.
Peter Reichert <[email protected]>
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.
Print, evaluate and plot the node with print.utility.conversion.intpol
, summary.utility.conversion.intpol
, evaluate.utility.conversion.intpol
and plot.utility.conversion.intpol
.
Create other conversion nodes with
utility.conversion.parfun.create
.
Create end nodes with utility.endnode.discrete.create
, utility.endnode.parfun1d.create
, utility.endnode.intpol2d.create
, utility.endnode.parfun1d.create
, utility.endnode.cond.create
, or utility.endnode.firstavail.create
.
Create aggregation nodes with utility.aggregation.create
.
Function to construct a node converting values into utilities by a parametric function.
utility.conversion.parfun.create(name.node, node, name.fun, par, names.par = rep(NA, length(par)), required = FALSE, col = "black", shift.levels = 0)
utility.conversion.parfun.create(name.node, node, name.fun, par, names.par = rep(NA, length(par)), required = FALSE, col = "black", shift.levels = 0)
name.node |
name of the node to be constructed as a character string. |
node |
value node that is to be converted into a utility node. |
name.fun |
name of the parametric function to be evaluated as a character string.
The parametric function must have the arguments |
par |
numeric vector of parameter values to be passed to the function specified unter |
names.par |
(optional) vector of parameter names corresponging to the vector of values specified under |
required |
(optional) logical variable indicating if the value of this node is required for aggregation at the next higher level.
If this variable is |
col |
(optional) color used for plotting the bounding box of the node in the objective hierarchy.
Default value is |
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 |
The function returns the created object of type utility.conversion.parfun
with the properties specified in the arguments of the function.
Peter Reichert <[email protected]>
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.
Print, evaluate and plot the node with print.utility.conversion.parfun
, summary.utility.conversion.parfun
, evaluate.utility.conversion.parfun
and plot.utility.conversion.parfun
.
Create other conversion nodes with
utility.conversion.intpol.create
.
Create end nodes with utility.endnode.discrete.create
, utility.endnode.parfun1d.create
, utility.endnode.intpol2d.create
, utility.endnode.parfun1d.create
, utility.endnode.cond.create
, or utility.endnode.firstavail.create
.
Create aggregation nodes with utility.aggregation.create
.
Function to construct a node that evaluates counts in different quality classes by assigning a value to the highest class with counts > 0 and optionally increments this value with the counts in this and lower classses and given increments per count unit. The user can choose whether these increments can lead to a value higher than the basic value for counts in the next better class or if this value limits the potential increase.
utility.endnode.classcounts.create(name.node, # character(1) name.attrib, # character(n) u.max.inc, # list (n) of vect (>=1) names.u.max.inc = list(), exceed.next = TRUE, utility = TRUE, required = FALSE, col = "black", shift.levels = 0)
utility.endnode.classcounts.create(name.node, # character(1) name.attrib, # character(n) u.max.inc, # list (n) of vect (>=1) names.u.max.inc = list(), exceed.next = TRUE, utility = TRUE, required = FALSE, col = "black", shift.levels = 0)
name.node |
name of the node to be constructed as a character string. |
name.attrib |
vector of names of attributes (counts in classes in decreasing order of value of the classes). |
u.max.inc |
list of vectors specifying the basic value and the increments for each class and classes of less value. |
names.u.max.inc |
(optional) list of vectors of names of parameters u.max.inc. |
exceed.next |
(optional) logical variable to indicate whether the level corresponding to the species classified at the next higher level can be exceeded with increments; default value is TRUE. |
utility |
(optional) logical variable indicating if a value function ( |
required |
(optional) logical variable indicating if the value of this node is required for aggregation at the next higher level.
If this variable is |
col |
(optional) color used for plotting the bounding box of the node in the objective hierarchy.
Default value is |
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 |
The function returns the created object of type utility.endnode.classcounts
with the properties specified in the arguments of the function.
Peter Reichert <[email protected]>
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.
Print, evaluate and plot the node with print.utility.endnode.classcounts
, summary.utility.endnode.classcounts
, evaluate.utility.endnode.classcounts
and plot.utility.endnode.classcounts
.
Create other end nodes with utility.endnode.discrete.create
, utility.endnode.intpol1d.create
, utility.endnode.parfun1d.create
, utility.endnode.intpol2d.create
, or utility.endnode.cond.create
, utility.endnode.firstavail.create
,
Create other types of nodes with utility.aggregation.create
, utility.conversion.intpol.create
, or utility.conversion.parfun.create
.
Function to construct a node that makes a choice between given end nodes based on the levels of discrete attributes.
utility.endnode.cond.create(name.node, attrib.levels, nodes, utility = TRUE, required = FALSE, col = "black", shift.levels = 0)
utility.endnode.cond.create(name.node, attrib.levels, nodes, utility = TRUE, required = FALSE, col = "black", shift.levels = 0)
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. |
nodes |
list of the length of the number of columns of the data frame specifed as argument |
utility |
(optional) logical variable indicating if a value function ( |
required |
(optional) logical variable indicating if the value of this node is required for aggregation at the next higher level.
If this variable is |
col |
(optional) color used for plotting the bounding box of the node in the objective hierarchy.
Default value is |
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 |
The function returns the created object of type utility.endnode.cond
with the properties specified in the arguments of the function.
Peter Reichert <[email protected]>
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.
Print, evaluate and plot the node with print.utility.endnode.cond
, summary.utility.endnode.cond
, evaluate.utility.endnode.cond
and plot.utility.endnode.cond
.
Create other end nodes with utility.endnode.discrete.create
, utility.endnode.parfun1d.create
, utility.endnode.intpol2d.create
, utility.endnode.parfun1d.create
, or utility.endnode.firstavail.create
.
Create other types of nodes with utility.aggregation.create
, utility.conversion.intpol.create
, or utility.conversion.parfun.create
.
bedmod_riprap <- utility.endnode.intpol1d.create( name.node = "bed modification riprap", name.attrib = "bedmodfract_percent", range = c(0,100), x = c(0,10,30,100), u = c(1,0.775,0.5625,0.24), required = FALSE, utility = FALSE) 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) bedmod <- utility.endnode.cond.create( name.node = "bed modification", attrib.levels = data.frame(bedmodtype_class= c("riprap","other")), nodes = list(bedmod_riprap,bedmod_other), required = FALSE, utility = FALSE) print(bedmod) plot(bedmod)
bedmod_riprap <- utility.endnode.intpol1d.create( name.node = "bed modification riprap", name.attrib = "bedmodfract_percent", range = c(0,100), x = c(0,10,30,100), u = c(1,0.775,0.5625,0.24), required = FALSE, utility = FALSE) 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) bedmod <- utility.endnode.cond.create( name.node = "bed modification", attrib.levels = data.frame(bedmodtype_class= c("riprap","other")), nodes = list(bedmod_riprap,bedmod_other), required = FALSE, utility = FALSE) print(bedmod) plot(bedmod)
Function to construct a discrete value or utility end node.
utility.endnode.discrete.create(name.node, attrib.levels, u, names.u = rep(NA, length(u)), utility = TRUE, required = FALSE, col = "black", shift.levels = 0)
utility.endnode.discrete.create(name.node, attrib.levels, u, names.u = rep(NA, length(u)), utility = TRUE, required = FALSE, col = "black", shift.levels = 0)
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 |
names.u |
(optional) vector of character strings with names of the components of the numeric vector |
utility |
(optional) logical variable indicating if a value function ( |
required |
(optional) logical variable indicating if the value of this node is required for aggregation at the next higher level.
If this variable is |
col |
(optional) color used for plotting the bounding box of the node in the objective hierarchy.
Default value is |
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 |
The function returns the created object of type utility.endnode.discrete
with the properties specified in the arguments of the function.
Peter Reichert <[email protected]>
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.
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
.
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)
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)
Function to construct a node that returns the results of the first sub-node for which results are available.
utility.endnode.firstavail.create(name.node, nodes, utility = TRUE, required = FALSE, col = "black", shift.levels = 0)
utility.endnode.firstavail.create(name.node, nodes, utility = TRUE, required = FALSE, col = "black", shift.levels = 0)
name.node |
name of the node to be constructed as a character string. |
nodes |
list of nodes to be tried. |
utility |
(optional) logical variable indicating if a value function ( |
required |
(optional) logical variable indicating if the value of this node is required for aggregation at the next higher level.
If this variable is |
col |
(optional) color used for plotting the bounding box of the node in the objective hierarchy.
Default value is |
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 |
The function returns the created object of type utility.endnode.firstavail
with the properties specified in the arguments of the function.
Peter Reichert <[email protected]>
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.
Print, evaluate and plot the node with print.utility.endnode.firstavail
, summary.utility.endnode.firstavail
, evaluate.utility.endnode.firstavail
and plot.utility.endnode.firstavail
.
Create other end nodes with utility.endnode.discrete.create
, utility.endnode.intpol1d.create
, utility.endnode.parfun1d.create
, utility.endnode.intpol2d.create
, or utility.endnode.cond.create
,
Create other types of nodes with utility.aggregation.create
, utility.conversion.intpol.create
, or utility.conversion.parfun.create
.
Function to construct a single-attribute interpolation end node.
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)
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)
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 |
names.x |
(optional) vector of character strings with names of the components of the numeric vector |
names.u |
(optional) vector of character strings with names of the components of the numeric vector |
utility |
(optional) logical variable indicating if a value function ( |
required |
(optional) logical variable indicating if the value of this node is required for aggregation at the next higher level.
If this variable is |
col |
(optional) color used for plotting the bounding box of the node in the objective hierarchy.
Default value is |
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 |
The function returns the created object of type utility.endnode.intpol1d
with the properties specified in the arguments of the function.
Peter Reichert <[email protected]>
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.
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
, orutility.endnode.firstavail.create
.
Create other types of nodes with utility.aggregation.create
, utility.conversion.intpol.create
, or utility.conversion.parfun.create
.
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)
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)
Function to construct a two-attribute interpolation end node.
utility.endnode.intpol2d.create(name.node, name.attrib, ranges, isolines, u, names.u = rep(NA, length(u)), lead = 0, utility = TRUE, required = FALSE, col = "black", shift.levels = 0)
utility.endnode.intpol2d.create(name.node, name.attrib, ranges, isolines, u, names.u = rep(NA, length(u)), lead = 0, utility = TRUE, required = FALSE, col = "black", shift.levels = 0)
name.node |
name of the node to be constructed as a character string. |
name.attrib |
names of the attributes on which the value or utility function depends as a vector of two character strings. |
ranges |
list of two numeric vectors with two components each specifying the minimum and the maximum of the range of the corresponding attribute. |
isolines |
list of isoline definitions.
Each definition consists of a list with elements |
u |
numeric vector of the same length as the outer list of the argument |
names.u |
(optional) vector of character strings with names of the components of the numeric vector |
lead |
numeric value specifying which variable is the lead variable for interpolation. 1 indicates linear interpolation between isolines along lines with constant value of the first attribute, 2 along lines with constant values of the second attribute, and zero indicates to take the average of these two interpolation schemes. |
utility |
(optional) logical variable indicating if a value function ( |
required |
(optional) logical variable indicating if the value of this node is required for aggregation at the next higher level.
If this variable is |
col |
(optional) color used for plotting the bounding box of the node in the objective hierarchy.
Default value is |
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 |
The function returns the created object of type utility.endnode.intpol2d
with the properties specified in the arguments of the function.
Peter Reichert <[email protected]>
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.
Print, evaluate and plot the node with print.utility.endnode.intpol2d
, summary.utility.endnode.intpol2d
, evaluate.utility.endnode.intpol2d
and plot.utility.endnode.intpol2d
.
Create other end nodes with utility.endnode.discrete.create
, utility.endnode.intpol1d.create
, utility.endnode.parfun1d.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
.
riparzone_width <- utility.endnode.intpol2d.create( name.node = "riparian zone width", name.attrib = c("riverbedwidth_m","riparianzonewidth_m"), ranges = list(c(0,16),c(0,30)), isolines = list(list(x=c(0,16),y=c(0,0)), list(x=c(0,2,10,16),y=c(5,5,15,15)), list(x=c(0,16),y=c(15,15)), list(x=c(0,16),y=c(30,30))), u = c(0.0,0.6,1.0,1.0), lead = 1, utility = FALSE) print(riparzone_width) plot(riparzone_width)
riparzone_width <- utility.endnode.intpol2d.create( name.node = "riparian zone width", name.attrib = c("riverbedwidth_m","riparianzonewidth_m"), ranges = list(c(0,16),c(0,30)), isolines = list(list(x=c(0,16),y=c(0,0)), list(x=c(0,2,10,16),y=c(5,5,15,15)), list(x=c(0,16),y=c(15,15)), list(x=c(0,16),y=c(30,30))), u = c(0.0,0.6,1.0,1.0), lead = 1, utility = FALSE) print(riparzone_width) plot(riparzone_width)
Function to construct a single-attribute parametric function end node.
utility.endnode.parfun1d.create(name.node, name.attrib, range, name.fun, par, names.par = rep(NA, length(par)), utility = TRUE, required = FALSE, col = "black", shift.levels = 0)
utility.endnode.parfun1d.create(name.node, name.attrib, range, name.fun, par, names.par = rep(NA, length(par)), utility = TRUE, required = FALSE, col = "black", shift.levels = 0)
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. |
name.fun |
name of the parametric function to be evaluated as a character string.
The parametric function must have the arguments |
par |
numeric vector of parameter values to be passed to the function specified unter |
names.par |
(optional) vector of parameter names corresponging to the vector of values specified under |
utility |
(optional) logical variable indicating if a value function ( |
required |
(optional) logical variable indicating if the value of this node is required for aggregation at the next higher level.
If this variable is |
col |
(optional) color used for plotting the bounding box of the node in the objective hierarchy.
Default value is |
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 |
The function returns the created object of type utility.endnode.parfun1d
with the properties specified in the arguments of the function.
Peter Reichert <[email protected]>
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.
Print, evaluate and plot the node with print.utility.endnode.parfun1d
, summary.utility.endnode.parfun1d
, evaluate.utility.endnode.parfun1d
and plot.utility.endnode.parfun1d
.
Create other end nodes with utility.endnode.discrete.create
, utility.endnode.intpol1d.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
.
bedmod_other <- utility.endnode.parfun1d.create( name.node = "bed modification other", name.attrib = "bedmodfract_percent", range = c(0,100), name.fun = "utility.fun.exp", par = c(-1,100,0), required = FALSE, utility = FALSE) print(bedmod_other) plot(bedmod_other)
bedmod_other <- utility.endnode.parfun1d.create( name.node = "bed modification other", name.attrib = "bedmodfract_percent", range = c(0,100), name.fun = "utility.fun.exp", par = c(-1,100,0), required = FALSE, utility = FALSE) print(bedmod_other) plot(bedmod_other)
Exponential function for value or utility functions.
utility.fun.exp(attrib, par)
utility.fun.exp(attrib, par)
attrib |
vector of attribute levels to calculate corresponding value or utility. |
par |
Vector of parameters: |
The function evaluates the expression (1-exp(-par[1]*(a-par[2])/(par[3]-par[2])))/(1-exp(-par[1]))
.
Vector of values or utilities corresponding to the attributes passed by argument a
Peter Reichert <[email protected]>
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 the node constructors utility.endnode.intpol1d.create
and utility.conversion.intpol.create
in which this function can be used.
utility.fun.exp(0:10/10,par=c(2,0,1))
utility.fun.exp(0:10/10,par=c(2,0,1))
Function to get the names of the attributes used by a given value function.
utility.get.attrib.names(node)
utility.get.attrib.names(node)
node |
node of an objectives hierarchy with its associated value function (object of class |
Character vector of names of attributes.
Peter Reichert <[email protected]>
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.
Function to get the colors from a given color scheme at specific value levels.
utility.get.colors(u,col=utility.calc.colors())
utility.get.colors(u,col=utility.calc.colors())
u |
value level representing the evaluation ot a value function (this value level has to be between zero and unity). |
col |
color scheme (vector of colors to be used for a division of the interval between zero and unity into equal intervals)). |
Character vector of colors.
Peter Reichert <[email protected]>
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.
utility.get.colors(c(0,0.5,1))
utility.get.colors(c(0,0.5,1))
Function to extract the structure of an objectives hierarchy.
utility.structure(node)
utility.structure(node)
node |
object containing the utility or value function. |
Data frame containing structural information of the objectives hierarchy.
Peter Reichert <[email protected]>
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.