slp_sqp

Sequential Linear Programming (SLP) with Trust Region (TR) and Sequential Quadratic Programming (SQP) with Line Search or TR Strategy
2,9K Downloads
Aktualisiert 11. Okt 2020

Lizenz anzeigen

Solve constrained, nonlinear, parameter optimization problems using sequential linear programming with trust region strategy (slp_trust), sequential quadratic programming with trust region strategy (sqp_trust), or sequential quadratic programming with line search (sqp), similar to fmincon in the Optimization Toolbox. SQP is a second-order method, following Schittkowski's NLPQL Fortran algorithm. SLP is a first-order method, but may be more efficient for large numbers of design variables. They are implemented using the original calling sequence of the obsolete MATLAB constr.m function in Version 1 of the optim toolbox, but may alternatively accept the problem data structure used by fmincon as an input argument. The original calling sequence had the advantage that one user function computed the objective and constraint values together, with a separate function for their gradients when finite differences were not used.

Complex-step derivatives, which can be accurate to machine precision, are a feature of sqp, slp_trust, and sqp_trust, in place of finite difference derivatives, when the user does not supply a function that computes the derivatives.

Compatible with Octave (MATLAB-compatible GNU Scientific Programming Language) <www.octave.org>.

Capt. Mark Spillman (USAF) wrote the original sqp.m code with me at AFIT.
Blake M. Van Winkle is gratefully acknowledged for initial Octave-compatible code.

Zitieren als

Robert Canfield (2024). slp_sqp (https://www.mathworks.com/matlabcentral/fileexchange/53331-slp_sqp), MATLAB Central File Exchange. Abgerufen.

Canfield, Robert A. “Quadratic Multipoint Exponential Approximation: Surrogate Model for Large-Scale Optimization.” Advances in Structural and Multidisciplinary Optimization, Springer International Publishing, 2017, pp. 648–61, doi:10.1007/978-3-319-67988-4_49.

Mehrere Stile anzeigen

Schittkowski, K. “NLPQL: A Fortran Subroutine Solving Constrained Nonlinear Programming Problems.” Annals of Operations Research, vol. 5, no. 2, Springer Science and Business Media LLC, June 1986, pp. 485–500, doi:10.1007/bf02022087.

Mehrere Stile anzeigen
Kompatibilität der MATLAB-Version
Erstellt mit R2019b
Kompatibel mit R2014b bis R2019b
Plattform-Kompatibilität
Windows macOS Linux
Kategorien
Mehr zu Quadratic Programming and Cone Programming finden Sie in Help Center und MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Veröffentlicht Versionshinweise
1.4.2

OutputPlotFcnsExampleOctave tested. sqp returns Best for all termination criteria. sao_trust handles bounds-only problems again.

1.4.1

Octave compatibility, introduced in 1.4, streamlined in 1.4.1

1.3

MultiPoint Exponential Approximation (MPEA). Canfield, R. A. "Quadratic Multipoint Exponential Approximation: Surrogate Model for Large-Scale Optimization," 12th World Congress of Structural and Multidisciplinary Optimization (WCSMO12), June 2017

1.2.2.0

Trust region filter is new default for sip_trust. sqp handles quadprog error return better.
Trust region filter is new default for sip_trust. sqp handles quadprog error return better.

1.2.1.0

Compatible with R2016b Optimization Toolbox version 7.5 optimoptions function.

1.2.0.0

Adds trust region filter. [Nocedal and Wright, Numerical Optimization, 2006] Algorithms 4.1, 15.1. See also [Fletcher and Leafier, Mathematical Programming Vol. 91, No. 2, 2002] doi: 10.1007/s101070100244

1.1.0.0

Set options.TrustRegion='TRAM' instead of 'on' or 'off' in sip_trust to exercise variable move limit reduction and expansion. Loosely implements trust region approximation method: Wujek, B. A., and Renaud, J. E., AIAA J., 1988.

1.0.0.0

Removed .git folder
Removed .git folder