Показать сообщение отдельно
Старый 27.01.2007, 17:10     # 22
v_mirgorodsky
Junior Member
 
Регистрация: 08.12.2004
Сообщения: 132

v_mirgorodsky Реально крут(а)v_mirgorodsky Реально крут(а)v_mirgorodsky Реально крут(а)v_mirgorodsky Реально крут(а)
Оки, теперь резюмируем все, что стало известно о задаче.
1. Есть некий перечень работ с фиксированными весовыми коеффициентами.
2. Вероятно есть количество людей, требуемых для выполнения каждой из работ.
3. Вероятно есть среднее целевое количество баллов, которое необходимо набрать каждому из работников.
4. Есть некий список людей, которых необходимо расставить по местам.
5. Есть длительность планируемого периода.
6. Возможно есть личные преференции отдельных людей, могущих выполнять только работы определенного вида.

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

Если описание задачи верно, то необходимости в алгоритме разложения числа на сумму из коэффициентов сложности работ я не вижу. Очевидно, что такое разложение будет не единственным, количество вариантов таких разложений будет расти очень быстро по мере увеличения значения самого числа, а главное, построенный массив таких разложений никак не помогает в решении поставленной задачи. Окончательному алгоритму все равно придется заниматься перебором вариантов, а именно брать каждый элемент такого массива и проверять его на применимость в контексте уже принятых решений - запланированных людей на определенные работы.

IMHO, если бы передо мной стояла подобная задача я бы решал ее прямым перебором "в лоб". При реальных числах работников и длительности планируемых периодов число вариантов окажется совсем небольшим.
v_mirgorodsky вне форума