Для оптимизации распила входного профиля была создана математическая модель с использованием программного продукта MathCad13. Основной целью оптимизации и, соответственно, самой математической модели было уменьшение длины обрезков, получаемых при распиле входного профиля на типоразмеры, количество и длина которых зависит от поступающего заказа. Для создания входных данных данной модели был сгенерирован заказ с помощью аппарата сетей Петри в программе HPSim. При генерации данных, а также при создании самой модели были сделаны следующие допущения:
· Случайные величины стандартный тип окна и серия дома распределены по равномерному дискретному закону;
· Случайная величина стандартный тип окна может принимать только 2 значения: №1 и №2;
· Случайная величина серия дома может принимать только 3 значения: 137 серия, 528 серия, «хрущевки»;
· Для решения данной задачи используется «жадный» алгоритм.
На вход программы поступает информация о том, сколько штук каждого типоразмера следует изготовить (m), какое количество видов типоразмеров (k), а также число профилей, требуемое для выполнения заказа (S). Если k и N берутся непосредственно из сгенерированного заказа, то S высчитывается по формуле:
S= , где i=0.. k-1; Т-длина каждого типоразмера(см);b-длина входного профиля (600 см). Логика программы достаточно проста. Каждый раз сравнивается остаток профиля (в начале программы остаток равен 600 см) с наибольшим по длине типоразмером (например, 233 см). Если сравниваемый остаток больше длины типоразмера, тогда из переменной остатка вычитается длина типоразмера, и остаток вновь сравнивается с длиной типоразмера. Если же обрезок по длине меньше типоразмера, тогда этот же отрезок сравнивается уже с типоразмером меньшей длины. Блок-схема алгоритма и программный код отражены ниже (Рис 4 и Рис 5).
Вывод на печать таблицы нарезки A |
d := E(ost/(Ti +dd)) ; Aj,i := d; Ni := Ni – d; ost:= ost – d ×(Ti +dd) ; |
Aj,i := Ni; ost:= ost – Ni ×(Ti +dd) ; Ni :=0 |
Рис 4. Алгоритм линейного раскроя
Рис 5. Код программы, вычисляющей оптимальный распил входного профиля.
Данный, так называемый «жадный», алгоритм позволяет достаточно просто получить распил входного профиля. Выходные данные программы отражены в таблице ниже (таблица 9).
Таблица 9. Выходные данные программы по распилу профиля
На основе полученных выходных данных был высчитан средний отрезок, длина которого составила 19,12 см. Средний отрезок составляет 3,19% от всей длины. В таблице строками являются отдельные профили, то есть для выполнения заказа из 10 окон потребуется распилить 11 профилей шестиметровой длины. Все столбцы, кроме последнего, означают конкретные типоразмеры, последний столбец – отрезок. Следует отметить, что последний профиль имеет большой отход, так как больше нет потребности в нарезке типоразмеров.