SQP methods for nonlinear programming rely on a quadratic programming solver for computing a search direction in each major iteration. From the start, the large scale NLP solver WORHP has been using the interior point method QPSOL within its SQP framework, which was developed specifically for WORHP. Experience from usage of WORHP in many areas and development of features like sensitivity analysis and feasibility refinement raised interest in a reworked, extended interface between WORHP and its QP solver. Furthermore, additional concepts like multiple centrality correctors seemed promising for improving the overall performance.
Hence, a revised QP solver was designed and implemented. Mehrotra's algorithm that was implemented in QPSOL was extended by Gondzio's multiple centrality correctors and weighting of corrector steps was added. Special care was taken to handle the very general NLP formulation of WORHP efficiently, yielding a very general problem formulation for standalone quadratic programming as well. A clear interface was implemented for retrieving sensitivity derivatives from the quadratic solver directly, allowing WORHP Zen and feasibility refinement procedures easy access to them.
The talk deals with these algorithmic and interface aspects for the development of the new solver within WORHP. Numerical results on the CUTEst test set for nonlinear programming are presented to show the performance improvements over the previous method.