@gibsonman01

Как решить задачу на статическую балансировку?

Подскажите алгоритм решения следующей задачи.
Дано N задач с их априорными оценками трудоёмкости и M параллельно работающих вычислительных узлов.
Требуется распределить задачи между узлами так, чтобы суммарное время выполнения задач было минимальным, то есть произвести статическую балансировку.
  • Вопрос задан
  • 252 просмотра
Решения вопроса 1
@SeptiM
На английском эта задача называется multiprocessor scheduling. Задача NP-трудная, так что точного алгоритма не ждите. В википедии предлагают 4/3 приближение: отсортировать все работы в порядке убывания длины, в полученном порядке назначать работу узлу, который освобождается раньше всех.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Точное решение можно получить только полным перебором, MN вариантов. Приближённое - эмпирическими алгоритмами, например жадным.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы