[Coin-discuss] Access to dual variable corresponding to a newrow

Laszlo Ladanyi ladanyi at us.ibm.com
Wed Dec 5 16:38:18 EST 2001


Actually, Pierre Pesnau is using BCP with Osi with CPLEX to do branch and cut,
and it works just fine for him. I'm not sure that's sufficient proof, since in
B&C one usually uses the primal, not the dual solution, but I think it
supports what we thought cplex is doing. 

Anyway I think we should pose the question to cplex. Although they may be
reluctant to commit to anything (they might discover some brilliant scheme
that uses a different storage scheme and much more efficient). I guess we just
have to lay down the specifications for Osi and the onus should lay on the
maintainer of a specific interface to do the bookkeeping if necessary.

--Laci

On Wed, 5 Dec 2001, Jonathan Eckstein wrote:

> We can probably just test this.  But if not, it's very bad, because it
> means OSI is not usable for branch and cut when the Solver is CPLEX. 
> That seems like something that ought to work if you want OSI to catch
> on.  If there are problems, then we'd better add some functionality.
> 
> JE
> 
> 
> Laszlo Ladanyi wrote:
> > 
> > I doubt that that would be the case. It's much simpler to compress those
> > columns the deleted row intersected (they'd have to maintain a list of holes
> > separately for each column otherwise -- a nightmare) and append added rows to
> > the end. Still, only cplex can answer the question. Anybody from ILOG on the
> > list? could you give an answer?
> > 
> > --Laci
> > 
> > On Wed, 5 Dec 2001, Jonathan Eckstein wrote:
> > 
> > > I think Mikhail is concerned that in CPLEX, the indices may not just be
> > > added at the end, but may occupy "holes" left by previously deleted
> > > rows. Perhaps that's not the case. Is it always true that when you
> > > delete rows, the later rows get renumbered to fill the resulting gap?
> > >
> > > -- Jonathan
> > >
> > >
> > > Laszlo Ladanyi wrote:
> > > >
> > > > Although it is not explicitly stated in the documentation I have always
> > > > assumed so far that new rows are added to the "bottom" of the matrix getting
> > > > the next so many indices and when rows are deleted the rows are reindexed from
> > > > 0 to the new number of rows. Since it's the user who calls the row
> > > > addition/deletion routines she can easily keep track of the constraints.
> > > >
> > > > I admit it's a bit of a burden, but otherwise the row structure must contain
> > > > an index for each row and what would that index be? The index of the row from
> > > > the beginning of times? The user has to keep track of things in that case,
> > > > too, since probably a number of rows would be permanently thrown out, both
> > > > from the solver and from the user's data structures.
> > > >
> > > > All in all I'd vote for keeping things as they are, since it's not clear that
> > > > Osi can take easily over some work from the user.
> > > >
> > > > --Laci
> > > >
> > > > On Wed, 5 Dec 2001, Mikhail Nediak wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > I have a question about COIN/OSI.
> > > > >
> > > > > When I add rows to the LP (or cuts for that matter) is there a way in
> > > > > COIN/OSI to trace what indices they will have after subsequent operations
> > > > > on the matrix? This may be important, for example, if one needs values of
> > > > > dual variables for the cuts.
> > > > >
> > > > > CPLEX has function CPXgetrowindex that lets user find row index by its
> > > > > name. I could not, however, find anything of this sort in
> > > > > OsiSolverInterface. Does the user have to trace positions of the rows
> > > > > after matrix modifications by him/herself? It would seem reasonable for
> > > > > the solver to support this functionality.
> > > > >
> > > > > Thanks.
> > > > > Best regards,
> > > > > Mikhail Nediak
> > > > >
> > > > > _______________________________________________
> > > > > Coin-discuss mailing list
> > > > > Coin-discuss at www-124.ibm.com
> > > > > http://www-124.ibm.com/developerworks/oss/mailman/listinfo/coin-discuss
> > > > >
> > > >
> > > > _______________________________________________
> > > > Coin-discuss mailing list
> > > > Coin-discuss at www-124.ibm.com
> > > > http://www-124.ibm.com/developerworks/oss/mailman/listinfo/coin-discuss
> > > _______________________________________________
> > > Coin-discuss mailing list
> > > Coin-discuss at www-124.ibm.com
> > > http://www-124.ibm.com/developerworks/oss/mailman/listinfo/coin-discuss
> > >
> > 
> > _______________________________________________
> > Coin-discuss mailing list
> > Coin-discuss at www-124.ibm.com
> > http://www-124.ibm.com/developerworks/oss/mailman/listinfo/coin-discuss
> 
> -- 
> 
> Associate Professor Jonathan Eckstein
> MSIS Department, Faculty of Management, Rutgers University
> 
>   TEACHING ADDRESS                 RESEARCH ADDRESS
> +------------------------------+--------------------------------+
> | 255 J.H. Levin Building      |   RUTCOR, Room 148             |
> | 94 Rockafeller Road          |   640 Bartholomew Road         |
> | Livingston Campus            |   Busch Campus                 |
> | Rutgers University           |   Rutgers University           |
> | Piscataway, NJ 08854 USA     |   Piscataway, NJ 08854 USA     |
> | (732) 445-0510               |   (732) 445-3596               |
> | FAX (732) 445-6329           |   FAX (732) 445-5472           |
> +------------------------------+--------------------------------+
> 
> jeckstei at rutcor.rutgers.edu    
> 
> http://rutcor.rutgers.edu/~jeckstei/
> _______________________________________________
> Coin-discuss mailing list
> Coin-discuss at www-124.ibm.com
> http://www-124.ibm.com/developerworks/oss/mailman/listinfo/coin-discuss
> 




More information about the Coin-discuss mailing list