Changeset 3356


Ignore:
Timestamp:
04/15/10 17:16:57 (11 years ago)
Author:
abeham
Message:

updated IslandGeneticAlgorithm #971

Location:
trunk/sources
Files:
3 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/HeuristicLab.Algorithms.GeneticAlgorithm-3.3.csproj

    r3198 r3356  
    8585    <Compile Include="GeneticAlgorithmMainLoop.cs" />
    8686    <Compile Include="HeuristicLabAlgorithmsGeneticAlgorithmPlugin.cs" />
     87    <Compile Include="IslandGeneticAlgorithm.cs" />
     88    <Compile Include="IslandGeneticAlgorithmMainLoop.cs" />
    8789    <Compile Include="Properties\AssemblyInfo.cs" />
    8890  </ItemGroup>
  • trunk/sources/HeuristicLab.Algorithms.MultipopulationAlgorithm/3.3/HeuristicLab.Algorithms.MultipopulationAlgorithm-3.3.csproj

    r3345 r3356  
    8282    <None Include="HeuristicLabAlgorithmsMultipopulationAlgorithmPlugin.cs.frame" />
    8383    <Compile Include="HeuristicLabAlgorithmsMultipopulationAlgorithmPlugin.cs" />
     84    <Compile Include="MultipopulationAlgorithm.cs" />
    8485    <Compile Include="Properties\AssemblyInfo.cs" />
    8586    <None Include="Properties\AssemblyInfo.frame" />
     
    8990  </ItemGroup>
    9091  <ItemGroup>
     92    <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
     93      <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
     94      <Name>HeuristicLab.Collections-3.3</Name>
     95    </ProjectReference>
     96    <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
     97      <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
     98      <Name>HeuristicLab.Core-3.3</Name>
     99    </ProjectReference>
     100    <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">
     101      <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project>
     102      <Name>HeuristicLab.Data-3.3</Name>
     103    </ProjectReference>
     104    <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj">
     105      <Project>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</Project>
     106      <Name>HeuristicLab.Operators-3.3</Name>
     107    </ProjectReference>
     108    <ProjectReference Include="..\..\HeuristicLab.Optimization.Operators\3.3\HeuristicLab.Optimization.Operators-3.3.csproj">
     109      <Project>{25087811-F74C-4128-BC86-8324271DA13E}</Project>
     110      <Name>HeuristicLab.Optimization.Operators-3.3</Name>
     111    </ProjectReference>
     112    <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
     113      <Project>{14AB8D24-25BC-400C-A846-4627AA945192}</Project>
     114      <Name>HeuristicLab.Optimization-3.3</Name>
     115    </ProjectReference>
     116    <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj">
     117      <Project>{56F9106A-079F-4C61-92F6-86A84C2D84B7}</Project>
     118      <Name>HeuristicLab.Parameters-3.3</Name>
     119    </ProjectReference>
     120    <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
     121      <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project>
     122      <Name>HeuristicLab.Persistence-3.3</Name>
     123    </ProjectReference>
    91124    <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj">
    92125      <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
    93126      <Name>HeuristicLab.PluginInfrastructure</Name>
     127    </ProjectReference>
     128    <ProjectReference Include="..\..\HeuristicLab.Random\3.3\HeuristicLab.Random-3.3.csproj">
     129      <Project>{F4539FB6-4708-40C9-BE64-0A1390AEA197}</Project>
     130      <Name>HeuristicLab.Random-3.3</Name>
    94131    </ProjectReference>
    95132  </ItemGroup>
  • trunk/sources/HeuristicLab.Optimization.Operators/3.3/HeuristicLab.Optimization.Operators-3.3.csproj

    r3226 r3356  
    9393    <Compile Include="QualityComparator.cs" />
    9494    <Compile Include="SolutionsCreator.cs" />
     95    <Compile Include="UnidirectionalRingMigrator.cs" />
    9596  </ItemGroup>
    9697  <ItemGroup>
  • trunk/sources/HeuristicLab.Optimization.Operators/3.3/UnidirectionalRingMigrator.cs

    r1529 r3356  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
     
    2020#endregion
    2121
    22 using System;
    2322using System.Collections.Generic;
    24 using System.Text;
    2523using HeuristicLab.Core;
    26 using HeuristicLab.Data;
     24using HeuristicLab.Operators;
     25using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2726
    28 namespace HeuristicLab.Evolutionary {
     27namespace HeuristicLab.Optimization.Operators {
    2928  /// <summary>
    30   /// Operator class that migrates one sub scope of each child to its left neighbour sub scope, like a ring.
     29  /// Operator that migrates the selected sub scopes in each subscope in an unidirectional ring.
    3130  /// </summary>
    32   public class UnidirectionalRingMigrator : OperatorBase {
    33     /// <inheritdoc select="summary"/>
    34     public override string Description {
    35       get { return @"TODO\r\nOperator description still missing ..."; }
    36     }
    37 
     31  [Item("UnidirectionalRingMigrator", "Migrates the selected sub scopes in each subscope in an unidirectional ring.")]
     32  [StorableClass]
     33  public class UnidirectionalRingMigrator : SingleSuccessorOperator, IMigrator {
    3834    /// <summary>
    3935    /// Migrates every first sub scope of each child to its left neighbour (like a ring).
    4036    /// <pre>                                                               
    41     ///                    scope                    scope             
    42     ///                /     |     \            /     |     \         
    43     ///               A      B      C    =>    A      B      C           
    44     ///              /|\    /|\    /|\        /|\    /|\    /|\       
    45     ///             G H I  J K L  M N O      H I J  K L M  N O G     
     37    ///          __ scope __              __ scope __
     38    ///         /     |     \            /     |     \
     39    ///       Pop1   Pop2   Pop3  =>   Pop1   Pop2   Pop3
     40    ///       / \    / \    / \        / \    / \    / \
     41    ///      R   S  R   S  R   S      R   S  R   S  R   S
     42    ///     /|\  | /|\  | /|\  |     /|\  | /|\  | /|\  |
     43    ///     ABC  A DEF  D GHI  G     ABC  G DEF  A GHI  D
    4644    /// </pre>
    4745    /// </summary>
    48     /// <param name="scope">The scope whose sub scopes of the children should migrate.</param>
    49     /// <returns><c>null</c>.</returns>
    50     public override IOperation Apply(IScope scope) {
    51       IList<IScope> emigrantsList = new List<IScope>();
     46    /// <returns>The next operation.</returns>
     47    public override IOperation Apply() {
     48      IScope scope = ExecutionContext.Scope;
     49      List<IScope> emigrantsList = new List<IScope>();
    5250
    5351      for (int i = 0; i < scope.SubScopes.Count; i++) {
    5452        IScope emigrants = scope.SubScopes[i].SubScopes[1];
    55         scope.SubScopes[i].RemoveSubScope(emigrants);
     53        scope.SubScopes[i].SubScopes.Remove(emigrants);
    5654        emigrantsList.Add(emigrants);
    5755      }
     
    6260
    6361      for (int i = 0; i < scope.SubScopes.Count; i++)
    64         scope.SubScopes[i].AddSubScope(emigrantsList[i]);
     62        scope.SubScopes[i].SubScopes.Add(emigrantsList[i]);
    6563
    66       return null;
     64      return base.Apply();
    6765    }
    6866  }
  • trunk/sources/HeuristicLab.Optimization/3.3/HeuristicLab.Optimization-3.3.csproj

    r3336 r3356  
    8787    <Compile Include="Algorithm.cs" />
    8888    <Compile Include="BatchRun.cs" />
     89    <Compile Include="Interfaces\IMigrator.cs" />
    8990    <Compile Include="Interfaces\ISelfAdaptiveManipulator.cs" />
    9091    <Compile Include="Interfaces\IStrategyParameterCrossover.cs" />
Note: See TracChangeset for help on using the changeset viewer.