Changeset 14542 for branches/symbreg-factors-2650
- Timestamp:
- 01/04/17 16:33:37 (8 years ago)
- Location:
- branches/symbreg-factors-2650
- Files:
-
- 55 edited
- 3 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/symbreg-factors-2650
- Property svn:mergeinfo changed
/trunk/sources merged: 14504,14506-14509,14516-14517,14519,14522-14523,14527-14529,14531-14533
- Property svn:mergeinfo changed
-
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Algorithms.DataAnalysis merged: 14523
- Property svn:mergeinfo changed
-
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/BaselineClassifiers/OneR.cs
r14242 r14542 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using System.Threading; 25 26 using HeuristicLab.Common; 26 27 using HeuristicLab.Core; … … 59 60 } 60 61 61 protected override void Run( ) {62 protected override void Run(CancellationToken cancellationToken) { 62 63 var solution = CreateOneRSolution(Problem.ProblemData, MinBucketSizeParameter.Value.Value); 63 64 Results.Add(new Result("OneR solution", "The 1R classifier.", solution)); -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/BaselineClassifiers/ZeroR.cs
r14185 r14542 21 21 22 22 using System.Linq; 23 using System.Threading; 23 24 using HeuristicLab.Common; 24 25 using HeuristicLab.Core; … … 49 50 } 50 51 51 protected override void Run( ) {52 protected override void Run(CancellationToken cancellationToken) { 52 53 var solution = CreateZeroRSolution(Problem.ProblemData); 53 54 Results.Add(new Result("ZeroR solution", "The simplest possible classifier, ZeroR always predicts the majority class.", solution)); -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/FixedDataAnalysisAlgorithm.cs
r14185 r14542 21 21 22 22 using System; 23 using System.Threading;24 using System.Threading.Tasks;25 23 using HeuristicLab.Common; 26 24 using HeuristicLab.Optimization; … … 30 28 namespace HeuristicLab.Algorithms.DataAnalysis { 31 29 [StorableClass] 32 public abstract class FixedDataAnalysisAlgorithm<T> : Algorithm, 33 IDataAnalysisAlgorithm<T>, 34 IStorableContent 35 where T : class, IDataAnalysisProblem { 36 public string Filename { get; set; } 37 30 public abstract class FixedDataAnalysisAlgorithm<T> : BasicAlgorithm where T : class, IDataAnalysisProblem { 38 31 #region Properties 39 32 public override Type ProblemType { … … 44 37 set { base.Problem = value; } 45 38 } 46 [Storable]47 private ResultCollection results;48 public override ResultCollection Results {49 get { return results; }50 }51 39 #endregion 52 40 53 p rivate DateTime lastUpdateTime;41 public override bool SupportsPause { get { return false; } } 54 42 55 43 [StorableConstructor] 56 44 protected FixedDataAnalysisAlgorithm(bool deserializing) : base(deserializing) { } 57 protected FixedDataAnalysisAlgorithm(FixedDataAnalysisAlgorithm<T> original, Cloner cloner) 58 : base(original, cloner) { 59 results = cloner.Clone(original.Results); 60 } 61 public FixedDataAnalysisAlgorithm() 62 : base() { 63 results = new ResultCollection(); 64 } 65 66 public override void Prepare() { 67 if (Problem != null) base.Prepare(); 68 results.Clear(); 69 OnPrepared(); 70 } 71 72 public override void Start() { 73 base.Start(); 74 var cancellationTokenSource = new CancellationTokenSource(); 75 76 OnStarted(); 77 Task task = Task.Factory.StartNew(Run, cancellationTokenSource.Token, cancellationTokenSource.Token); 78 task.ContinueWith(t => { 79 try { 80 t.Wait(); 81 } 82 catch (AggregateException ex) { 83 try { 84 ex.Flatten().Handle(x => x is OperationCanceledException); 85 } 86 catch (AggregateException remaining) { 87 if (remaining.InnerExceptions.Count == 1) OnExceptionOccurred(remaining.InnerExceptions[0]); 88 else OnExceptionOccurred(remaining); 89 } 90 } 91 cancellationTokenSource.Dispose(); 92 cancellationTokenSource = null; 93 OnStopped(); 94 }); 95 } 96 private void Run(object state) { 97 CancellationToken cancellationToken = (CancellationToken)state; 98 lastUpdateTime = DateTime.UtcNow; 99 System.Timers.Timer timer = new System.Timers.Timer(250); 100 timer.AutoReset = true; 101 timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed); 102 timer.Start(); 103 try { 104 Run(); 105 } 106 finally { 107 timer.Elapsed -= new System.Timers.ElapsedEventHandler(timer_Elapsed); 108 timer.Stop(); 109 ExecutionTime += DateTime.UtcNow - lastUpdateTime; 110 } 111 112 cancellationToken.ThrowIfCancellationRequested(); 113 } 114 protected abstract void Run(); 115 #region Events 116 protected override void OnProblemChanged() { 117 Problem.Reset += new EventHandler(Problem_Reset); 118 base.OnProblemChanged(); 119 } 120 private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { 121 System.Timers.Timer timer = (System.Timers.Timer)sender; 122 timer.Enabled = false; 123 DateTime now = DateTime.UtcNow; 124 ExecutionTime += now - lastUpdateTime; 125 lastUpdateTime = now; 126 timer.Enabled = true; 127 } 128 #endregion 45 protected FixedDataAnalysisAlgorithm(FixedDataAnalysisAlgorithm<T> original, Cloner cloner) : base(original, cloner) { } 46 public FixedDataAnalysisAlgorithm() : base() { } 129 47 130 48 } -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/GBM/GradientBoostingRegressionAlgorithm.cs
r14185 r14542 44 44 [StorableClass] 45 45 [Creatable(CreatableAttribute.Categories.DataAnalysisRegression, Priority = 350)] 46 public class GradientBoostingRegressionAlgorithm : BasicAlgorithm { 47 public override Type ProblemType { 48 get { return typeof(IRegressionProblem); } 49 } 50 51 public new IRegressionProblem Problem { 52 get { return (IRegressionProblem)base.Problem; } 53 set { base.Problem = value; } 54 } 46 public class GradientBoostingRegressionAlgorithm : FixedDataAnalysisAlgorithm<IRegressionProblem> { 55 47 56 48 #region ParameterNames -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesAlgorithm.cs
r14351 r14542 38 38 [StorableClass] 39 39 [Creatable(CreatableAttribute.Categories.DataAnalysisRegression, Priority = 125)] 40 public class GradientBoostedTreesAlgorithm : BasicAlgorithm { 41 public override Type ProblemType { 42 get { return typeof(IRegressionProblem); } 43 } 44 public new IRegressionProblem Problem { 45 get { return (IRegressionProblem)base.Problem; } 46 set { base.Problem = value; } 47 } 48 40 public class GradientBoostedTreesAlgorithm : FixedDataAnalysisAlgorithm<IRegressionProblem> { 49 41 #region ParameterNames 50 42 private const string IterationsParameterName = "Iterations"; -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/Linear/LinearDiscriminantAnalysis.cs
r14243 r14542 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using System.Threading; 25 26 using HeuristicLab.Common; 26 27 using HeuristicLab.Core; … … 59 60 60 61 #region Fisher LDA 61 protected override void Run( ) {62 protected override void Run(CancellationToken cancellationToken) { 62 63 var solution = CreateLinearDiscriminantAnalysisSolution(Problem.ProblemData); 63 64 Results.Add(new Result(LinearDiscriminantAnalysisSolutionResultName, "The linear discriminant analysis.", solution)); -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/Linear/LinearRegression.cs
r14243 r14542 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using System.Threading; 25 26 using HeuristicLab.Common; 26 27 using HeuristicLab.Core; … … 60 61 61 62 #region linear regression 62 protected override void Run( ) {63 protected override void Run(CancellationToken cancellationToken) { 63 64 double rmsError, cvRmsError; 64 65 var solution = CreateLinearRegressionSolution(Problem.ProblemData, out rmsError, out cvRmsError); -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/Linear/MultinomialLogitClassification.cs
r14240 r14542 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using System.Threading; 25 26 using HeuristicLab.Common; 26 27 using HeuristicLab.Core; … … 57 58 58 59 #region logit classification 59 protected override void Run( ) {60 protected override void Run(CancellationToken cancellationToken) { 60 61 double rmsError, relClassError; 61 62 var solution = CreateLogitClassificationSolution(Problem.ProblemData, out rmsError, out relClassError); -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/MctsSymbolicRegressionAlgorithm.cs
r14185 r14542 38 38 [StorableClass] 39 39 [Creatable(CreatableAttribute.Categories.DataAnalysisRegression, Priority = 250)] 40 public class MctsSymbolicRegressionAlgorithm : BasicAlgorithm { 41 public override Type ProblemType { 42 get { return typeof(IRegressionProblem); } 43 } 44 public new IRegressionProblem Problem { 45 get { return (IRegressionProblem)base.Problem; } 46 set { base.Problem = value; } 47 } 40 public class MctsSymbolicRegressionAlgorithm : FixedDataAnalysisAlgorithm<IRegressionProblem> { 48 41 49 42 #region ParameterNames -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/NearestNeighbour/NearestNeighbourClassification.cs
r14239 r14542 22 22 using System; 23 23 using System.Linq; 24 using System.Threading; 24 25 using HeuristicLab.Common; 25 26 using HeuristicLab.Core; … … 91 92 92 93 #region nearest neighbour 93 protected override void Run( ) {94 protected override void Run(CancellationToken cancellationToken) { 94 95 double[] weights = null; 95 96 if (Weights != null) weights = Weights.CloneAsArray(); -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/NearestNeighbour/NearestNeighbourRegression.cs
r14239 r14542 21 21 22 22 using System; 23 using System.Threading; 23 24 using HeuristicLab.Common; 24 25 using HeuristicLab.Core; … … 92 93 93 94 #region nearest neighbour 94 protected override void Run( ) {95 protected override void Run(CancellationToken cancellationToken) { 95 96 double[] weights = null; 96 97 if (Weights != null) weights = Weights.CloneAsArray(); -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/NeuralNetwork/NeuralNetworkClassification.cs
r14185 r14542 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using System.Threading; 25 26 using HeuristicLab.Common; 26 27 using HeuristicLab.Core; … … 168 169 169 170 #region neural network 170 protected override void Run( ) {171 protected override void Run(CancellationToken cancellationToken) { 171 172 double rmsError, avgRelError, relClassError; 172 173 var solution = CreateNeuralNetworkClassificationSolution(Problem.ProblemData, HiddenLayers, NodesInFirstHiddenLayer, NodesInSecondHiddenLayer, Decay, Restarts, out rmsError, out avgRelError, out relClassError); -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/NeuralNetwork/NeuralNetworkEnsembleClassification.cs
r14185 r14542 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using System.Threading; 25 26 using HeuristicLab.Common; 26 27 using HeuristicLab.Core; … … 154 155 155 156 #region neural network ensemble 156 protected override void Run( ) {157 protected override void Run(CancellationToken cancellationToken) { 157 158 double rmsError, avgRelError, relClassError; 158 159 var solution = CreateNeuralNetworkEnsembleClassificationSolution(Problem.ProblemData, EnsembleSize, HiddenLayers, NodesInFirstHiddenLayer, NodesInSecondHiddenLayer, Decay, Restarts, out rmsError, out avgRelError, out relClassError); -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/NeuralNetwork/NeuralNetworkEnsembleRegression.cs
r14185 r14542 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using System.Threading; 25 26 using HeuristicLab.Common; 26 27 using HeuristicLab.Core; … … 154 155 155 156 #region neural network ensemble 156 protected override void Run( ) {157 protected override void Run(CancellationToken cancellationToken) { 157 158 double rmsError, avgRelError; 158 159 var solution = CreateNeuralNetworkEnsembleRegressionSolution(Problem.ProblemData, EnsembleSize, HiddenLayers, NodesInFirstHiddenLayer, NodesInSecondHiddenLayer, Decay, Restarts, out rmsError, out avgRelError); -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/NeuralNetwork/NeuralNetworkRegression.cs
r14185 r14542 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using System.Threading; 25 26 using HeuristicLab.Common; 26 27 using HeuristicLab.Core; … … 170 171 171 172 #region neural network 172 protected override void Run( ) {173 protected override void Run(CancellationToken cancellationToken) { 173 174 double rmsError, avgRelError; 174 175 var solution = CreateNeuralNetworkRegressionSolution(Problem.ProblemData, HiddenLayers, NodesInFirstHiddenLayer, NodesInSecondHiddenLayer, Decay, Restarts, out rmsError, out avgRelError); -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/NonlinearRegression/NonlinearRegression.cs
r14331 r14542 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using System.Threading; 25 26 using HeuristicLab.Analysis; 26 27 using HeuristicLab.Common; … … 158 159 159 160 #region nonlinear regression 160 protected override void Run( ) {161 protected override void Run(CancellationToken cancellationToken) { 161 162 IRegressionSolution bestSolution = null; 162 163 if (InitializeParametersRandomly) { -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/RandomForest/RandomForestClassification.cs
r14185 r14542 20 20 #endregion 21 21 22 using System.Threading; 22 23 using HeuristicLab.Common; 23 24 using HeuristicLab.Core; … … 132 133 133 134 #region random forest 134 protected override void Run( ) {135 protected override void Run(CancellationToken cancellationToken) { 135 136 double rmsError, relClassificationError, outOfBagRmsError, outOfBagRelClassificationError; 136 137 if (SetSeedRandomly) Seed = new System.Random().Next(); -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/RandomForest/RandomForestRegression.cs
r14185 r14542 20 20 #endregion 21 21 22 using System.Threading; 22 23 using HeuristicLab.Common; 23 24 using HeuristicLab.Core; … … 131 132 132 133 #region random forest 133 protected override void Run( ) {134 protected override void Run(CancellationToken cancellationToken) { 134 135 double rmsError, avgRelError, outOfBagRmsError, outOfBagAvgRelError; 135 136 if (SetSeedRandomly) Seed = new System.Random().Next(); -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/SupportVectorMachine/SupportVectorClassification.cs
r14185 r14542 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using System.Threading; 25 26 using HeuristicLab.Common; 26 27 using HeuristicLab.Core; … … 143 144 144 145 #region support vector classification 145 protected override void Run( ) {146 protected override void Run(CancellationToken cancellationToken) { 146 147 IClassificationProblemData problemData = Problem.ProblemData; 147 148 IEnumerable<string> selectedInputVariables = problemData.AllowedInputVariables; -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/SupportVectorMachine/SupportVectorRegression.cs
r14185 r14542 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using System.Threading; 25 26 using HeuristicLab.Common; 26 27 using HeuristicLab.Core; … … 151 152 152 153 #region support vector regression 153 protected override void Run( ) {154 protected override void Run(CancellationToken cancellationToken) { 154 155 IRegressionProblemData problemData = Problem.ProblemData; 155 156 IEnumerable<string> selectedInputVariables = problemData.AllowedInputVariables; -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/TimeSeries/AutoregressiveModeling.cs
r14185 r14542 22 22 using System; 23 23 using System.Linq; 24 using System.Threading; 24 25 using HeuristicLab.Common; 25 26 using HeuristicLab.Core; … … 63 64 } 64 65 65 protected override void Run( ) {66 protected override void Run(CancellationToken cancellationToken) { 66 67 double rmsError, cvRmsError; 67 68 var solution = CreateAutoRegressiveSolution(Problem.ProblemData, TimeOffset, out rmsError, out cvRmsError); -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.DataAnalysis/3.4/kMeans/KMeansClustering.cs
r14185 r14542 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using System.Threading; 25 26 using HeuristicLab.Common; 26 27 using HeuristicLab.Core; … … 77 78 78 79 #region k-Means clustering 79 protected override void Run( ) {80 protected override void Run(CancellationToken cancellationToken) { 80 81 var solution = CreateKMeansSolution(Problem.ProblemData, K.Value, Restarts.Value); 81 82 Results.Add(new Result(KMeansSolutionResultName, "The k-Means clustering solution.", solution)); -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/HillClimber.cs
r14185 r14542 48 48 49 49 private const string IterationsParameterName = "Iterations"; 50 private const string BestQualityResultName = "Best quality"; 51 private const string IterationsResultName = "Iterations"; 50 52 51 53 public override Type ProblemType { 52 54 get { return typeof(BinaryProblem); } 53 55 } 56 57 public override bool SupportsPause { get { return false; } } 58 54 59 public new BinaryProblem Problem { 55 60 get { return (BinaryProblem)base.Problem; } … … 65 70 set { IterationsParameter.Value.Value = value; } 66 71 } 72 73 #region ResultsProperties 74 private double ResultsBestQuality { 75 get { return ((DoubleValue)Results[BestQualityResultName].Value).Value; } 76 set { ((DoubleValue)Results[BestQualityResultName].Value).Value = value; } 77 } 78 private int ResultsIterations { 79 get { return ((IntValue)Results[IterationsResultName].Value).Value; } 80 set { ((IntValue)Results[IterationsResultName].Value).Value = value; } 81 } 82 #endregion 67 83 68 84 [StorableConstructor] … … 80 96 Parameters.Add(new FixedValueParameter<IntValue>(IterationsParameterName, "", new IntValue(100))); 81 97 } 98 99 100 protected override void Initialize(CancellationToken cancellationToken) { 101 Results.Add(new Result(BestQualityResultName, new DoubleValue(double.NaN))); 102 Results.Add(new Result(IterationsResultName, new IntValue(0))); 103 base.Initialize(cancellationToken); 104 } 82 105 protected override void Run(CancellationToken cancellationToken) { 83 var BestQuality = new DoubleValue(double.NaN);84 Results.Add(new Result("Best quality", BestQuality));85 for (int iteration = 0; iteration < Iterations; iteration++) { 106 while (ResultsIterations < Iterations) { 107 cancellationToken.ThrowIfCancellationRequested(); 108 86 109 var solution = new BinaryVector(Problem.Length); 87 110 for (int i = 0; i < solution.Length; i++) { … … 92 115 93 116 fitness = ImproveToLocalOptimum(Problem, solution, fitness, random); 94 if (double.IsNaN( BestQuality.Value) || Problem.IsBetter(fitness, BestQuality.Value)) {95 BestQuality.Value= fitness;117 if (double.IsNaN(ResultsBestQuality) || Problem.IsBetter(fitness, ResultsBestQuality)) { 118 ResultsBestQuality = fitness; 96 119 } 120 121 ResultsIterations++; 97 122 } 98 123 } -
branches/symbreg-factors-2650/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/ParameterlessPopulationPyramid.cs
r14185 r14542 56 56 57 57 // Tracks all solutions in Pyramid for quick membership checks 58 private HashSet<BinaryVector> seen = new HashSet<BinaryVector>(new EnumerableBoolEqualityComparer());58 private readonly HashSet<BinaryVector> seen = new HashSet<BinaryVector>(new EnumerableBoolEqualityComparer()); 59 59 60 60 #region ParameterNames … … 152 152 } 153 153 #endregion 154 155 public override bool SupportsPause { get { return true; } } 154 156 155 157 [StorableConstructor] … … 213 215 } 214 216 215 protected override void Run(CancellationToken cancellationToken) {217 protected override void Initialize(CancellationToken cancellationToken) { 216 218 // Set up the algorithm 217 219 if (SetSeedRandomly) Seed = new System.Random().Next(); … … 242 244 Results.Add(new Result("Stored Solutions", table)); 243 245 246 base.Initialize(cancellationToken); 247 } 248 249 protected override void Run(CancellationToken cancellationToken) { 244 250 // Loop until iteration limit reached or canceled. 245 for (ResultsIterations = 0; ResultsIterations < MaximumIterations; ResultsIterations++) {251 while (ResultsIterations < MaximumIterations) { 246 252 double fitness = double.NaN; 247 253 248 254 try { 249 255 fitness = iterate(); 256 ResultsIterations++; 250 257 cancellationToken.ThrowIfCancellationRequested(); 251 258 } finally { -
branches/symbreg-factors-2650/HeuristicLab.Analysis.Views
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Analysis.Views merged: 14508,14516,14519
- Property svn:mergeinfo changed
-
branches/symbreg-factors-2650/HeuristicLab.Analysis.Views/3.3/DataTableControl.cs
r14498 r14542 27 27 using System.Windows.Forms.DataVisualization.Charting; 28 28 using HeuristicLab.Collections; 29 using HeuristicLab.MainForm.WindowsForms; 29 30 30 31 namespace HeuristicLab.Analysis.Views { 31 public partial class DataTableControl : UserControl{32 public partial class DataTableControl : AsynchronousContentView { 32 33 protected List<Series> invisibleSeries; 33 34 protected Dictionary<IObservableList<double>, DataRow> valuesRowsTable; 34 35 35 private DataTable content; 36 public DataTable Content { 37 get { return content; } 38 set { 39 if (value == content) return; 40 if (content != null) DeregisterContentEvents(); 41 content = value; 42 if (content != null) RegisterContentEvents(); 43 OnContentChanged(); 44 SetEnabledStateOfControls(); 45 } 36 public new DataTable Content { 37 get { return (DataTable)base.Content; } 38 set { base.Content = value; } 46 39 } 47 40 … … 56 49 57 50 #region Event Handler Registration 58 protected virtualvoid DeregisterContentEvents() {51 protected override void DeregisterContentEvents() { 59 52 foreach (DataRow row in Content.Rows) 60 53 DeregisterDataRowEvents(row); … … 65 58 Content.Rows.CollectionReset -= new CollectionItemsChangedEventHandler<DataRow>(Rows_CollectionReset); 66 59 } 67 protected virtualvoid RegisterContentEvents() {60 protected override void RegisterContentEvents() { 68 61 Content.VisualPropertiesChanged += new EventHandler(Content_VisualPropertiesChanged); 69 62 Content.Rows.ItemsAdded += new CollectionItemsChangedEventHandler<DataRow>(Rows_ItemsAdded); … … 95 88 #endregion 96 89 97 protected virtualvoid OnContentChanged() {90 protected override void OnContentChanged() { 98 91 invisibleSeries.Clear(); 99 92 chart.Titles[0].Text = string.Empty; … … 111 104 } 112 105 113 protected virtualvoid SetEnabledStateOfControls() {106 protected override void SetEnabledStateOfControls() { 114 107 chart.Enabled = Content != null; 115 108 } … … 541 534 if (!row.Values.Any()) return; 542 535 536 var validValues = histogramRows.SelectMany(r => r.Values).Where(x => !IsInvalidValue(x)).ToList(); 537 if (!validValues.Any()) return; 538 543 539 int bins = histogramRows.Max(r => r.VisualProperties.Bins); 544 decimal minValue = (decimal) histogramRows.Min(r => r.Values.Min());545 decimal maxValue = (decimal) histogramRows.Max(r => r.Values.Max());540 decimal minValue = (decimal)validValues.Min(); 541 decimal maxValue = (decimal)validValues.Max(); 546 542 decimal intervalWidth = (maxValue - minValue) / bins; 547 543 if (intervalWidth < 0) return; -
branches/symbreg-factors-2650/HeuristicLab.Analysis.Views/3.3/ScatterPlotControl.cs
r14498 r14542 29 29 using HeuristicLab.Collections; 30 30 using HeuristicLab.Common; 31 using HeuristicLab.MainForm.WindowsForms; 31 32 32 33 namespace HeuristicLab.Analysis.Views { 33 public partial class ScatterPlotControl : UserControl{34 public partial class ScatterPlotControl : AsynchronousContentView { 34 35 protected List<Series> invisibleSeries; 35 36 protected Dictionary<IObservableList<Point2D<double>>, ScatterPlotDataRow> pointsRowsTable; … … 37 38 private double xMin, xMax, yMin, yMax; 38 39 39 private ScatterPlot content; 40 public ScatterPlot Content { 41 get { return content; } 42 set { 43 if (value == content) return; 44 if (content != null) DeregisterContentEvents(); 45 content = value; 46 if (content != null) RegisterContentEvents(); 47 OnContentChanged(); 48 SetEnabledStateOfControls(); 49 } 40 public new ScatterPlot Content { 41 get { return (ScatterPlot)base.Content; } 42 set { base.Content = value; } 50 43 } 51 44 … … 61 54 62 55 #region Event Handler Registration 63 protected virtualvoid DeregisterContentEvents() {56 protected override void DeregisterContentEvents() { 64 57 foreach (ScatterPlotDataRow row in Content.Rows) 65 58 DeregisterScatterPlotDataRowEvents(row); … … 70 63 Content.Rows.CollectionReset -= new CollectionItemsChangedEventHandler<ScatterPlotDataRow>(Rows_CollectionReset); 71 64 } 72 protected virtualvoid RegisterContentEvents() {65 protected override void RegisterContentEvents() { 73 66 Content.VisualPropertiesChanged += new EventHandler(Content_VisualPropertiesChanged); 74 67 Content.Rows.ItemsAdded += new CollectionItemsChangedEventHandler<ScatterPlotDataRow>(Rows_ItemsAdded); … … 98 91 #endregion 99 92 100 protected virtualvoid OnContentChanged() {93 protected override void OnContentChanged() { 101 94 invisibleSeries.Clear(); 102 95 chart.Titles[0].Text = string.Empty; … … 114 107 } 115 108 116 protected virtualvoid SetEnabledStateOfControls() {109 protected override void SetEnabledStateOfControls() { 117 110 chart.Enabled = Content != null; 118 111 } … … 508 501 509 502 private void FillSeriesWithRowValues(Series series, ScatterPlotDataRow row) { 503 bool zerosOnly = true; 510 504 for (int i = 0; i < row.Points.Count; i++) { 511 505 var value = row.Points[i]; … … 518 512 } 519 513 series.Points.Add(point); 520 } 514 if (value.X != 0.0f) 515 zerosOnly = false; 516 } 517 if (zerosOnly) // if all x-values are zero, the x-values are interpreted as 1, 2, 3, ... 518 series.Points.Add(new DataPoint(1, 1) { IsEmpty = true }); 521 519 double correlation = Correlation(row.Points); 522 520 series.LegendToolTip = string.Format("Correlation (R²) = {0:G4}", correlation * correlation); -
branches/symbreg-factors-2650/HeuristicLab.DataPreprocessing.Views/3.4/HeuristicLab.DataPreprocessing.Views-3.4.csproj
r14421 r14542 98 98 <ItemGroup> 99 99 <Compile Include="DataPreprocessingMenuItem.cs" /> 100 <Compile Include="PreprocessingCheckedVariablesView.cs"> 101 <SubType>UserControl</SubType> 102 </Compile> 103 <Compile Include="PreprocessingCheckedVariablesView.Designer.cs"> 104 <DependentUpon>PreprocessingCheckedVariablesView.cs</DependentUpon> 105 </Compile> 100 106 <Compile Include="PreprocessingFeatureCorrelationView.cs"> 101 107 <SubType>UserControl</SubType> … … 165 171 <DependentUpon>FilterView.cs</DependentUpon> 166 172 </Compile> 167 <Compile Include="ScatterPlotMultiView.cs" /> 173 <Compile Include="ScatterPlotMultiView.cs"> 174 <SubType>UserControl</SubType> 175 </Compile> 168 176 <Compile Include="ScatterPlotMultiView.Designer.cs"> 169 177 <DependentUpon>ScatterPlotMultiView.cs</DependentUpon> … … 181 189 <DependentUpon>SearchAndReplaceDialog.cs</DependentUpon> 182 190 </Compile> 183 <Compile Include="HistogramView.cs" /> 191 <Compile Include="HistogramView.cs"> 192 <SubType>UserControl</SubType> 193 </Compile> 184 194 <Compile Include="HistogramView.Designer.cs"> 185 195 <DependentUpon>HistogramView.cs</DependentUpon> 186 196 </Compile> 187 <Compile Include="LineChartView.cs" /> 197 <Compile Include="LineChartView.cs"> 198 <SubType>UserControl</SubType> 199 </Compile> 188 200 <Compile Include="LineChartView.Designer.cs"> 189 201 <DependentUpon>LineChartView.cs</DependentUpon> … … 196 208 </Compile> 197 209 <Compile Include="Plugin.cs" /> 198 <Compile Include="PreprocessingChartView.cs" /> 210 <Compile Include="PreprocessingChartView.cs"> 211 <SubType>UserControl</SubType> 212 </Compile> 199 213 <Compile Include="PreprocessingChartView.Designer.cs"> 200 214 <DependentUpon>PreprocessingChartView.cs</DependentUpon> -
branches/symbreg-factors-2650/HeuristicLab.MainForm.WindowsForms/3.3/Views/View.cs
r14185 r14542 34 34 this.closeReason = CloseReason.None; 35 35 this.readOnly = false; 36 36 37 if (ViewAttribute.HasViewAttribute(this.GetType())) 37 38 this.Caption = ViewAttribute.GetViewName(this.GetType()); … … 45 46 set { 46 47 if (InvokeRequired) { 47 Action<string> action = delegate (string s) { this.Caption = s; };48 Action<string> action = delegate (string s) { this.Caption = s; }; 48 49 Invoke(action, value); 49 50 } else { … … 61 62 set { 62 63 if (InvokeRequired) { 63 Action<bool> action = delegate (bool b) { this.ReadOnly = b; };64 Action<bool> action = delegate (bool b) { this.ReadOnly = b; }; 64 65 Invoke(action, value); 65 66 } else { … … 94 95 95 96 protected override void OnEnabledChanged(EventArgs e) { 97 SuspendRepaint(); 96 98 base.OnEnabledChanged(e); 97 99 if (Enabled) SetEnabledStateOfControls(); 100 ResumeRepaint(true); 98 101 } 99 102 -
branches/symbreg-factors-2650/HeuristicLab.Optimization
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Optimization merged: 14517,14523
- Property svn:mergeinfo changed
-
branches/symbreg-factors-2650/HeuristicLab.Optimization.Views
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Optimization.Views merged: 14517,14523
- Property svn:mergeinfo changed
-
branches/symbreg-factors-2650/HeuristicLab.Optimization.Views/3.3/BasicAlgorithmView.cs
r14185 r14542 36 36 protected override void SetEnabledStateOfControls() { 37 37 base.SetEnabledStateOfControls(); 38 pauseButton.Enabled = false;38 pauseButton.Enabled &= Content != null && Content.SupportsPause; 39 39 } 40 40 41 41 protected override void SetEnabledStateOfExecutableButtons() { 42 42 base.SetEnabledStateOfExecutableButtons(); 43 pauseButton.Enabled = false;43 pauseButton.Enabled &= Content != null && Content.SupportsPause; 44 44 } 45 45 } -
branches/symbreg-factors-2650/HeuristicLab.Optimization/3.3/Algorithms/BasicAlgorithm.cs
r14185 r14542 24 24 using System.Threading.Tasks; 25 25 using HeuristicLab.Common; 26 using HeuristicLab.Core; 26 27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 27 28 … … 29 30 [StorableClass] 30 31 public abstract class BasicAlgorithm : Algorithm, IStorableContent { 32 33 private bool pausePending; 34 private DateTime lastUpdateTime; 35 31 36 public string Filename { get; set; } 32 37 38 public abstract bool SupportsPause { get; } 39 33 40 [Storable] 34 private ResultCollection results; 41 private bool initialized; 42 [Storable] 43 private readonly ResultCollection results; 35 44 public override ResultCollection Results { 36 45 get { return results; } … … 58 67 base.Prepare(); 59 68 results.Clear(); 69 initialized = false; 60 70 OnPrepared(); 61 71 } … … 64 74 base.Start(); 65 75 CancellationTokenSource = new CancellationTokenSource(); 76 pausePending = false; 77 OnStarted(); 66 78 67 OnStarted(); 68 Task task = Task.Factory.StartNew(Run, cancellationTokenSource.Token, cancellationTokenSource.Token); 79 Task task = Task.Factory.StartNew(Run, CancellationTokenSource.Token, CancellationTokenSource.Token); 69 80 task.ContinueWith(t => { 70 81 try { 71 82 t.Wait(); 72 } catch (AggregateException ex) { 83 } 84 catch (AggregateException ex) { 73 85 try { 74 86 ex.Flatten().Handle(x => x is OperationCanceledException); 75 } catch (AggregateException remaining) { 87 } 88 catch (AggregateException remaining) { 76 89 if (remaining.InnerExceptions.Count == 1) OnExceptionOccurred(remaining.InnerExceptions[0]); 77 90 else OnExceptionOccurred(remaining); … … 80 93 CancellationTokenSource.Dispose(); 81 94 CancellationTokenSource = null; 82 OnStopped(); 95 if (pausePending) OnPaused(); 96 else OnStopped(); 83 97 }); 84 98 } 85 99 86 100 public override void Pause() { 87 throw new NotSupportedException("Pause is not supported in basic algorithms."); 101 // CancellationToken.ThrowIfCancellationRequested() must be called from within the Run method, otherwise pause does nothing 102 // alternatively check the IsCancellationRequested property of the cancellation token 103 if (!SupportsPause) 104 throw new NotSupportedException("Pause is not supported by this algorithm."); 105 106 base.Pause(); 107 pausePending = true; 108 CancellationTokenSource.Cancel(); 88 109 } 89 110 … … 92 113 // alternatively check the IsCancellationRequested property of the cancellation token 93 114 base.Stop(); 94 CancellationTokenSource.Cancel(); 115 if (ExecutionState == ExecutionState.Paused) OnStopped(); 116 else CancellationTokenSource.Cancel(); 95 117 } 96 118 97 98 private DateTime lastUpdateTime;99 119 private void Run(object state) { 100 120 CancellationToken cancellationToken = (CancellationToken)state; … … 105 125 timer.Start(); 106 126 try { 127 if (!initialized) 128 Initialize(cancellationToken); 129 initialized = true; 107 130 Run(cancellationToken); 108 } finally { 131 } 132 finally { 109 133 timer.Elapsed -= new System.Timers.ElapsedEventHandler(timer_Elapsed); 110 134 timer.Stop(); … … 113 137 } 114 138 139 protected virtual void Initialize(CancellationToken cancellationToken) { } 115 140 protected abstract void Run(CancellationToken cancellationToken); 116 141 -
branches/symbreg-factors-2650/HeuristicLab.Problems.DataAnalysis
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Problems.DataAnalysis merged: 14507
- Property svn:mergeinfo changed
-
branches/symbreg-factors-2650/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression merged: 14528
- Property svn:mergeinfo changed
-
branches/symbreg-factors-2650/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4 merged: 14528
- Property svn:mergeinfo changed
-
branches/symbreg-factors-2650/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4.csproj
r13241 r14542 129 129 <Compile Include="Plugin.cs" /> 130 130 <Compile Include="SingleObjective\ConstantOptimizationAnalyzer.cs" /> 131 <Compile Include="SingleObjective\Evaluators\SymbolicRegressionVarianceModelEvaluator.cs" /> 131 132 <Compile Include="SingleObjective\Evaluators\SymbolicRegressionMeanRelativeErrorEvaluator.cs" /> 132 133 <Compile Include="SingleObjective\SymbolicRegressionSolutionsAnalyzer.cs" /> -
branches/symbreg-factors-2650/HeuristicLab.Problems.DataAnalysis.Views
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Problems.DataAnalysis.Views merged: 14531-14532
- Property svn:mergeinfo changed
-
branches/symbreg-factors-2650/HeuristicLab.Problems.DataAnalysis.Views/3.4/HeuristicLab.Problems.DataAnalysis.Views-3.4.csproj
r14498 r14542 428 428 <Compile Include="Solution Views\TimeSeriesPrognosisSolutionView.Designer.cs"> 429 429 <DependentUpon>TimeSeriesPrognosisSolutionView.cs</DependentUpon> 430 </Compile> 431 <Compile Include="TimeSeriesPrognosis\TimeSeriesPrognosisResidualsLineChartView.cs"> 432 <SubType>UserControl</SubType> 433 </Compile> 434 <Compile Include="TimeSeriesPrognosis\TimeSeriesPrognosisResidualsLineChartView.Designer.cs"> 435 <DependentUpon>TimeSeriesPrognosisResidualsLineChartView.cs</DependentUpon> 430 436 </Compile> 431 437 <Compile Include="TimeSeriesPrognosis\TimeSeriesPrognosisLineChartView.cs"> -
branches/symbreg-factors-2650/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/RegressionSolutionLineChartViewBase.cs
r14498 r14542 253 253 } 254 254 255 p rivatevoid ToggleSeriesData(Series series) {255 public void ToggleSeriesData(Series series) { 256 256 if (series.Points.Count > 0) { //checks if series is shown 257 257 if (this.chart.Series.Any(s => s != series && s.Points.Count > 0)) { -
branches/symbreg-factors-2650/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/RegressionSolutionResidualsLineChartView.cs
r14498 r14542 43 43 } 44 44 45 pr ivatevoid CalcResiduals(int[] idx, double[] x) {45 protected void CalcResiduals(int[] idx, double[] x) { 46 46 var problemData = Content.ProblemData; 47 47 var target = problemData.Dataset.GetDoubleValues(problemData.TargetVariable, idx).ToArray(); … … 88 88 base.chart.Series[RegressionSolutionLineChartView.ESTIMATEDVALUES_ALL_SERIES_NAME].ChartType = SeriesChartType.RangeColumn; 89 89 base.chart.Series[RegressionSolutionLineChartView.ESTIMATEDVALUES_ALL_SERIES_NAME].Points.DataBindXY(idx, res.Select(_ => 0.0).ToArray(), res); 90 ToggleSeriesData(base.chart.Series[RegressionSolutionLineChartView.ESTIMATEDVALUES_ALL_SERIES_NAME]); // don't show by default 90 91 } 91 92 } -
branches/symbreg-factors-2650/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/DataAnalysisProblemData.cs
r14232 r14542 41 41 42 42 #region parameter properites 43 //mkommend: inserted parameter caching due to performance reasons 44 private IFixedValueParameter<Dataset> datasetParameter; 43 45 public IFixedValueParameter<Dataset> DatasetParameter { 44 get { return (IFixedValueParameter<Dataset>)Parameters[DatasetParameterName]; } 45 } 46 get { 47 if (datasetParameter == null) datasetParameter = (IFixedValueParameter<Dataset>)Parameters[DatasetParameterName]; 48 return datasetParameter; 49 } 50 } 51 52 private IFixedValueParameter<ReadOnlyCheckedItemList<StringValue>> inputVariablesParameter; 46 53 public IFixedValueParameter<ReadOnlyCheckedItemList<StringValue>> InputVariablesParameter { 47 get { return (IFixedValueParameter<ReadOnlyCheckedItemList<StringValue>>)Parameters[InputVariablesParameterName]; } 48 } 54 get { 55 if (inputVariablesParameter == null) inputVariablesParameter = (IFixedValueParameter<ReadOnlyCheckedItemList<StringValue>>)Parameters[InputVariablesParameterName]; 56 return inputVariablesParameter; 57 } 58 } 59 60 private IFixedValueParameter<IntRange> trainingPartitionParameter; 49 61 public IFixedValueParameter<IntRange> TrainingPartitionParameter { 50 get { return (IFixedValueParameter<IntRange>)Parameters[TrainingPartitionParameterName]; } 51 } 62 get { 63 if (trainingPartitionParameter == null) trainingPartitionParameter = (IFixedValueParameter<IntRange>)Parameters[TrainingPartitionParameterName]; 64 return trainingPartitionParameter; 65 } 66 } 67 68 private IFixedValueParameter<IntRange> testPartitionParameter; 52 69 public IFixedValueParameter<IntRange> TestPartitionParameter { 53 get { return (IFixedValueParameter<IntRange>)Parameters[TestPartitionParameterName]; } 54 } 70 get { 71 if (testPartitionParameter == null) testPartitionParameter = (IFixedValueParameter<IntRange>)Parameters[TestPartitionParameterName]; 72 return testPartitionParameter; 73 } 74 } 75 55 76 public IFixedValueParameter<ReadOnlyItemList<ITransformation>> TransformationsParameter { 56 77 get { return (IFixedValueParameter<ReadOnlyItemList<ITransformation>>)Parameters[TransformationsParameterName]; } … … 102 123 public virtual bool IsTrainingSample(int index) { 103 124 return index >= 0 && index < Dataset.Rows && 104 TrainingPartition.Start <= index && index < TrainingPartition.End &&105 (index < TestPartition.Start || TestPartition.End <= index);125 TrainingPartition.Start <= index && index < TrainingPartition.End && 126 (index < TestPartition.Start || TestPartition.End <= index); 106 127 } 107 128 … … 214 235 InputVariables.SetItemCheckedState(inputVariable, variable != null && data.InputVariables.ItemChecked(variable)); 215 236 } 216 217 TrainingPartition.Start = TrainingPartition.End = 0;218 TestPartition.Start = 0;219 TestPartition.End = Dataset.Rows;220 237 } 221 238 } -
branches/symbreg-factors-2650/HeuristicLab.Problems.Instances.Scheduling/3.3/JSSPORLIBInstanceProvider.cs
r14185 r14542 67 67 var parser = new JSSPORLIBParser(); 68 68 parser.Parse(stream); 69 var instance = Load(parser); 70 instance.Name = id.Name; 71 instance.Description = id.Description; 72 73 return instance; 69 return Load(parser); 74 70 } 75 71 } … … 82 78 var parser = new JSSPORLIBParser(); 83 79 parser.Parse(path); 84 var instance = Load(parser); 85 instance.Name = Path.GetFileName(path); 86 instance.Description = "Loaded from file \"" + path + "\" on " + DateTime.Now.ToString(); 87 return instance; 80 return Load(parser); 88 81 } 89 82 90 83 private JSSPData Load(JSSPORLIBParser parser) { 91 84 var instance = new JSSPData { 85 Name = parser.Name, 86 Description = parser.Description, 92 87 Jobs = parser.Jobs, 93 88 Resources = parser.Resources, -
branches/symbreg-factors-2650/HeuristicLab.Problems.Instances.Scheduling/3.3/JSSPORLIBParser.cs
r14185 r14542 24 24 using System.IO; 25 25 using System.Linq; 26 using System.Text; 26 27 27 28 namespace HeuristicLab.Problems.Instances.Scheduling { … … 53 54 54 55 public void Export(string file) { 55 using (Stream stream = new FileStream(file, FileMode. Open, FileAccess.Read)) {56 using (Stream stream = new FileStream(file, FileMode.Create, FileAccess.ReadWrite)) { 56 57 Export(stream); 57 58 } … … 65 66 /// </remarks> 66 67 /// <param name="stream">The stream to read data from.</param> 67 /// <returns>True if the file was successfully read or false otherwise.</returns>68 68 public void Parse(Stream stream) { 69 var reader = new StreamReader(stream);70 Name = reader.ReadLine().Trim();71 Description = reader.ReadLine().Trim();72 var delim = new char[] { ' ', '\t'};69 using (var reader = new StreamReader(stream, Encoding.UTF8, true, 4092, true)) { 70 Name = reader.ReadLine().Trim(); 71 Description = reader.ReadLine().Trim(); 72 var delim = new char[] {' ', '\t'}; 73 73 74 var info = reader.ReadLine().Split(delim, StringSplitOptions.RemoveEmptyEntries);75 Jobs = int.Parse(info[0]);76 Resources = int.Parse(info[1]);77 ProcessingTimes = new double[Jobs, Resources];78 Demands = new int[Jobs, Resources];74 var info = reader.ReadLine().Split(delim, StringSplitOptions.RemoveEmptyEntries); 75 Jobs = int.Parse(info[0]); 76 Resources = int.Parse(info[1]); 77 ProcessingTimes = new double[Jobs, Resources]; 78 Demands = new int[Jobs, Resources]; 79 79 80 for (int k = 0; k < Jobs; k++) {81 if (reader.EndOfStream) throw new InvalidDataException("Unexpected End of Stream.");82 var valLine = reader.ReadLine();83 while (String.IsNullOrWhiteSpace(valLine)) valLine = reader.ReadLine();84 var vals = valLine.Split(delim, StringSplitOptions.RemoveEmptyEntries);85 if (vals.Length > 2 * Resources) {86 if (DueDates == null) DueDates = new double[Jobs];87 DueDates[k] = double.Parse(vals.Last(), CultureInfo.InvariantCulture.NumberFormat);88 }80 for (int k = 0; k < Jobs; k++) { 81 if (reader.EndOfStream) throw new InvalidDataException("Unexpected End of Stream."); 82 var valLine = reader.ReadLine(); 83 while (String.IsNullOrWhiteSpace(valLine)) valLine = reader.ReadLine(); 84 var vals = valLine.Split(delim, StringSplitOptions.RemoveEmptyEntries); 85 if (vals.Length > 2 * Resources) { 86 if (DueDates == null) DueDates = new double[Jobs]; 87 DueDates[k] = double.Parse(vals.Last(), CultureInfo.InvariantCulture.NumberFormat); 88 } 89 89 90 for (int i = 0; i < Resources; i++) { 91 Demands[k, i] = int.Parse(vals[2 * i]); 92 ProcessingTimes[k, i] = double.Parse(vals[2 * i + 1], CultureInfo.InvariantCulture.NumberFormat); 90 for (int i = 0; i < Resources; i++) { 91 Demands[k, i] = int.Parse(vals[2 * i]); 92 ProcessingTimes[k, i] = double.Parse(vals[2 * i + 1], CultureInfo.InvariantCulture.NumberFormat); 93 } 93 94 } 94 95 } 95 96 96 } 97 97 98 /// <summary> 99 /// Writes to the given stream data which is expected to be in the JSSP ORLIB format. 100 /// </summary> 101 /// <remarks> 102 /// The stream is not closed or disposed. The caller has to take care of that. 103 /// </remarks> 104 /// <param name="stream">The stream to write data to.</param> 98 105 public void Export(Stream stream) { 99 var writer = new StreamWriter(stream); 100 writer.WriteLine(Name); 101 writer.WriteLine(Description); 102 writer.WriteLine(Jobs.ToString(CultureInfo.InvariantCulture.NumberFormat) + " " + Resources.ToString(CultureInfo.InvariantCulture.NumberFormat)); 103 for (int i = 0; i < Jobs; i++) { 104 for (int j = 0; j < Resources; j++) { 105 writer.Write(Demands[i, j] + " " + ProcessingTimes[i, j] + " "); 106 using (var writer = new StreamWriter(stream, Encoding.UTF8, 4092, true)) { 107 writer.WriteLine(Name); 108 writer.WriteLine(Description); 109 writer.WriteLine(Jobs.ToString(CultureInfo.InvariantCulture.NumberFormat) + " " + Resources.ToString(CultureInfo.InvariantCulture.NumberFormat)); 110 for (int i = 0; i < Jobs; i++) { 111 for (int j = 0; j < Resources; j++) { 112 writer.Write(Demands[i, j] + " " + ProcessingTimes[i, j] + " "); 113 } 114 if (DueDates != null) writer.Write(DueDates[i].ToString("r", CultureInfo.InvariantCulture.NumberFormat)); 115 writer.WriteLine(); 106 116 } 107 if (DueDates != null) writer.Write(DueDates[i].ToString(CultureInfo.InvariantCulture.NumberFormat)); 108 writer.WriteLine(); 117 writer.Flush(); 109 118 } 110 writer.Flush();111 119 } 112 120 -
branches/symbreg-factors-2650/HeuristicLab.Problems.Instances.VehicleRouting/3.4/GoldenFormat/GoldenParser.cs
r14185 r14542 366 366 367 367 int index = int.Parse(tokens[0]); 368 double value = double.Parse(tokens[1] );368 double value = double.Parse(tokens[1], System.Globalization.CultureInfo.InvariantCulture); 369 369 370 370 demands[index] = value; -
branches/symbreg-factors-2650/HeuristicLab.Problems.Instances.VehicleRouting/3.4/LiLimFormat/LiLimParser.cs
r14185 r14542 149 149 150 150 vehicles = int.Parse(m[0].Value); 151 capacity = double.Parse(m[1].Value );151 capacity = double.Parse(m[1].Value, System.Globalization.CultureInfo.InvariantCulture); 152 152 153 153 line = reader.ReadLine(); -
branches/symbreg-factors-2650/HeuristicLab.Problems.Instances.VehicleRouting/3.4/SolomonFormat/SolomonFormatInstanceProvider.cs
r14498 r14542 21 21 22 22 using System; 23 using System.Globalization; 23 24 using System.IO; 24 25 using System.Linq; … … 74 75 break; 75 76 case "Distance": 76 double quality = double.Parse(reader.ReadLine() );77 double quality = double.Parse(reader.ReadLine(), CultureInfo.InvariantCulture); 77 78 instance.BestKnownQuality = quality; 78 79 break; -
branches/symbreg-factors-2650/HeuristicLab.Problems.Instances.VehicleRouting/3.4/SolomonFormat/SolomonParser.cs
r14185 r14542 143 143 144 144 vehicles = int.Parse(m[0].Value); 145 capacity = double.Parse(m[1].Value );145 capacity = double.Parse(m[1].Value, System.Globalization.CultureInfo.InvariantCulture); 146 146 147 147 for (int i = 0; i < 4; i++) { -
branches/symbreg-factors-2650/HeuristicLab.Problems.Scheduling/3.3/JobShopSchedulingProblem.cs
r14185 r14542 43 43 #region Default Instance 44 44 private static readonly JSSPData DefaultInstance = new JSSPData() { 45 Name = "Job Shop Scheduling Problem (JSSP)", 46 Description = "The default instance of the JSSP problem in HeuristicLab", 45 47 Jobs = 10, 46 48 Resources = 10, … … 225 227 BestKnownQuality = new DoubleValue(MakespanEvaluator.GetMakespan(BestKnownSolution)); 226 228 } 227 229 Name = data.Name; 230 Description = data.Description; 228 231 JobData = jobData; 229 232 Jobs = data.Jobs; -
branches/symbreg-factors-2650/HeuristicLab.Random/3.3/RandomEnumerable.cs
r14185 r14542 269 269 // swapped element because we already returned it. 270 270 } 271 yield return elements[0]; 271 if (elements.Length > 0) 272 yield return elements[0]; 272 273 } 273 274 } -
branches/symbreg-factors-2650/HeuristicLab.Tests
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Tests merged: 14527,14529
- Property svn:mergeinfo changed
-
branches/symbreg-factors-2650/HeuristicLab.Tests/HeuristicLab-3.3/Samples/GPTimeSeriesSampleTest.cs
r14185 r14542 50 50 SamplesUtils.RunAlgorithm(osga); 51 51 52 Assert.AreEqual(0.0 20952753415199643, SamplesUtils.GetDoubleResult(osga, "BestQuality"), 1E-8);53 Assert.AreEqual(0.0 23220938866319357, SamplesUtils.GetDoubleResult(osga, "CurrentAverageQuality"), 1E-8);54 Assert.AreEqual(0.0 23716788824595391, SamplesUtils.GetDoubleResult(osga, "CurrentWorstQuality"), 1E-8);55 Assert.AreEqual( 48200, SamplesUtils.GetIntResult(osga, "EvaluatedSolutions"));52 Assert.AreEqual(0.015441526903606416, SamplesUtils.GetDoubleResult(osga, "BestQuality"), 1E-8); 53 Assert.AreEqual(0.017420834241279298, SamplesUtils.GetDoubleResult(osga, "CurrentAverageQuality"), 1E-8); 54 Assert.AreEqual(0.065195703753298972, SamplesUtils.GetDoubleResult(osga, "CurrentWorstQuality"), 1E-8); 55 Assert.AreEqual(92000, SamplesUtils.GetIntResult(osga, "EvaluatedSolutions")); 56 56 } 57 57 … … 63 63 problem.MaximumSymbolicExpressionTreeDepth.Value = 12; 64 64 problem.EvaluatorParameter.Value.HorizonParameter.Value.Value = 10; 65 problem.ApplyLinearScaling.Value = true; 65 66 66 67 foreach (var symbol in problem.SymbolicExpressionTreeGrammar.Symbols) { -
branches/symbreg-factors-2650/HeuristicLab.Tests/HeuristicLab.Algorithms.ParameterlessPopulationPyramid-3.3/ParameterlessPopulationPyramidTest.cs
r14185 r14542 39 39 PrivateObject hidden = new PrivateObject(solver); 40 40 try { 41 hidden.Invoke("Run", new CancellationToken()); 41 var ct = new CancellationToken(); 42 hidden.Invoke("Initialize", ct); 43 hidden.Invoke("Run", ct); 42 44 } catch (OperationCanceledException) { 43 45 // Ignore
Note: See TracChangeset
for help on using the changeset viewer.