GuillotineModels.CommandLine.SolversArgs

GuillotineModels.CommandLine.SolversArgsModule

SolversArgs module aggregates the methods necessary for making solvers available to use with GuillotineModels.CommandLine methods (especially run).

The package Requires.jl is used to implement GuillotineModels.SolversArgs.empty_configured_model(Val(:SOME_SOLVER)) only if SOME_SOLVER package is loaded.

The solver-specific methods this module implements for each supported solver are: GuillotineModels.Utilities.Args.{accepted_arg_list, throw_if_incompatible_options}, and GuillotineModels.CommandLine.SolversArgs. empty_configured_model. The GuillotineModels.Utilities methods are always available, not just when the respective solver package was imported.

The supported solvers are CPLEX, Gurobi, Cbc, and GLPK. Supporting new solvers is just a question of implementing a specialization of the three methods mentioned above for the specific solver (see the code for examples).

source
GuillotineModels.CommandLine.SolversArgs.empty_configured_modelMethod
empty_configured_model(::Val{T}, p_args) :: JuMP-like Model

Creates an empty (no variables or constraints) and configured (p_args is used to set the parameters of an attached solver) model of the solver ::Val{T} (for example, passing ::Val{:CPLEX} will call the specialized method for CPLEX solver).

The options available for p_args are available in GuillotineModels. Utilities.Args.accepted_arg_list(::Val{SOLVER_PACKAGE_SYMBOL}).

source