Несколько слов о существе решения станковой задачи. Идея математического программирования заключается в том, чтобы вместо сплошного (иногда говорят – слепого или дурного) перебора всех возможных вариантов вести перебор выборочный, направленный на скорейшее последовательное улучшение результата. Поэтому в нашей задаче мы и рассматривали не все точки области допустимых планов (их бесчисленное множество), а только вершины многоугольника, одна из которых и дала нам наилучшее решение.
Методы математического программирования находят широкое применение для обоснования оптимальных решений в самых различных областях человеческой деятельности: при планировании перевозок и в торговле, для правильной организации труда, в управлении городским транспортом и строительством.
Рассмотрим, как вырабатываются правила решения еще одной важной производственной задачи.
Резервы раскроя
Изготовление многих видов современной промышленной продукции начинается с раскроя материала. Выкраивают не только одежду и обувь, но и детали корпуса корабля, кузова автомобиля, фюзеляжа самолета. Раскраивают ткани и кожу, бумагу и стекло, металл и пластмассу. Кроить можно по-разному .
Перед нами листы дефицитного материала размером 6 х 13 метров (рис. 4). Из каждого такого листа необходимо выкроить по несколько заготовок двух видов: заготовки А – размером 5x4 метра и заготовки Б – размером 2x3 метра. Задача заключается в том, чтобы получить как можно больше заготовок обоих видов с наименьшим количеством отходов. Кроме того, как и в задаче со станками, необходимо обеспечить комплектность заготовок: на 1 заготовку А должно приходиться 5 заготовок Б.
Как вести раскрой? Какое решение принять?
Рис. 4. Способы раскроя материала
Прежде всего, нужно установить все возможные способы раскроя наших листов по требуемым заготовкам. Начнем с того, что постараемся получить с одного листа как можно больше заготовок А – они крупнее, чем Б, и для них труднее подыскать место на листе. Оказывается, однако, что более трех заготовок А с листа выкроить невозможно. Исходя из этого предусмотрим способы раскроя для получения трех, двух и одной заготовки А и наибольшего возможного количества заготовок Б с листа. Каждому способу дадим номер:
способ № 1:3 заготовки А и 1 заготовка Б;
способ № 2: 2 заготовки А и 6 заготовок Б;
способ № 3: 1 заготовка А и 9 заготовок Б.
Заметим, что при всех способах раскроя часть площади листа остается неиспользованной и идет в отходы. На рис. 4 эта площадь заштрихована.
Для составления оптимального плана раскроя материала построим график, подобный тому, который мы рисовали в задаче со станками. На рис. 5 по оси X отложено количество заготовок А, а по оси Y – число заготовок Б. При этом каждому способу раскроя соответствует своя точка на графике. Так, точка «способ № 2» стоит на пересечении двух заготовок А и шести заготовок Б. Точки – способы раскроя – указывают границы области допустимых планов.
Рис. 5. График раскроя материала
Для того чтобы обеспечить комплектность заготовок, необходимо ограничиваться лишь теми точками области допустимых планов, которые лежат на луче ОЛ. Он построен таким образом, что все его точки соответствуют требуемому отношению заготовок А и Б:
Какой же план раскроя наиболее рационален?
Очевидно, тот, которому соответствует точка, наиболее отдаленная от начала координат, – ведь при этом число заготовок будет наибольшим. Этот план дает точка, лежащая на пересечении луча ОЛ с границей области допустимых планов – линией, соединяющей способы № 2 и № 3. Она находится как раз посередине между упомянутыми способами. Итак, оптимальный план раскроя заключается в том, что половина листов кроится способом № 2, а половина – способом № 3.
Проверим теперь наш оптимальный план на партии в 200 листов. Половину – 100 листов раскроим по способу № 2 и получим 100 х 2 = 200 заготовок Б. Всего же получилось 300 заготовок А и 1500 заготовок Б – комплектность 1 к 5 соблюдена. А чем этот план лучше других? На этот вопрос ответят следующие любопытные цифры.