This problem has one feature that make
is distinct from the classic TSP (Travelling
Salesman Problem). In the TSP you must visit every node
exactly once. Even if a node is very
far away it must be visited.
In my case I only need to visit
as many nodes as possible in so many moves and
can safely ignore nodes that are
"too far away".

I've tried adpoting spanning-tree approach to solving the TSP
with moderate success. But I have already done better with
an algorithm of my own.

I don't think it's that different. It's just a weighting
problem with a threshold. Give each node a weight and
divide by distance and you have a rough heuristic for how
important it is to get there. Choose an appropriate threshold
and you've reduced it to the TSP. In theory, a slightly better
solution is to make a large graph and weight entire sections
of the graph (ie. groups of nodes). This tells you that 9
average nodes are better than 1 great node and 8 worthless ones.
But that's just another way of simplifying N nodes into 1 node,
and you still have to apply a heuristical threshold to end up
with a the TSP again.

Because you have only a limited number of moves, the
importance of a single node is also a function of the
importance of its neighbours, so that a nearby (to the
player) but lonely oil node isn't as important as a more
distant oil node that is itself near to other oil nodes.

This is starting to sound like some statistical clustering
is in order, then you measure distances to the various
clusters along with the maximum number of moves required to
suck up all the oil in each cluster. You then increase the
cluster sizes and choose the largest cluster you can reach.