[Couenne] get multiple solutions

Pete Janes ppjanes at gmail.com
Tue Aug 10 10:18:31 EDT 2010


Hi Scott,

This is a a really late reply, but

I might have what you are looking for. I have modified the code for Couenne,
Bonmin, and Cbc so it can (rigorously) find all global minima where there
are multiple. I only got it to work properly this week on some well known
test problems with multiple solutions (I have attached some of them for you
to test out) so far it seems to work.

You will need to pick through the code I have attached (or just replace your
old files with the ones I attached, though this may be risky as I have other
crap in there), you will have to modify

Cbc/src/CbcModel.hpp:-
Just use the version I attached, or better do a diff first and add the
modifications I made manually.

Cbc/src/CbcModel.cpp: -

Copy and paste the code sections inside the macro "#ifdef ALL_SOLUTIONS" to
your code, at the same location as in the code attached. Don't forget to
declare "#define ALL_SOLUTIONS 1"

Couenne/src/bound_tightening/boundTightening.cpp: -

Copy and paste the code sections inside the macro "#ifdef ALL_SOLUTIONS" to
your code, at the same location as in the code attached. Don't forget to
declare "#define ALL_SOLUTIONS 1"

Couenne/main/BonCouenneSetup.cpp: -

Add the line "intParam_[BabSetupBase::NumOrigVar] =
couenneProb->nOrigVars();" before the end of the function  bool
CouenneSetup::InitializeCouenne (char **& argv). See the attached file as a
sample.

Algorithms/BonBabSetupBase.hpp: -
Just use the version I attached, or better do a diff first and add the
modifications I made manually.


Bonmin/src/CbcBonmin/BonCbc.cpp
Just use the version I attached, or better do a diff first and add the
modifications I made manually.

Then recompile your code again and I think it should work. Notice that I
predefine some margins
called alm_margin1, alm_margin2 etc. These are important in making this
modification work, for
example alm_margin4 defines the region around an existing solution which
will not be searched
again (this part is actually implemented really BADLY because many of the
margins are absolute
and not relative).

Also, If its possible you can send me the problem you were working on.

Regards,

Pete
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.coin-or.org/pipermail/couenne/attachments/20100811/63dab8ed/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CbcModel.hpp
Type: text/x-c++hdr
Size: 82724 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/couenne/attachments/20100811/63dab8ed/attachment-0011.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CbcModel.cpp
Type: text/x-c++src
Size: 511120 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/couenne/attachments/20100811/63dab8ed/attachment-0012.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: BonCbc.cpp
Type: text/x-c++src
Size: 21064 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/couenne/attachments/20100811/63dab8ed/attachment-0013.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: BonBabSetupBase.hpp
Type: text/x-c++hdr
Size: 11739 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/couenne/attachments/20100811/63dab8ed/attachment-0014.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: boundTightening.cpp
Type: text/x-c++src
Size: 6524 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/couenne/attachments/20100811/63dab8ed/attachment-0015.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: BonCouenneSetup.cpp
Type: text/x-c++src
Size: 18763 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/couenne/attachments/20100811/63dab8ed/attachment-0016.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: siirola6.mod
Type: audio/x-mod
Size: 367 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/couenne/attachments/20100811/63dab8ed/attachment-0017.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: siirola2.mod
Type: audio/x-mod
Size: 188 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/couenne/attachments/20100811/63dab8ed/attachment-0018.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: schubert2.mod
Type: audio/x-mod
Size: 127 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/couenne/attachments/20100811/63dab8ed/attachment-0019.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: schubert3.mod
Type: audio/x-mod
Size: 223 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/couenne/attachments/20100811/63dab8ed/attachment-0020.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vincent2.mod
Type: audio/x-mod
Size: 207 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/couenne/attachments/20100811/63dab8ed/attachment-0021.bin 


More information about the Couenne mailing list