Skip to content

JuliaSmoothOptimizers/CUTEst.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f692869 · Mar 1, 2025
Nov 2, 2024
Jan 24, 2025
Oct 10, 2024
Dec 22, 2024
Jan 24, 2025
Jan 24, 2025
Jun 1, 2021
Mar 1, 2025
Dec 13, 2024
Aug 14, 2024
Aug 28, 2019
Jan 19, 2025
Aug 29, 2024
Feb 11, 2015
Jan 25, 2025
Aug 29, 2024

Repository files navigation

CUTEst.jl: Julia's CUTEst Interface

This package provides an interface to CUTEst, a repository of constrained and unconstrained nonlinear programming problems for testing and comparing optimization algorithms, derived from the abstract model on NLPModels.jl.

Stable release Github release DOI

  • Documentation: docs-stable
  • Chat: Gitter

Development version

  • Documentation: docs-dev
  • Tests: build-gh codecov
  • Downloads: downloads

How to Cite

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

Installing

This package will automatically install the CUTEst binaries for your platform. The gfortran compiler is required to compile decoded SIF problems. Users on all platforms except Windows must install it to use CUTEst.jl. For Windows users, a small artifact containing gfortran.exe is installed automatically. No other Fortran compiler is supported.

The following command installs the CUTEst binaries and the Julia interface:

pkg> add CUTEst

Usage

After installation, you can create instances of NLPModels models using the CUTEstModel constructor:

using CUTEst

nlp = CUTEstModel{Float64}("BYRDSPHR")

This model supports the same functions as other NLPModels, for example:

using NLPModels

fx = obj(nlp, nlp.meta.x0)
gx = grad(nlp, nlp.meta.x0)
Hx = hess(nlp, nlp.meta.x0)

cx = cons(nlp, nlp.meta.x0)
Jx = jac(nlp, nlp.meta.x0)

Problems can also be instantiated in single and quadruple precision:

using CUTEst, Quadmath

nlp_single = CUTEstModel{Float32}("BYRDSPHR")
nlp_quadruple = CUTEstModel{Float128}("BYRDSPHR")

To retrieve the list of available SIF problems, use the function list_sif_problems:

using CUTEst

available_problems = list_sif_problems()

If you want to retrieve only problems with specific properties, you can use the function select_sif_problems:

using CUTEst

filtered_problems = select_sif_problems(; min_var=10, max_var=100, only_linear_con=true)

Tutorial

You can check an Introduction to CUTEst.jl on our site.

Related Packages

GPLv3