algorithms for optimization free pdf