We investigate the problem of scheduling a set of nonpreemptible tasks with precedence constraints and individual deadlines on heterogeneous NoC-based, DVFS-enabled MPSoCs with discrete frequencies such that the total energy consumption of all the tasks is minimized, and propose two novel approaches. Our approaches consist of a convex nonlinear programming (NLP)-based algorithm for computing the optimal frequencies of all tasks and communication links under the continuous frequency model, an integer linear programming (ILP)- based algorithm and a polynomial-time heuristic for assigning optimal discrete frequencies to all tasks and communication links. Our experimental results show that in terms of total energy consumption, our approach using ILP outperforms two state-of-the-art approaches, ETFGBF and CA-TMES-Search by up to 69.40% and 48.35%, respectively. Moreover, the performance of our approach using the heuristic is very close to that of our approach using ILP.