Changeset 12743
- Timestamp:
- 07/11/15 20:27:00 (9 years ago)
- Location:
- trunk/sources
- Files:
-
- 1 added
- 4 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Encodings.LinearLinkageEncoding/3.3/Manipulators/MultiLLEManipulator.cs
r12701 r12743 58 58 Operators.Add((ILinearLinkageManipulator)Activator.CreateInstance(type), true); 59 59 } 60 Operators.SetItemCheckedState(Operators.OfType<SwapItemManipulator>().First(), false);61 Operators.SetItemCheckedState(Operators.OfType<GraftManipulator>().First(), false);62 60 SelectedOperatorParameter.ActualName = "SelectedManipulationOperator"; 63 61 } -
trunk/sources/HeuristicLab.Optimizer/3.3/HeuristicLab.Optimizer-3.3.csproj
r12722 r12743 146 146 <EmbeddedResource Include="Documents\GridSearch_SVM_Regression_Script.hl" /> 147 147 <EmbeddedResource Include="Documents\VNS_OP.hl" /> 148 <EmbeddedResource Include="Documents\GA_Grouping.hl" /> 148 149 <None Include="Plugin.cs.frame" /> 149 150 <Compile Include="OptimizerSingleDocumentMainForm.cs"> -
trunk/sources/HeuristicLab.Optimizer/3.3/StartPage.cs
r12722 r12743 65 65 using (Stream stream = assembly.GetManifestResourceStream(typeof(StartPage), "Documents.FirstSteps.rtf")) 66 66 firstStepsRichTextBox.LoadFile(stream, RichTextBoxStreamType.RichText); 67 } 68 catch (Exception) { } 67 } catch (Exception) { } 69 68 70 69 samplesListView.Enabled = false; … … 112 111 113 112 OnAllSamplesLoaded(); 114 } 115 finally { 113 } finally { 116 114 MainFormManager.GetMainForm<HeuristicLab.MainForm.WindowsForms.MainForm>().RemoveOperationProgressFromView(samplesListView); 117 115 } … … 126 124 OnSampleLoaded(item, group, 1.0 / count); 127 125 } 128 } 129 catch (Exception) { 130 } 131 finally { 126 } catch (Exception) { 127 } finally { 132 128 if (File.Exists(path)) { 133 129 File.Delete(path); // make sure we remove the temporary file … … 137 133 138 134 private void FillGroupLookup() { 139 var standardProblems = new List<string> { "ES_Griewank", "GA_ TSP", "GA_VRP", "GE_ArtificialAnt",135 var standardProblems = new List<string> { "ES_Griewank", "GA_Grouping", "GA_TSP", "GA_VRP", "GE_ArtificialAnt", 140 136 "IslandGA_TSP", "LS_Knapsack", "PSO_Schwefel", "RAPGA_JSSP", 141 137 "SA_Rastrigin", "SGP_SantaFe","GP_Multiplexer", "SS_VRP", "TS_TSP", "TS_VRP", "VNS_OP" ,"VNS_TSP" … … 185 181 mainForm.SetWaitCursor(); 186 182 mainForm.ShowContent((IContent)((IItem)samplesListView.SelectedItems[0].Tag).Clone()); 187 } 188 finally { 183 } finally { 189 184 mainForm.ResetWaitCursor(); 190 185 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab-3.3/Samples/GAGroupingProblemSampleTest.cs
r12731 r12743 21 21 22 22 using System.IO; 23 using System.Linq;24 23 using HeuristicLab.Algorithms.GeneticAlgorithm; 25 using HeuristicLab.Encodings. PermutationEncoding;24 using HeuristicLab.Encodings.LinearLinkageEncoding; 26 25 using HeuristicLab.Persistence.Default.Xml; 27 using HeuristicLab.Problems.Instances.TSPLIB; 28 using HeuristicLab.Problems.TravelingSalesman; 26 using HeuristicLab.Problems.Programmable; 29 27 using HeuristicLab.Selection; 30 28 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 32 30 namespace HeuristicLab.Tests { 33 31 [TestClass] 34 public class GATspSampleTest { 35 private const string SampleFileName = "GA_TSP"; 32 public class GAGroupingProblemSampleTest { 33 private const string SampleFileName = "GA_Grouping"; 34 #region Code 35 private const string ProblemCode = @" 36 using System; 37 using System.Linq; 38 using System.Collections.Generic; 39 using HeuristicLab.Common; 40 using HeuristicLab.Core; 41 using HeuristicLab.Data; 42 using HeuristicLab.Encodings.LinearLinkageEncoding; 43 using HeuristicLab.Optimization; 44 using HeuristicLab.Problems.Programmable; 45 46 namespace HeuristicLab.Problems.Programmable { 47 public class CompiledSingleObjectiveProblemDefinition : CompiledProblemDefinition, ISingleObjectiveProblemDefinition { 48 private const int ProblemSize = 100; 49 public bool Maximization { get { return false; } } 50 51 private bool[,] allowedTogether; 52 53 public override void Initialize() { 54 var encoding = new LinearLinkageEncoding(""lle"", length: ProblemSize); 55 allowedTogether = new bool[encoding.Length, encoding.Length]; 56 var random = new System.Random(13); 57 for (var i = 0; i < encoding.Length - 1; i++) 58 for (var j = i + 1; j < encoding.Length; j++) 59 allowedTogether[i, j] = allowedTogether[j, i] = random.Next(2) == 0; 60 61 Encoding = encoding; 62 } 63 64 public double Evaluate(Individual individual, IRandom random) { 65 var penalty = 0; 66 var groups = individual.LinearLinkage(""lle"").GetGroups().ToList(); 67 for (var i = 0; i < groups.Count; i++) { 68 for (var j = 0; j < groups[i].Count; j++) 69 for (var k = j + 1; k < groups[i].Count; k++) 70 if (!allowedTogether[groups[i][j], groups[i][k]]) penalty++; 71 } 72 if (penalty > 0) return penalty + ProblemSize; 73 else return groups.Count; 74 } 75 76 public void Analyze(Individual[] individuals, double[] qualities, ResultCollection results, IRandom random) { } 77 78 public IEnumerable<Individual> GetNeighbors(Individual individual, IRandom random) { 79 foreach (var move in ExhaustiveSwap2MoveGenerator.Generate(individual.LinearLinkage(""lle""))) { 80 var neighbor = individual.Copy(); 81 var lle = neighbor.LinearLinkage(""lle""); 82 Swap2MoveMaker.Apply(lle, move); 83 yield return neighbor; 84 } 85 } 86 } 87 } 88 "; 89 #endregion 36 90 37 91 [TestMethod] 38 92 [TestCategory("Samples.Create")] 39 93 [TestProperty("Time", "medium")] 40 public void CreateGa TspSampleTest() {41 var ga = CreateGa TspSample();94 public void CreateGaGroupingProblemSampleTest() { 95 var ga = CreateGaGroupingProblemSample(); 42 96 string path = Path.Combine(SamplesUtils.SamplesDirectory, SampleFileName + SamplesUtils.SampleFileExtension); 43 97 XmlGenerator.Serialize(ga, path); … … 47 101 [TestCategory("Samples.Execute")] 48 102 [TestProperty("Time", "long")] 49 public void RunGa TspSampleTest() {50 var ga = CreateGa TspSample();103 public void RunGaGroupingProblemSampleTest() { 104 var ga = CreateGaGroupingProblemSample(); 51 105 ga.SetSeedRandomly.Value = false; 52 106 SamplesUtils.RunAlgorithm(ga); 53 Assert.AreEqual( 12332, SamplesUtils.GetDoubleResult(ga, "BestQuality"));54 Assert.AreEqual( 13123.2, SamplesUtils.GetDoubleResult(ga, "CurrentAverageQuality"));55 Assert.AreEqual(1 4538, SamplesUtils.GetDoubleResult(ga, "CurrentWorstQuality"));107 Assert.AreEqual(26, SamplesUtils.GetDoubleResult(ga, "BestQuality")); 108 Assert.AreEqual(27.58, SamplesUtils.GetDoubleResult(ga, "CurrentAverageQuality")); 109 Assert.AreEqual(105, SamplesUtils.GetDoubleResult(ga, "CurrentWorstQuality")); 56 110 Assert.AreEqual(99100, SamplesUtils.GetIntResult(ga, "EvaluatedSolutions")); 57 111 } 58 112 59 private GeneticAlgorithm CreateGa TspSample() {113 private GeneticAlgorithm CreateGaGroupingProblemSample() { 60 114 GeneticAlgorithm ga = new GeneticAlgorithm(); 61 115 62 116 #region Problem Configuration 63 var provider = new TSPLIBTSPInstanceProvider(); 64 var instance = provider.GetDataDescriptors().Where(x => x.Name == "ch130").Single(); 65 TravelingSalesmanProblem tspProblem = new TravelingSalesmanProblem(); 66 tspProblem.Load(provider.LoadData(instance)); 67 tspProblem.UseDistanceMatrix.Value = true; 117 var problem = new SingleObjectiveProgrammableProblem() { 118 ProblemScript = { Code = ProblemCode } 119 }; 120 problem.ProblemScript.Compile(); 68 121 #endregion 69 122 #region Algorithm Configuration 70 ga.Name = "Genetic Algorithm - TSP";71 ga.Description = "A genetic algorithm which solves the \"ch130\" traveling salesman problem (imported from TSPLIB)";72 ga.Problem = tspProblem;73 SamplesUtils.ConfigureGeneticAlgorithmParameters< ProportionalSelector, OrderCrossover2, InversionManipulator>(74 ga, 100, 1, 1000, 0.05 );123 ga.Name = "Genetic Algorithm - Grouping Problem"; 124 ga.Description = "A genetic algorithm which solves a grouping problem using the linear linkage encoding."; 125 ga.Problem = problem; 126 SamplesUtils.ConfigureGeneticAlgorithmParameters<TournamentSelector, MultiLinearLinkageCrossover, MultiLinearLinkageManipulator>( 127 ga, 100, 1, 1000, 0.05, 2); 75 128 #endregion 76 129 -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Tests.csproj
r12722 r12743 189 189 <Private>False</Private> 190 190 <HintPath>..\bin\HeuristicLab.Encodings.IntegerVectorEncoding-3.3.dll</HintPath> 191 </Reference> 192 <Reference Include="HeuristicLab.Encodings.LinearLinkageEncoding-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 193 <SpecificVersion>False</SpecificVersion> 194 <HintPath>..\bin\HeuristicLab.Encodings.LinearLinkageEncoding-3.3.dll</HintPath> 191 195 </Reference> 192 196 <Reference Include="HeuristicLab.Encodings.PermutationEncoding-3.3"> … … 422 426 <Compile Include="HeuristicLab-3.3\PluginDependenciesTest.cs" /> 423 427 <Compile Include="HeuristicLab-3.3\PluginLoader.cs" /> 428 <Compile Include="HeuristicLab-3.3\Samples\GAGroupingProblemSampleTest.cs" /> 424 429 <Compile Include="HeuristicLab-3.3\Samples\VnsOpSampleTest.cs" /> 425 430 <Compile Include="HeuristicLab-3.3\Samples\EsGriewankSampleTest.cs" />
Note: See TracChangeset
for help on using the changeset viewer.