Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }