In general, an MP problem can have more than one optimal solution (i.e. different sets of assignments to the problem variables that gives the optimal objective value). Any of these solutions is correct, and the external solver will return one of them. It is possible for a different solver (or even a different version of the same solver) to return another of these solutions. If the user’s program uses the solution values, then it is possible that the detailed behaviour of the program could depend on the solver being used.
The solution that is returned can also depend on the detailed settings of the floating point unit of the processor. Thus changing some of these settings may change the solution that is returned. It is thus possible for eplex to give different solutions on the same machine and solver if these settings are changed (e.g. when ECLiPSe is embedded into a Java application).