All Projects → kul-optec → ForBES

kul-optec / ForBES

Licence: LGPL-3.0 License
Generic and efficient MATLAB solver for nonsmooth optimization problems

Programming Languages

matlab
3953 projects
c
50402 projects - #5 most used programming language
M
324 projects

Projects that are alternatives of or similar to ForBES

dfogn
DFO-GN: Derivative-Free Optimization using Gauss-Newton
Stars: ✭ 20 (+5.26%)
Mutual labels:  optimization, numerical-optimization, optimization-algorithms
zoofs
zoofs is a python library for performing feature selection using a variety of nature-inspired wrapper algorithms. The algorithms range from swarm-intelligence to physics-based to Evolutionary. It's easy to use , flexible and powerful tool to reduce your feature size.
Stars: ✭ 142 (+647.37%)
Mutual labels:  optimization, optimization-algorithms
geneal
A genetic algorithm implementation in python
Stars: ✭ 47 (+147.37%)
Mutual labels:  optimization, optimization-algorithms
a-tour-of-pytorch-optimizers
A tour of different optimization algorithms in PyTorch.
Stars: ✭ 46 (+142.11%)
Mutual labels:  optimization, optimization-algorithms
Argmin
Mathematical optimization in pure Rust
Stars: ✭ 234 (+1131.58%)
Mutual labels:  optimization, optimization-algorithms
pdfo
Powell's Derivative-Free Optimization solvers
Stars: ✭ 56 (+194.74%)
Mutual labels:  numerical-optimization, optimization-algorithms
nuxt-prune-html
🔌⚡ Nuxt module to prune html before sending it to the browser (it removes elements matching CSS selector(s)), useful for boosting performance showing a different HTML for bots/audits by removing all the scripts with dynamic rendering
Stars: ✭ 69 (+263.16%)
Mutual labels:  optimization, optimization-algorithms
Pygmo2
A Python platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model.
Stars: ✭ 134 (+605.26%)
Mutual labels:  optimization, optimization-algorithms
FrankWolfe.jl
Julia implementation for various Frank-Wolfe and Conditional Gradient variants
Stars: ✭ 47 (+147.37%)
Mutual labels:  optimization, optimization-algorithms
Nonlinear-Optimization-Algorithms
MATLAB implementations of a variety of nonlinear programming algorithms.
Stars: ✭ 86 (+352.63%)
Mutual labels:  optimization, optimization-algorithms
osqp
The Operator Splitting QP Solver
Stars: ✭ 929 (+4789.47%)
Mutual labels:  optimization, numerical-optimization
Fewshotlearning
Pytorch implementation of the paper "Optimization as a Model for Few-Shot Learning"
Stars: ✭ 223 (+1073.68%)
Mutual labels:  optimization, optimization-algorithms
Python Mip
Collection of Python tools for the modeling and solution of Mixed-Integer Linear programs
Stars: ✭ 202 (+963.16%)
Mutual labels:  optimization, optimization-algorithms
GurobiLink
Wolfram Language interface to the Gurobi numerical optimization library
Stars: ✭ 16 (-15.79%)
Mutual labels:  numerical-optimization, optimization-algorithms
Sporco
Sparse Optimisation Research Code
Stars: ✭ 164 (+763.16%)
Mutual labels:  optimization, optimization-algorithms
pikaia
Modern Fortran Edition of the Pikaia Genetic Algorithm
Stars: ✭ 29 (+52.63%)
Mutual labels:  optimization, numerical-optimization
Pyswarms
A research toolkit for particle swarm optimization in Python
Stars: ✭ 742 (+3805.26%)
Mutual labels:  optimization, optimization-algorithms
Optimviz
Visualize optimization algorithms in MATLAB.
Stars: ✭ 106 (+457.89%)
Mutual labels:  optimization, optimization-algorithms
procrustes
Python library for finding the optimal transformation(s) that makes two matrices as close as possible to each other.
Stars: ✭ 48 (+152.63%)
Mutual labels:  optimization, optimization-algorithms
gibbous
Convex optimization for java and scala, built on Apache Commons Math
Stars: ✭ 17 (-10.53%)
Mutual labels:  optimization, optimization-algorithms

ForBES

ForBES (standing for Forward-Backward Envelope Solver) is a MATLAB solver for nonsmooth optimization problems.

It is generic in the sense that the user can customize the problem to solve in an easy and flexible way. It is efficient since it features very efficient algorithms, suited for large scale applications.

For full documentation refer to the ForBES webpage.

Installation

Simply clone the git repository, or click on this link to download it as a zip archive and decompress the archive. Then move with the MATLAB command line to the directory of ForBES, and execute the following command:

>> forbes_setup

This will compile all the necessary source files and install the directory into MATLAB's path.

How to use it

ForBES consists mainly of one MATLAB routine, forbes. In order to use it one must provide a description of the problem and (optionally) a set of options:

>> out = forbes(f, g, init, aff, constr, opt);

Full documentation, explaining how to specify these arguments, can be found at the ForBES webpage.

Examples on how to use forbes can be found in the demos folder. Furthermore, you can access the help file of the solvers directly from MATLAB with

>> help forbes

References

  1. L. Stella, A. Themelis, P. Patrinos, “Forward-backward quasi-Newton methods for nonsmooth optimization problems,” arXiv:1604.08096 (2016).

  2. A. Themelis, L. Stella, P. Patrinos, “Forward-backward envelope for the sum of two nonconvex functions: Further properties and nonmonotone line-search algorithms,” arXiv:1606.06256 (2016).

Credits and license

ForBES is developed by Lorenzo Stella [lorenzo.stella-at-imtlucca.it] and Panos Patrinos [panos.patrinos-at-esat.kuleuven.be] at IMT Lucca and KU Leuven. Any feedback, bug report or suggestion for future improvements is more than welcome. We recommend using the issue tracker to report bugs.

ForBES is free software and distributed under the GNU Lesser General Public License. You may copy, distribute and modify the software provided that modifications are described and licensed for free under LGPL.

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