Text this: A constraint programming-based approach to a large-scale energy management problem with varied constraints