slp_sqp
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.
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.
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxKategorien
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
examples
private
private/Octave
doc
examples
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.
|
||
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
|