scipy optimize differential_evolution callback example