Skip to content

Commit 815e89b

Browse files
tmigotCopilot
andauthored
Add more information to the documentation (#333)
* Add more information to the documentation * Delete 'How to cite' section from index.md Removed citation section from the documentation. * Update optimization problem notation in documentation Replaced LaTeX equation with plain text representation. * Fix formatting in documentation for JSOSolvers * add more * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix heading format in examples.md * Update docs/src/index.md * Update docs/src/index.md * Enhance documentation with function and algorithm details Added explanation of function properties and optimization methods. * Add header for doc in readme * Add unit test instructions for JSOSolvers package Added instructions for running unit tests for the JSOSolvers package. * Add unit test instructions to README Added instructions for running unit tests. --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent 8222c57 commit 815e89b

4 files changed

Lines changed: 52 additions & 5 deletions

File tree

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@ This package provides an implementation of four classic algorithms for unconstra
5555

5656
`pkg> add JSOSolvers`
5757

58+
You can run the package’s unit tests with:
59+
60+
```julia
61+
pkg> test JSOSolvers
62+
```
63+
5864
## Example
5965

6066
```julia
@@ -65,6 +71,10 @@ nlp = ADNLPModel(x -> 100 * (x[2] - x[1]^2)^2 + (x[1] - 1)^2, [-1.2; 1.0])
6571
stats = lbfgs(nlp) # or trunk, tron, R2
6672
```
6773

74+
## Documentation
75+
76+
Click on the badge [![](https://img.shields.io/badge/docs-stable-3f51b5.svg)](https://jso.dev/JSOSolvers.jl/stable) to access the documentation.
77+
6878
## How to cite
6979

7080
If you use JSOSolvers.jl in your work, please cite using the format given in [CITATION.cff](CITATION.cff).

docs/make.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ makedocs(
1111
sitename = "JSOSolvers.jl",
1212
pages = [
1313
"index.md",
14+
"examples.md",
1415
"solvers.md",
1516
"benchmark.md",
1617
"floating-point-systems.md",

docs/src/examples.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Examples
2+
3+
Beyond this repository's documentation, you can also find a list of tutorials on [JuliaSmoothOptimizers Tutorials](https://jso.dev/tutorials) by selecting the tag `JSOSolvers.jl`. For instance, the tutorial [Introduction to JSOSolvers](https://jso.dev/tutorials/introduction-to-jsosolvers/#title) is a good starting point.
4+

docs/src/index.md

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,42 @@
11
# [JSOSolvers.jl documentation](@id Home)
22

3-
This package provides a few optimization solvers curated by the [JuliaSmoothOptimizers](https://jso.dev) organization.
3+
`JSOSolvers.jl` is a collection of Julia optimization solvers for nonlinear, potentially nonconvex, continuous optimization problems that are unconstrained or bound-constrained:
4+
5+
```math
6+
\begin{aligned}
7+
\min\; & f(x) \\
8+
\text{s.t.}\; & \ell \leq x \leq u
9+
\end{aligned}
10+
```
11+
where $f:\mathbb{R}^n \rightarrow \mathbb{R}$ is a continuously differentiable function, with $\ell \in \left(\mathbb{R} \cup \{-\infty\} \right)^n$, and $u \in \left(\mathbb{R} \cup \{+\infty\} \right)^n$.
12+
The algorithms implemented here are iterative methods that aim to compute a stationary point of \eqref{eq:nlp} using first and, if possible, second-order derivatives.
13+
14+
This package provides optimization solvers curated by the [JuliaSmoothOptimizers](https://jso.dev) organization.
15+
Solvers in `JSOSolvers.jl` take as input an `AbstractNLPModel`, JSO's general model API defined in `NLPModels.jl`, a flexible data type to evaluate objective and constraints, their derivatives, and to provide any information that a solver might request from a model.
16+
17+
The solvers in `JSOSolvers.jl` adopt a matrix-free approach, where standard optimization methods are implemented without forming derivative matrices explicitly.
18+
This strategy enables the solution of large-scale problems even when function and gradient evaluations are expensive. The motivation is to solve large-scale unconstrained and bound-constrained problems such as parameter estimation in inverse problems, design optimization in engineering, and regularized machine learning models, and use these solvers to solve subproblems of penalty algorithms.
19+
20+
## Installation
21+
22+
`JSOSolvers` is a registered package. To install this package, open the Julia REPL (i.e., execute the julia binary), type `]` to enter package mode, and install `JSOSolvers` as follows
23+
24+
```julia
25+
pkg> add JSOSolvers
26+
```
27+
28+
You can run the package’s unit tests with:
29+
30+
```julia
31+
pkg> test JSOSolvers
32+
```
33+
34+
# Bug reports and discussions
35+
36+
If you think you found a bug, feel free to open an [issue](https://github.com/JuliaSmoothOptimizers/JSOSolvers.jl/issues).
37+
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.
38+
39+
If you want to ask a question not suited for a bug report, feel free to start a discussion [here](https://github.com/JuliaSmoothOptimizers/Organization/discussions). This forum is for general discussion about this repository and the [JuliaSmoothOptimizers](https://github.com/JuliaSmoothOptimizers), so questions about any of our packages are welcome.
440

541
## Basic usage
642

@@ -23,7 +59,3 @@ where `nlp` is an AbstractNLPModel or some specialization, such as an `AbstractN
2359
- `stats` is a `SolverTools.GenericExecutionStats` with the output of the solver.
2460

2561
See the full list of [Solvers](@ref).
26-
27-
## Tutorials
28-
29-
Beyond this repository's documentation, you can also find a list of tutorials on [JuliaSmoothOptimizers Tutorials](https://jso.dev/tutorials) by selecting the tag `JSOSolvers.jl`.

0 commit comments

Comments
 (0)