powerful optimization algorithms