Changeset 10142


Ignore:
Timestamp:
11/20/13 10:52:38 (6 years ago)
Author:
mkommend
Message:

#1997: Worked on symbolic data analysis island algorithms:

  • Refactored and removed unnecessary code in symbolic island GA and symbolic island GA evaluator.
  • Added EnumerableItem to ease the passing of rows to the actual evaluator.
  • Added prototype of island offspring selection GA.
  • Corrected build configuration (plugin classes, project settings, ...)
Location:
branches/DataAnalysis.IslandAlgorithms
Files:
2 added
13 edited

Legend:

Unmodified
Added
Removed
  • branches/DataAnalysis.IslandAlgorithms/DataAnalysis.IslandAlgorithms.sln

    r9067 r10142  
    1111EndProject
    1212Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Algorithms.GeneticAlgorithm-3.3", "HeuristicLab.Algorithms.GeneticAlgorithm\3.3\HeuristicLab.Algorithms.GeneticAlgorithm-3.3.csproj", "{A51DA44F-CB35-4F6F-99F5-2A2E904AB93B}"
     13EndProject
     14Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.DataAnalysis.Symbolic-3.4", "HeuristicLab.Problems.DataAnalysis.Symbolic\3.4\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj", "{3D28463F-EC96-4D82-AFEE-38BE91A0CA00}"
     15EndProject
     16Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm-3.3", "HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm\3.3\HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm-3.3.csproj", "{F409DD9E-1E9C-4EB1-AA3A-9F6E987C6E58}"
    1317EndProject
    1418Global
     
    4246    {A51DA44F-CB35-4F6F-99F5-2A2E904AB93B}.Release|x86.ActiveCfg = Release|x86
    4347    {A51DA44F-CB35-4F6F-99F5-2A2E904AB93B}.Release|x86.Build.0 = Release|x86
     48    {3D28463F-EC96-4D82-AFEE-38BE91A0CA00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
     49    {3D28463F-EC96-4D82-AFEE-38BE91A0CA00}.Debug|Any CPU.Build.0 = Debug|Any CPU
     50    {3D28463F-EC96-4D82-AFEE-38BE91A0CA00}.Debug|x64.ActiveCfg = Debug|x64
     51    {3D28463F-EC96-4D82-AFEE-38BE91A0CA00}.Debug|x64.Build.0 = Debug|x64
     52    {3D28463F-EC96-4D82-AFEE-38BE91A0CA00}.Debug|x86.ActiveCfg = Debug|x86
     53    {3D28463F-EC96-4D82-AFEE-38BE91A0CA00}.Debug|x86.Build.0 = Debug|x86
     54    {3D28463F-EC96-4D82-AFEE-38BE91A0CA00}.Release|Any CPU.ActiveCfg = Release|Any CPU
     55    {3D28463F-EC96-4D82-AFEE-38BE91A0CA00}.Release|Any CPU.Build.0 = Release|Any CPU
     56    {3D28463F-EC96-4D82-AFEE-38BE91A0CA00}.Release|x64.ActiveCfg = Release|x64
     57    {3D28463F-EC96-4D82-AFEE-38BE91A0CA00}.Release|x64.Build.0 = Release|x64
     58    {3D28463F-EC96-4D82-AFEE-38BE91A0CA00}.Release|x86.ActiveCfg = Release|x86
     59    {3D28463F-EC96-4D82-AFEE-38BE91A0CA00}.Release|x86.Build.0 = Release|x86
     60    {F409DD9E-1E9C-4EB1-AA3A-9F6E987C6E58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
     61    {F409DD9E-1E9C-4EB1-AA3A-9F6E987C6E58}.Debug|Any CPU.Build.0 = Debug|Any CPU
     62    {F409DD9E-1E9C-4EB1-AA3A-9F6E987C6E58}.Debug|x64.ActiveCfg = Debug|x64
     63    {F409DD9E-1E9C-4EB1-AA3A-9F6E987C6E58}.Debug|x64.Build.0 = Debug|x64
     64    {F409DD9E-1E9C-4EB1-AA3A-9F6E987C6E58}.Debug|x86.ActiveCfg = Debug|x86
     65    {F409DD9E-1E9C-4EB1-AA3A-9F6E987C6E58}.Debug|x86.Build.0 = Debug|x86
     66    {F409DD9E-1E9C-4EB1-AA3A-9F6E987C6E58}.Release|Any CPU.ActiveCfg = Release|Any CPU
     67    {F409DD9E-1E9C-4EB1-AA3A-9F6E987C6E58}.Release|Any CPU.Build.0 = Release|Any CPU
     68    {F409DD9E-1E9C-4EB1-AA3A-9F6E987C6E58}.Release|x64.ActiveCfg = Release|x64
     69    {F409DD9E-1E9C-4EB1-AA3A-9F6E987C6E58}.Release|x64.Build.0 = Release|x64
     70    {F409DD9E-1E9C-4EB1-AA3A-9F6E987C6E58}.Release|x86.ActiveCfg = Release|x86
     71    {F409DD9E-1E9C-4EB1-AA3A-9F6E987C6E58}.Release|x86.Build.0 = Release|x86
    4472  EndGlobalSection
    4573  GlobalSection(SolutionProperties) = preSolution
  • branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.DataAnalysis.Symbolic/3.3/HeuristicLab.Algorithms.DataAnalysis.Symbolic.csproj

    r9182 r10142  
    4141      <SpecificVersion>False</SpecificVersion>
    4242      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Analysis-3.3.dll</HintPath>
     43      <Private>False</Private>
    4344    </Reference>
    4445    <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    4546      <SpecificVersion>False</SpecificVersion>
    4647      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath>
     48      <Private>False</Private>
    4749    </Reference>
    4850    <Reference Include="HeuristicLab.Common-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    4951      <SpecificVersion>False</SpecificVersion>
    5052      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath>
     53      <Private>False</Private>
    5154    </Reference>
    5255    <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    5356      <SpecificVersion>False</SpecificVersion>
    5457      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath>
     58      <Private>False</Private>
    5559    </Reference>
    5660    <Reference Include="HeuristicLab.Data-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    5761      <SpecificVersion>False</SpecificVersion>
    5862      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Data-3.3.dll</HintPath>
     63      <Private>False</Private>
    5964    </Reference>
    6065    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4, Version=3.4.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    6166      <SpecificVersion>False</SpecificVersion>
    6267      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.dll</HintPath>
     68      <Private>False</Private>
    6369    </Reference>
    6470    <Reference Include="HeuristicLab.Operators-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    6571      <SpecificVersion>False</SpecificVersion>
    6672      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Operators-3.3.dll</HintPath>
     73      <Private>False</Private>
    6774    </Reference>
    6875    <Reference Include="HeuristicLab.Optimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    6976      <SpecificVersion>False</SpecificVersion>
    7077      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath>
     78      <Private>False</Private>
    7179    </Reference>
    7280    <Reference Include="HeuristicLab.Optimization.Operators-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    7381      <SpecificVersion>False</SpecificVersion>
    7482      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization.Operators-3.3.dll</HintPath>
     83      <Private>False</Private>
    7584    </Reference>
    7685    <Reference Include="HeuristicLab.Parameters-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    7786      <SpecificVersion>False</SpecificVersion>
    7887      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Parameters-3.3.dll</HintPath>
     88      <Private>False</Private>
    7989    </Reference>
    8090    <Reference Include="HeuristicLab.Persistence-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    8191      <SpecificVersion>False</SpecificVersion>
    8292      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Persistence-3.3.dll</HintPath>
     93      <Private>False</Private>
    8394    </Reference>
    8495    <Reference Include="HeuristicLab.PluginInfrastructure-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     
    90101      <SpecificVersion>False</SpecificVersion>
    91102      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Problems.DataAnalysis-3.4.dll</HintPath>
    92     </Reference>
    93     <Reference Include="HeuristicLab.Problems.DataAnalysis.Symbolic-3.4, Version=3.4.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    94       <SpecificVersion>False</SpecificVersion>
    95       <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.dll</HintPath>
     103      <Private>False</Private>
    96104    </Reference>
    97105    <Reference Include="HeuristicLab.Random-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    98106      <SpecificVersion>False</SpecificVersion>
    99107      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Random-3.3.dll</HintPath>
     108      <Private>False</Private>
    100109    </Reference>
    101110    <Reference Include="HeuristicLab.Selection-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    102111      <SpecificVersion>False</SpecificVersion>
    103112      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Selection-3.3.dll</HintPath>
     113      <Private>False</Private>
    104114    </Reference>
    105115    <Reference Include="System" />
     
    113123  </ItemGroup>
    114124  <ItemGroup>
     125    <Compile Include="SymbolicDataAnalysisIslandOffspringSelectionGeneticAlgorithm.cs" />
    115126    <Compile Include="ISymbolicDataAnalysisIslandGAEvaluator .cs" />
    116127    <Compile Include="ScopeTreeAssigner.cs" />
     
    129140      <Project>{a51da44f-cb35-4f6f-99f5-2a2e904ab93b}</Project>
    130141      <Name>HeuristicLab.Algorithms.GeneticAlgorithm-3.3</Name>
     142      <Private>False</Private>
     143    </ProjectReference>
     144    <ProjectReference Include="..\..\HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm\3.3\HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm-3.3.csproj">
     145      <Project>{f409dd9e-1e9c-4eb1-aa3a-9f6e987c6e58}</Project>
     146      <Name>HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm-3.3</Name>
     147      <Private>False</Private>
     148    </ProjectReference>
     149    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis.Symbolic\3.4\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj">
     150      <Project>{3d28463f-ec96-4d82-afee-38be91a0ca00}</Project>
     151      <Name>HeuristicLab.Problems.DataAnalysis.Symbolic-3.4</Name>
     152      <Private>False</Private>
    131153    </ProjectReference>
    132154  </ItemGroup>
  • branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.DataAnalysis.Symbolic/3.3/SymbolicDataAnalysisIslandGAEvaluator.cs

    r9182 r10142  
    7171      get { return (ILookupParameter<IntValue>)Parameters[RandomSamplesParameterName]; }
    7272    }
     73
     74    public IValueParameter<EnumerableItem<int>> RowsParameter {
     75      get { return (IValueParameter<EnumerableItem<int>>)Parameters["Rows"]; }
     76    }
    7377    #endregion
    7478
     
    9397      Parameters.Add(new LookupParameter<IntRange>(FixedSamplesPartitionParameterName, "The data partition which is used to calculate the fitness on the fixed samples."));
    9498      Parameters.Add(new LookupParameter<IntValue>(RandomSamplesParameterName, "The number of random samples used for fitness calculation in each island."));
     99      Parameters.Add(new OptionalValueParameter<EnumerableItem<int>>("Rows", "TODO"));
    95100
    96101      EvaluatorParameter.Hidden = true;
     
    99104    public override IOperation Apply() {
    100105      var evaluator = EvaluatorParameter.ActualValue;
    101       var tree = SymbolicExpressionTreeParameter.ActualValue;
    102106      var problemData = ProblemDataParameter.ActualValue;
    103107
    104       var samplesStart = FitnessCalculationPartitionParameter.ActualValue.Start;
    105       var samplesEnd = FitnessCalculationPartitionParameter.ActualValue.End;
    106       var fixedSamplesStart = FixedSamplesPartitionParameter.ActualValue.Start;
    107       var fixedSamplesEnd = FixedSamplesPartitionParameter.ActualValue.End;
     108      var samples = FitnessCalculationPartitionParameter.ActualValue;
     109      var fixedSamples = FixedSamplesPartitionParameter.ActualValue;
    108110      var randomSamples = RandomSamplesParameter.ActualValue.Value;
    109       var maxRandomSamples = samplesEnd - samplesStart - fixedSamplesEnd + fixedSamplesStart;
    110111
    111       //create rows for evaluation
    112       var fixedRows = Enumerable.Range(fixedSamplesStart, fixedSamplesEnd - fixedSamplesStart);
    113       var randomRows = Enumerable.Range(samplesStart, samplesEnd - samplesStart).Where(r => r < fixedSamplesStart || r >= fixedSamplesEnd);
    114       randomRows = randomRows.SampleRandomWithoutRepetition(RandomParameter.ActualValue, randomSamples, maxRandomSamples);
    115       var rows = fixedRows.Concat(randomRows);
     112      //create fixed rows enumerable
     113      var rows = Enumerable.Range(fixedSamples.Start, fixedSamples.Size);
     114      //create randomly chosen rows enumerable
     115      if (randomSamples > 0) {
     116        if (randomSamples > samples.Size - fixedSamples.Size) {
     117          var error = string.Format("Could not select {0} random samples, because there are {1} total samples present from which {2} where used in the fixed partition. Please lower the number of random samples in the algorithm configuration.", randomSamples, samples.Size, fixedSamples.Size);
     118          throw new OperatorExecutionException(this, error);
     119        }
     120        var randomRows = Enumerable.Range(samples.Start, samples.Size).Where(r => r < fixedSamples.Start || r >= fixedSamples.End);
     121        randomRows = randomRows.SampleRandomWithoutRepetition(RandomParameter.ActualValue, randomSamples, samples.Size - fixedSamples.Size);
    116122
     123        rows = rows.Concat(randomRows);
     124      }
     125      //filter out test rows
     126      rows = rows.Where(r => r < problemData.TestPartition.Start && r > problemData.TestPartition.End);
     127
     128      //execution context is created manually to be able to clear the rows parameter easily
     129      RowsParameter.Value = new EnumerableItem<int>(rows);
    117130      var executionContext = new ExecutionContext(ExecutionContext, evaluator, ExecutionContext.Scope);
    118       var fitness = evaluator.Evaluate(executionContext, tree, problemData, rows);
    119       QualityParameter.ActualValue = new DoubleValue(fitness);
    120       return base.Apply();
     131      var successor = evaluator.Execute(executionContext, this.CancellationToken);
     132      RowsParameter.Value = null;
     133      return new OperationCollection(successor, base.Apply());
    121134    }
    122135  }
  • branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.DataAnalysis.Symbolic/3.3/SymbolicDataAnalysisIslandGeneticAlgorithm.cs

    r9182 r10142  
    2727using HeuristicLab.Core;
    2828using HeuristicLab.Data;
    29 using HeuristicLab.Operators;
    3029using HeuristicLab.Optimization;
    3130using HeuristicLab.Parameters;
     
    3433using HeuristicLab.Problems.DataAnalysis.Symbolic;
    3534using HeuristicLab.Random;
    36 using HeuristicLab.Selection;
    3735
    3836namespace HeuristicLab.Algorithms.DataAnalysis.Symbolic {
    39   [Item("Symbolic DataAnalysis Island Genetic Algorithm", "A symbolic data analysis island genetic algorithm.")]
     37  [Item("Symbolic Data Analysis Island Genetic Algorithm", "A symbolic data analysis island genetic algorithm.")]
    4038  [Creatable("Data Analysis")]
    4139  [StorableClass]
     
    113111      Parameters.Add(new LookupParameter<ISingleObjectiveEvaluator>(ProblemEvaluatorParameterName, "Internal parameter for name translation", "Evaluator"));
    114112
    115       Elites.Value = 0;
    116       ElitesParameter.Hidden = true;
    117 
    118113      ScopeTreeAssigner<IntRange> fixedSamplesPartitionCreator = new ScopeTreeAssigner<IntRange>();
     114      fixedSamplesPartitionCreator.Name = "Create fixed evaluation partition";
    119115      fixedSamplesPartitionCreator.LeftSideParameter.ActualName = FixedSamplesPartitionParameterName;
    120116      fixedSamplesPartitionCreator.RightSideParameter.ActualName = FixedSamplesPartitionsParameterName;
     
    123119      fixedSamplesPartitionCreator.Successor = insertionPoint.Successor;
    124120      insertionPoint.Successor = fixedSamplesPartitionCreator;
    125 
    126       //necessary to reevaluate elites
    127       var evaluatorPlaceHolder = new Placeholder();
    128       evaluatorPlaceHolder.OperatorParameter.ActualName = "Evaluator";
    129 
    130       UniformSubScopesProcessor subScopesProcessor = new UniformSubScopesProcessor();
    131       subScopesProcessor.Name = "Reevaluate elites";
    132       subScopesProcessor.Parallel.Value = true;
    133       subScopesProcessor.Operator = evaluatorPlaceHolder;
    134       OperatorGraph.Iterate().OfType<RightReducer>().First().Successor = subScopesProcessor;
    135121
    136122      RegisterParameterEvents();
     
    143129      NumberOfIslandsParameter.Value.ValueChanged += (o, ev) => RecalculateFixedSamplesPartitions();
    144130      FixedSamplesParameter.Value.ValueChanged += (o, e) => RecalculateFixedSamplesPartitions();
     131      RandomSamplesParameter.Value.ValueChanged += (o, e) => { ReevaluteElites = RandomSamples != 0; };
    145132      Analyzer.Operators.PropertyChanged += (o, e) => ParameterizeAnalyzers();
    146     }
    147 
    148     protected override void Problem_EvaluatorChanged(object sender, EventArgs e) {
    149       ParameterizeProblemEvaluator();
    150       base.Problem_EvaluatorChanged(sender, e);
    151     }
    152 
    153     private void ParameterizeProblemEvaluator() {
    154       var regresssionEvaluator = Problem.Evaluator as ISymbolicDataAnalysisEvaluator<IRegressionProblemData>;
    155       if (regresssionEvaluator != null) {
    156         regresssionEvaluator.EvaluationPartitionParameter.ActualName = FixedSamplesPartitionParameterName;
    157       }
    158       var classificationEvaluator = Problem.Evaluator as ISymbolicDataAnalysisEvaluator<IClassificationProblemData>;
    159       if (classificationEvaluator != null) {
    160         classificationEvaluator.EvaluationPartitionParameter.ActualName = FixedSamplesPartitionParameterName;
    161       }
    162133    }
    163134
     
    173144    }
    174145
    175 
    176     private void ParameterizeAnalyzers() {
     146    protected override void ParameterizeAnalyzers() {
     147      base.ParameterizeAnalyzers();
    177148      foreach (var analyzer in Analyzer.Operators.OfType<ISymbolicDataAnalysisAnalyzer>()) {
    178149        IParameter evaluatorParameter;
     
    193164      RandomSamples = Problem.FitnessCalculationPartition.Size / NumberOfIslands.Value;
    194165      RecalculateFixedSamplesPartitions();
    195       ParameterizeProblemEvaluator();
    196166      base.Problem_Reset(sender, e);
    197167    }
     
    213183        EvaluatorParameter.Value = null;
    214184
    215       ParameterizeProblemEvaluator();
    216185      ParameterizeStochasticOperatorForIsland(EvaluatorParameter.Value);
    217186
     
    231200      var islands = NumberOfIslands.Value;
    232201
    233       int offset = 0;
    234       //fixed samples partition do not overlap
    235       if (((double)totalSamples) / fixedSamples <= islands) {
    236         offset = totalSamples / islands;
    237       } else {
    238         offset = (totalSamples - fixedSamples) / (islands - 1);
    239       }
    240 
     202      int offset = (int)Math.Ceiling(((double)(totalSamples - fixedSamples)) / (islands - 1));
    241203      List<IntRange> partitions = new List<IntRange>();
    242204      for (int i = 0; i < islands; i++) {
  • branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/HeuristicLab.Algorithms.GeneticAlgorithm-3.3.csproj

    r9066 r10142  
    5252    <DebugType>pdbonly</DebugType>
    5353    <Optimize>true</Optimize>
    54     <OutputPath>$(SolutionDir)\bin\</OutputPath>
     54    <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath>
    5555    <DefineConstants>TRACE</DefineConstants>
    5656    <ErrorReport>prompt</ErrorReport>
     
    103103    <Reference Include="HeuristicLab.Analysis-3.3">
    104104      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Analysis-3.3.dll</HintPath>
     105      <Private>False</Private>
    105106    </Reference>
    106107    <Reference Include="HeuristicLab.Collections-3.3">
    107108      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath>
     109      <Private>False</Private>
    108110    </Reference>
    109111    <Reference Include="HeuristicLab.Common-3.3">
    110112      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath>
     113      <Private>False</Private>
    111114    </Reference>
    112115    <Reference Include="HeuristicLab.Core-3.3">
    113116      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath>
     117      <Private>False</Private>
    114118    </Reference>
    115119    <Reference Include="HeuristicLab.Data-3.3">
    116120      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Data-3.3.dll</HintPath>
     121      <Private>False</Private>
    117122    </Reference>
    118123    <Reference Include="HeuristicLab.Operators-3.3">
    119124      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Operators-3.3.dll</HintPath>
     125      <Private>False</Private>
    120126    </Reference>
    121127    <Reference Include="HeuristicLab.Optimization-3.3">
    122128      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath>
     129      <Private>False</Private>
    123130    </Reference>
    124131    <Reference Include="HeuristicLab.Optimization.Operators-3.3">
    125132      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization.Operators-3.3.dll</HintPath>
     133      <Private>False</Private>
    126134    </Reference>
    127135    <Reference Include="HeuristicLab.Parameters-3.3">
    128136      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Parameters-3.3.dll</HintPath>
     137      <Private>False</Private>
    129138    </Reference>
    130139    <Reference Include="HeuristicLab.Persistence-3.3">
    131140      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Persistence-3.3.dll</HintPath>
     141      <Private>False</Private>
    132142    </Reference>
    133143    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
    134144      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     145      <Private>False</Private>
    135146    </Reference>
    136147    <Reference Include="HeuristicLab.Random-3.3">
    137148      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Random-3.3.dll</HintPath>
     149      <Private>False</Private>
    138150    </Reference>
    139151    <Reference Include="HeuristicLab.Selection-3.3">
    140152      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Selection-3.3.dll</HintPath>
     153      <Private>False</Private>
    141154    </Reference>
    142155    <Reference Include="System" />
  • branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/IslandGeneticAlgorithm.cs

    r9756 r10142  
    4141  [Creatable("Algorithms")]
    4242  [StorableClass]
    43   public sealed class IslandGeneticAlgorithm : HeuristicOptimizationEngineAlgorithm, IStorableContent {
     43  public class IslandGeneticAlgorithm : HeuristicOptimizationEngineAlgorithm, IStorableContent {
    4444    public string Filename { get; set; }
    4545
     
    5555
    5656    #region Parameter Properties
    57     private ValueParameter<IntValue> SeedParameter {
     57    protected ValueParameter<IntValue> SeedParameter {
    5858      get { return (ValueParameter<IntValue>)Parameters["Seed"]; }
    5959    }
    60     private ValueParameter<BoolValue> SetSeedRandomlyParameter {
     60    protected ValueParameter<BoolValue> SetSeedRandomlyParameter {
    6161      get { return (ValueParameter<BoolValue>)Parameters["SetSeedRandomly"]; }
    6262    }
    63     private ValueParameter<IntValue> NumberOfIslandsParameter {
     63    protected ValueParameter<IntValue> NumberOfIslandsParameter {
    6464      get { return (ValueParameter<IntValue>)Parameters["NumberOfIslands"]; }
    6565    }
    66     private ValueParameter<IntValue> MigrationIntervalParameter {
     66    protected ValueParameter<IntValue> MigrationIntervalParameter {
    6767      get { return (ValueParameter<IntValue>)Parameters["MigrationInterval"]; }
    6868    }
    69     private ValueParameter<PercentValue> MigrationRateParameter {
     69    protected ValueParameter<PercentValue> MigrationRateParameter {
    7070      get { return (ValueParameter<PercentValue>)Parameters["MigrationRate"]; }
    7171    }
     
    7979      get { return (IConstrainedValueParameter<IReplacer>)Parameters["ImmigrationReplacer"]; }
    8080    }
    81     private ValueParameter<IntValue> PopulationSizeParameter {
     81    protected ValueParameter<IntValue> PopulationSizeParameter {
    8282      get { return (ValueParameter<IntValue>)Parameters["PopulationSize"]; }
    8383    }
    84     private ValueParameter<IntValue> MaximumGenerationsParameter {
     84    protected ValueParameter<IntValue> MaximumGenerationsParameter {
    8585      get { return (ValueParameter<IntValue>)Parameters["MaximumGenerations"]; }
    8686    }
     
    9191      get { return (IConstrainedValueParameter<ICrossover>)Parameters["Crossover"]; }
    9292    }
    93     private ValueParameter<PercentValue> MutationProbabilityParameter {
     93    protected ValueParameter<PercentValue> MutationProbabilityParameter {
    9494      get { return (ValueParameter<PercentValue>)Parameters["MutationProbability"]; }
    9595    }
     
    9797      get { return (IConstrainedValueParameter<IManipulator>)Parameters["Mutator"]; }
    9898    }
    99     private ValueParameter<IntValue> ElitesParameter {
     99    protected ValueParameter<IntValue> ElitesParameter {
    100100      get { return (ValueParameter<IntValue>)Parameters["Elites"]; }
    101101    }
    102     private IFixedValueParameter<BoolValue> ReevaluateElitesParameter {
     102    protected IFixedValueParameter<BoolValue> ReevaluateElitesParameter {
    103103      get { return (IFixedValueParameter<BoolValue>)Parameters["ReevaluateElites"]; }
    104104    }
    105     private ValueParameter<MultiAnalyzer> AnalyzerParameter {
     105    protected ValueParameter<MultiAnalyzer> AnalyzerParameter {
    106106      get { return (ValueParameter<MultiAnalyzer>)Parameters["Analyzer"]; }
    107107    }
    108     private ValueParameter<MultiAnalyzer> IslandAnalyzerParameter {
     108    protected ValueParameter<MultiAnalyzer> IslandAnalyzerParameter {
    109109      get { return (ValueParameter<MultiAnalyzer>)Parameters["IslandAnalyzer"]; }
    110110    }
     
    184184      set { IslandAnalyzerParameter.Value = value; }
    185185    }
    186     private RandomCreator RandomCreator {
     186    protected RandomCreator RandomCreator {
    187187      get { return (RandomCreator)OperatorGraph.InitialOperator; }
    188188    }
    189     private UniformSubScopesProcessor IslandProcessor {
     189    protected UniformSubScopesProcessor IslandProcessor {
    190190      get { return OperatorGraph.Iterate().OfType<UniformSubScopesProcessor>().First(x => x.Operator is SolutionsCreator); }
    191191    }
    192     private SolutionsCreator SolutionsCreator {
     192    protected SolutionsCreator SolutionsCreator {
    193193      get { return (SolutionsCreator)IslandProcessor.Operator; }
    194194    }
    195     private IslandGeneticAlgorithmMainLoop MainLoop {
     195    protected IslandGeneticAlgorithmMainLoop MainLoop {
    196196      get { return FindMainLoop(IslandProcessor.Successor); }
    197197    }
    198198    [Storable]
    199     private BestAverageWorstQualityAnalyzer islandQualityAnalyzer;
     199    protected BestAverageWorstQualityAnalyzer islandQualityAnalyzer;
    200200    [Storable]
    201     private BestAverageWorstQualityAnalyzer qualityAnalyzer;
     201    protected BestAverageWorstQualityAnalyzer qualityAnalyzer;
    202202    #endregion
    203203
    204204    [StorableConstructor]
    205     private IslandGeneticAlgorithm(bool deserializing) : base(deserializing) { }
     205    protected IslandGeneticAlgorithm(bool deserializing) : base(deserializing) { }
    206206    [StorableHook(HookType.AfterDeserialization)]
    207207    private void AfterDeserialization() {
     
    215215      Initialize();
    216216    }
    217     private IslandGeneticAlgorithm(IslandGeneticAlgorithm original, Cloner cloner)
     217    protected IslandGeneticAlgorithm(IslandGeneticAlgorithm original, Cloner cloner)
    218218      : base(original, cloner) {
    219219      islandQualityAnalyzer = cloner.Clone(original.islandQualityAnalyzer);
     
    422422
    423423    #region Helpers
    424     private void Initialize() {
     424    protected virtual void Initialize() {
    425425      PopulationSizeParameter.ValueChanged += new EventHandler(PopulationSizeParameter_ValueChanged);
    426426      PopulationSize.ValueChanged += new EventHandler(PopulationSize_ValueChanged);
     
    433433      }
    434434    }
    435     private void ParameterizeSolutionsCreator() {
     435    protected virtual void ParameterizeSolutionsCreator() {
    436436      SolutionsCreator.EvaluatorParameter.ActualName = Problem.EvaluatorParameter.Name;
    437437      SolutionsCreator.SolutionCreatorParameter.ActualName = Problem.SolutionCreatorParameter.Name;
    438438    }
    439     private void ParameterizeMainLoop() {
     439    protected virtual void ParameterizeMainLoop() {
    440440      MainLoop.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name;
    441441      MainLoop.EvaluatorParameter.ActualName = Problem.EvaluatorParameter.Name;
     
    443443      MainLoop.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
    444444    }
    445     private void ParameterizeStochasticOperator(IOperator op) {
     445    protected virtual void ParameterizeStochasticOperator(IOperator op) {
    446446      IStochasticOperator stochasticOp = op as IStochasticOperator;
    447447      if (stochasticOp != null) {
     
    450450      }
    451451    }
    452     private void ParameterizeStochasticOperatorForIsland(IOperator op) {
     452    protected virtual void ParameterizeStochasticOperatorForIsland(IOperator op) {
    453453      IStochasticOperator stochasticOp = op as IStochasticOperator;
    454454      if (stochasticOp != null) {
     
    457457      }
    458458    }
    459     private void ParameterizeSelectors() {
     459    protected virtual void ParameterizeSelectors() {
    460460      foreach (ISelector selector in SelectorParameter.ValidValues) {
    461461        selector.CopySelected = new BoolValue(true);
     
    494494      }
    495495    }
    496     private void ParameterizeAnalyzers() {
     496    protected virtual void ParameterizeAnalyzers() {
    497497      islandQualityAnalyzer.ResultsParameter.ActualName = "Results";
    498498      islandQualityAnalyzer.ResultsParameter.Hidden = true;
     
    517517      }
    518518    }
    519     private void ParameterizeIterationBasedOperators() {
     519    protected virtual void ParameterizeIterationBasedOperators() {
    520520      if (Problem != null) {
    521521        foreach (IIterationBasedOperator op in Problem.Operators.OfType<IIterationBasedOperator>()) {
     
    527527      }
    528528    }
    529     private void UpdateCrossovers() {
     529    protected virtual void UpdateCrossovers() {
    530530      ICrossover oldCrossover = CrossoverParameter.Value;
    531531      ICrossover defaultCrossover = Problem.Operators.OfType<ICrossover>().FirstOrDefault();
     
    543543        CrossoverParameter.Value = defaultCrossover;
    544544    }
    545     private void UpdateMutators() {
     545    protected virtual void UpdateMutators() {
    546546      IManipulator oldMutator = MutatorParameter.Value;
    547547      MutatorParameter.ValidValues.Clear();
     
    555555      }
    556556    }
    557     private void UpdateAnalyzers() {
     557    protected virtual void UpdateAnalyzers() {
    558558      IslandAnalyzer.Operators.Clear();
    559559      Analyzer.Operators.Clear();
     
    568568      Analyzer.Operators.Add(qualityAnalyzer, qualityAnalyzer.EnabledByDefault);
    569569    }
    570     private IslandGeneticAlgorithmMainLoop FindMainLoop(IOperator start) {
     570    protected virtual IslandGeneticAlgorithmMainLoop FindMainLoop(IOperator start) {
    571571      IOperator mainLoop = start;
    572572      while (mainLoop != null && !(mainLoop is IslandGeneticAlgorithmMainLoop))
  • branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/Plugin.cs.frame

    r9756 r10142  
    2626  /// Plugin class for HeuristicLab.Algorithms.GeneticAlgorithm plugin.
    2727  /// </summary>
    28   [Plugin("HeuristicLab.Algorithms.GeneticAlgorithm", "3.3.8.$WCREV$")]
     28  [Plugin("HeuristicLab.Algorithms.GeneticAlgorithm", "3.3.9.$WCREV$")]
    2929  [PluginFile("HeuristicLab.Algorithms.GeneticAlgorithm-3.3.dll", PluginFileType.Assembly)]
    3030  [PluginDependency("HeuristicLab.Analysis", "3.3")]
  • branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/Properties/AssemblyInfo.cs.frame

    r9756 r10142  
    5353// by using the '*' as shown below:
    5454[assembly: AssemblyVersion("3.3.0.0")]
    55 [assembly: AssemblyFileVersion("3.3.8.$WCREV$")]
     55[assembly: AssemblyFileVersion("3.3.9.$WCREV$")]
  • branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm-3.3.csproj

    r8806 r10142  
    5050    <DebugType>pdbonly</DebugType>
    5151    <Optimize>true</Optimize>
    52     <OutputPath>$(SolutionDir)\bin\</OutputPath>
     52    <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath>
    5353    <DefineConstants>TRACE</DefineConstants>
    5454    <ErrorReport>prompt</ErrorReport>
     
    9393  </PropertyGroup>
    9494  <ItemGroup>
     95    <Reference Include="HeuristicLab.Analysis-3.3">
     96      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Analysis-3.3.dll</HintPath>
     97      <Private>False</Private>
     98    </Reference>
     99    <Reference Include="HeuristicLab.Collections-3.3">
     100      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath>
     101      <Private>False</Private>
     102    </Reference>
     103    <Reference Include="HeuristicLab.Common-3.3">
     104      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath>
     105      <Private>False</Private>
     106    </Reference>
     107    <Reference Include="HeuristicLab.Core-3.3">
     108      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath>
     109      <Private>False</Private>
     110    </Reference>
     111    <Reference Include="HeuristicLab.Data-3.3">
     112      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Data-3.3.dll</HintPath>
     113      <Private>False</Private>
     114    </Reference>
     115    <Reference Include="HeuristicLab.Operators-3.3">
     116      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Operators-3.3.dll</HintPath>
     117      <Private>False</Private>
     118    </Reference>
     119    <Reference Include="HeuristicLab.Optimization-3.3">
     120      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath>
     121      <Private>False</Private>
     122    </Reference>
     123    <Reference Include="HeuristicLab.Optimization.Operators-3.3">
     124      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization.Operators-3.3.dll</HintPath>
     125      <Private>False</Private>
     126    </Reference>
     127    <Reference Include="HeuristicLab.Parameters-3.3">
     128      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Parameters-3.3.dll</HintPath>
     129      <Private>False</Private>
     130    </Reference>
     131    <Reference Include="HeuristicLab.Persistence-3.3">
     132      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Persistence-3.3.dll</HintPath>
     133      <Private>False</Private>
     134    </Reference>
     135    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
     136      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     137      <Private>False</Private>
     138    </Reference>
     139    <Reference Include="HeuristicLab.Random-3.3">
     140      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Random-3.3.dll</HintPath>
     141      <Private>False</Private>
     142    </Reference>
     143    <Reference Include="HeuristicLab.Selection-3.3">
     144      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Selection-3.3.dll</HintPath>
     145      <Private>False</Private>
     146    </Reference>
    95147    <Reference Include="System" />
    96148    <Reference Include="System.Core">
     
    123175    <None Include="Plugin.cs.frame" />
    124176    <None Include="Properties\AssemblyInfo.cs.frame" />
    125   </ItemGroup>
    126   <ItemGroup>
    127     <ProjectReference Include="..\..\HeuristicLab.Analysis\3.3\HeuristicLab.Analysis-3.3.csproj">
    128       <Project>{887425B4-4348-49ED-A457-B7D2C26DDBF9}</Project>
    129       <Name>HeuristicLab.Analysis-3.3</Name>
    130       <Private>False</Private>
    131     </ProjectReference>
    132     <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
    133       <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
    134       <Name>HeuristicLab.Collections-3.3</Name>
    135       <Private>False</Private>
    136     </ProjectReference>
    137     <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
    138       <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>
    139       <Name>HeuristicLab.Common-3.3</Name>
    140       <Private>False</Private>
    141     </ProjectReference>
    142     <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
    143       <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
    144       <Name>HeuristicLab.Core-3.3</Name>
    145       <Private>False</Private>
    146     </ProjectReference>
    147     <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">
    148       <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project>
    149       <Name>HeuristicLab.Data-3.3</Name>
    150       <Private>False</Private>
    151     </ProjectReference>
    152     <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj">
    153       <Project>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</Project>
    154       <Name>HeuristicLab.Operators-3.3</Name>
    155       <Private>False</Private>
    156     </ProjectReference>
    157     <ProjectReference Include="..\..\HeuristicLab.Optimization.Operators\3.3\HeuristicLab.Optimization.Operators-3.3.csproj">
    158       <Project>{25087811-F74C-4128-BC86-8324271DA13E}</Project>
    159       <Name>HeuristicLab.Optimization.Operators-3.3</Name>
    160       <Private>False</Private>
    161     </ProjectReference>
    162     <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
    163       <Project>{14AB8D24-25BC-400C-A846-4627AA945192}</Project>
    164       <Name>HeuristicLab.Optimization-3.3</Name>
    165       <Private>False</Private>
    166     </ProjectReference>
    167     <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj">
    168       <Project>{56F9106A-079F-4C61-92F6-86A84C2D84B7}</Project>
    169       <Name>HeuristicLab.Parameters-3.3</Name>
    170       <Private>False</Private>
    171     </ProjectReference>
    172     <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
    173       <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project>
    174       <Name>HeuristicLab.Persistence-3.3</Name>
    175       <Private>False</Private>
    176     </ProjectReference>
    177     <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
    178       <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
    179       <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
    180       <Private>False</Private>
    181     </ProjectReference>
    182     <ProjectReference Include="..\..\HeuristicLab.Random\3.3\HeuristicLab.Random-3.3.csproj">
    183       <Project>{F4539FB6-4708-40C9-BE64-0A1390AEA197}</Project>
    184       <Name>HeuristicLab.Random-3.3</Name>
    185       <Private>False</Private>
    186     </ProjectReference>
    187     <ProjectReference Include="..\..\HeuristicLab.Selection\3.3\HeuristicLab.Selection-3.3.csproj">
    188       <Project>{2C36CD4F-E5F5-43A4-801A-201EA895FE17}</Project>
    189       <Name>HeuristicLab.Selection-3.3</Name>
    190       <Private>False</Private>
    191     </ProjectReference>
    192177  </ItemGroup>
    193178  <ItemGroup>
  • branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/IslandOffspringSelectionGeneticAlgorithm.cs

    r9756 r10142  
    4141  [Creatable("Algorithms")]
    4242  [StorableClass]
    43   public sealed class IslandOffspringSelectionGeneticAlgorithm : HeuristicOptimizationEngineAlgorithm, IStorableContent {
     43  public class IslandOffspringSelectionGeneticAlgorithm : HeuristicOptimizationEngineAlgorithm, IStorableContent {
    4444    public string Filename { get; set; }
    4545
     
    5555
    5656    #region Parameter Properties
    57     private ValueParameter<IntValue> SeedParameter {
     57    protected ValueParameter<IntValue> SeedParameter {
    5858      get { return (ValueParameter<IntValue>)Parameters["Seed"]; }
    5959    }
    60     private ValueParameter<BoolValue> SetSeedRandomlyParameter {
     60    protected ValueParameter<BoolValue> SetSeedRandomlyParameter {
    6161      get { return (ValueParameter<BoolValue>)Parameters["SetSeedRandomly"]; }
    6262    }
    63     private ValueParameter<IntValue> NumberOfIslandsParameter {
     63    protected ValueParameter<IntValue> NumberOfIslandsParameter {
    6464      get { return (ValueParameter<IntValue>)Parameters["NumberOfIslands"]; }
    6565    }
    66     private ValueParameter<IntValue> MigrationIntervalParameter {
     66    protected ValueParameter<IntValue> MigrationIntervalParameter {
    6767      get { return (ValueParameter<IntValue>)Parameters["MigrationInterval"]; }
    6868    }
    69     private ValueParameter<PercentValue> MigrationRateParameter {
     69    protected ValueParameter<PercentValue> MigrationRateParameter {
    7070      get { return (ValueParameter<PercentValue>)Parameters["MigrationRate"]; }
    7171    }
     
    7979      get { return (IConstrainedValueParameter<IReplacer>)Parameters["ImmigrationReplacer"]; }
    8080    }
    81     private ValueParameter<IntValue> PopulationSizeParameter {
     81    protected ValueParameter<IntValue> PopulationSizeParameter {
    8282      get { return (ValueParameter<IntValue>)Parameters["PopulationSize"]; }
    8383    }
    84     private ValueParameter<IntValue> MaximumGenerationsParameter {
     84    protected ValueParameter<IntValue> MaximumGenerationsParameter {
    8585      get { return (ValueParameter<IntValue>)Parameters["MaximumGenerations"]; }
    8686    }
     
    9191      get { return (IConstrainedValueParameter<ICrossover>)Parameters["Crossover"]; }
    9292    }
    93     private ValueParameter<PercentValue> MutationProbabilityParameter {
     93    protected ValueParameter<PercentValue> MutationProbabilityParameter {
    9494      get { return (ValueParameter<PercentValue>)Parameters["MutationProbability"]; }
    9595    }
     
    9797      get { return (IConstrainedValueParameter<IManipulator>)Parameters["Mutator"]; }
    9898    }
    99     private ValueParameter<IntValue> ElitesParameter {
     99    protected ValueParameter<IntValue> ElitesParameter {
    100100      get { return (ValueParameter<IntValue>)Parameters["Elites"]; }
    101101    }
    102     private IFixedValueParameter<BoolValue> ReevaluateElitesParameter {
     102    protected IFixedValueParameter<BoolValue> ReevaluateElitesParameter {
    103103      get { return (IFixedValueParameter<BoolValue>)Parameters["ReevaluateElites"]; }
    104104    }
    105     private ValueLookupParameter<DoubleValue> SuccessRatioParameter {
     105    protected ValueLookupParameter<DoubleValue> SuccessRatioParameter {
    106106      get { return (ValueLookupParameter<DoubleValue>)Parameters["SuccessRatio"]; }
    107107    }
    108     private ValueLookupParameter<DoubleValue> ComparisonFactorLowerBoundParameter {
     108    protected ValueLookupParameter<DoubleValue> ComparisonFactorLowerBoundParameter {
    109109      get { return (ValueLookupParameter<DoubleValue>)Parameters["ComparisonFactorLowerBound"]; }
    110110    }
    111     private ValueLookupParameter<DoubleValue> ComparisonFactorUpperBoundParameter {
     111    protected ValueLookupParameter<DoubleValue> ComparisonFactorUpperBoundParameter {
    112112      get { return (ValueLookupParameter<DoubleValue>)Parameters["ComparisonFactorUpperBound"]; }
    113113    }
     
    115115      get { return (IConstrainedValueParameter<IDiscreteDoubleValueModifier>)Parameters["ComparisonFactorModifier"]; }
    116116    }
    117     private ValueLookupParameter<DoubleValue> MaximumSelectionPressureParameter {
     117    protected ValueLookupParameter<DoubleValue> MaximumSelectionPressureParameter {
    118118      get { return (ValueLookupParameter<DoubleValue>)Parameters["MaximumSelectionPressure"]; }
    119119    }
    120     private ValueLookupParameter<BoolValue> OffspringSelectionBeforeMutationParameter {
     120    protected ValueLookupParameter<BoolValue> OffspringSelectionBeforeMutationParameter {
    121121      get { return (ValueLookupParameter<BoolValue>)Parameters["OffspringSelectionBeforeMutation"]; }
    122122    }
    123     private ValueLookupParameter<IntValue> SelectedParentsParameter {
     123    protected ValueLookupParameter<IntValue> SelectedParentsParameter {
    124124      get { return (ValueLookupParameter<IntValue>)Parameters["SelectedParents"]; }
    125125    }
    126     private ValueParameter<MultiAnalyzer> AnalyzerParameter {
     126    protected ValueParameter<MultiAnalyzer> AnalyzerParameter {
    127127      get { return (ValueParameter<MultiAnalyzer>)Parameters["Analyzer"]; }
    128128    }
    129     private ValueParameter<MultiAnalyzer> IslandAnalyzerParameter {
     129    protected ValueParameter<MultiAnalyzer> IslandAnalyzerParameter {
    130130      get { return (ValueParameter<MultiAnalyzer>)Parameters["IslandAnalyzer"]; }
    131131    }
    132     private ValueParameter<IntValue> MaximumEvaluatedSolutionsParameter {
     132    protected ValueParameter<IntValue> MaximumEvaluatedSolutionsParameter {
    133133      get { return (ValueParameter<IntValue>)Parameters["MaximumEvaluatedSolutions"]; }
    134134    }
     
    236236      set { MaximumEvaluatedSolutionsParameter.Value = value; }
    237237    }
    238     private RandomCreator RandomCreator {
     238    protected RandomCreator RandomCreator {
    239239      get { return (RandomCreator)OperatorGraph.InitialOperator; }
    240240    }
    241     private UniformSubScopesProcessor IslandProcessor {
     241    protected UniformSubScopesProcessor IslandProcessor {
    242242      get { return ((RandomCreator.Successor as SubScopesCreator).Successor as UniformSubScopesProcessor); }
    243243    }
    244     private SolutionsCreator SolutionsCreator {
     244    protected SolutionsCreator SolutionsCreator {
    245245      get { return (SolutionsCreator)IslandProcessor.Operator; }
    246246    }
    247     private IslandOffspringSelectionGeneticAlgorithmMainLoop MainLoop {
     247    protected IslandOffspringSelectionGeneticAlgorithmMainLoop MainLoop {
    248248      get { return FindMainLoop(IslandProcessor.Successor); }
    249249    }
     
    261261
    262262    [StorableConstructor]
    263     private IslandOffspringSelectionGeneticAlgorithm(bool deserializing) : base(deserializing) { }
     263    protected IslandOffspringSelectionGeneticAlgorithm(bool deserializing) : base(deserializing) { }
    264264    [StorableHook(HookType.AfterDeserialization)]
    265265    private void AfterDeserialization() {
     
    275275      Initialize();
    276276    }
    277     private IslandOffspringSelectionGeneticAlgorithm(IslandOffspringSelectionGeneticAlgorithm original, Cloner cloner)
     277    protected IslandOffspringSelectionGeneticAlgorithm(IslandOffspringSelectionGeneticAlgorithm original, Cloner cloner)
    278278      : base(original, cloner) {
    279279      islandQualityAnalyzer = cloner.Clone(original.islandQualityAnalyzer);
     
    456456      base.Problem_OperatorsChanged(sender, e);
    457457    }
    458     private void ElitesParameter_ValueChanged(object sender, EventArgs e) {
     458    protected virtual void ElitesParameter_ValueChanged(object sender, EventArgs e) {
    459459      Elites.ValueChanged += new EventHandler(Elites_ValueChanged);
    460460      ParameterizeSelectors();
    461461    }
    462     private void Elites_ValueChanged(object sender, EventArgs e) {
    463       ParameterizeSelectors();
    464     }
    465     private void PopulationSizeParameter_ValueChanged(object sender, EventArgs e) {
     462    protected virtual void Elites_ValueChanged(object sender, EventArgs e) {
     463      ParameterizeSelectors();
     464    }
     465    protected virtual void PopulationSizeParameter_ValueChanged(object sender, EventArgs e) {
    466466      NumberOfIslands.ValueChanged += new EventHandler(PopulationSize_ValueChanged);
    467467      ParameterizeSelectors();
    468468    }
    469     private void PopulationSize_ValueChanged(object sender, EventArgs e) {
     469    protected virtual void PopulationSize_ValueChanged(object sender, EventArgs e) {
    470470      ParameterizeSelectors();
    471471    }
     
    475475      ParameterizeAnalyzers();
    476476    }
    477     private void MigrationRateParameter_ValueChanged(object sender, EventArgs e) {
     477    protected virtual void MigrationRateParameter_ValueChanged(object sender, EventArgs e) {
    478478      MigrationRate.ValueChanged += new EventHandler(MigrationRate_ValueChanged);
    479479      ParameterizeSelectors();
    480480    }
    481     private void MigrationRate_ValueChanged(object sender, EventArgs e) {
    482       ParameterizeSelectors();
    483     }
    484     private void MaximumMigrationsParameter_ValueChanged(object sender, EventArgs e) {
     481    protected virtual void MigrationRate_ValueChanged(object sender, EventArgs e) {
     482      ParameterizeSelectors();
     483    }
     484    protected virtual void MaximumMigrationsParameter_ValueChanged(object sender, EventArgs e) {
    485485      MaximumGenerations.ValueChanged += new EventHandler(MaximumMigrations_ValueChanged);
    486486      ParameterizeComparisonFactorModifiers();
    487487    }
    488     private void MaximumMigrations_ValueChanged(object sender, EventArgs e) {
     488    protected virtual void MaximumMigrations_ValueChanged(object sender, EventArgs e) {
    489489      ParameterizeComparisonFactorModifiers();
    490490    }
    491     private void MigrationIntervalParameter_ValueChanged(object sender, EventArgs e) {
     491    protected virtual void MigrationIntervalParameter_ValueChanged(object sender, EventArgs e) {
    492492      MigrationInterval.ValueChanged += new EventHandler(MigrationInterval_ValueChanged);
    493493      ParameterizeComparisonFactorModifiers();
    494494    }
    495     private void MigrationInterval_ValueChanged(object sender, EventArgs e) {
     495    protected virtual void MigrationInterval_ValueChanged(object sender, EventArgs e) {
    496496      ParameterizeComparisonFactorModifiers();
    497497    }
     
    514514      }
    515515    }
    516     private void ParameterizeSolutionsCreator() {
     516    protected virtual void ParameterizeSolutionsCreator() {
    517517      SolutionsCreator.EvaluatorParameter.ActualName = Problem.EvaluatorParameter.Name;
    518518      SolutionsCreator.SolutionCreatorParameter.ActualName = Problem.SolutionCreatorParameter.Name;
    519519    }
    520     private void ParameterizeMainLoop() {
     520    protected virtual void ParameterizeMainLoop() {
    521521      MainLoop.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name;
    522522      MainLoop.EvaluatorParameter.ActualName = Problem.EvaluatorParameter.Name;
     
    524524      MainLoop.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
    525525    }
    526     private void ParameterizeStochasticOperator(IOperator op) {
     526    protected virtual void ParameterizeStochasticOperator(IOperator op) {
    527527      if (op is IStochasticOperator)
    528528        ((IStochasticOperator)op).RandomParameter.ActualName = RandomCreator.RandomParameter.ActualName;
    529529    }
    530     private void ParameterizeSelectors() {
     530    protected virtual void ParameterizeSelectors() {
    531531      foreach (ISelector selector in SelectorParameter.ValidValues) {
    532532        selector.CopySelected = new BoolValue(true);
     
    558558      }
    559559    }
    560     private void ParameterizeAnalyzers() {
     560    protected virtual void ParameterizeAnalyzers() {
    561561      islandQualityAnalyzer.ResultsParameter.ActualName = "Results";
    562562      islandQualityAnalyzer.QualityParameter.Depth = 1;
     
    591591      }
    592592    }
    593     private void ParameterizeComparisonFactorModifiers() {
     593    protected virtual void ParameterizeComparisonFactorModifiers() {
    594594      foreach (IDiscreteDoubleValueModifier modifier in ComparisonFactorModifierParameter.ValidValues) {
    595595        modifier.IndexParameter.ActualName = "Generations";
     
    601601      }
    602602    }
    603     private void ParameterizeIterationBasedOperators() {
     603    protected virtual void ParameterizeIterationBasedOperators() {
    604604      if (Problem != null) {
    605605        foreach (IIterationBasedOperator op in Problem.Operators.OfType<IIterationBasedOperator>()) {
     
    609609      }
    610610    }
    611     private void UpdateCrossovers() {
     611    protected virtual void UpdateCrossovers() {
    612612      ICrossover oldCrossover = CrossoverParameter.Value;
    613613      ICrossover defaultCrossover = Problem.Operators.OfType<ICrossover>().FirstOrDefault();
     
    623623        CrossoverParameter.Value = defaultCrossover;
    624624    }
    625     private void UpdateMutators() {
     625    protected virtual void UpdateMutators() {
    626626      IManipulator oldMutator = MutatorParameter.Value;
    627627      MutatorParameter.ValidValues.Clear();
     
    649649      Analyzer.Operators.Add(successfulOffspringAnalyzer, successfulOffspringAnalyzer.EnabledByDefault);
    650650    }
    651     private IslandOffspringSelectionGeneticAlgorithmMainLoop FindMainLoop(IOperator start) {
     651    protected virtual IslandOffspringSelectionGeneticAlgorithmMainLoop FindMainLoop(IOperator start) {
    652652      IOperator mainLoop = start;
    653653      while (mainLoop != null && !(mainLoop is IslandOffspringSelectionGeneticAlgorithmMainLoop))
  • branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/Plugin.cs.frame

    r9756 r10142  
    2626  /// Plugin class for HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm plugin.
    2727  /// </summary>
    28   [Plugin("HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm", "3.3.8.$WCREV$")]
     28  [Plugin("HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm", "3.3.9.$WCREV$")]
    2929  [PluginFile("HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm-3.3.dll", PluginFileType.Assembly)]
    3030  [PluginDependency("HeuristicLab.Analysis", "3.3")]
  • branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/Properties/AssemblyInfo.cs.frame

    r9756 r10142  
    5353// by using the '*' as shown below:
    5454[assembly: AssemblyVersion("3.3.0.0")]
    55 [assembly: AssemblyFileVersion("3.3.8.$WCREV$")]
     55[assembly: AssemblyFileVersion("3.3.9.$WCREV$")]
  • branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj

    r10110 r10142  
    5151    <DebugType>pdbonly</DebugType>
    5252    <Optimize>true</Optimize>
    53     <OutputPath>$(SolutionDir)\bin\</OutputPath>
     53    <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath>
    5454    <DefineConstants>TRACE</DefineConstants>
    5555    <ErrorReport>prompt</ErrorReport>
     
    9999  </PropertyGroup>
    100100  <ItemGroup>
    101     <Reference Include="ALGLIB-3.7.0, Version=3.7.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    102       <HintPath>..\..\bin\ALGLIB-3.7.0.dll</HintPath>
     101    <Reference Include="ALGLIB-3.7.0">
     102      <HintPath>..\..\..\..\trunk\sources\bin\ALGLIB-3.7.0.dll</HintPath>
     103      <Private>False</Private>
     104    </Reference>
     105    <Reference Include="HeuristicLab.Analysis-3.3">
     106      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Analysis-3.3.dll</HintPath>
     107      <Private>False</Private>
     108    </Reference>
     109    <Reference Include="HeuristicLab.Collections-3.3">
     110      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath>
     111      <Private>False</Private>
     112    </Reference>
     113    <Reference Include="HeuristicLab.Common-3.3">
     114      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath>
     115      <Private>False</Private>
     116    </Reference>
     117    <Reference Include="HeuristicLab.Common.Resources-3.3">
     118      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common.Resources-3.3.dll</HintPath>
     119      <Private>False</Private>
     120    </Reference>
     121    <Reference Include="HeuristicLab.Core-3.3">
     122      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath>
     123      <Private>False</Private>
     124    </Reference>
     125    <Reference Include="HeuristicLab.Data-3.3">
     126      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Data-3.3.dll</HintPath>
     127      <Private>False</Private>
     128    </Reference>
     129    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4">
     130      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.dll</HintPath>
     131      <Private>False</Private>
     132    </Reference>
     133    <Reference Include="HeuristicLab.Operators-3.3">
     134      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Operators-3.3.dll</HintPath>
     135      <Private>False</Private>
     136    </Reference>
     137    <Reference Include="HeuristicLab.Optimization-3.3">
     138      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath>
     139      <Private>False</Private>
     140    </Reference>
     141    <Reference Include="HeuristicLab.Parameters-3.3">
     142      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Parameters-3.3.dll</HintPath>
     143      <Private>False</Private>
     144    </Reference>
     145    <Reference Include="HeuristicLab.Persistence-3.3">
     146      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Persistence-3.3.dll</HintPath>
     147      <Private>False</Private>
     148    </Reference>
     149    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
     150      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     151      <Private>False</Private>
     152    </Reference>
     153    <Reference Include="HeuristicLab.Problems.DataAnalysis-3.4">
     154      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Problems.DataAnalysis-3.4.dll</HintPath>
     155      <Private>False</Private>
     156    </Reference>
     157    <Reference Include="HeuristicLab.Problems.Instances-3.3">
     158      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Problems.Instances-3.3.dll</HintPath>
     159      <Private>False</Private>
     160    </Reference>
     161    <Reference Include="HeuristicLab.Random-3.3">
     162      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Random-3.3.dll</HintPath>
    103163      <Private>False</Private>
    104164    </Reference>
     
    145205    <Compile Include="Crossovers\SymbolicDataAnalysisExpressionProbabilisticFunctionalCrossover.cs" />
    146206    <Compile Include="Crossovers\SymbolicDataAnalysisExpressionSemanticSimilarityCrossover.cs" />
     207    <Compile Include="EnumerableItem.cs" />
    147208    <Compile Include="Formatters\SymbolicDataAnalysisExpressionExcelFormatter.cs" />
    148209    <Compile Include="Formatters\SymbolicDataAnalysisExpressionSmalltalkFormatter.cs" />
    149210    <Compile Include="Interfaces\ISymbolicDataAnalysisExpressionCrossover.cs" />
    150211    <Compile Include="Interfaces\ISymbolicDataAnalysisImpactValuesCalculator.cs" />
    151     <Compile Include="Interpreter\ExpressionTreeInterpreter.cs" />
    152212    <Compile Include="Interpreter\InterpreterState.cs" />
    153213    <Compile Include="Interpreter\OpCodes.cs" />
     
    259319    </BootstrapperPackage>
    260320  </ItemGroup>
    261   <ItemGroup>
    262     <ProjectReference Include="..\..\HeuristicLab.Analysis\3.3\HeuristicLab.Analysis-3.3.csproj">
    263       <Project>{887425B4-4348-49ED-A457-B7D2C26DDBF9}</Project>
    264       <Name>HeuristicLab.Analysis-3.3</Name>
    265       <Private>False</Private>
    266     </ProjectReference>
    267     <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
    268       <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
    269       <Name>HeuristicLab.Collections-3.3</Name>
    270       <Private>False</Private>
    271     </ProjectReference>
    272     <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.3\HeuristicLab.Common.Resources-3.3.csproj">
    273       <Project>{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}</Project>
    274       <Name>HeuristicLab.Common.Resources-3.3</Name>
    275       <Private>False</Private>
    276     </ProjectReference>
    277     <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
    278       <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>
    279       <Name>HeuristicLab.Common-3.3</Name>
    280       <Private>False</Private>
    281     </ProjectReference>
    282     <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
    283       <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
    284       <Name>HeuristicLab.Core-3.3</Name>
    285       <Private>False</Private>
    286     </ProjectReference>
    287     <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">
    288       <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project>
    289       <Name>HeuristicLab.Data-3.3</Name>
    290       <Private>False</Private>
    291     </ProjectReference>
    292     <ProjectReference Include="..\..\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding\3.4\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.csproj">
    293       <Project>{06D4A186-9319-48A0-BADE-A2058D462EEA}</Project>
    294       <Name>HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4</Name>
    295       <Private>False</Private>
    296     </ProjectReference>
    297     <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj">
    298       <Project>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</Project>
    299       <Name>HeuristicLab.Operators-3.3</Name>
    300       <Private>False</Private>
    301     </ProjectReference>
    302     <ProjectReference Include="..\..\HeuristicLab.Optimization.Operators\3.3\HeuristicLab.Optimization.Operators-3.3.csproj">
    303       <Project>{25087811-F74C-4128-BC86-8324271DA13E}</Project>
    304       <Name>HeuristicLab.Optimization.Operators-3.3</Name>
    305       <Private>False</Private>
    306     </ProjectReference>
    307     <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
    308       <Project>{14AB8D24-25BC-400C-A846-4627AA945192}</Project>
    309       <Name>HeuristicLab.Optimization-3.3</Name>
    310     </ProjectReference>
    311     <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj">
    312       <Project>{56F9106A-079F-4C61-92F6-86A84C2D84B7}</Project>
    313       <Name>HeuristicLab.Parameters-3.3</Name>
    314       <Private>False</Private>
    315     </ProjectReference>
    316     <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
    317       <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project>
    318       <Name>HeuristicLab.Persistence-3.3</Name>
    319       <Private>False</Private>
    320     </ProjectReference>
    321     <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
    322       <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
    323       <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
    324       <Private>False</Private>
    325     </ProjectReference>
    326     <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis\3.4\HeuristicLab.Problems.DataAnalysis-3.4.csproj">
    327       <Project>{DF87C13E-A889-46FF-8153-66DCAA8C5674}</Project>
    328       <Name>HeuristicLab.Problems.DataAnalysis-3.4</Name>
    329       <Private>False</Private>
    330     </ProjectReference>
    331     <ProjectReference Include="..\..\HeuristicLab.Problems.Instances\3.3\HeuristicLab.Problems.Instances-3.3.csproj">
    332       <Project>{3540E29E-4793-49E7-8EE2-FEA7F61C3994}</Project>
    333       <Name>HeuristicLab.Problems.Instances-3.3</Name>
    334       <Private>False</Private>
    335     </ProjectReference>
    336     <ProjectReference Include="..\..\HeuristicLab.Random\3.3\HeuristicLab.Random-3.3.csproj">
    337       <Project>{F4539FB6-4708-40C9-BE64-0A1390AEA197}</Project>
    338       <Name>HeuristicLab.Random-3.3</Name>
    339       <Private>False</Private>
    340     </ProjectReference>
    341   </ItemGroup>
    342321  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    343322  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Note: See TracChangeset for help on using the changeset viewer.