Index: /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/HeuristicLab.MathematicalOptimization-3.3.csproj
===================================================================
--- /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/HeuristicLab.MathematicalOptimization-3.3.csproj (revision 16233)
+++ /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/HeuristicLab.MathematicalOptimization-3.3.csproj (revision 16234)
@@ -111,5 +111,5 @@
-
+
False
..\..\bin\Google.OrTools.dll
@@ -118,8 +118,4 @@
False
..\..\bin\HeuristicLab.OrTools-6.9.0-pre.dll
-
-
- False
- ..\..\bin\HeuristicLab.PluginInfrastructure-3.3.dll
@@ -180,84 +176,20 @@
+
+ Settings.settings
+ True
+ True
+
+
+
+ PublicSettingsSingleFileGenerator
+ Settings.Designer.cs
+
-
-
-
- {887425B4-4348-49ED-A457-B7D2C26DDBF9}
- HeuristicLab.Analysis-3.3
-
-
- {73857A9C-9706-4B72-8D9C-210B5B6A5691}
- HeuristicLab.Clients.OKB-3.3
-
-
- {C38691AE-ECB4-489A-A05D-B035554E0168}
- HeuristicLab.CodeEditor-3.4
-
-
- {958B43BC-CC5C-4FA2-8628-2B3B01D890B6}
- HeuristicLab.Collections-3.3
-
-
- {0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}
- HeuristicLab.Common.Resources-3.3
-
-
- {A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}
- HeuristicLab.Common-3.3
-
-
- {E226881D-315F-423D-B419-A766FE0D8685}
- HeuristicLab.Core.Views-3.3
-
-
- {C36BD924-A541-4A00-AFA8-41701378DDC5}
- HeuristicLab.Core-3.3
-
-
- {BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}
- HeuristicLab.Data-3.3
-
-
- {AB687BBE-1BFE-476B-906D-44237135431D}
- HeuristicLab.MainForm.WindowsForms-3.3
-
-
- {3BD61258-31DA-4B09-89C0-4F71FEF5F05A}
- HeuristicLab.MainForm-3.3
-
-
- {25087811-F74C-4128-BC86-8324271DA13E}
- HeuristicLab.Optimization.Operators-3.3
-
-
- {14AB8D24-25BC-400C-A846-4627AA945192}
- HeuristicLab.Optimization-3.3
-
-
- {56F9106A-079F-4C61-92F6-86A84C2D84B7}
- HeuristicLab.Parameters-3.3
-
-
- {102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}
- HeuristicLab.Persistence-3.3
-
-
- {EE07BFF8-B23D-41F5-8AD7-AC9598D7A2C9}
- HeuristicLab.Problems.Programmable-3.3
-
-
- {0C2917C8-7AA8-4E18-800A-C4D064F992ED}
- HeuristicLab.Scripting.Views-3.3
-
-
- {21977CC3-1757-4B3B-87BD-FF817AAA900F}
- HeuristicLab.Scripting-3.3
-
@@ -269,4 +201,74 @@
LinearProgrammingProblemView.cs
+
+
+
+ {887425B4-4348-49ED-A457-B7D2C26DDBF9}
+ HeuristicLab.Analysis-3.3
+
+
+ {C38691AE-ECB4-489A-A05D-B035554E0168}
+ HeuristicLab.CodeEditor-3.4
+
+
+ {958B43BC-CC5C-4FA2-8628-2B3B01D890B6}
+ HeuristicLab.Collections-3.3
+
+
+ {0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}
+ HeuristicLab.Common.Resources-3.3
+
+
+ {A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}
+ HeuristicLab.Common-3.3
+
+
+ {E226881D-315F-423D-B419-A766FE0D8685}
+ HeuristicLab.Core.Views-3.3
+
+
+ {C36BD924-A541-4A00-AFA8-41701378DDC5}
+ HeuristicLab.Core-3.3
+
+
+ {BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}
+ HeuristicLab.Data-3.3
+
+
+ {AB687BBE-1BFE-476B-906D-44237135431D}
+ HeuristicLab.MainForm.WindowsForms-3.3
+
+
+ {3BD61258-31DA-4B09-89C0-4F71FEF5F05A}
+ HeuristicLab.MainForm-3.3
+
+
+ {14AB8D24-25BC-400C-A846-4627AA945192}
+ HeuristicLab.Optimization-3.3
+
+
+ {56F9106A-079F-4C61-92F6-86A84C2D84B7}
+ HeuristicLab.Parameters-3.3
+
+
+ {102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}
+ HeuristicLab.Persistence-3.3
+
+
+ {94186A6A-5176-4402-AE83-886557B53CCA}
+ HeuristicLab.PluginInfrastructure-3.3
+
+
+ {EE07BFF8-B23D-41F5-8AD7-AC9598D7A2C9}
+ HeuristicLab.Problems.Programmable-3.3
+
+
+ {0C2917C8-7AA8-4E18-800A-C4D064F992ED}
+ HeuristicLab.Scripting.Views-3.3
+
+
+ {21977CC3-1757-4B3B-87BD-FF817AAA900F}
+ HeuristicLab.Scripting-3.3
+
Index: /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/ISolver.cs
===================================================================
--- /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/ISolver.cs (revision 16233)
+++ /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/ISolver.cs (revision 16234)
@@ -6,5 +6,4 @@
public interface ISolver : IParameterizedNamedItem {
LinearProgrammingType LinearProgrammingType { get; set; }
- OptimizationProblemType OptimizationProblemType { get; }
bool SupportsPause { get; }
bool SupportsStop { get; }
Index: /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/IncrementalSolver.cs
===================================================================
--- /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/IncrementalSolver.cs (revision 16233)
+++ /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/IncrementalSolver.cs (revision 16234)
@@ -66,5 +66,5 @@
public override void Solve(LinearProgrammingAlgorithm algorithm, CancellationToken cancellationToken) {
if (!Incrementality) {
- base.Solve(algorithm);
+ base.Solve(algorithm, cancellationToken);
return;
}
@@ -79,5 +79,5 @@
}
}
-
+
var iterations = (long)timeLimit.TotalMilliseconds / (long)QualityUpdateInterval.TotalMilliseconds;
var remaining = timeLimit - TimeSpan.FromMilliseconds(iterations * QualityUpdateInterval.TotalMilliseconds);
Index: /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/Solver.cs
===================================================================
--- /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/Solver.cs (revision 16233)
+++ /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/Base/Solver.cs (revision 16234)
@@ -38,5 +38,5 @@
}
- public virtual OptimizationProblemType OptimizationProblemType { get; }
+ protected virtual OptimizationProblemType OptimizationProblemType { get; }
public virtual bool SupportsPause => false;
public virtual bool SupportsStop => false;
@@ -53,5 +53,5 @@
public virtual void Solve(LinearProgrammingAlgorithm algorithm, CancellationToken cancellationToken) =>
- Solve(algorithm, CancellationToken.None);
+ Solve(algorithm);
public virtual void Solve(LinearProgrammingAlgorithm algorithm) =>
@@ -59,6 +59,6 @@
public virtual void Solve(LinearProgrammingAlgorithm algorithm, TimeSpan timeLimit, bool incrementality) {
- var libraryName = string.Empty;
- if (this is ExternalSolver externalSolver)
+ string libraryName = null;
+ if (this is IExternalSolver externalSolver)
libraryName = externalSolver.LibraryName;
Index: /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/BopSolver.cs
===================================================================
--- /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/BopSolver.cs (revision 16233)
+++ /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/BopSolver.cs (revision 16234)
@@ -13,7 +13,10 @@
}
- public override OptimizationProblemType OptimizationProblemType => OptimizationProblemType.BOP_INTEGER_PROGRAMMING;
public override bool SupportsPause => true;
+
public override bool SupportsStop => true;
+
+ protected override OptimizationProblemType OptimizationProblemType =>
+ OptimizationProblemType.BOP_INTEGER_PROGRAMMING;
}
}
Index: /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/CoinOrSolver.cs
===================================================================
--- /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/CoinOrSolver.cs (revision 16233)
+++ /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/CoinOrSolver.cs (revision 16234)
@@ -27,5 +27,5 @@
}
- public override OptimizationProblemType OptimizationProblemType =>
+ protected override OptimizationProblemType OptimizationProblemType =>
LinearProgrammingType == LinearProgrammingType.LinearProgramming
? OptimizationProblemType.CLP_LINEAR_PROGRAMMING
Index: /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/CplexSolver.cs
===================================================================
--- /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/CplexSolver.cs (revision 16233)
+++ /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/CplexSolver.cs (revision 16234)
@@ -13,8 +13,8 @@
public CplexSolver() {
Parameters.Add(libraryNameParam = new FixedValueParameter(nameof(LibraryName),
- new FileValue { FileDialogFilter = FileDialogFilter, Value = "cplex1280.dll" }));
+ new FileValue { FileDialogFilter = FileDialogFilter, Value = Properties.Settings.Default.CplexLibraryName }));
}
- public override OptimizationProblemType OptimizationProblemType =>
+ protected override OptimizationProblemType OptimizationProblemType =>
LinearProgrammingType == LinearProgrammingType.LinearProgramming
? OptimizationProblemType.CPLEX_LINEAR_PROGRAMMING
Index: /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/GlopSolver.cs
===================================================================
--- /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/GlopSolver.cs (revision 16233)
+++ /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/GlopSolver.cs (revision 16234)
@@ -14,7 +14,10 @@
}
- public override OptimizationProblemType OptimizationProblemType => OptimizationProblemType.GLOP_LINEAR_PROGRAMMING;
public override bool SupportsPause => true;
+
public override bool SupportsStop => true;
+
+ protected override OptimizationProblemType OptimizationProblemType =>
+ OptimizationProblemType.GLOP_LINEAR_PROGRAMMING;
}
}
Index: /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/GlpkSolver.cs
===================================================================
--- /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/GlpkSolver.cs (revision 16233)
+++ /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/GlpkSolver.cs (revision 16234)
@@ -13,5 +13,5 @@
public GlpkSolver() {
Parameters.Add(libraryNameParam = new FixedValueParameter(nameof(LibraryName),
- new FileValue { FileDialogFilter = FileDialogFilter, Value = "glpk465.dll" }));
+ new FileValue { FileDialogFilter = FileDialogFilter, Value = Properties.Settings.Default.GlpkLibraryName }));
programmingTypeParam.Value.ValueChanged += (sender, args) => {
@@ -31,5 +31,5 @@
}
- public override OptimizationProblemType OptimizationProblemType =>
+ protected override OptimizationProblemType OptimizationProblemType =>
LinearProgrammingType == LinearProgrammingType.LinearProgramming
? OptimizationProblemType.GLPK_LINEAR_PROGRAMMING
Index: /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/GurobiSolver.cs
===================================================================
--- /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/GurobiSolver.cs (revision 16233)
+++ /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/GurobiSolver.cs (revision 16234)
@@ -14,5 +14,5 @@
public GurobiSolver() {
Parameters.Add(libraryNameParam = new FixedValueParameter(nameof(LibraryName),
- new FileValue { FileDialogFilter = FileDialogFilter, Value = "gurobi80.dll" }));
+ new FileValue { FileDialogFilter = FileDialogFilter, Value = Properties.Settings.Default.GurobiLibraryName }));
}
@@ -22,11 +22,12 @@
}
- public override OptimizationProblemType OptimizationProblemType =>
- LinearProgrammingType == LinearProgrammingType.LinearProgramming
+ public override bool SupportsPause => true;
+
+ public override bool SupportsStop => true;
+
+ protected override OptimizationProblemType OptimizationProblemType =>
+ LinearProgrammingType == LinearProgrammingType.LinearProgramming
? OptimizationProblemType.GUROBI_LINEAR_PROGRAMMING
: OptimizationProblemType.GUROBI_MIXED_INTEGER_PROGRAMMING;
-
- public override bool SupportsPause => true;
- public override bool SupportsStop => true;
}
}
Index: /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/ScipSolver.cs
===================================================================
--- /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/ScipSolver.cs (revision 16233)
+++ /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/ScipSolver.cs (revision 16234)
@@ -13,5 +13,5 @@
public ScipSolver() {
Parameters.Add(libraryNameParam = new FixedValueParameter(nameof(LibraryName),
- new FileValue { FileDialogFilter = FileDialogFilter, Value = "scip.dll" }));
+ new FileValue { FileDialogFilter = FileDialogFilter, Value = Properties.Settings.Default.ScipLibraryName }));
programmingTypeParam.Value =
(EnumValue)new EnumValue(LinearProgrammingType
@@ -19,9 +19,10 @@
}
- public override OptimizationProblemType OptimizationProblemType =>
- OptimizationProblemType.SCIP_MIXED_INTEGER_PROGRAMMING;
+ public override bool SupportsPause => true;
- public override bool SupportsPause => true;
public override bool SupportsStop => true;
+
+ protected override OptimizationProblemType OptimizationProblemType =>
+ OptimizationProblemType.SCIP_MIXED_INTEGER_PROGRAMMING;
}
}
Index: /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/Plugin.cs.frame
===================================================================
--- /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/Plugin.cs.frame (revision 16233)
+++ /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/Plugin.cs.frame (revision 16234)
@@ -25,12 +25,21 @@
[Plugin("HeuristicLab.MathematicalOptimization", "Provides support for mathematical optimization based on Google OR-Tools", "3.3.15.$WCREV$")]
[PluginFile("HeuristicLab.MathematicalOptimization-3.3.dll", PluginFileType.Assembly)]
+ [PluginDependency("HeuristicLab.Analysis", "3.3")]
+ [PluginDependency("HeuristicLab.CodeEditor", "3.4")]
+ [PluginDependency("HeuristicLab.Collections", "3.3")]
+ [PluginDependency("HeuristicLab.Common", "3.3")]
+ [PluginDependency("HeuristicLab.Common.Resources", "3.3")]
[PluginDependency("HeuristicLab.Core", "3.3")]
- [PluginDependency("HeuristicLab.Collections", "3.3")]
+ [PluginDependency("HeuristicLab.Core.Views", "3.3")]
[PluginDependency("HeuristicLab.Data", "3.3")]
+ [PluginDependency("HeuristicLab.MainForm", "3.3")]
+ [PluginDependency("HeuristicLab.MainForm.WindowsForms", "3.3")]
[PluginDependency("HeuristicLab.Optimization", "3.3")]
- [PluginDependency("HeuristicLab.Optimization.Operators", "3.3")]
+ [PluginDependency("HeuristicLab.OrTools", "6.9")]
+ [PluginDependency("HeuristicLab.Parameters", "3.3")]
+ [PluginDependency("HeuristicLab.Persistence", "3.3")]
[PluginDependency("HeuristicLab.Problems.Programmable", "3.3")]
[PluginDependency("HeuristicLab.Scripting", "3.3")]
- [PluginDependency("HeuristicLab.OrTools", "6.9")]
+ [PluginDependency("HeuristicLab.Scripting.Views", "3.3")]
public class HeuristicLabMathematicalOptimizationPlugin : PluginBase {
}
Index: /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/Properties/Settings.Designer.cs
===================================================================
--- /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/Properties/Settings.Designer.cs (revision 16234)
+++ /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/Properties/Settings.Designer.cs (revision 16234)
@@ -0,0 +1,74 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace HeuristicLab.MathematicalOptimization.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.8.0.0")]
+ public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("scip.dll")]
+ public string ScipLibraryName {
+ get {
+ return ((string)(this["ScipLibraryName"]));
+ }
+ set {
+ this["ScipLibraryName"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("gurobi80.dll")]
+ public string GurobiLibraryName {
+ get {
+ return ((string)(this["GurobiLibraryName"]));
+ }
+ set {
+ this["GurobiLibraryName"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("cplex1280.dll")]
+ public string CplexLibraryName {
+ get {
+ return ((string)(this["CplexLibraryName"]));
+ }
+ set {
+ this["CplexLibraryName"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("glpk465.dll")]
+ public string GlpkLibraryName {
+ get {
+ return ((string)(this["GlpkLibraryName"]));
+ }
+ set {
+ this["GlpkLibraryName"] = value;
+ }
+ }
+ }
+}
Index: /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/Properties/Settings.settings
===================================================================
--- /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/Properties/Settings.settings (revision 16234)
+++ /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/Properties/Settings.settings (revision 16234)
@@ -0,0 +1,18 @@
+
+
+
+
+
+ scip.dll
+
+
+ gurobi80.dll
+
+
+ cplex1280.dll
+
+
+ glpk465.dll
+
+
+
Index: /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/app.config
===================================================================
--- /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/app.config (revision 16234)
+++ /branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/app.config (revision 16234)
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+ scip.dll
+
+
+ gurobi80.dll
+
+
+ cplex1280.dll
+
+
+ glpk465.dll
+
+
+
+