Skip to main content

pySLEQP: A Sequential Linear Quadratic Programming Method Implemented in Python

  • Conference paper
  • First Online:
Modeling, Simulation and Optimization of Complex Processes HPSC 2015

Abstract

We present a prototype implementation of a Sequential Linear Equality-Constrained Qudratic Programming (SLEQP) method for solving the nonlinear programming problem. Similar to SQP active set methods, SLEQP methods are iterative Newton-type methods. In every iteration, a trust region constrained linear programming problem is solved to estimate the active set. Subsequently, a trust region equality constrained quadratic programming problem is solved to obtain a step that promotes locally superlinear convergence. This class of methods has several appealing properties for future research in large-scale nonlinear programming. Implementations of SLEQP methods accessible for research, however, are scarcely found. To this end, we present pySLEQP, an implementation of an SLEQP method in Python. The performance and robustness of the method and our implementation are assessed using the CUTEst and CUTEr benchmark collections of nonlinear programming problems. pySLEQP is found to show robust behavior and reasonable performance.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Behnel, S., Bradshaw, R., Citro, D., Dalcin, L., Seljebotn, D., Smith, K.: Cython: the best of both worlds. Comput. Sci. Eng. 13(2), 31–39 (2011)

    Article  Google Scholar 

  2. Belotti, P., Kirches, C., Leyffer, S., Linderoth, J., Luedtke, J., Mahajan, A.: Mixed-integer nonlinear optimization. Acta Numer. 22, 1–131 (2013). Cambridge University Press

    Google Scholar 

  3. Bock, H.G., Plitt, K.J.: A Multiple Shooting algorithm for direct solution of optimal control problems. In: Proceedings of the 9th IFAC World Congress, pp. 242–247. Pergamon Press, Oxford (1984)

    Google Scholar 

  4. Byrd, R., Waltz, R.: An active-set algorithm for nonlinear programming using parametric linear programming. Optim. Methods Softw. 26(1), 47–66 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  5. Byrd, R., Gould, N., Nocedal, J., Waltz, R.: An algorithm for nonlinear optimization using linear programming and equality constrained subproblems. Math. Program. 100(1), 27–48 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  6. Byrd, R., Gould, N., Nocedal, J., Waltz, R.: On the convergence of successive linear-quadratic programming algorithms. SIAM J. Optim. 16(2), 471–489 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  7. Byrd, R., Nocedal, J., Waltz, R.: Knitro: An integrated package for nonlinear optimization. In: Pillo, G., Roma, M. (eds.) Large-Scale Nonlinear Optimization. Nonconvex Optimization and Its Applications, vol. 83, pp. 35–59. Springer US, Boston (2006)

    Chapter  Google Scholar 

  8. Chin, C.M., Fletcher, R.: On the global convergence of an SLP-filter algorithm that takes EQP steps. Math. Program. 96(1), 161–177 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  9. Duff, I.: MA57—a code for the solution of sparse symmetric definite and indefinite systems. ACM Trans. Math. Softw. 30(2), 118–144 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  10. Fletcher, R., de la Maza, E.S.: Nonlinear programming and nonsmooth optimization by successive linear programming. Math. Program. 43(1–3), 235–256 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  11. Fletcher, R., Leyffer, S.: Nonlinear programming without a penalty function. Math. Program. 91(2), 239–269 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  12. Fourer, R., Gay, D., Kernighan, B.: A modeling language for mathematical programming. Manag. Sci. 36, 519–554 (1990)

    Article  MATH  Google Scholar 

  13. Gill, P., Murray, W., Saunders, M.: SNOPT: an SQP algorithm for large-scale constrained optimization. SIAM J. Optim. 12, 979–1006 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  14. Gould, N., Lucidi, S., Roma, M., Toint, P.: Solving the trust-region subproblem using the lanczos method. SIAM J. Optim. 9(2), 504–525 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  15. Gould, N., Orban, D., Toint, P.: CUTEst: a constrained and unconstrained testing environment with safe threads. Technical Report RAL-TR-2013-005 (2013)

    Google Scholar 

  16. GuRoBi Optimization, Inc.: GuRoBi optimizer version 6.0 reference manual (2014)

    Google Scholar 

  17. Han, S.: A globally convergent method for nonlinear programming. J. Optim. Theory Appl. 22, 297–310 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  18. Jones, E., Oliphant, T., Peterson, P., et al.: SciPy: Open source scientific tools for Python. http://www.scipy.org/ (2001–2015)

  19. Kirches, C.: Fast Numerical Methods for Mixed-Integer Nonlinear Model-Predictive Control. In: Bock, H., Hackbusch, W., Luskin, M., Rannacher, R. (eds.) Advances in Numerical Mathematics. Springer Vieweg, Wiesbaden (2011). ISBN 978-3-8348-1572-9

    Chapter  Google Scholar 

  20. Lenders, F., Kirches, C.: pySLEQP source code. http://www.iwr.uni-heidelberg.de/groups/optimus/software/, http://mo.tu-bs.de/static/code/pysleqp.tar.gz

  21. Leyffer, S., Munson, T.: A globally convergent filter method for MPECs. Preprint ANL/MCS-P1457-0907, Mathematics and Computer Science Division, Argonne National Laboratory, 9700 South Cass Avenue, Argonne, IL 60439, U.S.A. (2007)

    Google Scholar 

  22. Mahajan, A., Leyffer, S., Kirches, C.: Solving mixed-integer nonlinear programs by QP diving. Technical Report ANL/MCS-P2071-0312, Mathematics and Computer Science Division, Argonne National Laboratory, 9700 South Cass Avenue, Argonne, IL 60439, U.S.A. (2011)

    Google Scholar 

  23. Mangasarian, O., Fromovitz, S.: Fritz John necessary optimality conditions in the presence of equality and inequality constraints. J. Math. Anal. Appl. 17, 37–47 (1967)

    Article  MathSciNet  MATH  Google Scholar 

  24. Murtagh, B., Saunders, M.: MINOS 5.51 user’s guide. Technical Report SOL 83-20R (2003)

    Google Scholar 

  25. Nocedal, J., Wright, S.: Numerical Optimization, 2nd edn. Springer, Berlin/Heidelberg/New York (2006). ISBN 0-387-30303-0 (hardcover)

    Google Scholar 

Download references

Acknowledgements

F. L. and C. K. were supported by DFG Graduate School 220 funded by the German Excellence Initiative. Financial support by the German Federal Ministry of Education and Research, grant no 05M2013-GOSSIP, by the European Union within the seventh Framework Programme under Grant Agreement no 611909, and by German Research Foundation within DFG project no BO364/19-1 is gratefully acknowledged. F. L. gratefully acknowledges funding by the German National Academic Foundation.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Felix Lenders .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Lenders, F., Kirches, C., Bock, H.G. (2017). pySLEQP: A Sequential Linear Quadratic Programming Method Implemented in Python. In: Bock, H., Phu, H., Rannacher, R., Schlöder, J. (eds) Modeling, Simulation and Optimization of Complex Processes HPSC 2015 . Springer, Cham. https://doi.org/10.1007/978-3-319-67168-0_9

Download citation

Publish with us

Policies and ethics