A Collection of Algorithms for Stochastic Derivative-Free Optimization. Part of POptUS: Practical Optimization Using Structure.
TODO: Add badges here
All code included in StochDFO is open source, with the particular form of license contained in the top-level subdirectories. If such a subdirectory does not contain a LICENSE file, then it is automatically licensed as described in the otherwise encompassing StochDFO LICENSE.
Copyright (c) 2026, Inria and UChicago Argonne LLC through Argonne National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy). All rights reserved.
To
- report potential problems with StochDFO,
- propose a change, or
- request a new feature,
please check if a related Issue already exists before creating a new issue. For all other communication, please send an email to the POptUS development team at
poptus@mcs.anl.gov
TODO: Determine what type of documentation should be built up & detail here.
This repository presently contains only the OGPIT tool as a collection of Python source code files. To run OGPIT, it is suggested that users either
- run the code from
/path/to/StochDFO/OGPIT/pyor - add
/path/to/StochDFO/OGPIT/pyto theirPYTHONPATHenvironment variable.
mpi4py is an external dependence that is installed by the procedure below.
Please ensure that an
MPI implementation is installed
for use with mpi4py before setting up a Python environment for use with OGPIT.
Users can setup their target Python virtual environment with most of the OGPIT external dependences by, for example, activating their environment and running
python -m pip install -r /path/to/StochDFO/requirements.txt
Some of the code requires the use of the contents of the
BenDFO repository, which is not distributed
as a Python package. After cloning the BenDFO repository and before using
OGPIT, users should set the BENDFO_PATH environment variable to the root of
their BenDFO clone.
TODO: Define this.
TODO: Define this once this software is available in earnest. This should likely be a package-related document (e.g., User Guide) listing all authors.