[CHiPPS] parallel LP solves inside parallel branch and bound?
Yan Xu
Yan.Xu at sas.com
Tue Apr 17 21:20:17 EDT 2012
A worker is 1 MPI process. At ALPS level, it is impossible to change the design so that some computing nodes are reserved to other purpose (like for LP solvers), but I guess it is not an easy change.
Another thought is to run a threaded/shared memory LP solver (if you have) on each worker at BiCePS layer. You can overload the bound() function to use a threaded LP solver in your application.
int BlisTreeNode::bound(BcpsModel *model)
{
BlisLpStatus status = BlisLpStatusUnknown;
BlisModel *m = dynamic_cast<BlisModel *>(model);
// Bounding
m->solver()->resolve();
...
}
Hope this helps,
-Yan
From: chipps-bounces at list.coin-or.org [mailto:chipps-bounces at list.coin-or.org] On Behalf Of Miles Lubin
Sent: Monday, April 16, 2012 11:23 PM
To: chipps at list.coin-or.org
Subject: [CHiPPS] parallel LP solves inside parallel branch and bound?
Hello,
How difficult would it be both conceptually and technically to implement a BiCePS layer for MILPs where the LP relaxation is solved using a distributed-memory (MPI-based) solver, supposing one exists? Does Alps make the assumption that a worker corresponds to 1 MPI process, or would some hacking need to be done at the level of, I assume, AlpsKnowledgeBrokerMPI?
I'm just doing preliminary research now, so a general response without much technical detail is more than sufficient.
Thanks!
Miles
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/chipps/attachments/20120418/73f2a82d/attachment.html>
More information about the CHiPPS
mailing list