Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Теория системного анализа и принятия решений. Курс лекций

.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
685 Кб
Скачать

Целевая функция максимизировать доход:

z = 5x1 + 4x2 max.

Ограничения на расход сырья 1:

6x1 + 4x2 24 .

Ограничения на расход сырья 2:

x1 + 2x2 6 .

Дополнительные условия:

x2 x1 1 , x2 2 .

Условия неотрицательности переменных: x1 0 ,

x2 0 .

Графическая интерпретация данной задачи представлена на ри- сунке 2.1.

Рисунок 2.1 – Графическая интерпретация рассматриваемой задачи линейного программирования

31

Любое решение (точка) в пространстве решений ABCDEF являет- ся допустимым. Например, точка (3;1) – допустимое решение, так как не противоречит ни одному из ограничений.

Задача оптимизации найти наилучшее допустимое решение.

2.1.2 Графическое решение

Графический поиск решения задачи линейного программирования представлен на рисунке 2.2.

Рисунок 2.2 – Графический метод решения задачи линейного программирования

2.1.3 Симплекс-метод

При решении задачи ЛП графическим методом заметно, что ее оптимальное решение всегда находится в угловой точке пространст- ва решений. Поэтому логично искать оптимальное решение задачи исключительно среди угловых точек пространства решений. Данная идея легла в основу симплекс-метода, предложенного немецким ма- тематиком Данцигом.

Симплекс-метод это алгоритмический универсальный метод решения задач ЛП. Данный алгоритм итеративный, и предполагает последовательное рассмотрение угловых точек. Угловые точки обра- зуются пересечением линий, соответствующих ограничениям. Эти линии записываются в виде равенств.

32

Поэтому первый шаг решения задачи ЛП симплекс-методом со- стоит в преобразовании ограничений из неравенств в уравнения (что позволит отыскивать точки их пересечения).

Второй шаг решения задачи состоит в обеспечении неотрица- тельности всех переменных (если это не так по условию).

Первые два шага называют еще приведением к стандартной форме задачи ЛП.

Стандартная форма форма записи задачи ЛП, при которой все ограничения представлены в виде равенств, а все переменные ≥ 0. Приведение к стандартной форме осуществляется за счет введения фиктивных переменных.

Например:

6x1 + 4x2 24 6x1 + 4x2 + s1 = 24 ,

где s1 0 .

Либо для случая «»:

6x1 + 4x2 24 6x1 + 4x2 s1 = 24 ,

где s1 0 .

Если для некоторого xk не задано условие «0», то данную пере- менную можно заменить разностью двух новых неотрицательных переменных:

xk = xk +1 xk +2 ,

где xk +1 0 и xk +2 0 .

На рисунке 2.3 представлена геометрическая интерпретация идеи Данцига. Имеется несколько вариантов перебора угловых точек. На каждом шаге выбирается направление, максимально приближающее к цели, т.е. дающее максимальное приращение z.

х2

E D

C

F

A В

х1

Рисунок 2.3 – Графическая интерпретация идеи Данцига

33

2.1.4 Вычислительный алгоритм

Рассмотрим пример (уже приведенный к стандартной форме):

z = 5x1 + 4x2 + 0s1 + 0s2 + 0s3 + 0s4 max.

Ограничения:

6x1 + 4x2 + 1s1 = 24 ;

1x1 + 2x2 + 1s2 = 6 ;

1x1 + 1x2 + 1s3 = 1 ;

1x2 + 1s4 = 2 ;

x1 0 ; x2 0 ; s1 0 ; s2 0 ; s3 0 ; s4 0 ,

где s1, s2, s3, s4 фиктивные переменные, добавленные в неравен- ства для преобразования.

Представим целевую функцию в виде уравнения

z 5x1 + 4x2 = 0 .

Запишем уравнения в компактной форме в виде таблицы 2.2, которая показывает множества базисных и свободных переменных, а также ре- шение, соответствующее данной (начальной) итерации (х1, х2) = (0, 0). Это соответствует следующим множествам переменных:

-свободные (нулевые) переменные: (х1, х2);

-базисные переменные: (s1, s2, s3, s4).

Таблица 2.2 – Табличная форма записи задачи линейного программирования

 

 

 

 

 

 

 

 

 

 

Базис

z

x1

x2

s1

s2

s3

s4

Решение

Строка

z

1

–5

–4

0

0

0

0

0

z

s1

0

6

4

1

0

0

0

24

s1

s2

0

1

2

0

1

0

0

6

s2

s3

0

–1

1

0

0

1

0

1

s3

s4

0

0

1

0

0

0

1

2

s4

 

 

 

 

 

 

 

 

 

 

Далее решается система с базисными переменными. В данном случае решение элементарно: s1 = 24, s2 = 6, s3 = 1, s4 = 2.

34

После этого проводится проверка, могут ли свободные перемен- ные при добавлении в базис улучшить результат. Для этого из z- строки формируется выражение

z = 5x1 + 4x2 .

Очевидно, что x1 дает прирост в 5 единиц, а x2 в 4. Значит, x1 вносим в базис, эту переменную еще называют ведущей. Но перед ее внесением в базис, из него необходимо удалить одну из старых пе- ременных. Чтобы определить исключаемую переменную, надо вы- числить точки пересечения всех функций ограничений с положи- тельным направлением оси x1. Координаты этих точек пересечения можно вычислить как отношения правых частей равенств (значение в столбце «Решение») к коэффициентам при переменной х1 в этих ра- венствах (таблица 2.3).

Таблица 2.3 – Вычисление точек пересечения функций ограничений с положительной полуосью x1

Базис

z

x1

x2

s1

s2

s3

s4

Решение

Отношение

z

1

–5

–4

0

0

0

0

0

s1

0

6

4

1

0

0

0

24

24/6 = 4

s2

0

1

2

0

1

0

0

6

6/1 = 6

s3

0

–1

1

0

0

1

0

1

1/–1 = –1

s4

0

0

1

0

0

0

1

2

2/0 =

Только неотрицательные отношения порождают точки пересече- ния на положительной полуоси х1. Отношения (пересечения), соот- ветствующие переменным s3 и s4, исключаются из рассмотрения, по- скольку для них точка пересечения лежит либо на отрицательной полуоси, либо в бесконечности.

Графическая интерпретация отношений как точек пересечения функций ограничений с положительной полуосью x1 представлена на рисунке 2.4.

Минимальное неотрицательное отношение соответствует базис- ной переменной s1, тем самым, определяя эту переменную как ис- ключаемую (т.е. на следующей итерации ее значение будет равно нулю). Значение вводимой переменной x1 в новом решении соответ- ствует точке пересечения, а, следовательно, равно полученному от- ношению, а именно x1 = 4. Значение целевой функции при этом воз- растет до 20 (5 × 4) (таблица 2.4).

35

Рисунок 2.4 – Графическое представление отношений как точек пересечения функций ограничений с положительной полуосью x1

Таблица 2.4 – Замена базисной переменной на первом шаге расчета

 

 

 

 

 

 

 

 

 

 

 

 

 

Базис

z

x1

x2

s1

s2

s3

s4

Решение

Отношение

 

 

z

1

–5

–4

0

0

0

0

0

 

 

 

s1

0

6

4

1

0

0

0

24

24/6 = 4 (min)

 

 

s2

0

1

2

0

1

0

0

6

6/1 = 6

 

 

s3

0

–1

1

0

0

1

0

1

1/–1 = –1 (н.у.)

 

 

s4

0

0

1

0

0

0

1

2

2/0 = (н.у.)

 

Примечание н.у. – условие не выполняется.

В завершение необходимо выполнить преобразования в послед- ней таблице так, чтобы в столбцах «Базис» и «Решение» получить новое решение, соответствующее точке В (таблица 2.5). Вычисление нового базисного решения основывается на методе исключения пе- ременных (методе Гаусса Жордана, или методе Жордановых ис- ключений).

На втором шаге вновь из z-строки формируется выражение

z = 2 x2 5 s1 + 20 . 3 6

36

Таблица 2.5 – Вычисление нового базисного решения на первой итерации

 

 

 

 

 

 

 

 

 

 

Базис

z

x1

x2

s1

s2

s3

s4

Решение

Отношение

z

1

0

–2/3

5/6

0

0

0

20

 

x1

0

1

2/3

1/6

0

0

0

4

4/(2/3) = 6

s2

0

1

4/3

–1/6

1

0

0

2

2/(4/3) = 3/2(min)

s3

0

–1

5/3

1/6

0

1

0

5

5/(5/3) = 3

s4

0

0

1

0

0

0

1

2

2/1 = 2

 

 

 

 

 

 

 

 

 

 

Здесь x2 дает прирост, а s1 нет. Значит x2 вносим в базис. Далее рас- считываем отношения и производим замену и перерасчет (таблица 2.6).

Таблица 2.6 – Вычисление нового базисного решения на второй итерации

 

 

 

 

 

 

 

 

 

Базис

z

x1

x2

s1

s2

s3

s4

Решение

z

1

0

0

3/4

1/2

0

0

21

x1

0

1

0

1/4

–1/2

0

0

3

x2

0

0

1

–1/8

3/4

0

0

3/2

s3

0

0

0

3/8

–5/4

1

0

5/2

s4

0

0

0

1/8

–3/4

0

1

1/2

 

 

 

 

 

 

 

 

 

Вновь из z-строки сформируем выражение

z = − 3 s1 1 s2 + 21. 4 2

Свободные переменные прироста не дают, а значит полученное решение оптимально. Следовательно (из таблицы 2.6): x1 = 3, x2 = = 3/2, z = 21.

Сформулируем обобщенный алгоритм симплекс-метода. Этап 0 Находится начальное допустимое базисное решение.

Этап 1 На основе условия оптимальности определяется вводимая пе- ременная. Если вводимых переменных нет, вычисления заканчиваются.

Этап 2 На основе условия допустимости выбирается исключае- мая переменная.

Этап 3 Методом Гаусса Жордана вычисляется новое базисное решение. Переход к этапу 1.

2.1.5 Двойственная задача

Запишем задачу ЛП в общем виде:

n

 

z = cj xj

max,

j=1

X

 

37

n

aij xj bi , xj 0, i = 1,m, j = 1,n.

j=1

Вэкономической интерпретации задачи ЛП коэффициент сj характе- ризует доход от единицы продукции, а bi расход на единицу ресурса.

Запишем обратную задачу ЛП:

m

 

 

 

 

 

w = bi yi

min,

i=1

Y

 

 

 

 

 

m

 

 

 

 

 

aij yi cj , yi 0,

i =

1,m

, j =

1,n

.

i=1

 

 

 

 

 

То есть с одной стороны мы максимизируем совокупный доход, а с другой минимизируем совокупный расход. Решение оптимально, если z = w.

2.2 Нелинейные задачи математического программирования

2.2.1 Экстремумы целевой функции

Поиск оптимального решения предполагает минимизацию или максимизацию некоторой целевой функции.

Математически оптимальное значение точка минимума или максимума на целевой функции (рисунок 2.5). Для ее отыскания в общем случае (когда целевая функция не строго линейная) использу-

ется аппарат дифференциального исчисления.

Оптимизация заключается в отыскании точек, подозрительных на максимум или минимум, и проверке этих точек на «экстремальность».

Подозрительные точки еще называют стационарными, в них про- изводная целевой функции равна нулю. По форме это могут быть точки максимума, минимума или перегиба.

2.2.2 Необходимое условие существования экстремума

Для некоторой функции многих переменных f (X), где X = (х1, х2xn), определим все частные производные.

Составим вектор частных производных, называемый градиентом

f (X ) = ( f , f f ) .

x1 x2 xn

38

Рисунок 2.5 – Экстремумы функции одной переменной

Тогда точка X0 считается подозрительной на экстремум, если значе- ние градиента в ней равно нулю:

f (X0 ) = 0 .

 

Например:

 

 

 

 

 

 

f (x , x ) = x2

+ 2x2

x ;

1

2

 

1

2

2

f (x1, x2 ) = (

f

,

f

 

) = (2x1, 4x2 1);

 

 

 

 

x1

x2

 

 

2x1 = 0;

 

 

4x2 1 = 0;

 

x1 = 0, x2

= 1/ 4.

2.2.3 Достаточное условие существования экстремума

Для того чтобы стационарная точка Х0 была экстремальной, дос- таточно, чтобы матрица Гессе Н в точке Х0 была:

-положительно определенной (точка минимума);

-отрицательно определенной (точка максимума). Например:

39

 

f (x , x ) = x2

+ 2x2

x ,

 

 

 

1

2

 

1

 

 

 

2

 

 

2

 

 

 

 

 

f

 

 

f

 

 

 

 

 

 

 

 

2

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

H (x1

, x2 ) =

x12

x1x2

 

 

2 0

 

 

2

 

 

 

 

2

 

 

 

=

.

 

 

f

 

f

 

 

0 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

x2x1

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

 

Матрица H является положительно определенной, если значения всех угловых миноров определителя |H| положительны.

Матрица H является отрицательно определенной, если значения k-x угловых миноров определителя |H| отличны от нуля и имеют знак

(–1)k, где k = 1,…, n.

Для примера выше:

 

 

 

 

 

 

2 f

 

 

2

f

 

 

H

 

=

 

 

x12

 

x1x2

 

;

 

 

 

 

 

 

 

 

2 f

 

 

2

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2x1

 

 

x22

 

 

 

 

 

H

 

1 =

 

2

 

= 2;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

H

 

=

2

0

= 8.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

0

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Значит, точка (0;1/4) – точка максимума.

2.2.4 Оптимизация с ограничениями в виде равенств

Для некоторой функции многих переменных f (X), где X = (х1, х2xn), зададим границы поиска ее оптимального значения, в виде системы уравнений

g(X ) = (g1 (X ), g2 (X ),, gm (X )) = 0

или

g1 (X ) = 0;...

gm (X ) = 0.

40

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]