Thanks Luke,
yeah that’s what I experienced so far. When I increase the optimality criterion the runs take nearly as long as with one thread. That is not what I was hoping for.
Regards,
Fred
Am Dienstag, 4. Februar 2014 19:05:01 UTC+7 schrieb Luke:
Hi Fred,
CPLEX follows one thread and stops once a result is reached that is within the tolerance.
With parallel mode, CPLEX follows multiple threads - the additional threads in your case seem to lead to a result that is within the tolerance earlier.
That doesn’t mean that it is a better result, but since the tolerance is satisfied CPLEX stops.
If you decrease the tolerance by changing the optimality criterion (optcr/optca) you will get a better result, maybe faster using parallel but not necessarily.
Regards,
Luke
Am Mittwoch, 29. Januar 2014 05:39:27 UTC+1 schrieb FredtheBread:
Hey Arne,
thank you so much for you answer. I’m not sure if I understand it properly though. Parallelmode was set to deterministic and I changed it to opportunistic because I do not need invariant or repeatable solutions and according to the manual it should deliver a better solution.
But for each setting the result is the same: The runs with a single core delivers much better solutions.
In dual core mode (for any parallelmode option) the solver uses about half of the iterations that in single core mode and and the number of nodes is 0 (120 with a single core).
See attached the results for both runs. What about the difference in MIP Solution and Best possible in parallel mode?
I’m a bit clueless…
Regards
Fred
Am Dienstag, 28. Januar 2014 22:18:08 UTC+7 schrieb Arne Stolbjerg Drud:
Hey Fred
Cplex will visit the branch & bound nodes in parallel, and it is not possible to determine which nodes will finish first because it depends on the load on the machine. The search tree is therefore not deterministic. If you solve to optimality you should get the same objective function value, but if there are more nodes with this value you do not know which one you will get (the first with this value is not deterministic). If you stop before optimality is proven you can be lucky and get a good solution or less lucky and stop with a solution that is not as good.
Cplex has an option, parallelmode, that can be set to ‘deterministic’ (always read the solvers guide; in this case search for ‘thread’ and you will find it). It will solve the nodes in batches and wait, and the search-tree will be the same after each batch has been solved. So 2, 4 or 8 threads will produce the same search-tree. But note, that the single-threaded solve may not be the same as with parallelmode set to deterministic and one thread because the overall setup is different.
Regards
Arne
\
Arne Stolbjerg Drud
ARKI Consulting & Development A/S
Bagsvaerdvej 246A, DK-2880 Bagsvaerd, Denmark
Phone: (+45) 44 49 03 23, Fax: (+45) 44 49 03 33, email: ad…@arki.dk
From: gams...@googlegroups.com [mailto:gams...@googlegroups.com] On Behalf Of FredtheBread
Sent: Tuesday, January 28, 2014 11:12 AM
To: gams...@googlegroups.com
Subject: Number of threads leads to different results
Hey guys,
I have an MIP and I use CPLEX. Model runs took hours so I found the option to use more than one processor (Option threads = 0). The runs are so much faster now but the results are completely different. I have no explanation for this. Any ideas?
Gams version: 23.7.3 64 Bit
Cheers
Fred
–
To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld.
For more options, visit https://groups.google.com/groups/opt_out.
–
To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld.
For more options, visit https://groups.google.com/groups/opt_out.