[Symphony-tickets] [SYMPHONY] #78: Cgl\src\CglKnapsackCover

SYMPHONY coin-trac at coin-or.org
Mon Aug 6 16:40:10 EDT 2007


#78: Cgl\src\CglKnapsackCover
----------------------+-----------------------------------------------------
 Reporter:  jcheng    |       Owner:  tkr
     Type:  defect    |      Status:  new
 Priority:  normal    |   Milestone:  5.2
Component:  Not Sure  |     Version:     
 Keywords:            |  
----------------------+-----------------------------------------------------
 Could length be zero after if (numberReplaced)?

 If length would be zero,  would it be appropriate to call deriveAKnapsack?

 Thanks.



 Cgl\src\CglKnapsackCover

 int
 CglKnapsackCover::deriveAKnapsack(
        const OsiSolverInterface & si,
        OsiCuts & cs,
        CoinPackedVector & krow,
        bool treatAsLRow,
        double & b,
        int *  complement,
        double *  xstar,
        int rowIndex,
        int numberElements,
        const int * index,
        const double * element) const




 void CglKnapsackCover::generateCuts(const OsiSolverInterface& si, OsiCuts&
 cs,
                                     const CglTreeInfo info) const

         if (numberReplaced) {
           length=0;
           for (i=0;i<length2;i++) {
             int iColumn = thisColumnIndex[i];
             back[iColumn]=-1; // un mark
             if (thisElement[i]) {
               thisElement[length]=thisElement[i];
               thisColumnIndex[length++]=iColumn;
             }
           }
           if (length>maxInKnapsack_)
             continue; // too long
           } else {
              for (i=0;i<length;i++) {
                int iColumn = thisColumnIndex[i];
                back[iColumn]=-1; // un mark
                }
              continue; // no good
             }
       }

         if (!deriveAKnapsack(si, cs, krow, rowType[itry], b, complement,
                            xstar, rowIndex,
                            length,thisColumnIndex,thisElement)) {

-- 
Ticket URL: <https://projects.coin-or.org/SYMPHONY/ticket/78>
SYMPHONY <http://projects.coin-or.org/SYMPHONY>
The SYMPHONY framework for parallel branch-and-cut algorithms.



More information about the Symphony-tickets mailing list