Class Optimisation.Options

java.lang.Object
org.ojalgo.optimisation.Optimisation.Options
All Implemented Interfaces:
Optimisation
Enclosing interface:
Optimisation

public static final class Optimisation.Options extends Object implements Optimisation
  • Field Details

    • experimental

      public boolean experimental
      This may turn on various experimental features. If you do not know exactly what you want to turn on, for the specific version you're using, then always leave this 'false'.
    • feasibility

      public NumberContext feasibility
      Used to determine/validate feasibility. Are the variables within their bounds or not, are the constraints violated or not? are the variable values integer or not?

      Primarily used in ExpressionsBasedModel. Not used (should not be) as part of solver logic, but ouside the solvers to validate their results.

    • iterations_abort

      public int iterations_abort
      The maximmum number of iterations allowed for the solve() command.
    • iterations_suffice

      public int iterations_suffice
      Calculations will be terminated after this number of iterations if a feasible solution has been found. If no feasible solution has been found calculations will continue until one is found or iterations_abort is reached. This option is, probably, only of interest with the IntegerSolver.
    • logger_appender

      public BasicLogger logger_appender
      If this is null nothing is printed, if it is not null then progress/debug messages are printed to that BasicLogger.
    • logger_detailed

      public boolean logger_detailed
      Detailed (debug) logging or not.
    • logger_solver

      public Class<? extends Optimisation.Solver> logger_solver
      Which Optimisation.Solver to debug. Null means NO solvers. This setting is only relevant if logger_appender has been set.
    • print

      public NumberContext print
      For display only! Object.toString() and log message formatting.
    • solution

      public NumberContext solution
      Describes the (required/sufficient) accuracy of the solution. It is used when copying the solver's solution back to the model (converting from double to BigDecimal). Specific solvers may also use this as a stopping criteria or similar. The default essentially copies the numbers as is – corresponding to full double precision – but with no more than 14 decimals.
    • sparse

      public Boolean sparse
      Controls if sparse/iterative solvers should be favoured over dense/direct alternatives. Sparse/iterative alternatives are usually preferable with larger models, but there are also algorithmical differences that could make one alternative better than the other for a (your) specific case. There are 3 different possibilities for this option:
      1. TRUE Will use the sparse linear solver and the iterative convex solver.
      2. FALSE Will use the dense linear solver and the direct convex solver.
      3. NULL ojAlgo will use some logic to choose for you. This is the default. Currently, the dense LinearSolver and the iterative ConvexSolver will be used. In the vast majority of cases these are the best alternatives.
      In most cases you do not need to worry about this configuration option - leave this choice to ojAlgo.
    • time_abort

      public long time_abort
      The maximmum number of millis allowed for the solve() command. Executions will be aborted regardless of if a solution has been found or not.
    • time_suffice

      public long time_suffice
      Calculations will be terminated after this amount of time if a feasible solution has been found. If no feasible solution has been found calculations will continue until one is found or time_abort is reached. This option is , probably, only of interest with the IntegerSolver.
    • validate

      public boolean validate
      If true models and solvers will validate data at various points. Validation is turned off by default. Turning it on will significantly slow down execution - even very expensive validation may be performed.
    • myConfigurator

      private Object myConfigurator
    • myConvexConfiguration

      private ConvexSolver.Configuration myConvexConfiguration
    • myIntegerStrategy

      private IntegerStrategy myIntegerStrategy
    • myLinearConfiguration

      private LinearSolver.Configuration myLinearConfiguration
  • Constructor Details

    • Options

      public Options()
  • Method Details