Issues when running the solver
This is a printing error that occurs in some old versions of MATLAB because stdout is not defined inside MEX files. Supported versions of MATLAB should not produce this error. You can avoid this error by setting
codeoptions.printlevel = 0;
When the solver has a large amount of parameters or the problem is relatively large, compiling with
codeoptions.optlevel = 0; can produce a segmentation fault. Please try to increase the value of
codeoptions.optlevel or submit a bug report to
support@embotech.com.
Unlike interior-point methods, the convergence of ADMM depends on the problem scaling. If the matrices for the problem data have very high condition numbers and norms, ADMM can converge extremely slowly regardless of the algorithm parameters. In some cases, ADMM might not converge at all due to severe accumulation of numerical errors.
However, often the problem is choosing the right ADMM parameters \( \rho \) and \( \alpha \) to obtain fast convergence of the algorithm.
Please use the files described in the
ADMM auto tuning pages to determine the best ADMM parameters for your problem.
Exitcode -7 means that the solver could not proceed. A common cause is the problem being infeasible. FORCES Pro does not have infeasibility detection to speed up the solution time. However, one can use the function stages2qcqp to convert the FORCES problem into a standard (QC)QP that can be given to standard QP solvers like quadprog, MOSEK or CPLEX to check for infeasibility.
By default, the code is compiled will all optimizations turned on (-O3). We have observed that sometimes there are problems when linking on 32-bit versions of MATLAB. This problem does not occur when the compiler optimization flags are set to -O0, -O1, or -O2. You can change this setting using the following flag set to the appropriate value.
codeoptions.optlevel = 2;