tag:blogger.com,1999:blog-8781383461061929571.post7105785197775031097..comments2024-03-14T09:08:19.035-04:00Comments on OR in an OB World: Solution Pool: "All" Is Not AllPaul A. Rubinhttp://www.blogger.com/profile/05801891157261357482noreply@blogger.comBlogger11125tag:blogger.com,1999:blog-8781383461061929571.post-15560713755776956442013-02-08T09:45:58.461-05:002013-02-08T09:45:58.461-05:00Thomas: I've had that same experience. There a...Thomas: I've had that same experience. There are too many parameters to keep track of them all.Paul A. Rubinhttps://www.blogger.com/profile/05801891157261357482noreply@blogger.comtag:blogger.com,1999:blog-8781383461061929571.post-55031318599337097132013-02-08T04:19:09.717-05:002013-02-08T04:19:09.717-05:00Paul,
thanks for posting the support response. I ...Paul,<br /><br />thanks for posting the support response. I checked this and setting CPX_PARAM_HEURFREQ to -1 in fact seems to solve the problem. I thought, I had tried this before. Maybe, I accidently set it to 0 or CPX_OFF.<br /><br />Best regards,<br />ThomasThomas Opferhttps://www.blogger.com/profile/01379302702721609320noreply@blogger.comtag:blogger.com,1999:blog-8781383461061929571.post-84455810829104759302013-01-28T09:27:22.667-05:002013-01-28T09:27:22.667-05:00It seems that the behaviour in C and Java is the s...It seems that the behaviour in C and Java is the same.<br /><br />Might it be that they iterate trivial examples because it is faster than starting the complete CPLEX-overhead?<br /><br />Best regards,<br />ThomasThomas Opferhttps://www.blogger.com/profile/01379302702721609320noreply@blogger.comtag:blogger.com,1999:blog-8781383461061929571.post-80749859460566969492013-01-28T09:12:44.370-05:002013-01-28T09:12:44.370-05:00Your result with C is identical to mine with Java....Your result with C is identical to mine with Java. Perhaps there is an ESP heuristic? Or perhaps the IBM ILOG folks have figured out how to program intuition?<br /><br />I matched your result with the interactive optimizer; but if I skip the optimize step and go straight from 'set pre pre n' to 'pop', I only get a single solution. Adding to my confusion (not that I needed any more), if I do the same in Java (cplex.solve() first, then cplex.populate()), it makes no difference; I get one solution either way.<br /><br />Cheers,<br />PaulPaul A. Rubinhttps://www.blogger.com/profile/05801891157261357482noreply@blogger.comtag:blogger.com,1999:blog-8781383461061929571.post-63886488003587019982013-01-28T08:29:49.548-05:002013-01-28T08:29:49.548-05:00Hmm, it is really strange. I tried to access some ...Hmm, it is really strange. I tried to access some information using the C API. I disabled everything that came into my mind and I added several callbacks. Result: "Found incumbent of value 1.000000 after 0.00 sec. (0.00 ticks)". No callback was called... How does CPLEX find this solution? Voodoo? Enumeration (probing is off!)?<br /><br />On the other hand, I found out that the interactive optimizer finds several solutions if I do the following: r test.lp, set pre pre n, o, pop.<br /><br />Best regards,<br />ThomasThomas Opferhttps://www.blogger.com/profile/01379302702721609320noreply@blogger.comtag:blogger.com,1999:blog-8781383461061929571.post-81511045860508983212013-01-27T09:57:03.864-05:002013-01-27T09:57:03.864-05:00Thomas: No, I use the Java API, and the root LP is...Thomas: No, I use the Java API, and the root LP is available only in the C API. :-(<br /><br />Cheers,<br />PaulPaul A. Rubinhttps://www.blogger.com/profile/05801891157261357482noreply@blogger.comtag:blogger.com,1999:blog-8781383461061929571.post-45628177739027205672013-01-26T20:25:46.982-05:002013-01-26T20:25:46.982-05:00There is some preprocessing concerning the clique ...There is some preprocessing concerning the clique tables. This cannot be turned off. Some time ago, I experienced (and Daniel confirmed) that this can fix variables.<br /><br />Did you have a look at the root LP?<br /><br />Best regards,<br />ThomasThomas Opferhttps://www.blogger.com/profile/01379302702721609320noreply@blogger.comtag:blogger.com,1999:blog-8781383461061929571.post-88823426483073600712013-01-26T10:59:21.476-05:002013-01-26T10:59:21.476-05:00Jeff: I had not tried the Symmetry parameter, but ...Jeff: I had not tried the Symmetry parameter, but turning it off did not change the result. I just added an update above that makes me think this is a bug. I wonder if some preprocessing occurs regardless of parameter settings? At any rate, I'll let them know and we'll see what happens.Paul A. Rubinhttps://www.blogger.com/profile/05801891157261357482noreply@blogger.comtag:blogger.com,1999:blog-8781383461061929571.post-31053467450194240662013-01-26T10:57:40.732-05:002013-01-26T10:57:40.732-05:00Thomas: I agree with both paragraphs, although I t...Thomas: I agree with both paragraphs, although I think it might be a code bug rather than a documentation bug. (I just added an update to the text of the post.) Regarding the second paragraph, I tried to make the same point in the "grandparent" of this post (the post preceding it's immediate predecessor).Paul A. Rubinhttps://www.blogger.com/profile/05801891157261357482noreply@blogger.comtag:blogger.com,1999:blog-8781383461061929571.post-59016493123073204582013-01-26T09:27:07.148-05:002013-01-26T09:27:07.148-05:00Maybe they find all non-isomorphic solutions? (Di...Maybe they find all non-isomorphic solutions? (Did you monkey with the 'symmetry' parameter).<br /><br />But I agree -- this is at least a bug in the documentation. There is an old IPCO paper by the CPLEX people on this topic, so they should know what they are taking about.<br /><br />Emilie Danna, Mary Fenelon, Zonghao Gu, Roland Wunderling: Generating Multiple Solutions for Mixed Integer Programming Problems. IPCO 2007: 280-294<br /><br />Cheers,<br />-Jeff<br /><br />Anonymoushttps://www.blogger.com/profile/03404873822653763139noreply@blogger.comtag:blogger.com,1999:blog-8781383461061929571.post-70928379334956503072013-01-26T04:24:45.067-05:002013-01-26T04:24:45.067-05:00That's very interesting and clearly contradict...That's very interesting and clearly contradicts the CPLEX user manual. I checked this and experienced the same problem. I think you should report a bug (at least for the wrong manual).<br /><br />Concerning this and your former blog post, I think one should point out that enumerating all solutions only makes sense for pure integer programs. For MIPs, this is much more difficult in general. (One possibility would be to project the linear part away and iterate all integer feasible solutions. For each of them, one then can take the remaining LP and do some vertex enumeration like LRS.)<br /><br />Best regards,<br />ThomasThomas Opferhttps://www.blogger.com/profile/01379302702721609320noreply@blogger.com