[SCIP] Difference between SCIPsolve and SCIPsolveConcurrent
Gerald Gamrath
gamrath at zib.de
Thu Apr 12 20:06:54 CEST 2018
Dear Guillerme,
you are right, SCIPsolveConcurrent tries to speed up the solving process
by using multiple cores. It does not parallelize the tree search but
runs the same instance multiple times in parallel with different
settings, communicates some global information between the threads, and
terminates when the first one is finished (in some deterministic
approximation of time).
In order to use this, you need to compile one of the thread processing
interfaces (TPI) of SCIP, be default, none is built. You can choose
between TPI=tny (for TinyCThread, a portable implementation of a subset
of the C11 threads) or TPI=omp (for OpenMP). If you compiled without
TPI, the solve call for your pricing problem probably returns with some
error and I guess you do not add a variable, which in the end causes the
error you see because SCIP does not have a variable to branch on but
also no optimally solved LP.
I hope that helps, please write again if this does not fix the issue.
Best,
Gerald
On 11.04.2018 02:06, Guillerme Duvillié wrote:
> Dear all,
>
> I'm a little bit puzzled about the difference between SCIPsolve and
> SCIPsolveConcurrent. Based on what I understood, SCIPsolveConcurrent was
> some sort of parallel implementation of SCIPsolve.
>
> If this is the case, I experience something that seems weird to me. I'm
> implementing branch and price algorithm for some special cases of
> multidimensional affectation problems. When I use SCIPsolve to solve the
> pricing problem, the resolution is really slow, the pricing is solved
> over and over again and the general solution gets stuck to the
> provided initial solution even after one hour of computations. On the
> other hand, using SCIPsolveConcurrent returns the following error after
> few miliseconds (and two pricing iterations):
>
> [src/scip/solve.c:4503] ERROR: pricing was aborted, but no branching
> could be created!
> [src/scip/solve.c:4933] ERROR: Error <-10> in function call
> [src/scip/scip.c:16231] ERROR: Error <-10> in function call
> [src/scip/scipshell.c:100] ERROR: Error <-10> in function call
> [src/scip/scipshell.c:392] ERROR: Error <-10> in function call
> [src/cmain.c:162] ERROR: Error <-10> in function call
> SCIP Error (-10): method returned an invalid result code
>
> Snce I'm a SCIP beginner, the probability that I made a mistake in my
> code is close to 1, but I cannot understand why switching from one
> solving method to another returns such different answer.
>
> Thank you in advance.
>
>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20180412/969cbd0b/attachment.html>
More information about the Scip
mailing list