По просьбе amit, вот несколько ресурсов.
Проблема Рюкзака, насколько я понимаю, проблема максимизации. Учитывая набор предметов особой полезности и веса, вы хотите выбрать оптимальное подмножество - то есть «лучшую» комбинацию предметов для заданного веса - максимальную емкость, которую вы можете носить в рюкзаке/рюкзаке.
Например, бензопила может быть очень полезным предметом вторжения зомби, но она большая и громоздкая, поэтому ее полезность может быть перевешена буквально ее массой. В то время как нож полезен, но весит намного меньше. Если вы выберете нож, вы также можете выбрать факел, лом, сухие пайки и спальный мешок, тогда как если вы выберете бензопилу, у вас будет только место для сухих пайков.
Ваша конкретная проблема заключается в попытке установить набор действий в фиксированный период времени. Для этого вам нужно будет взвешивать деятельность от определенных факторов, таких как
- период дня, в течение которого они возможны
- их продолжительность
- их желательности студенту
- ли они могут планироваться непосредственно до или после аналогичных мероприятий - например, если студент только что был в спортзале, они вряд ли захотят посещать плавание.
Вам необходимо придумать алгоритм взвешивания для этих различных факторов и использовать этот алгоритм взвешивания, чтобы решить, как выбрать действия для определенного дня; помня, что разные люди могут иметь разные предпочтения, и вам нужно будет, вероятно, разрешить некоторую форму конфигурации в взвешивании, которое вы будете использовать.
(Обратите внимание, что все это гипотетически основано на моем ограниченном воздействии на алгоритм - как я уже сказал, я никогда не делал этого сам, и выше это мои первые мысли о том, как я подхожу к проблеме).
Некоторые ресурсы, которые я нашел через Google, являются: http://www.es.ele.tue.nl/education/5MC10/Solutions/knapsack.pdf
http://mathworld.wolfram.com/KnapsackProblem.html
http://academicearth.org/lectures/knapsack-problem-1 (MIT лекция видео)
удачи, это звучит как интересный проект.
Похож вариацией [ранец задачи] (Http: // ан .wikipedia.org/wiki/Knapsack_problem) – mcfinnigan
@mcfinnigan: вы должны опубликовать его в качестве ответа [с более подробной информацией о проблеме и ресурсах для ее решения или реализации Java) – amit
@mcfinnigan: можете ли вы дать сокращение проблемы с рюкзаком? потому что я нахожусь на втором курсе и поэтому не имел теории алгоритмов в качестве курса, поэтому, к сожалению, я не могу понять полностью математическое описание проблемы с рюкзаком, данное в wikipedia – lucifer