optimiser updated to control if a solution randomly created has already been tested. If this is the case it does not call the optimiser