# Optimize Rosenbrock function with coordinate search optimizer. 

from pyopus.optimizer.coordinate import CoordinateSearch
from pyopus.problems.mgh import Rosenbrock

if __name__=='__main__':
	prob=Rosenbrock()
	opt=CoordinateSearch(prob.f, debug=1, maxiter=100000, 
			step0=1e-1, minstep=1e-6) 
	opt.reset(prob.initial)
	opt.run()
	
	print(f"x={str(opt.x)} f={opt.f:e}")
	