Changeset 15541


Ignore:
Timestamp:
12/19/17 11:10:14 (22 months ago)
Author:
fholzing
Message:

#2864: CleanUp of old code, added LOP benchmark instances

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  
    4040        public override string Description
    4141        {
    42             get { return "Permutation Flowshop scheduling problems as defined by Taillard."; }
     42            get { return "Permutation Flowshop Scheduling Problems (PFSP) as defined by Taillard."; }
    4343        }
    4444
     
    112112        public override bool CanExportData
    113113        {
    114             get { return true; }
     114            get { return false; }
    115115        }
    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       
    130117        private string GetDescription()
    131118        {
  • branches/2864_PermutationProblems/HeuristicLab.Problems.Instances.PFSP/3.3/FSSPTAILIBParser.cs

    r15521 r15541  
    6767            }
    6868        }
    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     
    7770        public void Parse(Stream stream)
    7871        {
     
    111104            }
    112105        }
    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   
    121107        public void Export(Stream stream)
    122108        {
    123             //TODO: complete Export, seems as if it is just a dummy (copy-paste)-implementation
    124109            using (var writer = new StreamWriter(stream, Encoding.UTF8, 4092, true))
    125110            {
    126111                writer.WriteLine(Name);
    127112                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++)
    130117                {
    131                     for (int j = 0; j < Jobs; j++)
     118                    for (int i = 0; i < Jobs; i++)
    132119                    {
    133                         writer.Write(ProcessingTimes[i, j] + " ");
     120                        writer.Write(ProcessingTimes[k, i] + "\t");
    134121                    }
    135122                    writer.WriteLine();
     123                }
     124
     125                if (BestKnownSchedule != null) {
     126                    writer.WriteLine(BestKnownSchedule);
    136127                }
    137128                writer.Flush();
    138129            }
    139130        }
    140 
    141131    }
    142132}
  • branches/2864_PermutationProblems/HeuristicLab.Problems.Instances.PFSP/3.3/HeuristicLab.Problems.Instances.PFSP-3.3.csproj

    r15521 r15541  
    1818    <DebugType>full</DebugType>
    1919    <Optimize>false</Optimize>
    20     <OutputPath>..\..\bin\</OutputPath>
     20    <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath>
    2121    <DefineConstants>DEBUG;TRACE</DefineConstants>
    2222    <ErrorReport>prompt</ErrorReport>
     
    3838  </PropertyGroup>
    3939  <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>
    4046    <Reference Include="System" />
    4147    <Reference Include="System.Core" />
     
    6268  </ItemGroup>
    6369  <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>
    7270    <ProjectReference Include="..\..\HeuristicLab.Problems.Instances\3.3\HeuristicLab.Problems.Instances-3.3.csproj">
    73       <Project>{3540E29E-4793-49E7-8EE2-FEA7F61C3994}</Project>
     71      <Project>{3540e29e-4793-49e7-8ee2-fea7f61c3994}</Project>
    7472      <Name>HeuristicLab.Problems.Instances-3.3</Name>
    7573    </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
     22using System.Reflection;
    223using System.Runtime.CompilerServices;
    324using System.Runtime.InteropServices;
     
    3455// [assembly: AssemblyVersion("1.0.*")]
    3556[assembly: AssemblyVersion("3.3.0.0")]
    36 [assembly: AssemblyFileVersion("3.3.14.14965")]
     57[assembly: AssemblyFileVersion("3.3.14.15521")]
  • branches/2864_PermutationProblems/HeuristicLab.Problems.LinearOrdering/3.3/Evaluators/LOPEvaluator.cs

    r15521 r15541  
    3636    public abstract class LOPEvaluator : InstrumentedOperator, ILOPEvaluator
    3737    {
    38         public override bool CanChangeName {
     38        public override bool CanChangeName
     39        {
    3940            get { return false; }
    4041        }
    4142
    42         public ILookupParameter<DoubleValue> QualityParameter {
     43        public ILookupParameter<DoubleValue> QualityParameter
     44        {
    4345            get { return (ILookupParameter<DoubleValue>)Parameters["Quality"]; }
    4446        }
  • branches/2864_PermutationProblems/HeuristicLab.Problems.LinearOrdering/3.3/Evaluators/MatrixTriangulationEvaluator.cs

    r15521 r15541  
    3131{
    3232    /// <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.
    3434    /// </summary>
    3535    [Item("MatrixTriangulationEvaluator", "A base class for operators which evaluate LOP solutions given in Matrix representation.")]
     
    3737    public abstract class MatrixTriangulationEvaluator : LOPEvaluator, IMatrixTriangulationEvaluator
    3838    {
    39         private object locker = new object();
    40 
    4139        public ILookupParameter<Permutation> PermutationParameter { get { return (ILookupParameter<Permutation>)Parameters["Permutation"]; } }
    4240        public ILookupParameter<DoubleMatrix> MatrixParameter { get { return (ILookupParameter<DoubleMatrix>)Parameters["Matrix"]; } }
    4341        public ILookupParameter<Permutation> BestKnownSolutionParameter { get { return (ILookupParameter<Permutation>)Parameters["BestKnownSolution"]; } }
    4442        public ILookupParameter<DoubleValue> BestKnownQualityParameter { get { return (ILookupParameter<DoubleValue>)Parameters["BestKnownQuality"]; } }
     43
    4544        [StorableConstructor]
    4645        protected MatrixTriangulationEvaluator(bool deserializing) : base(deserializing) { }
     
    4948          : base()
    5049        {
    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."));
    5251            Parameters.Add(new LookupParameter<DoubleMatrix>("Matrix", "The matrix which contains the distances between the cities."));
    5352            Parameters.Add(new LookupParameter<Permutation>("BestKnownSolution", "The currently best known solution."));
     
    5857        private void AfterDeserialization()
    5958        {
    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
    7060        }
    7161
    7262        public static double Apply(MatrixTriangulationEvaluator evaluator, DoubleMatrix matrix, Permutation permut)
    7363        {
    74             double length = evaluator.CalculateUpperTriangle(matrix, permut);
    75             return length;
     64            return evaluator.CalculateUpperTriangle(matrix, permut);
    7665        }
    7766
     
    8069            Permutation p = PermutationParameter.ActualValue;
    8170            DoubleMatrix c = MatrixParameter.ActualValue;
    82             if (c == null) throw new InvalidOperationException("No coordinates were given.");
     71            if (c == null) throw new InvalidOperationException("No matrix was given.");
    8372
    8473            double upperTriangle = CalculateUpperTriangle(c, p);
  • branches/2864_PermutationProblems/HeuristicLab.Problems.LinearOrdering/3.3/HeuristicLab.Problems.LinearOrdering-3.3.csproj

    r15521 r15541  
    1818    <DebugType>full</DebugType>
    1919    <Optimize>false</Optimize>
    20     <OutputPath>..\..\bin\</OutputPath>
     20    <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath>
    2121    <DefineConstants>DEBUG;TRACE</DefineConstants>
    2222    <ErrorReport>prompt</ErrorReport>
     
    3838  </PropertyGroup>
    3939  <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>
    4079    <Reference Include="System" />
    4180    <Reference Include="System.Core" />
     
    4988  </ItemGroup>
    5089  <ItemGroup>
    51     <Compile Include="Evaluators\AwesomeTriangulationEvaluator.cs" />
     90    <Compile Include="Evaluators\SuperdiagonalMatrixTriangulationEvaluator.cs" />
    5291    <Compile Include="Evaluators\MatrixTriangulationEvaluator.cs" />
    5392    <Compile Include="Evaluators\LOPEvaluator.cs" />
     
    5998  </ItemGroup>
    6099  <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>
    113105    <ProjectReference Include="..\..\HeuristicLab.Problems.Instances\3.3\HeuristicLab.Problems.Instances-3.3.csproj">
    114106      <Project>{3540E29E-4793-49E7-8EE2-FEA7F61C3994}</Project>
    115107      <Name>HeuristicLab.Problems.Instances-3.3</Name>
    116108    </ProjectReference>
    117   </ItemGroup>
    118   <ItemGroup>
    119     <None Include="HeuristicLab.snk" />
    120     <None Include="Plugin.cs.frame" />
    121     <None Include="Properties\AssemblyInfo.cs.frame" />
    122109  </ItemGroup>
    123110  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  • branches/2864_PermutationProblems/HeuristicLab.Problems.LinearOrdering/3.3/Interfaces/ILOPEvaluator.cs

    r15521 r15541  
    2828{
    2929    /// <summary>
    30     /// An evaluator for a Schedule
     30    /// An evaluator for a Linear Ordering Problem Matrix
    3131    /// </summary>
    3232    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
     22using HeuristicLab.Core;
    223using HeuristicLab.Data;
    324using HeuristicLab.Encodings.PermutationEncoding;
  • branches/2864_PermutationProblems/HeuristicLab.Problems.LinearOrdering/3.3/LinearOrderingProblem.cs

    r15521 r15541  
    2121
    2222using System;
    23 using System.Drawing;
    2423using System.Linq;
    2524using HeuristicLab.Common;
     
    3029using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    3130using HeuristicLab.PluginInfrastructure;
    32 using HeuristicLab.Problems.Instances;
    3331using HeuristicLab.Optimization;
    3432using System.Collections.Generic;
    3533using HeuristicLab.Problems.Instances.Types;
     34using HeuristicLab.Problems.Instances;
    3635
    3736namespace HeuristicLab.Problems.LinearOrdering
     
    6059
    6160        #region Parameter Properties
    62         public OptionalValueParameter<Permutation> BestKnownSolutionParameter {
     61        public OptionalValueParameter<Permutation> BestKnownSolutionParameter
     62        {
    6363            get { return (OptionalValueParameter<Permutation>)Parameters["BestKnownSolution"]; }
    6464        }
    6565
    66         public OptionalValueParameter<DoubleMatrix> MatrixParameter {
     66        public OptionalValueParameter<DoubleMatrix> MatrixParameter
     67        {
    6768            get { return (OptionalValueParameter<DoubleMatrix>)Parameters["Matrix"]; }
    6869        }
     
    7071
    7172        #region Properties
    72         public Permutation BestKnownSolution {
     73        public Permutation BestKnownSolution
     74        {
    7375            get { return BestKnownSolutionParameter.Value; }
    74             set {
     76            set
     77            {
    7578                BestKnownSolutionParameter.Value = value;
    7679                if (BestKnownSolutionChanged != null) { OnBestKnownSolutionChanged(); }
    7780            }
    7881        }
    79         public DoubleMatrix Matrix {
     82        public DoubleMatrix Matrix
     83        {
    8084            get { return MatrixParameter.Value; }
    8185            set { MatrixParameter.Value = value; }
     
    9599        [Obsolete]
    96100        [Storable(Name = "operators")]
    97         private IEnumerable<IOperator> oldOperators {
     101        private IEnumerable<IOperator> oldOperators
     102        {
    98103            get { return null; }
    99             set {
     104            set
     105            {
    100106                if (value != null && value.Any())
    101107                    Operators.AddRange(value);
     
    109115          : base(original, cloner)
    110116        {
    111             RegisterEventHandlers();
    112117        }
    113118        public LinearOrderingProblem()
    114           : base(new AwesomeTriangulationEvaluator(), new RandomPermutationCreator())
     119          : base(new SuperdiagonalMatrixTriangulationEvaluator(), new RandomPermutationCreator())
    115120        {
    116121            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"));
    118123
    119124            Load(DefaultInstance);
     
    124129            MaximizationParameter.Hidden = true;
    125130
    126             SolutionCreator.PermutationParameter.ActualName = "PFSPOrder";
    127             Evaluator.QualityParameter.ActualName = "Makespan";
     131            SolutionCreator.PermutationParameter.ActualName = "LOPOrder";
     132            Evaluator.QualityParameter.ActualName = "SuperDiagonale";
    128133            ParameterizeSolutionCreator();
    129134            ParameterizeEvaluator();
    130135
    131136            InitializeOperators();
    132             RegisterEventHandlers();
    133137        }
    134138
     
    141145        private void AfterDeserialization()
    142146        {
    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        }
    180148
    181149        #region Problem Instance Handling
     
    193161                if (!permut.Contains(0)) { permut = permut.Select(v => v - 1).ToArray(); }
    194162                double bestKnownQuality = MatrixTriangulationEvaluator.Apply(
    195                     new AwesomeTriangulationEvaluator(),
     163                    new SuperdiagonalMatrixTriangulationEvaluator(),
    196164                    new DoubleMatrix(data.Matrix),
    197165                    new Permutation(PermutationTypes.Absolute, permut)
     
    212180                Description = Description,
    213181                BestKnownQuality = BestKnownQuality.Value,
    214                 //BestKnownPermutation = Matrix.row,
    215                 //Machines = Matrix.Columns
     182                BestKnownPermutation = BestKnownSolution.ToArray(),
     183                Dimension = Matrix.Rows,
     184                Matrix = Matrix.CloneAsMatrix()
    216185            };
    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             }
    224186
    225187            return result;
     
    230192        private void InitializeOperators()
    231193        {
    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>());
    241195            ParameterizeOperators();
    242196            UpdateMoveEvaluators();
     
    294248        private void ParameterizeSolutionCreator()
    295249        {
    296             SolutionCreator.LengthParameter.Value = new IntValue(Matrix.Columns); //Jobs
     250            SolutionCreator.LengthParameter.Value = new IntValue(Matrix.Columns);
    297251
    298252            SolutionCreator.LengthParameter.Hidden = SolutionCreator.LengthParameter.Value != null;
     
    302256        private void ParameterizeEvaluator()
    303257        {
    304             if (Evaluator is AwesomeTriangulationEvaluator)
     258            if (Evaluator is IMatrixTriangulationEvaluator)
    305259            {
    306260                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
     22using HeuristicLab.PluginInfrastructure;
    223
    324namespace 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
     22using System.Reflection;
    223using System.Runtime.InteropServices;
    324
     
    3354// [assembly: AssemblyVersion("1.0.*")]
    3455[assembly: AssemblyVersion("3.3.0.0")]
    35 [assembly: AssemblyFileVersion("3.3.14.14965")]
     56[assembly: AssemblyFileVersion("3.3.14.15521")]
    3657
  • branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP.Views/3.3/HeuristicLab.Problems.PFSP.Views-3.3.csproj

    r15521 r15541  
    1919    <DebugType>full</DebugType>
    2020    <Optimize>false</Optimize>
    21     <OutputPath>$(SolutionDir)\bin\</OutputPath>
     21    <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath>
    2222    <DefineConstants>DEBUG;TRACE</DefineConstants>
    2323    <ErrorReport>prompt</ErrorReport>
     
    108108  </PropertyGroup>
    109109  <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>
    110153    <Reference Include="System" />
    111154    <Reference Include="System.Core" />
     
    116159  </ItemGroup>
    117160  <ItemGroup>
    118     <Compile Include="JobShopSchedulingProblemView.cs" />
     161    <Compile Include="JobShopSchedulingProblemView.cs">
     162      <SubType>UserControl</SubType>
     163    </Compile>
    119164    <Compile Include="JobShopSchedulingProblemView.Designer.cs">
    120165      <DependentUpon>JobShopSchedulingProblemView.cs</DependentUpon>
     
    129174  </ItemGroup>
    130175  <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>
    202176    <ProjectReference Include="..\..\HeuristicLab.Problems.PFSP\3.3\HeuristicLab.Problems.PFSP-3.3.csproj">
    203177      <Project>{51650b00-4ca6-41ff-8cb6-165fcacc3b51}</Project>
    204178      <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>
    210179    </ProjectReference>
    211180  </ItemGroup>
  • branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP.Views/3.3/JobShopSchedulingProblemView.cs

    r15521 r15541  
    3131namespace HeuristicLab.Problems.PFSP.Views
    3232{
    33     [View("JobShop Scheduling Problem View")]
     33    [View("Permutation Flowshop Scheduling Problem View")]
    3434    [Content(typeof(PermutationFlowshopSchedulingProblem), true)]
    3535    public partial class JobShopSchedulingProblemView : ProblemView
  • branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP.Views/3.3/Plugin.cs

    r15521 r15541  
    2323
    2424namespace HeuristicLab.Problems.PFSP.Views {
    25   [Plugin("HeuristicLab.Problems.PFSP.Views", "3.3.14.14190")]
     25  [Plugin("HeuristicLab.Problems.PFSP.Views", "3.3.14.15521")]
    2626  [PluginFile("HeuristicLab.Problems.PFSP.Views-3.3.dll", PluginFileType.Assembly)]
    2727  [PluginDependency("HeuristicLab.Collections", "3.3")]
  • branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP.Views/3.3/Properties/AssemblyInfo.cs

    r15521 r15541  
    4141
    4242// The following GUID is for the ID of the typelib if this project is exposed to COM
    43 [assembly: Guid("ABF1DB5E-5774-48AB-B65A-5CF405C0E2A9")]
     43[assembly: Guid("ABF1DB5E-5774-48AB-B65A-5CF405C0E2A8")]
    4444
    4545// Version information for an assembly consists of the following four values:
     
    5353// by using the '*' as shown below:
    5454[assembly: AssemblyVersion("3.3.0.0")]
    55 [assembly: AssemblyFileVersion("3.3.14.14190")]
     55[assembly: AssemblyFileVersion("3.3.14.15521")]
  • branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP/3.3/Evaluators/MakeSpanEvaluator.cs

    r15521 r15541  
    3131{
    3232    /// <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
    3434    /// </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.")]
    3636    [StorableClass]
    3737    public abstract class MakeSpanEvaluator : PFSPEvaluator, IMakespanEvaluator
    3838    {
    39         private object locker = new object();
    40 
    4139        public ILookupParameter<Permutation> PermutationParameter { get { return (ILookupParameter<Permutation>)Parameters["Permutation"]; } }
    4240        public ILookupParameter<JobMatrix> JobMatrixParameter { get { return (ILookupParameter<JobMatrix>)Parameters["JobMatrix"]; } }
     
    4947          : base()
    5048        {
    51             Parameters.Add(new LookupParameter<Permutation>("Permutation", "The TSP solution given in path representation 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."));
    5351            Parameters.Add(new LookupParameter<Permutation>("BestKnownSolution", "The currently best known solution."));
    5452            Parameters.Add(new LookupParameter<DoubleValue>("BestKnownQuality", "The currently best known quality."));
     
    5654
    5755        [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() { }
    7157
    7258        public static double Apply(MakeSpanEvaluator evaluator, DoubleMatrix matrix, Permutation tour)
    7359        {
    74             double length = evaluator.CalculateMakespan(matrix, tour);
    75             return length;
     60            return evaluator.CalculateMakespan(matrix, tour);
    7661        }
    7762
     
    8065            Permutation p = PermutationParameter.ActualValue;
    8166            DoubleMatrix c = JobMatrixParameter.ActualValue;
    82             if (c == null) throw new InvalidOperationException("No coordinates were given.");
     67            if (c == null) throw new InvalidOperationException("No matrix was given.");
    8368
    8469            double makespan = CalculateMakespan(c, p);
     
    9378        }
    9479
    95         protected abstract double CalculateMakespan(DoubleMatrix matrix, Permutation tour);
     80        protected abstract double CalculateMakespan(DoubleMatrix matrix, Permutation perm);
    9681    }
    9782}
  • branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP/3.3/Evaluators/PFSPEvaluator.cs

    r15521 r15541  
    3030{
    3131    /// <summary>
    32     /// A base class for operators which evaluate TSP solutions.
     32    /// A base class for operators which evaluate PFSP solutions.
    3333    /// </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.")]
    3535    [StorableClass]
    3636    public abstract class PFSPEvaluator : InstrumentedOperator, IPFSPEvaluator
     
    5252          : base()
    5353        {
    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."));
    5555        }
    5656    }
  • branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP/3.3/HeuristicLab.Problems.PFSP-3.3.csproj

    r15521 r15541  
    1818    <DebugType>full</DebugType>
    1919    <Optimize>false</Optimize>
    20     <OutputPath>..\..\bin\</OutputPath>
     20    <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath>
    2121    <DefineConstants>DEBUG;TRACE</DefineConstants>
    2222    <ErrorReport>prompt</ErrorReport>
     
    3838  </PropertyGroup>
    3939  <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>
    4079    <Reference Include="System" />
    4180    <Reference Include="System.Core" />
     
    4988  </ItemGroup>
    5089  <ItemGroup>
    51     <Compile Include="Analyzers\BestPFSPSolutionAnalyzer.cs" />
    52     <Compile Include="Evaluators\AwesomeMakeSpanEvaluator.cs" />
     90    <Compile Include="Evaluators\CmaxMakeSpanEvaluator.cs" />
    5391    <Compile Include="Evaluators\MakeSpanEvaluator.cs" />
    5492    <Compile Include="Evaluators\PFSPEvaluator.cs" />
     
    6199  </ItemGroup>
    62100  <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>
    121101    <None Include="HeuristicLab.snk" />
    122102    <None Include="Plugin.cs.frame" />
    123103    <None Include="Properties\AssemblyInfo.cs.frame" />
    124104  </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 />
    125112  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    126113  <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
     22using HeuristicLab.Core;
    223using HeuristicLab.Data;
    324using HeuristicLab.Encodings.PermutationEncoding;
  • branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP/3.3/JobMatrix.cs

    r15521 r15541  
    2727using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2828
    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.");
     29namespace 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        }
    3756    }
    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 reasons
    48       cloner.RegisterClonedObject(this, this);
    49       return this;
    50     }
    51   }
    5257}
  • branches/2864_PermutationProblems/HeuristicLab.Problems.PFSP/3.3/PermutationFlowshopSchedulingProblem.cs

    r15521 r15541  
    9797        }
    9898
    99         // BackwardsCompatibility3.3
    100         #region Backwards compatible code, remove with 3.4
    101         [Obsolete]
    102         [Storable(Name = "operators")]
    103         private IEnumerable<IOperator> oldOperators
    104         {
    105             get { return null; }
    106             set
    107             {
    108                 if (value != null && value.Any())
    109                     Operators.AddRange(value);
    110             }
    111         }
    112         #endregion
    113 
    11499        [StorableConstructor]
    115100        private PermutationFlowshopSchedulingProblem(bool deserializing) : base(deserializing) { }
     
    117102          : base(original, cloner)
    118103        {
    119             RegisterEventHandlers();
    120104        }
    121105        public PermutationFlowshopSchedulingProblem()
    122           : base(new AwesomeMakeSpanEvaluator(), new RandomPermutationCreator())
     106          : base(new CmaxMakeSpanEvaluator(), new RandomPermutationCreator())
    123107        {
    124108            Parameters.Add(new OptionalValueParameter<Permutation>("BestKnownSolution", "The best known solution of this FSSP instance."));
     
    138122
    139123            InitializeOperators();
    140             RegisterEventHandlers();
    141124        }
    142125
     
    147130
    148131        [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() { }
    188133
    189134        #region Problem Instance Handling
     
    202147                if (!permut.Contains(0)) { permut = permut.Select(v => v - 1).ToArray(); }
    203148                double bestKnownQuality = MakeSpanEvaluator.Apply(
    204                     new AwesomeMakeSpanEvaluator(),
     149                    new CmaxMakeSpanEvaluator(),
    205150                    new DoubleMatrix(data.ProcessingTimes),
    206151                    new Permutation(PermutationTypes.Absolute, permut)
     
    213158            ParameterizeSolutionCreator();
    214159        }
    215 
    216160        public FSSPData Export()
    217161        {
     
    251195        private void InitializeOperators()
    252196        {
    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>());
    263198            ParameterizeOperators();
    264             UpdateMoveEvaluators();
    265         }
    266 
    267 
     199        }
    268200        private void ParameterizeOperators()
    269201        {
     
    306238            }
    307239        }
    308         #endregion
    309 
    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 
    320240        private void ParameterizeSolutionCreator()
    321241        {
    322             SolutionCreator.LengthParameter.Value = new IntValue(JobMatrix.Columns); //Jobs
     242            SolutionCreator.LengthParameter.Value = new IntValue(JobMatrix.Columns);
    323243
    324244            SolutionCreator.LengthParameter.Hidden = SolutionCreator.LengthParameter.Value != null;
     
    328248        private void ParameterizeEvaluator()
    329249        {
    330             if (Evaluator is AwesomeMakeSpanEvaluator)
     250            if (Evaluator is CmaxMakeSpanEvaluator)
    331251            {
    332252                IMakespanEvaluator evaluator = (IMakespanEvaluator)Evaluator;
     
    335255            }
    336256        }
     257        #endregion
    337258    }
    338259}
  • 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
     22using HeuristicLab.PluginInfrastructure;
    223
    324namespace 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
     22using System.Reflection;
    223using System.Runtime.InteropServices;
    324
     
    3354// [assembly: AssemblyVersion("1.0.*")]
    3455[assembly: AssemblyVersion("3.3.0.0")]
    35 [assembly: AssemblyFileVersion("3.3.14.14965")]
     56[assembly: AssemblyFileVersion("3.3.14.15521")]
    3657
  • branches/2864_PermutationProblems/PermutationProblems.sln

    r15521 r15541  
    1111EndProject
    1212Project("{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}"
     13EndProject
     14Project("{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}"
     15EndProject
     16Project("{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}"
    1317EndProject
    1418Global
     
    7074    {F53AECD6-061C-4A62-B2DB-51E36EECBB79}.Release|x86.ActiveCfg = Release|x86
    7175    {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
    72100  EndGlobalSection
    73101  GlobalSection(SolutionProperties) = preSolution
Note: See TracChangeset for help on using the changeset viewer.