Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/17/18 17:51:26 (6 years ago)
Author:
ddorfmei
Message:

#2931:

  • added all available parameters OR-Tools's linear_solver to LinearProgrammingAlgorithm
    • added necessary parameter enums
  • moved solving logic to Solver
    • created IncrementalSolver, ExternalSolver, ExternalIncrementalSolver
    • added logic for solvers that can be stopped and resumed
  • added SupportsStop property to BasicAlgorithm
  • added quality per time chart for incremental solvers
Location:
branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers
Files:
1 added
1 moved

Legend:

Unmodified
Added
Removed
  • branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/GurobiSolver.cs

    r16232 r16233  
    1 using HeuristicLab.Core;
     1using HeuristicLab.Common;
     2using HeuristicLab.Core;
    23using HeuristicLab.Data;
     4using HeuristicLab.MathematicalOptimization.LinearProgramming.Algorithms.Solvers.Base;
    35using HeuristicLab.Parameters;
    46using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    57
    6 namespace HeuristicLab.MathematicalOptimization.LinearProgramming.Algorithms {
     8namespace HeuristicLab.MathematicalOptimization.LinearProgramming.Algorithms.Solvers {
     9
    710  [Item("Gurobi", "Gurobi (http://www.gurobi.com/) must be installed and licenced.")]
    811  [StorableClass]
    9   public class GurobiSolver : Solver {
     12  public class GurobiSolver : ExternalIncrementalSolver {
    1013
    1114    public GurobiSolver() {
    12       Parameters.Add(libraryNameParam = new FixedValueParameter<StringValue>(nameof(LibraryName), new StringValue("gurobi80.dll")));
     15      Parameters.Add(libraryNameParam = new FixedValueParameter<FileValue>(nameof(LibraryName),
     16        new FileValue { FileDialogFilter = FileDialogFilter, Value = "gurobi80.dll" }));
     17    }
     18
     19    protected GurobiSolver(GurobiSolver original, Cloner cloner)
     20          : base(original, cloner) {
     21      programmingTypeParam = cloner.Clone(original.programmingTypeParam);
    1322    }
    1423
     
    1726        ? OptimizationProblemType.GUROBI_LINEAR_PROGRAMMING
    1827        : OptimizationProblemType.GUROBI_MIXED_INTEGER_PROGRAMMING;
     28
     29    public override bool SupportsPause => true;
     30    public override bool SupportsStop => true;
    1931  }
    2032}
Note: See TracChangeset for help on using the changeset viewer.