Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/06/15 17:52:14 (9 years ago)
Author:
abeham
Message:

#2174: Integrated programmable problem into trunk

  • Fixed build configuration
  • Fixed some assembly references that had CopyLocal set to true
  • Added a missing license header
  • Cleaned some usings
  • Fixed the version number in ExternalEvaluation.GP
  • Added ProgrammableProblem and new ExternalEvaluationProblem as a reference to unit tests
  • Fixed plugin dependencies and assembly references
  • Changed icon of programmable problem to script icon
  • Fixed name clash in VRP that also had defined a "PermutationEncoding" class
  • (Hopefully) fixed all output paths
Location:
trunk/sources/HeuristicLab.Optimization
Files:
26 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Optimization

  • trunk/sources/HeuristicLab.Optimization/3.3/Algorithms/EngineAlgorithm.cs

    r11171 r11961  
    159159      if ((engine != null) && (operatorGraph.InitialOperator != null)) {
    160160        ExecutionContext context = null;
    161         if (Problem != null) context = new ExecutionContext(context, Problem, globalScope);
     161        if (Problem != null) {
     162          foreach (var item in Problem.ExecutionContextItems)
     163            context = new ExecutionContext(context, item, globalScope);
     164        }
    162165        context = new ExecutionContext(context, this, globalScope);
    163166        context = new ExecutionContext(context, operatorGraph.InitialOperator, globalScope);
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Encoding.cs

    r11952 r11961  
    2525using HeuristicLab.Common;
    2626using HeuristicLab.Core;
    27 using HeuristicLab.Optimization;
    2827using HeuristicLab.Parameters;
    2928using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IEncoding.cs

    r11949 r11961  
    2323using System.Collections.Generic;
    2424using HeuristicLab.Core;
    25 using HeuristicLab.Optimization;
    2625
    2726namespace HeuristicLab.Optimization {
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IMultiObjectiveProblemDefinition.cs

    r11949 r11961  
    2121
    2222using HeuristicLab.Core;
    23 using HeuristicLab.Optimization;
    2423
    2524namespace HeuristicLab.Optimization {
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/IProblemDefinition.cs

    r11949 r11961  
    2020#endregion
    2121
    22 using HeuristicLab.Core;
    23 
    2422namespace HeuristicLab.Optimization {
    2523  public interface IProblemDefinition {
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/ISingleObjectiveMoveOperator.cs

    r11949 r11961  
    1919 */
    2020#endregion
    21 using HeuristicLab.Optimization;
    2221
    2322namespace HeuristicLab.Optimization {
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/ISingleObjectiveProblemDefinition.cs

    r11949 r11961  
    2222using System.Collections.Generic;
    2323using HeuristicLab.Core;
    24 using HeuristicLab.Optimization;
    2524
    2625namespace HeuristicLab.Optimization {
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/IMultiObjectiveEvaluationOperator.cs

    r11949 r11961  
    2222using System;
    2323using HeuristicLab.Core;
    24 using HeuristicLab.Optimization;
    2524
    2625namespace HeuristicLab.Optimization {
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/ISingleObjectiveAnalysisOperator.cs

    r11949 r11961  
    2222using System;
    2323using HeuristicLab.Core;
    24 using HeuristicLab.Optimization;
    2524
    2625namespace HeuristicLab.Optimization {
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Interfaces/internal/ISingleObjectiveEvaluationOperator.cs

    r11949 r11961  
    2222using System;
    2323using HeuristicLab.Core;
    24 using HeuristicLab.Optimization;
    2524
    2625namespace HeuristicLab.Optimization {
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Operators/MultiEncodingManipulator.cs

    r11949 r11961  
    2222using HeuristicLab.Common;
    2323using HeuristicLab.Core;
    24 using HeuristicLab.Optimization;
    2524using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2625
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Operators/MultiEncodingOperator.cs

    r11949 r11961  
    1919 */
    2020#endregion
     21
    2122using System;
    2223using System.Collections.Generic;
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Operators/MultiObjectiveAnalyzer.cs

    r11949 r11961  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21
     22using System;
    223using System.Collections.Generic;
    324using System.Linq;
     
    627using HeuristicLab.Data;
    728using HeuristicLab.Operators;
    8 using HeuristicLab.Optimization;
    929using HeuristicLab.Parameters;
    1030using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Operators/MultiObjectiveEvaluator.cs

    r11949 r11961  
    2525using HeuristicLab.Data;
    2626using HeuristicLab.Operators;
    27 using HeuristicLab.Optimization;
    2827using HeuristicLab.Parameters;
    2928using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Operators/SingleObjectiveAnalyzer.cs

    r11949 r11961  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21
     22using System;
    223using System.Collections.Generic;
    324using System.Linq;
     
    627using HeuristicLab.Data;
    728using HeuristicLab.Operators;
    8 using HeuristicLab.Optimization;
    929using HeuristicLab.Parameters;
    1030using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Operators/SingleObjectiveEvaluator.cs

    r11949 r11961  
    2525using HeuristicLab.Data;
    2626using HeuristicLab.Operators;
    27 using HeuristicLab.Optimization;
    2827using HeuristicLab.Parameters;
    2928using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Operators/SingleObjectiveImprover.cs

    r11949 r11961  
    2727using HeuristicLab.Data;
    2828using HeuristicLab.Operators;
    29 using HeuristicLab.Optimization;
    3029using HeuristicLab.Parameters;
    3130using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Operators/SingleObjectiveMoveEvaluator.cs

    r11949 r11961  
    2525using HeuristicLab.Data;
    2626using HeuristicLab.Operators;
    27 using HeuristicLab.Optimization;
    2827using HeuristicLab.Parameters;
    2928using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
  • trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/Operators/SingleObjectiveMoveGenerator.cs

    r11949 r11961  
    2828using HeuristicLab.Data;
    2929using HeuristicLab.Operators;
    30 using HeuristicLab.Optimization;
    3130using HeuristicLab.Parameters;
    3231using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
  • trunk/sources/HeuristicLab.Optimization/3.3/HeuristicLab.Optimization-3.3.csproj

    r11790 r11961  
    121121  <ItemGroup>
    122122    <Compile Include="Algorithms\BasicAlgorithm.cs" />
     123    <Compile Include="BasicProblems\BasicProblem.cs" />
     124    <Compile Include="BasicProblems\Encoding.cs" />
     125    <Compile Include="BasicProblems\Individuals\Individual.cs" />
     126    <Compile Include="BasicProblems\Individuals\MultiEncodingIndividual.cs" />
     127    <Compile Include="BasicProblems\Individuals\SingleEncodingIndividual.cs" />
     128    <Compile Include="BasicProblems\Interfaces\IEncoding.cs" />
     129    <Compile Include="BasicProblems\Interfaces\IEncodingOperator.cs" />
     130    <Compile Include="BasicProblems\Interfaces\IMultiEncodingOperator.cs" />
     131    <Compile Include="BasicProblems\Interfaces\IMultiObjectiveProblemDefinition.cs" />
     132    <Compile Include="BasicProblems\Interfaces\internal\IMultiObjectiveAnalysisOperator.cs" />
     133    <Compile Include="BasicProblems\Interfaces\internal\IMultiObjectiveEvaluationOperator.cs" />
     134    <Compile Include="BasicProblems\Interfaces\internal\INeighborBasedOperator.cs" />
     135    <Compile Include="BasicProblems\Interfaces\internal\ISingleObjectiveAnalysisOperator.cs" />
     136    <Compile Include="BasicProblems\Interfaces\internal\ISingleObjectiveEvaluationOperator.cs" />
     137    <Compile Include="BasicProblems\Interfaces\IProblemDefinition.cs" />
     138    <Compile Include="BasicProblems\Interfaces\ISingleObjectiveMoveOperator.cs" />
     139    <Compile Include="BasicProblems\Interfaces\ISingleObjectiveProblemDefinition.cs" />
     140    <Compile Include="BasicProblems\MultiEncoding.cs" />
     141    <Compile Include="BasicProblems\MultiObjectiveBasicProblem.cs" />
     142    <Compile Include="BasicProblems\Operators\MultiEncodingCreator.cs" />
     143    <Compile Include="BasicProblems\Operators\MultiEncodingCrossover.cs" />
     144    <Compile Include="BasicProblems\Operators\MultiEncodingManipulator.cs" />
     145    <Compile Include="BasicProblems\Operators\MultiEncodingOperator.cs" />
     146    <Compile Include="BasicProblems\Operators\MultiObjectiveAnalyzer.cs" />
     147    <Compile Include="BasicProblems\Operators\MultiObjectiveEvaluator.cs" />
     148    <Compile Include="BasicProblems\Operators\SingleObjectiveAnalyzer.cs" />
     149    <Compile Include="BasicProblems\Operators\SingleObjectiveEvaluator.cs" />
     150    <Compile Include="BasicProblems\Operators\SingleObjectiveImprover.cs" />
     151    <Compile Include="BasicProblems\Operators\SingleObjectiveMoveEvaluator.cs" />
     152    <Compile Include="BasicProblems\Operators\SingleObjectiveMoveGenerator.cs" />
     153    <Compile Include="BasicProblems\Operators\SingleObjectiveMoveMaker.cs" />
     154    <Compile Include="BasicProblems\SingleObjectiveBasicProblem.cs" />
    123155    <Compile Include="Interfaces\ILocalImprovementAlgorithmOperator.cs" />
    124156    <Compile Include="Interfaces\ISingleObjectivePathRelinker.cs" />
     
    246278      <Private>False</Private>
    247279    </ProjectReference>
     280    <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj">
     281      <Project>{23da7ff4-d5b8-41b6-aa96-f0561d24f3ee}</Project>
     282      <Name>HeuristicLab.Operators-3.3</Name>
     283      <Private>False</Private>
     284    </ProjectReference>
    248285    <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj">
    249286      <Project>{56F9106A-079F-4C61-92F6-86A84C2D84B7}</Project>
  • trunk/sources/HeuristicLab.Optimization/3.3/Interfaces/IProblem.cs

    r11171 r11961  
    3131    IEnumerable<IItem> Operators { get; }
    3232
     33
     34    IEnumerable<IParameterizedItem> ExecutionContextItems { get; }
    3335    event EventHandler OperatorsChanged;
    3436    event EventHandler Reset;
  • trunk/sources/HeuristicLab.Optimization/3.3/Plugin.cs.frame

    r11174 r11961  
    3333  [PluginDependency("HeuristicLab.Core", "3.3")]
    3434  [PluginDependency("HeuristicLab.Data", "3.3")]
     35  [PluginDependency("HeuristicLab.Operators", "3.3")]
    3536  [PluginDependency("HeuristicLab.Parameters", "3.3")]
    3637  [PluginDependency("HeuristicLab.Persistence", "3.3")]
  • trunk/sources/HeuristicLab.Optimization/3.3/Problems/HeuristicOptimizationProblem.cs

    r11171 r11961  
    7878
    7979    public U SolutionCreator {
    80       get { return SolutionCreatorParameter.Value; }
     80      get { return (U)SolutionCreatorParameter.Value; }
    8181      protected set { SolutionCreatorParameter.Value = value; }
    8282    }
    83     public ValueParameter<U> SolutionCreatorParameter {
    84       get { return (ValueParameter<U>)Parameters[SolutionCreateParameterName]; }
     83    public IValueParameter SolutionCreatorParameter {
     84      get { return (IValueParameter)Parameters[SolutionCreateParameterName]; }
    8585    }
    8686    ISolutionCreator IHeuristicOptimizationProblem.SolutionCreator { get { return SolutionCreator; } }
  • trunk/sources/HeuristicLab.Optimization/3.3/Problems/Problem.cs

    r11171 r11961  
    114114      }
    115115    }
    116     IEnumerable<IItem> IProblem.Operators { get { return Operators; } }
     116    IEnumerable<IItem> IProblem.Operators { get { return GetOperators(); } }
     117
     118    protected virtual IEnumerable<IItem> GetOperators() {
     119      return Operators;
     120    }
     121
     122    public virtual IEnumerable<IParameterizedItem> ExecutionContextItems {
     123      get { yield return this; }
     124    }
    117125    #endregion
    118126
  • trunk/sources/HeuristicLab.Optimization/3.3/Problems/UserDefinedProblem.cs

    r11171 r11961  
    115115      get { return OperatorsParameter.Value; }
    116116    }
     117
     118    public IEnumerable<IParameterizedItem> ExecutionContextItems {
     119      get { yield return this; }
     120    }
    117121    #endregion
    118122
Note: See TracChangeset for help on using the changeset viewer.