Это действительно сложная задача, и, поскольку она имеет высокотехнологичное применение, приблизительные стратегии с разумной эффективностью отсутствуют даже в патентах, не говоря уже о опубликованных работах.
Лучшее, что вы можете сделать с ограниченным бюджетом, - это начатьограничивая проблему.Предположим, что все прямоугольники в точности одинаковы. Предположим, что все прямоугольники, которые являются двоичными подразделениями вашего стандартного прямоугольника, также разрешены, так как вы можете эффективно упаковать их в соответствии с вашим основным делением.Для дополнительных точек вы также можете сформировать несколько фиксированных схем для склеивания основных прямоугольников, чтобы покрыть несколько больших фигур с существенно различными пропорциями.Предположим, что вы можете изменять размеры вашего стандартного прямоугольника / ячейки, пока остальная часть (схема предварительной упаковки и склеивания) остается неизменной - это дает вам параметры для определения приблизительного размера основного прямоугольника на основе заданных вами прямоугольников.
Теперь вы можете играть с соотношениями сторон, чтобы приблизить ошибку, которую может гарантировать такая ограниченная система.Для первых итераций предположим, что он может иметь ошибку 50% с простой схемой подразделения, а затем изменить схему, чтобы уменьшить ошибку, но без увеличения асимптотической сложности предварительной упаковки.В конце дня вы всегда просто присваиваете заданные прямоугольники предварительно рассчитанным и теперь фиксированным сеткам и двоичным подразделениям - то есть вы вообще не пытаетесь сделать макет или вернуться назад - вы всегда довольны первым приближеннымвписаться в сетку.
Работать над определением классов прямоугольников, которые хорошо сочетаются с вашей схемой - это опять же для того, чтобы полностью перевернуть весь процесс - вы никогда не пытаетесь в действительности соответствовать тому, что вам дают - вы определяете то, что вамнужно дать, чтобы хорошо его уволить - тогда вы упускаете все остальное как ошибку, поскольку это приближение.
Тогда вы можете попытаться сделать немного больше, но не намного больше - любой промах в обратном порядке или гвоздьпроизвольная небольшая ошибка, и она экспоненциальная.
Если вы находитесь в исследовательском центре и можете получить некоторое время на суперкомпьютере - запустите ряд исчерпывающих поисков с патологическими смесями, чтобы посмотреть, как может выглядеть оптимальная упаковка, и посмотреть,Вы можете получить еще несколько схем подразделений и / иликлассы наборов прямоугольников.
Этого должно быть достаточно для первых 2 лет или исследования: -)