Free cookie consent management tool by TermsFeed Policy Generator

Changeset 7363


Ignore:
Timestamp:
01/18/12 16:55:08 (12 years ago)
Author:
abeham
Message:

#1614

  • worked on GQAP
Location:
branches/GeneralizedQAP
Files:
9 added
9 edited

Legend:

Unmodified
Added
Removed
  • branches/GeneralizedQAP/GeneralizedQAP.sln

    r7319 r7363  
    66Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.GeneralizedQuadraticAssignment.Views-3.3", "HeuristicLab.Problems.GeneralizedQuadraticAssignment.Views\3.3\HeuristicLab.Problems.GeneralizedQuadraticAssignment.Views-3.3.csproj", "{BFAAC00C-B884-458D-BD74-98C94BFAFA41}"
    77EndProject
     8Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.GeneralizedQuadraticAssignment.Algorithms.3.3", "HeuristicLab.Problems.GeneralizedQuadraticAssignment.Algorithms\3.3\HeuristicLab.Problems.GeneralizedQuadraticAssignment.Algorithms.3.3.csproj", "{53AB48BF-532F-417D-B98B-745105BB447A}"
     9EndProject
     10Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.GeneralizedQuadraticAssignment.Common-3.3", "HeuristicLab.Problems.GeneralizedQuadraticAssignment.Common\3.3\HeuristicLab.Problems.GeneralizedQuadraticAssignment.Common-3.3.csproj", "{DA367BE5-4F53-4243-933B-32AAB86189D5}"
     11EndProject
    812Global
    913  GlobalSection(SolutionConfigurationPlatforms) = preSolution
    1014    Debug|Any CPU = Debug|Any CPU
     15    Debug|x64 = Debug|x64
     16    Debug|x86 = Debug|x86
    1117    Release|Any CPU = Release|Any CPU
     18    Release|x64 = Release|x64
     19    Release|x86 = Release|x86
    1220  EndGlobalSection
    1321  GlobalSection(ProjectConfigurationPlatforms) = postSolution
    1422    {C739E6D2-5680-4804-A810-8017DA0C238F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    1523    {C739E6D2-5680-4804-A810-8017DA0C238F}.Debug|Any CPU.Build.0 = Debug|Any CPU
     24    {C739E6D2-5680-4804-A810-8017DA0C238F}.Debug|x64.ActiveCfg = Debug|Any CPU
     25    {C739E6D2-5680-4804-A810-8017DA0C238F}.Debug|x86.ActiveCfg = Debug|Any CPU
    1626    {C739E6D2-5680-4804-A810-8017DA0C238F}.Release|Any CPU.ActiveCfg = Release|Any CPU
    1727    {C739E6D2-5680-4804-A810-8017DA0C238F}.Release|Any CPU.Build.0 = Release|Any CPU
     28    {C739E6D2-5680-4804-A810-8017DA0C238F}.Release|x64.ActiveCfg = Release|Any CPU
     29    {C739E6D2-5680-4804-A810-8017DA0C238F}.Release|x86.ActiveCfg = Release|Any CPU
    1830    {BFAAC00C-B884-458D-BD74-98C94BFAFA41}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    1931    {BFAAC00C-B884-458D-BD74-98C94BFAFA41}.Debug|Any CPU.Build.0 = Debug|Any CPU
     32    {BFAAC00C-B884-458D-BD74-98C94BFAFA41}.Debug|x64.ActiveCfg = Debug|Any CPU
     33    {BFAAC00C-B884-458D-BD74-98C94BFAFA41}.Debug|x86.ActiveCfg = Debug|Any CPU
    2034    {BFAAC00C-B884-458D-BD74-98C94BFAFA41}.Release|Any CPU.ActiveCfg = Release|Any CPU
    2135    {BFAAC00C-B884-458D-BD74-98C94BFAFA41}.Release|Any CPU.Build.0 = Release|Any CPU
     36    {BFAAC00C-B884-458D-BD74-98C94BFAFA41}.Release|x64.ActiveCfg = Release|Any CPU
     37    {BFAAC00C-B884-458D-BD74-98C94BFAFA41}.Release|x86.ActiveCfg = Release|Any CPU
     38    {53AB48BF-532F-417D-B98B-745105BB447A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
     39    {53AB48BF-532F-417D-B98B-745105BB447A}.Debug|Any CPU.Build.0 = Debug|Any CPU
     40    {53AB48BF-532F-417D-B98B-745105BB447A}.Debug|x64.ActiveCfg = Debug|Any CPU
     41    {53AB48BF-532F-417D-B98B-745105BB447A}.Debug|x86.ActiveCfg = Debug|Any CPU
     42    {53AB48BF-532F-417D-B98B-745105BB447A}.Release|Any CPU.ActiveCfg = Release|Any CPU
     43    {53AB48BF-532F-417D-B98B-745105BB447A}.Release|Any CPU.Build.0 = Release|Any CPU
     44    {53AB48BF-532F-417D-B98B-745105BB447A}.Release|x64.ActiveCfg = Release|Any CPU
     45    {53AB48BF-532F-417D-B98B-745105BB447A}.Release|x86.ActiveCfg = Release|Any CPU
     46    {DA367BE5-4F53-4243-933B-32AAB86189D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
     47    {DA367BE5-4F53-4243-933B-32AAB86189D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
     48    {DA367BE5-4F53-4243-933B-32AAB86189D5}.Debug|x64.ActiveCfg = Debug|Any CPU
     49    {DA367BE5-4F53-4243-933B-32AAB86189D5}.Debug|x86.ActiveCfg = Debug|Any CPU
     50    {DA367BE5-4F53-4243-933B-32AAB86189D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
     51    {DA367BE5-4F53-4243-933B-32AAB86189D5}.Release|Any CPU.Build.0 = Release|Any CPU
     52    {DA367BE5-4F53-4243-933B-32AAB86189D5}.Release|x64.ActiveCfg = Release|Any CPU
     53    {DA367BE5-4F53-4243-933B-32AAB86189D5}.Release|x86.ActiveCfg = Release|Any CPU
    2254  EndGlobalSection
    2355  GlobalSection(SolutionProperties) = preSolution
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment.Algorithms/3.3/GRASPWithPathRelinking.cs

    r7345 r7363  
    2929using HeuristicLab.Parameters;
    3030using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     31using HeuristicLab.PluginInfrastructure;
     32using HeuristicLab.Problems.GeneralizedQuadraticAssignment.Common;
    3133using HeuristicLab.Random;
    3234
    3335namespace HeuristicLab.Problems.GeneralizedQuadraticAssignment.Algorithms {
    3436  /// <summary>
    35   /// A genetic algorithm.
     37  /// The algorithm combines the Greedy Randomized Adaptive Search Procedure (GRASP) with Path Relinking and is described in Mateus, G., Resende, M., and Silva, R. 2011. GRASP with path-relinking for the generalized quadratic assignment problem. Journal of Heuristics 17, Springer Netherlands, pp. 527-565.
    3638  /// </summary>
    3739  [Item("GRASP+PR", "The algorithm combines the Greedy Randomized Adaptive Search Procedure (GRASP) with Path Relinking and is described in Mateus, G., Resende, M., and Silva, R. 2011. GRASP with path-relinking for the generalized quadratic assignment problem. Journal of Heuristics 17, Springer Netherlands, pp. 527-565.")]
     
    5961      get { return (IValueParameter<MultiAnalyzer>)Parameters["Analyzer"]; }
    6062    }
    61     private IValueParameter<IntValue> EliteSetSizeParameter {
    62       get { return (IValueParameter<IntValue>)Parameters["EliteSetSize"]; }
    63     }
    64     private IValueParameter<IntValue> LocalImprovementMaximumIterationsParameter {
    65       get { return (IValueParameter<IntValue>)Parameters["LocalImprovementMaximumIterations"]; }
     63    private IFixedValueParameter<IntValue> EliteSetSizeParameter {
     64      get { return (IFixedValueParameter<IntValue>)Parameters["EliteSetSize"]; }
     65    }
     66    private IFixedValueParameter<IntValue> LocalImprovementMaximumIterationsParameter {
     67      get { return (IFixedValueParameter<IntValue>)Parameters["LocalImprovementMaximumIterations"]; }
    6668    }
    6769    private ConstrainedValueParameter<ILocalImprovementOperator> LocalImprovementParameter {
     
    7476      get { return (ConstrainedValueParameter<ICrossover>)Parameters["PathRelinking"]; }
    7577    }
    76     public ConstrainedValueParameter<IReplacer> EliteSetReplacerParameter {
    77       get { return (ConstrainedValueParameter<IReplacer>)Parameters["EliteSetReplacer"]; }
     78    public ConstrainedValueParameter<IMerger> EliteSetReplacerParameter {
     79      get { return (ConstrainedValueParameter<IMerger>)Parameters["EliteSetMerger"]; }
    7880    }
    7981    #endregion
     
    9496    public IntValue EliteSetSize {
    9597      get { return EliteSetSizeParameter.Value; }
    96       set { EliteSetSizeParameter.Value = value; }
     98      set { EliteSetSizeParameter.Value.Value = value.Value; }
    9799    }
    98100    public IntValue LocalImprovementMaximumIterations {
    99101      get { return LocalImprovementMaximumIterationsParameter.Value; }
    100       set { LocalImprovementMaximumIterationsParameter.Value = value; }
     102      set { LocalImprovementMaximumIterationsParameter.Value.Value = value.Value; }
    101103    }
    102104
     
    110112    private GRASPWithPathRelinking(GRASPWithPathRelinking original, Cloner cloner)
    111113      : base(original, cloner) {
    112       // TODO: clone your private fields here
    113114      RegisterEventHandlers();
    114115    }
     
    118119      Parameters.Add(new ValueParameter<IntValue>("Seed", "The random seed used to initialize the new pseudo random number generator."));
    119120      Parameters.Add(new ValueParameter<MultiAnalyzer>("Analyzer", "The operator used to analyze each iteration.", new MultiAnalyzer()));
    120       Parameters.Add(new ValueParameter<IntValue>("EliteSetSize", "The elite set stores the best found solutions.", new IntValue(10)));
    121       Parameters.Add(new ValueParameter<IntValue>("LocalImprovementMaximumIterations", "The maximum number of iterations performed by the local improvement operator.", new IntValue(100)));
    122       Parameters.Add(new ConstrainedValueParameter<ILocalImprovementOperator>("LocalImprovement", "Performs a local search on the solution.", null));
     121      Parameters.Add(new FixedValueParameter<IntValue>("EliteSetSize", "The elite set stores the best found solutions.", new IntValue(10)));
     122      Parameters.Add(new FixedValueParameter<IntValue>("LocalImprovementMaximumIterations", "The maximum number of iterations performed by the local improvement operator.", new IntValue(100)));
     123      Parameters.Add(new ConstrainedValueParameter<ILocalImprovementOperator>("LocalImprovement", "Performs a local search on the solution."));
    123124      Parameters.Add(new FixedValueParameter<IntValue>("MinimumEliteSetSize", "(ρ) The minimum amount of elites for performing path relinking.", new IntValue(1)));
    124125      Parameters.Add(new ConstrainedValueParameter<ICrossover>("PathRelinking", "The operator that performs the path relinking."));
    125       Parameters.Add(new ConstrainedValueParameter<IReplacer>("EliteSetReplacer", "The operator that replaces solutions in the elite set."));
     126      Parameters.Add(new ConstrainedValueParameter<IMerger>("EliteSetMerger", "The operator that merges new solutions into the elite set."));
    126127
    127128      RandomCreator randomCreator = new RandomCreator();
     
    151152    #region Events
    152153    protected override void OnProblemChanged() {
    153       // TODO: Initialize and parameterize operators
    154154      InitializeOperators();
    155155      base.OnProblemChanged();
     
    157157
    158158    protected override void Problem_SolutionCreatorChanged(object sender, EventArgs e) {
    159       // TODO: Parameterize operators
     159      Parameterize();
    160160      base.Problem_SolutionCreatorChanged(sender, e);
    161161    }
    162162    protected override void Problem_EvaluatorChanged(object sender, EventArgs e) {
    163       // TODO: Parameterize operators
     163      Parameterize();
    164164      base.Problem_EvaluatorChanged(sender, e);
    165165    }
    166166    protected override void Problem_OperatorsChanged(object sender, EventArgs e) {
    167       // TODO: Parameterize operators
    168167      InitializeOperators();
    169168      base.Problem_OperatorsChanged(sender, e);
     
    176175      if (Problem != null) {
    177176      }
     177      RegisterEventHandlers();
    178178    }
    179179
     
    190190          Analyzer.Operators.Add(analyzer);
    191191        }
    192 
    193         string oldLocalImprovement = String.Empty;
    194         if (LocalImprovementParameter.Value != null)
    195           oldLocalImprovement = LocalImprovementParameter.Value.Name;
     192        InitializeFromInstallation(LocalImprovementParameter, x => x.ProblemType.IsAssignableFrom(Problem.GetType()));
     193        InitializeFromProblem(PathRelinkingParameter);
     194        InitializeFromProblem(EliteSetReplacerParameter);
     195      } else {
    196196        LocalImprovementParameter.ValidValues.Clear();
    197         foreach (ILocalImprovementOperator localImprovement in Problem.Operators.OfType<ILocalImprovementOperator>()) {
    198           LocalImprovementParameter.ValidValues.Add(localImprovement);
    199         }
    200         var newLocalImprovement = LocalImprovementParameter.ValidValues.FirstOrDefault(x => x.Name == oldLocalImprovement);
    201         if (newLocalImprovement != null) LocalImprovementParameter.Value = newLocalImprovement;
    202 
    203         string oldPathRelinking = String.Empty;
    204         if (PathRelinkingParameter.Value != null)
    205           oldPathRelinking = PathRelinkingParameter.Value.Name;
    206197        PathRelinkingParameter.ValidValues.Clear();
    207         foreach (ICrossover pathRelinking in Problem.Operators.OfType<ICrossover>()) {
    208           PathRelinkingParameter.ValidValues.Add(pathRelinking);
    209         }
    210         var newPathRelinking = PathRelinkingParameter.ValidValues.FirstOrDefault(x => x.Name == oldPathRelinking);
    211         if (newPathRelinking != null) PathRelinkingParameter.Value = newPathRelinking;
    212 
    213         string oldReplacer = String.Empty;
    214         if (EliteSetReplacerParameter.Value != null)
    215           oldReplacer = EliteSetReplacerParameter.Value.Name;
    216198        EliteSetReplacerParameter.ValidValues.Clear();
    217         foreach (IReplacer replacer in Problem.Operators.OfType<IReplacer>()) {
    218           EliteSetReplacerParameter.ValidValues.Add(replacer);
    219         }
    220         var newReplacer = EliteSetReplacerParameter.ValidValues.FirstOrDefault(x => x.Name == oldReplacer);
    221         if (newReplacer != null) EliteSetReplacerParameter.Value = newReplacer;
    222199      }
    223200
     
    234211      }
    235212    }
     213
     214    private void InitializeFromProblem<T>(ConstrainedValueParameter<T> parameter) where T : class, INamedItem {
     215      InitializeFromProblem(parameter, x => true);
     216    }
     217    private void InitializeFromProblem<T>(ConstrainedValueParameter<T> parameter, Func<T, bool> condition) where T : class, INamedItem {
     218      if (parameter == null) throw new ArgumentNullException("parameter");
     219      if (condition == null) throw new ArgumentNullException("condition");
     220      string oldName = String.Empty;
     221      if (parameter.Value != null) oldName = parameter.Value.Name;
     222      parameter.ValidValues.Clear();
     223      foreach (var item in Problem.Operators.OfType<T>().Where(condition)) {
     224        parameter.ValidValues.Add(item);
     225      }
     226      var newItem = parameter.ValidValues.FirstOrDefault(x => x.Name == oldName);
     227      if (newItem != null) parameter.Value = newItem;
     228    }
     229    private void InitializeFromInstallation<T>(ConstrainedValueParameter<T> parameter) where T : class, INamedItem {
     230      InitializeFromInstallation(parameter, x => true);
     231    }
     232    private void InitializeFromInstallation<T>(ConstrainedValueParameter<T> parameter, Func<T, bool> condition) where T : class, INamedItem {
     233      if (parameter == null) throw new ArgumentNullException("parameter");
     234      if (condition == null) throw new ArgumentNullException("condition");
     235      string oldName = String.Empty;
     236      if (parameter.Value != null) oldName = parameter.Value.Name;
     237      parameter.ValidValues.Clear();
     238      foreach (var item in ApplicationManager.Manager.GetInstances<T>().Where(condition)) {
     239        parameter.ValidValues.Add(item);
     240      }
     241      var newItem = parameter.ValidValues.FirstOrDefault(x => x.Name == oldName);
     242      if (newItem != null) parameter.Value = newItem;
     243    }
    236244    #endregion
    237245  }
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment.Algorithms/3.3/GRASPWithPathRelinkingMainLoop.cs

    r7345 r7363  
    3030using HeuristicLab.Parameters;
    3131using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     32using HeuristicLab.Problems.GeneralizedQuadraticAssignment.Common;
    3233using HeuristicLab.Selection;
    3334
     
    8889
    8990      var variableCreator2 = new VariableCreator();
    90       variableCreator2.CollectedValues.Add(new ValueParameter<IntValue>("ActualEliteSetSize", new IntValue(0));
     91      variableCreator2.CollectedValues.Add(new ValueParameter<IntValue>("ActualEliteSetSize", new IntValue(0)));
    9192      variableCreator2.Name = "ActualEliteSetSize = 0";
    9293
     
    112113      var selector2 = new RandomSelector();
    113114      selector2.NumberOfSelectedSubScopesParameter.Value = new IntValue(0);
    114      
     115
    115116      var ssp1 = new SubScopesProcessor();
    116117
     
    121122      solutionsCreator.SolutionCreatorParameter.ActualName = SolutionCreatorParameter.Name;
    122123      solutionsCreator.NumberOfSolutions = new IntValue(1);
    123      
     124
    124125      var subScopesCounter2 = new SubScopesCounter();
    125126      subScopesCounter2.Name = "Count subscopes";
     
    147148      var childrenCreator = new ChildrenCreator();
    148149      childrenCreator.ParentsPerChild = new IntValue(2);
    149      
     150
    150151      var placeholder2 = new Placeholder();
    151152      placeholder2.Name = "(PathRelinking)";
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment.Algorithms/3.3/HeuristicLab.Problems.GeneralizedQuadraticAssignment.Algorithms.3.3.csproj

    r7345 r7363  
    3838  </PropertyGroup>
    3939  <ItemGroup>
     40    <Reference Include="HeuristicLab.Analysis-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
     41    <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
     42    <Reference Include="HeuristicLab.Common-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
     43    <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
     44    <Reference Include="HeuristicLab.Data-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
     45    <Reference Include="HeuristicLab.Operators-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
     46    <Reference Include="HeuristicLab.Optimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
     47    <Reference Include="HeuristicLab.Optimization.Operators-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
     48    <Reference Include="HeuristicLab.Parameters-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
     49    <Reference Include="HeuristicLab.Persistence-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
    4050    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
    4151      <HintPath>C:\Program Files\HeuristicLab 3.3\PluginInfrastructure-3.3.dll</HintPath>
    4252    </Reference>
     53    <Reference Include="HeuristicLab.Random-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
     54    <Reference Include="HeuristicLab.Selection-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
    4355    <Reference Include="System" />
    4456    <Reference Include="System.Core" />
     
    4759  <ItemGroup>
    4860    <None Include="Plugin.cs.frame" />
     61    <Compile Include="GRASPWithPathRelinking.cs" />
     62    <Compile Include="GRASPWithPathRelinkingMainLoop.cs" />
    4963    <Compile Include="Plugin.cs" />
    5064    <Compile Include="Properties\AssemblyInfo.cs" />
     
    5367  <ItemGroup>
    5468    <None Include="HeuristicLab.snk" />
     69  </ItemGroup>
     70  <ItemGroup>
     71    <ProjectReference Include="..\..\HeuristicLab.Problems.GeneralizedQuadraticAssignment.Common\3.3\HeuristicLab.Problems.GeneralizedQuadraticAssignment.Common-3.3.csproj">
     72      <Project>{DA367BE5-4F53-4243-933B-32AAB86189D5}</Project>
     73      <Name>HeuristicLab.Problems.GeneralizedQuadraticAssignment.Common-3.3</Name>
     74    </ProjectReference>
    5575  </ItemGroup>
    5676  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment.Algorithms/3.3/Plugin.cs.frame

    r7345 r7363  
    2525  [Plugin("HeuristicLab.Problems.GeneralizedQuadraticAssignment.Algorithms", "3.3.6.$WCREV$")]
    2626  [PluginFile("HeuristicLab.Problems.GeneralizedQuadraticAssignment.Algorithms-3.3.dll", PluginFileType.Assembly)]
     27  [PluginDependency("HeuristicLab.Analysis", "3.3")]
     28  [PluginDependency("HeuristicLab.Collections", "3.3")]
     29  [PluginDependency("HeuristicLab.Common", "3.3")]
     30  [PluginDependency("HeuristicLab.Core", "3.3")]
     31  [PluginDependency("HeuristicLab.Data", "3.3")]
     32  [PluginDependency("HeuristicLab.Operators", "3.3")]
     33  [PluginDependency("HeuristicLab.Optimization", "3.3")]
     34  [PluginDependency("HeuristicLab.Optimization.Operators", "3.3")]
     35  [PluginDependency("HeuristicLab.Parameters", "3.3")]
     36  [PluginDependency("HeuristicLab.Persistence", "3.3")]
     37  [PluginDependency("HeuristicLab.Problems.GeneralizedQuadraticAssignment.Common", "3.3")]
    2738  public class HeuristicLabProblemsGeneralizedQuadraticAssignmentAlgorithmsPlugin : PluginBase {
    2839  }
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment.Views/3.3/Plugin.cs.frame

    r7345 r7363  
    2525  [Plugin("HeuristicLab.Problems.GeneralizedQuadraticAssignment.Views", "3.3.6.$WCREV$")]
    2626  [PluginFile("HeuristicLab.Problems.GeneralizedQuadraticAssignment.Views-3.3.dll", PluginFileType.Assembly)]
    27   [PluginDependency("HeuristicLab.Collections", "3.3")]
    2827  [PluginDependency("HeuristicLab.Common", "3.3")]
    2928  [PluginDependency("HeuristicLab.Common.Resources", "3.3")]
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/HeuristicLab.Problems.GeneralizedQuadraticAssignment-3.3.csproj

    r7319 r7363  
    114114    <None Include="HeuristicLab.snk" />
    115115  </ItemGroup>
     116  <ItemGroup>
     117    <ProjectReference Include="..\..\HeuristicLab.Problems.GeneralizedQuadraticAssignment.Common\3.3\HeuristicLab.Problems.GeneralizedQuadraticAssignment.Common-3.3.csproj">
     118      <Project>{DA367BE5-4F53-4243-933B-32AAB86189D5}</Project>
     119      <Name>HeuristicLab.Problems.GeneralizedQuadraticAssignment.Common-3.3</Name>
     120    </ProjectReference>
     121  </ItemGroup>
    116122  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    117123  <PropertyGroup>
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/Interfaces/IGQAPManipulator.cs

    r7319 r7363  
    2222using HeuristicLab.Core;
    2323using HeuristicLab.Encodings.IntegerVectorEncoding;
     24using HeuristicLab.Optimization;
    2425
    2526namespace HeuristicLab.Problems.GeneralizedQuadraticAssignment {
    26   public interface IGQAPManipulator : IGQAPOperator {
     27  public interface IGQAPManipulator : IGQAPOperator, IManipulator {
    2728    ILookupParameter<IRandom> RandomParameter { get; }
    2829    ILookupParameter<IntegerVector> IntegerVectorParameter { get; }
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/Plugin.cs.frame

    r7345 r7363  
    3535  [PluginDependency("HeuristicLab.Parameters", "3.3")]
    3636  [PluginDependency("HeuristicLab.Persistence", "3.3")]
     37  [PluginDependency("HeuristicLab.Problems.GeneralizedQuadraticAssignment.Common", "3.3")]
    3738  public class HeuristicLabProblemsGeneralizedQuadraticAssignmentPlugin : PluginBase {
    3839  }
Note: See TracChangeset for help on using the changeset viewer.