By the way, another nice property of the CCSA (e.g. MMA) algorithm is that you don’t need any other optimizer — you can solve the dual problem by calling itself recursively. On the second recursion it terminates because it hits a trivial 0-dimensional optimization problem. (I notice that you’re currently calling Optim.GradientDescent()
for this, which is fine too of course. The Svanberg paper does something similar, but I always thought the recursive approach was more elegant.)
2 Likes