Задача раскроя

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

Раскрой прутьев

Пример исходных данных для решения задачи раскроя прутьев с использованием надстройки  Поиск решения показан на рис. 6.27. В этом случае к исходным данным, кроме размеров заготовки, деталей и их необходимого  количества,  относится  информация о возможных  вариантах раскроя заготовок, а также количестве отходов в каждом из вариантов.

СОВЕТ

В данном примере соотношение размеров заготовки и деталей таковы, что существует не слишком большое количество различных вариантов раскроя. Если задать размер заготовки в несколько раз больше, то количество вариантов раскроя значительно возрастет. В подобных случаях можно рекомендовать разработку алгоритма генерации вариантов раскроя. Однако такой подход может значительно усложнить постановку задачи, поэтому его следует использовать в особых случаях.

Изменяемыми ячейками  в данном случае являются C18:H18. Общее количест во использованных заготовок  (ячейка H19), количество  отходов  (ячейка H20) и количество  произведенных деталей  каждого  вида (ячейки D24:D26) вычисляются суммированием соответствующих данных.  Ограничения для значений  изменяемых ячеек показаны на рис. 6.28. Ограничения, заданные таким образом, гарантируют  получение  необходимого  количества  деталей.  При  этом каждый лист раскраивается полностью, то есть могут быть произведены лишние  детали некоторых видов.

Рис. 6.27. Исходные данные к задаче раскроя прутьев

Рис. 6.28. Ограничения к задаче раскроя прутьев

На рис. 6.29 приводится решение  задачи  раскроя  прутьев.  При раскрое  прутьев заданное  количество  деталей  точно  совпало  с  полученным количеством,  хотя в данной постановке задачи не требовалось  точного совпадения,  и в соответствии с ней могли быть произведены лишние детали.

При необходимости постановка  задачи может быть модифицирована, например, добавлены дополнительные условия.

. Производственные расчеты

Рис. 6.29. Результат решения задачи раскроя прутьев

СОВЕТ

Одним из вариантов модификации постановки задачи может являться требование произвести точно заданное количество деталей, не допуская производства лишних. В этом случае может использоваться аналогичный подход. При этом варианты полного раскроя заготовки  необходимо дополнить вариантами, в которых  заготовка  не раскраивается полностью, а используется только частично. Следует учесть все возможные комбинации. Ограничения для ячеек D24:D26 следует изменить на условия $D$24:$D$26=$B$9:$B$11. При такой постановке задачи может  значительно увеличиться количество отходов, но лишних деталей производиться не будет.

Раскрой листа

Решение задачи раскроя листа не отличается чем-то принципиальным от предыдущей задачи. На рис. 6.30 показаны различные схемы раскроя листа прямоугольной формы на заготовки трех видов.

СОВЕТ

При затруднениях с формированием набора различных вариантов раскроя рекомендуется начертить несколько схем. В данном примере рисунок схемы раскроя был приготовлен отдельно в виде JPG-файла  и вставлен на лист Excel при помощи операции Вставить рисунок из файла (кнопка Рисунок на вкладке Вставка).

Рис. 6.30. Схема раскроя листа

Получение заданного количества заготовок

Дальнейший ход решения задачи раскроя листа мало отличается от задачи раскроя  прутьев. На рис. 6.31 приводятся исходные данные. Изменяемыми ячейками явля ются D22:G22. Количество заготовок вычисляется с учетом схем раскроя, например, в ячейке G26 (количество произведенных заготовок вида «А») находится формула

=СУММ(D22*D13;E22*E13;F22*F13;G22*G13). Общее количество раскроенных  листов, количество отходов и количество полученных заготовок вычисляется аналогично суммированием соответствующих данных.

Ограничения к данной задаче показаны  на рис. 6.32. Условие $G$23<=$E$5 определяет, что процесс раскроя может прекратиться, как только будет произведено  достаточное количество заготовок всех видов (следующие три условия). Как и в предыдущем примере раскроя прутьев, предполагается, что листы будут раскраиваться полностью, и поэтому возможно производство лишних заготовок.

Решение  задачи  раскроя  листа  показано  на рис. 6.33. Как и следовало  ожидать, некоторые заготовки были произведены с избытком. Это соответствует принятым схемам раскроя  и ограничениям для значений  ячеек, то есть постановке  данной задачи. В иных случаях требуется модифицировать постановку задачи и изменить  эти параметры.

. Производственные расчеты

Рис. 6.31. Исходные данные к задаче раскроя листа

Рис. 6.32. Ограничения к задаче раскроя листа

Раскрой всех листов

При необходимости раскроить все листы наиболее оптимальным способом (получив минимальное количество  отходов)  достаточно в приведенном  примере  изменить  ограничения $G$23<=$E$5 на  $G$23=$E$5 (рис. 6.34).

Рис. 6.33. Решение задачи раскроя листа

Рис. 6.34. Ограничения к задаче раскроя всех листов

Решение этой задачи показано на рис. 6.35. Поскольку в данной задаче сохранялось требование  произвести  не менее определенного количества  заготовок  каждого вида, для производства заготовок вида «А» использовался единственно возможный  вариант раскроя №1. Остальные заготовки были получены при раскрое по другим вариантам,  не дающим  отходов. Таким  образом,  были  выполнены все условия  и ограничения.

. Производственные расчеты

Рис. 6.35. Решение задачи раскроя всех листов

Раскрой листов с заданным соотношением количества заготовок

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

На рис. 6.36 показаны исходные данные для решения модифицированной задачи. В этом варианте задачи данные требуемого количества заготовок заменены требуемыми соотношениями количества  заготовок (ячейки E6:E8).

Общее количество  раскроенных  листов, количество  отходов и количество  полученных заготовок вычисляется аналогично предыдущим  вариантам.

По результату расчетов вычисляется полученное соотношение количества заготовок (ячейки G30:G32). При этом в ячейке G30 находится значение равное 1, а в ячейках G31 и  G32 соответственно формулы  =G27/G26 и =G28/G26.

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

$G$30=$E$6, $G$31=$E$7 и $G$32=$E$8. Условие $G$23<=$E$5 позволяет  не использовать некоторые  листы, если их раскрой нарушит установленное соотношение количества заготовок.

Рис. 6.36. Исходные данные к задаче раскроя листа с заданным соотношением количества заготовок

Рис. 6.37. Ограничения к задаче раскроя листов с заданным соотношением количества заготовок

Результаты решения задачи раскроя в такой постановке приведены на рис. 6.38.

. Производственные расчеты

Рис. 6.38. Решение задачи раскроя листов с заданным соотношением количества заготовок

Заданное соотношение количества заготовок достигнуто ценой резкого увеличения количества  отходов. Этот результат вполне ожидаем.

Источник: Трусов А. Ф. Excel 2007 для менеджеров и экономистов: логистические,  производственные и оптимизационные расчеты (+CD). — СПб.: Питер, 2009. — 256 с.: ил.

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий