[Coin-discuss] Cbc question: Adding SOS data to a	preprocessed	problem
    John J Forrest 
    jjforre at us.ibm.com
       
    Tue Sep 12 04:24:25 EDT 2006
    
    
  
Kish,
Have patience - I have been looking at this off and on for some weeks for
SOS2 and I have nearly finished.  And then I need to make easier for other
people.  It is a mess as it is all mixed up with AMPL stuff.
However if you want to try for SOS1 then after preprocessing use code such
as at 2128 of CoinSolve.cpp (trunk).  Before preprocessing you may want to
mark SOS as at line 1722.  It is a bit of a mess.  The main problem is the
organization of Coin in that preprocessing (CglPreProcess) knows nothing
about Cbc objects e.g. SOS.
If you have any ideas on how to organize e.g. CbcPreProcess and how it
should look I am open to suggestions from everyone.
John
                                                                           
             Kish Shen                                                     
             <kish.shen at crossc                                             
             oreop.com>                                                 To 
             Sent by:                  coin-discuss at list.coin-or.org       
             coin-discuss-boun                                          cc 
             ces at list.coin-or.                                             
             org                                                   Subject 
                                       [Coin-discuss] Cbc question: Adding 
                                       SOS data to a preprocessed          
             09/11/06 05:20 PM         problem                             
                                                                           
                                                                           
             Please respond to                                             
             Discussions about                                             
                open source                                                
               software for                                                
                Operations                                                 
                 Research                                                  
             <coin-discuss at lis                                             
              t.coin-or.org>                                               
                                                                           
                                                                           
Hi,
I am trying to add SOS data to a problem to my code. Currently, my code use
OsiClpSolverInterface to setup a problem. To solve a MIP problem, I create
a
preprocessed copy of the problem:
             mipsolver = process.preProcess(*lpd->lp->Solver, false, 5);
where lpd->lp->Solver is the `original' problem, and is
OsiClpSolverInterface*,
mipsolver is a OsiSolverInterface*.
The CbcModel for the problem is then created by:
mipmodel = new CbcModel(static_cast<OsiSolverInterface &>(*mipsolver));
Looking at the example Cbc code sample4, SOS data can be added to a
CbcModel
using
mipmodel->addObjects(nsos,objects);
where objects is an array of CbcObjects constructed using CbcSOS.
However, the construction of the CbcObjects are done using the column
indexes from
the original problem, not the preprocessed problem that was assigned to
mipmodel. So
I assume I cannot simply call addObjects as above. Is there anyway I can
add these SOS
to the problem?
Thanks in advance for any information/help!
Cheers,
Kish
_______________________________________________
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