コード例 #1
0
        public override IOperation Apply()
        {
            ItemArray <SymbolicExpressionTree> expressions = SymbolicExpressionTreeParameter.ActualValue;
            ItemArray <DoubleValue>            qualities   = QualityParameter.ActualValue;
            BoolMatrix       world        = WorldParameter.ActualValue;
            IntValue         maxTimeSteps = MaxTimeStepsParameter.ActualValue;
            ResultCollection results      = ResultsParameter.ActualValue;

            int i = qualities.Select((x, index) => new { index, x.Value }).OrderBy(x => - x.Value).First().index;

            AntTrail antTrail = BestSolutionParameter.ActualValue;

            if (antTrail == null)
            {
                var bestAntTrail = new AntTrail(world, expressions[i], maxTimeSteps);
                BestSolutionParameter.ActualValue = bestAntTrail;
                results.Add(new Result("Best Artificial Ant Solution", bestAntTrail));
            }
            else
            {
                antTrail.World = world;
                antTrail.SymbolicExpressionTree = expressions[i];
                antTrail.MaxTimeSteps           = maxTimeSteps;
                results["Best Artificial Ant Solution"].Value = antTrail;
            }
            return(base.Apply());
        }
コード例 #2
0
    public override IOperation Apply() {
      ItemArray<SymbolicExpressionTree> expressions = SymbolicExpressionTreeParameter.ActualValue;
      ItemArray<DoubleValue> qualities = QualityParameter.ActualValue;
      BoolMatrix world = WorldParameter.ActualValue;
      IntValue maxTimeSteps = MaxTimeStepsParameter.ActualValue;
      ResultCollection results = ResultsParameter.ActualValue;

      int i = qualities.Select((x, index) => new { index, x.Value }).OrderBy(x => -x.Value).First().index;

      AntTrail antTrail = BestSolutionParameter.ActualValue;
      if (antTrail == null) {
        var bestAntTrail = new AntTrail(world, expressions[i], maxTimeSteps);
        BestSolutionParameter.ActualValue = bestAntTrail;
        results.Add(new Result("Best Artificial Ant Solution", bestAntTrail));
      } else {
        antTrail.World = world;
        antTrail.SymbolicExpressionTree = expressions[i];
        antTrail.MaxTimeSteps = maxTimeSteps;
        results["Best Artificial Ant Solution"].Value = antTrail;
      }
      return base.Apply();
    }