Поиск размещений различных фигур в заданной области
- Разработчик:
- Иванов Геннадий
Программа ищет допустимое размещение фиксированного количества различных фигур внутри обжимающего прямоугольника минимальной площади. Размещение может происходить как внутри заданной фиксированной области с возможными запретными зонами, так и без указания области размещения.
Перейти к описаниюПрограмма «Поиск размещений различных фигур в заданной области» ищет допустимое размещение фиксированного количества различных фигур внутри обжимающего прямоугольника минимальной площади. Подвижными сторонами прямоугольника могут быть как все четыре стороны, так и отдельные стороны.
Продукт «Поиск размещений различных фигур в заданной области» предназначен:
- для проектировщиков вкладышей при упаковке одинаковых изделий в контейнер;
- для проектировщиков (технологов) раскроя материалов в производстве кожаных изделий, обуви, швейных изделий, при листовой штамповке;
- для вычленения элементов изображения для анализа и создания на их основе различных конструкции.
Размещение может происходить как внутри заданной фиксированной области с возможными запретными зонами, так и без указания области размещения. Для поиска применяется сочетание методов нелинейного программирования с перебором исходных положений, множество которых генерируется по размерности задачи. Полный перебор этого множества может не закончиться за приемлемое время. Поэтому предусмотрена возможность указания количество проверок (оптимизации), после которого дается возможность пользователю закончить поиск или продолжить с указанием количества следующих проверок.
Программа оперирует данными, которые можно группировать понятием «машины, имеющие зоны действия», «взаимодействия машин» и уточняющие данные для оптимизационного процесса.
- «Машина» определяется своим местоположением в общей системе координат (углом поворота в радианах и координатами центра) и зонами действия.
- Зона действия — это ограниченный плоский геометрический объект. Такой объект определяется контуром, своим местоположением и углом поворота.
- Контур плоского объекта — это граница объекта, аппроксимируемая многоугольником, вершины которого получены при обходе границы против часовой стрелки (сам объект остается с левой стороны) в системе координат связанной с объектом.
- Центр системы координат должен быть внутри объекта и для устойчивости вычислений располагаться подальше от ее границы.
- Местоположение определяется положением центра плоского объекта (зоны действия) в системе координат, связанной с машиной.
- Угол поворота определяет поворот вокруг центра объекта в радианах.
- Все плоские объекты во внешнем текстовом файле имеют общую структуру. Объект начинается с текстовой строки, где указывается имя объекта. На следующей строке на первых 3-х позициях указывается количество вершин контура. Далее в каждой строке располагаются по одному вещественному числу.
- Значения дальнейшей последовательности таковы: координаты вершин контура в системе связанной с объектом, координаты центра объекта в общей системе и угол поворота объекта.
Понятие «машина» включает:
- строку со словесной информацией;
- строку с количеством зон машины — целое число на первых трех позициях;
- три строки с вещественными числами — угол поворота машины в радианах и координаты центра машины;
- последовательность зон действия машины.
Понятие «взаимодействие» включает:
- строку с номерами взаимодействующих машин (на первых 5 позициях — одной машина, на следующих 5 позициях — другой машины);
- строку с количеством пар не пересечения зон — 5 позиций;
- последовательность строк пар не пересечения, где на первых 5 позициях указывается номер зоны одной машины, а на следующих 5 позициях указывается номер зоны другой машины, которые не должны пересекаться;
- строку с количеством пар полного пересечения зон — 5 позиций;
- последовательность строк пар полного пересечения, где на первых 5 позициях указывается номер зоны одной машины, а на следующих 5 позициях указывается номер зоны другой машины, которые должны иметь полное пересечение.
В соответствие с введенными понятиями исходный файл (файл .RZ4) имеет следующую структуру:
- строка, где на 3 позициях указывается количество машин, участвующих в размещении;
- последовательность машин;
- строка со словесной информацией, указывающей на начало последовательности взаимодействии;
- строка с указанием количества взаимодействий — на первых 10 позициях;
- последовательность взаимодействий;
- уточняющие данные для оптимизационного процесса.
Уточняющие данные включают следующее:
- строка, на первых 3-х позициях которой указывается количество подвижных машин;
- последовательность строк с номерами подвижных машин, занимающих первые три позиций;
- три строки со значением ноль на первых пяти позициях, смысл которых оставим без пояснения;
- строка с указанием количества зон действия машин, которые не взаимодействуют с обжимающим прямоугольником - на первых пяти позициях;
- последовательность строк, с указанием номера машины и номера её зоны действия, которая не влияет на перемещения сторон обжимающего прямоугольника (на первых пяти позициях указывается номер машины, на следующих пяти позициях номер зоны).
В ходе поиска выводятся файлы .BMP, .RZ1. Эти файлы заносятся в каталог с именем, совпадающим с основным именем файла .RZ4. Если такого каталога нет, то он создается.
- Файл .BMP содержит изображение размещения.
- Файл .RZ1 содержит последовательность плоских геометрических объектов (для каждого объекта: имя, контур, центр, поворот).
- Все файлы, кроме .BMP являются текстовыми.