With the nested form you can only move one variable at a time. This is fine for bilevel optimization such as min-max problems. It is quite inefficient for a simple multivariate optimization.
That stated, one speed improvement might be to use the local optimizer FindMinValue
instead of NMinimize
.