Interesting article. It is also possible to resolve constraints probabilistically (i.e. without gradient descent), which is a good approach for functions which are very "unsmooth." I wonder if it is possible to replicate this article using a probabilistic solver (e.g. http://poincare.github.io/DCFL/ - a Haskell probabilistic constraint solving lib. written by me).