Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
314
Добавлен:
29.03.2015
Размер:
5.33 Mб
Скачать

2.4. Симплекс-метод решения задач линейного программирования

Симплекс-метод является универсальным методом решения ЗЛП [2]. Рассмотрим основные понятия симплекс-метода.

2.4.1. Канонический вид злп

Рассмотрим пример:

(2.4)

Канонический вид задачи должен удовлетворять следующим условиям:

  1. Количество переменных (n) не меньше количества ограничений (m): nm;

  2. Ограничения имеют вид равенств.

  3. Среди n переменных имеются такие m переменных, которые удовлетворяют условию: коэффициент при этой переменной в одном ограничении равен единице, в остальных – нулю. Эти переменные называют базисными (x3, x4, x5 – базисные переменные), остальные (nm) переменных называют свободными.

  4. Правые части ограничений неотрицательны.

  5. Целевая функция выражена через свободные переменные и минимизируется.

Каждому каноническому виду соответствует вершина допустимого многогранника.

2.4.2. Симплекс-таблица, соответствующая каноническому виду

Каждому каноническому виду поставлена в соответствие симплекс-таблица. Левый столбец таблицы – номера базисных переменных; верхняя строка таблицы – номера свободных переменных; правый столбец – правые части ограничений; нижняя строка (кроме крайнего правого элемента) – коэффициенты целевой функции; элемент, стоящий справа в нижней строке – значение (–Q0), где Q0 – свободный член целевой функции; внутреннее пространство таблицы – коэффициенты при свободных переменных (рис. 2.3):

Рис. 2.3. Симплекс-таблица для примера (2.4)

2.4.3. Нахождение координат вершины допустимого многогранника по каноническому виду (симплекс-таблице)

Задача линейного программирования может иметь столько канонических видов, сколько вершин у допустимого многогранника.

Для определения координат вершины допустимого многогранника свободные переменные приравниваются нулю, базисные переменные – правым частям ограничений. Целевая функция в данной вершине равна (–Q0).

Для вышеприведенной симплекс-таблицы:

, ,,,

Пример.

(2.5)

Для приведения задачи к каноническому виду добавим в первое ограничение переменную x3, во второе ограничение – переменную x4, целевую функцию помножим на –1:

(2.6)

где х3, x4 – базисные переменные, х1, x2 – свободные переменные.

Этому каноническому виду соответствует вершина:

, ,,,.

Составим таблицу коэффициентов при переменных в ограничениях:

x1

x2

x3

x4

b

1

0

1

0

10

1

2

0

1

20

Поделим коэффициенты второй строки таблицы на 2:

x1

x2

x3

x4

b

1

0

1

0

10

0,5

1

0

0,5

10

Как видим, для второй таблицы базисными являются переменные x2 , x3, а ограничения примут вид:

Так как переменная x2 стала базисной, ее необходимо исключить из целевой функции:

Соответствующая вершина имеет координаты:

, ,,,.

2.4.4. Алгоритм решения злп с помощью симплекс-метода

Сущность симплекс-метода – это направленный перебор вершин допустимого многогранника и нахождение той вершины, где целевая функция минимальна.

Рассмотрим три алгоритма решения ЗЛП симплекс-методом.

  1. ЗЛП приводится к каноническому виду.

Пусть требуется решить следующую задачу линейного программирования:

,

Данная задача уже приведена к каноническому виду (приведение ЗЛП к каноническому виду рассмотрено ниже). Составляется симплекс-таблица, соответствующая каноническому виду:

3

4

1

b1

2

b2

р3

р4

Q0

  1. Находятся координаты вершины, соответствующей каноническому виду.

  2. Анализируется целевая функция в вершине, т.е. выясняется, оптимальна ЦФ в данной вершине или нет:

(Например, ).

Если среди коэффициентов целевой функции имеется хотя бы один отрицательный, то целевая функция в этой вершине не оптимальна. Если все коэффициенты ЦФ неотрицательны, но имеется хотя бы один нулевой, то решение оптимально, но не единственно. Если все коэффициенты ЦФ положительны, то решение оптимально и единственно.

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

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

Столбец симплекс-таблицы, в котором находится свободная переменная, переводимая в базисную, называется разрешающим.

Пусть в рассматриваемой задаче р3 – максимальный по модулю отрицательный коэффициент целевой функции, тогда столбец а13, а23 – разрешающий, т.е. в новой симплекс-таблице x3 будет базисной переменной.

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

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

Пусть

, причем ,,

тогда строка (2, а23, а24, b2) – разрешающая.

Элемент, стоящий в разрешающей строке и разрешающем столбце, называется разрешающим (а23 – разрешающий элемент).

5. Выбранные свободные и базисные переменные (находящиеся в разрешающих строке и столбце) меняются местами в симплекс-таблице.

6. Пересчет коэффициентов в симплекс-таблице.

Поделим коэффициенты второго ограничения (разрешающая строка симплекс-таблицы) на разрешающий элемент:

(I)

(II)

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

(I–II)

(II)

Пересчитаем целевую функцию (исключим из нее x3):

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

Введем следующие обозначения:

аij – разрешающий элемент, стоящий в старой симплекс-таблице;

âij – элемент, стоящий на том же месте в новой симплекс-таблице (пересчитанный разрешающий элемент);

аij – разрешающая строка, j = 1n;

аij – разрешающий столбец, i = 1m.

Тогда формулы для пересчета будут иметь следующий вид.

Пересчитанный разрешающий элемент равен единице, деленной на разрешающий элемент старой таблицы:

âij = 1/ аij.

Элементы новой разрешающей строки находят как произведение пересчитанного разрешающего элемента и соответствующих элементов старой разрешающей строки:

âij = âij аij , j = 1n.

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

âij = – âij аij , i = 1m. (2.7)

Остальные столбцы рассчитываются по формуле

âij = аijâij аij , i = 1m , j = 1n.

Для нахождения элементов нового столбца из старого столбца вычитают произведение элемента, уже стоящего в новом столбце, и старого разрешающего столбца.

7. Записывается решение ЗЛП в случае неотрицательности коэффициентов нижней строки симплекс-таблицы.

Пример 1.

,

(2.8)

  1. Приведем задачу к каноническому виду путем введения искусственных переменных:

(2.9)

  1. Составляем симплекс-таблицу:

1

2

3

1

2

220

разрешающая строка

4

2

1

260

5

4

5

640

– 8

–12

0

разрешающий столбец

Так как имеются отрицательные коэффициенты целевой функции, то вершина, которой соответствует симплекс-таблица, не оптимальна. Максимальный по модулю отрицательный коэффициент ЦФ – (–12), следовательно, второй столбец является разрешающим.

Для определения разрешающей стройки находим отношения правых частей ограничений к положительным коэффициентам разрешающего столбца и выбираем минимальное отношение:

220/2 = 110

260/1 = 260

640/5 = 128

  1. Составляем новую симплекс-таблицу:

Разрешающий элемент = 2.

Новый разрешающий элемент: 1:2 = 0,5.

Новая разрешающая строка: 10,5 = 0,5; 2200,5 = 110.

Новый разрешающий столбец: 1(–0,5) = –0,5; 5(–0,5)= –2,5;

–12(–0,5) = 6.

Элементы других столбцов:

2

1

1,5

260

1

150

4

–0,5

5

=

1,5

640

–110

5

=

90

–8

–12

–2

0

–12

1320

Новая симплекс-таблица:

1

3

2

0,5

0,5

110

4

1,5

–0,5

150

5

1,5

–2,5

90

разрешающая строка

–2

6

1320

разрешающий столбец

Как видим, полученная вершина не оптимальна, и требуется перейти к следующей вершине.

  1. Составляем следующую симплекс-таблицу:

5

3

2

–1/3

4/3

80

4

–1

2

60

1

2/3

–5/3

60

4/3

8/3

1440

Все коэффициенты целевой функции положительны, следовательно, найдено оптимальное и единственное решение задачи.

Ответ: координаты вершины (x1 = 60, x2 = 80, x3 = 0, x4 = 60, x5 = 0),

Gmin = –1440, Qmax = 1440.

Пример 2.

,

Решение.

  1. Задача приводится к каноническому виду путем введения искусственных переменных:

Второе ограничение было домножено на (–1).

  1. Составляется симплекс-таблица:

1

2

3

2

–1

4

4

1

–2

2

разрешающая строка

5

1

1

5

–1

1

0

разрешающий столбец

Так как имеются отрицательные коэффициенты целевой функции, то вершина, которой соответствует симплекс-таблица, не оптимальна. Максимальный по модулю отрицательный коэффициент ЦФ – (–1), следовательно, первый столбец является разрешающим.

Для определения разрешающей стройки находятся отношения правых частей ограничений к положительным коэффициентам разрешающего столбца и выбирается минимальное отношение:

можно выбрать любое отношение (допустим, второе).

  1. Составляется новая симплекс-таблица:

Разрешающий элемент = 1.

Новый разрешающий элемент: 1:1 = 1.

Новая разрешающая строка: 1(–2) = –2; 12 = 2.

Новый разрешающий столбец: 2(–1) = –2; 1(–1) = –1; –1(–1) = 1.

Элементы других столбцов:

–1

2

3

4

2

0

1

+2

1

=

3

5

–2

1

=

3

1

–1

–1

0

–1

2

Новая симплекс-таблица:

4

2

3

–2

3

0

разрешающая строка

1

1

–2

2

5

–1

3

3

1

–1

2

разрешающий столбец

Проверка ограничений:

2·2 – 0 – 0 = 4

2 – (–2)·0 + 0 = 2

2 + 0 + 3 = 5

Проверка целевой функции:

–2 + 0 = –2.

Как видим, полученная вершина не оптимальна, так как среди коэффициентов целевой функции есть отрицательный коэффициент (–1). Требуется перейти к следующей вершине.

  1. Составляется новая симплекс-таблица:

4

3

2

–2/3

1/3

0

1

–1/3

2/3

2

5

1

–1

3

1/3

1/3

2

Проверка ограничений:

2·2 – 0 + 0 = 4

2 – 2·0 + 0 = 2

2 + 0 + 3 = 5

Проверка целевой функции: –2 + 0 = –2.

Все коэффициенты целевой функции положительны, следовательно, найдено оптимальное и единственное решение задачи.

Ответ: координаты вершины x1 = 2, x2 = 0, x3 = 0, x4 = 0, x5 = 3, Gmin = –2.

Соседние файлы в папке МОТС