Changeset 14128 for branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Encodings/PackingSequence/PackingSequenceRandomCreator.cs
- Timestamp:
- 07/20/16 14:02:36 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Encodings/PackingSequence/PackingSequenceRandomCreator.cs
r14064 r14128 33 33 [Item("PackingSequenceCreator", "Creator class used to create PackingSequence solutions for bin packing problems.")] 34 34 [StorableClass] 35 public class PackingSequenceRandomCreator : PackingSolutionCreator, I StochasticOperator {35 public class PackingSequenceRandomCreator : PackingSolutionCreator, IPackingSequenceCreator, IStochasticOperator { 36 36 37 37 public ILookupParameter<IRandom> RandomParameter { 38 38 get { return (LookupParameter<IRandom>)Parameters["Random"]; } 39 39 } 40 public I ValueLookupParameter<IntValue>PackingItemsParameter {41 get { return (I ValueLookupParameter<IntValue>)Parameters["PackingItems"]; }40 public ILookupParameter<IntValue> NumberOfPackingItemsParameter { 41 get { return (ILookupParameter<IntValue>)Parameters["NumberOfItems"]; } 42 42 } 43 43 44 public ILookupParameter<P ackingSequence> SolutionParameter {45 get { return (ILookupParameter<P ackingSequence>)Parameters["PackingItems"]; }44 public ILookupParameter<Permutation> SolutionParameter { 45 get { return (ILookupParameter<Permutation>)Parameters["PackingSequence"]; } 46 46 } 47 47 … … 58 58 : base() { 59 59 Parameters.Add(new LookupParameter<IRandom>("Random", "The pseudo random number generator.")); 60 Parameters.Add(new ValueLookupParameter<IntValue>("PackingItems", "The number of packing-items handled in this problem instance.")); 61 Parameters.Add(new LookupParameter<PackingSequence>("PackingSequence")); 62 63 SolutionParameter.ActualName = "PackingSequence"; 60 Parameters.Add(new ValueLookupParameter<IntValue>("NumberOfPackingItems", "The number of packing-items handled in this problem instance.")); 61 Parameters.Add(new LookupParameter<Permutation>("PackingSequence", "The randomly created solution candidate.")); 64 62 } 65 63 66 64 public override IOperation Apply() { 67 Apply( PackingItemsParameter.ActualValue.Value, RandomParameter.ActualValue);65 Apply(NumberOfPackingItemsParameter.ActualValue.Value, RandomParameter.ActualValue); 68 66 return base.Apply(); 69 67 } 70 68 71 public static PackingSequenceEncoding Apply(int items, IRandom random) { 72 var solution = new PackingSequenceEncoding(); 73 solution.PackingSequence = new Permutation(PermutationTypes.Absolute, items, random); 74 return solution; 69 public static Permutation Apply(int items, IRandom random) { 70 return new Permutation(PermutationTypes.Absolute, items, random); 75 71 } 76 72 protected override IItem CreateSolution() { 77 return Apply( PackingItemsParameter.ActualValue.Value, RandomParameter.ActualValue);73 return Apply(NumberOfPackingItemsParameter.ActualValue.Value, RandomParameter.ActualValue); 78 74 } 79 75 }
Note: See TracChangeset
for help on using the changeset viewer.