public List <int> GetRanksTAXONOMY() { IDecisionProvider provider = new TAXONOMYDecisionProvider(); IDecisionConfiguration config = new DecisionConfigurationBase { CriteriaRanks = _criterias.GetNormalizedWeight() }; provider.Init(config); AlternativesBase alternatives = GetAlternativesBases(MethodsEnum.TAXONOMY); List <int> result = provider.Solve(alternatives).Ranks; return(result); }
public void TestTAXONOMYecision() { TAXONOMYDecisionProvider provider = new TAXONOMYDecisionProvider(); DecisionConfigurationBase configuration = new DecisionConfigurationBase { CriteriaRanks = new List <double> { 0.1, 0.175, 0.25, 0.35, 0.125 } }; provider.Init(configuration); var alternatives = new AlternativesBase { Criterias = new List <ICriteria> { new CriteriaBase { CriteriaDirection = CriteriaDirectionType.Minimization }, //cost new QualitativeCriteriaBase { CriteriaDirection = CriteriaDirectionType.Maximization }, //strength new QualitativeCriteriaBase { CriteriaDirection = CriteriaDirectionType.Maximization }, //national reputation new CriteriaBase { CriteriaDirection = CriteriaDirectionType.Maximization }, // capacity new QualitativeCriteriaBase { CriteriaDirection = CriteriaDirectionType.Minimization }, // work hardness }, Alternatives = new List <AlternativeBase> { new AlternativeBase { Values = new List <IAlternativeValue> { new AlternativeValueBase(3), new QualitativeAlternativeValue(QualitativeCriteriaEnum.Medium, new QualitativeCriteriaBase()), new QualitativeAlternativeValue(QualitativeCriteriaEnum.VeryGood, new QualitativeCriteriaBase()), new AlternativeValueBase(24000), new QualitativeAlternativeValue(QualitativeCriteriaEnum.FairlyWeak, new QualitativeCriteriaBase()) } }, new AlternativeBase { Values = new List <IAlternativeValue> { new AlternativeValueBase(1.2), new QualitativeAlternativeValue(QualitativeCriteriaEnum.Good, new QualitativeCriteriaBase()), new QualitativeAlternativeValue(QualitativeCriteriaEnum.Medium, new QualitativeCriteriaBase()), new AlternativeValueBase(25000), new QualitativeAlternativeValue(QualitativeCriteriaEnum.Medium, new QualitativeCriteriaBase()) } }, new AlternativeBase { Values = new List <IAlternativeValue> { new AlternativeValueBase(1.5), new QualitativeAlternativeValue(QualitativeCriteriaEnum.VeryGood, new QualitativeCriteriaBase()), new QualitativeAlternativeValue(QualitativeCriteriaEnum.Poor, new QualitativeCriteriaBase()), new AlternativeValueBase(32000), new QualitativeAlternativeValue(QualitativeCriteriaEnum.Excellent, new QualitativeCriteriaBase()) } } } }; var result = provider.Solve(alternatives); Assert.IsTrue(result.Ranks.Count == 3); Assert.IsTrue(result.Ranks[0] == 3); Assert.IsTrue(result.Ranks[1] == 2); Assert.IsTrue(result.Ranks[2] == 1); }