Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/25/15 23:24:01 (8 years ago)
Author:
abeham
Message:

#2521:

  • Adapted single-objective test function problem to new problem infrastructure
  • Added additional interfaces to RealVectorEncoding
  • Fixed IParticleUpdater interface (must implement IStochasticOperator if it contains a Random parameter)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ProblemRefactoring/HeuristicLab.Encodings.RealVectorEncoding/3.3/RealVectorEncoding.cs

    r13396 r13403  
    171171          typeof (IRealVectorBoundsChecker),
    172172          typeof (IRealVectorMoveOperator),
    173           typeof (IRealVectorMoveGenerator)
     173          typeof (IRealVectorMoveGenerator),
     174          typeof (IRealVectorSolutionOperator),
     175          typeof (IRealVectorSolutionsOperator),
     176          typeof (IRealVectorBoundedOperator)
    174177      };
    175178    }
     
    209212      ConfigureMoveGenerators(operators.OfType<IRealVectorMoveGenerator>());
    210213      ConfigureMoveOperators(operators.OfType<IRealVectorMoveOperator>());
    211       ConfigureAdditiveMoveOperator(operators.OfType<IAdditiveRealVectorMoveOperator>());
     214      ConfigureAdditiveMoveOperator(operators.OfType<IRealVectorAdditiveMoveOperator>());
     215      ConfigureRealVectorSolutionOperators(operators.OfType<IRealVectorSolutionOperator>());
     216      ConfigureRealVectorSolutionsOperators(operators.OfType<IRealVectorSolutionsOperator>());
     217      ConfigureRealVectorBoundedOperators(operators.OfType<IRealVectorBoundedOperator>());
    212218    }
    213219
     
    215221    private void ConfigureCreators(IEnumerable<IRealVectorCreator> creators) {
    216222      foreach (var creator in creators) {
    217         creator.RealVectorParameter.ActualName = Name;
    218223        creator.LengthParameter.ActualName = LengthParameter.Name;
    219         creator.BoundsParameter.ActualName = BoundsParameter.Name;
    220224      }
    221225    }
     
    224228        crossover.ChildParameter.ActualName = Name;
    225229        crossover.ParentsParameter.ActualName = Name;
    226         crossover.BoundsParameter.ActualName = BoundsParameter.Name;
    227230      }
    228231    }
    229232    private void ConfigureManipulators(IEnumerable<IRealVectorManipulator> manipulators) {
    230233      foreach (var manipulator in manipulators) {
    231         manipulator.RealVectorParameter.ActualName = Name;
    232         manipulator.BoundsParameter.ActualName = BoundsParameter.Name;
    233         manipulator.BoundsParameter.Hidden = true;
    234234        var sm = manipulator as ISelfAdaptiveManipulator;
    235235        if (sm != null) {
     
    272272    }
    273273    private void ConfigureSwarmUpdaters(IEnumerable<IRealVectorSwarmUpdater> swarmUpdaters) {
    274       foreach (var su in swarmUpdaters) {
    275         su.RealVectorParameter.ActualName = Name;
    276       }
     274      // swarm updaters don't have additional parameters besides the solution parameter
    277275    }
    278276    private void ConfigureParticleCreators(IEnumerable<IRealVectorParticleCreator> particleCreators) {
    279277      foreach (var particleCreator in particleCreators) {
    280         particleCreator.RealVectorParameter.ActualName = Name;
    281         particleCreator.BoundsParameter.ActualName = BoundsParameter.Name;
    282278        particleCreator.ProblemSizeParameter.ActualName = LengthParameter.Name;
    283279      }
    284280    }
    285281    private void ConfigureParticleUpdaters(IEnumerable<IRealVectorParticleUpdater> particleUpdaters) {
    286       foreach (var particleUpdater in particleUpdaters) {
    287         particleUpdater.RealVectorParameter.ActualName = Name;
    288         particleUpdater.BoundsParameter.ActualName = BoundsParameter.Name;
    289       }
     282      // particle updaters don't have additional parameters besides solution and bounds parameter
    290283    }
    291284    private void ConfigureShakingOperators(IEnumerable<IRealVectorMultiNeighborhoodShakingOperator> shakingOperators) {
    292       foreach (var shakingOperator in shakingOperators) {
    293         shakingOperator.RealVectorParameter.ActualName = Name;
    294         shakingOperator.BoundsParameter.ActualName = BoundsParameter.Name;
    295       }
     285      // shaking operators don't have additional parameters besides solution and bounds parameter
    296286    }
    297287    private void ConfigureBoundsCheckers(IEnumerable<IRealVectorBoundsChecker> boundsCheckers) {
     
    302292    }
    303293    private void ConfigureMoveOperators(IEnumerable<IRealVectorMoveOperator> moveOperators) {
    304       foreach (var moveOperator in moveOperators)
    305         moveOperator.RealVectorParameter.ActualName = Name;
    306     }
    307 
     294      // move operators don't have additional parameters besides the solution parameter
     295    }
    308296    private void ConfigureMoveGenerators(IEnumerable<IRealVectorMoveGenerator> moveGenerators) {
    309       foreach (var moveGenerator in moveGenerators)
    310         moveGenerator.BoundsParameter.ActualName = BoundsParameter.Name;
    311     }
    312 
    313     private void ConfigureAdditiveMoveOperator(IEnumerable<IAdditiveRealVectorMoveOperator> additiveMoveOperators) {
     297      // move generators don't have additional parameters besides solution and bounds parameter
     298    }
     299    private void ConfigureAdditiveMoveOperator(IEnumerable<IRealVectorAdditiveMoveOperator> additiveMoveOperators) {
    314300      foreach (var additiveMoveOperator in additiveMoveOperators) {
    315301        additiveMoveOperator.AdditiveMoveParameter.ActualName = Name + ".AdditiveMove";
     302      }
     303    }
     304    private void ConfigureRealVectorSolutionOperators(IEnumerable<IRealVectorSolutionOperator> solutionOperators) {
     305      foreach (var solutionOperator in solutionOperators)
     306        solutionOperator.RealVectorParameter.ActualName = Name;
     307    }
     308    private void ConfigureRealVectorSolutionsOperators(IEnumerable<IRealVectorSolutionsOperator> solutionsOperators) {
     309      foreach (var solutionsOperator in solutionsOperators)
     310        solutionsOperator.RealVectorsParameter.ActualName = Name;
     311    }
     312    private void ConfigureRealVectorBoundedOperators(IEnumerable<IRealVectorBoundedOperator> boundedOperators) {
     313      foreach (var boundedOperator in boundedOperators) {
     314        boundedOperator.BoundsParameter.ActualName = BoundsParameter.Name;
    316315      }
    317316    }
Note: See TracChangeset for help on using the changeset viewer.