From jjforre at us.ibm.com Fri May 16 12:10:05 2008 From: jjforre at us.ibm.com (John J Forrest) Date: Fri, 16 May 2008 12:10:05 -0400 Subject: [Cbc] Options with latest Cbc/trunk Message-ID: There are various things people can play with too see if the performance is improved in latest trunk. The code should be a bit faster with the following defined - ADD_CXXFLAGS="-DCLP_FAST_CODE -DCOIN_FAST_CODE -DCOIN_USE_RESTRICT I have been also adding these (obviously the architecture one is computer dependant) -funsafe-loop-optimizations -Wunsafe-loop-optimizations -ffast-math -fno-math-errno\ -funsafe-math-optimizations -fno-trapping-math -march=prescott" Finally in the standalone version there is an experiment option so cbc xxxxxx.mps -experiment 1 -solve switches on various options. There is a line of output which says what underlying options are switched on. Any feedback is welcome - if in favor to the mailing list, if unfavorable just to me :-) John Forrest From haroldo.santos at gmail.com Tue May 20 09:12:48 2008 From: haroldo.santos at gmail.com (Haroldo Santos) Date: Tue, 20 May 2008 10:12:48 -0300 Subject: [Cbc] Cuts and Integer Solutions in CBC Message-ID: <17376a760805200612m6a0e54a7x34e78db23671f6bb@mail.gmail.com> Hi All, I'm working with a MIP with an exponential number of constraints. To define the problem we need this huge amount of rows. So, I defined a cbcmodel with a small subset of these constraints and added an specialization of CglCutGenerator to dynamically insert the other rows, as needed. However, in the first iterations cbcmodel finds an Integer solution and stops the search, even if new cuts were added. Note that these "cuts" are not cuts in the traditional way: they do not cut fractional solutions. Instead, they define the problem. Is there any way to tell cbc that if new cuts were added, it must continue the search ? I think that in CPLEX this can be done by the so called "lazy constraints". Best regards, Haroldo -- =============================================================== Haroldo Gambini Santos http://www.ic.uff.br/~hsantos hsantos at ic.uff.br Instituto de Computacao - Universidade Federal Fluminense -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.coin-or.org/pipermail/cbc/attachments/20080520/d33b15fa/attachment.html From jjforre at us.ibm.com Wed May 21 06:05:22 2008 From: jjforre at us.ibm.com (John J Forrest) Date: Wed, 21 May 2008 06:05:22 -0400 Subject: [Cbc] Cuts and Integer Solutions in CBC In-Reply-To: <17376a760805200612m6a0e54a7x34e78db23671f6bb@mail.gmail.com> References: <17376a760805200612m6a0e54a7x34e78db23671f6bb@mail.gmail.com> Message-ID: Haroldo, There may be bugs in the code but I think that you need to change some of the options in the CbcCutGenerator before you pass it to Cbc. In particular setMustCallAgain(true) will say keep adding cuts as long as there are any. The deafult will stop after a few passes, which is probably why you are seeing what is happening. John Forrest From: "Haroldo Santos" To: cbc at list.coin-or.org Date: 05/20/2008 09:23 AM Subject: [Cbc] Cuts and Integer Solutions in CBC Hi All, I'm working with a MIP with an exponential number of constraints. To define the problem we need this huge amount of rows. So, I defined a cbcmodel with a small subset of these constraints and added an specialization of CglCutGenerator to dynamically insert the other rows, as needed. However, in the first iterations cbcmodel finds an Integer solution and stops the search, even if new cuts were added. Note that these "cuts" are not cuts in the traditional way: they do not cut fractional solutions. Instead, they define the problem. Is there any way to tell cbc that if new cuts were added, it must continue the search ? I think that in CPLEX this can be done by the so called "lazy constraints". Best regards, Haroldo -- =============================================================== Haroldo Gambini Santos http://www.ic.uff.br/~hsantos hsantos at ic.uff.br Instituto de Computacao - Universidade Federal Fluminense _______________________________________________ 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/20080521/eb94a354/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/cbc/attachments/20080521/eb94a354/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/cbc/attachments/20080521/eb94a354/attachment-0001.gif From haroldo.santos at gmail.com Fri May 23 08:22:02 2008 From: haroldo.santos at gmail.com (Haroldo Santos) Date: Fri, 23 May 2008 09:22:02 -0300 Subject: [Cbc] Cuts and Integer Solutions in CBC In-Reply-To: References: <17376a760805200612m6a0e54a7x34e78db23671f6bb@mail.gmail.com> Message-ID: <17376a760805230522q6c2827bfpd83ea6c3865fd869@mail.gmail.com> John, Tried using the setMustCallAgain(true) to my cut generator, but the problem continues. Haroldo On Wed, May 21, 2008 at 7:05 AM, John J Forrest wrote: > Haroldo, > > There may be bugs in the code but I think that you need to change some of > the options in the CbcCutGenerator before you pass it to Cbc. In particular > setMustCallAgain(true) will say keep adding cuts as long as there are any. > > The deafult will stop after a few passes, which is probably why you are > seeing what is happening. > > John Forrest > > [image: Inactive hide details for "Haroldo Santos" ---05/20/2008 09:23:52 > AM---Hi All,]"Haroldo Santos" ---05/20/2008 09:23:52 AM---Hi All, > > > From: > "Haroldo Santos" > To: > cbc at list.coin-or.org > Date: > 05/20/2008 09:23 AM > Subject: > [Cbc] Cuts and Integer Solutions in CBC > ------------------------------ > > > > Hi All, > > I'm working with a MIP with an exponential number of constraints. To define > the problem we need this huge amount of rows. > So, I defined a cbcmodel with a small subset of these constraints and added > an specialization of CglCutGenerator to dynamically insert the other rows, > as needed. > However, in the first iterations cbcmodel finds an Integer solution and > stops the search, even if new cuts were added. > Note that these "cuts" are not cuts in the traditional way: they do not cut > fractional solutions. Instead, they define the problem. > Is there any way to tell cbc that if new cuts were added, it must continue > the search ? > I think that in CPLEX this can be done by the so called "lazy constraints". > > Best regards, > > Haroldo > > -- > =============================================================== > Haroldo Gambini Santos* > **http://www.ic.uff.br/~hsantos* * > **hsantos at ic.uff.br* > > Instituto de Computacao - Universidade Federal Fluminense > _______________________________________________ > Cbc mailing list > Cbc at list.coin-or.org > http://list.coin-or.org/mailman/listinfo/cbc > > -- =============================================================== Haroldo Gambini Santos http://www.ic.uff.br/~hsantos hsantos at ic.uff.br Instituto de Computacao - Universidade Federal Fluminense -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.coin-or.org/pipermail/cbc/attachments/20080523/db58e83b/attachment.html -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/gif Size: 105 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080523/db58e83b/attachment.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/gif Size: 45 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080523/db58e83b/attachment-0001.gif From jjforre at us.ibm.com Fri May 23 12:06:46 2008 From: jjforre at us.ibm.com (John J Forrest) Date: Fri, 23 May 2008 12:06:46 -0400 Subject: [Cbc] Cuts and Integer Solutions in CBC In-Reply-To: <17376a760805230522q6c2827bfpd83ea6c3865fd869@mail.gmail.com> References: <17376a760805200612m6a0e54a7x34e78db23671f6bb@mail.gmail.com> <17376a760805230522q6c2827bfpd83ea6c3865fd869@mail.gmail.com> Message-ID: Haroldo, Will try and look into it. I forgot about the problem that strong branching might find a solution. There was an example in Cbc/examples - qmip2.cpp. Anyway I will see if I can make up another example. John Forrest From: "Haroldo Santos" To: John J Forrest/Watson/IBM at IBMUS Cc: cbc at list.coin-or.org, cbc-bounces at list.coin-or.org Date: 05/23/2008 08:22 AM Subject: Re: [Cbc] Cuts and Integer Solutions in CBC John, Tried using the setMustCallAgain(true) to my cut generator, but the problem continues. Haroldo On Wed, May 21, 2008 at 7:05 AM, John J Forrest wrote: Haroldo, There may be bugs in the code but I think that you need to change some of the options in the CbcCutGenerator before you pass it to Cbc. In particular setMustCallAgain(true) will say keep adding cuts as long as there are any. The deafult will stop after a few passes, which is probably why you are seeing what is happening. John Forrest (Embedded image moved to file: pic19228.gif)Inactive hide details for "Haroldo Santos" ---05/20/2008 09:23:52 AM---Hi All,"Haroldo Santos" ---05/20/2008 09:23:52 AM---Hi All, (Embedded image (Embedded image moved to file: pic28630.gif) moved to file: "Haroldo Santos" pic07155.gif) From: (Embedded image (Embedded image moved to file: pic19734.gif) moved to file: cbc at list.coin-or.org pic11221.gif) To: (Embedded image (Embedded image moved to file: pic10059.gif) moved to file: 05/20/2008 09:23 AM pic30244.gif) Date: (Embedded image (Embedded image moved to file: pic01297.gif) moved to file: [Cbc] Cuts and Integer Solutions in CBC pic18317.gif) Subject: Hi All, I'm working with a MIP with an exponential number of constraints. To define the problem we need this huge amount of rows. So, I defined a cbcmodel with a small subset of these constraints and added an specialization of CglCutGenerator to dynamically insert the other rows, as needed. However, in the first iterations cbcmodel finds an Integer solution and stops the search, even if new cuts were added. Note that these "cuts" are not cuts in the traditional way: they do not cut fractional solutions. Instead, they define the problem. Is there any way to tell cbc that if new cuts were added, it must continue the search ? I think that in CPLEX this can be done by the so called "lazy constraints". Best regards, Haroldo -- =============================================================== Haroldo Gambini Santos http://www.ic.uff.br/~hsantos hsantos at ic.uff.br Instituto de Computacao - Universidade Federal Fluminense _______________________________________________ Cbc mailing list Cbc at list.coin-or.org http://list.coin-or.org/mailman/listinfo/cbc -- =============================================================== Haroldo Gambini Santos http://www.ic.uff.br/~hsantos hsantos at ic.uff.br Instituto de Computacao - Universidade Federal Fluminense -------------- next part -------------- A non-text attachment was scrubbed... Name: pic19228.gif Type: image/gif Size: 105 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080523/bb51652c/attachment.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: pic07155.gif Type: image/gif Size: 45 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080523/bb51652c/attachment-0001.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: pic28630.gif Type: image/gif Size: 45 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080523/bb51652c/attachment-0002.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: pic11221.gif Type: image/gif Size: 45 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080523/bb51652c/attachment-0003.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: pic19734.gif Type: image/gif Size: 45 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080523/bb51652c/attachment-0004.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: pic30244.gif Type: image/gif Size: 45 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080523/bb51652c/attachment-0005.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: pic10059.gif Type: image/gif Size: 45 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080523/bb51652c/attachment-0006.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: pic18317.gif Type: image/gif Size: 45 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080523/bb51652c/attachment-0007.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: pic01297.gif Type: image/gif Size: 45 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080523/bb51652c/attachment-0008.gif From jjforre at us.ibm.com Tue May 27 11:27:59 2008 From: jjforre at us.ibm.com (John J Forrest) Date: Tue, 27 May 2008 11:27:59 -0400 Subject: [Cbc] Cuts and Integer Solutions in CBC In-Reply-To: <17376a760805230522q6c2827bfpd83ea6c3865fd869@mail.gmail.com> References: <17376a760805200612m6a0e54a7x34e78db23671f6bb@mail.gmail.com> <17376a760805230522q6c2827bfpd83ea6c3865fd869@mail.gmail.com> Message-ID: Haroldo, Made some changes and added another example addCuts.cpp. Seems to work on most problems as long as cuts reasonable. John From: "Haroldo Santos" To: John J Forrest/Watson/IBM at IBMUS Cc: cbc at list.coin-or.org, cbc-bounces at list.coin-or.org Date: 05/23/2008 08:22 AM Subject: Re: [Cbc] Cuts and Integer Solutions in CBC John, Tried using the setMustCallAgain(true) to my cut generator, but the problem continues. Haroldo On Wed, May 21, 2008 at 7:05 AM, John J Forrest wrote: Haroldo, There may be bugs in the code but I think that you need to change some of the options in the CbcCutGenerator before you pass it to Cbc. In particular setMustCallAgain(true) will say keep adding cuts as long as there are any. The deafult will stop after a few passes, which is probably why you are seeing what is happening. John Forrest (Embedded image moved to file: pic11715.gif)Inactive hide details for "Haroldo Santos" ---05/20/2008 09:23:52 AM---Hi All,"Haroldo Santos" ---05/20/2008 09:23:52 AM---Hi All, (Embedded image (Embedded image moved to file: pic22748.gif) moved to file: "Haroldo Santos" pic20589.gif) From: (Embedded image (Embedded image moved to file: pic12954.gif) moved to file: cbc at list.coin-or.org pic01966.gif) To: (Embedded image (Embedded image moved to file: pic32480.gif) moved to file: 05/20/2008 09:23 AM pic03130.gif) Date: (Embedded image (Embedded image moved to file: pic19197.gif) moved to file: [Cbc] Cuts and Integer Solutions in CBC pic30869.gif) Subject: Hi All, I'm working with a MIP with an exponential number of constraints. To define the problem we need this huge amount of rows. So, I defined a cbcmodel with a small subset of these constraints and added an specialization of CglCutGenerator to dynamically insert the other rows, as needed. However, in the first iterations cbcmodel finds an Integer solution and stops the search, even if new cuts were added. Note that these "cuts" are not cuts in the traditional way: they do not cut fractional solutions. Instead, they define the problem. Is there any way to tell cbc that if new cuts were added, it must continue the search ? I think that in CPLEX this can be done by the so called "lazy constraints". Best regards, Haroldo -- =============================================================== Haroldo Gambini Santos http://www.ic.uff.br/~hsantos hsantos at ic.uff.br Instituto de Computacao - Universidade Federal Fluminense _______________________________________________ Cbc mailing list Cbc at list.coin-or.org http://list.coin-or.org/mailman/listinfo/cbc -- =============================================================== Haroldo Gambini Santos http://www.ic.uff.br/~hsantos hsantos at ic.uff.br Instituto de Computacao - Universidade Federal Fluminense -------------- next part -------------- A non-text attachment was scrubbed... Name: pic11715.gif Type: image/gif Size: 105 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080527/3bd10deb/attachment.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: pic20589.gif Type: image/gif Size: 45 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080527/3bd10deb/attachment-0001.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: pic22748.gif Type: image/gif Size: 45 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080527/3bd10deb/attachment-0002.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: pic01966.gif Type: image/gif Size: 45 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080527/3bd10deb/attachment-0003.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: pic12954.gif Type: image/gif Size: 45 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080527/3bd10deb/attachment-0004.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: pic03130.gif Type: image/gif Size: 45 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080527/3bd10deb/attachment-0005.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: pic32480.gif Type: image/gif Size: 45 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080527/3bd10deb/attachment-0006.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: pic30869.gif Type: image/gif Size: 45 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080527/3bd10deb/attachment-0007.gif -------------- next part -------------- A non-text attachment was scrubbed... Name: pic19197.gif Type: image/gif Size: 45 bytes Desc: not available Url : http://list.coin-or.org/pipermail/cbc/attachments/20080527/3bd10deb/attachment-0008.gif