S2MPJ and CUTEst optimization problems for Matlab, Python and Julia
Serge Gratton, Philippe L. Toint
TL;DR
S2MPJ introduces a native Matlab/Python/Julia decoder for CUTEst SIF problems, producing executable problem files that enable evaluation of the objective, constraints and derivatives without relying on Fortran or MEX interfaces. By leveraging the GPS structure of CUTEst, it exposes f, c, L and Hessian/Jacobian products in language-native form, and it supports reduced-precision computations in Matlab. The framework is validated across 1075 CUTEst problems, showing strong cross-language coherence (typically around 1e-14) while highlighting numeric-precision limitations inherent to the Fortran-based data file. Distribution on GitHub, along with tools to generate custom problems and guidance for Fortran-compatible decoding, positions S2MPJ as a practical, stand-alone complementary path to CUTEst for modern optimization workflows.
Abstract
A new decoder for the SIF test problems of the CUTEst collection is described, which produces problem files allowing the computation of values and derivatives of the objective function and constraints of most \cutest\ problems directly within ``native'' Matlab, Python or Julia, without any additional installation or interfacing with MEX files or Fortran programs. When used with Matlab, the new problem files optionally support reduced-precision computations.
