
- •1.2. Условия существования управления.
- •1.3. Оптимальность управления.
- •Лекция 2
- •2.1. Этапы принятия решений
- •2.2. Схема функционирования системы управления
- •2.3. Цели и критерии эффективности.
- •Лекция 3
- •3. 1. Виды критериев.
- •3.2. Многокритериальные системы.
- •3.3. Выбор критерия в состоянии неопределенности.
- •3.4. Выявление целей и критериев.
- •3.5. Особенности построения модели управляемой системы
- •4.1. Методология и психологические аспекты принятия решений
- •4.2. Системный анализ.
- •4.3. Таблицы решений.
- •Лекция 5. Принятие решений в различных условиях.
- •5.1.Принятие решений в разомкнутых системах
- •5.2. Управление в системах с обратной связью.
- •5.3. Условия внешней среды.
- •Принятие решений в условиях определенности
- •Принятие решения в условиях риска
- •Принятие решений в условиях неопределенности
- •Принятие решений в конфликтных ситуациях
- •Лекция 6. Принятие решений и информация
- •Основные характеристики информации.
- •Лекция 7. Минимизация функции одной переменной без ограничений
- •1.1. Постановка задачи
- •1.2. Полином произвольной степени
- •1.3. Степенная функция, умноженная на экспоненциальную функцию
- •Лекция 8. 1.4. Частный случай полинома, умноженного на экспоненциальную функцию
- •1.5. Степенная функция, умноженная на экспоненциальную функцию, зависящую от полинома второй степени
- •Минимизация функции нескольких переменных без ограничений
- •2.1. Постановка задачи
- •2.2. Детализация достаточных условий экстремума.
- •Лекция 9. 2.3. Сепарабельные функции
- •2.4. Факторизованные функции
- •2.5. Сумма квадратов переменных
- •2.6. Квадратичная форма
- •2.7. Частный случай кубической формы от двух переменных
- •Частный случай кубической формы от произвольного количества переменных
- •Частный случай полинома произвольной степени от двух переменных
- •Методы условной оптимизации
- •Задача нелинейного программирования. Метод неопределенных множителей Лагранжа
- •Глава 1. Метод неопределенного множителя Лагранжа
- •Общая постановка оптимальной задачи с одним ограничением
- •Сепарабельность целевой функции и функции – ограничения. Общий алгоритм решения
- •3. Степенные функции с одинаковыми степенями частных функций
- •2. Основная задача линейного программирования.
- •3. Геометрическая интерпретация основной задачи линейного программирования.
- •Задача линейного программирования с ограничениями-неравенствами. Переход от нее к озлп и обратно
- •5. Симплекс-метод решения задач линейного программирования Алгоритм поиска опорного и оптимального решения
- •6. Табличный метод замены базисных переменных.
- •Отыскание опорного решения основной задачи линейного программирования.
- •Стационарная транспортная задача
- •Нахождение опорного плана
- •Поиск оптимального плана, метод последовательного улучшения плана для стационарной транспортной задачи
Задача линейного программирования с ограничениями-неравенствами. Переход от нее к озлп и обратно
На практике ограничения в задаче линейного программирования часто задаются не уравнениями, а неравенствами.
Покажем, как можно перейти от задачи с ограничениями-неравенствами к основной задаче линейного программирования.
Пусть имеется задача линейного программирования с n переменными х1,х2,…,хn, в которой ограничения, наложенные на переменные, имеют вид линейных неравенств. В некоторых из них знак неравенства может быть ≥, а других ≤ (второй вид сводится к первому простой переменой знака обеих частей). Поэтому зададим все ограничения-неравенства в стандартной форме:
(4.1)
Будем считать, что все эти неравенства линейно независимы (т.е. никакое из них нельзя представить в виде линейной комбинации других). Требуется найти такую совокупность неотрицательных значений х1,х2,…,хn, которая удовлетворяла бы неравенствам (4.1), и, кроме того, обращала бы в максимум линейную функцию:
(4.2)
От поставленной таким образом задачи легко перейти к основной задаче линейного программирования. Действительно, введем обозначения:
(4.3)
где у1,у2,…,уm –некоторые новые переменные, которые мы будем называть «добавочными». Согласно условиям (4.1), эти добавочные переменные так же, как и х1,х2,…,хn, должны быть неотрицательными.
Таким образом, перед нами возникает задача линейного программирования в следующей постановке: найти такие неотрицательные значения n+m переменных х1,х2,…,хn; у1,у2…,уm, чтобы они удовлетворяли системе уравнений (4.3) и одновременно обращали в максимум линейную функцию этих переменных:
Как видно, перед нами в чистом виде основная задача линейного программирования (ОЗЛП). Уравнения (4.3) заданы в форме, уже разрешенной относительно базисных переменных у1,у2…,уm, которые выражены через свободные переменные х1,х2,…,хn. Общее количество переменных равно n+m из них n «первоначальных» и m «добавочных». Функция L выражена только через «первоначальные» переменные (коэффициенты при «добавочных» переменных в ней равны нулю).
Таким образом, задача линейного программирования с ограничениями-неравенствами сведена к основной задаче линейного программирования.
5. Симплекс-метод решения задач линейного программирования Алгоритм поиска опорного и оптимального решения
Геометрическая
интерпретация, которой мы пользовались
при решении задач линейного
программирования, перестает быть
пригодной для этой цели при числе
свободных переменных n-m
,
а затруднительна уже при n-m=3.
Для нахождения решения задачи линейного
программирования в общем случае (при
произвольном числе свободных переменных)
применяются не геометрические, а
вычислительные методы. Из них наиболее
универсальным является так называемый
симплекс-метод.
Идея симплекс-метода относительно проста. Пусть в задаче линейного программирования иметься n переменных и m независимых линейных ограничений, заданных в форме уравнений. Мы знаем, что оптимальное решение (если оно существует) достигается в одной из опорных точек (вершин ОДР), где, по крайней мере, k=n-m из переменных равны нулю. Выберем какие-то переменных в качестве свободных и выразим через них остальные m базисных переменных. Пусть, например, в качестве свободных выбраны первые k=n-m переменных х1,х2,…,хk, а остальные m выражены через них:
(5.1)
Попробуем, что будет, если положить все свободные переменные х1,х2,…,хk равными нулю:
При этом мы получим:
Это решение может быть допустимым или недопустимым. Оно допустимо, если все свободные члены βk+1, βk+2,…, βn неотрицательны. Предположим, что это условие выполнено. Тогда мы получили опорное решение. Но является ли оно оптимальным? Может быть да, а может быть и нет. Чтобы проверить это, выразим максимизируемую линейную функцию L через свободные переменные х1,х2,…,х k:
(5.2)
Очевидно, что при х1=х2=….=хk=0, L=γ0. Посмотрим, не можем ли мы улучшить решение, т.е. увеличить функцию L, увеличивая какие-нибудь из переменных х1,х2,…,х k (уменьшить мы их не можем, так как все они равны нулю, а отрицательные значения переменных недопустимы). Если все коэффициенты γ1, γ2, …, γk в формуле (5.2) отрицательны, то, увеличивая какие-то из переменных х1,х2,…,х k сверх нуля, мы не можем увеличить L; следовательно, найденное нами опорное решение является оптимальным. Если же среди коэффициентов γ1, γ2, …, γk в формуле (5.2) есть положительные, то, увеличивая некоторые из переменных х1,х2,…,х k, а именно – те, коэффициенты при которых положительны, мы можем улучшить решение, т.е. увеличить L.
Пусть, например, коэффициент γ1 в формуле (5.2) положителен Значит, есть смысл увеличить х1, т.е. перейти от данного опорного решения к другому, где переменная х1 не равна нулю, а вместо нее равна нулю какая-то другая. Увеличение х1 «полезно» для линейной функции L, делает ее больше. Однако увеличивать х1 надо осторожно, так чтобы не стали отрицательными другие переменные хk+1,хk+2,…,хn, выраженные через свободные переменные, в частности, через х1 формулами (5.1).
Посмотрим, опасно ли для переменных хk+1,хk+2,…,хn увеличение х1, т.е. может ли оно сделать их отрицательными? Да, опасно, если коэффициент при х1 в соответствующем уравнении отрицателен. Если среди уравнений (5.1) нет уравнения с отрицательным коэффициентом при х1, то величину х1 можно увеличивать беспредельно, а, значит, линейная функция L не ограничена сверху и оптимального решения ОЗЛП не существует.
Допустим, что это не так и среди уравнений (5.1) есть такие, в которых коэффициент при х1 отрицателен. Для переменных, стоящих в левых частях этих уравнений, увеличение х1 опасно – оно может сделать их отрицательными.
Возьмем одну из таких переменных хi и посмотрим, до какой степени можно все же увеличить х1 пока переменная хi не станет отрицательной? Выпишем -е уравнение из системы (5.1):
Здесь свободный член βi ≥ 0, а коэффициент αi1 отрицателен. Легко понять, что если мы оставим х2=…=хk=0, то х1 мы можем увеличивать только до значения, равного - βi/ αi1 , а при дальнейшем увеличении х1 переменная хi станет отрицательной.
Выберем
ту из перемeнных
хk+1,хk+2,…,хn
,
которая раньше всех обратится в нуль
при увеличении х1,
т.е. ту, для которой величина - βi/
αi1
меньше
всего. Пусть такая «наиболее угрожаемая»
переменная будет хr
.
Тогда имеет смысл «переразрешить»
систему уравнений (5.1) относительно
других базисных переменных, выведя из
числа свободных переменных х1
и
переводя вместо нее в группу свободных
переменных хr
.
Действительно, мы хотим перейти от
опорного решения, задаваемого равенством
х1=х2=….=хk=0
, к опорному решению, в котором уже х1
≠0,
х2=….=хk=хr=0.
Первое опорное решение мы получили,
положив равными нулю все прежние
свободные переменные х1,х2,хk;
второе мы получим, если обратим в нуль
все новые свободные переменные х2,…,хk,хr.
Базисными переменными при этом будут
х1,
хk+1,…,
хr-1,
xr+1,
…, xn.
Предположим, что уравнения типа (5.1) для нового набора базисных и свободных переменных составлены. Тогда можно выразить через новые свободные переменные и линейную функцию L. Если все коэффициенты при переменных в этой формуле отрицательные, то мы нашли оптимальное решение: оно получится, если все свободные переменные положить равными нулю. Если среди коэффициентов при переменных есть положительные, то процедура улучшения решения продолжается: система вновь переразрешается относительно других базисных переменных, и так далее, пока не будет найдено оптимальное решение, обращающее функцию L в максимум.
Проследим описанную процедуру постепенного улучшая решения ОЗЛП на конкретном примере.
Пример. Имеется задача линейного программирования с ограничениями-неравенствами:
(5.3)
Требуется максимизировать линейную функцию
Решение. Приводя неравенства к стандартному виду (≥0) и вводя добавочные переменные у1,у2,у3, переходим к условиям-равенствам:
(5.4)
Число переменных n=7 на 4 превышает число уравнений m=3. Значит, четыре переменных могут быть выбраны в качестве свободных.
Попробуем выбрать в качестве свободных переменных х1,х2,х3,х4 и положить их равными нулю. При этом мы сразу получим опорное решение: х1=х2=х3=х4 = 0; у1=2;у2=5;у3=7.
При этих значениях переменных L=0.
Посмотрим, является ли это решение оптимальным? Нет! Потому что в выражении линейной функции L коэффициент при х3 положителен. Значит, увеличивая х3 , можно увеличить L.
Попробуем увеличить х3 . Проследим по уравнению (5.4), опасно ли это для других переменных? Да, опасно для у1 и у2 – в оба эти уравнения переменная х3 входит с отрицательным коэффициентом, значит, при увеличении х3 соответствующие переменные у1 и у2 могут стать отрицательными.
Посмотрим, какая из этих переменных у1 или у2 является наиболее «угрожаемой», какая раньше обратится в нуль при увеличении х3. Очевидно, у1: она станет равной нулю при х3=1, а величина у2 – только при х3=5.
Поэтому выбираем переменную у1 и вводим ее в число свободных вместо х3. Чтобы «переразрешить» систему (5.4) относительно новой базисной переменной х3:
.
Это выражение подставим вместо х3 во второе уравнение, получим
Что касается третьего уравнения, то оно, как не содержащее х3 не изменится. Итак, мы привели систему (5.4) к виду:
(5.5)
со свободными переменными х1,х2,у1,х4 и базисными х3,у2,у3.
Выразим линейную функцию L через новые свободные переменные:
L= -5х1+5х1+х2-у1+2
или
L= х2-у1+2 (5.6)
Положим теперь свободные переменные равными нулю. Линейная функция L станет равной 2. Это уже лучше, чем прежнее значение L=0. Но является ли это решение оптимальным? Все еще нет, так как коэффициент при х2 в выражении (5.6) положительный. Итак, будем увеличивать х2. Посмотрим, для какой из переменных, стоящих в левых частях системы (5.5) это может быть «опасно». Только для у2 (в первом уравнении х2 входит с положительным коэффициентом, а в третьем совсем не входит).
Итак, обменяем местами переменные х2 и у2 – первую из числа свободных, а вторую – введем. Для этого разрешим второе уравнение (5.5) относительно х2 и подставим это х2 в первое уравнение. Получим еще один вид системы (5.4):
(5.7)
Выразим L через новые свободные переменные:
L= -3х1-2у2+у1+2х4+8-у1+2
или
L= -3х1- 2у2-2х4+ 10. (5.8)
Полагая х1=у1=у2=х4 =0, получим L=10.
Является ли это решение оптимальным? На этот раз – да, так как коэффициенты при всех свободных переменных в выражении (5.8) отрицательны.
Итак, оптимально решение ОЗЛП найдено:
При таких значениях переменных линейная функция L принимает максимальное значение:
Заметим, что в рассмотренном примере нам не пришлось искать опорного решения: оно сразу же получилось, когда мы положили свободные переменные равными нулю. Это объясняется тем, что в уравнениях (5.4) все свободные члены были неотрицательны и, значит, первое же попавшееся решение оказалось опорным. Если же окажется не так, можно будет прийти к опорному решению с помощью такой же процедуры обмена местами некоторых базисных и свободных переменных, переразрешая уравнения до тех пор, пока свободные члены не станут неотрицательными. Как это делается, мы увидим в дальнейшем (смотри параграф 6).