In order to generate solutions to a given game state of the rummikub, the solver uses the A* algorithm and try to search the solution based on a simple heuristic. This implementation uses doubly linked list to represents tiles sets.
Rummikub wikipedia
Rummikub solving algorithm made by Alex Kaganovich and Odeya Bronznick