Changeset 12969 for branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding
- Timestamp:
- 09/25/15 14:39:59 (9 years ago)
- Location:
- branches/gteufl
- Files:
-
- 49 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/gteufl
- Property svn:ignore
-
old new 8 8 FxCopResults.txt 9 9 Google.ProtocolBuffers-0.9.1.dll 10 Google.ProtocolBuffers-2.4.1.473.dll 10 11 HeuristicLab 3.3.5.1.ReSharper.user 11 12 HeuristicLab 3.3.6.0.ReSharper.user 12 13 HeuristicLab.4.5.resharper.user 13 14 HeuristicLab.ExtLibs.6.0.ReSharper.user 15 HeuristicLab.Scripting.Development 14 16 HeuristicLab.resharper.user 15 17 ProtoGen.exe … … 17 19 _ReSharper.HeuristicLab 18 20 _ReSharper.HeuristicLab 3.3 21 _ReSharper.HeuristicLab 3.3 Tests 19 22 _ReSharper.HeuristicLab.ExtLibs 20 23 bin 21 24 protoc.exe 22 _ReSharper.HeuristicLab 3.3 Tests 23 Google.ProtocolBuffers-2.4.1.473.dll 25 obj
-
- Property svn:mergeinfo changed
-
Property
svn:global-ignores
set to
*.nuget
packages
- Property svn:ignore
-
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/HeuristicLab.Encodings.ScheduleEncoding-3.3.csproj
r8887 r12969 11 11 <RootNamespace>HeuristicLab.Encodings.ScheduleEncoding</RootNamespace> 12 12 <AssemblyName>HeuristicLab.Encodings.ScheduleEncoding-3.3</AssemblyName> 13 <TargetFrameworkVersion>v4. 0</TargetFrameworkVersion>13 <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> 14 14 <FileAlignment>512</FileAlignment> 15 <TargetFrameworkProfile /> 15 16 </PropertyGroup> 16 17 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> … … 22 23 <ErrorReport>prompt</ErrorReport> 23 24 <WarningLevel>4</WarningLevel> 25 <Prefer32Bit>false</Prefer32Bit> 24 26 </PropertyGroup> 25 27 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> … … 30 32 <ErrorReport>prompt</ErrorReport> 31 33 <WarningLevel>4</WarningLevel> 34 <Prefer32Bit>false</Prefer32Bit> 32 35 </PropertyGroup> 33 36 <PropertyGroup> … … 52 55 <CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories> 53 56 <CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules> 57 <Prefer32Bit>false</Prefer32Bit> 54 58 </PropertyGroup> 55 59 <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> … … 69 73 <CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules> 70 74 <CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules> 75 <Prefer32Bit>false</Prefer32Bit> 71 76 </PropertyGroup> 72 77 <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> … … 85 90 <CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories> 86 91 <CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules> 92 <Prefer32Bit>false</Prefer32Bit> 87 93 </PropertyGroup> 88 94 <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'"> … … 102 108 <CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules> 103 109 <CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules> 110 <Prefer32Bit>false</Prefer32Bit> 104 111 </PropertyGroup> 105 112 <ItemGroup> -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IDirectScheduleOperator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IJSMOperator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IPRVOperator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IPWROperator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleCreator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleCrossover.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleEncoding.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleManipulator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/Interfaces/IScheduleOperator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Crossovers/JSMCrossover.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 40 40 public abstract JSMEncoding Cross(IRandom random, JSMEncoding parent1, JSMEncoding parent2); 41 41 42 public override IOperation Apply() {42 public override IOperation InstrumentedApply() { 43 43 var parents = ParentsParameter.ActualValue; 44 44 … … 46 46 Cross(RandomParameter.ActualValue, parents[0] as JSMEncoding, parents[1] as JSMEncoding); 47 47 48 return base. Apply();48 return base.InstrumentedApply(); 49 49 } 50 50 } -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Crossovers/JSMJOXCrossover.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Crossovers/JSMOXCrossover.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Crossovers/JSMSXXCrossover.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/JSMEncoding.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 20 20 #endregion 21 21 22 using System; 22 23 using System.Text; 23 24 using HeuristicLab.Common; … … 53 54 54 55 foreach (Permutation p in JobSequenceMatrix) { 55 sb.Append (p.ToString() + " \n");56 sb.AppendLine(p.ToString()); 56 57 } 57 58 … … 59 60 return sb.ToString(); 60 61 } 61 62 63 public override bool Equals(object obj) {64 if (obj.GetType() == typeof(JSMEncoding))65 return AreEqual(this, obj as JSMEncoding);66 67 return false;68 }69 public override int GetHashCode() {70 if (JobSequenceMatrix.Count == 1)71 return JobSequenceMatrix[0].GetHashCode();72 if (JobSequenceMatrix.Count == 2)73 return JobSequenceMatrix[0].GetHashCode() ^ JobSequenceMatrix[1].GetHashCode();74 return 0;75 }76 private static bool AreEqual(JSMEncoding jSMEncoding1, JSMEncoding jSMEncoding2) {77 if (jSMEncoding1.JobSequenceMatrix.Count != jSMEncoding2.JobSequenceMatrix.Count)78 return false;79 for (int i = 0; i < jSMEncoding1.JobSequenceMatrix.Count; i++) {80 if (!AreEqual(jSMEncoding1.JobSequenceMatrix[i], jSMEncoding2.JobSequenceMatrix[i]))81 return false;82 }83 return true;84 }85 86 private static bool AreEqual(Permutation p1, Permutation p2) {87 if (p1.Length != p2.Length)88 return false;89 for (int i = 0; i < p1.Length; i++) {90 if (p1[i] != p2[i])91 return false;92 }93 return true;94 }95 62 } 96 63 } -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/JSMRandomCreator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Manipulators/JSMManipulator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 39 39 protected abstract void Manipulate(IRandom random, IScheduleEncoding individual); 40 40 41 public override IOperation Apply() {41 public override IOperation InstrumentedApply() { 42 42 var solution = ScheduleEncodingParameter.ActualValue as JSMEncoding; 43 43 if (solution == null) throw new InvalidOperationException("ScheduleEncoding was not found or is not of type JSMEncoding."); 44 44 Manipulate(RandomParameter.ActualValue, solution); 45 return base. Apply();45 return base.InstrumentedApply(); 46 46 } 47 47 -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Manipulators/JSMShiftChangeManipulator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Manipulators/JSMSwapManipulator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/Crossovers/PWRCrossover.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 40 40 public abstract PWREncoding Cross(IRandom random, PWREncoding parent1, PWREncoding parent2); 41 41 42 public override IOperation Apply() {42 public override IOperation InstrumentedApply() { 43 43 var parents = ParentsParameter.ActualValue; 44 44 … … 46 46 Cross(RandomParameter.ActualValue, parents[0] as PWREncoding, parents[1] as PWREncoding); 47 47 48 return base. Apply();48 return base.InstrumentedApply(); 49 49 } 50 50 } -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/Crossovers/PWRGOXCrossover.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/Crossovers/PWRPPXCrossover.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/Manipulators/PWRInsertionManipulator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/Manipulators/PWRManipulator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 40 40 protected abstract void Manipulate(IRandom random, PWREncoding individual); 41 41 42 public override IOperation Apply() {42 public override IOperation InstrumentedApply() { 43 43 var solution = ScheduleEncodingParameter.ActualValue as PWREncoding; 44 44 if (solution == null) throw new InvalidOperationException("ScheduleEncoding was not found or is not of type PWREncoding."); 45 45 Manipulate(RandomParameter.ActualValue, solution); 46 return base. Apply();46 return base.InstrumentedApply(); 47 47 } 48 48 -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/PWREncoding.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 75 75 return sb.ToString(); 76 76 } 77 78 public override bool Equals(object obj) {79 if (obj.GetType() == typeof(PWREncoding))80 return AreEqual(this, obj as PWREncoding);81 else82 return base.Equals(obj);83 }84 85 public override int GetHashCode() {86 if (PermutationWithRepetition.Length == 1)87 return PermutationWithRepetition[0].GetHashCode();88 if (PermutationWithRepetition.Length == 2)89 return PermutationWithRepetition[0].GetHashCode() ^ PermutationWithRepetition[1].GetHashCode();90 return 0;91 }92 93 private bool AreEqual(PWREncoding pWREncoding1, PWREncoding pWREncoding2) {94 if (pWREncoding1.PermutationWithRepetition.Length != pWREncoding2.PermutationWithRepetition.Length)95 return false;96 for (int i = 0; i < pWREncoding1.PermutationWithRepetition.Length; i++) {97 if (pWREncoding1.PermutationWithRepetition[i] != pWREncoding2.PermutationWithRepetition[i])98 return false;99 }100 return true;101 }102 77 } 103 78 } -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/PWRRandomCreator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/Plugin.cs.frame
r10037 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 23 23 24 24 namespace HeuristicLab.Encodings.ScheduleEncoding { 25 [Plugin("HeuristicLab.Encodings.ScheduleEncoding", "3.3. 9.$WCREV$")]25 [Plugin("HeuristicLab.Encodings.ScheduleEncoding", "3.3.12.$WCREV$")] 26 26 [PluginFile("HeuristicLab.Encodings.ScheduleEncoding-3.3.dll", PluginFileType.Assembly)] 27 27 [PluginDependency("HeuristicLab.Collections", "3.3")] -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/PriorityRulesVector/Crossovers/PRVCrossover.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 40 40 public abstract PRVEncoding Cross(IRandom random, PRVEncoding parent1, PRVEncoding parent2); 41 41 42 public override IOperation Apply() {42 public override IOperation InstrumentedApply() { 43 43 var parents = ParentsParameter.ActualValue; 44 44 ChildParameter.ActualValue = 45 45 Cross(RandomParameter.ActualValue, parents[0] as PRVEncoding, parents[1] as PRVEncoding); 46 return base. Apply();46 return base.InstrumentedApply(); 47 47 } 48 48 } -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/PriorityRulesVector/Crossovers/PRVDiscreteCrossover.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/PriorityRulesVector/Crossovers/PRVSinglePointCrossover.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/PriorityRulesVector/Manipulators/PRVManipulator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 39 39 protected abstract void Manipulate(IRandom random, PRVEncoding individual); 40 40 41 public override IOperation Apply() {41 public override IOperation InstrumentedApply() { 42 42 var solution = ScheduleEncodingParameter.ActualValue as PRVEncoding; 43 43 if (solution == null) throw new InvalidOperationException("ScheduleEncoding was not found or is not of type PRVEncoding."); 44 44 Manipulate(RandomParameter.ActualValue, solution); 45 return base. Apply();45 return base.InstrumentedApply(); 46 46 } 47 47 -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/PriorityRulesVector/Manipulators/PRVUniformOnePositionManipulator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/PriorityRulesVector/PRVEncoding.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 74 74 75 75 foreach (int i in PriorityRulesVector) { 76 sb.Append(i .ToString()+ " ");76 sb.Append(i + " "); 77 77 } 78 78 -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/PriorityRulesVector/PRVRandomCreator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/Properties/AssemblyInfo.cs.frame
r10037 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 32 32 [assembly: AssemblyCompany("")] 33 33 [assembly: AssemblyProduct("HeuristicLab")] 34 [assembly: AssemblyCopyright("(c) 2002-201 3HEAL")]34 [assembly: AssemblyCopyright("(c) 2002-2015 HEAL")] 35 35 [assembly: AssemblyTrademark("")] 36 36 [assembly: AssemblyCulture("")] … … 55 55 // [assembly: AssemblyVersion("1.0.*")] 56 56 [assembly: AssemblyVersion("3.3.0.0")] 57 [assembly: AssemblyFileVersion("3.3. 9.$WCREV$")]57 [assembly: AssemblyFileVersion("3.3.12.$WCREV$")] -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleCreator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 29 29 [Item("ScheduleCreator", "Represents the generalized form of creators for Scheduling Problems.")] 30 30 [StorableClass] 31 public abstract class ScheduleCreator : SingleSuccessorOperator, IScheduleCreator {31 public abstract class ScheduleCreator : InstrumentedOperator, IScheduleCreator { 32 32 33 33 public ILookupParameter<IScheduleEncoding> ScheduleEncodingParameter { … … 43 43 } 44 44 45 public override IOperation Apply() {45 public override IOperation InstrumentedApply() { 46 46 ScheduleEncodingParameter.ActualValue = CreateSolution(); 47 return base. Apply();47 return base.InstrumentedApply(); 48 48 } 49 49 -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleCrossover.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 30 30 [Item("ScheduleCrossover", "A scheduling crossover operation.")] 31 31 [StorableClass] 32 public abstract class ScheduleCrossover : SingleSuccessorOperator, IScheduleCrossover, IStochasticOperator {32 public abstract class ScheduleCrossover : InstrumentedOperator, IScheduleCrossover, IStochasticOperator { 33 33 34 34 public ILookupParameter<IScheduleEncoding> ChildParameter { -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleEncoding/Crossovers/DirectScheduleCrossover.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 45 45 public abstract Schedule Cross(IRandom random, Schedule parent1, Schedule parent2); 46 46 47 public override IOperation Apply() {47 public override IOperation InstrumentedApply() { 48 48 var parents = ParentsParameter.ActualValue; 49 49 ChildParameter.ActualValue = 50 50 Cross(RandomParameter.ActualValue, parents[0] as Schedule, parents[1] as Schedule); 51 return base. Apply();51 return base.InstrumentedApply(); 52 52 } 53 53 } -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleEncoding/Crossovers/DirectScheduleGTCrossover.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleEncoding/DirectScheduleRandomCreator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleEncoding/GTAlgorithmUtils.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleEncoding/Job.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 20 20 #endregion 21 21 22 using System; 22 23 using System.ComponentModel; 23 24 using System.Text; 25 using HeuristicLab.Collections; 24 26 using HeuristicLab.Common; 25 27 using HeuristicLab.Core; … … 38 40 bool changed = dueDate != value; 39 41 dueDate = value; 40 if (changed) OnPropertyChanged("DueDate"); 42 if (changed) { 43 OnPropertyChanged("DueDate"); 44 OnToStringChanged(); 45 } 41 46 } 42 47 } … … 49 54 bool changed = index != value; 50 55 index = value; 51 if (changed) OnPropertyChanged("Index"); 56 if (changed) { 57 OnPropertyChanged("Index"); 58 OnToStringChanged(); 59 } 52 60 } 53 61 } … … 68 76 protected Job(Job original, Cloner cloner) 69 77 : base(original, cloner) { 70 this.DueDate = original.DueDate; 71 this.Index = original.Index; 72 this.Tasks = cloner.Clone(original.Tasks); 78 this.dueDate = original.DueDate; 79 this.index = original.Index; 80 this.tasks = cloner.Clone(original.Tasks); 81 RegisterEventHandlers(); 73 82 } 74 83 public Job() : this(-1, double.MaxValue) { } 75 84 public Job(int index, double dueDate) 76 85 : base() { 77 DueDate = dueDate; 78 Index = index; 79 Tasks = new ItemList<Task>(); 86 this.dueDate = dueDate; 87 this.index = index; 88 this.tasks = new ItemList<Task>(); 89 RegisterEventHandlers(); 80 90 } 81 91 … … 84 94 } 85 95 96 [StorableHook(HookType.AfterDeserialization)] 97 private void AfterDeserialization() { 98 RegisterEventHandlers(); 99 } 100 101 private void RegisterEventHandlers() { 102 Tasks.ItemsAdded += TasksOnItemsChanged; 103 Tasks.ItemsRemoved += TasksOnItemsRemoved; 104 Tasks.ItemsReplaced += TasksOnItemsChanged; 105 Tasks.CollectionReset += TasksOnItemsChanged; 106 foreach (var task in Tasks) { 107 task.PropertyChanged += TaskOnPropertyChanged; 108 task.ToStringChanged += TaskOnToStringChanged; 109 } 110 } 111 112 private void TasksOnItemsChanged(object sender, CollectionItemsChangedEventArgs<IndexedItem<Task>> e) { 113 foreach (var task in e.OldItems) { 114 task.Value.PropertyChanged -= TaskOnPropertyChanged; 115 task.Value.ToStringChanged -= TaskOnToStringChanged; 116 } 117 foreach (var task in e.Items) { 118 task.Value.PropertyChanged += TaskOnPropertyChanged; 119 task.Value.ToStringChanged += TaskOnToStringChanged; 120 } 121 OnTasksChanged(); 122 OnToStringChanged(); 123 } 124 125 private void TasksOnItemsRemoved(object sender, CollectionItemsChangedEventArgs<IndexedItem<Task>> e) { 126 foreach (var task in e.Items) { 127 task.Value.PropertyChanged -= TaskOnPropertyChanged; 128 task.Value.ToStringChanged -= TaskOnToStringChanged; 129 } 130 OnTasksChanged(); 131 OnToStringChanged(); 132 } 133 134 private void TaskOnPropertyChanged(object sender, EventArgs e) { 135 OnTasksChanged(); 136 } 137 138 private void TaskOnToStringChanged(object sender, EventArgs e) { 139 OnToStringChanged(); 140 } 141 86 142 public override string ToString() { 87 143 var sb = new StringBuilder(); 88 144 sb.Append("Job#" + Index + " [ "); 89 145 foreach (Task t in Tasks) { 90 sb.Append(t .ToString()+ " ");146 sb.Append(t + " "); 91 147 } 92 148 sb.Append("{" + DueDate + "} "); … … 100 156 } 101 157 158 public event EventHandler TasksChanged; 159 protected virtual void OnTasksChanged() { 160 var handler = TasksChanged; 161 if (handler != null) handler(this, EventArgs.Empty); 162 } 163 102 164 public event PropertyChangedEventHandler PropertyChanged; 103 165 protected virtual void OnPropertyChanged(string propertyName) { -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleEncoding/Manipulators/DirectScheduleManipulator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 40 40 protected abstract void Manipulate(IRandom random, Schedule individual); 41 41 42 public override IOperation Apply() {42 public override IOperation InstrumentedApply() { 43 43 var schedule = ScheduleEncodingParameter.ActualValue as Schedule; 44 44 if (schedule == null) throw new InvalidOperationException("ScheduleEncoding was not found or is not of type Schedule."); 45 45 Manipulate(RandomParameter.ActualValue, schedule); 46 return base. Apply();46 return base.InstrumentedApply(); 47 47 } 48 48 -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleEncoding/Resource.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 73 73 sb.Append("Resource#" + Index + " [ "); 74 74 foreach (ScheduledTask t in Tasks) { 75 sb.Append(t .ToString()+ " ");75 sb.Append(t+ " "); 76 76 } 77 77 sb.Append("]"); 78 78 return sb.ToString(); 79 79 } 80 81 82 public override bool Equals(object obj) {83 if (obj.GetType() == typeof(Resource))84 return AreEqual(this, obj as Resource);85 else86 return false;87 }88 89 public override int GetHashCode() {90 if (Tasks.Count == 1)91 return Tasks[0].GetHashCode();92 if (Tasks.Count == 2)93 return Tasks[0].GetHashCode() ^ Tasks[1].GetHashCode();94 return 0;95 }96 97 private static bool AreEqual(Resource res1, Resource res2) {98 if (res1.Tasks.Count != res2.Tasks.Count)99 return false;100 for (int i = 0; i < res1.Tasks.Count; i++) {101 if (!res1.Tasks[i].Equals(res2.Tasks[i]))102 return false;103 }104 105 return true;106 }107 80 } 108 81 } -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleEncoding/Schedule.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 149 149 sb.Append("[ "); 150 150 foreach (Resource r in Resources) { 151 sb.Append (r.ToString() + " \n");151 sb.AppendLine(r.ToString()); 152 152 } 153 153 sb.Append("]"); … … 164 164 return quality; 165 165 } 166 167 public override bool Equals(object obj) {168 if (obj.GetType() == typeof(Schedule))169 return AreEqual(this, obj as Schedule);170 else171 return false;172 }173 public override int GetHashCode() {174 if (Resources.Count == 1)175 return Resources[0].GetHashCode();176 if (Resources.Count == 2)177 return Resources[0].GetHashCode() ^ Resources[1].GetHashCode();178 return 0;179 }180 181 private static bool AreEqual(Schedule schedule1, Schedule schedule2) {182 if (schedule1.Resources.Count != schedule2.Resources.Count)183 return false;184 for (int i = 0; i < schedule1.Resources.Count; i++) {185 if (!schedule1.Resources[i].Equals(schedule2.Resources[i]))186 return false;187 }188 189 return true;190 }191 192 166 } 193 167 } -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleEncoding/ScheduledTask.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 75 75 return sb.ToString(); 76 76 } 77 78 public override bool Equals(object obj) {79 if (obj.GetType() == typeof(ScheduledTask))80 return AreEqual(this, obj as ScheduledTask);81 else82 return false;83 }84 85 public override int GetHashCode() {86 return TaskNr ^ JobNr;87 }88 89 public static bool AreEqual(ScheduledTask task1, ScheduledTask task2) {90 return (91 task1.TaskNr == task2.TaskNr &&92 task1.Duration == task2.Duration &&93 task1.JobNr == task2.JobNr &&94 task1.ResourceNr == task2.ResourceNr &&95 task1.StartTime == task2.StartTime &&96 task1.EndTime == task2.EndTime);97 }98 77 } 99 78 } -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleEncoding/Task.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 38 38 bool changed = taskNr != value; 39 39 taskNr = value; 40 if (changed) OnPropertyChanged("TaskNr"); 40 if (changed) { 41 OnPropertyChanged("TaskNr"); 42 OnToStringChanged(); 43 } 41 44 } 42 45 } … … 48 51 bool changed = resourceNr != value; 49 52 resourceNr = value; 50 if (changed) OnPropertyChanged("ResourceNr"); 53 if (changed) { 54 OnPropertyChanged("ResourceNr"); 55 OnToStringChanged(); 56 } 51 57 } 52 58 } … … 89 95 protected Task(Task original, Cloner cloner) 90 96 : base(original, cloner) { 91 this. ResourceNr = original.ResourceNr;92 this. JobNr = original.JobNr;93 this. Duration = original.Duration;94 this. TaskNr = original.TaskNr;95 this. IsScheduled = original.IsScheduled;97 this.resourceNr = original.ResourceNr; 98 this.jobNr = original.JobNr; 99 this.duration = original.Duration; 100 this.taskNr = original.TaskNr; 101 this.isScheduled = original.IsScheduled; 96 102 } 97 103 public Task() : this(-1, -1, -1, 0) { } 98 104 public Task(int taskNr, int resNr, int jobNr, double duration) 99 105 : base() { 100 Duration = duration;101 ResourceNr = resNr;102 JobNr = jobNr;103 TaskNr = taskNr;104 IsScheduled = false;106 this.duration = duration; 107 this.resourceNr = resNr; 108 this.jobNr = jobNr; 109 this.taskNr = taskNr; 110 this.isScheduled = false; 105 111 } 106 112 … … 115 121 } 116 122 117 public override bool Equals(object obj) {118 if (obj.GetType() == typeof(Task))119 return AreEqual(this, obj as Task);120 else121 return false;122 }123 124 public override int GetHashCode() {125 return TaskNr ^ JobNr;126 }127 128 public static bool AreEqual(Task task1, Task task2) {129 return (task1.Duration == task2.Duration &&130 task1.IsScheduled == task2.IsScheduled &&131 task1.JobNr == task2.JobNr &&132 task1.ResourceNr == task2.ResourceNr &&133 task1.TaskNr == task2.TaskNr);134 }135 136 123 public event PropertyChangedEventHandler PropertyChanged; 137 124 protected virtual void OnPropertyChanged(string propertyName) { -
branches/gteufl/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleManipulator.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 30 30 [Item("ScheduleManipulator", "A scheduling manipulation operation.")] 31 31 [StorableClass] 32 public abstract class ScheduleManipulator : SingleSuccessorOperator, IScheduleManipulator, IStochasticOperator {32 public abstract class ScheduleManipulator : InstrumentedOperator, IScheduleManipulator, IStochasticOperator { 33 33 34 34 public ILookupParameter<IScheduleEncoding> ScheduleEncodingParameter {
Note: See TracChangeset
for help on using the changeset viewer.