As Hagen noted, because there are only finitely many cells and you can't visit a cell more than once, the game is finite. Thus there is a "brute-force" algorithm to find an optimal path by examining all possible paths; of course, depending on the particular instance, the optimal value may turn out to be positive, negative or zero. However, on a reasonably-sized board (the one given is $10 \times 10$) the number of possible paths is so huge that brute force is not a realistic option.
It is highly unlikely that there is any efficient (polynomial-time) algorithm. However, heuristic optimization techniques such as simulated annealing and tabu search will probably be able to obtain very good, if not optimal, solutions.