Algorithmic And Mathematical Programming Approaches To Scheduling Problems With Energy-Based Objectives