Математическое моделирование (дополнительные главы математики) Оптимизационные модели Дескриптивные (описательные) модели нужны для того, чтобы описать происходящие процессы, изучить их основные закономерности. В тех случаях, когда надо управлять процессом, т.е. принимать те или иные решения о ходе его выполнения, дескриптивные модели не годятся. При целенаправленном управлении каким-то процессом должна существовать возможность оценки последствий управления, возможность сравнить, какие действия ведут к лучшим результатам, а какие – к худшим. Для этого необходимо количественно оценить результат каждого действия. 2 Переменные управления Изучаемый (управляемый) процесс в этом случае также описывается математической моделью, так что имеется совокупность соотношений, связывающих входные и выходные параметры процесса. Среди всего множества параметров существуют такие, которые доступны нам для изменения, величиной которых мы можем управлять. Такие параметры процесса называются переменными управления. Например, при моделировании процесса электрического пробоя воздушного промежутка величина пробивного напряжения зависит от многих параметров: Uр = f(d, Emax, Ecr, p, T, …). В зависимости от задачи моделирования один или несколько параметров можно менять, например Emax и d. 3 Целевая функция В общем случае переменных управления может быть много (u = {u1, u2, …, un}) и каждая комбинация этих переменных описывает определенное состояние системы. Поскольку результат каждого действия можно оценить количественно, то существует некоторая функция, сопоставляющая каждой возможной в данной модели комбинации значений переменных управления некоторое число, количественно описывающее состояние системы F(u)=f(u1, u2, …, un). Эта функция называется целевой функцией. 4 Содержание оптимизационных задач Целенаправленная деятельность предполагает, как правило, достижение наилучшего результата, т.е. в зависимости от целей управления необходимо найти такие значения переменных управления u = u1, u2 ,..., un , при которых достигается либо максимальное значение F(u): F u max F u либо минимальное значение F(u): F u min F u , где u – искомая совокупность значений переменных управления. Задачи такого рода называются экстремальными или оптимизационными. 5 Пример. Выбор сечения проводов ЛЭП В простейшей модели для выбора сечения провода учтем затраты на сооружение линии (главным образом на покупку провода) и потери энергии в линии (на активном сопротивлении). Затраты на провод: Ф1 = S L C1 + C2, Потери на нагрев: 2 2 U U l F2 Rline t C3 = t C3 Rload Rload S Суммарные затраты: Ф = Ф1 + Ф2 6 Пример. Выбор сечения проводов ЛЭП F F F1 F2 S 7 Виды оптимизационных задач В зависимости от вида модели и функции Ф(u) используют различные методы для решения соответствующих оптимизационных задач. Однокритериальные оптимизационные задачи ◦ Функция одной переменной ◦ Функция нескольких переменных Линейное программирование Нелинейное программирование Многокритериальные модели 8 Однокритериальные оптимизационные задачи В случае, когда реальной ситуации можно сопоставить единственную целевую функцию, оптимизационная задача называется однокритериальной. Для таких задач разработаны эффективные методы решения. Функция одной переменной. В случае одной переменной управления оптимизационная задача решается достаточно просто. Экстремум целевой функции соответствует такому значению переменной управления, при котором производная целевой функции по этой переменной равна нулю. Для решения задачи необходимо найти производную целевой функции по переменной управления и найти такие значения переменной управления, при которых эта производная обращается в нуль, т.е. корни уравнения. 9 Однокритериальные оптимизационные задачи Решаться такая задача может как аналитически, так и численными методами, в зависимости от вида анализируемой функции. При этом надо иметь в виду: 1) существует область определения и область допустимых значений анализируемой функции; 2) производная обращается в нуль как в максимумах, так и в минимумах, а решением является экстремум только одного вида; 3) функция может иметь несколько экстремумов, при этом решением задачи является наибольший максимум или наименьший минимум. 10 Пример Ф(х) dФ(х)/dx 11 Последовательность решения 1. 2. 3. 4. 5. 6. 7. 8. Определить область определения и область допустимых значений функции. Вычислить производную целевой функции. Найти корни производной целевой функции. При нахождении корней численными методами поиск надо начинать из разных точек, с разными начальными приближениями, чтобы по возможности найти все экстремумы. Выбрать те корни, которые входят в область определения функции. Вычислить значения целевой функции для значений переменной управления, являющихся корнями производной. Вычислить значения целевой функции для крайних точек ее области определения. Исключить из вычисленных значений те, которые не принадлежат области допустимых значений функции. Выбрать среди вычисленных значений целевой функции то значение, которое соответствует критерию оптимальности. 12 Функция нескольких переменных Рассмотрим задачу. Пусть имеется m видов сырья в количествах b1, b2, …, bm. (Медный провод, электротехническая сталь, трансформаторное масло и др.) Из этого сырья можно изготовить n видов продукции (трансформаторы, электродвигатели, реакторы и т.д.). Для изготовления каждого вида продукции нужно использовать разное количество разных видов сырья. Вопрос: какую продукцию и в каких количествах выгоднее всего изготавливать? 13 Постановка задачи Прежде всего нужно выяснить, в каком смысле понимаются слова "выгоднее всего", т.е. что представляет собой целевая функция. В данной ситуации, видимо, надо попытаться добиться максимальной ценности произведенной продукции с учетом ограничений на сырье. 14 Целевая функция Обозначим: xj – количество продукции j-го вида; cj – стоимость единицы продукции j-го вида. Тогда целевую функцию, максимум которой надо искать, можно записать в виде суммарной стоимости произведенной продукции: x 1 c 1 + x 2 c 2 + … + x j c j + … + x nc n n или c jx j j1 15 Ограничения на сырье Для производства единицы продукции j-го вида требуется сырье разных видов в количествах a1j, a2j, …, aij, …, amj, соответственно для xj единиц продукции потребуется aijxj единиц i-го вида сырья. Поскольку каждый вид сырья используется для производства разных видов продукции, то суммарный расход каждого вида сырья не должен превышать имеющееся количество этого сырья, т.е. a11x1 + a12x2 + … + a1nxn ≤ b1 a21x1 + a22x2 + … + a2nxn ≤ b2 или в общем виде n a ijx j bi, j=1 i=1,2,..., m 16 Формулировка задачи Добавим к этому ограничения на неотрицательность количества произведенной продукции: x1 0, x2 0, … xj 0, … xn 0, и получим следующую экстремальную задачу: найти n max c jx j j1 при условиях 1) xj 0, j = 1, 2, …, n; n 2) a x b , i=1,2,..., m ij j=1 j i 17 Допустимый и оптимальный планы Всякий набор значений x1, x2, …, xn, удовлетворяющий условиям 1 и 2, называется допустимым планом (стратегией, управлением). Тот допустимый план, при котором целевая функция имеет максимальное значение, называется оптимальным планом (стратегией, управлением). Рассматриваемая задача имеет простую структуру – целевая функция и все ограничения линейны, т.е. описываются линейными уравнениями. Такие экстремальные задачи получили название задач линейного программирования. 18 Пример решения задачи Рассмотрим случай с выпуском продукции двух видов (x1 и x2), для которых используется сырье четырех видов (a1, a2, a3, a4). Целевая функция в этом случае выглядит следующим образом: x 1 c1 + x 2c2. Проведем геометрический анализ этой задачи. 19 Геометрический анализ задачи x2 Найдем область определения целевой функции. Из условия xj 0 следует, что любой допустимый план обязательно находится в первом квадранте x1 20 Геометрический анализ задачи x2 Условие 2 представляет собой уравнения: a11x1 + a12x2 ≤ b1 a21x1 + a22x2 ≤ b2 a31x1 + a32x2 ≤ b3 a41x1 + a42x2 ≤ b4 x1 21 Геометрический анализ задачи Преобразуем первое уравнение (выразим x2): a11x1 + a12x2 ≤ b1 x2 ≤ b1 / a12–(a11/a12)x 1 x2 Построим график: x1 22 Геометрический анализ задачи Аналогично для остальных трех уравнений: x2 x1 23 Геометрический анализ задачи Множество допустимых планов представляет собой область, расположенную внутри и на границах многоугольника, ограниченного осями и линиями, соответствующими количеству сырья: x2 x1 24 Геометрический анализ задачи Среди всех этих планов надо найти точку, соответствующую оптимальному плану Целевая функция x1c1 + x2c2 также представляет собой прямую. Зададим число Ц так, чтобы x1c1 + x2c2 = Ц пересекала область допустимых планов x2 x1 25 Геометрический анализ задачи x2 Общие точки этой прямой и многоугольника допустимых планов соответствуют планам с одинаковой экономической эффективностью – стоимость произведенной продукции для каждого из этих планов в 26 x1 точности равна Ц Геометрический анализ задачи Начнем теперь перемещать прямую x 1 c1 + x 2c2 = Ц параллельно самой себе в сторону возрастания Ц – ведь чем больше Ц, тем выгоднее план x2 x1 27 Геометрический анализ задачи В конце концов прямая x1c1 + x2c2 = Ц совпадет с одной из вершин многоугольника или с одной из его сторон x2 x1 28 Следствие Из приведенного анализа следует один из способов решения задач линейного программирования. Поскольку максимум достигается в одной или нескольких вершинах многоугольника допустимых планов, то нужно просто вычислить значения целевой функции во всех вершинах и выбрать ту вершину, где значение функции максимально. 29 Большее количество переменных В случае, когда переменных управления больше двух, т.е., например, оптимизируется выпуск 3-х, 4-х и т.д. видов продукции, многоугольник допустимых планов превращается в многогранник, а секущая критериальная прямая – в плоскость, проходящую через одну или несколько вершин 30 Нелинейное программирование В рассмотренном примере расход сырья может быть не пропорционален объему выпуска, а зависеть от него нелинейно, либо стоимость единицы продукции может зависеть от объема выпуска (накладные расходы) Экстремальные задачи, в которых либо ограничения, либо целевая функция, либо и то и другое нелинейны, называются задачами нелинейного программирования 31 Нелинейное программирование Для задач нелинейного программирования нет столь же хорошо разработанных методов решения, как для линейного программирования 32 Причины Если ограничения нелинейны, область допустимых планов может оказаться невыпуклой Если нелинейна целевая функция, то она может иметь экстремум не в крайней точке, а в середине. Кроме того, целевая функция может иметь несколько локальных экстремумов 33 Многокритериальные модели Рассмотренные ситуации имели очень важное свойство – в каждой из них имелась единственная целевая функция. Единственность целевой функции обеспечила возможность создания эффективных методов решения оптимизационных задач. Однако, возникает вопрос: хорошо ли такие оптимизационные модели описывают реальную ситуацию? Ответ на него неоднозначен 34 Многокритериальные модели Для сравнительно простых ситуаций, подобных рассмотренному примеру, модели могут описывать ситуацию исчерпывающе. Однако, в реальной жизни чаще встречаются ситуации, когда человек в своей деятельности преследует сразу несколько целей. Соответственно, оптимизационные модели, описывающие такие ситуации, содержат не одну, а несколько целевых функций и называются многокритериальными 35 Методы решения многокритериальных задач n max c jx j j1 при условиях 1) xj 0, j = 1, 2, …, n; n 2) a ijx j bi, i=1,2,..., m j=1 Усложним, добавив в него еще одну цель: допустим, надо максимизировать выпуск продукции первого вида (х1) 36 Многокритериальная задача n max c jx j (А) max x1 (Б) j1 при условиях 1) xj 0, j = 1, 2, …, n; n 2) a ijx j bi, i=1,2,..., m j=1 37 Задача А Если забыть о целевой функции Б, то решение оптимизационной задачи А мы рассмотрели в предыдущем примере и нашли оптимальные значения х1 и х2. Но при этом нет никакой уверенности, что найденное значение х1 соответствует целевой функции Б. 38 Задача Б Совершенно аналогично, если забыть о целевой функции А, то не составляет труда найти максимальное значение х1, удовлетворяющее условиям 1 и 2: bi x1 min ai1 Но при этом значении х1 целевая функция А не обязательно достигает своего максимального значения, более того, она может быть при этом значении х1 очень далека от экстремума 39 x2 x1 40 Оптимальный план Вообще говоря, в многокритериальной задаче понятие оптимального плана претерпевает изменение. Действительно, можно сказать, что план х1 хуже, чем план х2, если выполняются неравенства n n 2 1 1<x 2 < и х c x c x j j j j 1 1 j1 j1 Но определить, какой план называется оптимальным, в такой задаче невозможно, так как не существует такого плана, который одновременно обеспечил бы максимум целевым функциям А и Б 41 Как быть? По этой причине методы решения многокритериальных задач предусматривают учет мнения лица, принимающего решение (ЛПР). Этим лицом может быть директор завода, начальник цеха и т.д., т.е. человек, отвечающий за решение той или иной задачи и принимающий управленческие решения, обеспечивающие ее выполнение. ЛПР может решить многокритериальную задачу методом сведения нескольких критериев к одному либо методом последовательных уступок 42 Сведение двух критериев к одному Идея метода состоит в том, чтобы свести два критерия к одному с помощью весовых коэффициентов. Для реализации этого метода ЛПР должен ранжировать целевые функции, т.е. определить относительную важность каждого критерия. При этом он выбирает, пользуясь внемодельными соображениями, число a (0 <= a <= 1), а затем строит новую целевую функциюn a c j x j1 (1 a) x1 (С) j1 Таким образом получается единственная целевая функция С, которая учитывает значимость целевых функций А и Б. 43 Метод последовательных уступок При этом методе также необходимо волевое решение ЛПР, принятое из внемодельных соображений (знания проблемы, накопленного опыта и т.д.). При решении задачи находится экстремум одной из целевых функций, например Б (max x1 = min(bi/ai1)). Теперь, понимая, что при этом значении x1 до максимума целевой функции А далеко, ЛПР делает уступку. Он согласен, чтобы x1 не равнялось точно оптимальному значению, но отличалось от него не более, чем на 10%. 44 Метод последовательных уступок При этом исходная задача преобразуется к следующему виду: n max c jx j j1 при условиях 1) xj 0, j = 1, 2, …, n; n 2) a ijx j bi, i=1,2,..., m j=1 3) 0,9max x1 < x1 < 1,1max x1 45 Метод последовательных уступок Таким образом, надо найти экстремум целевой функции А в диапазоне изменения x1 [0,9max x1; 1,1max x1]. Это задача с единственной целевой функцией, она может быть решена известными методами. ЛПР должен проанализировать найденное решение. Если результат удовлетворяет его – решение найдено. Если же нет – ЛПР может сделать еще одну уступку, например, он согласен, чтобы x1 отличалось от оптимального значения не более, чем на 20%. В этом случае условие (3) запишется в виде 3) 0,8max x1 < x1 < 1,2max x1 и задача снова может быть решена. 46 x2 x1 47