Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/21/17 16:00:15 (6 years ago)
Author:
bburlacu
Message:

#1772: Add the option to specify a separate mutation operation for schema diversification (independent of the one used in the algorithm main loop). Refactor duplicated code for schema generation in SchemaCreator.cs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SchemaDiversification/SchemaEvaluator.cs

    r14427 r15482  
    9292      get { return (ILookupParameter<BoolValue>)Parameters[RandomReplacementParameterName]; }
    9393    }
    94     public ILookupParameter<ISymbolicExpressionTreeManipulator> MutatorParameter {
    95       get { return (ILookupParameter<ISymbolicExpressionTreeManipulator>)Parameters[MutatorParameterName]; }
    96     }
    9794    public ILookupParameter<ISymbolicExpressionTreeCrossover> CrossoverParameter {
    9895      get { return (ILookupParameter<ISymbolicExpressionTreeCrossover>)Parameters[CrossoverParameterName]; }
     
    148145    [Storable]
    149146    private readonly UpdateQualityOperator updateQualityOperator;
     147
     148    [Storable]
     149    public ISymbolicExpressionTreeManipulator SchemaManipulator { get; set; }
    150150
    151151    [StorableHook(HookType.AfterDeserialization)]
     
    221221
    222222      var random = RandomParameter.ActualValue;
    223       var mutator = MutatorParameter.ActualValue;
    224223
    225224      var s = Schema;
     
    303302      var updateEstimatedValues = new OperationCollection { Parallel = true }; // evaluation should be done in parallel when possible
    304303      foreach (var ind in individualsToReplace) {
    305         var mutatorOp = ExecutionContext.CreateChildOperation(mutator, ind);
     304        var mutatorOp = ExecutionContext.CreateChildOperation(SchemaManipulator, ind);
    306305        var updateOp = ExecutionContext.CreateChildOperation(updateQualityOperator, ind);
    307306        mutationOc.Add(mutatorOp);
Note: See TracChangeset for help on using the changeset viewer.