Skip to content

Commit 1af9d65

Browse files
Merge pull request #227 from SciML/docsupdate
update docs for subpackages
2 parents e90dcc6 + 0ddddbf commit 1af9d65

18 files changed

+233
-65
lines changed

docs/src/optimization_packages/blackboxoptim.md

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
11
# BlackBoxOptim.jl
22
[`BlackBoxOptim`](https://github.com/robertfeldt/BlackBoxOptim.jl) is a is a Julia package implementing **(Meta-)heuristic/stochastic algorithms** that do not require for the optimized function to be differentiable.
33

4+
## Installation: GalacticBBO.jl
5+
6+
To use this package, install the GalacticBBO package:
7+
8+
```julia
9+
import Pkg; Pkg.add("GalacticBBO")
10+
```
11+
12+
## Global Optimizers
13+
14+
### Without Constraint Equations
15+
16+
The algorithms in [`BlackBoxOptim`](https://github.com/robertfeldt/BlackBoxOptim.jl) are performing global optimization on problems without
17+
constraint equations. However, lower and upper constraints set by `lb` and `ub` in the `OptimizationProblem` are required.
18+
419
A `BlackBoxOptim` algorithm is called by `BBO_` prefix followed by the algorithm name:
520

621
* Natural Evolution Strategies:
@@ -29,11 +44,7 @@ The recommended optimizer is `BBO_adaptive_de_rand_1_bin_radiuslimited()`
2944

3045
The currently available algorithms are listed [here](https://github.com/robertfeldt/BlackBoxOptim.jl#state-of-the-library)
3146

32-
## Global Optimizer
33-
### Without Constraint Equations
34-
35-
The algorithms in [`BlackBoxOptim`](https://github.com/robertfeldt/BlackBoxOptim.jl) are performing global optimization on problems without
36-
constraint equations. However, lower and upper constraints set by `lb` and `ub` in the `OptimizationProblem` are required.
47+
## Example
3748

3849
The Rosenbrock function can optimized using the `BBO_adaptive_de_rand_1_bin_radiuslimited()` as follows:
3950

docs/src/optimization_packages/cmaevolutionstrategy.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,21 @@
33

44
The CMAEvolutionStrategy algorithm is called by `CMAEvolutionStrategyOpt()`
55

6+
## Installation: GalacticCMAEvolutionStrategy.jl
7+
8+
To use this package, install the GalacticCMAEvolutionStrategy package:
9+
10+
```julia
11+
import Pkg; Pkg.add("GalacticCMAEvolutionStrategy")
12+
```
13+
614
## Global Optimizer
715
### Without Constraint Equations
816

917
The method in [`CMAEvolutionStrategy`](https://github.com/jbrea/CMAEvolutionStrategy.jl) is performing global optimization on problems without
1018
constraint equations. However, lower and upper constraints set by `lb` and `ub` in the `OptimizationProblem` are required.
1119

20+
## Example
1221

1322
The Rosenbrock function can optimized using the `CMAEvolutionStrategyOpt()` as follows:
1423

docs/src/optimization_packages/evolutionary.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,33 @@
11
# Evolutionary.jl
22
[`Evolutionary`](https://github.com/wildart/Evolutionary.jl) is a Julia package implementing various evolutionary and genetic algorithm.
33

4-
A `Evolutionary` algorithm is called by one of the following:
5-
6-
- [`Evolutionary.GA()`](https://wildart.github.io/Evolutionary.jl/stable/ga/): **Genetic Algorithm optimizer**
7-
8-
- [`Evolutionary.DE()`](https://wildart.github.io/Evolutionary.jl/stable/de/): **Differential Evolution optimizer**
4+
## Installation: GalacticCMAEvolutionStrategy.jl
95

10-
- [`Evolutionary.ES()`](https://wildart.github.io/Evolutionary.jl/stable/es/): **Evolution Strategy algorithm**
11-
12-
- [`Evolutionary.CMAES()`](https://wildart.github.io/Evolutionary.jl/stable/cmaes/): **Covariance Matrix Adaptation Evolution Strategy algorithm**
13-
14-
Algorithm specific options are defined as `kwargs`. See the respective documentation for more detail.
6+
To use this package, install the GalacticCMAEvolutionStrategy package:
157

8+
```julia
9+
import Pkg; Pkg.add("GalacticCMAEvolutionStrategy")
10+
```
1611

1712
## Global Optimizer
1813
### Without Constraint Equations
1914

2015
The methods in [`Evolutionary`](https://github.com/wildart/Evolutionary.jl) are performing global optimization on problems without
2116
constraint equations. These methods work both with and without lower and upper constraints set by `lb` and `ub` in the `OptimizationProblem`.
2217

18+
A `Evolutionary` algorithm is called by one of the following:
2319

20+
- [`Evolutionary.GA()`](https://wildart.github.io/Evolutionary.jl/stable/ga/): **Genetic Algorithm optimizer**
2421

22+
- [`Evolutionary.DE()`](https://wildart.github.io/Evolutionary.jl/stable/de/): **Differential Evolution optimizer**
2523

24+
- [`Evolutionary.ES()`](https://wildart.github.io/Evolutionary.jl/stable/es/): **Evolution Strategy algorithm**
25+
26+
- [`Evolutionary.CMAES()`](https://wildart.github.io/Evolutionary.jl/stable/cmaes/): **Covariance Matrix Adaptation Evolution Strategy algorithm**
27+
28+
Algorithm specific options are defined as `kwargs`. See the respective documentation for more detail.
2629

30+
## Example
2731

2832
The Rosenbrock function can optimized using the `Evolutionary.CMAES()` as follows:
2933

docs/src/optimization_packages/flux.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Flux.jl
22

3+
## Installation: GalacticFlux.jl
4+
5+
To use this package, install the GalacticFlux package:
6+
7+
```julia
8+
import Pkg; Pkg.add("GalacticFlux")
9+
```
10+
11+
## Local Unconstrained Optimizers
312

413
- [`Flux.Optimise.Descent`](https://fluxml.ai/Flux.jl/stable/training/optimisers/#Flux.Optimise.Descent): **Classic gradient descent optimizer with learning rate**
514

docs/src/optimization_packages/gcmaes.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,24 @@
11
# GCMAES.jl
22
[`GCMAES`](https://github.com/AStupidBear/GCMAES.jl) is a Julia package implementing the **Gradient-based Covariance Matrix Adaptation Evolutionary Strategy** which can utilize the gradient information to speed up the optimization process.
33

4-
The GCMAES algorithm is called by `GCMAESOpt()` and the initial search variance is set as a keyword argument `σ0` (default: `σ0 = 0.2`)
4+
## Installation: GalacticGCMAES.jl
5+
6+
To use this package, install the GalacticGCMAES package:
7+
8+
```julia
9+
import Pkg; Pkg.add("GalacticGCMAES")
10+
```
511

612
## Global Optimizer
713
### Without Constraint Equations
814

15+
The GCMAES algorithm is called by `GCMAESOpt()` and the initial search variance is set as a keyword argument `σ0` (default: `σ0 = 0.2`)
16+
917
The method in [`GCMAES`](https://github.com/AStupidBear/GCMAES.jl) is performing global optimization on problems without
1018
constraint equations. However, lower and upper constraints set by `lb` and `ub` in the `OptimizationProblem` are required.
1119

20+
## Example
21+
1222
The Rosenbrock function can optimized using the `GCMAESOpt()` without utilizing the gradient information as follows:
1323

1424
```julia

docs/src/optimization_packages/mathoptinterface.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,22 @@
22

33
[MathOptInterface](https://github.com/jump-dev/MathOptInterface.jl) is Julia abstration layer to interface with variety of mathematical optimization solvers.
44

5+
## Installation: GalacticMOI.jl
6+
7+
To use this package, install the GalacticMOI package:
8+
9+
```julia
10+
import Pkg; Pkg.add("GalacticMOI")
11+
```
12+
13+
## Details
14+
515
As of now the `GalacticOptim` interface to `MathOptInterface` implents only the `maxtime` common keyword arguments. An optimizer which is implemented in the `MathOptInterface` is can be called be called directly if no optimizer options have to be defined. For example using the `Ipopt.jl` optimizer:
616

717
```julia
818
sol = solve(prob, Ipopt.Optimizer())
919
```
1020

11-
1221
The optimizer options are handled in one of two ways. They can either be set via `GalacticOptim.MOI.OptimizerWithAttributes()` or as keyword argument to `solve`. For example using the `Ipopt.jl` optimizer:
1322

1423
```julia

docs/src/optimization_packages/metaheuristics.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
# Metaheuristics.jl
22
[`Metaheuristics`](https://github.com/jmejia8/Metaheuristics.jl) is a is a Julia package implementing **metaheuristic algorithms** for global optiimization that do not require for the optimized function to be differentiable.
33

4+
## Installation: GalacticMetaheuristics.jl
5+
6+
To use this package, install the GalacticMetaheuristics package:
7+
8+
```julia
9+
import Pkg; Pkg.add("GalacticMetaheuristics")
10+
```
11+
12+
## Global Optimizer
13+
### Without Constraint Equations
14+
415
A `Metaheuristics` Single-Objective algorithm is called using one of the following:
516

617
* Evolutionary Centers Algorithm: `ECA()`
@@ -28,12 +39,13 @@ Lastly, information about the optimization problem such as the true optimum is s
2839

2940
The currently available algorithms and their parameters are listed [here](https://jmejia8.github.io/Metaheuristics.jl/stable/algorithms/).
3041

31-
## Global Optimizer
32-
### Without Constraint Equations
42+
## Notes
3343

3444
The algorithms in [`Metaheuristics`](https://github.com/jmejia8/Metaheuristics.jl) are performing global optimization on problems without
3545
constraint equations. However, lower and upper constraints set by `lb` and `ub` in the `OptimizationProblem` are required.
3646

47+
## Examples
48+
3749
The Rosenbrock function can optimized using the Evolutionary Centers Algorithm `ECA()` as follows:
3850

3951
```julia

docs/src/optimization_packages/multistartoptimization.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,22 @@ Currently, the local methods can be one of the algotithms implemented in `NLopt.
1212

1313
If you checkout the master branch of `MultiStartOptimization` or have version `>=0.1.3` you can use all optimizers found in the `GalacticOptim` which work with an initial parameter set. See an example of this below.
1414

15+
16+
## Installation: GalacticMultiStartOptimization.jl
17+
18+
To use this package, install the GalacticMultiStartOptimization package:
19+
20+
```julia
21+
import Pkg; Pkg.add("GalacticMultiStartOptimization")
22+
```
23+
1524
## Global Optimizer
1625
### Without Constraint Equations
1726

1827
The methods in [`MultistartOptimization`](https://github.com/tpapp/MultistartOptimization.jl) is performing global optimization on problems without
1928
constraint equations. However, lower and upper constraints set by `lb` and `ub` in the `OptimizationProblem` are required.
2029

30+
## Examples
2131

2232
The Rosenbrock function can optimized using `MultistartOptimization.TikTak()` with 100 initial points and the local method `NLopt.LD_LBFGS()` as follows:
2333

docs/src/optimization_packages/nlopt.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
# NLopt.jl
22
[`NLopt`](https://github.com/JuliaOpt/NLopt.jl) is Julia package interfacing to the free/open-source [`NLopt library`](http://ab-initio.mit.edu/nlopt) which implements many optimization methods both global and local [`NLopt Documentation`](https://nlopt.readthedocs.io/en/latest/NLopt_Algorithms/).
33

4+
## Installation: GalacticNLopt.jl
5+
6+
To use this package, install the GalacticNLopt package:
7+
8+
```julia
9+
import Pkg; Pkg.add("GalacticNLopt")
10+
```
11+
12+
## Methods
13+
414
`NLopt.jl` algorithms are chosen either via `NLopt.Opt(:algname, nstates)` where nstates is the number of states to be optimized but preferably via `NLopt.AlgorithmName()` where `AlgorithmName can be one of the following:
515
* `NLopt.GN_DIRECT()`
616
* `NLopt.GN_DIRECT_L()`

docs/src/optimization_packages/nomad.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@
33

44
The NOMAD algorithm is called by `NOMADOpt()`
55

6+
## Installation: GalacticNOMAD.jl
7+
8+
To use this package, install the GalacticNOMAD package:
9+
10+
```julia
11+
import Pkg; Pkg.add("GalacticNOMAD")
12+
```
13+
614
## Global Optimizer
715
### Without Constraint Equations
816

@@ -11,6 +19,7 @@ constraint equations. Currently however, linear and nonlinear constraints defin
1119

1220
NOMAD works both with and without lower and upper boxconstraints set by `lb` and `ub` in the `OptimizationProblem`.
1321

22+
## Examples
1423

1524
The Rosenbrock function can optimized using the `NOMADOpt()` with and without boxcontraints as follows:
1625

docs/src/optimization_packages/nonconvex.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
# Nonconvex.jl
22
[`Nonconvex`](https://github.com/JuliaNonconvex/Nonconvex.jl) is a is a Julia package implementing and wrapping nonconvex constrained optimization algorithms.
33

4+
## Installation: GalacticNOMAD.jl
5+
6+
To use this package, install the GalacticNOMAD package:
7+
8+
```julia
9+
import Pkg; Pkg.add("GalacticNOMAD")
10+
```
11+
12+
## Global Optimizer
13+
### Without Constraint Equations
14+
415
A `Nonconvex` algorithm is called using one of the following:
516

617
* [Method of moving asymptotes (MMA)](https://julianonconvex.github.io/Nonconvex.jl/stable/algorithms/mma/#Method-of-moving-asymptotes-(MMA)):
@@ -25,16 +36,16 @@ A `Nonconvex` algorithm is called using one of the following:
2536

2637
When performing optimizing a combination of integer and floating-point parameters the `integer` keyword has to be set. It takes a boolean vector indicating which parameter is an integer.
2738

39+
## Notes
2840

2941
Some optimizer may require further options to be defined in order to work.
3042

3143
The currently available algorithms are listed [here](https://julianonconvex.github.io/Nonconvex.jl/stable/algorithms/algorithms/)
3244

33-
## Global Optimizer
34-
### Without Constraint Equations
35-
3645
The algorithms in [`Nonconvex`](https://julianonconvex.github.io/Nonconvex.jl/stable/algorithms/algorithms/) are performing global optimization on problems without constraint equations. However, lower and upper constraints set by `lb` and `ub` in the `OptimizationProblem` are required.
3746

47+
## Examples
48+
3849
The Rosenbrock function can optimized using the Method of moving asymptotes algorithm `MMA02()` as follows:
3950

4051
```julia

docs/src/optimization_packages/optim.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
1-
# Optim.jl
1+
# [Optim.jl](@id optim)
22
[`Optim`](https://github.com/JuliaNLSolvers/Optim.jl) is Julia package implementing various algorithm to perform univariate and multivariate optimization.
33

4+
## Installation: GalacticOptimJL.jl
5+
6+
To use this package, install the GalacticNOMAD package:
7+
8+
```julia
9+
import Pkg; Pkg.add("GalacticNOMAD")
10+
```
11+
12+
## Methods
13+
414
`Optim.jl` algorithms are chosen either via `NLopt.AlgorithmName()` where `AlgorithmName` can be one of the following:
515

616
* `Optim.NelderMead()`
@@ -39,7 +49,6 @@ The following special keyword arguments which are not covered by the common `sol
3949
For a more extensive documentation of all the algorithms and options please consult the
4050
[`Documentation`](https://julianlsolvers.github.io/Optim.jl/stable/#)
4151

42-
4352
## Local Optimizer
4453
### Local Constraint
4554

docs/src/optimization_packages/quaddirect.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,18 @@
33

44
The QuadDIRECT algorithm is called using `QuadDirect()`.
55

6+
## Installation: GalacticQuadDIRECT.jl
7+
8+
To use this package, install the GalacticQuadDIRECT package:
9+
10+
```julia
11+
import Pkg; Pkg.add("GalacticQuadDIRECT")
12+
```
13+
614
Also note that `QuadDIRECT` should (for now) be installed by doing:
715

816
`] add https://github.com/timholy/QuadDIRECT.jl.git`
917

10-
1118
## Global Optimizer
1219
### Without Constraint Equations
1320
The algorithm in [`QuadDIRECT`](https://github.com/timholy/QuadDIRECT.jl) is performing global optimization on problems without
@@ -16,6 +23,8 @@ constraint equations. However, lower and upper constraints set by `lb` and `ub`
1623
Furthermore, `QuadDirect` requires `splits` which is a list of 3-vectors with initial locations at which to evaluate the function (the values must be in strictly increasing order and lie within the specified bounds) such that
1724
`solve(problem, QuadDirect(), splits)`.
1825

26+
## Example
27+
1928
The Rosenbrock function can optimized using the `QuadDirect()` as follows:
2029

2130
```julia

docs/src/optimization_packages/speedmapping.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@
33

44
The SpeedMapping algorithm is called by `SpeedMappingOpt()`
55

6+
## Installation: GalacticSpeedMapping.jl
7+
8+
To use this package, install the GalacticSpeedMapping package:
9+
10+
```julia
11+
import Pkg; Pkg.add("GalacticSpeedMapping")
12+
```
13+
614
## Global Optimizer
715
### Without Constraint Equations
816

0 commit comments

Comments
 (0)