A new thermal unit commitment approach using constraint logic programming | Synapse