Greedy Solver

Greedy solver shuffles all cycles then walks through them until a
maximal packing is found.