Я не думаю, что есть рамки, которые будут соответствовать вашим потребностям из коробки. Я знаю, что вы сказали, что не ищете планировщика заданий / потоков, но я думаю, что вам лучше всего развернуть свой собственный код оптимизации / расстановки приоритетов вокруг "тупой" среды планирования заданий / потоков, такой как Quartz (или что у вас на месте). Если вы используете Quartz, API, вероятно, может предоставить вам некоторую информацию, полезную для пунктов 3 и 4 ваших критериев оптимизации. Кроме того, Quartz имеет концепцию «приоритет» задания, поэтому после расчета оптимизированного приоритета следует упростить планирование выполнения.
Если вы найдете фреймворк, который делает то, что вы просите, пожалуйста, напишите сюда - я уверен, что есть другие, которые могли бы использовать что-то подобное.