Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/13/15 18:47:19 (9 years ago)
Author:
mkommend
Message:

#2174: First working version of refactored programmable problem.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ProgrammableProblem/HeuristicLab.Problems.Programmable/3.3/New/MultiObjectiveScriptableProblem.cs

    r11740 r11753  
    2727using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2828
    29 namespace HeuristicLab.Problems.Programmable.Problems {
     29namespace HeuristicLab.Problems.Programmable {
    3030  [Item("Scriptable Problem (multi-objective)", "Represents a multi-objective problem that can be scripted.")]
    3131  [Creatable("1 Test")]
     
    3737    }
    3838
    39     private MultiObjectiveProblemDefinitionScript ProblemScript {
     39    public MultiObjectiveProblemDefinitionScript ProblemScript {
    4040      get { return MultiObjectiveProblemScriptParameter.Value; }
    4141    }
    4242
    43     private IMultiObjectiveProblemDefinition ProblemDefinition {
     43    public IMultiObjectiveProblemDefinition ProblemDefinition {
    4444      get { return MultiObjectiveProblemScriptParameter.Value; }
    4545    }
     
    4848      : base(original, cloner) {
    4949      RegisterEvents();
     50      ProblemScript.Compile();
    5051    }
    5152    public override IDeepCloneable Clone(Cloner cloner) { return new MultiObjectiveScriptableProblem(this, cloner); }
     
    6465    private void AfterDeserialization() {
    6566      RegisterEvents();
     67      ProblemScript.Compile();
    6668    }
    6769
     
    7173
    7274    private void OnProblemDefinitionChanged() {
     75      Encoding = ProblemDefinition.Encoding;
     76      OnOperatorsChanged();
     77      OnReset();
    7378    }
    7479
     
    8489      ProblemDefinition.Analyze(individuals, qualities, results);
    8590    }
    86     public override IEnumerable<Individual> GetNeighbors(Individual individual, IRandom random) {
    87       return ProblemDefinition.GetNeighbors(individual, random);
    88     }
    8991  }
    9092}
Note: See TracChangeset for help on using the changeset viewer.