Multi-objective constrained optimization for energy applications via tree ensembles