Changeset 15541
- Timestamp:
- 12/19/17 11:10:14 (7 years ago)
- Location:
- branches/2864_PermutationProblems
- Files:
-
- 66 added
- 6 deleted
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2864_PermutationProblems/HeuristicLab.Problems.Instances.PFSP/3.3/FSSPTAILIBInstanceProvider.cs
r15521 r15541 40 40 public override string Description 41 41 { 42 get { return "Permutation Flowshop scheduling problemsas defined by Taillard."; }42 get { return "Permutation Flowshop Scheduling Problems (PFSP) as defined by Taillard."; } 43 43 } 44 44 … … 112 112 public override bool CanExportData 113 113 { 114 get { return true; }114 get { return false; } 115 115 } 116 117 public override void ExportData(FSSPData instance, string path) 118 { 119 var parser = new FSSPTAILIBParser 120 { 121 Name = instance.Name, 122 Description = instance.Description, 123 Jobs = instance.Jobs, 124 Machines = instance.Machines, 125 ProcessingTimes = instance.ProcessingTimes, 126 }; 127 parser.Export(path); 128 } 129 116 130 117 private string GetDescription() 131 118 { -
branches/2864_PermutationProblems/HeuristicLab.Problems.Instances.PFSP/3.3/FSSPTAILIBParser.cs
r15521 r15541 67 67 } 68 68 } 69 70 /// <summary> 71 /// Reads from the given stream data which is expected to be in the JSSP ORLIB format. 72 /// </summary> 73 /// <remarks> 74 /// The stream is not closed or disposed. The caller has to take care of that. 75 /// </remarks> 76 /// <param name="stream">The stream to read data from.</param> 69 77 70 public void Parse(Stream stream) 78 71 { … … 111 104 } 112 105 } 113 114 /// <summary> 115 /// Writes to the given stream data which is expected to be in the JSSP ORLIB format. 116 /// </summary> 117 /// <remarks> 118 /// The stream is not closed or disposed. The caller has to take care of that. 119 /// </remarks> 120 /// <param name="stream">The stream to write data to.</param> 106 121 107 public void Export(Stream stream) 122 108 { 123 //TODO: complete Export, seems as if it is just a dummy (copy-paste)-implementation124 109 using (var writer = new StreamWriter(stream, Encoding.UTF8, 4092, true)) 125 110 { 126 111 writer.WriteLine(Name); 127 112 writer.WriteLine(Description); 128 writer.WriteLine(Jobs.ToString(CultureInfo.InvariantCulture.NumberFormat) + " " + Machines.ToString(CultureInfo.InvariantCulture.NumberFormat)); 129 for (int i = 0; i < Machines; i++) 113 writer.WriteLine(Jobs + '\t' + Machines); 114 writer.WriteLine(BestKnownQuality); 115 116 for (int k = 0; k < Machines; k++) 130 117 { 131 for (int j = 0; j < Jobs; j++)118 for (int i = 0; i < Jobs; i++) 132 119 { 133 writer.Write(ProcessingTimes[ i, j] + "");120 writer.Write(ProcessingTimes[k, i] + "\t"); 134 121 } 135 122 writer.WriteLine(); 123 } 124 125 if (BestKnownSchedule != null) { 126 writer.WriteLine(BestKnownSchedule); 136 127 } 137 128 writer.Flush(); 138 129 } 139 130 } 140 141 131 } 142 132 } -
branches/2864_PermutationProblems/HeuristicLab.Problems.Instances.PFSP/3.3/HeuristicLab.Problems.Instances.PFSP-3.3.csproj
r15521 r15541 18 18 <DebugType>full</DebugType> 19 19 <Optimize>false</Optimize> 20 <OutputPath>..\..\ bin\</OutputPath>20 <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath> 21 21 <DefineConstants>DEBUG;TRACE</DefineConstants> 22 22 <ErrorReport>prompt</ErrorReport> … … 38 38 </PropertyGroup> 39 39 <ItemGroup> 40 <Reference Include="HeuristicLab.Common-3.3"> 41 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath> 42 </Reference> 43 <Reference Include="HeuristicLab.PluginInfrastructure-3.3"> 44 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath> 45 </Reference> 40 46 <Reference Include="System" /> 41 47 <Reference Include="System.Core" /> … … 62 68 </ItemGroup> 63 69 <ItemGroup> 64 <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">65 <Project>{a9ad58b9-3ef9-4cc1-97e5-8d909039ff5c}</Project>66 <Name>HeuristicLab.Common-3.3</Name>67 </ProjectReference>68 <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">69 <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>70 <Name>HeuristicLab.PluginInfrastructure-3.3</Name>71 </ProjectReference>72 70 <ProjectReference Include="..\..\HeuristicLab.Problems.Instances\3.3\HeuristicLab.Problems.Instances-3.3.csproj"> 73 <Project>{3540 E29E-4793-49E7-8EE2-FEA7F61C3994}</Project>71 <Project>{3540e29e-4793-49e7-8ee2-fea7f61c3994}</Project> 74 72 <Name>HeuristicLab.Problems.Instances-3.3</Name> 75 73 </ProjectReference> -
branches/2864_PermutationProblems/HeuristicLab.Problems.Instances.PFSP/3.3/Properties/AssemblyInfo.cs
r15521 r15541 1 using System.Reflection; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 using System.Reflection; 2 23 using System.Runtime.CompilerServices; 3 24 using System.Runtime.InteropServices; … … 34 55 // [assembly: AssemblyVersion("1.0.*")] 35 56 [assembly: AssemblyVersion("3.3.0.0")] 36 [assembly: AssemblyFileVersion("3.3.14.1 4965")]57 [assembly: AssemblyFileVersion("3.3.14.15521")] -
branches/2864_PermutationProblems/HeuristicLab.Problems.LinearOrdering/3.3/Evaluators/LOPEvaluator.cs
r15521 r15541 36 36 public abstract class LOPEvaluator : InstrumentedOperator, ILOPEvaluator 37 37 { 38 public override bool CanChangeName { 38 public override bool CanChangeName 39 { 39 40 get { return false; } 40 41 } 41 42 42 public ILookupParameter<DoubleValue> QualityParameter { 43 public ILookupParameter<DoubleValue> QualityParameter 44 { 43 45 get { return (ILookupParameter<DoubleValue>)Parameters["Quality"]; } 44 46 } -
branches/2864_PermutationProblems/HeuristicLab.Problems.LinearOrdering/3.3/Evaluators/MatrixTriangulationEvaluator.cs
r15521 r15541 31 31 { 32 32 /// <summary> 33 /// A base class for operators which evaluate LOP solutions given in Matrix representation.33 /// A base class for operators which evaluates LOP solutions given in Matrix representation. 34 34 /// </summary> 35 35 [Item("MatrixTriangulationEvaluator", "A base class for operators which evaluate LOP solutions given in Matrix representation.")] … … 37 37 public abstract class MatrixTriangulationEvaluator : LOPEvaluator, IMatrixTriangulationEvaluator 38 38 { 39 private object locker = new object();40 41 39 public ILookupParameter<Permutation> PermutationParameter { get { return (ILookupParameter<Permutation>)Parameters["Permutation"]; } } 42 40 public ILookupParameter<DoubleMatrix> MatrixParameter { get { return (ILookupParameter<DoubleMatrix>)Parameters["Matrix"]; } } 43 41 public ILookupParameter<Permutation> BestKnownSolutionParameter { get { return (ILookupParameter<Permutation>)Parameters["BestKnownSolution"]; } } 44 42 public ILookupParameter<DoubleValue> BestKnownQualityParameter { get { return (ILookupParameter<DoubleValue>)Parameters["BestKnownQuality"]; } } 43 45 44 [StorableConstructor] 46 45 protected MatrixTriangulationEvaluator(bool deserializing) : base(deserializing) { } … … 49 48 : base() 50 49 { 51 Parameters.Add(new LookupParameter<Permutation>("Permutation", "The TSP solution given in path representation which should be evaluated."));50 Parameters.Add(new LookupParameter<Permutation>("Permutation", "The LOP solution given in path representation which should be evaluated.")); 52 51 Parameters.Add(new LookupParameter<DoubleMatrix>("Matrix", "The matrix which contains the distances between the cities.")); 53 52 Parameters.Add(new LookupParameter<Permutation>("BestKnownSolution", "The currently best known solution.")); … … 58 57 private void AfterDeserialization() 59 58 { 60 // BackwardsCompatibility3.3 61 #region Backwards compatible code (remove with 3.4) 62 LookupParameter<DoubleMatrix> oldDistanceMatrixParameter = Parameters["Matrix"] as LookupParameter<DoubleMatrix>; 63 if (oldDistanceMatrixParameter != null) 64 { 65 Parameters.Remove(oldDistanceMatrixParameter); 66 Parameters.Add(new LookupParameter<DoubleMatrix>("Matrix", "The matrix which contains the distances between the cities.")); 67 MatrixParameter.ActualName = oldDistanceMatrixParameter.ActualName; 68 } 69 #endregion 59 70 60 } 71 61 72 62 public static double Apply(MatrixTriangulationEvaluator evaluator, DoubleMatrix matrix, Permutation permut) 73 63 { 74 double length = evaluator.CalculateUpperTriangle(matrix, permut); 75 return length; 64 return evaluator.CalculateUpperTriangle(matrix, permut); 76 65 } 77 66 … … 80 69 Permutation p = PermutationParameter.ActualValue; 81 70 DoubleMatrix c = MatrixParameter.ActualValue; 82 if (c == null) throw new InvalidOperationException("No coordinates weregiven.");71 if (c == null) throw new InvalidOperationException("No matrix was given."); 83 72 84 73 double upperTriangle = CalculateUpperTriangle(c, p); -
branches/2864_PermutationProblems/HeuristicLab.Problems.LinearOrdering/3.3/HeuristicLab.Problems.LinearOrdering-3.3.csproj
r15521 r15541 18 18 <DebugType>full</DebugType> 19 19 <Optimize>false</Optimize> 20 <OutputPath>..\..\ bin\</OutputPath>20 <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath> 21 21 <DefineConstants>DEBUG;TRACE</DefineConstants> 22 22 <ErrorReport>prompt</ErrorReport> … … 38 38 </PropertyGroup> 39 39 <ItemGroup> 40 <Reference Include="HeuristicLab.Collections-3.3"> 41 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath> 42 </Reference> 43 <Reference Include="HeuristicLab.Common-3.3"> 44 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath> 45 </Reference> 46 <Reference Include="HeuristicLab.Common.Resources-3.3"> 47 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common.Resources-3.3.dll</HintPath> 48 </Reference> 49 <Reference Include="HeuristicLab.Core-3.3"> 50 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath> 51 </Reference> 52 <Reference Include="HeuristicLab.Data-3.3"> 53 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Data-3.3.dll</HintPath> 54 </Reference> 55 <Reference Include="HeuristicLab.Encodings.IntegerVectorEncoding-3.3"> 56 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Encodings.IntegerVectorEncoding-3.3.dll</HintPath> 57 </Reference> 58 <Reference Include="HeuristicLab.Encodings.PermutationEncoding-3.3"> 59 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Encodings.PermutationEncoding-3.3.dll</HintPath> 60 </Reference> 61 <Reference Include="HeuristicLab.Encodings.ScheduleEncoding-3.3"> 62 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Encodings.ScheduleEncoding-3.3.dll</HintPath> 63 </Reference> 64 <Reference Include="HeuristicLab.Operators-3.3"> 65 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Operators-3.3.dll</HintPath> 66 </Reference> 67 <Reference Include="HeuristicLab.Optimization-3.3"> 68 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath> 69 </Reference> 70 <Reference Include="HeuristicLab.Parameters-3.3"> 71 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Parameters-3.3.dll</HintPath> 72 </Reference> 73 <Reference Include="HeuristicLab.Persistence-3.3"> 74 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Persistence-3.3.dll</HintPath> 75 </Reference> 76 <Reference Include="HeuristicLab.PluginInfrastructure-3.3"> 77 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath> 78 </Reference> 40 79 <Reference Include="System" /> 41 80 <Reference Include="System.Core" /> … … 49 88 </ItemGroup> 50 89 <ItemGroup> 51 <Compile Include="Evaluators\ AwesomeTriangulationEvaluator.cs" />90 <Compile Include="Evaluators\SuperdiagonalMatrixTriangulationEvaluator.cs" /> 52 91 <Compile Include="Evaluators\MatrixTriangulationEvaluator.cs" /> 53 92 <Compile Include="Evaluators\LOPEvaluator.cs" /> … … 59 98 </ItemGroup> 60 99 <ItemGroup> 61 <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj"> 62 <Project>{958b43bc-cc5c-4fa2-8628-2b3b01d890b6}</Project> 63 <Name>HeuristicLab.Collections-3.3</Name> 64 </ProjectReference> 65 <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.3\HeuristicLab.Common.Resources-3.3.csproj"> 66 <Project>{0e27a536-1c4a-4624-a65e-dc4f4f23e3e1}</Project> 67 <Name>HeuristicLab.Common.Resources-3.3</Name> 68 </ProjectReference> 69 <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj"> 70 <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project> 71 <Name>HeuristicLab.Common-3.3</Name> 72 </ProjectReference> 73 <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj"> 74 <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project> 75 <Name>HeuristicLab.Core-3.3</Name> 76 </ProjectReference> 77 <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj"> 78 <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project> 79 <Name>HeuristicLab.Data-3.3</Name> 80 </ProjectReference> 81 <ProjectReference Include="..\..\HeuristicLab.Encodings.IntegerVectorEncoding\3.3\HeuristicLab.Encodings.IntegerVectorEncoding-3.3.csproj"> 82 <Project>{DDFB14DD-2A85-493C-A52D-E69729BBAEB0}</Project> 83 <Name>HeuristicLab.Encodings.IntegerVectorEncoding-3.3</Name> 84 </ProjectReference> 85 <ProjectReference Include="..\..\HeuristicLab.Encodings.PermutationEncoding\3.3\HeuristicLab.Encodings.PermutationEncoding-3.3.csproj"> 86 <Project>{DBECB8B0-B166-4133-BAF1-ED67C3FD7FCA}</Project> 87 <Name>HeuristicLab.Encodings.PermutationEncoding-3.3</Name> 88 </ProjectReference> 89 <ProjectReference Include="..\..\HeuristicLab.Encodings.ScheduleEncoding\3.3\HeuristicLab.Encodings.ScheduleEncoding-3.3.csproj"> 90 <Project>{17F3EF80-B2C3-4B8D-A4D5-BE9CE3BA2606}</Project> 91 <Name>HeuristicLab.Encodings.ScheduleEncoding-3.3</Name> 92 </ProjectReference> 93 <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj"> 94 <Project>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</Project> 95 <Name>HeuristicLab.Operators-3.3</Name> 96 </ProjectReference> 97 <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj"> 98 <Project>{14AB8D24-25BC-400C-A846-4627AA945192}</Project> 99 <Name>HeuristicLab.Optimization-3.3</Name> 100 </ProjectReference> 101 <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj"> 102 <Project>{56F9106A-079F-4C61-92F6-86A84C2D84B7}</Project> 103 <Name>HeuristicLab.Parameters-3.3</Name> 104 </ProjectReference> 105 <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj"> 106 <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project> 107 <Name>HeuristicLab.Persistence-3.3</Name> 108 </ProjectReference> 109 <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj"> 110 <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project> 111 <Name>HeuristicLab.PluginInfrastructure-3.3</Name> 112 </ProjectReference> 100 <None Include="HeuristicLab.snk" /> 101 <None Include="Plugin.cs.frame" /> 102 <None Include="Properties\AssemblyInfo.cs.frame" /> 103 </ItemGroup> 104 <ItemGroup> 113 105 <ProjectReference Include="..\..\HeuristicLab.Problems.Instances\3.3\HeuristicLab.Problems.Instances-3.3.csproj"> 114 106 <Project>{3540E29E-4793-49E7-8EE2-FEA7F61C3994}</Project> 115 107 <Name>HeuristicLab.Problems.Instances-3.3</Name> 116 108 </ProjectReference> 117 </ItemGroup>118 <ItemGroup>119 <None Include="HeuristicLab.snk" />120 <None Include="Plugin.cs.frame" />121 <None Include="Properties\AssemblyInfo.cs.frame" />122 109 </ItemGroup> 123 110 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> -
branches/2864_PermutationProblems/HeuristicLab.Problems.LinearOrdering/3.3/Interfaces/ILOPEvaluator.cs
r15521 r15541 28 28 { 29 29 /// <summary> 30 /// An evaluator for a Schedule30 /// An evaluator for a Linear Ordering Problem Matrix 31 31 /// </summary> 32 32 public interface ILOPEvaluator : ISingleObjectiveEvaluator { } -
branches/2864_PermutationProblems/HeuristicLab.Problems.LinearOrdering/3.3/Interfaces/IMatrixTriangulationEvaluator.cs
r15521 r15541 1 using HeuristicLab.Core; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 using HeuristicLab.Core; 2 23 using HeuristicLab.Data; 3 24 using HeuristicLab.Encodings.PermutationEncoding; -
branches/2864_PermutationProblems/HeuristicLab.Problems.LinearOrdering/3.3/LinearOrderingProblem.cs
r15521 r15541 21 21 22 22 using System; 23 using System.Drawing;24 23 using System.Linq; 25 24 using HeuristicLab.Common; … … 30 29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 31 30 using HeuristicLab.PluginInfrastructure; 32 using HeuristicLab.Problems.Instances;33 31 using HeuristicLab.Optimization; 34 32 using System.Collections.Generic; 35 33 using HeuristicLab.Problems.Instances.Types; 34 using HeuristicLab.Problems.Instances; 36 35 37 36 namespace HeuristicLab.Problems.LinearOrdering … … 60 59 61 60 #region Parameter Properties 62 public OptionalValueParameter<Permutation> BestKnownSolutionParameter { 61 public OptionalValueParameter<Permutation> BestKnownSolutionParameter 62 { 63 63 get { return (OptionalValueParameter<Permutation>)Parameters["BestKnownSolution"]; } 64 64 } 65 65 66 public OptionalValueParameter<DoubleMatrix> MatrixParameter { 66 public OptionalValueParameter<DoubleMatrix> MatrixParameter 67 { 67 68 get { return (OptionalValueParameter<DoubleMatrix>)Parameters["Matrix"]; } 68 69 } … … 70 71 71 72 #region Properties 72 public Permutation BestKnownSolution { 73 public Permutation BestKnownSolution 74 { 73 75 get { return BestKnownSolutionParameter.Value; } 74 set { 76 set 77 { 75 78 BestKnownSolutionParameter.Value = value; 76 79 if (BestKnownSolutionChanged != null) { OnBestKnownSolutionChanged(); } 77 80 } 78 81 } 79 public DoubleMatrix Matrix { 82 public DoubleMatrix Matrix 83 { 80 84 get { return MatrixParameter.Value; } 81 85 set { MatrixParameter.Value = value; } … … 95 99 [Obsolete] 96 100 [Storable(Name = "operators")] 97 private IEnumerable<IOperator> oldOperators { 101 private IEnumerable<IOperator> oldOperators 102 { 98 103 get { return null; } 99 set { 104 set 105 { 100 106 if (value != null && value.Any()) 101 107 Operators.AddRange(value); … … 109 115 : base(original, cloner) 110 116 { 111 RegisterEventHandlers();112 117 } 113 118 public LinearOrderingProblem() 114 : base(new AwesomeTriangulationEvaluator(), new RandomPermutationCreator())119 : base(new SuperdiagonalMatrixTriangulationEvaluator(), new RandomPermutationCreator()) 115 120 { 116 121 Parameters.Add(new OptionalValueParameter<Permutation>("BestKnownSolution", "The best known solution of this LOP instance.")); 117 Parameters.Add(new OptionalValueParameter<DoubleMatrix>("Matrix", "The matrix which contains the jobs,machines and duration."));122 Parameters.Add(new OptionalValueParameter<DoubleMatrix>("Matrix", "The matrix which contains the corresponding LOP-values")); 118 123 119 124 Load(DefaultInstance); … … 124 129 MaximizationParameter.Hidden = true; 125 130 126 SolutionCreator.PermutationParameter.ActualName = " PFSPOrder";127 Evaluator.QualityParameter.ActualName = " Makespan";131 SolutionCreator.PermutationParameter.ActualName = "LOPOrder"; 132 Evaluator.QualityParameter.ActualName = "SuperDiagonale"; 128 133 ParameterizeSolutionCreator(); 129 134 ParameterizeEvaluator(); 130 135 131 136 InitializeOperators(); 132 RegisterEventHandlers();133 137 } 134 138 … … 141 145 private void AfterDeserialization() 142 146 { 143 RegisterEventHandlers(); 144 } 145 146 private void RegisterEventHandlers() 147 { 148 SolutionCreator.PermutationParameter.ActualNameChanged += new EventHandler(SolutionCreator_PermutationParameter_ActualNameChanged); 149 Evaluator.QualityParameter.ActualNameChanged += new EventHandler(Evaluator_QualityParameter_ActualNameChanged); 150 } 151 152 private void Evaluator_QualityParameter_ActualNameChanged(object sender, EventArgs e) 153 { 154 //Nothing to do ParameterizeAnalyzers(); 155 } 156 157 private void SolutionCreator_PermutationParameter_ActualNameChanged(object sender, EventArgs e) 158 { 159 ParameterizeEvaluator(); 160 //ParameterizeAnalyzers(); 161 ParameterizeOperators(); 162 } 163 164 #region Events 165 private void ScheduleEvaluator_QualityParameter_ActualNameChanged(object sender, EventArgs eventArgs) 166 { 167 ParameterizeOperators(); 168 } 169 170 private void SolutionCreator_SchedulingEncodingParameter_ActualNameChanged(object sender, EventArgs eventArgs) 171 { 172 ParameterizeOperators(); 173 } 174 175 private void ScheduleDecoder_ScheduleParameter_ActualNameChanged(object sender, EventArgs eventArgs) 176 { 177 ParameterizeOperators(); 178 } 179 #endregion 147 } 180 148 181 149 #region Problem Instance Handling … … 193 161 if (!permut.Contains(0)) { permut = permut.Select(v => v - 1).ToArray(); } 194 162 double bestKnownQuality = MatrixTriangulationEvaluator.Apply( 195 new AwesomeTriangulationEvaluator(),163 new SuperdiagonalMatrixTriangulationEvaluator(), 196 164 new DoubleMatrix(data.Matrix), 197 165 new Permutation(PermutationTypes.Absolute, permut) … … 212 180 Description = Description, 213 181 BestKnownQuality = BestKnownQuality.Value, 214 //BestKnownPermutation = Matrix.row, 215 //Machines = Matrix.Columns 182 BestKnownPermutation = BestKnownSolution.ToArray(), 183 Dimension = Matrix.Rows, 184 Matrix = Matrix.CloneAsMatrix() 216 185 }; 217 for (int i = 0; i < Matrix.Rows; i++)218 {219 for (int j = 0; j < Matrix.Columns; j++)220 {221 //result.ProcessingTimes[i, j] = Matrix[i, j];222 }223 }224 186 225 187 return result; … … 230 192 private void InitializeOperators() 231 193 { 232 var operators = new HashSet<IPermutationOperator>(new IPermutationOperator[] { 233 new OrderCrossover2(), 234 new InversionManipulator(), 235 new StochasticInversionMultiMoveGenerator() 236 }, new TypeEqualityComparer<IPermutationOperator>()); 237 238 foreach (var op in ApplicationManager.Manager.GetInstances<IPermutationOperator>()) 239 operators.Add(op); 240 Operators.AddRange(operators); 194 Operators.AddRange(ApplicationManager.Manager.GetInstances<IPermutationOperator>()); 241 195 ParameterizeOperators(); 242 196 UpdateMoveEvaluators(); … … 294 248 private void ParameterizeSolutionCreator() 295 249 { 296 SolutionCreator.LengthParameter.Value = new IntValue(Matrix.Columns); //Jobs250 SolutionCreator.LengthParameter.Value = new IntValue(Matrix.Columns); 297 251 298 252 SolutionCreator.LengthParameter.Hidden = SolutionCreator.LengthParameter.Value != null; … … 302 256 private void ParameterizeEvaluator() 303 257 { 304 if (Evaluator is AwesomeTriangulationEvaluator)258 if (Evaluator is IMatrixTriangulationEvaluator) 305 259 { 306 260 IMatrixTriangulationEvaluator evaluator = (IMatrixTriangulationEvaluator)Evaluator; -
branches/2864_PermutationProblems/HeuristicLab.Problems.LinearOrdering/3.3/Plugin.cs
r15521 r15541 1 using HeuristicLab.PluginInfrastructure; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 using HeuristicLab.PluginInfrastructure; 2 23 3 24 namespace HeuristicLab.Problems.LinearOrdering -
branches/2864_PermutationProblems/HeuristicLab.Problems.LinearOrdering/3.3/Properties/AssemblyInfo.cs
r15521 r15541 1 using System.Reflection; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 using System.Reflection; 2 23 using System.Runtime.InteropServices; 3 24 … … 33 54 // [assembly: AssemblyVersion("1.0.*")] 34 55 [assembly: AssemblyVersion("3.3.0.0")] 35 [assembly: AssemblyFileVersion("3.3.14.1 4965")]56 [assembly: AssemblyFileVersion("3.3.14.15521")] 36 57 -
branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP.Views/3.3/HeuristicLab.Problems.PFSP.Views-3.3.csproj
r15521 r15541 19 19 <DebugType>full</DebugType> 20 20 <Optimize>false</Optimize> 21 <OutputPath> $(SolutionDir)\bin\</OutputPath>21 <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath> 22 22 <DefineConstants>DEBUG;TRACE</DefineConstants> 23 23 <ErrorReport>prompt</ErrorReport> … … 108 108 </PropertyGroup> 109 109 <ItemGroup> 110 <Reference Include="HeuristicLab.Collections-3.3"> 111 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath> 112 </Reference> 113 <Reference Include="HeuristicLab.Common-3.3"> 114 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath> 115 </Reference> 116 <Reference Include="HeuristicLab.Core-3.3"> 117 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath> 118 </Reference> 119 <Reference Include="HeuristicLab.Core.Views-3.3"> 120 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core.Views-3.3.dll</HintPath> 121 </Reference> 122 <Reference Include="HeuristicLab.Data-3.3"> 123 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Data-3.3.dll</HintPath> 124 </Reference> 125 <Reference Include="HeuristicLab.Encodings.PermutationEncoding-3.3"> 126 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Encodings.PermutationEncoding-3.3.dll</HintPath> 127 </Reference> 128 <Reference Include="HeuristicLab.Encodings.ScheduleEncoding-3.3"> 129 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Encodings.ScheduleEncoding-3.3.dll</HintPath> 130 </Reference> 131 <Reference Include="HeuristicLab.Encodings.ScheduleEncoding.Views-3.3"> 132 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Encodings.ScheduleEncoding.Views-3.3.dll</HintPath> 133 </Reference> 134 <Reference Include="HeuristicLab.MainForm-3.3"> 135 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.MainForm-3.3.dll</HintPath> 136 </Reference> 137 <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3"> 138 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath> 139 </Reference> 140 <Reference Include="HeuristicLab.Operators-3.3"> 141 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Operators-3.3.dll</HintPath> 142 </Reference> 143 <Reference Include="HeuristicLab.Optimization-3.3"> 144 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath> 145 </Reference> 146 <Reference Include="HeuristicLab.Optimization.Views-3.3"> 147 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization.Views-3.3.dll</HintPath> 148 </Reference> 149 <Reference Include="HeuristicLab.PluginInfrastructure-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" /> 150 <Reference Include="HeuristicLab.Problems.Instances-3.3"> 151 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Problems.Instances-3.3.dll</HintPath> 152 </Reference> 110 153 <Reference Include="System" /> 111 154 <Reference Include="System.Core" /> … … 116 159 </ItemGroup> 117 160 <ItemGroup> 118 <Compile Include="JobShopSchedulingProblemView.cs" /> 161 <Compile Include="JobShopSchedulingProblemView.cs"> 162 <SubType>UserControl</SubType> 163 </Compile> 119 164 <Compile Include="JobShopSchedulingProblemView.Designer.cs"> 120 165 <DependentUpon>JobShopSchedulingProblemView.cs</DependentUpon> … … 129 174 </ItemGroup> 130 175 <ItemGroup> 131 <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">132 <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>133 <Name>HeuristicLab.Collections-3.3</Name>134 <Private>False</Private>135 </ProjectReference>136 <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">137 <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>138 <Name>HeuristicLab.Common-3.3</Name>139 <Private>False</Private>140 </ProjectReference>141 <ProjectReference Include="..\..\HeuristicLab.Core.Views\3.3\HeuristicLab.Core.Views-3.3.csproj">142 <Project>{E226881D-315F-423D-B419-A766FE0D8685}</Project>143 <Name>HeuristicLab.Core.Views-3.3</Name>144 <Private>False</Private>145 </ProjectReference>146 <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">147 <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>148 <Name>HeuristicLab.Core-3.3</Name>149 <Private>False</Private>150 </ProjectReference>151 <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">152 <Project>{bbab9df5-5ef3-4ba8-ade9-b36e82114937}</Project>153 <Name>HeuristicLab.Data-3.3</Name>154 </ProjectReference>155 <ProjectReference Include="..\..\HeuristicLab.Encodings.PermutationEncoding\3.3\HeuristicLab.Encodings.PermutationEncoding-3.3.csproj">156 <Project>{DBECB8B0-B166-4133-BAF1-ED67C3FD7FCA}</Project>157 <Name>HeuristicLab.Encodings.PermutationEncoding-3.3</Name>158 </ProjectReference>159 <ProjectReference Include="..\..\HeuristicLab.Encodings.ScheduleEncoding.Views\3.3\HeuristicLab.Encodings.ScheduleEncoding.Views-3.3.csproj">160 <Project>{0C378762-D5DB-488A-8931-2BA42B1B7CBF}</Project>161 <Name>HeuristicLab.Encodings.ScheduleEncoding.Views-3.3</Name>162 <Private>False</Private>163 </ProjectReference>164 <ProjectReference Include="..\..\HeuristicLab.Encodings.ScheduleEncoding\3.3\HeuristicLab.Encodings.ScheduleEncoding-3.3.csproj">165 <Project>{17F3EF80-B2C3-4B8D-A4D5-BE9CE3BA2606}</Project>166 <Name>HeuristicLab.Encodings.ScheduleEncoding-3.3</Name>167 <Private>False</Private>168 </ProjectReference>169 <ProjectReference Include="..\..\HeuristicLab.MainForm.WindowsForms\3.3\HeuristicLab.MainForm.WindowsForms-3.3.csproj">170 <Project>{AB687BBE-1BFE-476B-906D-44237135431D}</Project>171 <Name>HeuristicLab.MainForm.WindowsForms-3.3</Name>172 <Private>False</Private>173 </ProjectReference>174 <ProjectReference Include="..\..\HeuristicLab.MainForm\3.3\HeuristicLab.MainForm-3.3.csproj">175 <Project>{3BD61258-31DA-4B09-89C0-4F71FEF5F05A}</Project>176 <Name>HeuristicLab.MainForm-3.3</Name>177 <Private>False</Private>178 </ProjectReference>179 <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj">180 <Project>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</Project>181 <Name>HeuristicLab.Operators-3.3</Name>182 </ProjectReference>183 <ProjectReference Include="..\..\HeuristicLab.Optimization.Views\3.3\HeuristicLab.Optimization.Views-3.3.csproj">184 <Project>{662B4B15-8F4D-4AE5-B3EB-D91C215F5AF2}</Project>185 <Name>HeuristicLab.Optimization.Views-3.3</Name>186 <Private>False</Private>187 </ProjectReference>188 <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">189 <Project>{14AB8D24-25BC-400C-A846-4627AA945192}</Project>190 <Name>HeuristicLab.Optimization-3.3</Name>191 <Private>False</Private>192 </ProjectReference>193 <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">194 <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>195 <Name>HeuristicLab.PluginInfrastructure-3.3</Name>196 <Private>False</Private>197 </ProjectReference>198 <ProjectReference Include="..\..\HeuristicLab.Problems.Instances\3.3\HeuristicLab.Problems.Instances-3.3.csproj">199 <Project>{3540E29E-4793-49E7-8EE2-FEA7F61C3994}</Project>200 <Name>HeuristicLab.Problems.Instances-3.3</Name>201 </ProjectReference>202 176 <ProjectReference Include="..\..\HeuristicLab.Problems.PFSP\3.3\HeuristicLab.Problems.PFSP-3.3.csproj"> 203 177 <Project>{51650b00-4ca6-41ff-8cb6-165fcacc3b51}</Project> 204 178 <Name>HeuristicLab.Problems.PFSP-3.3</Name> 205 </ProjectReference>206 <ProjectReference Include="..\..\HeuristicLab.Problems.Scheduling\3.3\HeuristicLab.Problems.Scheduling-3.3.csproj">207 <Project>{2BF1D639-1A74-44ED-AAAD-41ECD395AD93}</Project>208 <Name>HeuristicLab.Problems.Scheduling-3.3</Name>209 <Private>False</Private>210 179 </ProjectReference> 211 180 </ItemGroup> -
branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP.Views/3.3/JobShopSchedulingProblemView.cs
r15521 r15541 31 31 namespace HeuristicLab.Problems.PFSP.Views 32 32 { 33 [View(" JobShop Scheduling Problem View")]33 [View("Permutation Flowshop Scheduling Problem View")] 34 34 [Content(typeof(PermutationFlowshopSchedulingProblem), true)] 35 35 public partial class JobShopSchedulingProblemView : ProblemView -
branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP.Views/3.3/Plugin.cs
r15521 r15541 23 23 24 24 namespace HeuristicLab.Problems.PFSP.Views { 25 [Plugin("HeuristicLab.Problems.PFSP.Views", "3.3.14.1 4190")]25 [Plugin("HeuristicLab.Problems.PFSP.Views", "3.3.14.15521")] 26 26 [PluginFile("HeuristicLab.Problems.PFSP.Views-3.3.dll", PluginFileType.Assembly)] 27 27 [PluginDependency("HeuristicLab.Collections", "3.3")] -
branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP.Views/3.3/Properties/AssemblyInfo.cs
r15521 r15541 41 41 42 42 // The following GUID is for the ID of the typelib if this project is exposed to COM 43 [assembly: Guid("ABF1DB5E-5774-48AB-B65A-5CF405C0E2A 9")]43 [assembly: Guid("ABF1DB5E-5774-48AB-B65A-5CF405C0E2A8")] 44 44 45 45 // Version information for an assembly consists of the following four values: … … 53 53 // by using the '*' as shown below: 54 54 [assembly: AssemblyVersion("3.3.0.0")] 55 [assembly: AssemblyFileVersion("3.3.14.1 4190")]55 [assembly: AssemblyFileVersion("3.3.14.15521")] -
branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP/3.3/Evaluators/MakeSpanEvaluator.cs
r15521 r15541 31 31 { 32 32 /// <summary> 33 /// A base class for operators which evaluate TSP solutions given in path representation using city coordinates.33 /// A base class for operators which evaluate PFSP solutions given in matrix representation 34 34 /// </summary> 35 [Item("MakeSpanEvaluator", "A base class for operators which evaluate TSP solutions given in path representation using city coordinates.")]35 [Item("MakeSpanEvaluator", "A base class for operators which evaluate PFSP solutions given in matrix representation.")] 36 36 [StorableClass] 37 37 public abstract class MakeSpanEvaluator : PFSPEvaluator, IMakespanEvaluator 38 38 { 39 private object locker = new object();40 41 39 public ILookupParameter<Permutation> PermutationParameter { get { return (ILookupParameter<Permutation>)Parameters["Permutation"]; } } 42 40 public ILookupParameter<JobMatrix> JobMatrixParameter { get { return (ILookupParameter<JobMatrix>)Parameters["JobMatrix"]; } } … … 49 47 : base() 50 48 { 51 Parameters.Add(new LookupParameter<Permutation>("Permutation", "The TSP solution given in pathrepresentation which should be evaluated."));52 Parameters.Add(new LookupParameter<JobMatrix>("JobMatrix", "The matrix which contains the distances between the cities."));49 Parameters.Add(new LookupParameter<Permutation>("Permutation", "The PFSP solution given in matrix representation which should be evaluated.")); 50 Parameters.Add(new LookupParameter<JobMatrix>("JobMatrix", "The matrix which contains the job-duration on the machines.")); 53 51 Parameters.Add(new LookupParameter<Permutation>("BestKnownSolution", "The currently best known solution.")); 54 52 Parameters.Add(new LookupParameter<DoubleValue>("BestKnownQuality", "The currently best known quality.")); … … 56 54 57 55 [StorableHook(HookType.AfterDeserialization)] 58 private void AfterDeserialization() 59 { 60 // BackwardsCompatibility3.3 61 #region Backwards compatible code (remove with 3.4) 62 LookupParameter<DoubleMatrix> oldDistanceMatrixParameter = Parameters["JobMatrix"] as LookupParameter<DoubleMatrix>; 63 if (oldDistanceMatrixParameter != null) 64 { 65 Parameters.Remove(oldDistanceMatrixParameter); 66 Parameters.Add(new LookupParameter<JobMatrix>("JobMatrix", "The matrix which contains the distances between the cities.")); 67 JobMatrixParameter.ActualName = oldDistanceMatrixParameter.ActualName; 68 } 69 #endregion 70 } 56 private void AfterDeserialization() { } 71 57 72 58 public static double Apply(MakeSpanEvaluator evaluator, DoubleMatrix matrix, Permutation tour) 73 59 { 74 double length = evaluator.CalculateMakespan(matrix, tour); 75 return length; 60 return evaluator.CalculateMakespan(matrix, tour); 76 61 } 77 62 … … 80 65 Permutation p = PermutationParameter.ActualValue; 81 66 DoubleMatrix c = JobMatrixParameter.ActualValue; 82 if (c == null) throw new InvalidOperationException("No coordinates weregiven.");67 if (c == null) throw new InvalidOperationException("No matrix was given."); 83 68 84 69 double makespan = CalculateMakespan(c, p); … … 93 78 } 94 79 95 protected abstract double CalculateMakespan(DoubleMatrix matrix, Permutation tour);80 protected abstract double CalculateMakespan(DoubleMatrix matrix, Permutation perm); 96 81 } 97 82 } -
branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP/3.3/Evaluators/PFSPEvaluator.cs
r15521 r15541 30 30 { 31 31 /// <summary> 32 /// A base class for operators which evaluate TSP solutions.32 /// A base class for operators which evaluate PFSP solutions. 33 33 /// </summary> 34 [Item("PFSPEvaluator", "A base class for operators which evaluate TSP solutions.")]34 [Item("PFSPEvaluator", "A base class for operators which evaluate PFSP solutions.")] 35 35 [StorableClass] 36 36 public abstract class PFSPEvaluator : InstrumentedOperator, IPFSPEvaluator … … 52 52 : base() 53 53 { 54 Parameters.Add(new LookupParameter<DoubleValue>("Quality", "The evaluated quality of the TSP solution."));54 Parameters.Add(new LookupParameter<DoubleValue>("Quality", "The evaluated quality of the PFSP solution.")); 55 55 } 56 56 } -
branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP/3.3/HeuristicLab.Problems.PFSP-3.3.csproj
r15521 r15541 18 18 <DebugType>full</DebugType> 19 19 <Optimize>false</Optimize> 20 <OutputPath>..\..\ bin\</OutputPath>20 <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath> 21 21 <DefineConstants>DEBUG;TRACE</DefineConstants> 22 22 <ErrorReport>prompt</ErrorReport> … … 38 38 </PropertyGroup> 39 39 <ItemGroup> 40 <Reference Include="HeuristicLab.Collections-3.3"> 41 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath> 42 </Reference> 43 <Reference Include="HeuristicLab.Common-3.3"> 44 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath> 45 </Reference> 46 <Reference Include="HeuristicLab.Common.Resources-3.3"> 47 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common.Resources-3.3.dll</HintPath> 48 </Reference> 49 <Reference Include="HeuristicLab.Core-3.3"> 50 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath> 51 </Reference> 52 <Reference Include="HeuristicLab.Data-3.3"> 53 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Data-3.3.dll</HintPath> 54 </Reference> 55 <Reference Include="HeuristicLab.Encodings.IntegerVectorEncoding-3.3"> 56 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Encodings.IntegerVectorEncoding-3.3.dll</HintPath> 57 </Reference> 58 <Reference Include="HeuristicLab.Encodings.PermutationEncoding-3.3"> 59 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Encodings.PermutationEncoding-3.3.dll</HintPath> 60 </Reference> 61 <Reference Include="HeuristicLab.Encodings.ScheduleEncoding.Views-3.3"> 62 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Encodings.ScheduleEncoding.Views-3.3.dll</HintPath> 63 </Reference> 64 <Reference Include="HeuristicLab.Operators-3.3"> 65 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Operators-3.3.dll</HintPath> 66 </Reference> 67 <Reference Include="HeuristicLab.Optimization-3.3"> 68 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath> 69 </Reference> 70 <Reference Include="HeuristicLab.Parameters-3.3"> 71 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Parameters-3.3.dll</HintPath> 72 </Reference> 73 <Reference Include="HeuristicLab.Persistence-3.3"> 74 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Persistence-3.3.dll</HintPath> 75 </Reference> 76 <Reference Include="HeuristicLab.PluginInfrastructure-3.3"> 77 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath> 78 </Reference> 40 79 <Reference Include="System" /> 41 80 <Reference Include="System.Core" /> … … 49 88 </ItemGroup> 50 89 <ItemGroup> 51 <Compile Include="Analyzers\BestPFSPSolutionAnalyzer.cs" /> 52 <Compile Include="Evaluators\AwesomeMakeSpanEvaluator.cs" /> 90 <Compile Include="Evaluators\CmaxMakeSpanEvaluator.cs" /> 53 91 <Compile Include="Evaluators\MakeSpanEvaluator.cs" /> 54 92 <Compile Include="Evaluators\PFSPEvaluator.cs" /> … … 61 99 </ItemGroup> 62 100 <ItemGroup> 63 <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">64 <Project>{958b43bc-cc5c-4fa2-8628-2b3b01d890b6}</Project>65 <Name>HeuristicLab.Collections-3.3</Name>66 </ProjectReference>67 <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.3\HeuristicLab.Common.Resources-3.3.csproj">68 <Project>{0e27a536-1c4a-4624-a65e-dc4f4f23e3e1}</Project>69 <Name>HeuristicLab.Common.Resources-3.3</Name>70 </ProjectReference>71 <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">72 <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>73 <Name>HeuristicLab.Common-3.3</Name>74 </ProjectReference>75 <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">76 <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>77 <Name>HeuristicLab.Core-3.3</Name>78 </ProjectReference>79 <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">80 <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project>81 <Name>HeuristicLab.Data-3.3</Name>82 </ProjectReference>83 <ProjectReference Include="..\..\HeuristicLab.Encodings.IntegerVectorEncoding\3.3\HeuristicLab.Encodings.IntegerVectorEncoding-3.3.csproj">84 <Project>{DDFB14DD-2A85-493C-A52D-E69729BBAEB0}</Project>85 <Name>HeuristicLab.Encodings.IntegerVectorEncoding-3.3</Name>86 </ProjectReference>87 <ProjectReference Include="..\..\HeuristicLab.Encodings.PermutationEncoding\3.3\HeuristicLab.Encodings.PermutationEncoding-3.3.csproj">88 <Project>{DBECB8B0-B166-4133-BAF1-ED67C3FD7FCA}</Project>89 <Name>HeuristicLab.Encodings.PermutationEncoding-3.3</Name>90 </ProjectReference>91 <ProjectReference Include="..\..\HeuristicLab.Encodings.ScheduleEncoding\3.3\HeuristicLab.Encodings.ScheduleEncoding-3.3.csproj">92 <Project>{17F3EF80-B2C3-4B8D-A4D5-BE9CE3BA2606}</Project>93 <Name>HeuristicLab.Encodings.ScheduleEncoding-3.3</Name>94 </ProjectReference>95 <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj">96 <Project>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</Project>97 <Name>HeuristicLab.Operators-3.3</Name>98 </ProjectReference>99 <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">100 <Project>{14AB8D24-25BC-400C-A846-4627AA945192}</Project>101 <Name>HeuristicLab.Optimization-3.3</Name>102 </ProjectReference>103 <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj">104 <Project>{56F9106A-079F-4C61-92F6-86A84C2D84B7}</Project>105 <Name>HeuristicLab.Parameters-3.3</Name>106 </ProjectReference>107 <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">108 <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project>109 <Name>HeuristicLab.Persistence-3.3</Name>110 </ProjectReference>111 <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">112 <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>113 <Name>HeuristicLab.PluginInfrastructure-3.3</Name>114 </ProjectReference>115 <ProjectReference Include="..\..\HeuristicLab.Problems.Instances\3.3\HeuristicLab.Problems.Instances-3.3.csproj">116 <Project>{3540E29E-4793-49E7-8EE2-FEA7F61C3994}</Project>117 <Name>HeuristicLab.Problems.Instances-3.3</Name>118 </ProjectReference>119 </ItemGroup>120 <ItemGroup>121 101 <None Include="HeuristicLab.snk" /> 122 102 <None Include="Plugin.cs.frame" /> 123 103 <None Include="Properties\AssemblyInfo.cs.frame" /> 124 104 </ItemGroup> 105 <ItemGroup> 106 <ProjectReference Include="..\..\HeuristicLab.Problems.Instances\3.3\HeuristicLab.Problems.Instances-3.3.csproj"> 107 <Project>{3540e29e-4793-49e7-8ee2-fea7f61c3994}</Project> 108 <Name>HeuristicLab.Problems.Instances-3.3</Name> 109 </ProjectReference> 110 </ItemGroup> 111 <ItemGroup /> 125 112 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 126 113 <PropertyGroup> -
branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP/3.3/Interfaces/IMakespanEvaluator.cs
r15521 r15541 1 using HeuristicLab.Core; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 using HeuristicLab.Core; 2 23 using HeuristicLab.Data; 3 24 using HeuristicLab.Encodings.PermutationEncoding; -
branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP/3.3/JobMatrix.cs
r15521 r15541 27 27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 28 28 29 namespace HeuristicLab.Problems.PFSP { 30 [Item("JobMatrix", "Represents a matrix of a PFSP.")] 31 [StorableClass] 32 public sealed class JobMatrix : DoubleMatrix { 33 [StorableConstructor] 34 private JobMatrix(bool deserializing) : base(deserializing) { } 35 private JobMatrix(JobMatrix original, Cloner cloner) { 36 throw new NotSupportedException("Distance matrices cannot be cloned."); 29 namespace HeuristicLab.Problems.PFSP 30 { 31 [Item("JobMatrix", "Represents a matrix of a PFSP.")] 32 [StorableClass] 33 public sealed class JobMatrix : DoubleMatrix 34 { 35 [StorableConstructor] 36 private JobMatrix(bool deserializing) : base(deserializing) { } 37 private JobMatrix(JobMatrix original, Cloner cloner) 38 { 39 throw new NotSupportedException("Job matrices cannot be cloned."); 40 } 41 42 public JobMatrix() : base() { } 43 public JobMatrix(int rows, int columns) : base(rows, columns) { } 44 public JobMatrix(int rows, int columns, IEnumerable<string> columnNames) : base(rows, columns, columnNames) { } 45 public JobMatrix(int rows, int columns, IEnumerable<string> columnNames, IEnumerable<string> rowNames) : base(rows, columns, columnNames, rowNames) { } 46 public JobMatrix(double[,] elements) : base(elements) { } 47 public JobMatrix(double[,] elements, IEnumerable<string> columnNames) : base(elements, columnNames) { } 48 public JobMatrix(double[,] elements, IEnumerable<string> columnNames, IEnumerable<string> rowNames) : base(elements, columnNames, rowNames) { } 49 50 public override IDeepCloneable Clone(Cloner cloner) 51 { 52 // job matrices are not cloned for performance reasons 53 cloner.RegisterClonedObject(this, this); 54 return this; 55 } 37 56 } 38 public JobMatrix() : base() { }39 public JobMatrix(int rows, int columns) : base(rows, columns) { }40 public JobMatrix(int rows, int columns, IEnumerable<string> columnNames) : base(rows, columns, columnNames) { }41 public JobMatrix(int rows, int columns, IEnumerable<string> columnNames, IEnumerable<string> rowNames) : base(rows, columns, columnNames, rowNames) { }42 public JobMatrix(double[,] elements) : base(elements) { }43 public JobMatrix(double[,] elements, IEnumerable<string> columnNames) : base(elements, columnNames) { }44 public JobMatrix(double[,] elements, IEnumerable<string> columnNames, IEnumerable<string> rowNames) : base(elements, columnNames, rowNames) { }45 46 public override IDeepCloneable Clone(Cloner cloner) {47 // distance matrices are not cloned for performance reasons48 cloner.RegisterClonedObject(this, this);49 return this;50 }51 }52 57 } -
branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP/3.3/PermutationFlowshopSchedulingProblem.cs
r15521 r15541 97 97 } 98 98 99 // BackwardsCompatibility3.3100 #region Backwards compatible code, remove with 3.4101 [Obsolete]102 [Storable(Name = "operators")]103 private IEnumerable<IOperator> oldOperators104 {105 get { return null; }106 set107 {108 if (value != null && value.Any())109 Operators.AddRange(value);110 }111 }112 #endregion113 114 99 [StorableConstructor] 115 100 private PermutationFlowshopSchedulingProblem(bool deserializing) : base(deserializing) { } … … 117 102 : base(original, cloner) 118 103 { 119 RegisterEventHandlers();120 104 } 121 105 public PermutationFlowshopSchedulingProblem() 122 : base(new AwesomeMakeSpanEvaluator(), new RandomPermutationCreator())106 : base(new CmaxMakeSpanEvaluator(), new RandomPermutationCreator()) 123 107 { 124 108 Parameters.Add(new OptionalValueParameter<Permutation>("BestKnownSolution", "The best known solution of this FSSP instance.")); … … 138 122 139 123 InitializeOperators(); 140 RegisterEventHandlers();141 124 } 142 125 … … 147 130 148 131 [StorableHook(HookType.AfterDeserialization)] 149 private void AfterDeserialization() 150 { 151 RegisterEventHandlers(); 152 } 153 154 private void RegisterEventHandlers() 155 { 156 SolutionCreator.PermutationParameter.ActualNameChanged += new EventHandler(SolutionCreator_PermutationParameter_ActualNameChanged); 157 Evaluator.QualityParameter.ActualNameChanged += new EventHandler(Evaluator_QualityParameter_ActualNameChanged); 158 } 159 160 private void Evaluator_QualityParameter_ActualNameChanged(object sender, EventArgs e) 161 { 162 //Nothing to do ParameterizeAnalyzers(); 163 } 164 165 private void SolutionCreator_PermutationParameter_ActualNameChanged(object sender, EventArgs e) 166 { 167 ParameterizeEvaluator(); 168 //ParameterizeAnalyzers(); 169 ParameterizeOperators(); 170 } 171 172 #region Events 173 private void ScheduleEvaluator_QualityParameter_ActualNameChanged(object sender, EventArgs eventArgs) 174 { 175 ParameterizeOperators(); 176 } 177 178 private void SolutionCreator_SchedulingEncodingParameter_ActualNameChanged(object sender, EventArgs eventArgs) 179 { 180 ParameterizeOperators(); 181 } 182 183 private void ScheduleDecoder_ScheduleParameter_ActualNameChanged(object sender, EventArgs eventArgs) 184 { 185 ParameterizeOperators(); 186 } 187 #endregion 132 private void AfterDeserialization() { } 188 133 189 134 #region Problem Instance Handling … … 202 147 if (!permut.Contains(0)) { permut = permut.Select(v => v - 1).ToArray(); } 203 148 double bestKnownQuality = MakeSpanEvaluator.Apply( 204 new AwesomeMakeSpanEvaluator(),149 new CmaxMakeSpanEvaluator(), 205 150 new DoubleMatrix(data.ProcessingTimes), 206 151 new Permutation(PermutationTypes.Absolute, permut) … … 213 158 ParameterizeSolutionCreator(); 214 159 } 215 216 160 public FSSPData Export() 217 161 { … … 251 195 private void InitializeOperators() 252 196 { 253 var operators = new HashSet<IPermutationOperator>(new IPermutationOperator[] { 254 new OrderCrossover2(), 255 new InversionManipulator(), 256 new StochasticInversionMultiMoveGenerator() 257 }, new TypeEqualityComparer<IPermutationOperator>()); 258 259 foreach (var op in ApplicationManager.Manager.GetInstances<IPermutationOperator>()) 260 operators.Add(op); 261 Operators.AddRange(operators); 262 Operators.Add(new BestTSPSolutionAnalyzer()); 197 Operators.AddRange(ApplicationManager.Manager.GetInstances<IPermutationOperator>()); 263 198 ParameterizeOperators(); 264 UpdateMoveEvaluators(); 265 } 266 267 199 } 268 200 private void ParameterizeOperators() 269 201 { … … 306 238 } 307 239 } 308 #endregion309 310 private void UpdateMoveEvaluators()311 {312 Operators.RemoveAll(x => x is ISingleObjectiveMoveEvaluator);313 foreach (var op in ApplicationManager.Manager.GetInstances<ISingleObjectiveMoveEvaluator>())314 Operators.Add(op);315 316 ParameterizeOperators();317 OnOperatorsChanged();318 }319 320 240 private void ParameterizeSolutionCreator() 321 241 { 322 SolutionCreator.LengthParameter.Value = new IntValue(JobMatrix.Columns); //Jobs242 SolutionCreator.LengthParameter.Value = new IntValue(JobMatrix.Columns); 323 243 324 244 SolutionCreator.LengthParameter.Hidden = SolutionCreator.LengthParameter.Value != null; … … 328 248 private void ParameterizeEvaluator() 329 249 { 330 if (Evaluator is AwesomeMakeSpanEvaluator)250 if (Evaluator is CmaxMakeSpanEvaluator) 331 251 { 332 252 IMakespanEvaluator evaluator = (IMakespanEvaluator)Evaluator; … … 335 255 } 336 256 } 257 #endregion 337 258 } 338 259 } -
branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP/3.3/Plugin.cs
r15521 r15541 1 using HeuristicLab.PluginInfrastructure; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 using HeuristicLab.PluginInfrastructure; 2 23 3 24 namespace HeuristicLab.Problems.PFSP -
branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP/3.3/Properties/AssemblyInfo.cs
r15521 r15541 1 using System.Reflection; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2016 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 using System.Reflection; 2 23 using System.Runtime.InteropServices; 3 24 … … 33 54 // [assembly: AssemblyVersion("1.0.*")] 34 55 [assembly: AssemblyVersion("3.3.0.0")] 35 [assembly: AssemblyFileVersion("3.3.14.1 4965")]56 [assembly: AssemblyFileVersion("3.3.14.15521")] 36 57 -
branches/2864_PermutationProblems/PermutationProblems.sln
r15521 r15541 11 11 EndProject 12 12 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.PFSP.Views-3.3", "HeuristicLab.Problems.PFSP.Views\3.3\HeuristicLab.Problems.PFSP.Views-3.3.csproj", "{F53AECD6-061C-4A62-B2DB-51E36EECBB79}" 13 EndProject 14 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.Instances.LinearOrdering-3.3", "HeuristicLab.Problems.Instances.LinearOrdering\3.3\HeuristicLab.Problems.Instances.LinearOrdering-3.3.csproj", "{648F0BF0-6301-448C-816F-DEB1E65EC73F}" 15 EndProject 16 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.Instances-3.3", "HeuristicLab.Problems.Instances\3.3\HeuristicLab.Problems.Instances-3.3.csproj", "{3540E29E-4793-49E7-8EE2-FEA7F61C3994}" 13 17 EndProject 14 18 Global … … 70 74 {F53AECD6-061C-4A62-B2DB-51E36EECBB79}.Release|x86.ActiveCfg = Release|x86 71 75 {F53AECD6-061C-4A62-B2DB-51E36EECBB79}.Release|x86.Build.0 = Release|x86 76 {648F0BF0-6301-448C-816F-DEB1E65EC73F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 77 {648F0BF0-6301-448C-816F-DEB1E65EC73F}.Debug|Any CPU.Build.0 = Debug|Any CPU 78 {648F0BF0-6301-448C-816F-DEB1E65EC73F}.Debug|x64.ActiveCfg = Debug|Any CPU 79 {648F0BF0-6301-448C-816F-DEB1E65EC73F}.Debug|x64.Build.0 = Debug|Any CPU 80 {648F0BF0-6301-448C-816F-DEB1E65EC73F}.Debug|x86.ActiveCfg = Debug|Any CPU 81 {648F0BF0-6301-448C-816F-DEB1E65EC73F}.Debug|x86.Build.0 = Debug|Any CPU 82 {648F0BF0-6301-448C-816F-DEB1E65EC73F}.Release|Any CPU.ActiveCfg = Release|Any CPU 83 {648F0BF0-6301-448C-816F-DEB1E65EC73F}.Release|Any CPU.Build.0 = Release|Any CPU 84 {648F0BF0-6301-448C-816F-DEB1E65EC73F}.Release|x64.ActiveCfg = Release|Any CPU 85 {648F0BF0-6301-448C-816F-DEB1E65EC73F}.Release|x64.Build.0 = Release|Any CPU 86 {648F0BF0-6301-448C-816F-DEB1E65EC73F}.Release|x86.ActiveCfg = Release|Any CPU 87 {648F0BF0-6301-448C-816F-DEB1E65EC73F}.Release|x86.Build.0 = Release|Any CPU 88 {3540E29E-4793-49E7-8EE2-FEA7F61C3994}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 89 {3540E29E-4793-49E7-8EE2-FEA7F61C3994}.Debug|Any CPU.Build.0 = Debug|Any CPU 90 {3540E29E-4793-49E7-8EE2-FEA7F61C3994}.Debug|x64.ActiveCfg = Debug|x64 91 {3540E29E-4793-49E7-8EE2-FEA7F61C3994}.Debug|x64.Build.0 = Debug|x64 92 {3540E29E-4793-49E7-8EE2-FEA7F61C3994}.Debug|x86.ActiveCfg = Debug|x86 93 {3540E29E-4793-49E7-8EE2-FEA7F61C3994}.Debug|x86.Build.0 = Debug|x86 94 {3540E29E-4793-49E7-8EE2-FEA7F61C3994}.Release|Any CPU.ActiveCfg = Release|Any CPU 95 {3540E29E-4793-49E7-8EE2-FEA7F61C3994}.Release|Any CPU.Build.0 = Release|Any CPU 96 {3540E29E-4793-49E7-8EE2-FEA7F61C3994}.Release|x64.ActiveCfg = Release|x64 97 {3540E29E-4793-49E7-8EE2-FEA7F61C3994}.Release|x64.Build.0 = Release|x64 98 {3540E29E-4793-49E7-8EE2-FEA7F61C3994}.Release|x86.ActiveCfg = Release|x86 99 {3540E29E-4793-49E7-8EE2-FEA7F61C3994}.Release|x86.Build.0 = Release|x86 72 100 EndGlobalSection 73 101 GlobalSection(SolutionProperties) = preSolution
Note: See TracChangeset
for help on using the changeset viewer.