Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

minor changes in paper #35

Merged
merged 1 commit into from
Oct 25, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ Due to the inherent complexity of such problems, a plethora of different algorit
nonlinear optimization test problems, long a standard test set for nonlinear optimization. In particular, `PyCUTEst`:

* assists numerical algorithm and software developers in testing new ideas against a state-of-the-art collection
of test problems that span small- and large-scale, constrained and unconstrained, nonlinear optimization problems.
of test problems that span small- and large-scale, constrained and unconstrained, nonlinear optimization problems;

* allows scientists and other users of optimization software to compare candidate algorithms and software on standard test problems, helping them select the tools best suited to their needs.
* allows scientists and other users of optimization software to compare candidate algorithms and software on standard test problems, helping them select the tools best suited to their needs; and

* is easy to install via `pip` and our detailed [documentation](https://jfowkes.github.io/pycutest/) provides instructions on
how users can easily install the underlying `CUTEst` test collection.
Expand All @@ -44,7 +44,7 @@ In short, our aim is that `PyCUTEst` will make it easier for users to test new a
The `CUTEst` [@cutest] library is a widely used collection of nonlinear optimization test problems, based on the original
`CUTE` [@cute] and `CUTEr` [@cuter] packages.
It has a collection of over 1,500 problems, many of which are parametrized to allow for variable dimensions through user-selectable parameters.
However, despite the popularity of `CUTEst`, it is currently only accessible through Fortran, C or MATLAB interfaces
However, despite the popularity of `CUTEst`, it is currently only accessible through Fortran, C, or MATLAB interfaces
provided with the main package, or through the Julia interface `CUTEst.jl` [@cutestjl].
In particular, it is not possible to use `CUTEst` in Python, even though Python is widely used in numerical
computing and has a large ecosystem of open source software for nonlinear optimization.
Expand All @@ -53,19 +53,19 @@ The other widely used packages that encode optimization test problems are the mo
and `GAMS` [@gams].
Although both provide Python interfaces, and in fact many `CUTEst` problems have been translated into `AMPL` [@cuteampl],
they are proprietary packages.
An open source alternative to `AMPL` and `GAMS` is the Julia package `JuMP` [@jump].
An open-source alternative to `AMPL` and `GAMS` is the Julia package `JuMP` [@jump].

# Statement of need

`PyCUTEst` gives Python users access to the full `CUTEst` [@cutest] collection of optimization test problems via a simple interface for
compiling problems (that automatically generates a C interface to the underlying Fortran package).
To the best of our knowledge, this is the only available Python package for accessing the `CUTEst` library that is stable and maintained.

The main benefits of the `PyCUTEst` package are:
The main benefits of the `PyCUTEst` package are that it:

* Enabling the use of the `CUTEst` test collection by the sizeable community of Python optimization software developers and users.
* enables the use of the `CUTEst` test collection by the sizeable community of Python optimization software developers and users; and

* Allowing simple benchmarking of optimization algorithms and software in Python against a widely used standard collection of test problems.
* allows simple benchmarking of optimization algorithms and software in Python against a widely used standard collection of test problems.

Our aim is for `PyCUTEst` to make it easier for both optimization users and software developers to develop and test new and existing algorithms and software in Python. Since its inception, just over four years ago at the time of writing, `PyCUTEst` has had over 15,000 downloads and we believe is well on the way to achieving this aim.

Expand Down