source: branches/2931_OR-Tools_LP_MIP/HeuristicLab.MathematicalOptimization/3.3/LinearProgramming/Algorithms/Solvers/ScipSolver.cs @ 16233

Last change on this file since 16233 was 16233, checked in by ddorfmei, 2 years ago

#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
File size: 1.1 KB
Line 
1using HeuristicLab.Core;
2using HeuristicLab.Data;
3using HeuristicLab.MathematicalOptimization.LinearProgramming.Algorithms.Solvers.Base;
4using HeuristicLab.Parameters;
5using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
6
7namespace HeuristicLab.MathematicalOptimization.LinearProgramming.Algorithms.Solvers {
8
9  [Item("SCIP", "SCIP (http://scip.zib.de/) must be installed and licenced.")]
10  [StorableClass]
11  public class ScipSolver : ExternalSolver {
12
13    public ScipSolver() {
14      Parameters.Add(libraryNameParam = new FixedValueParameter<FileValue>(nameof(LibraryName),
15        new FileValue { FileDialogFilter = FileDialogFilter, Value = "scip.dll" }));
16      programmingTypeParam.Value =
17        (EnumValue<LinearProgrammingType>)new EnumValue<LinearProgrammingType>(LinearProgrammingType
18          .MixedIntegerProgramming).AsReadOnly();
19    }
20
21    public override OptimizationProblemType OptimizationProblemType =>
22      OptimizationProblemType.SCIP_MIXED_INTEGER_PROGRAMMING;
23
24    public override bool SupportsPause => true;
25    public override bool SupportsStop => true;
26  }
27}
Note: See TracBrowser for help on using the repository browser.