Алгоритм для оптимального 2D-макета

#javascript #algorithm

#javascript #алгоритм

Вопрос:

Существует ли алгоритм Javascript для поиска оптимальных макетов?

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

Нам нужно ответить на следующий запрос.

Ширина составляет 4000 единиц, и требуются следующие формы: 10 лотов размером 450 x 750, 6 лотов размером 2500 x 1200 и 5 лотов размером 900 x 1500. Какова оптимальная компоновка фигур и длина, необходимая для их размещения.

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

Комментарии:

1. Этот вопрос хорош, если речь идет об алгоритме решения проблемы, включая то, что вы пробовали, но поиск библиотеки должен выполняться с помощью поисковой системы.

2. Мой первоначальный вопрос был об алгоритме, но я нашел аналогичный вопрос много лет назад, где в старом комментарии (2011) говорилось, что алгоритм выходит за рамки этого сайта. Тогда не было определенного ответа, и я надеюсь, что сейчас все изменилось.

3. Я не совсем понимаю вопрос. Не могли бы вы добавить изображение того, что вы пытаетесь сделать? И добавить больше деталей / примеров?

4. @PeterBushnell — Надеюсь, у вас был свой weet-bix этим утром! — проблема связана с родителями, не состоящими в браке. Вот что нужно обдумать: en.wikipedia.org/wiki/Bin_packing_problem

Ответ №1:

Существует ли алгоритм Javascript для поиска оптимальных макетов?

Вопрос скорее должен быть «Существует ли (эффективный) алгоритм, который, оказывается, доступен как реализация JavaScript». Я лично разместил бы его на Math SE или на профессиональном математическом сайте, вы могли бы добавить RPP для «Проблемы с упаковкой прямоугольника».

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

Ширина составляет 4000 единиц, и требуются следующие формы: 10 лотов размером 450 x 750, 6 лотов размером 2500 x 1200 и 5 лотов размером 900 x 1500. Какова оптимальная компоновка фигур и длина, необходимая для их размещения.

Существуют ли ограничения на ориентацию прямоугольников? (Посмотрите здесь).

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

Поэтому человек придерживается эвристики (например, здесь ). В итоге вы можете получить математику на уровне исследований, в то время как у меня такое чувство, что вы ищете какой-то «достаточно хороший» оптимизатор.