[Cbc] Constraint to make a solution infeasible
Stuart Mitchell (uni)
s.mitchell at auckland.ac.nz
Mon Jun 13 20:09:11 EDT 2011
The solution given int the examples only really work for binary [0,1]
variables, otherwise the cuts cut more than one solution.
Stu
On Mon, Jun 13, 2011 at 3:08 PM, Terry <maillst at aol.com> wrote:
>
> Thanks for the tip Ed. That sounds like exactly what I want.
> I changed repeat.cpp to use readLp instead of readMps. Then I was able to
> run it on my file.
> Any idea why it only gives 3 answers, [2 0 0 2], [0 2 0 2], [1 1 1 1]? Then
> it gives up with:
> Cbc0006I The LP relaxation is infeasible or too expensive
> /coin/Coin-Pkg/bin/terry/ex2.lp took 0.00074 seconds, 0 nodes with objective
> 1.79769e+308 Finished
>
> I added bounds 0 to 10 for each variable and I tried changing the obj and
> constraints slightly, but I could not get it to give more than 2 or 3
> solutions before failing. I guess there's a lot more I need to understand
> first.
> Terry
>
>
> On Jun 12, 2011, at 7:56 PM, Ed Bulog wrote:
>
> Hi Terry,
>
> While I'm far from an expert, I remember that the "repeat.cpp" example
> (https://projects.coin-or.org/Cbc/browser/stable/2.7/Cbc/examples/repeat.cpp)
> essentially does this. I believe it repeatedly finds the optimal solution
> and then adds a cut to remove it, so that you end up with the 20 "best"
> solutions. Hope that helps you.
>
> Cheers,
>
> Ed
>
> On 13 June 2011 11:08, Terry <maillst at aol.com> wrote:
>>
>> CBC will find an optimal solution to my IP problem. Now I want the "next"
>> optimal solution. That is, I want to make the previous solution infeasible
>> and run CBC again to find another solution.
>>
>> Here's an example I'm working with:
>>
>> Minimize
>> x1 + x2 + x3 + x4
>> Subject To
>> 5 x1 + 5 x2 >= 10
>> 7 x3 + 14 x4 >= 21
>> Integers
>> x1
>> x2
>> x3
>> x4
>> End
>>
>>
>> Optimal - objective value 4.00000000
>> 0 x1 2 1
>> 1 x2 0 1
>> 2 x3 1 1
>> 3 x4 1 1
>>
>>
>> Can I add a constraint so that [2 0 1 1] is infeasible, but allows any
>> other answer? I'm afraid this is a stupid question, but I don't see how to
>> do it.
>>
>> Thanks.
>> Terry
>>
>>
>>
>> _______________________________________________
>> Cbc mailing list
>> Cbc at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/cbc
>
>
>
More information about the Cbc
mailing list