Counting curves on rational surfaces