Uses optimisation