Конспект лекций по теории систем управления (994584), страница 4
Текст из файла (страница 4)
Пример: 2
F= 0.25x1 + 0.3x2 max
x 1 + x2 100
x1 ≥ 80
x2 ≥ 10
x1 0; х2 0
C 2
x2
100 f
A S
B C x1
80 C1
Рис. 11.
Решением является точка A.
Линейное программирование.
Задача линейного программирования состоит в оптимизации линейной функции на многогранном множестве , то есть математически она записывается следующим образом:
где
Скалярное произведение называется целевой функцией. Коэффициенты целевой функции - это координаты вектора
.
Множество называется множеством ограничений или допустимой областью задачи линейного программирования.
Задача (0) -называется задачей линейного программирования в каноническом виде.
Оптимальное значение целевой функции задачи линейного программирования может быть как конечным, так и неограниченным.
Для решения задач линейного программирования применяют симплекс-метод и его модификации.
Симплексный метод.
Симплексный метод - некоторая систематическая процедура решения задачи линейного программирования, состоящая в движении от одной экстремальной точки допустимой области к другой, с лучшим (или по крайне мере не худшим) значением целевой функции. Процесс продолжается до тех пор, пока не будет найдена либо оптимальная экстремальная точка, либо экстремальное направление , для которого
(в этом случае оптимальное значение целевой функции неограниченно).
Для использования симплекс метода необходимо, чтобы задача линейного программирования представлялась в каноническом виде.
Задача линейного программирования, где многогранное множество записано в другом виде:
можно представить в каноническом виде, то есть записать неравенство в виде равенства. Для этого необходимо ввести неотрицательную дополнительную переменную :
Аналогично переменные , на которые не наложено требование не отрицательности переменных, представляются в виде:
Эти и некоторые другие преобразования используются для приведения задачи к каноническому виду. Подробное изложение симплекс-метода можно найти в [].
Основные теоремы линейного программирования.
Теорема 1(теорема существования).
Для того чтобы задача линейного программирования имела решение, необходимо и достаточно, чтобы допустимые множества как прямой, так и двойственной задач были непустые.
Теорема 2(теорема двойственности).
Некоторый допустимый вектор тогда и только тогда является решением задачи линейного программирования, когда существует такой допустимый вектор двойственной задачи, что значения целевых функций обеих задач на этих векторах равны.
Теорема 3(теорема о дополняющей нежесткости).
Для того, чтобы допустимые векторы x*, y* являлись решениями двойственных задач, необходимо и достаточно, чтобы они удовлетворяли условиям дополняющей нежесткости, то есть:
Альтернативные варианты, возникающие при решении задач линейного программирования.
нет решений
Графический метод решения задач линейного программирования.
При n=2 задачи линейного программирования можно решать графически.
F = c1x1 + c2x2 max (min)
a11x1 + a12x2 b1
.
.
am1x1 + am2x2 bm
x1 0; х2 0
Для этого напомним понятие градиента и линии уровня функции, необходимые при графическом решении задачи.
Градиент целевой функции f, обозначаемый f
Для линейной функции градиент представляется в виде
Градиент f показывает направление наискорейшего возрастания функции. Антиградиент (-f) показывает направление наискорейшего убывания функции.
Линия уровня функции - это линия, где функция имеет одинаковые значения. Для линейной функции f линии уровня перпендикулярны градиенту f.
Пример: 1
F= 1x1 + 2x2 max
x 1 + x2 5
x1 0; х2 0
C2
x2
A f
5
f=10
S
5 B x1
C1
f=0
Рис. 10.
В точке А функция будет иметь максимальное значение.
Пример: 2
F= 1x1 + 1x2 max
x 1 + x2 5
x1 0; х2 0
C 2
x2
5 A f
S B
5 x1
C1
Рис. 11.
Решение задачи отрезок АВ
Пример: 3
f(x)=x1+x2max
x1 + x2 5
S x1 + x2 6
x1 0; х2 0
Рис. 12.
Решение нет, т.к. допустимая область S пуста.
Двойственные задачи линейного программирования.
В теории линейного программирования чрезвычайно важную роль играет то обстоятельство, что каждой задаче линейного программирования соответствует некоторая двойственная задача.
Если исходная задача (прямая)
то двойственная задача представляет задачу на минимум
то есть в развернутом виде:
прямая:
двойственная:
В экономике переменные двойственной задачи линейного программирования - это «теневые цены» лимитирующих ресурсов прямой задачи линейного программирования. «Теневая цена» ресурса показывает, насколько увеличится значение целевой функции при увеличении лимитирующего ресурса на единицу. Увеличение объема лимитирующего ресурса на единицу целесообразно только в том случае, если существует возможность его получения по стоимости, которая ниже, чем «теневая цена» данного ресурса.
Таблица для двойственных задач линейного программирования:
Е сли к двойственной задаче применить те же преобразования, какие были сделаны для прямой задачи, то вновь получаем исходную задачу линейного программирования (то есть двойственная к двойственной - есть исходная задача).
Устойчивость плановых решений (для модели однокритериального планирования)
Задача однокритериального планирования
f = c1x1 + c2x2 max (min)
a11x1 + a12x2 b1
.
S .
am1x1 + am2x2 bm
x1 0; х2 0
S – допустимая область решения
c
i – весовые коэффициенты целевой функции, ,
Сначала рассмотрим влияние интервалов неопределенности параметров ci на устойчивость решения исходной задачи:
f = c1x1 + c2x2 max (min)
a11x1 + a12x2 b1
.
S .
am1x1 + am2x2 bm
x1 0; х2 0
При проверке на устойчивость мы должны перейти к следующим задачам:
f1 = c1 min x1 + c2 max x2 max (2)
x S
f2 = c1 max x1 + c2 min x2 max (3)
x S
Рис. 13.
Решением всех трех задач будет точка А. Решение устойчиво.
Правило: Если решение исходной задачи (1), не совпадает с решением задачи (2) или с решением задачи (3), то решение исходной задачи (1) при интервальной неопределенности неустойчиво, в противном случае решение исходной задачи (1) устойчиво.
Пример: Исходная задача (1)
f = c1x1 + c2x2 max
2х1 + 3х2 6
S:
x1 0; х2 0
с1 = 1; с2 = 2
с1 [0,5 ; 1,5] с2 [1,5 ; 2,5]
Проверить решение исходной задачи на устойчивость
Рис. 14.
Решение исходной задачи (1) не устойчиво, т.к. решения задач (1) и (3) не совпадают.
2 случай
f= c1x1+c2x2 → max
a 11x1+a12x2 ≤ b1
.
. (1)
.
am1x1+am2x2≤ bm
x1≥0, x2≥0
Рис. 15.
При такой интервальной неопределенности аji решение исходной задачи неустойчиво.
3 случай
f=c1x1 +c2x2 → max
a11x1+a12≤b1
.
.
am1x1+am2x2≤bm
x1≥0, x2≥0
Рис. 16
Решение при такой интервальной неопределенности , решение задачи (1) неустойчиво.
Многокритериальный оптимальный план.
Модель многокритериальной задачи линейного программирования.
.
.
a11x1 + a12x2 в1
.
S .
am1x1 + am2x2 вm
x1 0; х2 0
S – допустимая область решения
f1…..fl – частный критерий оптимальности
Сkl – коэффициент частный критерий оптимальности
b
j – запасы j-ого вида ресурса, предназначено для выполнения критериального плана,
aji- расход j-ого ресурса на выпуск единиц i-ого вида продукта.
Метод решения
Задача состоит в нахождении минимума векторной функции при некоторых ограничениях и может быть записана так:
- компоненты векторной функции
, часто их называют частными критериями, поэтому и задачу (1) называют многокритериальной.
Задачу (0) можно называть задачей многоцелевой оптимизации, предполагая, что одной цели соответствует один критерий.
Итак, мы будем заниматься задачей (0), которая в разных источниках может называться как:
-
задача векторной оптимизации;
-
многокритериальная задача оптимизации;
-
задача многоцелевой оптимизации.
Дело в том, что реальные задачи, а особенно задачи, связанные с созданием АСУ, САПР, задачи системного анализа, теории больших систем и так далее, в основном многокритериальные, поэтому сама жизнь требует умения их решать, что подчеркивает актуальность проблемы.
В настоящее время существуют отдельные исследования как в теоретическом аспекте, так и в сфере создания алгоритмов.
С математической точки зрения, задача (0) может иметь решение только в том случае, если оно совпадает со всеми решениями скалярных задач:
Однако, этот вариант, как правило не представляет интереса для практических задач, поскольку в реальных задачах уменьшение одного критерия приводит часто к увеличению другого и возникает проблема сравнимости критериев.