Optimization problems can be classified into different categories, cf. thesis of Christoph Richter, e.g. linear, quadratic, convex, etc.
EMAMOpt2CPP provides a class detecting the problem class:
However, it seems to eb buggy. The corresponding test has not been implemented.
Please investigate and try to fix this. We need a classification to enable an appropriate choice of solvers and also to possibly forbid some classes in safety critical systems.