qyshen815 / sqpdfo

Sequential-Quadratic-Programming Derivative-Free Optimization

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SQPDFO Optimizer

Build Cite

This is the SQPDFO (Sequential-Quadratic-Programming Derivative-Free Optimization) Optimizer for generally constrained nonlinear optimization without derivatives, developed by A. Troeltzsch at German Aerospace Center (DLR). See license information in LICENSE.

SQPDFO is a further development of ECDFO and it uses parts of BCDFO.


To run the optimizer you will need the Python packages numpy and scipy:

 pip install numpy scipy

Then you launch the SQPDFO examples by:

 python run_sqpdfo.py

or

 python run_sqpdfo_academic_examples.py

To add your own optimization problems, there are two ways:

(1)

  • modify the function func_f() in run_sqpdfo.py for the objective function
  • modify the function func_c() in run_sqpdfo.py for the constraint functions
  • modify starting point and bounds information in run_sqpdfo.py
  • launch >python run_sqpdfo.py

(2)

  • add the problem by following other examples in sqpdfo_init_prob.py and sqpdfo_func.py
  • give it a new problem number
  • change set_prob(number_of_the_new_problem) in run_sqpdfo_academic_examples.py
  • launch >python run_sqpdfo_academic_examples.py

If you want to use SQPDFO to solve problems from the CUTEst library: (tested only on Linux/Unix)

  • download and install CUTEst from https://github.com/ralna/CUTEst
  • download pycutest with eg. >pip install pycutest
  • set all environment variables from CUTEst and pycutest
  • launch >python run_sqpdfo_cutest.py

If this code is of any use to you, please cite the following papers:

Tröltzsch, Anke (2016): A Sequential Quadratic Programming Algorithm for Equality-Constrained Optimization without Derivatives. Optimization Letters, 10 (2), pages 383-399. Springer. DOI: 10.1007/s11590-014-0830-y ISSN 1862-4472

Serge Gratton, Philippe L. Toint, and Anke Tröltzsch (2011): An active-set trust-region method for derivative-free nonlinear bound-constrained optimization. Optimization Methods and Software, 26 (4-5), pages 873-894. DOI: 10.1080/10556788.2010.549231


About

Sequential-Quadratic-Programming Derivative-Free Optimization

License:Other


Languages

Language:Python 99.7%Language:Makefile 0.3%