skcriteria.madm.simus
module¶
SIMUS (Sequential Interactive Model for Urban Systems) Method
-
class
skcriteria.madm.simus.
SIMUS
(mnorm='none', wnorm='none', rank_by=1, solver='pulp', njobs=None)[source]¶ Bases:
skcriteria.madm._dmaker.DecisionMaker
SIMUS (Sequential Interactive Model for Urban Systems) developed by Nolberto Munier (2011) is a tool to aid decision-making problems with multiple objectives. The method solves successive scenarios formulated as linear programs. For each scenario, the decision-maker must choose the criterion to be considered objective while the remaining restrictions constitute the constrains system that the projects are subject to. In each case, if there is a feasible solution that is optimum, it is recorded in a matrix of efficient results. Then, from this matrix two rankings allow the decision maker to compare results obtained by different procedures. The first ranking is obtained through a linear weighting of each column by a factor - equivalent of establishing a weight - and that measures the participation of the corresponding project. In the second ranking, the method uses dominance and subordinate relationships between projects, concepts from the French school of MCDM.
Parameters: - mnorm : string, callable, optional (default=”none”)
Normalization method for the alternative matrix.
- wnorm : string, callable, optional (default=”none”)
Normalization method for the weights array.
- rank_by : 1 or 2 (default=1)
Wich of the two methods are used to calculate the ranking. The two methods are executed always.
- solver : str, default=”pulp”
Which solver to use to solve the undelying linear programs. The full list are available in skcriteria.utils.lp.SOLVERS
- njobs : int, default=None
How many cores to use to solve the linear programs and the second method. By default all the availables cores are used.
Returns: - Decision :
skcriteria.madm.Decision
With values:
- kernel_: None
- rank_: A ranking (start at 1) where the i-nth element represent the position of the i-nth alternative.
- best_alternative_: The index of the best alternative.
- alpha_solution_: True
- beta_solution_: False
- gamma_solution_: True
- e_: Particular data created by this method.
- rank_by: 1 or 2. Wich of the two methods are used to
calculate the ranking. Esentialy if the rank is calculated with
e_.points1
ore_points2
- solver: With solver was used for the underlying linear problems.
- stages: The underlying linear problems.
- stage_results: The values of the variables of the linear problems as a n-dimensional array. When th n-th row represent the result values of the variables for the n-th stage.
- points1: The points of every alternative obtained by the first method.
- points2: The points of every alternative obtained by the first method.
- tita_j_p: 2nd. method domination.
- tita_j_d: 2nd. method subordination.
- doms: Total dominance matrix of the 2nd. method.
- dom_by_crit: Dominance by criteria of the 2nd method.
- rank_by: 1 or 2. Wich of the two methods are used to
calculate the ranking. Esentialy if the rank is calculated with
References
[1] Munier, N. (2011). A strategy for using multicriteria analysis in decision-making: a guide for simple and complex environmental projects. Springer Science & Business Media. [2] Munier, N., Carignano, C., & Alberto, C. UN MÉTODO DE PROGRAMACIÓN MULTIOBJETIVO. Revista de la Escuela de Perfeccionamiento en Investigación Operativa, 24(39). Attributes: Methods
as_dict
()Create a simply dict
representation of the object.decide
(data[, criteria, weights])Execute the Solver over the given data. doc_inherit
make_result
(data, kernel, rank, extra)Create a new skcriteria.madm.Decision
preprocess
(data)Normalize the alternative matrix and weight vector. solve
(ndata, b)Execute the multi-criteria method. -
doc_inherit
= functools.partial(<function _doc_inherit>, (<class 'skcriteria.madm._dmaker.DecisionMaker'>, <class 'skcriteria.base.BaseSolver'>, <class 'object'>))¶
-
njobs
¶ How many cores to use to solve the linear programs and the second method. By default all the availables cores are used.
-
solve
(ndata, b)[source]¶ Execute the multi-criteria method.
Parameters: - data :
skcriteria.Data
Preprocessed Data.
Returns: object
object or tuple of objects with the raw result data.
- data :
-
solver
¶ Which solver to use to solve the undelying linear programs. The full list are available in skcriteria.utils.lp.SOLVERS