Hello mathew,
If you are confident in your implementation and clear about the scenario you are dealing with, it's possible that your problem has multiple optimal solutions. In such cases, you can generate a population of solutions and examine them. or you can resolve the same problem by adding a constraints f(x_i)=optimalValue and excludes the previous optimal solution by adding a constraint like
sum {i in S} |x[i] - x*[i]| >= 1
------------------------------
GUISSOU Ibtissam
------------------------------