GRASP is an optimization algorithm that combines gradient half-line intersection with the BFGS method to find the minimum of functions. It does not constrain the search to an initialization range and the gradient half-line intersection has no parameters. The algorithm alternates between gradient half-line intersection and BFGS until stopping conditions are met. It was tested on benchmark functions from CEC2005 and compared favorably to PSO in higher dimensions.