[Cbc] Another problem "long to be solved"

John Forrest john.forrest at fastercoin.com
Tue Nov 18 09:23:59 EST 2014


Yves,

Don't really understand - those function should be compiled in 
ClpSolve.clp if
#if defined(ABC_INHERIT) || defined(CBC_THREAD)

while should only be used if

#if defined (CBC_THREAD) && defined (COIN_HAS_CLP)

What is your exact configure?  Try getting update done in last few 
minutes and a complete clean build.

John
On 18/11/14 14:05, Yves Touchard wrote:
> John,
>
> Thanks for your (great) support!
> I would like to test these improvements but make fails:
>
> /[...]//
> //(cd .libs && rm -f libCbc.so.0 && ln -s libCbc.so.0.0.0 libCbc.so.0)//
> //(cd .libs && rm -f libCbc.so && ln -s libCbc.so.0.0.0 libCbc.so)//
> //creating libCbc.la//
> //(cd .libs && rm -f libCbc.la && ln -s ../libCbc.la libCbc.la)//
> ///bin/sh ../../libtool --tag=CXX --mode=link /soft/gcc-4.9.0/bin/g++  
> -O3 -pipe -DNDEBUG -pedantic-errors -Wparentheses -Wreturn-type 
> -Wcast-qual -Wall -Wpointer-arith -Wwrite-strings -Wconversion 
> -Wno-unknown-pragmas -Wno-long-long   -DCBC_BUILD   -o cbc  
> CoinSolve.o libCbcSolver.la libCbc.la -lpthread -lrt 
> /home/ytouch/coin-Cbc/Clp/src/OsiClp/libOsiClp.la 
> /home/ytouch/coin-Cbc/Clp/src/libClp.la 
> /home/ytouch/coin-Cbc/Osi/src/Osi/libOsi.la 
> /home/ytouch/coin-Cbc/CoinUtils/src/libCoinUtils.la -lbz2 -lz -lm   
> /home/ytouch/coin-Cbc/Cgl/src/libCgl.la 
> /home/ytouch/coin-Cbc/Clp/src/OsiClp/libOsiClp.la 
> /home/ytouch/coin-Cbc/Clp/src/libClp.la 
> /home/ytouch/coin-Cbc/Osi/src/Osi/libOsi.la 
> /home/ytouch/coin-Cbc/CoinUtils/src/libCoinUtils.la -lbz2 -lz -lm //
> ///soft/gcc-4.9.0/bin/g++ -O3 -pipe -DNDEBUG -pedantic-errors 
> -Wparentheses -Wreturn-type -Wcast-qual -Wall -Wpointer-arith 
> -Wwrite-strings -Wconversion -Wno-unknown-pragmas -Wno-long-long 
> -DCBC_BUILD -o .libs/cbc CoinSolve.o  ./.libs/libCbcSolver.so 
> ./.libs/libCbc.so -lpthread -lrt 
> /home/ytouch/coin-Cbc/Cgl/src/.libs/libCgl.so 
> /home/ytouch/coin-Cbc/Clp/src/OsiClp/.libs/libOsiClp.so 
> /home/ytouch/coin-Cbc/Clp/src/.libs/libClp.so 
> /home/ytouch/coin-Cbc/Osi/src/Osi/.libs/libOsi.so 
> /home/ytouch/coin-Cbc/CoinUtils/src/.libs/libCoinUtils.so -lbz2 -lz 
> -lm -Wl,--rpath -Wl,/home/ytouch/coin-Cbc/lib//
> //./.libs/libCbc.so: undefined reference to 
> `CoinPthreadStuff::waitParallelTask(int, int&, bool)'//
> //./.libs/libCbc.so: undefined reference to 
> `CoinPthreadStuff::waitAllTasks()'//
> //./.libs/libCbc.so: undefined reference to 
> `CoinPthreadStuff::sayIdle(int)'//
> //./.libs/libCbc.so: undefined reference to 
> `CoinPthreadStuff::~CoinPthreadStuff()'//
> //./.libs/libCbc.so: undefined reference to 
> `CoinPthreadStuff::CoinPthreadStuff(int, void* (*)(void*))'//
> //./.libs/libCbc.so: undefined reference to 
> `CoinPthreadStuff::startParallelTask(int, int, void*)'//
> //./.libs/libCbc.so: undefined reference to 
> `CoinPthreadStuff::whichThread() const'//
> //collect2: error: ld returned 1 exit status//
> //make[3]: *** [cbc] Error 1//
> //make[3]: Leaving directory `/home/ytouch/coin-Cbc/Cbc/src'//
> //make[2]: *** [all] Error 2//
> //make[2]: Leaving directory `/home/ytouch/coin-Cbc/Cbc/src'//
> //make[1]: *** [all-recursive] Error 1//
> //make[1]: Leaving directory `/home/ytouch/coin-Cbc/Cbc'//
> //make: *** [all-recursive] Error 1/
>
> Tested with a fresh new svn base.
>
> Yves
>
>
> On 11/18/2014 02:10 PM, cbc-request at list.coin-or.org wrote:
>> Send Cbc mailing list submissions to
>> 	cbc at list.coin-or.org
>>
>> To subscribe or unsubscribe via the World Wide Web, visit
>> 	http://list.coin-or.org/mailman/listinfo/cbc
>> or, via email, send a message with subject or body 'help' to
>> 	cbc-request at list.coin-or.org
>>
>> You can reach the person managing the list at
>> 	cbc-owner at list.coin-or.org
>>
>> When replying, please edit your Subject line so it is more specific
>> than "Re: Contents of Cbc digest..."
>>
>>
>> Today's Topics:
>>
>>     1. Re: Another problem "long to be solved" (John Forrest)
>>     2. Re: New Heuristic (due to Fischetti and Monaci) (Matteo Fischetti)
>>     3. Re: Another problem "long to be solved" (John Forrest)
>>     4. Re: Another problem "long to be solved" ( Lu?s Borges de Oliveira)
>>
>>
>> ----------------------------------------------------------------------
>>
>> Message: 1
>> Date: Mon, 17 Nov 2014 17:46:57 +0000
>> From: John Forrest<john.forrest at fastercoin.com>
>> To:cbc at list.coin-or.org
>> Subject: Re: [Cbc] Another problem "long to be solved"
>> Message-ID:<546A3491.5040304 at fastercoin.com>
>> Content-Type: text/plain; charset="windows-1252"; Format="flowed"
>>
>> Yves,
>>
>> I have been making some modifications to the diving heuristics which
>> should help.
>>
>> I have a lot of changes to trunk - but I think the unsafe ideas are not
>> normally switched on - so should be safe to update trunk. Will do it
>> tomorrow.
>>
>> John
>> On 17/11/14 11:43, Yves Touchard wrote:
>>> Hello,
>>>
>>> I split an huge problem in several little problems which sizes are
>>> (IMO) equivalent.
>>> Solving each of them lasts several seconds (no more than 2-3 seconds)
>>> except one (several minutes).
>>> I tried different combination of options (w/wo diving, w/wo zero
>>> root...) without any success. (threads 104 ratio 0.05 cutlength 40
>>> multiple 4 divingv on divingl on divingf on divingg on divingc on
>>> divingp on zero root)
>>>
>>> Have you an idea to help this problem to be fastly solved ? Or my
>>> splitting and the cost function are not well balanced ?
>>> The constraint file may be downloaded here:
>>> https://www.dropbox.com/s/lbd7o2bdn5392m1/long.lp?dl=0
>>> One of the sol file may be downloaded here:
>>> https://www.dropbox.com/s/a7foc860ap6lbmn/long.txt?dl=0
>>>
>>> I use the the trunk version, revision #2092, compiled with gcc 4.9.0
>>>
>>> Thanks and regards
>>>
>>> Yves
>>>
>>> ------------------------------------------------------------------------------
>>> This message and any attachments (the "message") are confidential and
>>> intended solely for the addressee(s). Any unauthorized use or
>>> dissemination is prohibited. E-mails are susceptible to alteration.
>>> Neither DxO Labs nor any of its subsidiaries or affiliates shall be
>>> liable for the message if altered, changed or falsified.
>>> Ce message et toutes les pi?ces jointes (ci-apr?s le "message") sont
>>> confidentiels et ?tablis ? l'intention exclusive de ses destinataires.
>>> Toute utilisation ou diffusion non autoris? est interdite. Tout
>>> message ?lectronique est susceptible d'alt?ration. DxO Labs et ses
>>> filiales d?clinent toute responsabilit? au titre de ce message s'il a
>>> ?t? alt?r?, modifi? ou falsifi?.
>>>
>>>
>>> _______________________________________________
>>> Cbc mailing list
>>> Cbc at list.coin-or.org
>>> http://list.coin-or.org/mailman/listinfo/cbc
>> -------------- next part --------------
>> An HTML attachment was scrubbed...
>> URL:<http://list.coin-or.org/pipermail/cbc/attachments/20141117/4198e593/attachment-0001.html>
>>
>> ------------------------------
>>
>> Message: 2
>> Date: Mon, 17 Nov 2014 19:16:05 +0100
>> From: Matteo Fischetti<m.fischetti at gmail.com>
>> To: John Forrest<john.forrest at fastercoin.com>
>> Cc:cbc at list.coin-or.org, Michele Monaci<monaci at dei.unipd.it>
>> Subject: Re: [Cbc] New Heuristic (due to Fischetti and Monaci)
>> Message-ID:<38C522A2-DE19-44E7-B924-4FBCDF36DB06 at gmail.com>
>> Content-Type: text/plain; charset="iso-8859-1"
>>
>> Dear John,
>>
>> for your reference, the final version (with some improvements over the first version) of my joint paper with Michele Monaci on Proximity Search is now printed on
>>
>> M. Fischetti, M. Monaci, "Proximity Search for 0-1 Mixed-Integer Convex Programming", Journal of Heuristics 20 (6), 709-731, 2014. DOI: 10.1007/s10732-014-9266-x
>>
>>
>> @article{
>> year={2014},
>> issn={1381-1231},
>> journal={Journal of Heuristics},
>> volume={20},
>> number={6},
>> doi={10.1007/s10732-014-9266-x},
>> title={Proximity search for 0-1 mixed-integer convex programming},
>> url={http://dx.doi.org/10.1007/s10732-014-9266-x},
>> publisher={Springer US},
>> keywords={Mixed-integer convex optimization; Proximal methods; Primal methods; Heuristics},
>> author={Fischetti, Matteo and Monaci, Michele},
>> pages={709-731},
>> language={English}
>> }
>>       
>> Best
>>
>> Matteo
>>
>>
>> Il giorno 21/nov/2012, alle ore 13:11, John Forrest<john.forrest at fastercoin.com>  ha scritto:
>>
>>> I am pleased to say that I have spent a very small amount of time implementing the Proximity Search heuristic by Fischetti and Monaci.
>>>
>>> At present it is only in Cbc trunk and by default is off.  The simplest way to switch it on using stand-alone version is "-proximity on".
>>>
>>> Proximity Search is the new "No-Neighborhood Search" 0-1 MIP refinement heuristic recently proposed by Fischetti and Monaci (2012). The idea is to define a sub-MIP without additional constraints but with a modified objective function intended to attract the search in the proximity of the incumbent. The approach works well for 0-1 MIPs whose solution landscape is not too irregular (meaning the there is reasonable probability of finding an improved solution by flipping a small number of binary variables), in particular when it is applied to the first heuristic solutions found at the root node. Feedback about (un)successful applications are very welcome, and can be send directly to Matteo Fischetti (matteo.fischetti at unipd.it)
>>>
>>> Feedback about unsuccessful applications may also be sent to me as I may need to improve my implementation.
>>>
>>> John Forrest
>>> _______________________________________________
>>> Cbc mailing list
>>> Cbc at list.coin-or.org
>>> http://list.coin-or.org/mailman/listinfo/cbc
>> ---
>> Prof. Matteo Fischetti
>> DEI, University of Padova
>> via Gradenigo 6/A
>> I-35131 Padova (Italy)
>> e-mail:matteo.fischetti at unipd.it
>> web:www.dei.unipd.it/~fisch
>> reports:www.dei.unipd.it/~fisch/papers
>>
>>
>>
>>
>> -------------- next part --------------
>> An HTML attachment was scrubbed...
>> URL:<http://list.coin-or.org/pipermail/cbc/attachments/20141117/19c87796/attachment-0001.html>
>>
>> ------------------------------
>>
>> Message: 3
>> Date: Tue, 18 Nov 2014 12:03:16 +0000
>> From: John Forrest<john.forrest at fastercoin.com>
>> To:cbc at list.coin-or.org
>> Subject: Re: [Cbc] Another problem "long to be solved"
>> Message-ID:<546B3584.9070306 at fastercoin.com>
>> Content-Type: text/plain; charset="windows-1252"; Format="flowed"
>>
>> Yves,
>>
>> In trunk there are some new/modified options.
>>
>> There was a parameter "experiment".  I have left some old meanings, but
>> introduced some new ones.  For difficult problems I would suggest
>> -experiment 3000 !!.  This actually switches on multiple root solvers
>> (4), does more aggressive preprocessing, adds some extra root cut
>> generators AND switches on most diving heuristics.
>>
>> When I tried, the code had no problems with long.lp, but I would suggest
>> you look at a new parameter divesolves.  This can increase the number of
>> solves a diving heuristic can do.  The bottom digit is ignored for
>> number of solves but can switch on something which could help you a
>> lot.  Normally the diving heuristics fix some integer variables if they
>> are at their bound, however they do not fix satisfied general integer
>> variables - not at bound - so if 0 <= x <= 20 and x is at 12 then it
>> does not get fixed.  I have allowed this behaviour to change so
>> -divesolves 301 will allow up to 300 solves and will fix some satisfied
>> general integers.
>>
>> You may also want to look at diveoptions and even set -DDIVE_PRINT=1 in
>> configure.  This switches on some printout which may help you understand
>> what is happening in which heuristic.
>>
>> John
>>
>> On 17/11/14 11:43, Yves Touchard wrote:
>>> Hello,
>>>
>>> I split an huge problem in several little problems which sizes are
>>> (IMO) equivalent.
>>> Solving each of them lasts several seconds (no more than 2-3 seconds)
>>> except one (several minutes).
>>> I tried different combination of options (w/wo diving, w/wo zero
>>> root...) without any success. (threads 104 ratio 0.05 cutlength 40
>>> multiple 4 divingv on divingl on divingf on divingg on divingc on
>>> divingp on zero root)
>>>
>>> Have you an idea to help this problem to be fastly solved ? Or my
>>> splitting and the cost function are not well balanced ?
>>> The constraint file may be downloaded here:
>>> https://www.dropbox.com/s/lbd7o2bdn5392m1/long.lp?dl=0
>>> One of the sol file may be downloaded here:
>>> https://www.dropbox.com/s/a7foc860ap6lbmn/long.txt?dl=0
>>>
>>> I use the the trunk version, revision #2092, compiled with gcc 4.9.0
>>>
>>> Thanks and regards
>>>
>>> Yves
>>>
>>> ------------------------------------------------------------------------------
>>> This message and any attachments (the "message") are confidential and
>>> intended solely for the addressee(s). Any unauthorized use or
>>> dissemination is prohibited. E-mails are susceptible to alteration.
>>> Neither DxO Labs nor any of its subsidiaries or affiliates shall be
>>> liable for the message if altered, changed or falsified.
>>> Ce message et toutes les pi?ces jointes (ci-apr?s le "message") sont
>>> confidentiels et ?tablis ? l'intention exclusive de ses destinataires.
>>> Toute utilisation ou diffusion non autoris? est interdite. Tout
>>> message ?lectronique est susceptible d'alt?ration. DxO Labs et ses
>>> filiales d?clinent toute responsabilit? au titre de ce message s'il a
>>> ?t? alt?r?, modifi? ou falsifi?.
>>>
>>>
>>> _______________________________________________
>>> Cbc mailing list
>>> Cbc at list.coin-or.org
>>> http://list.coin-or.org/mailman/listinfo/cbc
>> -------------- next part --------------
>> An HTML attachment was scrubbed...
>> URL:<http://list.coin-or.org/pipermail/cbc/attachments/20141118/a917c99c/attachment-0001.html>
>>
>> ------------------------------
>>
>> Message: 4
>> Date: Tue, 18 Nov 2014 13:09:58 +0000
>> From:lbo at siscog.pt  ( Lu?s Borges de Oliveira)
>> To: John Forrest<john.forrest at fastercoin.com>
>> Cc:cbc at list.coin-or.org
>> Subject: Re: [Cbc] Another problem "long to be solved"
>> Message-ID:<y538uj87izd.fsf at siscog.pt>
>> Content-Type: text/plain; charset=utf-8
>>
>> Hello John,
>>
>> John Forrest<john.forrest at fastercoin.com>  writes:
>>> In trunk there are some new/modified options.
>> FWIW, I was interested in giving these options a spin so I tried to
>> compile the Cbc trunk using mingw64 but got the following error:
>>
>>    CbcNode.cpp:4566:14: error: 'NUMBER_THREADS' was not declared in this scope
>>       int status[NUMBER_THREADS];
>>                ^
>>
>> That file seems to assume in a couple of other places that threading is
>> present.
>>
>> Please let me know if I can provide more information.
>>
>> Cheers,
>> Lu?s
>>
>>
>>
>> ------------------------------
>>
>> _______________________________________________
>> Cbc mailing list
>> Cbc at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/cbc
>>
>>
>> End of Cbc Digest, Vol 89, Issue 8
>> **********************************
>
>
> ------------------------------------------------------------------------------
> This message and any attachments (the "message") are confidential and 
> intended solely for the addressee(s). Any unauthorized use or 
> dissemination is prohibited. E-mails are susceptible to alteration. 
> Neither DxO Labs nor any of its subsidiaries or affiliates shall be 
> liable for the message if altered, changed or falsified.
> Ce message et toutes les pièces jointes (ci-après le "message") sont 
> confidentiels et établis à l'intention exclusive de ses destinataires. 
> Toute utilisation ou diffusion non autorisé est interdite. Tout 
> message électronique est susceptible d'altération. DxO Labs et ses 
> filiales déclinent toute responsabilité au titre de ce message s'il a 
> été altéré, modifié ou falsifié.
>
>
> _______________________________________________
> Cbc mailing list
> Cbc at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/cbc

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20141118/23f0a9cf/attachment-0001.html>


More information about the Cbc mailing list