And for multicore scheduling, job shop scheduling [1], it is the even harder version of NP-Hard (no pun intended). This is literally taught in senior year uni CS class, that there is no perfect solution to the scheduling problem, unless Cook-Levin Theorem or anyone of those NP-Complete problems are solved [2].
[1]: https://optimization.cbe.cornell.edu/index.php?title=Job_sho...
[2]: https://www.cse.cuhk.edu.hk/~siuon/csci3130-f19/slides/lec22...