[Coin-bcpdiscuss] Re: Coin-bcpdiscuss Digest, Vol 18, Issue 1
Laszlo Ladanyi
ladanyi at us.ibm.com
Thu Dec 13 22:45:01 EST 2007
Well, BCP copies out the dual vector from the underlying solver. It is
possible that something is messed up, but I find it unlikely. A possible
reason is that if you have variables out of basis at a bound that is not
zero (e.g., upper bounded variable at its upper bound) then the sum of the
duals is not the same as Z_LP. Could you check whether this is the case?
Thanks,
--Laci
On Sun, 9 Dec 2007, Daniel Fleischman wrote:
>> My other problem is still there. I retrieve the dual vector as follows:
>> In compute_lower_bound, I receive the current LP solution in the
>> argument lpres (of type const BCP_lp_result&). I retrieve the dual
>> vector through:
>> const double* pi = lpres.pi();
>> In this way, in the second iteration, I get the same dual vector
>> (pi[.]=1.0 for all cuts) as in iteration 1, although the LP primal
>> solution (Z_LP) has a lower value. And I believe that for a set covering
>> problem with all column costs = 1, we should have
>> sum(pi[.]) = Z_LP = sum(x[.])
>> But in my case, in iteration 2, I have
>> sum(pi[.]) <> Z_LP = sum(x[.])
>> Any thoughts on this one?
>
>
>
> I am sorry I've reopened this old thread, but I am having exactly the same
> problem, and can't get through it. Can anyone help me, with this one? I am
> completely lost, it seems like BCP simply doesn't give me the right dual
> vector.
>
> Thank you in advance,
> Daniel Fleischman.
>
More information about the Coin-bcpdiscuss
mailing list