An evolutionary programming solution to the unit commitment problem | Synapse