Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
100lyarov
Зарегистрирован: 14.12.2006 Сообщения: 14
|
Добавлено: Чт Дек 14 2006 19:20 Заголовок сообщения: C++. Алгоритм. |
|
|
Просьба, если у кого есть алгоритм, а может и рабочая программа планирующая рабочее время, выложите плз.
В краце задача такова:
Составляем планировщик задач на день.
Есть рабочий день - 8,5 часов (0,5 часа перерыв на обед).
Пользователь вводит сабж и указывает сколько времени на это потребуется, потом следующий, и т.д.
Программа размещает все сабжи так, чтобы работа не пришлась на время обеда и на привысило 8 часов рабочего дня.
Спасибо. |
|
Вернуться к началу |
|
|
Yello
Зарегистрирован: 09.03.2006 Сообщения: 107
|
Добавлено: Пн Дек 18 2006 00:50 Заголовок сообщения: |
|
|
На сегодняшний день такая задача решается только переборным алгоритмом (после ввода всех "дел", пока сумма превысит 8,5, а затем второй шаг - полный перебор вариантов, и останов как только получили требуемый вариант, ну или так, как тебе надо). А о сокращении полного перебора здесь, имхо, говорить просто смешно... |
|
Вернуться к началу |
|
|
100lyarov
Зарегистрирован: 14.12.2006 Сообщения: 14
|
Добавлено: Пн Дек 18 2006 07:05 Заголовок сообщения: |
|
|
Я думал просто, что есть какой ни будь стандартный алгоритм. Ну попсовый, который применяется в задачах такого типа.
И на том спасибо. |
|
Вернуться к началу |
|
|
Yello
Зарегистрирован: 09.03.2006 Сообщения: 107
|
Добавлено: Вс Дек 24 2006 11:24 Заголовок сообщения: |
|
|
А может кто-нибудь ещё чего поумнее скажет ? (А у меня получается, что такая задача - как раз из NP, как ни крути...) |
|
Вернуться к началу |
|
|
Kefir
Зарегистрирован: 16.04.2005 Сообщения: 443 Откуда: Пермь
|
Добавлено: Пн Дек 25 2006 06:33 Заголовок сообщения: |
|
|
Да можно, какой-нибудь эвристический алгоритм придумать, который будет давать приемлемый результат. Или применить генетические алгоритмы.
Я так понимаю это вполне стандартная задача о распределении нагрузки, кажется у нас в Универе в этом году кто-то из бакалавров решал ее как раз генетическими алгоритмами. _________________ Самоловских Виталий aka Kefir |
|
Вернуться к началу |
|
|
100lyarov
Зарегистрирован: 14.12.2006 Сообщения: 14
|
Добавлено: Пн Дек 25 2006 07:01 Заголовок сообщения: |
|
|
не, ну я точно не баколавр и про такие генетические алгоритмы не в курсе. попытаюсь с помощью вложеных циклов сделать. |
|
Вернуться к началу |
|
|
Kefir
Зарегистрирован: 16.04.2005 Сообщения: 443 Откуда: Пермь
|
Добавлено: Пн Дек 25 2006 09:29 Заголовок сообщения: |
|
|
Очень советую прочитать для начала хотя бы про задачу о рюкзаке, чтобы получить понятие, как такие задачи вообще решаются. _________________ Самоловских Виталий aka Kefir |
|
Вернуться к началу |
|
|
100lyarov
Зарегистрирован: 14.12.2006 Сообщения: 14
|
Добавлено: Пн Дек 25 2006 09:43 Заголовок сообщения: |
|
|
не подскажешь, что это за задачи и где про нее можно почитать? |
|
Вернуться к началу |
|
|
Kefir
Зарегистрирован: 16.04.2005 Сообщения: 443 Откуда: Пермь
|
Добавлено: Пн Дек 25 2006 10:12 Заголовок сообщения: |
|
|
Это классика... Образно говоря, у тебя есть рюкзак, в который влезает n единиц. У тебя есть много вещей, каждая занимает m1,m2,m3 и т.д. единиц. Задача состоит в том чтобы заполнить рюкзак как можно полнее. Алгоритм точного решения имеет, кажется, экспоненциальную сложность.
А где почитать. гугл и яндекс всегда помогут. _________________ Самоловских Виталий aka Kefir |
|
Вернуться к началу |
|
|
100lyarov
Зарегистрирован: 14.12.2006 Сообщения: 14
|
Добавлено: Пн Дек 25 2006 10:32 Заголовок сообщения: |
|
|
спасибо. интересная штука.
и правда очень похоже на мою задачу. |
|
Вернуться к началу |
|
|
|