You're better off building a "result database" and going after that (IMO). Needs evolve. I store (buffer) query results by translating the query parms to a "key", that is matched to future queries, to reduce "trips" when the "results" can be predicted. Your "score and speed" can be your "result key"; where one is multiplied by an offset, and then added to gether; e.g. (long or int) key = (score * 10000) + speed. You can "plot" results instead of just looking at the "best" ones; which then also allows you to start "predicting" (extrapolating).