[Clp] Dense LP Problem Interface

Miles Lubin miles.lubin at gmail.com
Fri Jul 10 13:42:44 EDT 2015


A custom barrier method with GPU-based linear algebra seems pretty
reasonable to me for these dense problems. You could even beat out the
commercial solvers. Cvxopt might be useful as a starting point.

On Fri, Jul 10, 2015 at 11:37 AM, Matt Bromberg <mattcbro at earthlink.net>
wrote:

>  Thanks for running this.  I hope this can be addressed since basically
> Clp is constrained to "smaller" problems at this point.
> Unfortunately I keep needing larger constraint dimensions.  I'm actually
> considering running large problems in an inner loop of
> a hierarchical problem, so speed is going to be critical as well.
>
> I'm actually considering rolling my own  barrier method on a GPU,
> presuming that fine grain parallelism is going to beat coarse grained for
> these types of problems.
>
> -Matt
>
>
> On 07/09/2015 02:51 AM, Miles Lubin wrote:
>
> All,
>
>  Matt passed the data files to me privately, and I can reproduce the
> segfault. Here's the backtrace:
>
>  #0  0x00007fffc8143bae in ClpFactorization::factorize (this=0x315cac0,
>     model=0x79fb260, solveType=1, valuesPass=false) at
> ClpFactorization.cpp:2208
> #1  0x00007fffc81fdbaa in ClpSimplex::internalFactorize (this=0x79fb260,
> solveType=1)
>     at ClpSimplex.cpp:1995
> #2  0x00007fffc828c35b in ClpSimplexPrimal::statusOfProblemInPrimal
> (this=0x79fb260,
>     lastCleaned=@0x7fffffffbafc: 0, type=1, progress=0x79fb7a8,
> doFactorization=true,
>     ifValuesPass=0, originalModel=0x0) at ClpSimplexPrimal.cpp:851
> #3  0x00007fffc828ae46 in ClpSimplexPrimal::primal (this=0x79fb260,
> ifValuesPass=0,
>     startFinishOptions=0) at ClpSimplexPrimal.cpp:357
> #4  0x00007fffc8211cc3 in ClpSimplex::primal (this=0x79fb260,
> ifValuesPass=1,
>     startFinishOptions=0) at ClpSimplex.cpp:5974
> #5  0x00007fffc829eb4d in ClpSimplex::initialSolve (this=0x79fb260,
> options=...)
>     at ClpSolve.cpp:2392
> #6  0x00007fffc8126edf in Clp_initialSolveWithOptions (model=0x3da3aa0,
> s=0x4747d90)
>     at Clp_C_Interface.cpp:798
>
>  The line in question is:
>
>  elementU[i] = slackValue;
>
>  and gdb reports that elementU is uninitialized (more precisely, zero).
> Perhaps an unsuccessful call to malloc()? That's about all the debugging I
> can do for now.
>
>  Best,
> Miles
>
> On Wed, Jul 8, 2015 at 6:40 PM, Miles Lubin <miles.lubin at gmail.com> wrote:
>
>> No, segfaulting usually isn't an inherent property of an LP instance :)
>> If you can post the .mat file and short julia script which you use to run
>> it, I can try running the instance under debug mode myself.
>>
>>  Best,
>> Miles
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/clp/attachments/20150710/db5fa55d/attachment.html>


More information about the Clp mailing list