AdditiveMODAModel

class AdditiveMODAModel(metricDefinitions: Map<MetricIfc, ValueFunctionIfc>, weights: Map<MetricIfc, Double> = makeEqualWeights(metricDefinitions.keys), name: String? = null) : MODAModel(source)

Represents a multi-objective decision analysis (MODA) model that uses an additive model for the attribute valuation. The supplied weights must correspond to weights within the model.

Parameters

metricDefinitions

the definition for each metric and the value function to apply for the metric

weights

the weights for each metric, by default they will be equal

Constructors

Link copied to clipboard
constructor(names: Set<String>)

Constructs a default additive MODA model. The supplied names are used to create default metrics using linear value functions with equal weighting.

constructor(metricDefinitions: Map<MetricIfc, ValueFunctionIfc>, weights: Map<MetricIfc, Double> = makeEqualWeights(metricDefinitions.keys), name: String? = null)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Functions

Link copied to clipboard

Changes or assigns the weights for the additive model. The required number of metrics must be the number of metrics defined for the model. And, the metrics must all be in the model. The weights are normalized to ensure that they sum to 1.0 and are individually between 0, 1. The total weight supplied must be greater than 0.0. After assignment the total weight should be equal to 1.0.

Link copied to clipboard

Extracts metric data for use in databases and other applications.

Link copied to clipboard
open override fun multiObjectiveValue(alternative: String): Double

Computes the multi-objective (overall) value for the specified alternative. The supplied alternative (name) must be within the model.

Link copied to clipboard
fun resultsAsDatabase(dbName: String, dir: Path = KSL.dbDir, deleteIfExists: Boolean = true): DatabaseIfc

Returns the results as a database holding ScoreData, ValueData, and OverallValueData tables (tblScores, tblValues, tblOverall).

Link copied to clipboard
open override fun toString(): String