Todo List
Namespace operations_research

(user,user): refine this toplevel comment when this file settles.

(user): base this code on LinearSumAssignment.

(user) Multi-dimensional knapsack problem with n-ary conflicts between items.

Class operations_research::DynamicPartition
(user): rename this to BacktrackableSplittingPartition.
Member operations_research::DynamicPartition::Refine (const std::vector< int > &distinguished_subset)
(user): the graph symmetry finder could probably benefit a lot from keeping track of one additional bit of information for each part that remains unchanged by a Refine() operation: was that part entirely in the distinguished subset or entirely out?
Member operations_research::DynamicPermutation::LooseEnds () const
(user): use a faster underlying container like SparseBitSet, and tweak this API accordingly.
Member operations_research::GraphSymmetryFinder::FindSymmetries (double time_limit_seconds, std::vector< int > *node_equivalence_classes_io, std::vector< std::unique_ptr< SparsePermutation > > *generators, std::vector< int > *factorized_automorphism_group_size)
(user): verify the minimality in unit tests.
Member operations_research::GraphSymmetryFinder::GraphSymmetryFinder (const Graph &graph, bool is_undirected)
(user): support multi-arcs.
Class operations_research::KnapsackAssignment

(user): Add a new propagator class for conflict constraint.

(user): Add a new propagator class used as a guide when the problem has several dimensions.

Class operations_research::KnapsackGenericSolver
(user): In the case of a multi-dimensional knapsack problem, implement an aggregated propagator to combine all dimensions and give a better guide to select the next item (see, for instance, Dobson's aggregated efficiency).
Member operations_research::SparsePermutation::LastElementInCycle (int i) const
(user): Provide a full iterator for this? Note that we have more information with the loop above. Not sure it is needed though.
Member operations_research::SparsePermutation::Size () const
(user,user): complete the reader API.