[Clp] assertion failure in ClpSimplex::fathom

John J Forrest jjforre at us.ibm.com
Wed Jan 27 13:01:34 EST 2010


Matt,

I have had no luck in reproducing fault in OsiClp.  I have gcc 4.4.1 and so
there may be a subtle difference.  I did get fathom assert.

Definitely a scaling issue.  Fairly sure that it will go wrong without
assert.  fathom is trying to do LPs fast so it normally just keeps a scaled
solution around.  It has completed a sub search and thinks it has a
solution.  However on checking it finds that an integer variable is away
from integrality.  Whether it allows it through or not it may cut off a
good solution.  I have put in a fix to abort that sub search and carry on.
This is in Clp/trunk and stable/2.4 i.e. Clp/1.11

Other possibility is to set

-depth -999

which will switch off fathom.

John



                                                                                                       
  From:       Matthew Galati <Matthew.Galati at sas.com>                                                  
                                                                                                       
  To:         "clp at list.coin-or.org" <clp at list.coin-or.org>                                            
                                                                                                       
  Date:       01/27/2010 10:14 AM                                                                      
                                                                                                       
  Subject:    [Clp] assertion failure in ClpSimplex::fathom                                            
                                                                                                       
  Sent by:    clp-bounces at list.coin-or.org                                                             
                                                                                                       





Similar problem setting for last post - different error. I ran through gdb
and ended up here.


#4  0x08308b44 in ClpSimplex::fathom (this=0xcdb7698, stuff=0xbfee59e0)
at ../../../Clp/src/ClpSimplex.cpp:10079
10079               assert (fabs(value-value2)<1.0e-4);
 (gdb) p value
$1 = -40885755.234334067
(gdb) p value2
$2 = -40885755
(gdb)


Is this just a tolerance issue? Maybe that assertion should check relative
value, not absolute?




DW GAP = 0.00196819 isTight = 1
D-ALGO   : 691      [CPU: 676.8   ]  --- phaseUpdate() -----------> funcT =
0
D-ALGOPC : 691      [CPU: 677     ] <--- phaseDone() -------------
D-ALGOPC : 691      [CPU: 677     ] <--- solutionUpdateAsIp() ----
decomp_milpblock: ../../../Clp/src/ClpSimplex.cpp:10079: int
ClpSimplex::fathom(void*): Assertion `fabs(value-value2)<1.0e-4' failed.

Program received signal SIGABRT, Aborted.
0x0092a7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) where
#0  0x0092a7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x0096e7d5 in raise () from /lib/tls/libc.so.6
#2  0x00970149 in abort () from /lib/tls/libc.so.6
#3  0x00967db1 in __assert_fail () from /lib/tls/libc.so.6
#4  0x08308b44 in ClpSimplex::fathom (this=0xcdb7698, stuff=0xbfee59e0)
at ../../../Clp/src/ClpSimplex.cpp:10079
#5  0x0820ffbf in CbcModel::doOneNode (this=0xbde8ba8, baseModel=0xbde8ba8,
node=@0xbfee5e58, newNode=@0xbfee5e40)
    at ../../../Cbc/src/CbcModel.cpp:13531
#6  0x081eaf92 in CbcModel::branchAndBound (this=0xbde8ba8, doStatistics=0)
at ../../../Cbc/src/CbcModel.cpp:3686
#7  0x081141d1 in CbcMain1 (argc=5, argv=0xbfeeb780, model=@0xbfeeb7d0,
callBack=0x80f91f4 <dummyCallBack>) at ../../../Cbc/src/CbcSolver.cpp:8214
#8  0x080f9217 in CbcMain1 (argc=5, argv=0xbfeeb780, model=@0xbfeeb7d0)
at ../../../Cbc/src/CbcSolver.cpp:3104
#9  0x08095d4c in DecompAlgoPC::solutionUpdateAsIP (this=0xab98eb8)
at ../../../Dip/src/DecompAlgoPC.cpp:502
#10 0x080956d5 in DecompAlgoPC::phaseDone (this=0xab98eb8)
at ../../../Dip/src/DecompAlgoPC.cpp:428
#11 0x0806da48 in DecompAlgo::processNode (this=0xab98eb8, nodeIndex=1,
globalLB=-17352638.898165066, globalUB=-16685688.559999999)
    at ../../../Dip/src/DecompAlgo.cpp:1788
#12 0x080c53d6 in AlpsDecompTreeNode::process (this=0xb9ebb48,
isRoot=false, rampUp=false) at ../../../Dip/src/AlpsDecompTreeNode.cpp:244
#13 0x080dfa46 in AlpsSubTree::exploreUnitWork (this=0xb937550,
leaveAsIt=false, unitWork=2147483647, unitTime=1.7976931348623157e+308,
    exploreStatus=@0xbfeec0ac, numNodesProcessed=@0xbfeec27c,
numNodesBranched=@0xbfeec280, numNodesDiscarded=@0xbfeec284,
depth=@0xbfeec290,
    betterSolution=@0xbfeec0ab) at ../../../Alps/src/AlpsSubTree.cpp:1276
#14 0x080dca45 in AlpsSubTree::exploreSubTree (this=0xb937550,
root=0xb937460, nodeLimit=2147483647, timeLimit=1.7976931348623157e+308,
    numNodesProcessed=@0xbfeec27c, numNodesBranched=@0xbfeec280,
numNodesDiscarded=@0xbfeec284, depth=@0xbfeec290)
    at ../../../Alps/src/AlpsSubTree.cpp:472
#15 0x080e5b80 in AlpsKnowledgeBrokerSerial::rootSearch (this=0xbfeec180,
root=0xb937460) at ../../../Alps/src/AlpsKnowledgeBrokerSerial.cpp:220
#16 0x080c29f1 in AlpsKnowledgeBroker::search (this=0xbfeec180,
model=0xbfeec3e0) at ../../../Alps/src/AlpsKnowledgeBroker.h:275
#17 0x080c09f6 in AlpsDecompModel::solve (this=0xbfeec3e0)
at ../../../Dip/src/AlpsDecompModel.cpp:154
#18 0x0804c13e in main (argc=1, argv=0xbfeec834)
at ../../../../Dip/examples/MILPBlock/MILPBlock_Main.cpp:105


_______________________________________________
Clp mailing list
Clp at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/clp

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/clp/attachments/20100127/029cead5/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graycol.gif
Type: image/gif
Size: 105 bytes
Desc: not available
URL: <http://list.coin-or.org/pipermail/clp/attachments/20100127/029cead5/attachment.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ecblank.gif
Type: image/gif
Size: 45 bytes
Desc: not available
URL: <http://list.coin-or.org/pipermail/clp/attachments/20100127/029cead5/attachment-0001.gif>


More information about the Clp mailing list