A genetic programming approach to solve energy-aware flexible flow-shop scheduling problems with batching and time constraints | Synapse