This project contains a collection of popular algorithms I've found useful in some fun projects.
The Nerdbank.Algorithms.NodeConstraintSelection.SolutionBuilder<T>
class will help to find the one (or many) solutions
to any problem that you can express in terms of nodes and constraints.