- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

# Todo List

Class AbcCutGenerator
  Add a pointer to function member which will allow a client to install their own decision algorithm to decide whether or not to call the CGL `generateCuts` method. Create a default decision method that looks at the builtin criteria.

Class AbcCutGenerator
  It strikes me as not good that generateCuts contains code specific to individual CGL algorithms. Another set of pointer to function members, so that the client can specify the cut generation method as well as pre- and post-generation methods? Taken a bit further, should this class contain a bunch of pointer to function members, one for each of the places where the cut generator might be referenced? Initialization, root node, search tree node, discovery of solution, and termination all come to mind. Initialization and termination would also be useful for instrumenting sbb.

Member CoinMpsIO::readMps ()
  Provide an interface that will allow a client to associate a CoinMpsCardReader object with a CoinMpsIO object by setting the cardReader_ field.

Member CoinMpsIO::dealWithFileName (const char *filename, const char *extension, CoinFileInput *&input)
  Add automatic append of .bz2 suffix when compiled with libbz.

Member CoinPackedMatrix::appendMinorFast (const int number, const CoinBigIndex *starts, const int *index, const double *element)
  This method really belongs in the group of protected methods with appendMinor; there are no safeties here even with COIN_DEBUG. Apparently this method was needed in ClpPackedMatrix and giving it proper visibility was too much trouble. Should be moved.

Class CoinWarmStartBasis
  Modify this class so that the number of status entries per byte and bytes per status vector allocation unit are not hardcoded. At the least, collect this into a couple of macros.

Class CoinWarmStartBasis
  Consider separate fields for allocated capacity and actual basis size. We could avoid some reallocation, at the price of retaining more space than we need. Perhaps more important, we could do much better sanity checks.

Class CoinWarmStartBasisDiff
  This is a pretty generic structure, and vector diff is a pretty generic activity. We should be able to convert this to a template.

Class CoinWarmStartBasisDiff
  Using unsigned int as the data type for the diff vectors might help to contain the damage when this code is inevitably compiled for 64 bit architectures. But the notion of int as 4 bytes is hardwired into CoinWarmStartBasis, so changes are definitely required.

Class drop_empty_cols_action
  Confirm correct behaviour with solution in presolve.

Class drop_empty_rows_action
  Confirm behaviour when a solution is present in presolve.

Class dropped_zero
  Why isn't this a nested class in drop_zero_coefficients_action? That would match the structure of other presolve classes.

Member OsiSolverInterface::getIntegerTolerance () const
  This method should be replaced; it's architecturally wrong. This should be an honest dblParam with a keyword. Underlying solvers that do not support integer variables should return false for set and get on this parameter. Underlying solvers that support integrality should add this to the parameters they support, using whatever tolerance is appropriate. -lh, 091021-

Member CoinDrand48
  Anyone want to volunteer an upgrade for 64-bit architectures?

File CoinMessageHandler.hpp
  This needs to be worked over for correct operation with ISO character codes.