First-order methods of solving nonconvex optimization problems: Algorithms, convergence, and optimality