You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.rst
+9-8
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ Py-BOBYQA is a flexible package for solving bound-constrained general objective
27
27
More details about Py-BOBYQA and its enhancements over BOBYQA can be found in our papers:
28
28
29
29
1. Coralia Cartis, Jan Fiala, Benjamin Marteau and Lindon Roberts, `Improving the Flexibility and Robustness of Model-Based Derivative-Free Optimization Solvers <https://doi.org/10.1145/3338517>`_, *ACM Transactions on Mathematical Software*, 45:3 (2019), pp. 32:1-32:41 [`arXiv preprint: 1804.00154 <https://arxiv.org/abs/1804.00154>`_]
30
-
2. Coralia Cartis, Lindon Roberts and Oliver Sheridan-Methven, `Escaping local minima with derivative-free methods: a numerical investigation <https://doi.org/10.1080/02331934.2021.1883015>`_, *Optimization* (2021). [`arXiv preprint: 1812.11343 <https://arxiv.org/abs/1812.11343>`_]
30
+
2. Coralia Cartis, Lindon Roberts and Oliver Sheridan-Methven, `Escaping local minima with derivative-free methods: a numerical investigation <https://doi.org/10.1080/02331934.2021.1883015>`_, *Optimization*, 71:8 (2022), pp. 2343-2373. [`arXiv preprint: 1812.11343 <https://arxiv.org/abs/1812.11343>`_]
31
31
32
32
Please cite [1] when using Py-BOBYQA for local optimization, and [1,2] when using Py-BOBYQA's global optimization heuristic functionality. For reproducibility of all figures, please feel free to contact the authors.
33
33
@@ -47,19 +47,19 @@ Cartis, C., Fiala, J., Marteau, B. and Roberts, L., Improving the Flexibility an
47
47
48
48
If you use Py-BOBYQA's global optimization heuristic, please cite the above and also
49
49
50
-
Cartis, C., Roberts, L. and Sheridan-Methven, O., Escaping local minima with derivative-free methods: a numerical investigation, Optimization, (2021).
50
+
Cartis, C., Roberts, L. and Sheridan-Methven, O., Escaping local minima with derivative-free methods: a numerical investigation, Optimization, 71:8 (2022), pp. 2343-2373.
51
51
52
52
Requirements
53
53
------------
54
54
Py-BOBYQA requires the following software to be installed:
55
55
56
-
* Python 2.7 or Python 3 (http://www.python.org/)
56
+
* Python 3.8 or higher (http://www.python.org/)
57
57
58
58
Additionally, the following python packages should be installed (these will be installed automatically if using *pip*, see `Installation using pip`_):
59
59
60
-
* NumPy 1.11 or higher (http://www.numpy.org/)
61
-
* SciPy 0.18 or higher (http://www.scipy.org/)
62
-
* Optionally, Pandas 0.17 or higher (http://pandas.pydata.org/), to return the diagnostic information as a DataFrame
60
+
* NumPy (http://www.numpy.org/)
61
+
* SciPy (http://www.scipy.org/)
62
+
* Pandas (http://pandas.pydata.org/)
63
63
64
64
**Optional package:** Py-BOBYQA versions 1.2 and higher also support the `trustregion <https://github.com/lindonroberts/trust-region>`_ package for fast trust-region subproblem solutions. To install this, make sure you have a Fortran compiler (e.g. `gfortran <https://gcc.gnu.org/wiki/GFortran>`_) and NumPy installed, then run :code:`pip install trustregion`. You do not have to have trustregion installed for Py-BOBYQA to work, and it is not installed by default.
65
65
@@ -125,11 +125,12 @@ To upgrade Py-BOBYQA to the latest version, navigate to the top-level directory
125
125
126
126
Testing
127
127
-------
128
-
If you installed Py-BOBYQA manually, you can test your installation by running:
128
+
If you installed Py-BOBYQA manually, you can test your installation using the pytest package:
129
129
130
130
.. code-block:: bash
131
131
132
-
$ python setup.py test
132
+
$ pip install pytest
133
+
$ python -m pytest --pyargs pybobyqa
133
134
134
135
Alternatively, the HTML documentation provides some simple examples of how to run Py-BOBYQA.
Copy file name to clipboardExpand all lines: docs/index.rst
+2-2
Original file line number
Diff line number
Diff line change
@@ -26,9 +26,9 @@ The upper and lower bounds on the variables are non-relaxable (i.e. Py-BOBYQA wi
26
26
Full details of the Py-BOBYQA algorithm are given in our papers:
27
27
28
28
1. Coralia Cartis, Jan Fiala, Benjamin Marteau and Lindon Roberts, `Improving the Flexibility and Robustness of Model-Based Derivative-Free Optimization Solvers <https://doi.org/10.1145/3338517>`_, *ACM Transactions on Mathematical Software*, 45:3 (2019), pp. 32:1-32:41 [`preprint <https://arxiv.org/abs/1804.00154>`_]
29
-
2. Coralia Cartis, Lindon Roberts and Oliver Sheridan-Methven, `Escaping local minima with derivative-free methods: a numerical investigation <https://doi.org/10.1080/02331934.2021.1883015>`_, *Optimization* (2021). [`preprint <https://arxiv.org/abs/1812.11343>`_]
29
+
2. Coralia Cartis, Lindon Roberts and Oliver Sheridan-Methven, `Escaping local minima with derivative-free methods: a numerical investigation <https://doi.org/10.1080/02331934.2021.1883015>`_, *Optimization*, 71:8 (2022), pp. 2343-2373. [`arXiv preprint: 1812.11343<https://arxiv.org/abs/1812.11343>`_]
30
30
31
-
Please cite [1] when using Py-BOBYQA for local optimization, and [1,2] when using Py-BOBYQA's global optimization heuristic functionality **(new in v1.1!)**.
31
+
Please cite [1] when using Py-BOBYQA for local optimization, and [1,2] when using Py-BOBYQA's global optimization heuristic functionality.
32
32
33
33
If you are interested in solving least-squares minimization problems, you may wish to try `DFO-LS <https://github.com/numericalalgorithmsgroup/dfols>`_, which has the same features as Py-BOBYQA (plus some more), and exploits the least-squares problem structure, so performs better on such problems.
Copy file name to clipboardExpand all lines: docs/install.rst
+7-6
Original file line number
Diff line number
Diff line change
@@ -5,13 +5,13 @@ Requirements
5
5
------------
6
6
Py-BOBYQA requires the following software to be installed:
7
7
8
-
* `Python 2.7 or Python 3 <http://www.python.org/>`_
8
+
* Python 3.8 or higher (http://www.python.org/)
9
9
10
10
Additionally, the following python packages should be installed (these will be installed automatically if using `pip <http://www.pip-installer.org/>`_, see `Installation using pip`_):
11
11
12
-
* `NumPy 1.11 or higher <http://www.numpy.org/>`_
13
-
* `SciPy 0.18 or higher <http://www.scipy.org/>`_
14
-
* Optionally, `Pandas 0.17 or higher <https://pandas.pydata.org/>`_, to return the diagnostic information as a DataFrame
12
+
* NumPy (http://www.numpy.org/)
13
+
* SciPy (http://www.scipy.org/)
14
+
* Pandas (http://pandas.pydata.org/)
15
15
16
16
**Optional package:** Py-BOBYQA versions 1.2 and higher also support the `trustregion <https://github.com/lindonroberts/trust-region>`_ package for fast trust-region subproblem solutions. To install this, make sure you have a Fortran compiler (e.g. `gfortran <https://gcc.gnu.org/wiki/GFortran>`_) and NumPy installed, then run :code:`pip install trustregion`. You do not have to have trustregion installed for Py-BOBYQA to work, and it is not installed by default.
17
17
@@ -71,11 +71,12 @@ To upgrade Py-BOBYQA to the latest version, navigate to the top-level directory
71
71
72
72
Testing
73
73
-------
74
-
If you installed Py-BOBYQA manually, you can test your installation by running:
74
+
If you installed Py-BOBYQA manually, you can test your installation using the pytest package:
Copy file name to clipboardExpand all lines: docs/userguide.rst
+4-4
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ Py-BOBYQA is designed to solve the local optimization problem
14
14
where the bound constraints :math:`a \leq x \leq b` are optional. The upper and lower bounds on the variables are non-relaxable (i.e. Py-BOBYQA will never ask to evaluate a point outside the bounds). The objective function :math:`f(x)` is usually nonlinear and nonquadratic. If you know your objective is linear or quadratic, you should consider a solver designed for such functions (see `here <https://neos-guide.org/Optimization-Guide>`_ for details).
15
15
16
16
Py-BOBYQA iteratively constructs an interpolation-based model for the objective, and determines a step using a trust-region framework.
17
-
For an in-depth technical description of the algorithm see the paper [CFMR2018]_, and for the global optimization heuristic, see [CRO2018]_.
17
+
For an in-depth technical description of the algorithm see the paper [CFMR2018]_, and for the global optimization heuristic, see [CRO2022]_.
18
18
19
19
How to use Py-BOBYQA
20
20
--------------------
@@ -402,12 +402,12 @@ The output of this is:
402
402
Warning (max evals): Objective has been called MAXFUN times
403
403
******************************
404
404
405
-
As we can see, the :code:`seek_global_minimum` flag helped Py-BOBYQA escape the local minimum from the first run, and find the global minimum. More details are given in [CRO2018]_.
405
+
As we can see, the :code:`seek_global_minimum` flag helped Py-BOBYQA escape the local minimum from the first run, and find the global minimum. More details are given in [CRO2022]_.
406
406
407
407
References
408
408
----------
409
409
410
410
.. [CFMR2018]
411
411
Coralia Cartis, Jan Fiala, Benjamin Marteau and Lindon Roberts, `Improving the Flexibility and Robustness of Model-Based Derivative-Free Optimization Solvers <https://doi.org/10.1145/3338517>`_, *ACM Transactions on Mathematical Software*, 45:3 (2019), pp. 32:1-32:41 [`preprint <https://arxiv.org/abs/1804.00154>`_]
412
-
.. [CRO2018]
413
-
Coralia Cartis, Lindon Roberts and Oliver Sheridan-Methven, `Escaping local minima with derivative-free methods: a numerical investigation <https://doi.org/10.1080/02331934.2021.1883015>`_, *Optimization* (2021). [`preprint <https://arxiv.org/abs/1812.11343>`_]
412
+
.. [CRO2022]
413
+
Coralia Cartis, Lindon Roberts and Oliver Sheridan-Methven, `Escaping local minima with derivative-free methods: a numerical investigation <https://doi.org/10.1080/02331934.2021.1883015>`_, *Optimization*, 71:8 (2022), pp. 2343-2373. [`arXiv preprint: 1812.11343<https://arxiv.org/abs/1812.11343>`_]
0 commit comments