El algoritmo de hill climbing funciona escalando por la función hasta llegar a un punto más alto que todos los de sus lados, al hacer eso te libras de revisar muchos puntos que claramente no son el máximo, el problema que tiene esto, es que aunque el algoritmo asegure la convergencia a un máximo ese máximo puede ser un máximo local mucho más pequeño que el global.
Para solucionar eso, se realizan muchas iteraciones del algoritmo empezando en puntos aleatorios, aunque muchas veces no se vaya a llegar al máximo global, tarde o temprano alguna iteración conseguirá escalar hasta el pico más alto de la matriz, luego al elegir un máximo, ignoramos los máximos locales y nos quedamos con el máximo global.