Алгоритм распределения ресурсов/задача о рюкзаке(?)
От: Rumata Россия http://atamur.livejournal.com
Дата: 08.02.08 09:40
Оценка:
Доброго времени суток.

есть следующая задача:
дан набор объектов которые необходимо обработать на некотором количестве изолированных процессоров (у каждого своя память, в реальности — кластер многопроцессорных машин). Для каждого из объектов на основе исторических данных известно, сколько ресурсов он потребует (ресурсы — память, процессорное время, утилизация сети). Необходимо собрать объекты в кучки такие, чтобы все кучки были примерно одного размера по времени выполнения + минимизировали утилизацию сети + имели ограничение по памяти.

Для меня выглядит как NP задачка, т.к. если мне дадут готовые кучки, я могу легко написать проверочную функцию: просуммировать время, чуть более хитрым образом сложить память, ещё более хитрым образом сложить использование сети (т.к. разные объекты могут хотеть из сети одни и те же данные и это мне тоже заранее известно). Имхо похоже на задачу о рюкзаке, но немного хитрее =)

Не может ли кто-нибудь подсказать, в какую сторону мне почитать, если я хочу проводить такое разбиение максимально быстро, т.е. для меня не так уж принципиально получить идеальное разбиение.

Если важно, то язык — java (м.б. там уже все написано? =) )
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.