@MassTek
Web-developer

Задача о рюкзаке PHP. Как упаковать формы?

У меня имеются прямоугольники и квадраты размерами:
1х1, 1х2, 2х2.
Необходимо максимально эффективно упаковывать произвольные фигуры (они могут быть любые, с повторениями) этих размеров в ящик размером 4х3.
Фигура 1х2 при необходимости должна переворачиваться в 2х1.
Задачу про рюкзак читал, видел, алгоритмы смотрел, на PHP найти такое не смог.
Может кто-нибудь мог бы хотя бы навести на ключ к решению задачи?
Заранее спасибо.
  • Вопрос задан
  • 1246 просмотров
Решения вопроса 1
uvelichitel
@uvelichitel
habrahabr.ru/users/uvelichitel
Задача рюкзака вообще NPполная, на PHP будет считаться веками. В вашей частной формулировке задача решается без замысловатых алгоритмов. Считайте эталонной упаковкой - два больших квадрата(их больше не влезет) на которых лежат две палки(больше не влезет). Далее большой квадрат может быть заменен двумя палками, а палка двумя малыми квадратами - так вы получите дерево всех оптимальных решений. Оно небольшое.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы