See simulated annealing and random restart; preferably we want something that can either:
take a couple sets of short cycles (this takes into consideration the time response to reach steady state current after moving to x voltage) to jump across the entire IV profile and find the best maxima OR
reach a single local maxima and upon steady state make an educated guess to jump left/right and find a better local maxima.
See simulated annealing and random restart; preferably we want something that can either: