View source: R/utility.aggregate.r
| utility.aggregate.bonusmalus | R Documentation | 
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")
| 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
u = \frac{\displaystyle u^{\mathrm{agg}}_{i \notin b,i \notin m} + \sum_{\begin{array}{l}i \in b \wedge u_i > u^{\mathrm{agg}}_{i \notin b,i \notin m}\\i \in m \wedge u_i < u^{\mathrm{agg}}_{i \notin b,i \notin m}\end{array}}\mid w_i \mid u_i}{\displaystyle 1 + \sum_{\begin{array}{l}i \in b \wedge u_i > u^{\mathrm{agg}}_{i \notin b,i \notin m}\\i \in m \wedge u_i < u^{\mathrm{agg}}_{i \notin b,i \notin m}\end{array}}\mid w_i \mid}
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 <peter.reichert@emeriti.eawag.ch>
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))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.