[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