Changeset 5381 for trunk/sources/HeuristicLab.Problems.TestFunctions
- Timestamp:
- 01/26/11 18:39:49 (14 years ago)
- Location:
- trunk/sources/HeuristicLab.Problems.TestFunctions/3.3
- Files:
-
- 2 deleted
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/HeuristicLab.Problems.TestFunctions-3.3.csproj
r5163 r5381 12 12 <AssemblyName>HeuristicLab.Problems.TestFunctions-3.3</AssemblyName> 13 13 <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> 14 <TargetFrameworkProfile></TargetFrameworkProfile> 14 <TargetFrameworkProfile> 15 </TargetFrameworkProfile> 15 16 <FileAlignment>512</FileAlignment> 16 17 <SignAssembly>true</SignAssembly> … … 128 129 <Compile Include="Evaluators\ZakharovEvaluator.cs" /> 129 130 <Compile Include="HeuristicLabProblemsTestFunctionsPlugin.cs" /> 130 <Compile Include="Interfaces\IRealVectorPSODecoder.cs" />131 131 <Compile Include="Interfaces\IBestSingleObjectiveTestFunctionSolutionAnalyzer.cs" /> 132 132 <Compile Include="Interfaces\IRastriginMoveEvaluator.cs" /> 133 <Compile Include="Interfaces\IRealVectorPSOEncoder.cs" />134 133 <Compile Include="Interfaces\ISingleObjectiveTestFunctionAdditiveMoveEvaluator.cs" /> 135 134 <Compile Include="Interfaces\ISingleObjectiveTestFunctionMoveEvaluator.cs" /> -
trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/RealVectorToRealVectorEncoder.cs
r4722 r5381 20 20 #endregion 21 21 22 using System; 22 23 using HeuristicLab.Common; 23 24 using HeuristicLab.Core; 24 using HeuristicLab.Data;25 using HeuristicLab.Encodings.RealVectorEncoding;26 25 using HeuristicLab.Operators; 27 using HeuristicLab.Parameters;28 26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 29 27 30 28 namespace HeuristicLab.Problems.TestFunctions { 31 public class RealVectorToRealVectorEncoder : SingleSuccessorOperator, IRealVectorPSOEncoder, IRealVectorOperator { 32 #region Parameters 33 34 public IParameter OriginalRealVectorParameter { 35 get { return (IParameter)Parameters["OriginalRealVector"]; } 36 } 37 38 public IParameter RealVectorParameter { 39 get { return (IParameter)Parameters["RealVector"]; } 40 } 41 42 public ILookupParameter<IntValue> LengthParameter { 43 get { return (ILookupParameter<IntValue>)Parameters["Length"]; } 44 } 45 46 public IValueLookupParameter<DoubleMatrix> BoundsParameter { 47 get { return (IValueLookupParameter<DoubleMatrix>)Parameters["Bounds"]; } 48 } 49 50 protected ScopeParameter CurrentScopeParameter { 51 get { return (ScopeParameter)Parameters["CurrentScope"]; } 52 } 53 #endregion 54 55 public IScope CurrentScope { 56 get { return CurrentScopeParameter.ActualValue; } 57 } 29 // BackwardsCompatibility3.3 30 #region Backwards compatible code (remove with 3.4) 31 [Obsolete("This operator should not be used anymore.")] 32 internal class RealVectorToRealVectorEncoder : SingleSuccessorOperator { 58 33 59 34 [StorableConstructor] … … 62 37 public RealVectorToRealVectorEncoder() 63 38 : base() { 64 Parameters.Add(new LookupParameter<RealVector>("OriginalRealVector", "The original real vector."));65 Parameters.Add(new LookupParameter<RealVector>("RealVector", "The resulting reference to the original real vector."));66 Parameters.Add(new LookupParameter<IntValue>("Length", "Vector length."));67 Parameters.Add(new ScopeParameter("CurrentScope", "The current scope bounds matrix should be cloned."));68 Parameters.Add(new ValueLookupParameter<DoubleMatrix>("Bounds", "The lower and upper bounds in each dimension."));69 39 } 70 40 … … 74 44 75 45 public override IOperation Apply() { 76 RealVectorParameter.ActualValue = OriginalRealVectorParameter.ActualValue;77 IItem value = (IItem)BoundsParameter.ActualValue.Clone();78 CurrentScope.Variables.Add(new Variable("ParticleBounds", BoundsParameter.Description, value == null ? null : (IItem)value.Clone()));79 46 return base.Apply(); 80 47 } … … 84 51 } 85 52 } 53 #endregion 86 54 } -
trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionProblem.cs
r5287 r5381 403 403 op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName; 404 404 } 405 foreach (IRealVectorPSOEncoder op in Operators.OfType<IRealVectorPSOEncoder>()) {406 ((ILookupParameter)op.OriginalRealVectorParameter).ActualName = SolutionCreator.RealVectorParameter.ActualName;407 op.BoundsParameter.Value = (DoubleMatrix)BoundsParameter.Value.Clone();408 op.BoundsParameter.ActualName = "ParticleBounds";409 }410 405 } 411 406 private void UpdateStrategyVectorBounds() { 412 407 DoubleMatrix strategyBounds = (DoubleMatrix)Bounds.Clone(); 413 for (int i = 0; i < strategyBounds.Rows; i++) 408 for (int i = 0; i < strategyBounds.Rows; i++) { 414 409 if (strategyBounds[i, 0] < 0) strategyBounds[i, 0] = 0; 410 strategyBounds[i, 1] = 0.1 * (Bounds[i, 1] - Bounds[i, 0]); 411 } 415 412 strategyVectorCreator.BoundsParameter.Value = strategyBounds; 416 413 }
Note: See TracChangeset
for help on using the changeset viewer.