|
This repository contains supplementary material for the paper "On the Practical Implementation of a Sequential Quadratic Programming Algorithm for Nonconvex Sum-of-squares Problems" submitted to Mathematical Programming Computation. It contains the MATLAB source code to reproduce the results from the paper.
Requirements and Setup: The implementation of the proposed filter line search algorithm is provided in the CaΣoS toolbox. A frozen copy of it is provided as .zip, below. 1. Select all files below, i.e., all .zip folder, the .m scripts, and additional documents and download them. You should obtain one main .zip file. Unzip the main file and files in the underlying folder. 2. Download CasADi v3.6.7 and add it to your Matlab path. 3. Download and install MOSEK v11.1.8 , and add the solver to the Matlab path. An academic license can be obtained here. 4. Add the CaΣoS root folder (the one that contains the directory +casos) to your Matlab path.
If installed correctly, you can execute the corresponding files as outlined below for reproduction.
The files can be also found in the corresponding Github Repository.
In case you encounter any issues or for questions, please contact the corresponding authors.
Implementation Details: We provide an additional file "Implementation_Details_Sequential_SOS.pdf", which provides more information of the implementation in CaΣoS. For instance, this document provides a class diagram and describes the folder structure.
Onboarding Tutorial For a simple onboarding process, we provide a tutorial.m file. This file implements a simple example and guides the user through the solver build process. Due to its simplicity, this file is recommended for debugging purposes of the proposes filter line search algorithm.
Running the Benchmarks: 1. Navigate to the corresponding folder. 2. Run the MATLAB script either for the sequential approach or for coordinate descent.
An exception is the N-link robot arm example (00_ROA/RobotArm). Use run_Nlink_benchmark.m to either run the benchmark from scratch or to just inspect the results, provided in the corresponding .mat file. (2026-04-07)
|