If we take our dark squares to be agents, and our light squares to be tasks, and we use the cost function in CF, then solving this linear assignment problem will find us a domino tiling that minimizes our cost function. There are many algorithms for solving linear sum assignment problems including the Auction Algorithm and the Hungarian Algorithm with runs in \(\mathcal {O} (n^4)\)  time. We opted for the more efficient Jonker-Volgenant Algorithm [1]} which runs in \(\mathcal {O} (n^3)\) .
