[Cbc] Fwd: Gomory or not Gomory, that is the question.
John Forrest
john.forrest at fastercoin.com
Wed Mar 4 07:59:02 EST 2015
Yves,
Running the code with debug I get -
Cut with 3 coefficients, cuts off known solutions by 1.57182e-06,
lo=-1.79769e+308, ub=22
( 315 , -1 ) ( 1266 , -1 ) ( 1406 , 2 )
Non zero solution values are
( 315 , 1 ) ( 1266 , 25 ) ( 1406 , 24 )
which looks impossible - however looking more closely the actual
coefficients are
{-0.99999999999988898, -1, 2.0000001209088585}
I will think harder what to do, but I may find it difficult to fix
elegantly.
My proposed immediate fix would be to add a bit of code, to be turned on
at Cbc configuration time to weaken all cuts where coefficients are not
integral and variables are not all 0-1. I have coded it and tried it on
your problem - so that cut gets weakened by 1.0e-7*(1+25+24).
If that solution will work for you, I will look at its effect on other
problems and check code into trunk. I would think it should fix all
your problems and not make anything significantly slower.
John
On 03/03/15 19:06, Yves Touchard wrote:
> With the right reply address!
>
>
> -------- Message transféré --------
> Sujet : Gomory or not Gomory, that is the question.
> Date : Tue, 03 Mar 2015 20:03:03 +0100
> De : Yves Touchard <yves.touchard at sfr.fr>
> Pour : cbc at list.coin-or.org
>
>
>
> Hello,
>
> You will find here
> (https://www.dropbox.com/s/ayo93hi4togpc9m/noGom.lp?dl=0) a constraint
> file for which cbc founds a solution when Gomory cuts are removed or
> for specific cutlength values.
>
> In other words, the following command leads to an infeasible problem:
> //soft/cbc-trunk-2149/bin/cbc noGom.lp branch printingOptions normal
> solution noGom.sol/
>
> and with the following commands, cbc claims that there is a solution:
> //soft/cbc-trunk-2149/bin/cbc noGom.lp gomory off branch
> printingOptions normal solution noGom.sol/
> //soft/cbc-trunk-2149/bin/cbc noGom.lp cutlength xx branch
> printingOptions normal solution noGom.sol/ (with xx equal to -1, 0,
> 10, 20... and different from 30...)
>
> Since our problems are dynamically generated, it is very painful to
> try to solve them with different options, hoping that the right set is
> in the list.
>
> So, is there a way to find this set of options.
> Or could you explain what are the rows that are difficult for cbc.
> And, does the change of the continuous variables into integer
> variables help? (for our problems, it makes sense).
>
> 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/20150304/9047adb1/attachment-0001.html>
More information about the Cbc
mailing list