DFO-LS 1.3.0__tar.gz → 1.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of DFO-LS might be problematic. Click here for more details.

@@ -0,0 +1,202 @@
1
+ Metadata-Version: 2.1
2
+ Name: DFO-LS
3
+ Version: 1.4.1
4
+ Summary: A flexible derivative-free solver for (bound constrained) nonlinear least-squares minimization
5
+ Author-email: Lindon Roberts <lindon.roberts@sydney.edu.au>
6
+ Maintainer-email: Lindon Roberts <lindon.roberts@sydney.edu.au>
7
+ License: GPL-3.0-or-later
8
+ Project-URL: Homepage, https://github.com/numericalalgorithmsgroup/dfols
9
+ Project-URL: Download, https://github.com/numericalalgorithmsgroup/dfols/releases/
10
+ Project-URL: Bug Tracker, https://github.com/numericalalgorithmsgroup/dfols/issues/
11
+ Project-URL: Documentation, https://numericalalgorithmsgroup.github.io/dfols/
12
+ Project-URL: Source Code, https://github.com/numericalalgorithmsgroup/dfols
13
+ Keywords: mathematics,optimization,least squares,derivative free optimization,nonlinear least squares
14
+ Classifier: Development Status :: 5 - Production/Stable
15
+ Classifier: Environment :: Console
16
+ Classifier: Framework :: IPython
17
+ Classifier: Framework :: Jupyter
18
+ Classifier: Intended Audience :: Science/Research
19
+ Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
20
+ Classifier: Operating System :: MacOS
21
+ Classifier: Operating System :: Microsoft :: Windows
22
+ Classifier: Operating System :: Unix
23
+ Classifier: Programming Language :: Python
24
+ Classifier: Programming Language :: Python :: 3
25
+ Classifier: Programming Language :: Python :: 3.9
26
+ Classifier: Programming Language :: Python :: 3.10
27
+ Classifier: Programming Language :: Python :: 3.11
28
+ Classifier: Programming Language :: Python :: 3.12
29
+ Classifier: Topic :: Scientific/Engineering
30
+ Classifier: Topic :: Scientific/Engineering :: Mathematics
31
+ Requires-Python: >=3.9
32
+ Description-Content-Type: text/x-rst
33
+ License-File: LICENSE.txt
34
+ Requires-Dist: setuptools
35
+ Requires-Dist: numpy
36
+ Requires-Dist: scipy>=1.11
37
+ Requires-Dist: pandas
38
+ Provides-Extra: dev
39
+ Requires-Dist: pytest; extra == "dev"
40
+ Requires-Dist: Sphinx; extra == "dev"
41
+ Requires-Dist: sphinx-rtd-theme; extra == "dev"
42
+ Provides-Extra: trustregion
43
+ Requires-Dist: trustregion>=1.1; extra == "trustregion"
44
+
45
+ ===================================================
46
+ DFO-LS: Derivative-Free Optimizer for Least-Squares
47
+ ===================================================
48
+
49
+ .. image:: https://github.com/numericalalgorithmsgroup/dfols/actions/workflows/python_testing.yml/badge.svg
50
+ :target: https://github.com/numericalalgorithmsgroup/dfols/actions
51
+ :alt: Build Status
52
+
53
+ .. image:: https://img.shields.io/badge/License-GPL%20v3-blue.svg
54
+ :target: https://www.gnu.org/licenses/gpl-3.0
55
+ :alt: GNU GPL v3 License
56
+
57
+ .. image:: https://img.shields.io/pypi/v/DFO-LS.svg
58
+ :target: https://pypi.python.org/pypi/DFO-LS
59
+ :alt: Latest PyPI version
60
+
61
+ .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.2630426.svg
62
+ :target: https://doi.org/10.5281/zenodo.2630426
63
+ :alt: DOI:10.5281/zenodo.2630426
64
+
65
+ .. image:: https://static.pepy.tech/personalized-badge/dfo-ls?period=total&units=international_system&left_color=black&right_color=green&left_text=Downloads
66
+ :target: https://pepy.tech/project/dfo-ls
67
+ :alt: Total downloads
68
+
69
+ DFO-LS is a flexible package for solving nonlinear least-squares minimization, without requiring derivatives of the objective. It is particularly useful when evaluations of the objective function are expensive and/or noisy. DFO-LS is more flexible version of `DFO-GN <https://github.com/numericalalgorithmsgroup/dfogn>`_.
70
+
71
+ This is an implementation of the algorithm from our paper: C. Cartis, J. Fiala, B. Marteau and L. 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>`_]. For reproducibility of all figures in this paper, please feel free to contact the authors.
72
+
73
+ If you are interested in solving general optimization problems (without a least-squares structure), you may wish to try `Py-BOBYQA <https://github.com/numericalalgorithmsgroup/pybobyqa>`_, which has many of the same features as DFO-LS.
74
+
75
+ Documentation
76
+ -------------
77
+ See manual.pdf or `here <https://numericalalgorithmsgroup.github.io/dfols/>`_.
78
+
79
+ Citation
80
+ --------
81
+ If you use DFO-LS in a paper, please cite:
82
+
83
+ Cartis, C., Fiala, J., Marteau, B. and Roberts, L., `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.
84
+
85
+ If you use DFO-LS for problems with constraints, including bound constraints, please also cite:
86
+
87
+ Hough, M. and Roberts, L., `Model-Based Derivative-Free Methods for Convex-Constrained Optimization <https://doi.org/10.1137/21M1460971>`_, *SIAM Journal on Optimization*, 21:4 (2022), pp. 2552-2579.
88
+
89
+ Requirements
90
+ ------------
91
+ DFO-LS requires the following software to be installed:
92
+
93
+ * Python 3.9 or higher (http://www.python.org/)
94
+
95
+ Additionally, the following python packages should be installed (these will be installed automatically if using *pip*, see `Installation using pip`_):
96
+
97
+ * NumPy (http://www.numpy.org/)
98
+ * SciPy version 1.11 or higher (http://www.scipy.org/)
99
+ * Pandas (http://pandas.pydata.org/)
100
+
101
+ **Optional package:** DFO-LS 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 DFO-LS to work, and it is not installed by default.
102
+
103
+ Installation using conda
104
+ ------------------------
105
+ DFO-LS can be directly installed in Anaconda environments using `conda-forge <https://anaconda.org/conda-forge/dfo-ls>`_:
106
+
107
+ .. code-block:: bash
108
+
109
+ $ conda install -c conda-forge dfo-ls
110
+
111
+ Installation using pip
112
+ ----------------------
113
+ For easy installation, use `pip <http://www.pip-installer.org/>`_ as root:
114
+
115
+ .. code-block:: bash
116
+
117
+ $ [sudo] pip install DFO-LS
118
+
119
+ or alternatively *easy_install*:
120
+
121
+ .. code-block:: bash
122
+
123
+ $ [sudo] easy_install DFO-LS
124
+
125
+ If you do not have root privileges or you want to install DFO-LS for your private use, you can use:
126
+
127
+ .. code-block:: bash
128
+
129
+ $ pip install --user DFO-LS
130
+
131
+ which will install DFO-LS in your home directory.
132
+
133
+ Note that if an older install of DFO-LS is present on your system you can use:
134
+
135
+ .. code-block:: bash
136
+
137
+ $ [sudo] pip install --upgrade DFO-LS
138
+
139
+ to upgrade DFO-LS to the latest version.
140
+
141
+ Manual installation
142
+ -------------------
143
+ Alternatively, you can download the source code from `Github <https://github.com/numericalalgorithmsgroup/dfols>`_ and unpack as follows:
144
+
145
+ .. code-block:: bash
146
+
147
+ $ git clone https://github.com/numericalalgorithmsgroup/dfols
148
+ $ cd dfols
149
+
150
+ DFO-LS is written in pure Python and requires no compilation. It can be installed using:
151
+
152
+ .. code-block:: bash
153
+
154
+ $ [sudo] pip install .
155
+
156
+ If you do not have root privileges or you want to install DFO-LS for your private use, you can use:
157
+
158
+ .. code-block:: bash
159
+
160
+ $ pip install --user .
161
+
162
+ instead.
163
+
164
+ To upgrade DFO-LS to the latest version, navigate to the top-level directory (i.e. the one containing :code:`pyproject.toml`) and rerun the installation using :code:`pip`, as above:
165
+
166
+ .. code-block:: bash
167
+
168
+ $ git pull
169
+ $ [sudo] pip install . # with admin privileges
170
+
171
+ Testing
172
+ -------
173
+ If you installed DFO-LS manually, you can test your installation using the pytest package:
174
+
175
+ .. code-block:: bash
176
+
177
+ $ pip install pytest
178
+ $ python -m pytest --pyargs dfols
179
+
180
+ Alternatively, the HTML documentation provides some simple examples of how to run DFO-LS.
181
+
182
+ Examples
183
+ --------
184
+ Examples of how to run DFO-LS are given in the `documentation <https://numericalalgorithmsgroup.github.io/dfols/>`_, and the `examples <https://github.com/numericalalgorithmsgroup/dfols/tree/master/examples>`_ directory in Github.
185
+
186
+ Uninstallation
187
+ --------------
188
+ If DFO-LS was installed using *pip* you can uninstall as follows:
189
+
190
+ .. code-block:: bash
191
+
192
+ $ [sudo] pip uninstall DFO-LS
193
+
194
+ If DFO-LS was installed manually you have to remove the installed files by hand (located in your python site-packages directory).
195
+
196
+ Bugs
197
+ ----
198
+ Please report any bugs using `GitHub's issue tracker <https://github.com/numericalalgorithmsgroup/dfols/issues>`_.
199
+
200
+ License
201
+ -------
202
+ This algorithm is released under the GNU GPL license. Please `contact NAG <http://www.nag.com/content/worldwide-contact-information>`_ for alternative licensing.
@@ -1,11 +1,12 @@
1
+ LICENSE.txt
2
+ MANIFEST.in
1
3
  README.rst
2
- setup.py
4
+ pyproject.toml
3
5
  DFO_LS.egg-info/PKG-INFO
4
6
  DFO_LS.egg-info/SOURCES.txt
5
7
  DFO_LS.egg-info/dependency_links.txt
6
8
  DFO_LS.egg-info/requires.txt
7
9
  DFO_LS.egg-info/top_level.txt
8
- DFO_LS.egg-info/zip-safe
9
10
  dfols/__init__.py
10
11
  dfols/controller.py
11
12
  dfols/diagnostic_info.py
@@ -14,5 +15,4 @@ dfols/model.py
14
15
  dfols/params.py
15
16
  dfols/solver.py
16
17
  dfols/trust_region.py
17
- dfols/util.py
18
- dfols/version.py
18
+ dfols/util.py
@@ -0,0 +1,12 @@
1
+ setuptools
2
+ numpy
3
+ scipy>=1.11
4
+ pandas
5
+
6
+ [dev]
7
+ pytest
8
+ Sphinx
9
+ sphinx-rtd-theme
10
+
11
+ [trustregion]
12
+ trustregion>=1.1