All Projects → andim → noisyopt

andim / noisyopt

Licence: MIT license
Python library for optimizing noisy functions.

Programming Languages

python
139335 projects - #7 most used programming language
TeX
3793 projects

Projects that are alternatives of or similar to noisyopt

geneal
A genetic algorithm implementation in python
Stars: ✭ 47 (-35.62%)
Mutual labels:  optimization
RcppNumerical
Rcpp Integration for Numerical Computing Libraries
Stars: ✭ 52 (-28.77%)
Mutual labels:  optimization
spinw
SpinW Matlab library for spin wave calculation
Stars: ✭ 25 (-65.75%)
Mutual labels:  optimization
LBFGS-Lite
LBFGS-Lite: A header-only L-BFGS unconstrained optimizer.
Stars: ✭ 98 (+34.25%)
Mutual labels:  optimization
vrpy
A python framework for solving the VRP and its variants with column generation.
Stars: ✭ 94 (+28.77%)
Mutual labels:  optimization
structural-imbalance
Demo for analyzing the structural imbalance on a signed social network.
Stars: ✭ 22 (-69.86%)
Mutual labels:  optimization
IterativeLQR.jl
A Julia package for constrained iterative LQR (iLQR)
Stars: ✭ 15 (-79.45%)
Mutual labels:  optimization
okama
Investment portfolio and stocks analyzing tools for Python with free historical data
Stars: ✭ 87 (+19.18%)
Mutual labels:  optimization
gams.jl
A MathOptInterface Optimizer to solve JuMP models using GAMS
Stars: ✭ 27 (-63.01%)
Mutual labels:  optimization
Joint-User-Association-and-In-band-Backhaul-Scheduling-and-in-5G-mmWave-Networks
Matlab Simulation for T. K. Vu, M. Bennis, S. Samarakoon, M. Debbah and M. Latva-aho, "Joint In-Band Backhauling and Interference Mitigation in 5G Heterogeneous Networks," European Wireless 2016; 22th European Wireless Conference, Oulu, Finland, 2016, pp. 1-6. URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7499273&isnumber=7499250
Stars: ✭ 36 (-50.68%)
Mutual labels:  optimization
mysql tuning-cookbook
Chef cookbook to create MySQL configuraiton files better suited for your system.
Stars: ✭ 23 (-68.49%)
Mutual labels:  optimization
optimum
🏎️ Accelerate training and inference of 🤗 Transformers with easy to use hardware optimization tools
Stars: ✭ 567 (+676.71%)
Mutual labels:  optimization
PyDE
Differential evolution global optimization in Python.
Stars: ✭ 28 (-61.64%)
Mutual labels:  optimization
decrypticon
Java-layer Android Malware Simplifier
Stars: ✭ 17 (-76.71%)
Mutual labels:  optimization
mader
Trajectory Planner in Multi-Agent and Dynamic Environments
Stars: ✭ 252 (+245.21%)
Mutual labels:  optimization
ProxSDP.jl
Semidefinite programming optimization solver
Stars: ✭ 69 (-5.48%)
Mutual labels:  optimization
optimization
Routing optimization module module for Itinero.
Stars: ✭ 47 (-35.62%)
Mutual labels:  optimization
DotNet.SystemCollections.Analyzers
A set of code analyzers & code fix providers to help developers use the proper .NET Collection & API in their algorithms
Stars: ✭ 72 (-1.37%)
Mutual labels:  optimization
RazorHtmlMinifier.Mvc5
↘️ Trivial compile-time Razor HTML Minifier for ASP.NET MVC 5.
Stars: ✭ 31 (-57.53%)
Mutual labels:  optimization
osprey
🦅Hyperparameter optimization for machine learning pipelines 🦅
Stars: ✭ 71 (-2.74%)
Mutual labels:  optimization

License Latest release Py2.7/3.x

Status Build Status Documentation Status Coverage Status

JOSS DOI

Noisyopt: A python library for optimizing noisy functions

In some optimization problems a precise evaluation of the function to be optimized is either impossible or exceedingly computationally expensive. This package provides algorithms to optimize a function based on noisy evaluations.

Currently the following algorithms are implemented:

  • robust pattern search with adaptive sampling
  • simultaneous perturbation stochastic approximation

Both algorithms support bound constraints and do not require to explicitely calculate the gradient of the function.

We do not attempt to find global optima -- look at scikit-optimize for Bayesian optimization algorithms aimed at finding global optima to noisy optimization problems. For optimizing functions that are not noisy take a look at scipy.optimize.

Installation

Noisyopt is on PyPI so you can install it using pip install noisyopt.

Alternatively you can install it from source by obtaining the source code from Github and then running python setup.py install in the main directory. If you install from source, you first need to install numpy and scipy if these packages are not already installed.

Getting started

Find the minimum of the noisy function obj(x) with noisyopt:

import numpy as np
from noisyopt import minimizeCompass

def obj(x):
    return (x**2).sum() + 0.1*np.random.randn()

bounds = [[-3.0, 3.0], [0.5, 5.0]]
x0 = np.array([-2.0, 2.0])
res = minimizeCompass(obj, bounds=bounds, x0=x0, deltatol=0.1, paired=False)

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 by running pytest in the top-level directory.

You are cordially invited to contribute to the further development of noisyopt!

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].