Rethinking initial derivative nominals
In commit 07bf0ae1 we set the initial derivative to have nominal equal to the nominal of the variables. However this can create ugly constraints if the nominal is very large or very small. I run into a linear case where I get an infeasibility due to this (using the clp solver). The problem is feasible, but when trying to optimize over the objective function the solver runs into issues due to this very-badly scaled constraint (in this case it is the initial derivative of a volume with nominal value 1e9).
I see two issues:
- it would be nice to be able to modify these nominals if wanted
- rethink whether taking the nominal of the variable is a sane behavior after all. These hill-conditioned constraints happen in many models (e.g., Rijnland is full of them). Ipopt seems to be less sensible to them, but my guess is that they are probably problematic nonetheless. Clp really doesn't like them in a, otherwise, rather simple case.