![]() |
|
|
![]()
|
|
| Гость_Prophet |
|
|||
|
Unregistered |
Необходимо распределить конечное множество элементов (для каждго элемента известен размер) по фиксированному числу контейнеров (размер которых известен и одинаков для всех контейнеров). Перебор не годится.
Хотелось бы получить ссылку на материалы по теме ( в идеале алгоритм ) Прошу извинить, если это уже было. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Сортировка элементов по размерам и затем наполнение по нисходящей.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| @lex |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 3.2.2004 Где: Москва Репутация: нет Всего: нет |
данный вариант не обязательно оптимальный ИМХО данная задача является одним из вариантов задачи о рюкзаке... а предложенный выше алгоритм очень похож "жадный" |
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
@lex
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| Тиньков |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 6.7.2004 Где: Магнитогорск Репутация: нет Всего: нет |
Если заранее известно, что можно разместить ВСЕ предметы и нужно лишь найти правильное размещение, то жадный алгоритм оптимален.
|
|||
|
||||
| Alex101 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 891 Регистрация: 8.4.2002 Где: Москва Репутация: 1 Всего: 10 |
Мне кажется, что тут жадный не даст оптимального размещения. Думаю, что тут надо использовать динамическое программирование.
-------------------- С уважением, А. Фролов. |
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Можно поэкспериментировать с генетикой, но требуется много времени.
-------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| Yuri Burger |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 11.5.2004 Репутация: нет Всего: нет |
Блин, народ, уже вторую мессагу вижу с фразой "можно попробывать ГА, но он медленный" - да с чего вы это взяли? Нормально реализованный ГА на задачах подобных описанной дает весьма приемлемое время.. Единственная проблема - алгоритм никогда не останавливается сам и если делать ограничение по времени то никогда не знаешь - нашел ли он оптимальное решение. С другой стороны, на NP задачах (где и нужно применять ГА) вообще трудно говорить об оптимальном решении - на то они и NP ;) И вообще по поводу скорости - подобные задачи обычно не требуют realtime решения, тобишь решаются они один раз (или давольно редко) т.ч. потратить время не жалко (тем более что речь идет не о годах, и даже не о днях ;) А задачу о рюкзаке и о контейнерах моя реализация решела минут 10, и то это время я выдержал "на всякий случай" - конечное решение было не на много лучше решения найденнного за первую минуту... (кстати размер задачи в случае с ГА связан со временем/качеством далего не линейно, тобишь время/гачество изменяется гораздо медленнее размера, что есть гуд). Если же ваш ГА решает эту задачу медленно или "не качественно" ;) то стоит обратить внимание на оценочную функцию и выбранные операторы ГА. |
|||
|
||||
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: 1 Всего: 7 |
А не кажется ли вам, что эту задачу можно свести к задаче о рюкзаке...
-------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| neutrino |
|
||||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
А где это я сказал, что алгоритм медленный? Наоборот самый быстрый. Я имел в виду, что подбор шансов, кросовера, функции мутаций - долгая песня. Кстати, есть ли проги для разработки эволюц. алг.? Добавлено @ 15:31
Оно и верно - за первые несколько поколений эффективность растет очень быстро, а дальше очень медленно. -------------------- The truth comes from within ... Покойся с миром, Vit |
||||
|
|||||
| nanson |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 16.2.2009 Репутация: нет Всего: нет |
это 3DBPP (3-D Bin Packing Problem) ...
статью хорошую что-то сейчас не нашел, хотя где-то в инете она была... поищи по фразам 3dbpp, авторы martello, pisinger, vigo... вот ссылка на код по этой статье... http://www.diku.dk/hjemmesider/ansatte/pisinger/test3dbpp.c |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
омг некропост, аж 5лет прошло о_О
|
|||
|
||||
| nanson |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 16.2.2009 Репутация: нет Всего: нет |
нууу, может быть и некро... но я сам сейчас над этой задачей бьюсь, а нормального готового алгоритма найти не могу...
|
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |