Skip to content

JuliaSmoothOptimizers/SolverParameters.jl

Repository files navigation

SolverParameters

Stable Dev Build Status Build Status Docs workflow Status Coverage

Tools to manage set of parameters. Our primary target is to provide an abstract interface to handle parameters in solvers.

How to Cite

If you use SolverParameters.jl in your work, please cite using the format given in CITATION.cff.

Installation

SolverParameters is a   Julia Language   package. To install SolverParameters, please open Julia's interactive session (known as REPL) and press ] key in the REPL to use the package mode, then type the following command

pkg> add SolverParameters

Example

The main feature of this package is to define a Julia type to handle set of parameters. The following example is a brief illustration showing how to define a new set of parameters.

using SolverParameters

struct CatMockSolverParamSet{I, F} <: AbstractParameterSet
  real_inf::Parameter{F, RealInterval{F}}
  real::Parameter{String, CategoricalSet{String}}
  int_r::Parameter{I, IntegerRange{I}}
end

function CatMockSolverParamSet() # add a default constructor
  CatMockSolverParamSet(
    Parameter(Float64(42)),
    Parameter("A", CategoricalSet(["A", "B", "C", "D"])),
    Parameter(Int32(5), IntegerRange(Int32(5), Int32(20))),
  )
end

param_set = CatMockSolverParamSet()

It is then possible to use all the API defined in this package and described in the documentation on param_set.

Bug reports and discussions

If you think you found a bug, feel free to open an issue. Focused suggestions and requests can also be opened as issues. Before opening a pull request, start an issue or a discussion on the topic, please.

If you want to ask a question not suited for a bug report, feel free to start a discussion here. This forum is for general discussion about this repository and the JuliaSmoothOptimizers organization, so questions about any of our packages are welcome.