Avoid helper decision variable for path goal ranges
Currently, for every path goal with a target min/max, a
path_max_* decision variable is added to the optimization problem. This variable is then multiplied with
path_eps_*, which leads to a quadratic constraint.
The value of
path_max_* is currently set via (equal) bounds, which means that e.g. IPOPT can recognize these and remove them from the optimization problem. Not all solvers might be that smart however, and it will also lead to preprocessing checks (e.g. CasADi with the linear
clp solver) failing on the Hessian check.
It would be probably be better to not add additional decision variables, but additional parameters or constant inputs instead. That way, simple goals will result in linear constraints, and not quadratic ones.
Another idea is to detect equal bounds ourselves, and remove these decision variables from the optimization problem. This is somewhat uglier, as we are "righting a wrong" later (where it would be better to prevent the "wrong" in the first place).