Added ability to create an optimiser regardless of objective type