Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЧМ ЛЕКЦИИ для РИО.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.1 Mб
Скачать

3.6. Обобщение результатов линейного программирования

Предположим, что начальная каноническая форма задана уравнениями, в которых ограничения преобразованы таким образом, что X1,...,Xn последовательно выражаются через b и остальные Xi. Это можно записать в виде

X1+...…..a'1(m+1)X(m+1)+...+a'1nXn=b'1 (43)

Xm+a'm(m+1)X(m+1)+...+a'mnXn=b'n

Если умножить ограничения системы (43) на с1, с2,...,сm и вычесть из Z, то X1,...,Xm исключаются из Z и мы получим

c'm+1Xm+1+c'm+2Xm+2+...+c'nXn=Z–Zo, (44)

где

m

Zo=  ci*bi. (45)

i=1

Если Xm+1,Xm+2,...,Xn=0, то соотношения X1=b'1, X2=b'2, Xm+1=0, Xn=0 задают базисное решение. Если же при этом все b'i0 – это решение допустимо. Среди таких решений надо найти оптимальное. Симплекс-метод обеспечивает процедуру замены одной канонической формы на другую, при которой значение целевой функции уменьшается. В виде симплекс таблиц уравнения (43)-(45) приведены ниже.

Таблица 13

Итерация

Базис

Значение

X1

X2

Xr

Xm

Xm+1

Xn

0

X1

X2

Xr

Xm

B’1

B’2

B’r

B’m

1

*

*

*

*

1

*

*

*

*

1

*

*

*

*

1

A’1(m+1)

A’2(m+1)

A’r(m+1)

A’m(m+1)

A’1n

A’2n

A’rn

A’mn

Z

Z’c

*

*

*

*

C’m+1

C’n

Итерационный процесс состоит из трех шагов.

  1. Найти переменную для включения в базис.

Таковой будет небазисная переменная, для которой с'j≤0 (лучше максимальная по модулю с'j. Пусть это будет с'm+1.

2. Найти переменную для исключения из базиса.

Для этого необходимо найти ответ на следующий вопрос: насколько можно увеличивать Xm+1, не нарушая условия неотрицательности базисных переменных? Если в i-том ограничении a'(m+1)>0, то наибольшее значение, которое может принимать Xm+1 равно b'i/a'i(m+1), иначе переменная Xi станет отрицательной. Таким образом значение Xm+1 может быть увеличено до величины {max}Xm+1={min}(b'i/a'1(m+1)) при i=1...m, a'i(m+1)>0. Если этот минимум достигается в строке r, то Xr обращается в ноль, когда Xm+1= b'r/a'r(m+1). Элемент a'r(m+1) называется ведущим элементом, строка r – ведущая строка, столбец m+1 – ведущий столбец.

3. Построение новой канонической формы.

Теперь получили новый базис X1, X2, Xm, Xm+1. Чтобы построить новую каноническую форму, коэффициент при Xm+1 в ведущей строке сделаем равным единице, поделив строку на ar(m+1), чтобы образовать новую ведущую строку. Затем удалим Xm+1 из других ограничений целевой функции. Для этого из i строки (i≠r) с коэффициентом a'r(m+1) при Xm+1 вычтем a'r(m+1) (новая ведущая строка).

На очередной итерации каноническая форма будет выглядеть следующим образом табл.14)

Таблица 14

Итерация

Базис

Значение

X1

X2

Xr

Xm

Xm+1

Xn

K+1

X1

X2

Xm

Xm+1

B+1

B+2

B+m

B+m+1

1

*

*

*

*

1

*

*

A+1r

A+2r

A+mr

A+(m+1)r

*

*

1

*

*

*

*

1

A+1n

A+2n

A+mn

A+(m+1)n

Z

Z’c

*

*

C+r

*

*

C +n

Теперь, построив новую каноническую форму, необходимо вернуться к первому шагу итерационного процесса и вновь повторить вычислительную процедуру, выбрав отрицательное значение С+j. Итерационный процесс продолжается до тех пор, пока все cj не станут положительными. Это означает, что минимум целевой функции достигнут.

Покажем работу алгоритма на упражнении № 9. В стандартной форме ограничения и целевая функция выглядят следующим образом.

Минимизировать функцию

6X1–2X2=Z (46)

при ограничениях

X1, X2, X3, X4>=0, (47)

2X1+4X2+X3=9, (48)

3X1+X2+X4=6. (49)

Последовательность итераций с комментариями решения приводится в табл. 15.

Таблица 15

Итерация

Базис

Значение

X1

X2

X3

X4

0

X3

X4

9

6

2

30

4

1

1

*

*

1

–Z

0

–6

–2

*

*

1

X3

X1

5

2

*

1

10/30

1/3

1

*

–2/3

1/3

–Z

12

*

0

*

2

2

X1

X2

3/2

3/2

1

*

*

1

–1/10

3/10

4/10

–2/10

–Z

12

*

*

0

2

Начальный базис очевиден: X1=X2=0; X3=9; X4=6. Желательной переменной для включения в базис является X1, так как для этой переменной значение коэффициента c1 в выражении целевой функции имеет максимальную отрицательную величину. При этом ведущим будет столбец с номером 1, ведущей строка с номером 2; значение коэффициента a21=3. Для включения в базис X1 разделим ведущую строку на 3, получим Х1+1/3Х2+1/3Х4=2. Исключим X1 из ограничения (48) и целевой функции (46), умножив Х1+1/3Х2+1/3Х4=2 на 2 и (–6) и вычтем соответственно полученные уравнения из ранее упомянутых. Получим, соответственно, новые выражения ограничения и целевой функции (табл. 15, итерация 1). В целевой функции коэффициент С4 имеет положительное значение, коэффициент С2 равен нулю, то есть включение X2 в базис не имеет смысла, так как это не уменьшит значение целевой функции. Покажем это на примере следующей итерации. Предлагаем читателю самостоятельно получить выражения ограничений и целевой функции для второй итерации. Значение целевой функции не изменилось. Если сравнить полученные результаты с рис. 9 для графического решения данного упражнения, то легко убедиться, что первая итерация соответствует точке С, вторая – точке В.