The MCP in the box constrained formulation (objective function and boundaries) and the Jacobian of the objective function must be provided in a file based interface by the user.
The program was written by Stefan Schmelzer (University of Vienna) as part of his diploma thesis. Please inform the author at firstname.lastname@example.org if you make serious use of this code.
Whether the endpoint of this path is accepted as the next iterate, depends on the non-monotone stabilization (NMS) - scheme, which employs a watchdog technique: the algorithm is embedded in a general descent framework, which uses a smooth merit function, and, depending on it, non-monotone descent criteria. These criteria are not checked in every step, which reduces the number of function and gradient evaluations. If the solution to the linear MCP is checked and not accepted, the generated path is searched for an acceptable point. If no satisfying point can be found, a projected gradient step is used.
The algorithm terminates successfully when the zero of the merit function has been found; this point corresponds to the zero of the normal map, as well as to a solution of the MCP.
The gzipped tar file COMPASS_v1.0.tar.gz (653KB) contains the MATLAB source code, a driver program showing its use, test examples for Version 1.0 (2012), and the diploma thesis
This thesis describes the mathematical backgrounds of the solver, the implementation, a convergence result, as well as some application and test examples. Please quote this thesis when using COMPASS in scientific work.