[Coin-lpsolver] Using CHOLMOD with CLP's interior

Kish Shen kish.shen at crosscoreop.com
Tue Apr 3 01:29:58 EDT 2007


Hi,

I have been trying out the ClpCholeskyUfl for CLP's interior point solver. Using the AMD code
from University of Florida (i.e. compiled with -DUFL_BARRIER), the time to solve various test
problems are much faster than using ClpCholeskyBase. 

I decided to try to use CHOLMOD code (with -DCLP_USE_CHOLMOD in addition to 
-DUFL_BARRIER when compiling), but I get a seg fault (on Linux) when the primalDual()
method is called in the following:

	ClpModel* clpmodel = lpd->lp->Solver->getModelPtr();
	lpd->lp->interiormodel = new ClpInterior;
	lpd->lp->interiormodel->borrowModel(*clpmodel);
#ifdef UFL_BARRIER
	ClpCholeskyUfl* cholesky = new ClpCholeskyUfl();
#else
	ClpCholeskyBase* cholesky = new ClpCholeskyDense();
#endif
	lpd->lp->interiormodel->setCholesky(cholesky);
	lpd->lp->interiormodel->primalDual();

The same code worked when I compiled CLP with just -DUFL_BARRIER.

I am using a Coin-Cbc ytunk branch that I downloaded 5 March 2007, the various other libraries
needed for AMD and CHOLMOD (LAPACK, metis, etc.) are somewhat older -- about a year old,
downloaded when I first tested the barrier solver a year ago.

Am I doing something wrong? I have ran the problem through valgrind, which reported a few
problems, but perhaps that is too detailed for this posting to the mailing list. I could forward
the information if requested.

Thanks in advance for any information/help!

Cheers,

Kish





More information about the Clp mailing list