Содержание Модели и методы ИСО 4 1 Принципы выбора задач планирования и управления производством для разработчика АСУ 5 2 Порядок разработки и реализации систем планирования и управления производством на основе методов ИСО 6 3 Блочная задача линейного программирования. Метод ДанцигаВульфа 7 4 Метод генерации столбцов. Использование для решения задачи оптимизации планов раскроев 8 5 Развитие систем управления на основе линейных моделей (билинейные модели, моделирование нелинейной целевой функции, использование дополнительных и искуственных переменных) 9 5.1 Билинейные модели . . . . . . . . . . . . . . . . . . . . . . . . . 9 5.2 Модели с нелинейной целевой функцией . . . . . . . . . . . . . 10 6 Построение псевдодинамических линейных моделей и моделей последовательного производственного процесса на основе однопериодных 11 6.1 Псевдодинамические линейные модели . . . . . . . . . . . . . . 11 6.2 Последовательные модели производственного процесса на основе однопериодных . . . . . . . . . . . . . . . . . . . . . . . . . 12 7 Прикладные модели задач линейного программирования (задачи распределения ресурсов, задачи балансировки потоков) 13 7.1 Задачи распределения ресурсов . . . . . . . . . . . . . . . . . . 13 7.2 Задачи балансировки потоков . . . . . . . . . . . . . . . . . . . 13 8 Оценки ограничений и анализ производственного процесса на базе двойственных переменных задачи линейного программирования 14 9 Объекты и предметы раскроя. Содержание, классификация и модели задач линейного раскроя единственного объекта 9.1 Размерность задачи . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Размеры фигур . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3 Ориентация фигур . . . . . . . . . . . . . . . . . . . . . . . . . 9.4 Класссификация в зависимости от объектов раскроя . . . . . 9.5 Технологии раскроя . . . . . . . . . . . . . . . . . . . . . . . . . 1 15 15 16 16 16 16 10 Динамическое программирование и реккурентные соотношения для решения задач раскроя и комплектования 16 11 Задача оптимизации множества планов раскроя в условиях комплектности предметов производства 20 12 Задача оптимизации множества планов раскроя в условиях комплектности объектов производства 21 13 Примеры, содержание и методы решения прикладных задач плоского и трехмерного раскроя 22 14 Транспортная логистика. Матричная и сетевая транспортные задачи. Экономическое содержание и способы использования двойственных оценок (потенциалов и рент) 24 14.1 Матричная и сетевая транспортные задачи . . . . . . . . . . . 24 14.2 Экономическое содержание и способы использования двойственных оценок . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 15 Учет средствами транспортных задач динамики хранения и транспортировки лесосырья 28 16 Модели транспортировки и переработки лесосырья. Многоэтапные модели (МТПЗ) 29 16.1 Математическая модель многоэтапной транспортно-производственной задачи (МТПЗ). . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 17 Многопродуктовая транспортная задача в лесном комплексе. Особенности моделирования использования различных транспортных средств, сокращения порожнего пробега, замены лесосырья 31 18 Задачи размещения предприятий ЛПК 32 19 Оптимизация схемы лесовозных дорог 32 20 Задачи управления запасами и отгрузкой продукции 34 20.1 Постановка задачи: "Управление запасами и отгрузкой продукции 34 20.2 Метод динамического программирования . . . . . . . . . . . . 35 20.3 Реализация алгоритма . . . . . . . . . . . . . . . . . . . . . . . 35 Прикладные модели задач линейного программирования 36 21 Формы и примеры развития систем на основе оптимизационных моделей. Задача баланса щелоков предприятия ЦБК 36 21.1 Примеры развития систем на основе оптимизационных моделей 36 21.1.1 Транспортная логистика . . . . . . . . . . . . . . . . . . 36 2 21.1.2 Финансовое планирование . . . . . . . . . . . . . . . . . 21.1.3 Производственный процесс . . . . . . . . . . . . . . . . 21.1.4 Энергетическое управление . . . . . . . . . . . . . . . . 21.1.5 Телекоммуникационные сети . . . . . . . . . . . . . . . 21.2 Методы решения . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2.1 Линейное программирование для баланса щелоков . . 21.2.2 Динамическое программирование для баланса щелоков во времени . . . . . . . . . . . . . . . . . . . . . . . . 21.2.3 Нелинейное программирование для баланса щелоков с учетом нелинейных зависимостей . . . . . . . . . . . . . 21.2.4 Пример использования LP для баланса щелоков . . . . 21.2.5 Пример использования ДП для баланса щелоков во времени . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Формы и примеры разбития систем на основе оптимизационных моделей. Задача раскроя съемов тамбуров БДМ 22.1 Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . 22.2 Математическая модель задачи раскроя съема тамбура БДМ 22.3 Исследование операций . . . . . . . . . . . . . . . . . . . . . . . 22.3.1 Методы Решения . . . . . . . . . . . . . . . . . . . . . . 22.3.2 Реализация Алгоритма Динамического Программирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.3.3 Результаты . . . . . . . . . . . . . . . . . . . . . . . . . . 36 37 37 37 37 37 38 38 38 38 39 39 39 40 40 40 40 23 Формы и примеры развития систем на основе оптимизационных моделей. Планирование производства упаковки 23.1 Планирование производства упаковки . . . . . . . . . . . . . . 23.2 Основная проблема . . . . . . . . . . . . . . . . . . . . . . . . . 23.2.1 Основные методы решения . . . . . . . . . . . . . . . . . 23.2.2 Пример математической модели . . . . . . . . . . . . . 23.2.3 Псевдокод решения (Генетический алгоритм) . . . . . . 40 40 40 40 41 41 24 Формы и примеры развития систем на основе оптимизационных моделей. Планирование производства Фанеры 24.1 Задача планирования производства фанеры . . . . . . . . . . . 24.1.1 Основная проблема . . . . . . . . . . . . . . . . . . . . . 24.1.2 Основные методы решения . . . . . . . . . . . . . . . . . 24.1.3 Математическая модель . . . . . . . . . . . . . . . . . . 24.1.4 Пример псевдокода решения . . . . . . . . . . . . . . . . 41 41 41 42 42 42 25 Формы и примеры развития систем на основе оптимизационных моделей. АСУ ремонтно-механического производства 43 25.1 Основные элементы АСУ ремонтно-механического производства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 25.2 Основные методы АСУ в ремонтно-механическом производстве 43 3 25.3 Алгоритмы, используемые в АСУ ремонтно-механического производства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 25.3.1 Математическая модель для алгоритма управления процессом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 25.4 Примерный алгоритм работы АСУ в ремонтно-механическом производстве . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 26 Модели учета расходования воды, тепла, электричества 45 27 Модели выбора транспортных средств и размещения грузов в вагонах контейнера 47 Некоторые классы задач и методов ИСО 50 28 Задача плоского раскроя и задача поиска неисправности 50 29 Классификация методов решения задач дискретного программирования 51 30 Модели и задачи динамического программирования 53 31 Матроиды и жадные алгоритмы решения задач оптимизации 55 32 Задачи сетевого планирования 4 57 1 Принципы выбора задач планирования и управления производством для разработчика АСУ Специалисту, осуществляющему выбор, проектирование, разработку и реализацию системы планирования и управления производством стоит учитывать следующие признаки пригодности задачи: 1. Определенность управляемых факторов. Основу будующей модели составляют четко определенные управляемые факторы. Именно на этапе их обследования формируется "скелет"модели: ее индексные множества, структурные параметры и т.д. Известны случаи, когда фактор, изначально считающийся управляемым в некоторых ситуация фактически становился "почти случайным": неопределенность в сроках поставки продукта, невозможность измерить его количество ввиду отсутствия измерительтного прибора или методики измерения. 2. Определенность связей между параметрами. Стоит иметь ввиду возможный исход в виде возникновения неоднозначности в определении типов связей. Изначально они могут быть простыми и линейными, но при более детальном рассмотрении могут оказаться значительно более сложными. 3. Достаточное комбинаторное пространство. Интерес представляют только те задачи, которые: 3.1 Принципиально могут быть решены; 3.2 Не имеют малое пространство решений и неочевидное оптимальное решение. 4. Определенность, возможность сбора необходимых параметров. Примеры невозможности установить или спрогнозировать некоторые параметры: неясность сроков поставки; невозможность измерения количества с требуемой точностью; существенные систематические ошибки связанные с особенностями системы учета и т.д. 5. Наличие одного или нескольких четко определенных критериев оптимизации. При обследовании редко удается установить единственный на все случаи жизни, лучший критерий эффективности. Часто возникают задачи многокритериальной оптимизации. Важно, чтобы каждый критерий был обоснован и параметрически определен. 6. Заинтересованность заказчика. Важнейший фактор, необходимый для успешной разработки. 7. Возможность решения задачи. 5 2 Порядок разработки и реализации систем планирования и управления производством на основе методов ИСО Практические рекомендации проектироващику и разработчику системы планирования и управления производством: 1. Приступая к постановке и решению новой задачи, желательно ее упростить. 2. Если предложенная вами идея оптимизации плана не поддерживается заказчиком, то стоит уступить ему, перенеся традиционно используемую на предприятии систему на компьютер. Тем самым все стороны будут удовлетворены, так как вы получите значительное преимущество в виде наглядной разницы двух расчетов, что в дальнейшем поможет привлечь представителя заказчика, заинтересованного в вашей разработке. 3. Полезно располагать полным или частичным функциональным прототипом системы - несложной и быстро составленной программой, которая наглядно показывает пользователю ожидаемые резульитаты внедрения. 4. Разработку необходимых баз данных можно вести параллельно, но лучше, если эти сведения приготовлены заранее. Как правило, рарабокта баз данных реализуется в несколько этапов: 4.1 Формирование необходимых справок и отчетов; 4.2 Решение обратной задачи к задаче планирования; 4.3 Реализация непосредственно задачи планирования; 4.4 Развитие системы постепенно, с последовательным наращиванием сложности. 5. Если задача не совсем тривиальна, стоит начать с формального описания задачи и построения модели, которая необезательно записывается в виде уравнений и неравенств. При ее построении могут возникнуть непредвиденные обстоятельства: неопределенные параметры, неожиданные связи и т.д. 6. Стоит заранее предусмотреть вариативность расчетов - возможность выбора функции цели, состава и приоритетов ограничений, режимов расчетов и т.д. 7. По мере усложнения задачи стоит постепенно переходить от единой модели к комплексу задач посредством ее декомпозиции. Это обеспечит более гибкую и эффективную структуру системы. 6 3 Блочная задача линейного программирования. Метод Данцига-Вульфа Некоторые задачи ЛП большой размерности имеют такие структурные особенности, которые позволяют найти их оптимальное решение путем декомпозиции исходной задачи на ряд подзадач меньшей размерности. Блочное программирование изучает свойства и методы решения оптимизационных задач, которые допускают представление в форме системы двух и более взаимосвязанных подзадач-блоков. Метод декомпозиции Данцига-Вульфа был разработан в конце 1950-х гг. американскими математиками Дж. Данцигом и Ф. Вулфом с целью снизить по сравнению с симплексным методом линейного программирования требования к быстродействию и особенно объему оперативной памяти компьютера для решения задач большой размерности. Рассмотрим задачу ЛП с двумя блоками и связующими ограничениями. Такая задача имеет вид: c1 x1 + c2 x2 → max, B 1 x1 + B 2 x2 = b0 , A1 x1 = b1 , A2 x 2 = b, 2 x1 ≥ 0, x2 ≥ 0, где x1 = x1 [N1 ], x2 = x2 [N2 ] – интенсивности технологий двух производств, B = (B 1 [M0 , N1 ], B 2 [M0 , N1 ]) – матрица расходования общих ресурсов, A1 [M1 , N1 ], A2 [M2 , N2 ] – матрица расходования ресурсов производств, b = (b0 [M0 ], b1 [M1 ], b2 [M2 ]) – вектор наличия ресурсов, c = (c1 [M1 ], c2 [M2 ]) – коэффициенты целевой функции. Целевая функция отражает доход компании первая группа ограничений – баланс общих ресурсов производств, вторая и третья группы ограничений – собственных ресурсов. Пусть q – номер производства, q = 1, k. Метод декомпозиции Данцига-Вульфа основан на решении исходной задачи в результате последовательного выполнения двух этапов: − Решение координирующей (общей) задачи распределения общих ресурсов компании; − Построение оптимального плана каждого из производства. Идея этого метода основана на переходе к множеству крайних точек блочной задачи Pq , q = 1, k с условиями (1-3): σ q xq → max, (1) Aq x q = bq , (2) 7 xq ≥ 0. (3) Алгоритм формулируется в предложении существования оптимального решения каждой из блочных задач при любом значении коэффициентов целевой функции σ q , что будет выполнено, например, если ограничены множества W q = xq ≥ 0|Aq xq = bq допустимых решений задач Pq . Исходную задачу можно решать следующим образом: • Шаг 0: Построить произвольное допустимое решение задачи верхнего уровня. • Шаг 1: Решить задачи планирования производств q = 1, 2 с учетом двойственных оценок v. • Шаг 2: Если оценки каждого вектора корректировки плана удовлетворяют неравенству (c − vA)αs ≤ zq , s ∈ Sq , где αs – крайние точки многогранников Sq , то работа алгоритма закончена, полученный план – оптимальный, а оценки – объективно обусловленные экономические оценки. Иначе Шаг 3. • Шаг 3: Выполнить очередную итерацию решени задачи, верхнего уровня, рассматривая найденные решения блочных задач, кка новые базисные элементы. Откорректировать вектор оценок v ресурсов M0 . Перейти к Шаг 1. 4 Метод генерации столбцов. Использование для решения задачи оптимизации планов раскроев Рассмотрим задачу оптимизации производственного плана в канонической форме. Также данную задачу называют задачей распределения ресурсов: X z= cj xj → max; (1.1) j∈N X i ∈ M; aij xj = bi (1.2) j∈N 0 ≤ xj ≤ dj для всех j∈N (1.3) Нередко бывают ситуации, когда столбец, соответствующий одной из переменных величин, не фиксированный, а может выбираться из некоторого выпуклого множества. Определим задачу билинейного программирования (БП) как задачу (1.1)-(1.3) с ограничением: X X aq xq = bi i ∈ M, j∈N q∈Wj 8 в которых ai ∈ Wj – элемент выпуклого множества Ωj ⊂ Rm для всех или инекоторых j ∈ N . Метод генерации столбцов - важнейшее обобщение БП. Основное отличие задач этого метода заключается в том, что при использовании метода БП столбцы множества Qj заданы явно, метода генерации столбцов – в результате работы некоторого алгоритма, чаще всего - решения специальной вспомогательной задачи оптимизации Qj . Примеры применения метода генерации столбцов: 1. Задача линейного раскроя. Пусть aj – план раскроя заготовок i ∈ M длины li . Устанавливается решением вспомогательной задачи, которая называется генератором раскроев X X vi yi → max; li yi ≤ L, 0 ≤ yi – целые i∈M i∈M i∈M 2. Линейный раскрой q объектов. Основное отличие - использование q генераторов (с общими ограничениями). 3. Вспомогательная задача линейного программирования. Используется при координации работы нескольких производств под общим критерием эффективности. 4. Более экзотические задачи теории расписаний. Ключевая роль в задачах генерации столбцов отводится двойственным переменных исходной задачи (1.1)-(1.3). Если исходная задача содержит несколько билинейных столбцов, алгоритм ее решения потребует соответствующего количестве генераторов столбцов, число которых может быть весьма велико. Появляются задачи ЛП неопределенной размерности, количество столбцов которых неизвестно и несущественно. 5 5.1 Развитие систем управления на основе линейных моделей (билинейные модели, моделирование нелинейной целевой функции, использование дополнительных и искуственных переменных) Билинейные модели Рассмотрим задачу оптимизации производственного плана в канонической форме. Также данную задачу называют задачей распределения ресурсов: X z= cj xj → max; (1.1) j∈N 9 X aij xj = bi i ∈ M; (1.2) j∈N 0 ≤ xj ≤ dj для всех j∈N (1.3) Нередко бывают ситуации, когда столбец, соответствующий одной из переменных величин, не фиксированный, а может выбираться из некоторого выпуклого множества. На практике задачи БП используется ряд варинатов: 1. Множество Wj конечно. В таком случае логично рассматривать элементы q ∈ Wj как самостоятельные альтернативаные технологии. 2. Множество Wj есть выпуклый многогранник. Тогда Wj определеяется перечнем крайних точек ext(Wj ): X X a j ∈ Wj ⇔ ai = αq λq , λq = 1 q∈ext(Wj ) q∈ext(Wj ) Определим задачу билинейного программирования (БП) как задачу (1.1)(1.3) с ограничением: X X aq xq = bi i ∈ M, j∈N q∈Wj в которых ai ∈ Wj – элемент выпуклого множества Ωj ⊂ Rm для всех или инекоторых j ∈ N . Задача БП приводится к вспомогательной задаче ЛП рассмотрением ext(Wj ) – множества крайних точек ai ∈ Wj . Переход к задаче БП существенно увеличивает размерность вспомогаP тельной задачи ЛП до величины (m + n) × j∈N |Qj |), одновременно почти пропорционально снижая плотность ненулевых элементов. 5.2 Модели с нелинейной целевой функцией Если в уравнениях материального баланса (1.2) линейность левых частей ограничений относительно переменных xj вполне оправдана, то целевая функция: X X cj xj = )j ∈ N ϕj (xj ), где ϕj (xj ) = cj xj j∈N для всех j ∈ N , по целому ряду причин не всегда отражает качество решения. Типичны случаи, когда функция ϕj (xj ), целеполагаемый показатель объема реализации технологии j ∈ N , нелинейно зависит от значения xj . В таком случае функционалом задачи становится сепарабельная функция: X z= ϕj (xj ) → max; (1.4) j∈N 10 В таком случае класс полученной задачи и методы ее решения существенно зависят от функций ϕj (xj ) для j ∈ N . Рассмотрим несколько случаев: 1. Если ϕj (xj ) – линейные функции, то задача является задачей ЛП. 2. Если ϕj (xj ) – кусочно-линейные вогнутые функции на отрезках [0, dj ], то задача сводится к линейной задаче с некоторым расширением множества столбцов. 3. Если ϕj (xj ) – дифференцируемые вогнутые функции на отрезке [0, dj ] для каждого j ∈ N , то задача с произвольной точностью приближается линейной задачей с некоторым расширением множества столбцов. 4. Свойства задачи сохраняются в случае минимизации сепарабельной функции цели с произвольными вогнутыми слагаемыми ϕj (xj ). В случае других классов функций ϕj (xj ) задача с сепарабельным функционалом становится многоэкстремальной, а ее решение – существенно сложнее. 6 6.1 Построение псевдодинамических линейных моделей и моделей последовательного производственного процесса на основе однопериодных Псевдодинамические линейные модели Суть построения многопериодной или псевдодинамической модели составляет разбиение срока составления ОП на несколько, возможно, различных по продолжительности плановых периодов t : 0 ≤ t ≤ T . Переход к такой модели приводит к существенному расширению исходных данных задачи. Различаются складируемые M ‘M и нескладируемые M “M ресурсы. Нескладируемые ресурсы можно использовать в течение только текущего периода t, они не могут использоваться в течение последующих периодов τ > t. Первый случай. Если все производственные ресурсы нескладируемые (M = M “), то ЗПП распадается на T независимых задач Pt : X zt = ctj xtj → max; (1.1) j∈N X aij xtj = bti , i ∈ M ‘; (1.2) j∈N 0 ≤ xtj ≤ dtj 1 ≤ t ≤ T, 11 j ∈ N. (1.3) Множество ограничений часто дополняется условием: xj = T X xtj ≤ dtj 1 ≤ t ≤ T, j ∈ N, t=1 связывающим переменные задач Pt . Второй случай. Если ресурсы допускают складирование M = M ‘, то уравнения баланса (1.2) связываются между собой переменными yit объемов хранения, передачи продукта i баланса периода t к балансу периода t + 1. z= T X X ctj xtj → max (2.1) t=1 j∈N X aij xtj + yit−1 − yjt = bti , 1 ≤ t ≤ T, i ∈ M‘ (vit ) (2.2) j∈N 0 ≤ xtj ≤ dtj , 0≤ yit ≤ dti , 1 ≤ t ≤ T, 1 ≤ t ≤ T, j∈N i∈M (2.3) Переменные объемов складов хранения сверху ограничены емкостями складов, что позволяет включить в целевую функцию затраты на хранения продукта и различные ограничения, связанные с ними. Ограничения (2.2) и переменные yjt , j ∈ N задачи для различных значений t образют блоки, связанные переменными y t и y t − 1. Параметры y 0 представляют собой начальные значения запасов ресурсов или раннее произведенной продукции. Двойственные переменные vit составляют векторы оценок блоков v t = (vit )i∈M ‘ . Переход к многопериодной задаче сопровождается существенным расширением мтарицы ограничений исходной задачи до размерности (T ∗ m) × (T ∗ m + n) с асимптотически эквивалентным снижением плотности ненулевых элементов. 6.2 Последовательные модели производственного процесса на основе однопериодных В простейшем случае задачу представляет цепочка, составленная из k последовательно выполняемых технологических процессов Nq (1 ≤ q ≤ k), связанных ресурсами Mq матрицей нормативов Aq . Предположим, что продуктовая структура технологических процессов этапов переработки связана только исходными и конечными продуктами. Конечный продукт i ∈ M ‘q каждого из этих процессов может частично использоваться и в качестве товара, и в качестве исходного продукта следующего q + 1 этапа переработки. Таким образом M ‘q = Mq ∩ Mq−1 . Обозначив bqi объем ресурса i ∈ Mq (Mq ∪ Mq−1 ), получим модель оптимизации последовательной переработки: 12 z= k X X cj xtj → max (3.1) q=1 j∈Nq X aqijxtj + yit−1 − −yit = bti , 1 ≤ q ≤ k, (viq ) i ∈ M ‘q (3.2) j∈N ‘q X aij xtj = bti , 1≤q≤k i ∈ M M ‘q (3.3) j∈N ‘q 0 ≤ xtj ≤ dtj 0≤ 7 yjt ≤ dtj 1 ≤ t ≤ T, 1 ≤ t ≤ T, j ∈ Mq j∈N (3.4) Прикладные модели задач линейного программирования (задачи распределения ресурсов, задачи балансировки потоков) 7.1 Задачи распределения ресурсов • Задача о производственном планировании: необходимо оптимально распределить имеющиеся ресурсы (например, трудовые ресурсы, сырье, оборудование) для максимизации производства и минимизации затрат. • Задача о расписании задач: требуется определить оптимальное расписание выполнения задач с учетом ограничений на доступность ресурсов (например, временных рамок, приоритетов). • Задача о планировании проектов: оптимальное планирование выполнения задач проекта с учетом ограничений на доступность ресурсов, зависимостей между задачами и сроков выполнения. 7.2 Задачи балансировки потоков Задачи балансировки потоков возникают, когда требуется оптимизировать распределение потоков по системе с учетом ограничений и целей. • Задача о маршрутизации транспорта: требуется определить оптимальные маршруты для перевозки грузов или пассажиров с учетом ограничений на пропускную способность и стоимость перевозок. • Задача о планировании производства: требуется определить оптимальное планирование процесса производства с учетом ограничений на пропускную способность и потребности в ресурсах. • Задача о планировании обслуживания: оптимальное планирование обслуживания клиентов или заказов с учетом ограничений на доступность ресурсов и временные ограничения. 13 8 Оценки ограничений и анализ производственного процесса на базе двойственных переменных задачи линейного программирования Рассмотрим задачу расчета оптимального производственного плана P : z = c[N ]x[N ] = cx → max; (1) a[M, N ]x[N ] ≤ b[M ]; (2) для всех 0 ≤ xj j∈N (3) и двойственную к ней задач D D: w = v[M ]b[M ] = cx → max; (4) v[M ]a[M, N ] ≥ b[M ]; (5) для всех 0 ≤ vj i ∈ M. (6) Тогда соотношения между оптимальными решениями этих задач x∗ и v приобретают форму определенных экономических связей между: x∗ — оптимальными объемами реализации технологий. v ∗ — оптимальными оценками ресурсов. ∗ 1. Оптимальные значения целевых функций совпадают. X X cx∗j = vi∗ bi . j∈N i∈M Это означает, что величина наибольшего дохода равна стоимости расходуемых ресурсов измеренных в двойственных ценах. Для любых x ∈ W P , v ∈ W D X X cxj ≤ v i bi , j∈N x ∈ WP v ∈ W D. i∈M Таким образом, не только x∗ — наилучший план, но и v ∗ — самая точная оценка ресурсов. 2. Соотношения двойственности утверждают, что X aij x∗j < bi , i ∈ M ⇒ vi∗ = 0 i ∈ M, j∈N оценка равна vi∗ = 0, если ресурс i ∈ M используется не полностью и X vi∗ > 0 i ∈ M, ⇒ aij x∗j = bi , i ∈ M j∈N — положительное значение в ином случае. 14 3. Точно также x∗j > 0 j ∈ N X ⇒ vi∗ aij = cj , j∈N j∈N технология j ∈ N входит в состав оптимального плана, когда суммарные затраты ресурсов в ценах v ∗ равны cj . Для всех остальных технологий X vi∗ aij > cj , j ∈ N. ⇒ x∗j = 0 j ∈ N j∈N затраты ресурсов превышают доход от их использования. 4. Посмотрим, что произойдет в случае: 4.1 N ∗ — невырожденного базисного множества; 4.2 локального изменения параметров задачи b′i = bi +∆ bi для одного или нескольких индексов i ∈ M . В таком случае базисное множество не изменится в случае незначительной вариации параметров задачи Оптимальный план x∗ будет пересчитан и станет равным x∗∆ , причем изменится и значение целевой функции c[N ]x∗∆ = v ∗ [M ]b′i , ∆ z = v ∗ [M ]b′i ∆ bi . Таким образом, не пересчитывая оптимальный план, значения v ∗ позволяют оценить связь между дополнительными объемами ресурсов и оптимальным значением дохода. 5. Аналогичное соотношение можно получить для оценок ресурсов при изменении коэффициентов целевой функции. 9 9.1 Объекты и предметы раскроя. Содержание, классификация и модели задач линейного раскроя единственного объекта Размерность задачи Могут рассматриваться один, два или три размера (длина, ширина и высота). Сложность и метод решения задачи зависят от размерности объекта раскроя, которая может быть одномерной (отрезок), плоской фигуройили объемным телом. Также важные признаки –размерность фигур, формы объектов и предметов раскроя (прямоугольники, круги, параллелепипеды и цилиндры). Каждой фигуре Φ можно сопоставить численное значение µ(Φ), ее меру, в зависимости от размерности задачи: длину, площадь или объем. 15 9.2 Размеры фигур Размеры фигур: фиксированные, переменные или условно-бесконечные. 9.3 Ориентация фигур Размерность, форма, характеристика размеров фигур и ориентация ее осей задают тип объекта или предмета раскроя. Конкретный геометрический объект определяется его типом и набором числовых параметров: углов, размеров, пропорций и пр., выбор которых дополняет тип до типоразмера. Типоразмер характеризует множество конгруэнтных геометрических фигур на прямой, плоскости или в пространстве. В математической модели могут использоваться числовые характеристики: физические свойства(плотность, вес), экономические показатели (рентабельность продукции, возможный доход от ее продажи). 9.4 Класссификация в зависимости от объектов раскроя 1. Единственного объекта Ψ; 2. Заданного количества объектов одного типоразмера Ψ; 3. Неизвестного количества объектов одного типоразмера Ψ; 4. Объектов некоторого множества типоразмеров Ψi (i ∈ M = 1..m). Размеры и количества экземпляров объектов раскроя каждого вида может быть известным, произвольным или определяться границами. 9.5 Технологии раскроя Раскрой единственного объекта можно представить как последовательный процесс выкраивания предметов или деления этого объекта на части, из которых в дальнейшем будут получены заготовки. Выделяются гильотинные раскрои, раскрои с учетом размера спила материала, с учетом состава и ориентации заготовок планов. 10 Динамическое программирование и реккурентные соотношения для решения задач раскроя и комплектования Неизвестные в этой задаче — объемы использования раскроев. 16 Нижние границы выпуска продукции bi могут равняться нулю, если продукт не считается срочным и включается в план в целях возможного снижения потерь полотна при раскрое съемов тамбуров БДМ, или заказ обязательно должен быть выполнен в полном объеме в течение срока планирования. Появление промежуточного значения 0 < bi < Bi связано с суммированием однотипных (неразличимых с точки зрения модели) заказов. s В качестве переменных выберем xsjp и Xjp (s ∈ Sjp ) — объемы выработки продукции с максимальной и минимальной возможной производительностью БДМ. В таком случае ожидаемый объем производства бумаги качества k, плотности p ∈ P для БДМ j ∈ N составит: X s (rjkp xjkp + Rjkp Xjp ). (10.1) s∈Sjp s Переменные xsjp и Xjp можно истолковать как выработку БДМ при минимальной и максимальной производительности, но правильнее рассматривать линейную комбинацию rjkp xjps + Rjkp Xjps как среднюю производительность БДМ при заданной плотности продукции. Предположения позволяют подсчитать суммарную выработку продукции формата f ∈ F , плотности p ∈ P и качества k ∈ K для БДМ j ∈ N в течение периода планирования X lf s As (rjkp xsjp + Rjkp Xjp ). Lj f (10.2) s∈Sjp Вводя переменные yijkp — объемы отгрузки продукции качества k ∈ K, плотности p ∈ P , выполненной БДМ j ∈ N для заказчика i ∈ M представим общий объем производства продукции заданных качества и плотности, P который составит i∈M yijkp . Обозначим gf kp — объем запаса продукции формата f , качества k и плотности p, ранее накопленный на складе, а также zikp — объемы поставки продукции качества k ∈ K, плотностью p ∈ P со склада для заказчика i ∈ M . Тогда общий объем отгрузки P продукции соответствующих качества и плотности со склада составит i∈M zikp , а общий объем продукции, предназначенный заказчику i ∈ M : X X X X X yijkp + zikp . (10.3) j∈Ni p∈Pi k∈Ki p∈Pi k∈Ki Учитывая, что часть продукции не отправляется потребителю, а остается на складе, найдем uf jkp — объем хранения на продукции формата f , качества k и плотности p, выработанной на БДМ с индексом j, исходной задаче соответствует линейная модель (10.4)–(10.9): jN pP sSjp cjps (xjps + Xjps ) + f Fjp kKuf jkp → min, (10.4) 17 P s∈Sjp lf Lj Asf (rjkp xjps + Rjkp Xjps ) = P yijkp + uf jkp , i∈Mf jkp gf kp k ∈ K, p ∈ P, f ∈ Fjp , X ≥ zikp , k ∈ K, p ∈ P, f ∈ F, (10.5) j ∈ N, (10.6) i∈Mf kp dj ≤ X X (xjps + Xjps ) ≤ Dj , j ∈ N, (10.7) p∈P s∈Sjp bi ≤ X X X j∈Ni p∈Pi k∈Ki X X yijkp + zikp ≤ Bi , i ∈ M, (10.8) p∈Pi k∈Ki xjps , Xjks , yijkp , zikp , uf jkp ≥ 0 i ∈ M, j ∈ N, k ∈ K, p ∈ P, (s ∈ Sjp , f ∈ Fjp ). (10.9) Комбинированная целевая функция (10.4) включает минимизацию отходов сырья и продукции (пониженного качества), имеющейся в наличии на складе в течение периода планирования. Содержание основного уравнения баланса (10.5), означает, что объем продукции каждого вида складывается из объемов ее отгрузки и поставки склады. Двусторонние неравенства (10.6) и (10.7) ограничивают соответственно выпуск бумаги на БДМ и поставки ее заказчикам. Неравенства (10.7) и (10.8) с двусторонними ограничениями можно заменить уравнениями, посредством дополнительных переменных wj′ и wi′′ : X X (xjps + Xjps ) + wj′ = Dj , j ∈ N, (10.7′ ) p∈P s∈Sjp 0 ≤ wj′ ≤ Dj − dj , j ∈ N, X X X X X yijkp + zikp + wi′′ = Bi , j∈Ni p∈Pi k∈Ki i ∈ M, (10.8′ ) p∈Pi k∈Ki 0 ≤ wi′′ ≤ Bi − bi , i ∈ M. При решении задачи с помощью симплексного метода ограничения на переменные wj′ и wi′′ учитываются без увеличения размеров базиса. О решении задачи Представленная модель (10.4) − (10.6), (10.7′ ), (10.8′ ), (10.9)приводит к задаче исключительно высокой размерности в случае большого количества планов раскроев тамбура, что наблюдается на практике. Трудности, связанные с большим количеством столбцов задачи, удается преодолеть посредством использования метода генерации столбцов, применение которого позволяет использовать для проверки оптимальности текущего базисного плана решать вспомогательные задачи раскроя с индексами по количеству пар БДМ—плотность. 18 Эти задачи в дальнейшем будем называть элементарными задачами линейного раскроя. Пусть νf jkp , νj′ — двойственные переменные, соответствующие ограничениям (10.5) и (10.7′ ). Тогда оценки переменных xsjp определяются как ∆sjp = X f ∈Fjp = − X lf X lf rjp νf jkp Asf + νj′ − 1 − Asf = Lj Lj f ∈Fjp k∈K X X lf νf jkp rjkp + νj′ − 1. Asf 1 − Lj f ∈Fjp (10.10) k∈K Введем обозначение: Cf jp = X lf 1− νf jkp rjkp . Lj (10.11) k∈K Поиск max ∆jps на множестве столбцов переменных xjps эквивалентен поиску max ∆′jp : ∗ ∆′jp = Zjp + νj′ − 1, (10.12) ∗ где Zjp — оптимальное значение целевой функции задачи линейного раскроя (10.13)–(10.14). X ∗ Ljp (C) : Zjp = Cf jp λf → max, (10.13) f ∈Fjp X lf λf ≤ Lj , (10.14) f ∈Fjp λf ≥ 0, λf − целые, f ∈ Fjp . (10.15) Задача Ljp (C) может быть решена методами динамического программирования. Ее оптимальное решение Λ∗ представляет раскрой с наибольшей оценкой переменных xjps , s ∈ Sjp , которыми и следует пополнить текущий базисный план. s Аналогично вычисляются ∆′′jp для переменных Xjp . Пусть ∆∗ — максимальная из оценок переменных yijkp , uf jkp и дополнительных переменных (оценки небазисных переменных wj и wi′ , на верхнем пределе, учитываются с обратным знаком). Если max(∆jp , ∆′jp , ∆∗ ) > 0, то найдется столбец, который следует ввести в базис. В противном случае текущее решение является оптимальным. Отметим, что на определенных итерациях нет необходимости решать некоторые задачи раскроя. Действительно, на очередной итерации симплексного метода меняется лишь вектор двойственных переменных, поэтому можно использовать следующий результат: Пусть Λ′ — оптимальное решение задачи Ljp (C ′ ) с целевой функцией ∗ ∗∗ Zjp , Λ′′ — оптимальное решение задачи Ljp (C ′′ ) с целевой функцией Zjp . ′ ′′ Кроме того, пусть для всех f таких, что Cf jp > 0, выполнено Cf jp > 0. 19 ∗∗ ∗ max ≤ Zjp Тогда Zjp n Cf′ jp Cf′′jp f ∈ Fjp , o (1) Cf jp > 0 . ∗ Таким образом, сохраняя найденные значения Zjp и учитывая, что на очередном шаге симплексного метода меняется незначительное количество компонент двойственных переменных, приходим к выводу, что количество задач ЛП, решение которых может потребоваться на очередной итерации, значительно меньше общего их количества. Снижению объема вычислений также способствует следующее утверждение: Пусть lf1 < lf2 , а Cf1 jp ≥ Cf2 jp . Тогда существует решение, в котором λf2 = 0. Таким образом, переменную λf2 можно удалить, сокращая тем самым размерность задачи. Остается добавить, что для расчета скорости работы БДМ j при выпуске продукции плотности p способом s можно использовать формулу: vjps = ′ ′′ vjp xjps + vjp Xjps . xjps + Xjps Полученная P — задача ЛП (10.1 − 10.10) представляется достаточно громоздкой, однако ее размерность все же позволяет использовать для ее решения стандартные методы решения, поскольку на практике количество вспомогательных задач линейного раскроя не превышает нескольких десятков. Кроме того, матрица ограничений задачи обладает блочной структурой, что позволяет использовать методы декомпозиции для ее решения. 11 Задача оптимизации множества планов раскроя в условиях комплектности предметов производства Характерным примером является производство картонных ящиков, где количество прокладок, вкладышей, перегородок, обечаек и прочих деталей пропорционально количеству основных заготовок, т. к. некомплектные детали не являются самостоятельной продукцией. Следует отметить, что, в отличие от промежуточных объемов выработки, комплектность требуется только к завершению работы. Для построения модели введем Q — множество комплектов предметов, каждому из которых q ∈ Q соответствует подмножество Mq ⊂ M и параметры κiq — кратность числа предметов с индексом i ∈ M в комплекте q ∈ Q. Значение κiq может быть дробным, если предмет i представляет собой набор деталей. Введем vq — планируемые объемы и bvq , Bqv — границы объемов производства комплектов q ∈ Q, а также hyi — количества ранее выработанных 20 предметов i ∈ M и Hiy — максимально допустимый остаток по завершению периода планирования (Hiy = 0, если заказ выполнен). Следующие два соотношения, связывая новые переменные vq с объемами выработки планов xj (j ∈ N ), заменяют (11.2): −hyi ≤ yi − qQκiq vq ≤ Hiy − hyi , bvq ≤ vq ≤ Bqv , i ∈ M, q ∈ Q. (11.1) (11.2) В случае большого количества комплектов, вполне допустимо не требовать целочисленности переменных vq∗ , x∗j , а полученные дробные значения округлить до целых. Критерий эффективности задачи обычно определяется расходом материала или доходом от выработки продукции, целевая функция — линейная форма yi , vq и xj . Кроме столбцов, полученных решением задачи раскроя, в этой модели присутствуют не блочные переменные vq , что практически не влияет на алгоритм решения задачи и его эффективность. 12 Задача оптимизации множества планов раскроя в условиях комплектности объектов производства Вводится условие пропорциональности расходования объектов раскроя, полагая, что они составляют комплект,использование любой части которого требует расходования или потери остальных. Так происходит при составлении плана погрузки вагона, когда столбики рулонов под выпуклой частью крыши, вдоль стенок и в центре имеют различную высоту, а их количества пропорциональны. Размещение рулонов связано с решением пары задач:раскроя площади пола на области размещения столбиков и высоты каждого из них на форматы. Для построения модели, введем Ks ⊂ K — группы объектов раскроя s ∈ S, объемы расходования которых должны быть пропорциональны, параметры λks — число объектов k ∈ Ks в составе одного экземпляра группы s. Положим λks = 0, если объект раскроя k ∈ K в группу s ∈ S не входит. w Новые параметры задачи: bw s , Bs — нижние и верхние границы запланиs рованного расхода w объектов типа s ∈ S, а также hw k — количество недостающих объектов составе группы. Соотношения задачи связывают неизвестные ws и xj : hzk ≤ sSλks ws − zk ≤ hzk + Hkz , bw s ws ≥ 0, ≤ ws ≤ Bsw , ws − целые, 21 k ∈ K, s ∈ S, s ∈ S. (12.1) (12.2) (12.2) Критерий эффективности этой задачи соответствует плотности погрузки продукции или расходам на аренду ТС, то есть линейно зависят от ws и xj . Целочисленностью неизвестных xj в этой задаче можно пренебречь, целочисленностью ws — не всегда, что усложняет алгоритм ее решения, основанный на линейном ослаблении с ограничениями (12.1–12.3). Для решения задачи : byi ≤ yi = jnaij xj ≤ Biy , i ∈ M ∩ M •. bzk ≤ zk = jN k xj ≤ Bkz , −hyi ≤ yi − qQκiq vq ≤ Hiy − hyi , k ∈ K. i ∈ M, с дополнительными ограничениями (12.1–12.2) применим метод генерации столбцов. 13 Примеры, содержание и методы решения прикладных задач плоского и трехмерного раскроя Трехмерные раскрои несколько сложнее задач плоского раскроя. Рассмотрим примеры: • планирование раскроя ствола дерева на пиломатериалы с учетом его профиля как усеченного конуса или даже усеченной параболы; • объемное размещение продукции на складе или в ТС • наиболее плотная упаковка пачек, мешков или ящиков на поддоны. Комбинаторные свойства перечисленных задач в общем виде не оставляют надежд на их решение в отличие от рассматриваемых прикладных задач, которые обладают весьма выраженной спецификой. Предметы в этих задачах, чаще всего, — цилиндры (рулоны) или параллелепипеды (пачки, блоки, кипы). Объекты раскроя: внутреннее пространство складов, вагонов, контейнеров, трюмов — также являются параллелепипедами или их комбинациями. Количество видов предметов в таких задачах раскроя либо настолько мало, что допускает разумный перебор эффективных планов, либо весьма велико, что позволяет, учитывая погрешности измерения, разброс линейных размеров и разумные допуски при реализации плана, находить не точное, а приближенное, основанное на эвристических рассуждениях, решение. Схема погрузки или складирования управляется диспетчером и 22 не должна быть слишком сложной, что также упрощает задачу, сокращая выбор планов раскроя. Среди алгоритмов решения прикладных задач раскроя трехмерного объекта особенно важны те, которые снижают ее размерность посредством декомпозиции задачи. Так, схема формирования столбиков рулонов внутри ТС включает предварительный раскрой площади основания объекта на вертикальные проекции предметов и последующий — его высоты на форматы рулонов. При построении этажей или слоев — порядок противоположный. Большинство планов трехмерного раскроя можно получить как сочетание этих схем, что согласуется с технологией погрузки. Задача разработки горного массива, представленного в виде трехмерной фигуры, заключается в поиске ответа, с какой стороны следует начинать его разработку, т. е. в определении угла, который соответствует ориентации фронта разработки монолита — деления его на прямоугольные блоки определенных стандартных размеров. Актуальность задачи обусловлена тем, что каждый горный массив является уникальной и невоспроизводимой природной ценностью, а выход полезной продукции при планировании имеющимися методами его разработки иногда составляет не более 5–10 % объема. Основная сложность практической реализации метода связана с моделированием поверхности горного массива и его трещин на базе ограниченного количества выполненных измерений. Важной проблемой реализации прикладных программных систем, связанных с трехмерными раскроями, является поиск удобного и наглядного способа отображения полученного плана. Для этого может использоваться набор чертежей — сечений и проекций конструкции (если количество предметов мало) или демонстрация динамики процесса погрузки средствами трехмерной графики (если предметов много). В программной реализации задачи разработки горного массива используются алгоритмы трехмерной графики. Задача раскроя единственного объекта редко используется как самостоятельная, поскольку ее цель — определение списка предметов, которые следует получить из одного или нескольких одинаковых объектов, пренебрегая выпуском плохо выкраиваемых заготовок. Чаще она является вспомогательной при исследовании другой, практически гораздо более важной задачи, цель которой — определение минимального количества одинаковых или различных объектов раскроя для получения заготовок в требуемых количествах. 1) Трехмерная задача размещения грузов возникает при составлении планов погрузки в ТС (контейнеры, вагоны, трюмы теплоходов) продукции бумажного производства. Объектом раскроя является пространство внутри ТС, которое в случае контейнера имеет форму параллелепипеда, вагона — закругленной сверху фигуры, трюма теплохода — многогранной невыпуклой области. Единицей продукции бумажного производства обычно является параллелепипед (кипа бумаги, картона или листовой целлюлозы, упаковка сложенных ящиков или мешков) или круговой цилиндр (рулон 23 бумаги или картона). Задачу усложняют многочисленные ограничения технологического характера, включая жесткость конструкции, условия погрузки и крепления последних единиц, балансировку груза, обеспечение удобства разгрузки. В отличие от предыдущих, объекты раскроя в этой задаче дискретны. 2) К числу трехмерных задач раскроя можно отнести также задачу формирования поддонов, на которые слоями укладывают пачки листов или сложенных ящиков. Прочность конструкции обеспечивается чередованием слоев, связывающих пачки подобно кирпичной кладке. Слои могут несколько выходить за пределы площади поддона, иметь внутренние пустоты и неодинаковые размеры. Размеры кипы определяются наибольшими размерами слоев. Цель задачи — поиск укладки наибольшей объемной плотности. Структура слоя необязательно соответствует гильотинному раскрою. 3) В задаче компоновки ячеек на складе готовой продукции требуется не только плотно разместить запланированную номенклатуру единиц продукции, но и обеспечить требуемую очередность доступа к каждой из них. 14 Транспортная логистика. Матричная и сетевая транспортные задачи. Экономическое содержание и способы использования двойственных оценок (потенциалов и рент) Логистика — раздел прикладной математики (в частности ИСО), изучающий управление материально-техническим снабжением и сбытом продукции в целях минимизации затрат, повышения прибыли, сокращения рисков и убытков. Под понтием «транспортная логистика» понимается, например, доставки в кратчайшие сроки или с минимальными затратами. 14.1 Матричная и сетевая транспортные задачи Транспортные задачи в логистике и операционном исследовании можно классифицировать на матричные и сетевые. 1. Матричные транспортные задачи: Определение: Матричные транспортные задачи касаются распределения ресурсов (обычно товаров или грузов) из одного набора пунктов в другой с минимальными транспортными затратами. Особенности: В таких задачах существует матрица предложений и потребностей, где каждый элемент матрицы представляет собой количество ресурсов, которое должно быть перемещено между определенными парами пунктов. Цель: Минимизация общих затрат на транспорт при соблюдении ограничений предложений и потребностей. 24 2. Сетевые транспортные задачи: Определение: Сетевые транспортные задачи более сложны, так как они учитывают структуру сети, состоящей из узлов (пунктов) и связей (транспортных маршрутов) между ними. Особенности: Каждый узел может представлять склад, завод или другой пункт отправления/назначения, а связи определяют возможные транспортные маршруты. Цель: Эффективное управление маршрутами и потоками ресурсов в сети с целью минимизации транспортных затрат, времени доставки или других критериев. Решение этих задач часто включает использование методов линейного программирования и теории сетей, а также алгоритмов оптимизации для нахождения оптимальных решений, удовлетворяющих ограничениям и целям задачи. Простейший вариант транспортной задачи – однопродуктовая транспортная задача линейного программирования в матричной постановке: xij ≥ 0, n X i = 1, m, xij ≤ ai , j = 1, n; i = 1, m; j=1 m X xij ≥ bj , j = 1, n; i=1 m X n X . cij xij → min i=1 j=1 При стандартной интерпретации задачи предполагается, что в пунктах отправления (иначе предприятиях-производителях, складах, источниках и т.п.) имеет однородный продукт, причем в пункте i в количестве ai единиц. Этот продукт следует распределить между пунктами назначения (иначе предприятиями-потребителями, получателями, стоками и т.п.). Причем потребность j пункта составляет bj единиц, так чтобы минимизировать транспортные издержки; cij – затраты на перевозку единицы груза из i и j(обычно в денежном выражении, но cij может также выражать затраты времени); xij – объем перевозки из i в j. Для формальной записи сетевой транспортной задачи введем неориентированный граф G = (V, E) , где V – множество вершин, E – множество дуг. Пусть rkl – пропускная способность дуги (k, l) ∈ E, qk – мощность по обработке единицы груза k ∈ V , ckl – затраты на перевозку единицы груза по дуге (k, l) ∈ E, ck – затраты на обработку груза в узле k, Zkl – объем перевозки по дуге (k, l) ∈ E. 25 В этих обозначениях транспортная задача в сетевой постановке имеет вид: X 0 ≤ rkl ≤ Rkl , X zhk − zkl ≥ Bk , h∈E (k, l) ∈ E; (1.1) k ∈ M, (1.2) (k, l) ∈ E l∈E X zhk ≤ qk , k ∈ M, (k, l) ∈ E (1.3) h∈E X ckl zkl + ck k∈V (k,l)∈E 14.2 X X zhk → min (1.4) (h,k)∈E Экономическое содержание и способы использования двойственных оценок Рассмотрим задачу расчета оптимального производственного плана: P : z = c[N ]x[N ] = cx → max; (2.1) a[M, N ]x[N ] ≤ b[M ]; (2.2) для всех 0 ≤ xj j ∈ N. (2.3) и двойственную к ней задачу D: D: w = v[M ]b[M ] = cx → max; (2.4) v[M ]a[M, N ] ≥ b[M ]; (2.5) для всех 0 ≤ vj i ∈ M. (2.6) Пусть x∗ – оптимальными объемами реализации технологий, v ∗ – оптимальными оценками ресурсов. Тогда соотношения между оптимальными решениями этих задач x∗ и v ∗ приобретают форму определенных экономических связей между: 1. Согласно теореме двойственности, оптимальные значения целевых функций совпадают: X X cx∗j = vi∗ bi . j∈N i∈M Это означает, что величина наибольшего дохода равна стоимости расходуемых ресурсов измеренных в двойственных ценах. Для любых x ∈ W P , v ∈ W D X X cxj ≤ v i bi , j∈N x ∈ WP v ∈ W D. i∈M Таким образом, не только x∗ – наилучший план, но и v ∗ – самая точная оценка ресурсов. 26 2. Соотношения двойственности утверждают, что X aij x∗j < bi , i ∈ M ⇒ vi∗ = 0 i ∈ M, j∈N оценка равна vi∗ = 0, если ресурс i ∈ M используется не полностью и X vi∗ > 0 i ∈ M, ⇒ aij x∗j = bi , i ∈ M j∈N – положительное значение в ином случае. 3. Точно также x∗j > 0 j ∈ N X ⇒ vi∗ aij = cj , j∈N j∈N технология j ∈ N входит в состав оптимального плана, когда суммарные затраты ресурсов в ценах v ∗ равны cj . Для всех остальных технологий X vi∗ aij > cj , j ∈ N. ⇒ x∗j = 0 j ∈ N j∈N затраты ресурсов превышают доход от их использования. 4. Посмотрим, что произойдет в случае: • N ∗ — невырожденного базисного множества; • локального изменения параметров задачи b′i = bi +∆ bi для одного или нескольких индексов i ∈ M . В таком случае базисное множество не изменится в случае незначительной вариации параметров задачи. Оптимальный план x∗ будет пересчитан и станет равным x∗∆ , причем изменится и значение целевой функции c[N ]x∗∆ = v ∗ [M ]b′ , z∆ z = v ∗ [M ](bi + ∆), ∆ z = v ∗ [M ] · ∆ b. Таким образом, не пересчитывая оптимальный план, значения v ∗ позволяют оценить связь между дополнительными объемами ресурсов и оптимальным значением дохода. 5. Аналогичное соотношение можно получить для оценок ресурсов при изменении коэффициентов целевой функции. 27 Таким образом, линейная оптимизация становится мощным средством экономического анализа объекта, для которого рассчитывается оптимальный план. Случаи, когда ограничения исходной задачи обусловлены следующими параметрами: 1. Запасы производственных ресурсов. В таком случае двойственные оценки устанавливают зависимость размера дохода производства от объемов ресурсов в его распоряжении. 2. Станочное время, оценка работы специалистов. Двойственные оценки устанавливают целесообразность закупки дополнительного оборудования или найма специалистов, размеров их зарплат. 3. При планировании лесозаготовок двойственные оценки определяют дифференциальные природные ренты – налоги на заготовку древесины. 4. В случае МТПЗ часто вознкиает проблема распределения конечного дохода между участниками производственной цепочки, котора может быть экономически обусловлено решена с ипользованием комплексной экономико-математической модели и двойственных переменных. 15 Учет средствами транспортных задач динамики хранения и транспортировки лесосырья Для упрощения, допустим, что у нас есть несколько пунктов хранения и транспортировки, обозначенных индексами i и j соответственно. Переменные и обозначения: Tij – время транспортировки от пункта i до пункта j, Qi – количество лесосырья, хранимого в пункте i, Pi – цена лесосырья в пункте i, Rij – коэффициент убыли качества лесосырья в процессе транспортировки от i до j, Uij – уровень использования транспортного средства от i до j. Целевая функция: Максимизировать Z = XX i 28 j Pj · (1 − Rij ) · Qi Целевая функция стремится максимизировать выручку от продажи лесосырья с учетом его цены, убыли качества в процессе транспортировки и доступности транспортных средств. Ограничения: 1. Ограничение доступности лесосырья: X Qi ≤ Qtotal , i 2. Ограничение времени транспортировки: X Tij · Uij ≤ Tmax , j 3. Ограничение использования транспортных средств: 0 ≤ Uij ≤ Umax , 4. Ограничение качества лесосырья: Qj = (1 − Rij ) · Qi , XX 5. Ограничение наличия транспортных средств: Uij ≤ Utotal . i 16 j Модели транспортировки и переработки лесосырья. Многоэтапные модели (МТПЗ) Оптимизация транспортировки лесосырья в рамках относительно замкнутого экономического региона или холдинга обычно соответствует сетевой или матричной ТЗ, модели которых допускают различные варианты и модификации класичесских формулировок задач. 1. Нелинейность затрат и границы потоков; 2. Учет ассортимента и качества лесосырья, внешних продаж и поставок; 3. и более сложные, нелинейные варианты задачи: 3.1 Различные задачи строительства ЛЗП, распределения капиталовложений; 3.2 Многоэтапная транспортно-производственная задача (МТПЗ); 3.3 Учет стохастики параметров и решения задачи; 3.4 и другие. 16.1 Математическая модель многоэтапной транспортнопроизводственной задачи (МТПЗ). Пусть p ∈ P – множество территориально распределенных производственных предприятий. Каждое предприятие может организовать собственную работу, используя внутренние ресурсы множества Mp , множества Mp не пересекаются, также: M = ∪p∈P Mp . 29 Np ⊂ N – подмножество технологических операций j ∈ N , выполняемых производственным звеном с индексом p ∈ P таких, что: N = ∪p∈P Np . Пусть множества Np дизъюнктивны для различных p ∈ P . В качестве управляемых факторов xj , j ∈ N , введем плановые объемы реализации технологий: 0 ≤ xj ≤ dj , j ∈ N, (dj > 0). Пусть x = x[Np ] ∈ Ωp , где Ωp – некоторое выпуклое замкнутое множество, определяемое расходованием внутренних ресурсов производства p. Кроме собственных ресурсов производственная программа предприятий связана с обработкой множетсва S внешних ресурсов(сырья, переделов, конечных продуктов). Объемы выработки и потребления этих ресурсов определяют плановые показатели технологий производства p: wp [S] = (x1p , wp2 , . . . , wp|S| ), что отражает оператор Gp (x[Np ]) : Ωp → R|S| , то есть wp [S] = Gp (x[Np ]), где: • wp [S] ≥ 0 для пункта производства p продукта s, • wp [S] ≤ 0 для пункта потребления p продукта s, • wp [S] = 0, если производство p не связано с потреблением или выработкой продукта s. Введем двухсторонние ограничения объемов реализации технологий: Hs ≥ (s ∈ S). Пространтвенная распределенность производств приводит к появлению в модели транспортных потоков: hs , s ypq ≥ 0, p, q ∈ p, s ∈ S. Итак, предполагая линейность затрат на транспортировку ресурсов, получим следующую математическую модель. Допустимость интенсивностей технологий: x[Np ] ∈ Ωp , p ∈ P (1) Связь объемов портребления(выработки) ресурсов с интенсивностями технологий: wp [S] = Gp (x[Np ]), p∈P (2) Сбалансированность суммарного расходования и выработки ресурсов: X hs ≤ wps ≤ Hs , s ∈ S, (3) p∈P 30 Сбалансированность транспортных потоков производств: X s s (yqp − ypq ) = wps , p ∈ P, s ∈ S (4) q∈P Ограниченность интенсивностей технологий: 0 ≤ xj ≤ dj , j∈N (5) Неотрицательность транспортных потоков: s ypq ≥ 0, p, q ∈ P, s∈S (6) Целевая функция задачи отражает минимальные транспортно-производственные затраты, необходимые для выполнения производственного плана: X X s s Fp (x[Np ]) + σpq ypq → min. p∈P 17 p,q∈P,s∈S Многопродуктовая транспортная задача в лесном комплексе. Особенности моделирования использования различных транспортных средств, сокращения порожнего пробега, замены лесосырья Рассмотрим математическую модель для многопродуктовой транспортной задачи в лесном комплексе. Основная цель - эффективное распределение различных продуктов лесной деятельности с учетом разнообразных пунктов производства, потребления и типов транспортных средств. Математическая модель Обозначим переменные: Qij – количество продукта i, перевозимого от пункта j к пункту i, Tijk – время транспортировки продукта i от пункта j к пункту i с использованием транспортного средст Uijk – уровень использования транспортного средства k для перевозки продукта i от пункта j к пункту Cijk – стоимость транспортировки продукта i от пункта j к пункту i с использованием транспортного ср Целевая функция: Minimize Z = XXX i j 31 k Cijk · Uijk · Tijk Ограничения: 1. Ограничение на общее количество продукта: XX i Qij ≤ Qtotal , j XXX 2. Ограничение на общее время транспортировки: i j Uijk · Tijk ≤ Tmax , k 3. Ограничение на уровень использования транспортных средств: 0 ≤ Uijk ≤ Umax , XXX 4. Ограничение наличия транспортных средств: Uijk ≤ Utotal , i j k 5. Ограничение качества продукта: Qij = (1 − Rijk ) · Qij , где Rijk - коэффициент убыли качества продукта i в процессе транспортировки от j к i с использованием транспортного средства k. Особенности моделирования Моделирование включает в себя выбор оптимальных маршрутов, определение оптимального использования транспортных средств для снижения порожнего пробега и возможности замены лесосырья в процессе транспортировки в случае изменения обстоятельств. Такая математическая модель позволяет оптимизировать процессы транспортировки в лесном комплексе, учитывая многопродуктовую природу задачи, разнообразные транспортные средства и динамические условия. 18 Задачи размещения предприятий ЛПК 19 Оптимизация схемы лесовозных дорог Расчет оптимальных маршрутов транспортировки лесосырья характерна для региона или холдинга, который координирует деятельность нескольких лесозаготовительных предприятий (ЛЗП) – леспромхозов, а также лесопильных, целлюлозно-бумажных, лесохимических, мебельных и прочих предприятий переработки и торговли – потребителей лесосырья. Оптимизация транспортировки лесосырья в рамках относительно замкнутого экономического региона или холдинга обычно соответствует сетевой или матричной ТЗ, модели которых допускают различные варианты и модификации классических формулировок задач. Нелинейность затрат и границы потоков. 1. Учет нижних и верхних границ потоков для части маршрутов перевозки. 2. Учет возможной нелинейности (выпуклости) некотороых функций зависимости затрат от объемов транспортировки лесосырья. 32 Учет ассортимента и качества лесосырья, внешних продаж и поставок 3. Компенсация объемами поставок потребителям возможных отклонений структуры или качества поставок лесосырья от предусмотренных потребителями заявок (λ-задача). 4. Расширение рынка торговли лесосырьем за счет продажи сторонним потребителям или покупки у сторонних поставщиков (открытая ТЗ). 5. Многопродуктовая ТЗ возможностью замены в некоторых случаях части ассортимента или объема лесосырья. 6. Транспортно-производственная задача с учетом затрат не только на транспортировку, но и на заготовку лесосырья. 7. Возможность использования различных средств доставки лесосырья, включая автопоезда, железнодорожные вагоны, водный транспорт и пр. с учетом стоимости погрузочно-разгрузочных работ. 8. Наличие нескольких последовательных этапов производства. Примером такого технологического процесса является лесопильное производство, технологическая щепа которого перерабатывается другим предприятием в целлюлозу, бумагу, бумажно-беловые товары и пр. 9. Сезонность условно «зимних и летних затрат» заготовки и транспортировки лесосырья, возможность создания запасов на складах леспромхозов и на биржах перерабатывающих предприятий. 10. Возможность сокращения порожнего пробега лесовозного транспорта за посредством формирования замкнутых маршрутов движения, в составе которых несколько перевозок в течение смены. Более сложные, нелинейные варианты задачи 11. Различные задача строительства ЛЗП, распределения капиталовложений. 12. Многоэтапная транспортно-производственная задача (МТПЗ). 13. ТЗ по критерию времени и другим нелинейным целевым функциям. 14. Вывод лесосеки региона на параметры нормального пользования. 15. Учет стохастики параметров и решения задачи. 33 20 20.1 Задачи управления запасами и отгрузкой продукции Постановка задачи: "Управление запасами и отгрузкой продукции" Ключевая проблема: Оптимизация уровня запасов продукции на складе и эффективное планирование отгрузок для минимизации издержек, связанных с хранением, и обеспечение своевременного удовлетворения потребностей клиентов. Методы возможного решения: 1. Методы оптимизации запасов: • EOQ (Экономический заказ количества): Метод определения оптимального размера заказа для минимизации общих затрат на заказы и хранение. • ROP (Точка заказа): Определение уровня запасов, при достижении которого производится новый заказ. 2. Методы оптимизации отгрузок: • Маршрутизация транспорта: Выбор оптимальных маршрутов для транспортировки продукции, учитывая ограничения и стоимость. • Планирование поставок: Определение оптимального расписания поставок для минимизации времени и издержек. Примеры: 1. Проблема заказов на поставку товаров: • Ключевая проблема: Определение оптимального размера заказа для уменьшения издержек на хранение и заказы. • Метод решения: Применение EOQ для оптимизации размера заказа с учетом стоимости заказов и хранения. 2. Проблема логистики и отгрузки: • Ключевая проблема: Минимизация времени и стоимости транспортировки при обеспечении своевременной поставки клиентам. • Метод решения: Использование алгоритмов маршрутизации и планирования поставок для оптимизации маршрутов и времени доставки. 3. Проблема сезонного спроса: • Ключевая проблема: Управление запасами и отгрузкой в условиях переменного сезонного спроса. 34 • Метод решения: Применение методов прогнозирования спроса и адаптивное управление запасами для эффективного реагирования на изменения в спросе. Пусть у нас есть N периодов времени, в течение которых нужно управлять запасами и отгрузкой продукции. Обозначим через It уровень запасов в период t, а через Dt - спрос в этот период. Также у нас есть функция стоимости запасов h(It ) и функция стоимости отгрузки St в период t. Наша цель - минимизировать общую стоимость, включая стоимость запасов и стоимость отгрузки: Минимизировать N X (h(It ) + St ) t=1 20.2 Метод динамического программирования Введем функцию стоимости Jt (It ), представляющую собой минимальную стоимость в период t при уровне запасов It . Тогда рекурсивная формула для Jt (It ) может быть записана следующим образом: Jt (It ) = min (h(It ) + Jt−1 (It−1 ), St + Jt−1 (It−1 − Dt )) 20.3 Реализация алгоритма Инициализация: N - количество периодов I[1..N] - уровни запасов в каждом периоде D[1..N] - спрос в каждом периоде h(I) - функция стоимости запасов S[1..N] - стоимость отгрузки в каждом периоде Инициализация динамической таблицы: J[0..N][0..max_I] - таблица для хранения минимальной стоимости Заполнить J[0][i] для всех i от 0 до max_I значением h(i) (начальные условия) Вычисление минимальной стоимости: For t from 1 to N: For I_t from 0 to max_I: J[t][I_t] = min( h(I_t) + J[t-1][I_t], S[t] + J[t-1][max(0, I_t - D[t])] ) % Стоимость удержания запасов % Стоимость отгрузки Восстановление оптимальной стратегии (опционально): 35 optimal_strategy[1..N] - массив для хранения оптимальных действий For t from N to 1: If J[t][I_t] = h(I_t) + J[t-1][I_t]: % Лучшее решение - удержание запасов optimal_strategy[t] = "Hold" Else: % Лучшее решение - отгрузка optimal_strategy[t] = "Ship" I_t = max(0, I_t - D[t]) 21 Формы и примеры развития систем на основе оптимизационных моделей. Задача баланса щелоков предприятия ЦБК Задача баланса щелоков на предприятии ЦБК включает в себя оптимизацию расхода щелочных веществ, необходимых для производства целлюлозы и бумаги, с учетом ограничений на их доступность, стоимость и другие факторы. Основной целью является обеспечение эффективного использования ресурсов и минимизация затрат при производстве целлюлозно-бумажной продукции. 21.1 21.1.1 Примеры развития систем на основе оптимизационных моделей Транспортная логистика Проблема: Оптимизация маршрутов доставки и распределения грузов. Оптимизационная модель: Модель транспортной задачи для минимизации общих транспортных издержек. Развитие системы: Использование машинного обучения для адаптивного прогнозирования трафика и изменения маршрутов в режиме реального времени. 21.1.2 Финансовое планирование Проблема: Эффективное распределение инвестиционных портфелей. Оптимизационная модель: Модель портфельной оптимизации для максимизации доходности при заданных рисках. Развитие системы: Внедрение алгоритмов глубокого обучения для анализа рыночных тенденций и предсказания оптимального состава портфеля. 36 21.1.3 Производственный процесс Проблема: Оптимизация планирования производства и управления запасами. Оптимизационная модель: Модель линейного программирования для минимизации затрат на производство. Развитие системы: Использование технологии Интернета вещей (IoT) для мониторинга оборудования и автоматического обновления оптимального расписания производства. 21.1.4 Энергетическое управление Проблема: Эффективное распределение энергии в сети. Оптимизационная модель: Модель линейного программирования для минимизации издержек на производство и передачу энергии. Развитие системы: Внедрение смарт-сетей с автоматическим управлением расходом энергии и интеграция возобновляемых источников энергии. 21.1.5 Телекоммуникационные сети Проблема: Максимизация пропускной способности и минимизация задержек в сетях передачи данных. Оптимизационная модель: Модель оптимизации сетевых ресурсов для оптимального распределения трафика. Развитие системы: Внедрение технологии 5G и использование алгоритмов машинного обучения для адаптивного управления сетью. 21.2 21.2.1 Методы решения Линейное программирование для баланса щелоков Минимизация стоимости: minimize n X ci · xi i=1 Ограничения: subject to n X aij · xi ≤ bj , for j = 1, 2, . . . , m i=1 xi ≥ 0, for i = 1, 2, . . . , n 37 21.2.2 Динамическое программирование для баланса щелоков во времени Рекуррентная формула: J(t, i) = min J(t − 1, i) + ci , min J(t − 1, j) + cost(i, j) j 21.2.3 Нелинейное программирование для баланса щелоков с учетом нелинейных зависимостей Целевая функция: minimize f (x) Ограничения: subject to 21.2.4 gi (x) ≤ 0, for i = 1, 2, . . . , m hj (x) = 0, for j = 1, 2, . . . , p Пример использования LP для баланса щелоков Предположим, у нас есть следующая задача баланса щелоков: P n Целевая функция: Минимизировать затраты: minx1 ,x2 ,...,xn i=1 ci ·xi , где xi - расходы на i-е щелочное вещество. Ограничения: subject to n X aij · xi ≤ bj , for j = 1, 2, . . . , m i=1 xi ≥ 0, fori = 1, 2, . . . , n Применим LP для минимизации затрат на расходы на щелочные вещества. LP для баланса щелоков [1] Инициализация переменных и P коэффициенPn n тов Целевая функция: minimize c ·x Ограничения: i i i=1 i=1 aij ·xi ≤ bj , for j = 1, 2, . . . , m xi ≥ 0, for i = 1, 2, . . . , n 21.2.5 Пример использования ДП для баланса щелоков во времени Предположим, у нас есть задача баланса щелоков во времени, и мы хотим оптимизировать затраты на расходы на щелочные вещества. Рекуррентная формула: J(t, i) = min (J(t − 1, i) + ci , minj J(t − 1, j) + cost(i, j)) Применим ДП для оптимизации баланса щелоков во времени. ДП для баланса щелоков во времени [1] Инициализация динамической таблицы t ← 1 to N i ← 1 to n Вычисление J(t, i) по рекуррентной формуле 38 22 Формы и примеры разбития систем на основе оптимизационных моделей. Задача раскроя съемов тамбуров БДМ 22.1 Постановка задачи Бумагоделательная машина (БДМ) является ключевым оборудованием в производстве бумаги. Задача раскроя съема тамбура БДМ заключается в оптимизации процесса разрезки бумажных листов, полученных с тамбура, на более мелкие, соответствующие требованиям заказов. Основные аспекты задачи включают: 1. Минимизация Отходов: Эффективное распределение размеров разрезаемых листов для минимизации отходов материала. 2. Учет Требований Заказов: Удовлетворение конкретных требований заказов к размерам и формам бумажных изделий. 3. Оптимизация Производительности: Максимизация производительности раскройного процесса. 22.2 Математическая модель задачи раскроя съема тамбура БДМ Минимизация отходов: Minimize XX i wasteij · xij j Ограничения: X xij · sizei ≥ demandj , ∀j i X xij ≤ M · yi , ∀i j X sizei · yi ≤ tambour_size i Где: wasteij - отходы при использовании листа бумаги размера i для заказа j, sizei - размер листа бумаги i, demandj - требования заказа j к количеству бумаги, M - большое положительное число (достаточно большое), tambour_size - размер тамбура БДМ. Переменные: xij ≥ 0, ∀i, j и yi ∈ {0, 1}, 39 ∀i 22.3 22.3.1 Исследование операций Методы Решения 1. Динамическое Программирование: Применяется для оптимального распределения размеров листов с учетом минимизации отходов. 2. Метаэвристические Методы: Генетические алгоритмы или муравьиные алгоритмы могут использоваться для поиска оптимальных вариантов раскроя в большом пространстве возможных решений. 22.3.2 Реализация Алгоритма Динамического Программирования Динамическое Программирование для Раскроя Тамбура БДМ [1] Инициализировать таблицу для запоминания оптимальных решений каждого возможного размера листа каждого возможного разреза Рассчитать оптимальное решение для текущего разреза и размера листа Запомнить результат в таблице 22.3.3 Результаты Результаты исследования предоставят оптимальные стратегии раскроя съема тамбура БДМ, что приведет к минимизации отходов, соблюдению требований заказов и повышению общей эффективности производства. 23 Формы и примеры развития систем на основе оптимизационных моделей. Планирование производства упаковки 23.1 Планирование производства упаковки 23.2 Основная проблема Одной из основных проблем в планировании производства упаковки является оптимизация процесса производства, чтобы удовлетворять спрос и снижать затраты. Это включает в себя эффективное использование ресурсов, минимизацию времени цикла производства, учет различных типов упаковки и их характеристик. 23.2.1 Основные методы решения 1. Линейное программирование (LP): Метод оптимизации, позволяющий формально описать и решить задачу планирования с учетом ограничений и целевых функций. 40 2. Динамическое программирование (DP): Применяется для оптимизации расписания и управления ресурсами в долгосрочной перспективе, учитывая изменяющиеся условия. 3. Генетические алгоритмы: Метаэвристический метод, подходящий для поиска оптимальных решений в пространстве возможных расписаний производства. 23.2.2 Пример математической модели Минимизация затрат: Minimize XX i costij · xij j Ограничения: X xij ≥ demandj , ∀j i xij ≥ 0, ∀i, j Где: costij - затраты на производство упаковки типа i в период j, demandj - спрос в период j. 23.2.3 Псевдокод решения (Генетический алгоритм) Генетический алгоритм для планирования производства упаковки [1] ГенетическийАлгоритм ИнициализацияПопуляции() Начальная генерация популяции ОценкаПриспособленности() Оценка приспособленности особей не КритерийОстановки() ВыборРодителей() Выбор родителей Скрещивание() Скрещивание Мутация() Мутация ОценкаПриспособленности() Переоценка приспособленности Вернуть ЛучшееРешение() 24 24.1 24.1.1 Формы и примеры развития систем на основе оптимизационных моделей. Планирование производства Фанеры Задача планирования производства фанеры Основная проблема Одной из основных проблем планирования производства фанеры является оптимизация производственных процессов с учетом различных ограничений, таких как доступность сырья, производственные мощности, технологические особенности производства, спрос рынка и другие факторы. 41 24.1.2 Основные методы решения Для решения задачи планирования производства фанеры применяются различные методы, включая линейное программирование, динамическое программирование, методы оптимизации, искусственный интеллект, генетические алгоритмы и многие другие. 24.1.3 Математическая модель Математическая модель для задачи планирования производства фанеры может быть сформулирована в виде задачи линейного программирования. Предположим, что у нас есть n видов продукции, m типов ресурсов и T временных точек планирования. Целевая функция может быть сформулирована как максимизация прибыли от производства фанеры: Maximize Z = n X T X pi · qit i=1 t=1 где pi - цена продукции i, qit - количество произведенной продукции i в момент времени t. При этом, с учетом различных ограничений, задача может быть сформулирована следующим образом: Subject to: T X t=1 n X ajt · xt ≤ bj , j = 1, 2, . . . , m cit · qit ≤ dt , t = 1, 2, . . . , T i=1 xt , qit ≥ 0, i = 1, 2, . . . , n; t = 1, 2, . . . , T где ajt - коэффициент использования ресурса j в момент времени t, bj доступные ресурсы, cit - коэффициент производства продукции i в момент времени t, dt - потребность в продукции в момент времени t. 24.1.4 Пример псевдокода решения Приведем пример псевдокода для решения задачи планирования производства фанеры с использованием генетического алгоритма в соответствии с предыдущим примером. Генетический алгоритм для планирования производства фанеры GeneticAlgorithmnum_generations, population_size population = InitialPopulationpopulation_size g ← 1 to num_generations fitness_values = [FitnessFunctionchromosome for chromosome in population] selected_population = Selectionpopulation, fitness_values next_generation = [] i ← 1 to population_size parent1, parent2 = SelectParentsselected_population child = Crossoverparent1, parent2 mutated_child = Mutatechild next_generation.append(mutated_child) population = next_generation GetBestSolutionpopulation 42 25 25.1 Формы и примеры развития систем на основе оптимизационных моделей. АСУ ремонтномеханического производства Основные элементы АСУ ремонтно-механического производства 1. Сенсоры и датчики: Измеряют различные параметры, такие как температура, давление, вибрация и уровень жидкости для мониторинга состояния оборудования. 2. Приводы и исполнительные устройства: Отвечают за управление механическими элементами, такими как роботы, конвейеры, манипуляторы. 3. Контроллеры: Центральное звено системы, которое принимает данные от сенсоров, принимает решения и отправляет команды исполнительным устройствам. 4. Коммуникационная сеть: Обеспечивает передачу данных между всеми компонентами системы для координации и обмена информацией. 5. Программное обеспечение: Включает в себя программы управления, мониторинга и диагностики, а также базы данных для хранения и обработки информации. 25.2 Основные методы АСУ в ремонтно-механическом производстве 1. PLC (Programmable Logic Controller): Используется для программирования и контроля процессов производства, особенно в ремонте и обслуживании оборудования. 2. SCADA (Supervisory Control and Data Acquisition): Обеспечивает визуализацию производственных процессов и сбор данных для принятия решений на основе реального времени. 3. MES (Manufacturing Execution System): Управляет выполнением производственных заказов, планированием и контролем операций. 4. Системы диагностики и прогнозирования: Производят анализ состояния оборудования с использованием методов машинного обучения для предсказания возможных отказов. 43 25.3 Алгоритмы, используемые в АСУ ремонтно-механического производства 1. Алгоритм управления процессом: Определяет последовательность действий для эффективного управления процессами обслуживания и ремонта. 2. Алгоритм диагностики: Используется для определения неисправностей и оценки состояния оборудования на основе данных от сенсоров. 3. Алгоритм планирования обслуживания: Оптимизирует расписание обслуживания оборудования, минимизируя простои и улучшая производительность. 4. Алгоритм оптимизации запасов: Автоматизирует управление запасами и закупками для обеспечения эффективного использования ресурсов. 25.3.1 Математическая модель для алгоритма управления процессом Давайте рассмотрим простой пример математической модели для одного из методов АСУ в ремонтно-механическом производстве, а именно для алгоритма управления процессом. Предположим, что у нас есть простая система управления температурой в промышленной печи, и мы хотим создать математическую модель для алгоритма PID-регулятора. Математическая модель PID-регулятора: Z t de(t) u(t) = Kp e(t) + Ki e(τ )dτ + Kd dt 0 Где: u(t) - управляющий сигнал, e(t) - ошибка температуры, Kp , Ki , Kd - коэффициенты пропорциональности, интегральной и дифференциальной составляющих соо 25.4 Примерный алгоритм работы АСУ в ремонтномеханическом производстве 1. Сбор данных: Сенсоры мониторят параметры оборудования. 2. Передача данных: Собранные данные передаются контроллеру через сеть. 3. Анализ данных: Контроллер анализирует данные и определяет состояние оборудования. 44 4. Принятие решений: На основе анализа контроллер принимает решения о необходимых действиях. 5. Выполнение команд: Контроллер отправляет команды исполнительным устройствам для проведения ремонтных или обслуживающих работ. 6. Мониторинг и отчетность: Система отслеживает выполнение работ и предоставляет отчеты для анализа и улучшения производственных процессов. 26 Модели учета расходования воды, тепла, электричества Работа предприятия требует тщательного учета расходования ресурсов(химикатов, воды, электроэнергии, пара, тепла и пр.). Рассмотрим задачу на примере водообеспечения и водоотведения. Исследование проблемы приводит к появлению следующих математических задач: • определение фактических потоков ресурса по каждой коммуникации на основании снятых показаний счетчиков, расходомеров в течение контрольного периода с учетом погрешности прибора в сторону завышения(занижения); • определение неизвестных фактических объемов расходования ресурса производствами предприятия; • уточнение текущих и систематических погрешностей приборов, транспортных и производственных потерь, утечек. Методы математического моделирования и оптимизации обеспечивают совместное решение перечисленных задач. Опишем математическую модель на примере расходования и потребления воды и промышленных стоков. Основная структура данных задачи – граф G = ⟨V, E⟩, вершины которого соответствуют следующим объектам: i− – источнику чистой воды; i+ – конечному коллектору промышленных стоков; V− – множеству коллекторов-распределителей чистой воды; V+ – множеству коллекторов промышленных стоков V0 – агрегатам или производствам комбината Множество вершин графа V = i− ∪ i+ ∪ V− ∪ V+ ∪ V0 , а множество E дуг графа соответствует совокупности трубопроводов, часть которых оснащена счетчиками. Будем считать, что счетчики имеются на всех трубопроводах и показания известны. Ei+ – множество дуг, входящих в вершину i; 45 Ei− – множество дуг, выходящих из вершины i; Введем параметры дуг и вершин графа. Будем считать, что все вершины i ∈ V \ {i+ } \ {i− } способны накапливать запасы жидкости, каждой из них соответствует di – запас жидкости к началу и Di – к окончанию рассматриваемого периода. Другие параметры задачи: θi+ — верхняя граница доли расхода потока; θi− — ее нижняя граница. Для дуг u ∈ E введем параметры: bu — контрольный результат измерений; τu+ — погрешность измерительного прибора в сторону завышения показания расхода; τu− — погрешность в сторону занижения; λu — доля потери или жидкости в трубопроводе (по отношению к потоку). Потери в трубопроводах полезно ввести ввиду возможных аварий или временных отказов измерительного оборудования, которые не представляется возможным учесть каким-либо другим образом. Управляемые факторы соответствуют неизвестным задачи: xu — расчетное значение потока в трубопроводе u ∈ E; Zu+ — превышение расчетным потоком xu верхней границы диапазона погрешности прибора; Zu− — занижение нижней границы этого диапазона (u ∈ E). Тогда математическая модель приобретает следующий вид. Ее цель — минимизация суммарного выхода расчетных потоков за диапазоны погрешностей приборов: uE(Zu+ + Zu− ) → max . (1) Условия задачи ограничивают диапазоном погрешности разности измеренного и расчетного потоков: (1 − τu− − Zu− ) · bu ≤ xu ≤ (1 + τu+ + Zu+ ) · bu , u ∈ E, (2) устанавливают нижние и верхние границы потерь в узлах: uEi+ xu − (1 + θi+ ) × uEi− λu · xu ≤ Di − di , i ∈ V \ {i+ } \ {i− }, (3) uEi+ xu − (1 − θi− ) × uEi− λu · xu ≥ di − Di , i ∈ V \ {i+ } \ {i− }. (4) Модель дополняют условия не отрицательности: xu , Zu− , Zu+ ≥ 0, u ∈ E. (5) Возможны и другие функционалы задачи. Для ее решения можно использовать обычный симплексный метод. Задача меняется незначительно, если имеется несколько источников чистой воды или стоков. 46 27 Модели выбора транспортных средств и размещения грузов в вагонах контейнера Содержание и постановка задачи выбора транспортных средств и планирования отгрузки продукции относится к разделу логистики. Основные и вспомогательные взаимосвязанные задачи, решение которых требуется при создании системы выбора ТС, уточнения объемов и построения схем погрузки продукции разнообразны. Остановимся на математических моделях и методах решения некоторых, наиболее важных из них: задачах поиска равномерного разбиения набора рулонов на вертикальные столбики и размещения этих столбиков по площади ТС с учетом технологии погрузки, поиска наиболее равномерного по весу, объему или по совокупности этих показателей распределения грузов между однотипными ТС. Укажем основные этапы алгоритма решения рассматриваемого комплекса задач. Шаг 1 Разметка площади ТС на точки погрузки центров рулонов. Шаг 2 Расчет составов столбиков внутри ТС. Шаг 3 Расчет допустимых по объему и весу планов. Шаг 4 Распределение грузов между ТС. Шаг 5 Уточнение состава и количества столбцов с учетом геометрической вместимости ТС. Шаг 6 Выбор «мозаики» на днище ТС. Шаг 7 Размещение столбиков с учетом балансировки и жесткости конструкции. При разработке алгоритма потребовалось решение следующих вспомогательных комбинаторных задач: 1. Распределить расчетное количество рулонов разных форматов между различными экземплярами ТС одинакового вида. На практике востребованы две стратегии: обеспечить, по возможности, минимальную номенклатуру форматов в каждом из ТС или примерно одинаковое заполнение каждого из них, которые приводят к совершенно различным результатам. 2. Для каждого ТС определить оптимальное количество столбиков рулонов, которые будут содержать все предназначенные для погрузки в него рулоны. Задача весьма актуальна при погрузке больш`х по объему, но недостаточных по грузоподъемности ТС, ввиду необходимости плотного заполнения столбиками рулонов всей площади его днища. 3. Распределить рулоны, предназначенные для погрузки в одно ТС, между столбиками таким образом, чтобы минимизировать разницу высоты между самым высоким и самым низким из них, обеспечивая тем самым жесткость заполнения ТС. 4. Распределить столбики внутри ТС, чтобы минимизировать отклонение центра тяжести системы от геометрического центра. 47 Рассмотрим модели и методы решения перечисленных задач. 1) Задача размещения центров столбиков рулонов на площади дна ТС существенно упрощается ввиду следующих особенностей технологии погрузки: • диаметр рулона составляет от 20 % до 60 % ширины ТС; • в ТС загружаются рулоны не более двух, близких по величине, диаметров; • наиболее предпочтительными являются регулярные, центрально-симметричные мозаики, рулоны различных диаметров загружаются последовательно; • точного решения задачи не требуется. 2) В случае применения метода генерации столбцов построение столбиков рулонов на шаге 2 сводится к оптимальному раскрою высоты контейнера на форматы рулонов при проверке оптимальности текущего базисного плана следующей задачи. 3) Задача выбора планов с учетом групп объектов раскроя является центральной задачей ЛП комплекса, поскольку занятый объем и масса груза линейно зависят от количества помещенных в ТС рулонов. Ее цель — выбор способов заполнения каждого из ТС столбиками рулонов с учетом вместимости, грузоподъемности и соответствия содержимого ТС структуре заказа. На этом этапе не учитываются жесткость конструкции, положение центра тяжести и целочисленность количества определенных столбиков рулонов в каждом ТС. M — множество форматов продукции (предметов раскроя), Biy , byi — верхняя и нижняя границы количества планируемых к отгрузке рулонов формата i ∈ M ; Q — множество видов ТС, Bqv — известное количество имеющихся, vq — неизвестное, необходимое для отгрузки число ТС вида q ∈ Q, Wq — грузоподъемность, cyq — оценка эксплуатационных расходов; K — множество высот столбиков рулонов всех ТС Kq ⊂ K — группа объектов раскроя, относящихся к ТС (q ∈ Q); Nk — множество конструкций столбиков рулонов, определяемых соответствующей высотой, N = ∪k∈K Nk ; hj — высота, wj — вес, xj — неизвестное количество планируемых к погрузке столбиков конструкции j ∈ N ; dqj — доля площади днища ТС q ∈ Q, занятого столбиком j ∈ Nq ; Aij — число рулонов продукции формата i ∈ M в столбце j ∈ N . 48 Хотя ТС разного вида могут содержать столбики одинаковой высоты, их следует различать (множества Kq считать не пересекающимися). Границы количества рулонов Biy и byi могут совпадать и жестко задавать объем продукции или различаться (byi < Biy ), допуская отклонения для наиболее полного использования ТС. Можно определить cyi = 1 и получить задачу определения минимального количества ТС, необходимого для отгрузки заказа, или cyi = Wi , максимизируя плотность загрузки. Значение dqj получено решением задачи геометрической оптимизации, параметры Aqj можно получить в результате решения предшествующей задачи. Сформулируем математическую модель. Функционал задачи — минимум линейной формы, где θ — полученное подбором малое положительное число. Условие ограничения объемов отгрузки связывают неизвестные количества столбцов и вместимость ТС, вес груза и его грузоподъемность задают границы переменных, условия целочисленности. qQcyq yi − θ × (qQjNq dqj xj ) → min byi ≤ jN Aij xj ≤ Biy , jNq dqj xj ≤ yq , jNq wj xj ≤ Wq yq , 0 ≥ yq ≥ Bqy , q ∈ Q, i ∈ M, q ∈ Q, (2) (3) q ∈ Q. xj ≥ 0, (1) j ∈ N. (4) (5) xs — целые, s ∈ S, (6) yi — целые, i ∈ M, (7) Для решения основного логического модуля системы используется метод генерации столбцов, основанный на решении ряда задач линейного раскроя. Различия высоты столбцов у стенок, в центре и возле ворот вагона, под карнизами и в середине трюма теплохода учитываются формированием групп объектов раскроя. Чтобы добиться целочисленности, используется метод ветвей и границ, основанный на многократном решении этой задачи с пересчетом cj и правых частей Bqy . Устранение дробных значений x∗s , выполняется на следующем этапе и требует другой техники комбинаторной оптимизации. 4) Задачи распределения и размещения рулоновзавершают расчет плана. Переход от линейной модели к схемам погрузки основан на решении следующих задач: 1. Распределение требуемого количества рулонов заданных форматов между ТС с целью минимизации числа видов продукции в каждом ТС или унификация их заполнения; 2. Уточнение структуры столбиков рулонов при погрузке больш´х по объему, но недостаточных по грузоподъемности ТС для обеспечения жесткости конструкции и заполнения всей площади дна; 49 3. Распределение рулонов одного ТС по столбикам по критерию наименьшей разности высот самого высокого и низкого из них; 4. Распределение столбиков внутри ТС с учетом технологии погрузки и отклонения центра тяжести системы от геометрического центра. Решение перечисленных задач осуществляется в указанном порядке, каждая из них уточняет решение предшествующей. Субоптимальные решения 1 и 3 задач находятся методом локальной оптимизации, на первом этапе которого жадным алгоритмом строится начальное (не обязательно допустимое) решение, которое последовательно улучшается перестановками пар и троек рулонов. Для построения приемлемых решений 2 и 4 задач используется симметрия планов погрузки. 28 Задача плоского раскроя и задача поиска неисправности Задача плоского раскроя Как важное обобщение задачи линейного раскроя рассматривается задача раскроя прямоугольного листа на прямоугольные заготовки сквозными резами, параллельными краям. Это условие объясняется технологией, при которой для раскроя используют гильотинные ножницы, это позволяет свести задачу к процессу динамического программирования, в котором состояние описывается парой целых чисел – длиной и шириной листа. Задача гильотинного раскроя: пусть задана пара положительных целых чисел (l0 , w0 ) – длина и ширина исходного прямоугольника и n троек чисел (li , wi , ci ), где li , wi – положительные целые числа, задающие длину и ширину i-той заготовки, а ci – ее стоимость. Требуется указать способ раскроя – по длине и ширине – расстояние резов от края так, чтобы сумма стоимостей получившихся заготовок была максимальной. Наряду с исходной задачей мы будем решать такую же задачу со всеми меньшими(целочисленными значениями) l0 и w0 . Обозначив максимум этой суммы для листа (l, w) через u[l, w], мы получим для потенциалов u реккурентное соотношение u[l, w] = max{maxλ∈[0,l] (u[l−λ, w]+u[λ, w]), maxω∈[0,w] (u[l, w]+u[l, w−ω])} Дополнительные условия – условие неотрицательности, u[0, w] = u[l, 0] = 0 и u[li , wi ] ≥ ci . Для обеспечения единственности потребуем минимальность решения. Единственность решения можно достичь полагая u[l, w] = max{maxl , maxw , max{ ci |li ≤ l, wi ≤ w} , 0} В вычислениях следует брать за основу данное уравнение. Поиск неисправности В основе теории надежности лежит представление о вероятности безотказной работы устройства, которое случайно может выйти из строя. При 50 этом вероятность определяется как с учетом, так и без учета срока службы устройства. Для характеристики эксплуатационной пригодности устройства вводится понятие индикатора неисправности, или индикатора состояния, который является случайной величиной X. Если устройство пригодно к эксплуатации, то X = 1, в противпом случае X = 0. Следовательно, вероятность безотказной работы устройства есть математическое ожидание случайной величины X, т. е. (X = 1). Если вероятность исправпости, т. е. пригодности устройства к эксплуатации, равна , а вероятность его неисправности — (1¯), то вероятность безотказной работы устройства выражается как 1 ∗ p + 0 ∗ (1 − p) = p Распределение продолжительности срока службы устройства описывается функцией F . Если исправность устройства означает, что оно безотказно работает в течение времени t, и если определена индикаторная функция X ( 0, u < t X(u) = 1, u ≥ t то функция надежности (или вероятность безотказной работы как функция времени) имеет вид Rt R∞ 0 ∗ dF (u) + t 1 ∗ dF (u) = 1 − F (t) 0 Устройство может представлять собой элемент системы, взаимозаменяемый или сменный блок, либо целую систему. Надежность системы определяется надежностью ее элементов и их взаимосвязью и структурой системы. Поскольку законы распределения вероятностей безотказной работы элементов системы могут быть неизвестны, то возникает необходимость в оценке ее надежности на основании имеющихся статистических данных. 29 Классификация методов решения задач дискретного программирования Методы дискретной оптимизации и соответствующие алгоритмы по основной идее каждого из них можно разделить на три большие группы: • отсечения; • комбинаторные (переборные); • приближённые. Исторически исследованиям задач дискретной оптимизации предшествовало развитие теории и методов линейного программирования, в частности создание Дж. Данцигом симплекс-метода как универсального метода решения линейных задач. Естественны были попытки представить исходную дискретную задачу как задачу целочисленного линейного программирования и свести её решение к использованию уже имевшихся методов решения 51 непрерывных линейных задач, в частности двойственного симплекс-метода. Однако простое округление получаемых значений переменных приемлемо далеко не во всех случаях. Поэтому была разработана следующая более сложная процедура решения целочисленной задачи линейного программирования. Условия целочисленности не учитываются. Решается непрерывная задача линейного программирования. Если полученное решение целочисленное, то оно является оптимальным. Заметим, что существуют классы задач, где такой благоприятный исход гарантирован. Если все или некоторые переменные принимают нецелочисленные значения, то вводится дополнительное ограничение, обладающее следующими свойствами: • полученное нецелочисленное решение ему не удовлетворяет; • все допустимые целочисленные решения удовлетворяют этому ограничению. Другими словами, отсекается ненужное решение непрерывной задачи и исключается возможность потери решения целочисленной задачи. Снова решается задача без условия целочисленности. Процесс продолжается до тех пор, пока оптимальное решение не окажется целочисленным. Такая процедура была впервые реализована в алгоритме Р. Гомори, который сформулировал универсальное правило формирования отсечений и доказал конечность процесса отсечений. Характерно, что количество шагов существенно зависит не только от размерности задачи, но и от конкретных числовых данных. Были обнаружены задачи относительно небольшой размерности, решение которых требует больших затрат машинного времени. Основная идея комбинаторных методов основана на конечности множества допустимых решений. Она состоит в том, чтобы перебрав возможно меньшее число вариантов решений, гарантированно получить оптимальный результат. Другими словами, нужно обнаружить и исключить из перебора те подмножества допустимых решений, которые заведомо не содержат точку оптимума. Среди комбинаторных методов наибольший интерес представляют метод ветвей и границ и метод динамического программирования, а также их комбинация. Приближённые методы основаны на отказе от поиска точного решения и введении дополнительного условия прекращения процесса оптимизации. Поиск прекращается если абсолютная или относительная ошибка не превышают заданного значения ϵ. С практической точки зрения эти условия, как правило, равноценны, но с точки зрения теории для многих задач второе из них приводит к полиномиальному росту объёма вычислений с увеличением размерности задачи, тогда как первое сохраняет экспоненциальный рост. Основанием для перехода к приближённым методам являются: • экспоненциальный рост объёма вычислений с ростом размерности задач; 52 • для точного решения задач большой размерности нужны мощные компьютеры, а приближённые решения можно получить на имеющихся; • в прикладных задачах, как уже отмечалось, математическая модель обычно является лишь приближённой формализацией исходной задачи и точное решение представляет скорее теоретический интерес; • исходные данные в прикладной задаче известны, как правило, приближённо, соответственно приближёнными являются параметры модели, и поиск точного решения не оправдан. От приближённых методов, гарантирующих поиск решения с заданной точностью, следует отличать различного рода «эвристические» методы, которые таких свойств получаемых решений не гарантируют. Их использование оправдано только при полном отсутствии других возможностей. Отметим также, что существуют задачи, в которых требуются точные решения, например, требуется дать ответ «да» или «нет». 30 Модели и задачи динамического программирования Динамическое программирование (ДП) – метод оптимизации, приспособленный к операциям, в которых процесс принятия решения может быть разбит на этапы (шаги). Такие операции называются многошаговыми. Модели ДП применяются, например при разработке правил управления запасами, устанавливающими момент пополнения запасов и размер пополняющего заказа; при разработке принципов календарного планирования производства и выравнивания занятости в условиях колеблющегося спроса на продукцию; при распределении дефицитных капитальных вложений между возможными новыми направлениями их использования; и т.п. Общая постановка задачи ДП: Рассматривается управляемый процесс, например экономический процесс распределения средств между предприятиями, использования ресурсов в течение ряда лет, замены оборудования, пополнения запасов и т.п. В результате управления система (объект управления) S переводится из начального состояния 50 в состояние s. Предположим, что управление можно разбить на n шагов, т.е. решение принимается последовательно на каждом шаге, а управление, переводящее систему S из начального состояния в конечное, представляет собой совокупность n пошаговых управлений. Обозначим через Xk управление на k-м шаге (k = 1, 2, . . . , n). Переменные Xk удовлетворяют некоторым ограничениям и в этом смысле называются допустимыми (Xk может быть числом, точкой в пространстве, качественным признаком). Пусть X(X1 , X2 , . . . , Xn ) – управление, переводящее систему S из состояния s0 в состояние s. Обозначим через sk состояние системы после k-го 53 шага управления. Получаем последовательность состояний s0 , s1 , . . . , s( k − 1), sk , . . . , sn (Рис.). Рис. 1: Последовательность состояний s0 , s1 , . . . , s( k − 1), sk , . . . , sn Показатель эффективности рассматриваемой управляемой операции – целевая функция, зависящая от начального состояния и управления: Z = F (s0 , X). Предположения: 1. Состояние sk системы в конце k-го шага зависит только от предшествующего состояния sk , и управления на k-м шаге k (и не зависит от других предшествующих состояний и управлений). Это требование называется "отсутствием последействия". Сформулированное положение записывается в виде уравнений: sk = φ(sk−1 , Xk ), k = 1, 2, . . . , n, которые называются уравнениями состояний. 2. Целевая функция является аддитивной от показателей эффективности каждого шага. Обозначим показатель эффективности k-го шага через n P Zk = f (sk−1 , Xk ), k = 1, 2, . . . , n, тогда Z = fk (sk−1 , Xk ). k=1 Задача пошаговой оптимизации (задача ДП) формулируется так: определить такое допустимое управление X, переводящее систему S из состояния s0 в состояние при котором целевая функция принимает наибольшее (наименьшее) значение. Особенности модели ДП. • Задача оптимизации интерпретируется как n-шаговый процесс управления. • Целевая функция равна сумме целевых функций каждого шага. • Выбор управления на k-м шаге зависит только от состояния системы к этому шагу, не влияет на предшествующие шаги (нет обратной связи). • Состояние sk после k-го шага управления зависит только от предшествующего состояния sk и управления Xk (отсутствие последействия). • На каждом шаге управление Xk зависит от конечного числа управляющих переменных, а состояние sk – от конечного числа параметров. Следует вспомнить, что существуют различные способы решения подобных задач, применяемые в зависимости от вида функций, ограничений, размерности и т.п. 54 31 Матроиды и жадные алгоритмы решения задач оптимизации Имеется множество X, вектор C[X] ≥ 0 и некоторые правила построения подмножеств X ′ ⊂ X (X ′ ∈ I ⊂ 2X ). Требуется найти X ∗ ∈ B для которого X X c[i] | X ′ ∈ I } c[i] = max{ z∗ = i∈X ′ i∈X ∗ Примерами являются задачи поиска наибольшей суммы элементов m × n матрицы по одному из каждого столбца (имеется жадный алгоритм), и задача с дполнительным условием по одному из каждой строки. Матроидом назовем пару ⟨X, I⟩, где X — носитель матроида, некоторое конечное множество; I — семейство независимых множеств X, где I ⊂ X, если выполняются свойства: 1. ∅ ∈ I; 2. Если A ∈ I и B ⊂ A, то B ∈ I. 3. Если A, B ∈ I и |B| < |A|, то найдется x ∈ A\B такой, что B ∪{x} ∈ I. Базами матроида назовем наибольшие по мощности независимые множества I, остальные множества — зависимые. Цикл матроида — минимальное по мощности зависимое множество. Примеры матроидов: 0. Универсальный матроид (тривиальный пример) получится, если или I = 2X (булеская алгебра подмножеств X). Возможен вариант выбора независимых подмножеств мощности не более заданного k Другой тривиальный пример I = {∅}. 1. I — множество линейно-независимых столбцов произвольной матрицы a[M, N ] (матричный матроид). 2. Пусть ⟨V, E⟩ — произвольный (не ориентированный) граф. Определеим I — множество подграфов произвольного графа, которые теряют связность при удалении любой дуги и получим (матроид коциклов графа). 3. Матроид циклов графа получается, если X = E — множество ребер графа ⟨V, E⟩, I — множество ациклических подграфов (не содержат циклов). Два матроида с общей базой X называются двойственными, если базы одного из них — дополнения баз других до X. 4. Системой различных представителей (СРП) семейства подмножеств X1 , X2 , X3 , . . . , Xk ⊂ X назовем набор элементов x1 ∈ X1 , x2 ∈ X2 , ..., xk ∈ Xk среди которых нет одинаковых. Требуется построить полную или наибольшую по мощности СРП. 55 Обобщения. — матроид разбиений, когда из каждого подмножества одинаково раскрашенных элементов можно выбрать определенное (не оязательно одинаковое) количество элементов. Матроид разбиений определяется так. Пусть X = ∪i Xi , при этом Xi ∩ Xj = ∅, i ̸= j, k1 ...km — положительные целые числа. I = A ⊂ X| |A ∩ Xi | ≤ ki , 1 ≤ i ≤ km . — построение системы совместных представителей пары разбиений множества X. 5. Поиск наибольшего паросочетания. 6. Задача о двух станках. Теорема (Радо-Эдмондса) Оптимальное решение задачи поиска X ∗ ∈ B для которого X X z∗ = c[x] = max{ c[x] | X ′ ∈ I }, (1) x∈X ∗ x∈X ′ где ⟨X, I⟩ — матроид, применим следующий алгоритм. Шаг 1. Отсортируем X = [x1 , x2 , x3 , . . . , xm ] в порядке убывания c1 ≥ c2 ≥ c3 ≥ · · · ≥ cm ≥ 0. Определим X ∗ = ∅. Шаг 2. Для i = 1, 2, . . . , m и проверим X ∗ ∪ {xi ∈ I}. Если это так, положим X ∗ = ∪X ∗ ∪ {xi }. Иначе не делать ничего. Метаэвристики — алгоритмы и технические приемы, предназначенные для поиска субоптимальных решений задачи оптимизации. Довольно часто метаэвристики моделируют алгоритмы принятия решений человеком, физические или биологические процессы, что отражается на их названиях и оформлении (метод отжига, генетический алгоритм, метод муравьиной колонии, нейронные сети и пр.). Эти методы не гарантируют получения оптимального решения, однако, часто после тщательной настройки приводят к весьма хорошим результатам. Алгоритмы применимы для решения комбинаторных задач, например, построения независимой расстановки фигур на доске произвольной размерности, сложных задач раскроя и пр. Можно использовать для решения как непрерывных, так и целочисленных задач. 56 32 Задачи сетевого планирования Сетевое планирование начинается с составления перечня работ и оценок их продолжительности. При этом работы изображаются стрелками, направление которых указывает продвижение работ по проекту. События, соответствующие началу и завершению работ (или моменты времени), изображаются в виде узлов сети, которые нумеруются соответствующим образом. Критическими считаются работы, задержка которых приводит к эквивалентной задержке окончания всего проекта. Путь через сеть, который состоит целиком из таких работ — это критический путь. В более крупных системах критический путь приходится определять как путь с нулевым резервом времени. Резерв времени — это количество времени, в течение которого работа может затягиваться, не вызывая увеличения времени наступления события окончания проекта. Чтобы вычислить резервное время, следует сначала выполнить просчет сети от начала до конца и таким образом получить самые ранние времена начала каждой работы в каждом узле сети. Затем, чтобы определить время самого позднего окончания каждой работы, осуществляют просчет сети в обратпом направлении — от конца к началу. Общий резерв времени для каждой работы находится как разность между располагаемым временем и длительностью работы. ESi = maxk { ESk + tki } , i = 2, . . . , n, где i – номер узла, tki – продолжительность k − 1 работы, ES1 = 0 и ESi обозначает самое раннее время начала для всех работ, которым предшествует i-й узел. Аналогично производятся вычисления при обратном проходе: LFj = mink { LFk − tjk } , j = 1, 2, . . . , n − 1, где j – узлы, LFj — самое позднее (допустимое) время окончания всех работ, заканчивающихся в j-м узле, и LFn = ESn для узла сети, соответствующего завершению проекта. Вычисление общего резерва времени производится по формуле T Fij = LFj − ESi − tij . Постановка задачи Дано: J = 1, . . . , k – множество работ; tki – продолжительность k − 1 работы, C = { (i, j)|i, jJ} — частичный порядок, работа j не может начаться раньше окончания работы i. Найти: • Минимальное время завершения всего проекта. • Наиболее ранний момент начала и завершения каждой работы. • Множество критических работ, то есть таких работ, задержка хотя бы одной из которых приведет к задержке всего проекта. • Допустимое запаздывание для некритических работ. • Вероятность завершения проекта к заданному сроку. 57 Теорема. Необходимым и достаточным условием принадлежности работы критическому пути является равенство нулю ее полного резерва времени. Следствие. Событие x является критическим если и только если ESx = LFx . 58