コード例 #1
0
        public AnalyticalProbabilisticTravelingSalesmanProblem()
        {
            Operators.Add(new BestPTSPSolutionAnalyzer());

            Operators.Add(new PTSPAnalyticalInversionMoveEvaluator());
            Operators.Add(new PTSPAnalyticalInsertionMoveEvaluator());
            Operators.Add(new PTSPAnalyticalInversionLocalImprovement());
            Operators.Add(new PTSPAnalyticalInsertionLocalImprovement());
            Operators.Add(new PTSPAnalyticalTwoPointFiveLocalImprovement());

            Operators.Add(new ExhaustiveTwoPointFiveMoveGenerator());
            Operators.Add(new StochasticTwoPointFiveMultiMoveGenerator());
            Operators.Add(new StochasticTwoPointFiveSingleMoveGenerator());
            Operators.Add(new TwoPointFiveMoveMaker());
            Operators.Add(new PTSPAnalyticalTwoPointFiveMoveEvaluator());

            Operators.RemoveAll(x => x is SingleObjectiveMoveGenerator);
            Operators.RemoveAll(x => x is SingleObjectiveMoveMaker);
            Operators.RemoveAll(x => x is SingleObjectiveMoveEvaluator);

            Encoding.ConfigureOperators(Operators.OfType <IOperator>());
            foreach (var twopointfiveMoveOperator in Operators.OfType <ITwoPointFiveMoveOperator>())
            {
                twopointfiveMoveOperator.TwoPointFiveMoveParameter.ActualName = "Permutation.TwoPointFiveMove";
            }
        }
コード例 #2
0
        public EstimatedProbabilisticTravelingSalesmanProblem()
        {
            Parameters.Add(new FixedValueParameter <IntValue>("RealizationsSize", "Size of the sample for the estimation-based evaluation", new IntValue(100)));
            Parameters.Add(new ValueParameter <ItemList <BoolArray> >("Realizations", "The list of samples drawn from all possible stochastic instances.", new ItemList <BoolArray>()));

            Operators.Add(new BestPTSPSolutionAnalyzer());

            Operators.Add(new PTSPEstimatedInversionMoveEvaluator());
            Operators.Add(new PTSPEstimatedInsertionMoveEvaluator());
            Operators.Add(new PTSPEstimatedInversionLocalImprovement());
            Operators.Add(new PTSPEstimatedInsertionLocalImprovement());
            Operators.Add(new PTSPEstimatedTwoPointFiveLocalImprovement());

            Operators.Add(new ExhaustiveTwoPointFiveMoveGenerator());
            Operators.Add(new StochasticTwoPointFiveMultiMoveGenerator());
            Operators.Add(new StochasticTwoPointFiveSingleMoveGenerator());
            Operators.Add(new TwoPointFiveMoveMaker());
            Operators.Add(new PTSPEstimatedTwoPointFiveMoveEvaluator());

            Operators.RemoveAll(x => x is SingleObjectiveMoveGenerator);
            Operators.RemoveAll(x => x is SingleObjectiveMoveMaker);
            Operators.RemoveAll(x => x is SingleObjectiveMoveEvaluator);

            Encoding.ConfigureOperators(Operators.OfType <IOperator>());
            foreach (var twopointfiveMoveOperator in Operators.OfType <ITwoPointFiveMoveOperator>())
            {
                twopointfiveMoveOperator.TwoPointFiveMoveParameter.ActualName = "Permutation.TwoPointFiveMove";
            }

            UpdateRealizations();
            RegisterEventHandlers();
        }
コード例 #3
0
        private void AddOperators()
        {
            // move operators are not yet supported (TODO)
            Operators.RemoveAll(x => x is SingleObjectiveMoveGenerator);
            Operators.RemoveAll(x => x is SingleObjectiveMoveMaker);
            Operators.RemoveAll(x => x is SingleObjectiveMoveEvaluator);

            Encoding.ConfigureOperators(Operators.OfType <IOperator>()); // gkronber: not strictly necessary (only when customer ops are added)
        }
コード例 #4
0
        private void AddOperators()
        {
            // move operators are not yet supported (TODO)
            Operators.RemoveAll(x => x is SingleObjectiveMoveGenerator);
            Operators.RemoveAll(x => x is SingleObjectiveMoveMaker);
            Operators.RemoveAll(x => x is SingleObjectiveMoveEvaluator);
            Operators.Add(new HammingSimilarityCalculator());
            Operators.Add(new EuclideanSimilarityCalculator());
            Operators.Add(new QualitySimilarityCalculator());
            Operators.Add(new PopulationSimilarityAnalyzer(Operators.OfType <ISolutionSimilarityCalculator>()));

            Encoding.ConfigureOperators(Operators.OfType <IOperator>()); // gkronber: not strictly necessary (only when customer ops are added)
        }
コード例 #5
0
        private void AddOperators()
        {
            // move operators are not yet supported (TODO)
            Operators.RemoveAll(x => x is SingleObjectiveMoveGenerator);
            Operators.RemoveAll(x => x is SingleObjectiveMoveMaker);
            Operators.RemoveAll(x => x is SingleObjectiveMoveEvaluator);
            Operators.Add(new HammingSimilarityCalculator());
            Operators.Add(new EuclideanSimilarityCalculator());
            Operators.Add(new QualitySimilarityCalculator());
            Operators.Add(new PopulationSimilarityAnalyzer(Operators.OfType <ISolutionSimilarityCalculator>()));

            Encoding.ConfigureOperators(Operators.OfType <IOperator>());
        }
コード例 #6
0
        private void AddOperators()
        {
            Operators.Add(new TranslocationMoveEvaluator());
            Operators.Add(new Swap2MoveEvaluator());

            Operators.RemoveAll(x => x is SingleObjectiveMoveGenerator);
            Operators.RemoveAll(x => x is SingleObjectiveMoveMaker);
            Operators.RemoveAll(x => x is SingleObjectiveMoveEvaluator);

            Encoding.ConfigureOperators(Operators.OfType <IOperator>());

            foreach (var op in Operators.OfType <IOperator <Permutation> >())
            {
                op.BinShapeParameter.ActualName          = BinShapeParameter.Name;
                op.ItemsParameter.ActualName             = ItemsParameter.Name;
                op.SolutionEvaluatorParameter.ActualName = SolutionEvaluatorParameter.Name;
                op.DecoderParameter.ActualName           = DecoderParameter.Name;
            }
        }
コード例 #7
0
        private void AddOperators()
        {
            Operators.Add(new TranslocationMoveEvaluator());
            Operators.Add(new Swap2MoveEvaluator());

            Operators.RemoveAll(x => x is SingleObjectiveMoveGenerator);
            Operators.RemoveAll(x => x is SingleObjectiveMoveMaker);
            Operators.RemoveAll(x => x is SingleObjectiveMoveEvaluator);
            Operators.Add(new HammingSimilarityCalculator());
            Operators.Add(new QualitySimilarityCalculator());
            Operators.Add(new PopulationSimilarityAnalyzer(Operators.OfType <ISolutionSimilarityCalculator>()));

            Encoding.ConfigureOperators(Operators.OfType <IOperator>());

            foreach (var op in Operators.OfType <IOperator <Permutation> >())
            {
                op.BinShapeParameter.ActualName               = BinShapeParameter.Name;
                op.ItemsParameter.ActualName                  = ItemsParameter.Name;
                op.SolutionEvaluatorParameter.ActualName      = SolutionEvaluatorParameter.Name;
                op.DecoderParameter.ActualName                = DecoderParameter.Name;
                op.UseStackingConstraintsParameter.ActualName = UseStackingConstraintsParameter.Name;
            }
        }