Boxing. Хороший алгоритм
- T-80
- Сообщения: 550
- Зарегистрирован: 29.09.2011 22:16
- Ник с it-ru.de: верифицирован
- Где: Москва-Берлин
- Род занятий: Сказочник²
Boxing. Хороший алгоритм
Кто знает хороший алгоритм для решения задачи упаковки нескольких маленьких коробок в одну большую?
все коробки - прямоугольные параллелепипеды.
на входе - внутренние размеры внешней коробки и массив размеров внутренних
на выходе - влезет / не влезет.
пока нашелся вот такой: https://github.com/yetzt/boxing" onclick="window.open(this.href);return false;
практическое применение показало, что он не оптимален - человек легко умещает коробки, на которые алгоритм выдает "не влезет".
если я правильно понял, он "укладывает" сначала самый длинный пердмет(коробку), не учитывая
остальные размеры, из-за чего не может иногда уместить остальные предметы.
Кто знает более качественный Boxing-алгоритм?
Высшим пилотажем было-бы учитывать возможность положить длинный предмет в коробку по диагонали
все коробки - прямоугольные параллелепипеды.
на входе - внутренние размеры внешней коробки и массив размеров внутренних
на выходе - влезет / не влезет.
пока нашелся вот такой: https://github.com/yetzt/boxing" onclick="window.open(this.href);return false;
практическое применение показало, что он не оптимален - человек легко умещает коробки, на которые алгоритм выдает "не влезет".
если я правильно понял, он "укладывает" сначала самый длинный пердмет(коробку), не учитывая
остальные размеры, из-за чего не может иногда уместить остальные предметы.
Кто знает более качественный Boxing-алгоритм?
Высшим пилотажем было-бы учитывать возможность положить длинный предмет в коробку по диагонали
Haette Oma einen Schwanz waere sie ein Opa
- T-80
- Сообщения: 550
- Зарегистрирован: 29.09.2011 22:16
- Ник с it-ru.de: верифицирован
- Где: Москва-Берлин
- Род занятий: Сказочник²
Re: Boxing. Хороший алгоритм
THREE-DIMENSIONAL BIN PACKING по-научномуT-80 писал(а): Кто знает более качественный Boxing-алгоритм?
http://www.cs.ukzn.ac.za/publications/e ... 07-034.pdf" onclick="window.open(this.href);return false;
а вот тут польские друзья онлайн отрисовывают чего куда класть:
http://www.pakowacz.net/simulator" onclick="window.open(this.href);return false;
Haette Oma einen Schwanz waere sie ein Opa
Re: Boxing. Хороший алгоритм
Чувак ты знаешь что такое Методы оптимизации?
Если народ, который 20 лет назад мечтал о свободе, сегодня выбирает рабство...
http://www.novayagazeta.ru/politics/56123.html" onclick="window.open(this.href);return false;
Россия как "Скотный двор"
еврей Михаил Веллер - Великий последний шанс
http://www.youtube.com/watch?v=A49wVpPQFgA" onclick="window.open(this.href);return false;
http://www.novayagazeta.ru/politics/56123.html" onclick="window.open(this.href);return false;
Россия как "Скотный двор"
еврей Михаил Веллер - Великий последний шанс
http://www.youtube.com/watch?v=A49wVpPQFgA" onclick="window.open(this.href);return false;
- T-80
- Сообщения: 550
- Зарегистрирован: 29.09.2011 22:16
- Ник с it-ru.de: верифицирован
- Где: Москва-Берлин
- Род занятий: Сказочник²
Re: Boxing. Хороший алгоритм
Знаю, но тут речь скорее не о методах оптимизации, а об оптимизации метода ("эффективнее, а не быстрее").serjserj писал(а):Чувак ты знаешь что такое Методы оптимизации?
так что в принципе, как раз то, что и искал.
из пэйпера:
Bin packing being an NP-Hard problem, suggests that an
exhaustive search for the optimal solution is in general
computationally intractable, and also that there is thus no
known real computationally feasible optimal solution
method for the problem. So other means to obtain a
solution have to be found.
Haette Oma einen Schwanz waere sie ein Opa
Re: Boxing. Хороший алгоритм
Есть один хороший и быстрый алгоритм. Только комп нужен квантовый.T-80 писал(а):Кто знает хороший алгоритм для решения задачи упаковки нескольких маленьких коробок в одну большую?
-
Гость
Re: Boxing. Хороший алгоритм
Для начала неплохо бы решить задачу об упаковки ранца...
http://ru.wikipedia.org/wiki/%D0%97%D0% ... 1%86%D0%B5
http://ru.wikipedia.org/wiki/%D0%97%D0% ... 1%86%D0%B5
-
Гость
Re: Boxing. Хороший алгоритм
http://habrahabr.ru/post/136225/" onclick="window.open(this.href);return false;
-
Гость
Re: Boxing. Хороший алгоритм
Есть опыт с похожими оптимизациями - vehicle routing problem.
Алгоритм двух-этапный. Сначала находим хоть какое-то решение. Потом начинаем случайно его изменять понемножку, например коробки местами переставлять - если лучше получилось, то его и берем. Амплитуда этих изменений должна быть достаточна, чтобы из локальных минимумов выскакивать.
Работало значительно лучше, чем "красивые" генетические и муравьиные алгоритмы.
Алгоритм двух-этапный. Сначала находим хоть какое-то решение. Потом начинаем случайно его изменять понемножку, например коробки местами переставлять - если лучше получилось, то его и берем. Амплитуда этих изменений должна быть достаточна, чтобы из локальных минимумов выскакивать.
Работало значительно лучше, чем "красивые" генетические и муравьиные алгоритмы.
-
Гость
Re: Boxing. Хороший алгоритм
Случайный перебор значительно лучше генетических алгоритмов?Гость писал(а):Есть опыт с похожими оптимизациями - vehicle routing problem.
Алгоритм двух-этапный. Сначала находим хоть какое-то решение. Потом начинаем случайно его изменять понемножку, например коробки местами переставлять - если лучше получилось, то его и берем. Амплитуда этих изменений должна быть достаточна, чтобы из локальных минимумов выскакивать.
Работало значительно лучше, чем "красивые" генетические и муравьиные алгоритмы.
- Simple
- Сообщения: 8678
- Зарегистрирован: 28.09.2011 10:46
- Ник с it-ru.de: верифицирован
- Где: Питер - Ганновер
- Род занятий: Программизд
- Интересы: бильярд, бокс, кулинария
Re: Boxing. Хороший алгоритм
Да и фраза "Сначала находим хоть какое-то решение" напоминает известную картинку: http://www.adberlin.com/qm/QM-Ameisen_klein.jpg" onclick="window.open(this.href);return false;
Is this your homework, Larry? (c)