OpenSQP: A Reconfigurable Open-Source SQP Algorithm in Python for Nonlinear Optimization

📅 2025-12-04
📈 Citations: 0
✨ Influential: 0
📄 PDF
🤖 AI Summary
Existing open-source and commercial Sequential Quadratic Programming (SQP) solvers suffer from limited transparency and poor modularity, hindering algorithmic customization and component reuse. To address this, we propose a highly modular, open-source Python implementation of SQP that enables flexible substitution of core components—including merit functions (e.g., smoothed augmented Lagrangian), Hessian approximations (e.g., BFGS), line search strategies, and QP subproblem solvers. Our key contribution lies in the rigorous decoupling of these algorithmic modules, significantly enhancing reconfigurability, extensibility, and interpretability—thereby bridging a critical gap in openness and flexibility among SQP tools. Empirical evaluation on the CUTEst benchmark suite demonstrates robust convergence behavior and competitive overall performance relative to state-of-the-art solvers such as SLSQP, SNOPT, and IPOPT.

Technology Category

Search and Optimization: Non-convex OptimizationConstraint Satisfaction and Optimization: Solvers and ToolsMachine Learning: Optimization

Application Category

Search and Retrieval-Augmented AI: Agentic searchGraph Algorithms and Modeling for the Web: Representation, reconstruction, and subgraph or motif discovery in Web-related graphsSystems and Infrastructure for Web, Mobile and WoT: Experiences and lessons learnt from Web-based algorithms and system deployments
📝 Abstract
Sequential quadratic programming (SQP) methods have been remarkably successful in solving a broad range of nonlinear optimization problems. These methods iteratively construct and solve quadratic programming (QP) subproblems to compute directions that converge to a local minimum. While numerous open-source and commercial SQP algorithms are available, their implementations lack the transparency and modularity necessary to adapt and fine-tune them for specific applications or to swap out different modules to create a new optimizer. To address this gap, we present OpenSQP, a modular and reconfigurable SQP algorithm implemented in Python that achieves robust performance comparable to leading algorithms. We implement OpenSQP in a manner that allows users to easily modify or replace components such as merit functions, line search procedures, Hessian approximations, and QP solvers. This flexibility enables the creation of tailored variants of the algorithm for specific needs. To demonstrate reliability, we present numerical results using the standard configuration of OpenSQP that employs a smooth augmented Lagrangian merit function for the line search and a quasi-Newton BFGS method for approximating the Hessians. We benchmark this configuration on a comprehensive set of problems from the CUTEst test suite. The results demonstrate performance that is competitive with proven nonlinear optimization algorithms such as SLSQP, SNOPT, and IPOPT.
Problem

Research questions and friction points this paper is trying to address.

Addresses lack of transparency and modularity in existing SQP algorithms
Enables easy modification of algorithm components for specific applications
Provides a robust open-source alternative to leading nonlinear optimizers
Innovation

Methods, ideas, or system contributions that make the work stand out.

Modular Python SQP algorithm for customization
Reconfigurable components like merit functions and solvers
Competitive performance benchmarked against leading algorithms
💼 Related Jobs
No related jobs found.
A
Anugrah Jo Joshy
Department of Mechanical and Aerospace Engineering, University of California San Diego, La Jolla, CA 92093, USA
J
John T. Hwang
Department of Mechanical and Aerospace Engineering, University of California San Diego, La Jolla, CA 92093, USA