# Optimize Rosenbrock function with Hooke-Jeeves optimizer. 

from pyopus.optimizer.hj import HookeJeeves
from pyopus.problems.mgh import Rosenbrock

if __name__=='__main__':
	prob=Rosenbrock()
	opt=HookeJeeves(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}")

