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

Методы оптимизации. Учебное пособие-2

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

1

x1

x2

x3

y1

4

3

2

 

 

 

 

y2

3

2

1

 

 

 

 

y3

1

1

2

Выбирая в качестве разрешающего элемента элемент a11, получим следующую таблицу

2

y1

x2

x3

x1

0,25

–0,75

–0,5

y2

0,75

–0,25

–0,5

y3

0,25

0,25

1,5

На втором шаге в качестве разрешающего элемента выберем элемент, стоящий на пересечении второй строки и второго столбца, в результате преобразования получим

3

y1

y2

x3

x1

–2

3

1

x2

3

–4

–2

 

 

 

 

y3

1

–1

1

Выбирая в качестве разрешающего элемент, стоящий на пересечении третьего столбца и третьей строки, получим

4

y1

y2

y3

x1

–3

4

1

x2

5

–6

–2

x3

– 1

1

1

Таким образом, решение задачи

x1 = –3y1 + 4y2 + y3 x2 = 5y1 – 6y2 – 2y3

x3 = – y1 + y2 + y3.

В симплекс-методе и приложениях удобнее использовать модифицированные жордановы преобразования.

51

При применении модифицированных жордановых преобразований систему уравнений

y1 = a11x1 + a12x2 + … + a1nxn,

y2 = a21x1 + a22x2 + … + a2nxn,

………………………………

ym = am1x1 + am2x2 + … + amnxn

представляем в виде

y1 = (–a11)(–x1) + (–a12)(–x2) + … + (–a1n)(–xn) y2 = (–a21)(–x1) + (–a22)(–x2) + … + (–a2n)(–xn)

…………………………………………………

ym = (–am1) (–x1) + (–am2) (–x2) … + (–amn) (–xn)

и сопоставим этой системе таблицу

Т

–x1

– x2

– xn

y1

–a11

–a12

–a1n

y2

–a21

–a22

–a2n

…..

 

 

 

 

 

ym

–am1

–am2

–amn

Таблица образована коэффициентами при переменных x1, x2,…xn, взятыми со знаком минус. Первый столбец и первая строка таблицы состоит из символов y1, y2,… ym и –x1, –x2,… –xn соответственно, остальные элементы являются элементами матрицы A = (aij), i = 1, 2,… m, j = 1, 2,… n, взятыми со знаком минус, при этом в i-ой строке таблицы соответствуют коэффициенты i-го уравнения. Алгоритм модифицированных жордановых преобразований отличается от алгоритма жордановых преобразований пунктами 3 и 4:

1)выбираем какой-либо ненулевой элемент ai0 j0 0 и называем его разрешающим. Строку и столбец, на пересечении которых стоит разрешающий элемент, называем разрешающей строкой и разрешающим столбцом;

52

2)заменяем разрешающей элемент единицей;

3)элементы разрешающей строки не изменяем;

4)меняем знаки элементов разрешающего столбца за исключением разрешающего элемента на противоположные знаки;

5)элементы таблицы aij, находящиеся вне разрешающей строки и разрешающего столбца, пересчитываем по ”правилу опреде-

лителя”; элемент aij заменяем элементом aij ai0 j0 ai0 j aij0 .

6)все элементы таблицы делим на разрешающий элемент;

7)меняем местами символы yi0 и x j0 .

Применим метод модифицированных жордановых преобразований для решения сформулированной ранее задачи.

y1 = 4x1 + 3x2 + 2x3 y2 = 3x1 + 2x2 + x3 y3 = x1+ x2 + 2x3 .

Таблица, соответствующая рассматриваемой системе имеет вид:

 

1

x1

x2

x3

 

 

y1

–4

–3

–2

 

 

y2

–3

–2

–1

 

 

y3

–1

–1

–2

 

Выбирая в качестве разрешающего элемента элемент a11,

получим следующую таблицу

 

 

 

 

 

 

 

 

2

y1

x2

x3

 

 

x1

–0,25

0,75

–0,5

 

 

y2

–0,75

0,25

0,5

 

 

y3

–0,25

–0,25

–1,5

 

53

На втором шаге в качестве разрешающего элемента выберем элемент, стоящий на пересечении второй строки и второго столбца, в результате преобразования получим

3

y1

–y2

x3

x1

2

–3

–1

x2

–3

4

2

y3

–1

1

–1

Выбирая в качестве разрешающего элемент, стоящий на пересечении третьего столбца и третьей строки, получим

4

y1

y2

y3

x1

3

–4

–1

x2

–5

6

2

x3

1

–1

–1

Таким образом, решение задачи

x1 = –3y1 + 4y2 + y3 x2 = 5y1 – 6y2 – 2y3

x3 = – y1 + y2 + y3

54

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

Рассмотрим каноническую задачу линейного программирования: минимизировать целевую функцию

F(x) = c1x1 + c2x2 +… + cn xn

при следующих ограничениях в виде равенств

a11 x1 + a12x2 + ... + a1n xn = b1 a21 x1 + a22x2 + ... + a2n xn = b2

……………………....………..

am1 x1 + am2x2 + …+ amn xn = bm

и неравенств

x1 ≥ 0, x2 ≥ 0,… xn ≥ 0.

Решение сформулированной задачи может быть получено симплекс-методом, который позволяет выяснить имеет ли задача решение и, если имеет, то найти его. Алгоритм симплекс-метода состоит из двух частей.

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

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

55

Перейдем к описанию симплекс-метода, предназначенного для решения сформулированной выше задачи. Введем дополнительные переменные y1, y2,… ym:

y1 = a11 x1 + a12x2 + ... + a1n xn b1 y2 = a21 x1 + a22x2 + ... + a2n xn b2

……………………………..

ym = am1 x1 + am2x2 + …+ amn xn bm

Составим исходную симплекс таблицу:

1

x1

x2

xn

1

P

y1

a11

a12

a1n

b1

p1

y2

a21

a22

...

a2n

b2

p2

 

 

 

 

 

 

 

ym

am1

am2

amn

bm

pm

F

c1

c2

cn

0

pm+1

Для контроля вычислений вводится проверочный столбец – P: сумма элементов по строке вместе с проверочным столбцом равна –1. При последующих преобразованиях элементов таблицы, включая проверочный столбец, в случае ошибочных вычислений сумма элементов в строке, содержащей ошибку, будет отлична от –1.

Первая часть метода – поиск опорного решения состоит в последовательном циклическом выполнении следующих четырех шагов:

1)выбрать строку с отрицательным элементом в столбце свободных членов; если такой строки нет – опорное решение найдено, и следует перейти к выполнению второй части метода – поиску оптимального решения;

2)в выбранной строке с номером i0 i0-строке) выбрать ”разрешающий” j0-столбец с отрицательным элементом

( аi0 j0 0) ; если такого столбца нет, множество допустимых

56

решений совпадает с пустым множеством, следовательно, задача линейно программирования не имеет решения;

3) выбрать ”разрешающую” s-строку из условия:

bs

min{

bi

 

 

bi

0} ;

asj

aij

 

 

aij

i

 

 

 

0

0

 

0

 

 

 

 

4) провести шаг модифицированных жордановых преобразований с выбранным разрешающим элементом; затем перейти к пункту 1).

Вторая часть метода – поиск оптимального решения состоит в последовательном циклическом выполнении следующих трех шагов:

1)если в строке целевой функции среди базисных столбцов все

элементы –cj ≤ 0, то оптимальное решение найдено, если в указанной строке есть положительные элементы, то выбрать в строке целевой функции элемент с j0 0;

2)выбрать ”разрешающую” s-строку из условия:

 

bs

min{

bi

 

 

bi

0, aij

0}

 

asj0

aij0

 

aij0

 

i

 

0

.

 

 

 

 

 

 

 

 

все аij0 0 ,

 

 

Если

то

целевая

функция неограниченна,

решения задачи нет;

 

 

 

3)провести шаг модифицированных жордановых преобразований с разрешающим элементом аsj0 ; перейти к пункту 1).

Пример 20. Решить симплекс-методом задачу линейного программирования, рассмотренную в примере 19.

F(x) = 2x1 + x2 max

при следующих ограничениях в виде неравенств:

57

x2 ≥ 1

2x1 + x2 ≥ 4 x1 – 2x2 ≤ 4 2x1 + 4x2 ≤ 16 x1 ≥ 0, x2 ≥ 0

Решение. Приведем задачу линейного программирования к каноническому виду, введем вспомогательные переменные y1, y2, y3, y4

f(x) = – 2x1 x2 min

y1 = x2 – 1,

y2 = 2x1 + x2 – 4, y3 = –x1 + 2x2 + 4,

y4 = –2x1 – 4x2 + 16,

x1 ≥ 0, x2 ≥ 0, y1 ≥ 0, y2 ≥ 0, y3 ≥ 0, y4 ≥ 0.

Составим исходную симплекс таблицу 19.1.

 

 

 

 

Таблица 19.1

 

 

 

 

 

 

1

x1

x2

1

P

 

y1

0

–1

–1

1

 

y2

–2

–1

–4

6

 

y3

1

–2

4

–4

 

y4

2

4

16

–23

 

f

2

1

0

–4

 

 

 

 

 

 

 

Проведем поиск опорного решения (найдем одну из вершин пятиугольника (см. п. 3.1.3.):

1)первый элемент столбца свободных членов отрицателен

b1 = –1 < 0, выбираем первую строку, i0 = 1;

2)в первой строке выберем разрешающий столбец с отрицательным элементом, элемент во втором столбце a12 = –1 < 0, следовательно, j0 = 2;

3)выберем разрешающую строку из условия:

58

bs

1

 

4

 

16

},

 

min{ 1

;

1

;

4

as 2

минимум достигается в первой строке, s = 1;

4) проведем шаг модифицированных жордановых преобразований с разрешающим элементом – a12 = –1, получаем таблицу 19.2 и переходим к пункту 1).

 

 

 

 

Таблица 19.2

 

 

 

 

 

 

2

x1

y1

1

P

 

x2

0

–1

1

–1

 

y2

–2

–1

–3

5

 

y3

1

–2

6

–6

 

y4

2

4

12

–19

 

f

2

1

–1

–3

 

 

 

 

 

 

 

Поскольку столбец свободных членов в таблице 2 содержит отрицательный элемент, опорное решение еще не найдено. Проведем действия, описанные в 1) – 4) с разрешающим элементом – a22 = –1, и получим симплекс таблицу 19.3

 

 

 

 

Таблица 19.3

 

 

 

 

 

 

3

x1

y2

1

P

 

x2

2

–1

4

–6

 

y1

2

–1

3

–5

 

y3

5

–2

12

–16

 

y4

–6

4

0

1

 

f

0

1

–4

2

 

 

 

 

 

 

 

Столбец свободных членов в таблице 3 не содержит отрицательных элементов, опорное решение найдено x1=0, y2=0, x2=4, y1=3, y3=12, y4=0 – это вершина B(0,4) (см. пример 19, рис. 11). Значение целевой функции в опорной вершине f(0,4)= 4. Переходим ко второй части симплекс-метода.

Проведем поиск оптимального решения:

59

1)поскольку в строке целевой функции в столбцах базисных переменных содержится положительный элемент, то опорное решение не является оптимальным, положительный элемент находится во втором столбце c2 = 1, следовательно, j0=2;

2)в качестве разрешающей строки возьмем четвертую строку, поскольку

bs

min{0} 0, s = 4 ;

asj

4

0

 

3)проведем шаг модифицированных жордановых преобразований с разрешающим элементом a42 = 4 и получим симплекс таблицу 19.4.

 

 

 

 

Таблица 19.4

 

 

 

 

 

 

4

x1

y4

1

P

 

x2

0,5

0,25

4

–5,75

 

y1

0,5

0,25

3

–4,75

 

y3

2

0,5

12

–15,5

 

y2

–1,5

0,25

0

0,25

 

f

1,5

–0,25

–4

1,75

 

 

 

 

 

 

 

Поскольку в строке целевой функции в столбцах базисных переменных содержится положительный элемент, полученное решение не является оптимальным. Проведем с таблицей 4 действия, описанные в 1) – 3) (модифицированные жордановы преобразования с разрешающим элементом –a31 = 2), и получим симплекс-таблицу 19.5.

 

 

 

 

Таблицу 19.5

 

 

 

 

 

 

5

y3

y4

1

P

 

x2

–0,25

0,125

1

–1,875

 

y1

–0,25

0,125

0

–0,875

 

 

 

 

 

 

 

x1

0,5

0,25

6

–7,75

y2

0,75

0,625

9

–11,375

 

 

 

 

 

 

 

f

–0,75

–0,625

–13

13,375

 

 

 

 

 

 

 

60

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