All Projects → andim → scipydirect

andim / scipydirect

Licence: MIT License
Python wrapper to the DIRECT global optimization algorithm with scipy.optimize compatible call syntax

Programming Languages

fortran
972 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to scipydirect

eqsat
A language-generic implementation of equality saturation in Haskell
Stars: ✭ 15 (-42.31%)
Mutual labels:  optimization
olympus
Olympus: a benchmarking framework for noisy optimization and experiment planning
Stars: ✭ 38 (+46.15%)
Mutual labels:  optimization
simsopt
Simons Stellarator Optimizer Code
Stars: ✭ 28 (+7.69%)
Mutual labels:  optimization
autogoal
A Python framework for program synthesis with a focus on Automated Machine Learning.
Stars: ✭ 153 (+488.46%)
Mutual labels:  optimization
Max-value-Entropy-Search
Max-value Entropy Search for Efficient Bayesian Optimization
Stars: ✭ 43 (+65.38%)
Mutual labels:  optimization
osqp
The Operator Splitting QP Solver
Stars: ✭ 929 (+3473.08%)
Mutual labels:  optimization
dfogn
DFO-GN: Derivative-Free Optimization using Gauss-Newton
Stars: ✭ 20 (-23.08%)
Mutual labels:  optimization
elm-prepack-experiments
Experimenting with running built Elm programs through Prepack
Stars: ✭ 18 (-30.77%)
Mutual labels:  optimization
pytorch
Improved LBFGS optimizer in PyTorch.
Stars: ✭ 16 (-38.46%)
Mutual labels:  optimization
OpenJij
OpenJij : Framework for the Ising model and QUBO.
Stars: ✭ 57 (+119.23%)
Mutual labels:  optimization
yarrow
[yarrow] JVMCI based optimizing compiler for HotSpot VM
Stars: ✭ 21 (-19.23%)
Mutual labels:  optimization
structured-volume-sampling
A clean room implementation of Structured Volume Sampling by Bowles and Zimmermann in Unity
Stars: ✭ 27 (+3.85%)
Mutual labels:  optimization
Train plus plus
Repo and code of the IEEE UIC paper: Train++: An Incremental ML Model Training Algorithm to Create Self-Learning IoT Devices
Stars: ✭ 17 (-34.62%)
Mutual labels:  optimization
tungsten
Bring fusion to everyone
Stars: ✭ 13 (-50%)
Mutual labels:  optimization
least-squares-cpp
A single header-only C++ library for least squares fitting.
Stars: ✭ 46 (+76.92%)
Mutual labels:  optimization
yoga-image-optimizer
A graphical tool to convert and optimize JPEG, PNG and WebP images (based on YOGA)
Stars: ✭ 85 (+226.92%)
Mutual labels:  optimization
RAWSim-O
A simulation framework for Robotic Mobile Fulfillment Systems
Stars: ✭ 82 (+215.38%)
Mutual labels:  optimization
RBP
Recurrent Back Propagation, Back Propagation Through Optimization, ICML 2018
Stars: ✭ 35 (+34.62%)
Mutual labels:  optimization
PEPit
PEPit is a package enabling computer-assisted worst-case analyses of first-order optimization methods.
Stars: ✭ 41 (+57.69%)
Mutual labels:  optimization
NCVX
NCVX: A User-Friendly and Scalable Package for Nonconvex Optimization in Machine Learning
Stars: ✭ 19 (-26.92%)
Mutual labels:  optimization

License Latest release Py2.7/3.x

Status Build Status Documentation Status

DOI

ScipyDIRECT: a Python wrapper of the DIRECT global optimization algorithm

DIRECT is a method to solve global bound constraint optimization problems and was originally developed by D. R. Jones, C. D. Perttunen and B. E. Stuckmann.

ScipyDIRECT is a python wrapper around DIRECT. It enables using DIRECT from the comfort of the Python scripting language.

The Scipydirect package uses the Fortran implementation of DIRECT written by Joerg M. Gablonsky, DIRECT Version 2.0.4. More information on the DIRECT algorithm can be found in Gablonsky's thesis.

ScipyDIRECT is a fork of pydirect. It provides an alternative interface to the DIRECT algorithm compatible with that used in scipy.optimize.

Quick start

ScipyDIRECT is on PyPI so you can install it using pip install scipydirect. As a prerequisite make you sure you have a Fortran compiler such as gfortran installed.

Then run the following minimal example.

import numpy as np
from scipydirect import minimize

def obj(x):
    return (x**2).sum()

bounds = [[-3.0, 3.0], [0.5, 5.0]]
res = minimize(obj, bounds=bounds)
print(res)

Documentation

You can access the documentation online at Read the docs. If you install from source you can generate a local version by running make html from the doc directory.

Support and contributing

For bug reports and enhancement requests use the Github issue tool, or (even better!) open a pull request with relevant changes. If you have any questions don't hesitate to contact me by email ([email protected]) or Twitter (@andimscience).

You can run the testsuite from the test directory:

cd test python test_direct.py

If you receive the warning message "Fortran code not compiled", when you try to use the package the installation has not been successful. Numpy.distutils is used to handle the Fortran dependency, so you might find advice for how to solve your problems by searching for "numpy distutils fortran" online. Unfortunately Fortran installation issues seem to be common, but I cannot assist you in that regard as such an issue is specific to the details of your computer setup.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].