Changeset 14927 for branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers
- Timestamp:
- 05/04/17 17:19:35 (8 years ago)
- Location:
- branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/CosaCrossover.cs
r14185 r14927 23 23 using HeuristicLab.Common; 24 24 using HeuristicLab.Core; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 27 27 namespace HeuristicLab.Encodings.PermutationEncoding { … … 36 36 /// </remarks> 37 37 [Item("CosaCrossover", "An operator which performs the crossover described in the COSA optimization method. It is implemented as described in Wendt, O. 1994. COSA: COoperative Simulated Annealing - Integration von Genetischen Algorithmen und Simulated Annealing am Beispiel der Tourenplanung. Dissertation Thesis. IWI Frankfurt.")] 38 [Storable Class]38 [StorableType("60e88e11-088d-46ba-a80b-1589248035d0")] 39 39 public class CosaCrossover : PermutationCrossover { 40 40 [StorableConstructor] -
branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/CyclicCrossover.cs
r14185 r14927 23 23 using HeuristicLab.Common; 24 24 using HeuristicLab.Core; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 27 27 namespace HeuristicLab.Encodings.PermutationEncoding { … … 33 33 /// </remarks> 34 34 [Item("CyclicCrossover", "An operator which performs the cyclic crossover on two permutations. It is implemented as described in Eiben, A.E. and Smith, J.E. 2003. Introduction to Evolutionary Computation. Natural Computing Series, Springer-Verlag Berlin Heidelberg.")] 35 [Storable Class]35 [StorableType("921f2ddb-2dec-46d8-a2ed-e2133f2d31a4")] 36 36 public class CyclicCrossover : PermutationCrossover { 37 37 [StorableConstructor] … … 75 75 invParent2[parent2[i]] = i; 76 76 } 77 } 78 catch (IndexOutOfRangeException) { 77 } catch (IndexOutOfRangeException) { 79 78 throw new InvalidOperationException("CyclicCrossover: The permutation must consist of numbers in the interval [0;N) with N = length of the permutation."); 80 79 } -
branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/CyclicCrossover2.cs
r14185 r14927 23 23 using HeuristicLab.Common; 24 24 using HeuristicLab.Core; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 27 27 namespace HeuristicLab.Encodings.PermutationEncoding { … … 34 34 /// </remarks> 35 35 [Item("CyclicCrossover2", "An operator which performs the cyclic crossover on two permutations. It is implemented as described in Affenzeller, M. et al. 2009. Genetic Algorithms and Genetic Programming - Modern Concepts and Practical Applications. CRC Press. p. 136.")] 36 [Storable Class]36 [StorableType("b8009de2-eec6-4427-bcba-205700e98b8d")] 37 37 public class CyclicCrossover2 : PermutationCrossover { 38 38 [StorableConstructor] -
branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/EdgeRecombinationCrossover.cs
r14185 r14927 23 23 using HeuristicLab.Common; 24 24 using HeuristicLab.Core; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 27 27 namespace HeuristicLab.Encodings.PermutationEncoding { … … 36 36 /// </remarks> 37 37 [Item("EdgeRecombinationCrossover", "An operator which performs the edge recombination crossover on two permutations. It is implemented as described in Whitley et.al. 1991, The Traveling Salesman and Sequence Scheduling, in Davis, L. (Ed.), Handbook of Genetic Algorithms, New York, pp. 350-372.")] 38 [Storable Class]38 [StorableType("dc173f35-359c-419b-a978-2f1b5bfa8b05")] 39 39 public class EdgeRecombinationCrossover : PermutationCrossover { 40 40 [StorableConstructor] -
branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/MaximalPreservativeCrossover.cs
r14185 r14927 23 23 using HeuristicLab.Common; 24 24 using HeuristicLab.Core; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 27 27 namespace HeuristicLab.Encodings.PermutationEncoding { … … 36 36 /// </remarks> 37 37 [Item("MaximalPreservativeCrossover", "An operator which performs the maximal preservative crossover on two permutations. It is implemented as described in Mühlenbein, H. 1991. Evolution in time and space - the parallel genetic algorithm. FOUNDATIONS OF GENETIC ALGORITHMS, pp. 316-337. Morgan Kaufmann.")] 38 [Storable Class]38 [StorableType("ba0a0a8b-d606-4d25-a5d1-73575e5faf3e")] 39 39 public class MaximalPreservativeCrossover : PermutationCrossover { 40 40 [StorableConstructor] … … 93 93 invParent2[parent2[i]] = i; 94 94 } 95 } 96 catch (IndexOutOfRangeException) { 95 } catch (IndexOutOfRangeException) { 97 96 throw new InvalidOperationException("MaximalPreservativeCrossover: The permutation must consist of numbers in the interval [0;N) with N = length of the permutation."); 98 97 } -
branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/MultiPermutationCrossover.cs
r14185 r14927 28 28 using HeuristicLab.Optimization; 29 29 using HeuristicLab.Parameters; 30 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;30 using HeuristicLab.Persistence; 31 31 using HeuristicLab.PluginInfrastructure; 32 32 33 33 namespace HeuristicLab.Encodings.PermutationEncoding { 34 34 [Item("MultiPermutationCrossover", "Randomly selects and applies one of its crossovers every time it is called.")] 35 [Storable Class]35 [StorableType("8e4117fd-bcd1-41bb-9db8-ec8a3c061097")] 36 36 public class MultiPermutationCrossover : StochasticMultiBranch<IPermutationCrossover>, IPermutationCrossover, IStochasticOperator { 37 37 public override bool CanChangeName { -
branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/OrderBasedCrossover.cs
r14185 r14927 23 23 using HeuristicLab.Common; 24 24 using HeuristicLab.Core; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 27 27 namespace HeuristicLab.Encodings.PermutationEncoding { … … 36 36 /// </remarks> 37 37 [Item("OrderBasedCrossover", "An operator which performs an order based crossover of two permutations. It is implemented as described in Syswerda, G. (1991). Schedule Optimization Using Genetic Algorithms. In Davis, L. (Ed.) Handbook of Genetic Algorithms, Van Nostrand Reinhold, New York, pp. 332-349.")] 38 [Storable Class]38 [StorableType("bade5d55-8d35-43bf-897d-2dbcef2697c5")] 39 39 public class OrderBasedCrossover : PermutationCrossover { 40 40 [StorableConstructor] -
branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/OrderCrossover.cs
r14185 r14927 23 23 using HeuristicLab.Common; 24 24 using HeuristicLab.Core; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 27 27 namespace HeuristicLab.Encodings.PermutationEncoding { … … 36 36 /// </remarks> 37 37 [Item("OrderCrossover", "An operator which performs an order crossover of two permutations. It is implemented as described in Eiben, A.E. and Smith, J.E. 2003. Introduction to Evolutionary Computation. Natural Computing Series, Springer-Verlag Berlin Heidelberg.")] 38 [Storable Class]38 [StorableType("f623874a-f886-4cce-82d1-af57904e5b6c")] 39 39 public class OrderCrossover : PermutationCrossover { 40 40 [StorableConstructor] … … 87 87 if (i >= length) i = 0; 88 88 } 89 } 90 catch (IndexOutOfRangeException) { 89 } catch (IndexOutOfRangeException) { 91 90 throw new InvalidOperationException("OrderCrossover: The permutation must consist of numbers in the interval [0;N) with N = length of the permutation."); 92 91 } -
branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/OrderCrossover2.cs
r14185 r14927 23 23 using HeuristicLab.Common; 24 24 using HeuristicLab.Core; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 27 27 namespace HeuristicLab.Encodings.PermutationEncoding { … … 35 35 /// </remarks> 36 36 [Item("OrderCrossover2", "An operator which performs an order crossover of two permutations. It is implemented as described in Affenzeller, M. et al. 2009. Genetic Algorithms and Genetic Programming - Modern Concepts and Practical Applications. CRC Press. p. 135.")] 37 [Storable Class]37 [StorableType("7289ff81-aa44-44f2-a87e-691b850fe7b3")] 38 38 public class OrderCrossover2 : PermutationCrossover { 39 39 [StorableConstructor] -
branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/PartiallyMatchedCrossover.cs
r14185 r14927 23 23 using HeuristicLab.Common; 24 24 using HeuristicLab.Core; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 27 27 namespace HeuristicLab.Encodings.PermutationEncoding { … … 35 35 /// </remarks> 36 36 [Item("PartiallyMatchedCrossover", "An operator which performs the partially matched crossover on two permutations. It is implemented as described in Fogel, D.B. 1988. An Evolutionary Approach to the Traveling Salesman Problem. Biological Cybernetics, 60, pp. 139-144, Springer-Verlag.")] 37 [Storable Class]37 [StorableType("44e020d0-720e-48bc-b394-acccf742944f")] 38 38 public class PartiallyMatchedCrossover : PermutationCrossover { 39 39 [StorableConstructor] … … 81 81 invResult[result[j]] = j; 82 82 } 83 } 84 catch (IndexOutOfRangeException) { 83 } catch (IndexOutOfRangeException) { 85 84 throw new InvalidOperationException("PartiallyMatchedCrossover: The permutation must consist of consecutive numbers from 0 to N-1 with N = length of the permutation."); 86 85 } -
branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/PositionBasedCrossover.cs
r14185 r14927 23 23 using HeuristicLab.Common; 24 24 using HeuristicLab.Core; 25 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;25 using HeuristicLab.Persistence; 26 26 27 27 namespace HeuristicLab.Encodings.PermutationEncoding { … … 33 33 /// </remarks> 34 34 [Item("PositionBasedCrossover", "An operator which performs the position based crossover on two permutations. It is implemented as described in Syswerda, G. (1991). Schedule Optimization Using Genetic Algorithms. In Davis, L. (Ed.) Handbook of Genetic Algorithms, Van Nostrand Reinhold, New York, pp 332-349.")] 35 [Storable Class]35 [StorableType("b20724af-91ac-4ece-9b52-485a0f4545ee")] 36 36 public class PositionBasedCrossover : PermutationCrossover { 37 37 [StorableConstructor] -
branches/PersistenceReintegration/HeuristicLab.Encodings.PermutationEncoding/3.3/Crossovers/UniformLikeCrossover.cs
r14185 r14927 24 24 using HeuristicLab.Common; 25 25 using HeuristicLab.Core; 26 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;26 using HeuristicLab.Persistence; 27 27 28 28 namespace HeuristicLab.Encodings.PermutationEncoding { 29 29 [Item("UniformLikeCrossover", "The ULX crossover tries to maintain the position in the permutation. It randomly chooses from left to right one of its parents' alleles at each position. Missing entries are then filled randomly later. It is described in Tate, D. M. and Smith, A. E. 1995. A genetic approach to the quadratic assignment problem. Computers & Operations Research, vol. 22, pp. 73-83.")] 30 [Storable Class]30 [StorableType("bf3dfe68-19b8-4a98-aecf-254cf72e5dc9")] 31 31 public sealed class UniformLikeCrossover : PermutationCrossover { 32 32 [StorableConstructor]
Note: See TracChangeset
for help on using the changeset viewer.