1. A method for optimizing a solution to a problem in a hardware computer, the method comprising: a) creating at least one solution; b) presenting said at least one solution to a user in an interactive computer session; c) receiving input from the user in the interactive computer session, said received input representing subjective fitness of the at least one solution for the problem; d) providing a partial ordering of a plurality of solutions in the computer based on said received input, wherein a partial ordering is a partial ordering graph G<V, E>, where vertices in V represent solutions presented to the user so far, and edges in E represent received input from the user representing a pair-wise comparison between solutions; e) inducing a complete order of at least the plurality of solutions presented to the user in the computer based on said provided partial ordering; f) generating a synthetic surrogate subjective fitness function in the computer using said induced complete order, wherein said generating further comprises using the number of dominated vertices and the number of dominating vertices in V; g) creating at least one new solution to the problem using said generated synthetic surrogate subjective fitness.