[Coin-lpsolver] tableau column for artificials
magh at lehigh.edu
magh at lehigh.edu
Mon Dec 6 11:05:47 EST 2004
I understand now... I am calling getBInvACol through Osi (see below). The direct
CLP call has a different check, which does allow for getting artificial columns.
void
ClpSimplex::getBInvACol(int col, double* vec)
...
#ifndef NDEBUG
int n = numberColumns_+numberRows_;
if (col<0||col>=n) {
indexError(col,"getBInvACol");
}
#endif
Is the implementation in OsiClp and Clp significantly different? If not, perhaps
having the implementation in Clp and a simple wrapper call from OsiClp would be
cleaner?
Matt
> Hi John,
>
> Your unitTest does seem to pass. I am not quite sure why... below is the
> check
> for col < numCols, that I hit if I try to get an artifical column using index
> =
> numCols + i.
>
> void
> OsiClpSolverInterface::getBInvACol(int col, double* vec)
> ...
> #ifndef NDEBUG
> int n = modelPtr_->numberColumns();
> if (col<0||col>=n) {
> indexError(col,"getBInvACol");
> }
> #endif
>
> Matt
>
>
>
>
> > Matt,
> >
> > I am confused by your notes. getBInvACol(numberColumns+i,..) should get
> > the ith artificial and should not throw an exception. The coding at line
> > 698 of Test/unitTest.cpp is an example.
> >
> > Partly on this topic, I am in the middle of making changes to Clp so that
> > repeated calls are faster and so that the factorization is not deleted
> > etc. These are designed to make the CBC->OSI->CLP combination faster but
> > may be useful in other contexts. If anyone is brave enough to help me
> > test these changes over the next few months can they contact me and say
> > what they would want and whether they are using Clp via Osi or directly.
> >
> > John Forrest
> >
> >
> >
> > magh at lehigh.edu
> > Sent by: coin-lpsolver-bounces at list.coin-or.org
> > 12/03/2004 04:34 PM
> >
> > To
> > coin-lpsolver at list.coin-or.org
> > cc
> >
> > Subject
> > Re: [Coin-lpsolver] tableau column for artificials
> >
> >
> >
> >
> >
> >
> > Sorry for posting to my own post (twice)... I often find myself having
> > conversations with myself through email. It keeps me entertained. :)
> >
> > Can't I just use getBInvCol(r, vec), where r is the row index of the
> > artificial
> > variable?
> >
> > Thanks,
> > Matt
> >
> >
> > > Sorry - I meant,
> > >
> > > "column of the tableau for an artificial (non-basic) variable"
> > >
> > > Thanks,
> > > Matt
> > >
> > >
> > > > Hi CLP,
> > > >
> > > > In getBInvARow, you return a structural and artificial section from
> > the
> > > > tableau.
> > > > Is it possible to get a column of the tableau for an artificial
> > (basic)
> > > > variable?
> > > >
> > > > Currently, getBInvACol throws an error if you ask for any column index
>
> > >
> > > > numberColumns().
> > > >
> > > > Thanks,
> > > > Matt
> > > >
> > > >
> > > >
> > > > -------------------------------------------------
> > > > This mail sent through IMP: http://horde.org/imp/
> > > > _______________________________________________
> > > > Coin-lpsolver mailing list
> > > > Coin-lpsolver at list.coin-or.org
> > > > http://list.coin-or.org/mailman/listinfo/coin-lpsolver
> > > >
> > >
> > >
> > >
> > >
> > > -------------------------------------------------
> > > This mail sent through IMP: http://horde.org/imp/
> > > _______________________________________________
> > > Coin-lpsolver mailing list
> > > Coin-lpsolver at list.coin-or.org
> > > http://list.coin-or.org/mailman/listinfo/coin-lpsolver
> > >
> >
> > -------------------------------------------------
> > This mail sent through IMP: http://horde.org/imp/
> > _______________________________________________
> > Coin-lpsolver mailing list
> > Coin-lpsolver at list.coin-or.org
> > http://list.coin-or.org/mailman/listinfo/coin-lpsolver
> >
> >
>
>
>
>
> -------------------------------------------------
> This mail sent through IMP: http://horde.org/imp/
> _______________________________________________
> Coin-lpsolver mailing list
> Coin-lpsolver at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-lpsolver
>
-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/
More information about the Clp
mailing list