public function run() { //Step 1: define the semantics //$this->debug = true; //Step 2: transform assessments into the HFLTS parent::run(); if ($this->debug) { system_message($this->N . " x " . $this->M . " x " . $this->P); } //Step 3: establish the alternatives, criteria and the weights of the criteria self::crossAlternativesWithCriteria(); //Step 4: find out the positive ideal and the negative ideal solution self::idealSolution(); //Step 5: derive the compromise solutions self::linguisticCompromise(); $this->ranking(); return $this->ranking[0]['vikor']['label']; }
public function run() { //step 1: transform the linguistic expressions into HFLTS. //Since all criteria are of the maximizing type no normalization is needed parent::run(); //$this->debug = true; if ($this->debug) { system_message($this->N . " x " . $this->M . " x " . $this->P); } //step 2: identify the concordance an discordance indices $this->crossAlternativesWithCriteria(); //step 3: construct the concordance and discordance matrices $this->concordanceBalance(); //step 4: get the net dominance and disadvantage indices (c_i and d_i) $this->dominanceBalance(); //step 5: rank the alternatives in acoordance with c_i and d_i $this->ranking(); return $this->ranking[0]['electre']['label']; }
public function run() { parent::run(); //$this->debug = true; if ($this->debug) { system_message($this->N . " x " . $this->M . " x " . $this->P); } //Assuption: G is a normalized linguistic decision matrix, where criteria benefit is same and cost criteria es negated $this->variance = $this->variance(); //step 1 find the most important factor and calculate the relative weights $this->relativeWeights(); //step 2 calculate the dominance degree for each alternative concerning a criterion //step 3 calculate the dominance degree for each alternative $this->crossAlternativesWithCriteria(); //step 4 calculate the overall dominance degree for each alternative $this->overallDominance(); //step 5 rank alternatives $this->ranking(); return $this->ranking[0]['todim']['label']; }
public function run() { parent::run(); $this->debug = true; if ($this->debug) { system_message($this->N . " x " . $this->M . " x " . $this->P); echo '<br>superE <pre>'; print_r($this->superE); echo '</pre>'; echo '<br>E <pre>'; print_r($this->E); echo '</pre>'; echo '<br>W <pre>'; print_r($this->W); echo '</pre>'; } //Get the scenario .-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..- if (elgg_get_plugin_setting('weight_experts', 'hflts') == 1) { if (elgg_get_plugin_setting('weight_assessments', 'hflts') == 1) { system_message("Scenario 3: double subjectivity (E, superE) => 2-tuple extendend weighted mean in two phases"); $this->crossAlternativesWithCriteria(); } else { system_message("Scenario 2: DM with expertise (E) ignore (superE, W=1) => HFWA operator + extended mean"); $this->crossWithHFWAoperator(); $this->aggregation2(); } } else { if (elgg_get_plugin_setting('weight_assessments', 'hflts') == 0) { system_message("Scenario 1: ignore (E, superE) W=1 => minmax operator + extended mean"); } else { system_message("Scenario 4: ignore (E, superE) aggregate W => minmax + extended mean"); } $this->translation(); $this->aggregation2(); } //..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..-..- $this->average(); $this->ranking(); return $this->ranking[0]['average']['label']; }
public function run() { //step 1 collect data into a fuzzy decision matrix parent::run(); //$this->debug = true; if ($this->debug) { system_message($this->N . " x " . $this->M . " x " . $this->P); } //Assuption: G is a normalized linguistic decision matrix, where criteria benefit is same and cost criteria es negated //parent::topsisCase();//realEstateCase();vikorCase //step 2 aggretate the opinion of decision makers into X (one decision matrix) by using max-min operators $this->crossAlternativesWithCriteria(); //step 3 Let a collection of benefit criteria (i.e., the larger C_j, the greater preference) //Let be a collection of cost criteria (i.e., the smaller C_j, the greater preference) // compute the HFLTS positive-ideal solution (HFLTS-PIS) & negative-ideal solution (HFLTS-NIS) $this->idealSolutions(); //Step 4. Construct positive ideal separation matrix (D+) and negative ideal separation matrix (D−) //Step 5. Calculate the relative closeness (RC) of each alternative to the ideal solution $this->separationMatrix(); //Step 6. Rank all the alternatives A i (i = 1, . , m) according to the closeness coefficient RC(A i ), the greater the value RC(A i ), the better the alternative A i. $this->ranking(); return $this->ranking[0]['topsis']['label']; }
public function run() { parent::run(); //method not implemented return $this->ranking[0]['promethee']['label']; }