[Coin-discuss] OSI, CLP pivot

John J Forrest jjforre at us.ibm.com
Thu Apr 20 12:05:50 EDT 2006


Matt,

If you want to keep to an OsiSolverInterface then I probably can't help,
but if you know you will be using OsiClpSolverInterface then I may be able
to help.  If you can put together a driver to go through the steps you want
then I can see how much faster I can make it - either by adding calls using
the Clp getModelPtr() or more elegantly by adding a new specialOption bit
to OsiClpSolverInterface.

John


                                                                           
             Matthew Galati                                                
             <magh at lehigh.edu>                                             
             Sent by:                                                   To 
             coin-discuss-boun         Discussions about open source       
             ces at list.coin-or.         software for Operations Research    
             org                       <coin-discuss at list.coin-or.org>,    
                                       Mustafa Rasim Kilinc                
                                       <mrk304 at lehigh.edu>                 
             04/19/06 09:34 AM                                          cc 
                                                                           
                                                                   Subject 
             Please respond to         [Coin-discuss] OSI, CLP pivot       
             Discussions about                                             
                open source                                                
               software for                                                
                Operations                                                 
                 Research                                                  
             <coin-discuss at lis                                             
              t.coin-or.org>                                               
                                                                           
                                                                           




If someone wants to do the following, using the "simplex interface":
{
  while{
     //some stuff...
     ...
     si->resolve();
     si->pivot(colIn, colOut, outStatus);
     ...
     si->getBasisStatus();
     si->getBInvARow( );
     ...
     //some stuff...
  }
}

Is it neccessary to call enable/disableSimplexInterface at every call?

I noticed, that if you pivot, the "basis_" is not updated until
disableSimplexInterface is called. So, the next call to getBasisStatus
does not have updated status.

The following seems to work, but is very slow. There is alot of time
spent in enable/disable.

{
  while{
     //some stuff...
     ...
     si->resolve();
     si->enableSimplexInterface();
     si->pivot(colIn, colOut, outStatus);
     si->disableSimplexInterface();
     ...
     si->enableSimplexInterface();
     si->getBasisStatus();
     si->disableSimplexInterface();

     si->enableSimplexInterface();
     si->getBInvARow( );
     si->disableSimplexInterface();
     ...
     //some stuff...
  }
}

Thanks,
Matt


_______________________________________________
Coin-discuss mailing list
Coin-discuss at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/coin-discuss





More information about the Coin-discuss mailing list