- Timestamp:
- 12/15/10 23:41:33 (14 years ago)
- Location:
- branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3
- Files:
-
- 15 added
- 5 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/HeuristicLab.Problems.MetaOptimization-3.3.csproj
r5110 r5111 130 130 <ItemGroup> 131 131 <Compile Include="Analyzers\BestParameterConfigurationAnalyzer.cs" /> 132 <None Include="ClassDiagram1.cd" />133 132 <None Include="Properties\AssemblyInfo.cs.frame" /> 134 133 <None Include="HeuristicLabProblemsMetaOptimizationPlugin.cs.frame" /> 135 134 <Compile Include="ConstrainedItemList.cs" /> 136 <Compile Include="Encodings\NullValue.cs" /> 137 <Compile Include="Encodings\ValueConfigurations\NullValueConfiguration.cs" /> 138 <Compile Include="Encodings\RangeConstraints\ConstrainedValue.cs"> 135 <Compile Include="Encoding\NullValue.cs" /> 136 <Compile Include="Encoding\RangeConstraints\PercentValueRange.cs"> 139 137 <SubType>Code</SubType> 140 138 </Compile> 141 <Compile Include="Encodings\RangeConstraints\PercentValueRange.cs" /> 142 <Compile Include="Encodings\RangeConstraints\DoubleValueRange.cs" /> 143 <Compile Include="Encodings\RangeConstraints\IntValueRange.cs" /> 144 <Compile Include="Encodings\ParameterConfigurationTree.cs" /> 145 <Compile Include="Encodings\ValueConfigurations\ValueConfiguration.cs" /> 146 <Compile Include="Encodings\ValueConfigurations\CheckedValueConfigurationCollection.cs" /> 139 <Compile Include="Encoding\ValueConfigurations\NullValueConfiguration.cs" /> 140 <Compile Include="Encoding\RangeConstraints\ConstrainedValue.cs"> 141 <SubType>Code</SubType> 142 </Compile> 143 <Compile Include="Encoding\RangeConstraints\DoubleValueRange.cs" /> 144 <Compile Include="Encoding\RangeConstraints\IntValueRange.cs" /> 145 <Compile Include="Encoding\ParameterConfigurationTree.cs" /> 146 <Compile Include="Encoding\ValueConfigurations\ValueConfiguration.cs" /> 147 <Compile Include="Encoding\ValueConfigurations\CheckedValueConfigurationCollection.cs" /> 147 148 <Compile Include="Interfaces\ICheckedValueConfigurationCollection.cs" /> 149 <Compile Include="Operators\Crossovers\DiscreteIntValueCrossover.cs" /> 150 <Compile Include="Operators\Interfaces\IDoubleValueCrossover.cs" /> 151 <Compile Include="Operators\Interfaces\IDoubleValueManipulator.cs" /> 152 <Compile Include="Operators\Interfaces\IIntValueManipulator.cs" /> 148 153 <Compile Include="Interfaces\IOptimizable.cs" /> 149 154 <Compile Include="Interfaces\IParameterConfigurationCreator.cs" /> 150 155 <Compile Include="Creators\RandomParameterConfigurationCreator.cs" /> 151 <Compile Include="Encoding s\Crossovers\ParameterConfigurationCrossover.cs" />156 <Compile Include="Encoding\Crossovers\ParameterConfigurationCrossover.cs" /> 152 157 <Compile Include="Interfaces\IParameterConfigurationOperator.cs" /> 153 158 <Compile Include="Interfaces\IRange.cs" /> 154 <Compile Include="Evaluators\ MetaOptimizationEvaluator.cs" />155 <Compile Include="Interfaces\I MetaOptimizationEvaluator.cs" />159 <Compile Include="Evaluators\ParameterConfigurationEvaluator.cs" /> 160 <Compile Include="Interfaces\IParameterConfigurationEvaluator.cs" /> 156 161 <Compile Include="Interfaces\IParameterConfiguration.cs" /> 157 <Compile Include="Encoding s\ParameterConfigurations\ParameterConfiguration.cs" />162 <Compile Include="Encoding\ParameterConfigurations\ParameterConfiguration.cs" /> 158 163 <Compile Include="Interfaces\IValueConfiguration.cs" /> 159 <Compile Include="Encoding s\RangeConstraints\Range.cs" />164 <Compile Include="Encoding\RangeConstraints\Range.cs" /> 160 165 <Compile Include="Interfaces\IParameterConfigurationManipulator.cs" /> 161 <Compile Include="Manipulators\ParameterConfigurationManipulator.cs" /> 166 <Compile Include="Encoding\Manipulators\ParameterConfigurationManipulator.cs" /> 167 <Compile Include="Operators\Interfaces\IIntValueCrossover.cs" /> 168 <Compile Include="Operators\Interfaces\IValueManipulator.cs" /> 169 <Compile Include="Operators\Manipulators\UniformIntValueManipulator.cs" /> 170 <Compile Include="Operators\Manipulators\UniformDoubleValueManipulator.cs" /> 171 <Compile Include="Operators\Manipulators\NormalDoubleValueManipulator.cs" /> 162 172 <Compile Include="Properties\AssemblyInfo.cs" /> 163 173 <Compile Include="MetaOptimizationProblem.cs" /> -
branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Interfaces/IOptimizable.cs
r5023 r5111 7 7 8 8 namespace HeuristicLab.Problems.MetaOptimization { 9 public delegate void MutateDelegate(IRandom random, IOptimizable configuartion, ParameterConfigurationManipulator pcmanip); 10 public delegate void CrossDelegate(IRandom random, IOptimizable configuartion, ParameterConfigurationCrossover pccross); 11 9 12 public interface IOptimizable : IItem { 10 13 bool IsOptimizable { get; } 11 14 bool Optimize { get; set; } 12 15 ConstrainedValue ActualValue { get; set; } 13 16 14 17 void Randomize(IRandom random); 15 void Mutate(IRandom random );16 void Cross(I Optimizable other, IRandom random);18 void Mutate(IRandom random, MutateDelegate mutate, ParameterConfigurationManipulator pcmanip); 19 void Cross(IRandom random, IOptimizable other, CrossDelegate cross, ParameterConfigurationCrossover pccross); 17 20 18 21 event EventHandler IsOptimizableChanged; -
branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Interfaces/IParameterConfiguration.cs
r5009 r5111 11 11 ICheckedValueConfigurationCollection ValueConfigurations { get; } 12 12 IItemSet<IItem> ValidValues { get; } 13 int ActualValueConfigurationIndex { get; set; } 13 14 14 15 void Parameterize(IValueParameter parameter); -
branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Interfaces/IParameterConfigurationManipulator.cs
r5009 r5111 8 8 namespace HeuristicLab.Problems.MetaOptimization { 9 9 public interface IParameterConfigurationManipulator : IParameterConfigurationOperator, IManipulator { 10 I LookupParameter<ParameterConfigurationTree> ParameterConfigurationTreeParameter { get; }10 IValueLookupParameter<ParameterConfigurationTree> ParameterConfigurationTreeParameter { get; } 11 11 } 12 12 } -
branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/MetaOptimizationProblem.cs
r5110 r5111 36 36 [Creatable("Problems")] 37 37 [StorableClass] 38 public sealed class MetaOptimizationProblem : SingleObjectiveProblem<I MetaOptimizationEvaluator, IParameterConfigurationCreator> {38 public sealed class MetaOptimizationProblem : SingleObjectiveProblem<IParameterConfigurationEvaluator, IParameterConfigurationCreator> { 39 39 public const string AlgorithmTypeParameterName = "AlgorithmType"; 40 40 public const string ProblemTypeParameterName = "ProblemType"; … … 42 42 public const string ParameterConfigurationParameterName = "InitialParameterConfigurationTree"; 43 43 public const string RepetitionsParameterName = "Repetitions"; 44 45 public const string IntValueManipulatorParameterName = "IntValueManipulator"; 46 public const string DoubleValueManipulatorParameterName = "DoubleValueManipulator"; 47 public const string IntValueCrossoverParameterName = "IntValueCrossover"; 48 public const string DoubleValueCrossoverParameterName = "DoubleValueCrossover"; 44 49 45 50 #region Parameter Properties … … 58 63 public IValueParameter<IntValue> RepetitionsParameter { 59 64 get { return (ValueParameter<IntValue>)Parameters[RepetitionsParameterName]; } 65 } 66 67 public IValueParameter<IIntValueManipulator> IntValueManipulatorParameter { 68 get { return (ValueParameter<IIntValueManipulator>)Parameters[IntValueManipulatorParameterName]; } 69 } 70 71 public IValueParameter<IDoubleValueManipulator> DoubleValueManipulatorParameter { 72 get { return (ValueParameter<IDoubleValueManipulator>)Parameters[DoubleValueManipulatorParameterName]; } 60 73 } 61 74 #endregion … … 91 104 Parameters.Add(new ValueParameter<IntValue>(RepetitionsParameterName, "The number of evaluations for each problem.", new IntValue(3))); 92 105 106 var validIntManipulators = new ItemSet<IIntValueManipulator>( ApplicationManager.Manager.GetInstances<IIntValueManipulator>()); 107 var validDoubleManipulators = new ItemSet<IDoubleValueManipulator>(ApplicationManager.Manager.GetInstances<IDoubleValueManipulator>()); 108 Parameters.Add(new ConstrainedValueParameter<IIntValueManipulator>(IntValueManipulatorParameterName, "", validIntManipulators, new UniformIntValueManipulator())); 109 Parameters.Add(new ConstrainedValueParameter<IDoubleValueManipulator>(DoubleValueManipulatorParameterName, "", validDoubleManipulators, new NormalDoubleValueManipulator())); 110 111 93 112 Maximization = new BoolValue(false); 94 113 SolutionCreator = new RandomParameterConfigurationCreator(); 95 Evaluator = new MetaOptimizationEvaluator();114 Evaluator = new ParameterConfigurationEvaluator(); 96 115 97 116 InitializeOperators(); … … 136 155 } 137 156 private void ParameterizeEvaluator() { 138 (( MetaOptimizationEvaluator)Evaluator).ParameterConfigurationParameter.ActualName = ((RandomParameterConfigurationCreator)SolutionCreator).ParameterConfigurationParameter.ActualName;157 ((ParameterConfigurationEvaluator)Evaluator).ParameterConfigurationParameter.ActualName = ((RandomParameterConfigurationCreator)SolutionCreator).ParameterConfigurationParameter.ActualName; 139 158 } 140 159 private void ParameterizeAnalyzer() {
Note: See TracChangeset
for help on using the changeset viewer.