Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/16/10 21:29:10 (14 years ago)
Author:
abeham
Message:

updated tabu search #840

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Algorithms.TS/3.3/TSMainLoop.cs

    r3048 r3074  
    4242      get { return (ValueLookupParameter<BoolValue>)Parameters["Maximization"]; }
    4343    }
    44     public SubScopesLookupParameter<DoubleValue> QualityParameter {
    45       get { return (SubScopesLookupParameter<DoubleValue>)Parameters["Quality"]; }
     44    public LookupParameter<DoubleValue> QualityParameter {
     45      get { return (LookupParameter<DoubleValue>)Parameters["Quality"]; }
     46    }
     47    public LookupParameter<DoubleValue> MoveQualityParameter {
     48      get { return (LookupParameter<DoubleValue>)Parameters["MoveQuality"]; }
    4649    }
    4750    public ValueLookupParameter<IntValue> MaximumIterationsParameter {
     
    5760      get { return (ValueLookupParameter<IOperator>)Parameters["MoveGenerator"]; }
    5861    }
    59     public ValueLookupParameter<IOperator> MoveQualityEvaluatorParameter {
    60       get { return (ValueLookupParameter<IOperator>)Parameters["MoveQualityEvaluator"]; }
    61     }
    62     public ValueLookupParameter<IOperator> MoveTabuEvaluatorParameter {
    63       get { return (ValueLookupParameter<IOperator>)Parameters["MoveTabuEvaluator"]; }
    64     }
    65     public ValueLookupParameter<IOperator> TabuSelectorParameter {
    66       get { return (ValueLookupParameter<IOperator>)Parameters["TabuSelector"]; }
    67     }
    68     public ValueLookupParameter<IOperator> MoveTabuMakerParameter {
    69       get { return (ValueLookupParameter<IOperator>)Parameters["MoveTabuMaker"]; }
     62    public ValueLookupParameter<IOperator> MoveEvaluatorParameter {
     63      get { return (ValueLookupParameter<IOperator>)Parameters["MoveEvaluator"]; }
    7064    }
    7165    public ValueLookupParameter<IOperator> MoveMakerParameter {
    7266      get { return (ValueLookupParameter<IOperator>)Parameters["MoveMaker"]; }
     67    }
     68    public ValueLookupParameter<IOperator> TabuMoveEvaluatorParameter {
     69      get { return (ValueLookupParameter<IOperator>)Parameters["TabuMoveEvaluator"]; }
     70    }
     71    public ValueLookupParameter<IOperator> TabuMoveMakerParameter {
     72      get { return (ValueLookupParameter<IOperator>)Parameters["TabuMoveMaker"]; }
    7373    }
    7474
     
    8686      Parameters.Add(new ValueLookupParameter<IRandom>("Random", "A pseudo random number generator."));
    8787      Parameters.Add(new ValueLookupParameter<BoolValue>("Maximization", "True if the problem is a maximization problem, otherwise false."));
    88       Parameters.Add(new SubScopesLookupParameter<DoubleValue>("Quality", "The value which represents the quality of a solution."));
     88      Parameters.Add(new LookupParameter<DoubleValue>("Quality", "The value which represents the quality of a solution."));
     89      Parameters.Add(new LookupParameter<DoubleValue>("MoveQuality", "The value which represents the quality of a move."));
    8990      Parameters.Add(new ValueLookupParameter<IntValue>("MaximumIterations", "The maximum number of generations which should be processed."));
    9091      Parameters.Add(new ValueLookupParameter<IntValue>("TabuTenure", "The length of the tabu list, and also means the number of iterations a move is kept tabu"));
     
    9293
    9394      Parameters.Add(new ValueLookupParameter<IOperator>("MoveGenerator", "The operator that generates the moves."));
    94       Parameters.Add(new ValueLookupParameter<IOperator>("MoveQualityEvaluator", "The operator that evaluates the quality of a move."));
    95       Parameters.Add(new ValueLookupParameter<IOperator>("MoveTabuEvaluator", "The operator that evaluates whether a move is tabu."));
    96       Parameters.Add(new ValueLookupParameter<IOperator>("MoveTabuMaker", "The operator that declares a move tabu."));
    9795      Parameters.Add(new ValueLookupParameter<IOperator>("MoveMaker", "The operator that performs a move and updates the quality."));
     96      Parameters.Add(new ValueLookupParameter<IOperator>("MoveEvaluator", "The operator that evaluates a move."));
     97      Parameters.Add(new ValueLookupParameter<IOperator>("TabuMoveEvaluator", "The operator that evaluates whether a move is tabu."));
     98      Parameters.Add(new ValueLookupParameter<IOperator>("TabuMoveMaker", "The operator that declares a move tabu."));
    9899
    99100      Parameters.Add(new ScopeParameter("CurrentScope", "The current scope which represents a population of solutions on which the TS should be applied."));
     
    108109      Placeholder moveGenerator = new Placeholder();
    109110      UniformSequentialSubScopesProcessor moveEvaluationProcessor = new UniformSequentialSubScopesProcessor();
    110       Placeholder moveQualityEvaluator = new Placeholder();
    111       Placeholder moveTabuEvaluator = new Placeholder();
     111      Placeholder moveEvaluator = new Placeholder();
     112      Placeholder tabuMoveEvaluator = new Placeholder();
    112113      SubScopesSorter moveQualitySorter = new SubScopesSorter();
    113114      BestAverageWorstQualityCalculator bestAverageWorstMoveQualityCalculator = new BestAverageWorstQualityCalculator();
     
    115116      RightReducer rightReducer = new RightReducer();
    116117      UniformSequentialSubScopesProcessor moveMakingProcessor = new UniformSequentialSubScopesProcessor();
    117       Placeholder moveTabuMaker = new Placeholder();
     118      Placeholder tabuMoveMaker = new Placeholder();
    118119      Placeholder moveMaker = new Placeholder();
    119120      DataTableValuesCollector valuesCollector = new DataTableValuesCollector();
     
    143144      moveGenerator.OperatorParameter.ActualName = "MoveGenerator";
    144145
    145       moveQualityEvaluator.Name = "MoveQualityEvaluator (placeholder)";
    146       moveQualityEvaluator.OperatorParameter.ActualName = "MoveQualityEvaluator";
    147 
    148       moveTabuEvaluator.Name = "MoveTabuEvaluator (placeholder)";
    149       moveTabuEvaluator.OperatorParameter.ActualName = "MoveTabuEvaluator";
     146      moveEvaluator.Name = "MoveEvaluator (placeholder)";
     147      moveEvaluator.OperatorParameter.ActualName = "MoveEvaluator";
     148
     149      tabuMoveEvaluator.Name = "TabuMoveEvaluator (placeholder)";
     150      tabuMoveEvaluator.OperatorParameter.ActualName = "TabuMoveEvaluator";
    150151
    151152      moveQualitySorter.DescendingParameter.ActualName = "Maximization";
     
    162163      moveMakingProcessor.Name = "MoveMaking processor (UniformSequentialSubScopesProcessor)";
    163164
    164       moveTabuMaker.Name = "MoveTabuMaker (placeholder)";
    165       moveTabuMaker.OperatorParameter.ActualName = "MoveTabuMaker";
     165      tabuMoveMaker.Name = "TabuMoveMaker (placeholder)";
     166      tabuMoveMaker.OperatorParameter.ActualName = "TabuMoveMaker";
    166167
    167168      moveMaker.Name = "MoveMaker (placeholder)";
     
    198199      mainProcessor.Successor = valuesCollector;
    199200      moveGenerator.Successor = moveEvaluationProcessor;
    200       moveEvaluationProcessor.Operator = moveQualityEvaluator;
     201      moveEvaluationProcessor.Operator = moveEvaluator;
    201202      moveEvaluationProcessor.Successor = moveQualitySorter;
    202       moveQualityEvaluator.Successor = moveTabuEvaluator;
     203      moveEvaluator.Successor = tabuMoveEvaluator;
    203204      moveQualitySorter.Successor = bestAverageWorstMoveQualityCalculator;
    204205      bestAverageWorstMoveQualityCalculator.Successor = tabuSelector;
    205206      tabuSelector.Successor = rightReducer;
    206207      rightReducer.Successor = moveMakingProcessor;
    207       moveMakingProcessor.Operator = moveTabuMaker;
     208      moveMakingProcessor.Operator = tabuMoveMaker;
    208209      moveMakingProcessor.Successor = subScopesRemover;
    209       moveTabuMaker.Successor = moveMaker;
     210      tabuMoveMaker.Successor = moveMaker;
    210211      valuesCollector.Successor = iterationsCounter;
    211212      iterationsCounter.Successor = iterationsComparator;
Note: See TracChangeset for help on using the changeset viewer.