Add initial support for optimize.minimize solvers

The main driver has been modified to be able to utilize the general
optimizers in the scipy.optimize.minimize function.