All Projects → jacobwilliams → slsqp

jacobwilliams / slsqp

Licence: other
Modern Fortran Edition of the SLSQP Optimizer

Programming Languages

fortran
972 projects

Projects that are alternatives of or similar to slsqp

pdfo
Powell's Derivative-Free Optimization solvers
Stars: ✭ 56 (-1.75%)
Mutual labels:  constrained-optimization, numerical-optimization
fortran-curl
Fortran 2008 interface bindings to libcurl
Stars: ✭ 25 (-56.14%)
Mutual labels:  fortran-package-manager
rBAS
Implementation of the (beetle antennae search) BAS algorithm and its mutations in R code
Stars: ✭ 25 (-56.14%)
Mutual labels:  constrained-optimization
ProximalOperators.jl
Proximal operators for nonsmooth optimization in Julia
Stars: ✭ 119 (+108.77%)
Mutual labels:  numerical-optimization
Multiobjective EGO algorithms
The standard and parallel multiobjective EGO algorithms
Stars: ✭ 22 (-61.4%)
Mutual labels:  constrained-optimization
MAP-Elites
Python implementation of the genetic algorithm MAP-Elites with applications in constrained optimization
Stars: ✭ 38 (-33.33%)
Mutual labels:  constrained-optimization
Tf Quant Finance
High-performance TensorFlow library for quantitative finance.
Stars: ✭ 2,925 (+5031.58%)
Mutual labels:  numerical-optimization
Moo-GBT
Library for Multi-objective optimization in Gradient Boosted Trees
Stars: ✭ 63 (+10.53%)
Mutual labels:  constrained-optimization
facile
Python constraint programming library
Stars: ✭ 21 (-63.16%)
Mutual labels:  constrained-optimization
toml-f
TOML parser implementation for data serialization and deserialization in Fortran
Stars: ✭ 69 (+21.05%)
Mutual labels:  fortran-package-manager
open-box
Generalized and Efficient Blackbox Optimization System.
Stars: ✭ 64 (+12.28%)
Mutual labels:  constrained-optimization
pycsp3
A Python Library for modeling combinatorial constrained problems
Stars: ✭ 39 (-31.58%)
Mutual labels:  constrained-optimization
quickstart-fortran
An easy Windows installer for GFortran and the Fortran Package Manager
Stars: ✭ 44 (-22.81%)
Mutual labels:  fortran-package-manager
open-box
Generalized and Efficient Blackbox Optimization System [SIGKDD'21].
Stars: ✭ 174 (+205.26%)
Mutual labels:  constrained-optimization
HOT
Hierarchical Optimization Time Integration (HOT) for efficient implicit timestepping of the material point method (MPM)
Stars: ✭ 83 (+45.61%)
Mutual labels:  numerical-optimization
Metaheuristics.jl
High-performance metaheuristics for optimization coded purely in Julia.
Stars: ✭ 144 (+152.63%)
Mutual labels:  constrained-optimization
psopy
A SciPy compatible super fast Python implementation for Particle Swarm Optimization.
Stars: ✭ 33 (-42.11%)
Mutual labels:  constrained-optimization
fortran-error-handler
Comprehensive error framework for applications requiring functional and robust error handling, utilising the power of modern object-oriented Fortran.
Stars: ✭ 19 (-66.67%)
Mutual labels:  fortran-package-manager
GurobiLink
Wolfram Language interface to the Gurobi numerical optimization library
Stars: ✭ 16 (-71.93%)
Mutual labels:  numerical-optimization
qdldl
A free LDL factorisation routine
Stars: ✭ 54 (-5.26%)
Mutual labels:  numerical-optimization

slsqp

Modern Fortran Edition of the SLSQP Optimizer

Status

GitHub release Build Status codecov last-commit

Description

This is an updated version of the SLSQP nonlinear constrained optimization code. It can be used to solve nonlinear programming problems that seek to minimize a scalar performance index subject to nonlinear equality and inequality constraints as well as bounds on the variables.

Updates to the original code include:

  • It has been translated into free-form source.
  • It is now thread safe. The original version was not thread safe due to the use of saved variables in one of the subroutines.
  • It no longer uses obsolescent and non-standard Fortran features. It should now be 100% standard compliant (Fortran 2008).
  • It now has an easy-to-use object-oriented interface. The slsqp_class is used for all interactions with the solver. Methods include initialize(), optimize(), and destroy().
  • It includes updated versions of some of the third-party routines used in the original code (BLAS, LINPACK, and NNLS).
  • Some new features were added to support printing error messages and reporting iterations to the user.
  • The user can now specify the max and min alpha to use during the line search.
  • The user can supply a routine to compute the gradients of the objective function and constriants, or allow the code to estimate them using finite differences (backward, forward, or central).
  • The documentation strings in the code have been converted to FORD format, allowing for nicely formatted documentation to be auto-generated.
  • A couple of bug fixes noted elsewhere have been applied.

License

Building SLSQP

Fortran Package Manager

The library can be built with the Fortran Package Manager using the provided fpm.toml file like so:

fpm build --release

To use SLSQP within your fpm project, add the following to your fpm.toml file:

[dependencies]
slsqp = { git="https://github.com/jacobwilliams/slsqp.git" }

Development

  • Development continues on GitHub.

Documentation

The latest API documentation can be found here. This was generated from the source code using FORD.

References

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