Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Исследование операций. Учебное пособие-1.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

4. СИМПЛЕКСНЫЙ МЕТОД РЕШЕНИЯ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ

План

4.1.Алгоритм симплексного метода.

4.2.Постановка и решение задачи.

4.3.Особые случаи применения симплекс-метода.

Симплекс-метод является методом решения задач ЛП. Он впервые использовался лауреатом Нобелевской премии в области экономики советским ученым Леонидом Канторовичем в 1939 г. и описан в том виде, в котором существует сейчас, Данцигом в 1947 г.

Симплексный метод – метод последовательного улучшения плана.

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

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

4.1. Алгоритм симплексного метода

1.Математическую модель задачи привести к каноническому (стандартному) виду.

2.Построить начальную симплекс-таблицу исходя из стандартного вида.

3.Найти разрешающий столбец. В строке коэффициентов ЦФ найти значение с самим маленьким отрицательным числом. Этот столбец и будет разрешающим.

4.Вычислить разрешающую строку и ведущий элемент (Почленно разделить столбец свободных членов на элементы разрешающего столбца, за исключением строки ЦФ. Выбрать наименьшее из частных. Эта строка будет разрешающей. Ведущий

36

элемент будет на пересечении разрешающего столбца и разрешающей строки).

5. Построить новую симплекс-таблицу – второй шаг.

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

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

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

6. Проверяем таблицу второго шага на оптимальность. Если в строке целевой функции нет отрицательных элементов, тогда таблица имеет оптимальный план. Записать ответ. Если в строке ЦФ есть отрицательный элемент (элементы), тогда переходят к следующему (третьему) шагу, строят новую симплекс-таблицу в соответствии с п. 5 и затем проверяют ее на оптимальность. Построение таблиц заканчивается с нахождением оптимального плана.

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

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

Решить двойственную модель симплекс-методом.

Записать ответ.

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

Для этого достаточно воспользоваться соответствием переменных прямой и двойственной задач в симплекс-таблице.

Таблица 4.1

Симплекс-таблица

 

1

2

 

 

 

1

2

 

 

 

 

 

 

 

 

 

 

 

1

2

 

 

 

 

1

1

 

 

 

 

 

 

4.2. Постановка и решение задачи

 

 

1

= 2 кг мате-

 

 

 

37

 

 

 

 

 

Предположим, что для производства двух видов продукции

 

и можно использовать только материал трех сортов. При этом

на

 

 

изготовление единицы изделия вида

 

 

расходуется:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

готовление

 

2

 

 

 

2-го

 

 

 

3

4

1

 

 

риала 1-го сорта,

= 4 кг –

 

 

 

 

 

 

 

 

= 3 кг 2-го сорта и

 

 

кг 3-го сорта. На из-

2-го –

 

единицы изделия вида

 

расходуется = 6 кг материа-

= 520 кг и 3-го –

 

= 600 кг. От реализации

единицы1

го-

ла 1-го сорта,

 

 

 

 

 

 

 

сорта и

 

 

=3 кг – 3-го сорта. На

складе фабрики2имеется всего

материала 1-го сорта

= 600 кг,

 

 

 

 

3

 

 

 

 

товой продукции2

вида

 

фабрика имеет прибыль 3 тыс. рублей,

 

3

 

 

 

 

 

 

 

 

 

 

 

а от продукции вида

 

прибыль составляет 6 тыс. рублей. Соста-

 

А

 

 

 

 

 

 

 

 

 

 

 

 

вить план работы

фабрики так, чтобы получить максимальную

 

 

В

 

 

 

 

 

 

 

 

 

 

 

 

 

прибыль от реализации всей продукции.

Решение

Составим математическую модель данной плановоэкономической задачи. Очевидно, что чем больше будет произведено изделий вида и , тем больше будет прибыль от реализации всей продукции. Но неограниченно увеличивать количество про-

дукции нельзя из-за ограниченности запасов сырья. Итак, неиз-

вестно, сколько нужно изготовить изделий каждого вида.

Тогда

 

 

2

 

 

 

 

следует изготовить

1 единиц,

Поэтому пусть изделий вида

изделий вида

 

единиц.

 

 

 

 

 

 

 

 

прибыль от реализации всей продукции выразится

На переменные = 3 1 + 6 2

(тыс. руб. )

 

функцией цели

 

 

 

 

 

 

 

 

 

 

 

(4.1)

 

 

 

 

этой функции запасами сырья накладываются

 

 

 

 

2 1

+ 6 2

600,

 

 

(4.2)

ограничения в виде неравенств:

 

520,

 

 

 

 

 

 

 

3 1

+ 4 2

 

 

 

цательны:

 

 

 

4 1

+ 3 2

600.

2

 

(4.3)

 

 

 

 

1

0,

1

и

 

По смыслу задачи переменные

 

 

 

должны быть неотри-

 

 

 

 

 

2 0.

 

 

 

 

 

 

Соотношения (4.1) – (4.3)

составляют математическую модель

задачи. Все соотношения линейные, значит это задача линейного программирования, и т. к. система (4.2) содержит неравенства, то это общая задача линейного программирования.

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

38

бы от системы неравенств (4.2) перейти к системе уравнений вве-

Экономический

( 3 4

5

0)

 

дем вспомогательные переменные, ,

3, 4, 5; такие, что

(4.4)

 

смысл этих переменных состоит в том, что

венства x4 , 3-го x5 , то

2x1

+ 6x2

+ x3

= 600

x3, 2-го нера-

 

 

 

3x1

+ 4x2

+ x4

= 520

(4.5)

 

 

 

(4.1) F выразим через новые переменные

Функцию

цели

 

4x1

+ 3x2

+ x1

= 600

 

х3, х4, 5

 

= 3 1 + 6 2 + 0 × 4 + 0 × 5

(4.6)

или

 

 

равенства (4.5).

 

 

 

получим

 

= 3 1 + 6 2 + 0 × 4 + 0 × 5 = 0

это остатки сырья соответственно 1-го, 2-го, 3-го сорта: если к левой части 1-го неравенства системы (4.3) прибавить

Соотношения (4.4) – (4.6) и составляют математическую модель задачи линейного программирования в канонической форме.

Теперь можно составить первую симплекс-таблицу (табл. 4.2) Таблица 4.2

Симплекс-таблица

Базис (Б)

Свободные

 

Коэффициенты при неизвестных

 

 

 

 

 

 

 

 

Члены (А)

1

 

2

3

4

 

5

 

 

 

 

 

 

 

3

660

1

 

6

1

0

 

0

320

3

 

4

0

1

 

0

5

650

4

 

2

0

0

 

1

4

 

 

F(x)

0

1

 

5

0

0

 

0

 

 

 

 

 

 

 

 

 

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

39

3

 

4

 

5

 

Б1 = А3, А4, А5

1

 

 

Итак, первое решение (1-й план производства): = 0,

: 2

= 0,

 

= 600,

 

= 520,

 

= 600, F(x) = 0 или в векторной форме1

 

=

(0, 0, 600, 520, 600), базис

.

 

 

 

С точки зрения производства это план простоя производства: изделий вида А и В не производить, все сырье останется в остатках, и прибыль будет равна нулю.

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

Критерием оптимальности решения является отсутствие отрицательных элементов в последней (индексной) строке симплекстаблицы.

Так как в последней строке 1-й симплекс-таблицы есть отрицательные элементы, то первое решение не является оптимальным. Перейдем ко 2-й симплекс-таблице (табл. 4.3).

Для перехода к следующей симплекс-таблице необходимо в данной таблице найти ключевой (ведущий) столбец и ключевую (ведущую) строку.

Ключевой столбец соответствует наименьшему отрицательному элементу последней строки таблицы. В этом случае это «–6». Отметим ключевой столбец.

Ключевая строка соответствует минимальному частному свободных членов и соответствующих положительных элементов ключевого столбца, т.е. min {600/6; 520/4; 600/3} = min{100; 130; 200} =100, следовательно, ключевой будет 1-я строка, отметим ее.

На пересечении ключевых столбца и строки находится ключевой элемент, в данном случае это «6».

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

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

40

Все остальные элементы п ресчитываются по правилу прямо-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Эл.

соотв−й

×

угольника:

Прежний× Ключевой− прежнемувкл. столбце

 

элемент

 

 

 

 

элемент

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Новый

=

 

 

 

 

 

 

 

 

 

 

Эл. соотв− й

 

 

 

 

 

 

 

 

 

 

 

 

× прежнемувкл. столбце

 

 

 

элемент

 

 

 

 

 

 

 

 

 

 

Ключевойэлемент

 

 

 

 

 

 

 

 

 

 

4 1: 3 × 6 4 × 2 = 10 =

5

 

 

 

 

 

Произведем пересчет (первой указывается строка):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

6

 

3

 

 

 

 

 

 

 

 

 

 

 

 

5 1: 4 × 6 3 × 2 = 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1: 3 × 6 (6) × 2 = 1

 

 

 

 

 

 

 

 

 

 

4

3:

6

 

 

=

2

 

 

 

 

 

 

 

 

 

 

 

 

 

0 × 6 4 × 1

 

 

 

 

 

 

 

 

 

 

 

 

 

5

3:

6

 

 

=

3

 

 

 

 

 

 

 

 

 

 

 

 

 

0 × 6 3 × 1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

3:

 

 

6

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

4

 

0 × 6 (6) × 1 = 1

 

 

 

 

 

 

 

 

 

 

 

св. чл. :

520 × 664 × 600

= 120

 

 

 

 

 

 

 

 

5

св. чл. :

 

 

 

6

 

 

 

= 300

 

 

 

 

 

 

 

 

600 × 6 3 × 600

 

 

 

 

 

 

 

 

 

 

 

 

 

0 × 6

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

св. чл. :

(6) × 600

= 600

 

 

 

В

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

результате получим вторую симплекс-таблицу (табл. 4.3).

 

 

 

 

 

 

 

 

 

Симплекс-таблица

 

 

 

 

Таблица 4.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

0

 

 

1

 

 

 

2

 

 

3

 

 

4

 

5

 

 

 

 

 

100

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

120

 

 

3

 

 

 

0

 

 

 

3

 

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

300

 

 

3

 

 

 

 

 

0

 

 

 

 

 

 

0

 

1

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F(x)

 

 

 

600

 

 

-1

 

 

 

 

0

 

 

1

 

 

 

0

 

0

 

41

Второе1решение= 0; 2 =(2-100;й план3):= 0; 4 = 120; 5 = 300;( ) = 600 (тыс. руб.). Б2 = (А1, А4, А5)Х2 = (0, 100, 0, 120, 300)

Второй план лучше первого, уже есть прибыль, но этот план не является оптимальным, т. к. в последней строке 2-й симплекстаблицы есть отрицательный элемент. Будем улучшать этот план, переходя к 3-й симплекс-таблице.

Вновь определяем ключевой столбец, соответствующий

наименьшему

отрицательному элементу в

последней

строке

 

 

 

 

 

, следовательно,

 

 

 

 

 

1 3

;

5 3 ;

32-я

=

этом случае такой элемент один – это «–1»).

 

 

100

 

120

300

 

{300; 72; 100}

 

 

 

 

соответствует

 

 

 

 

Ключевая

 

 

строка

 

 

 

 

ключевым элементом – «5/3».

 

ключевой строкой будет

и

 

 

 

 

 

 

 

 

 

 

 

 

 

Алгоритм уже весь получен.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 3

:

16 × 53 13 × (23)

 

 

 

 

 

 

 

 

 

 

 

 

 

53

 

 

 

 

 

 

 

 

 

 

Вычисляем элементы 3-й симплекс-таблицы.

 

 

 

 

 

 

 

 

=

3

; 5 3:

12 × 6 3 × (2

3)

7

 

 

 

 

 

10

 

 

 

3

53

 

 

 

 

=

10 ;

 

 

3 :

1 × 53 (1) × (23)

 

; 1 4:

 

0 × 53 13 × 1

 

 

 

 

 

53

 

 

 

= 5

 

 

 

 

53

 

 

 

 

 

= 1

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

3

 

 

 

0 × 53 3 × 1

 

9

 

5 4:

0 × 53 (1) × 1

 

 

 

 

 

 

 

53

 

 

 

 

= 5 ; 4:

 

 

 

53

 

 

= 5 ;

 

 

 

 

2 св.чл. :

100 × 53 13 × 120

= 76;

 

 

 

 

 

 

 

 

 

 

 

53

 

 

 

 

 

 

 

 

 

 

 

 

 

5 св.чл. :

300 × 53 3 × 120

= 84;

 

 

 

 

 

 

 

 

 

 

 

53

 

 

 

 

 

 

 

 

 

 

 

:

600 × 53 (1) × 120

= 672.

 

 

 

 

 

 

 

 

 

 

 

 

53

 

 

 

 

 

 

 

 

Получим третьюсв.чл.

симплекс-таблицу (табл. 4.4).

 

 

 

 

 

42

Таблица 4.4

Симплекс-таблица

Б

 

0

 

 

1

 

 

2

 

 

3

 

4

5

2

 

72

 

 

 

 

 

0

 

 

10

 

5

0

 

 

76

 

 

 

 

 

1

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

84

 

 

0

 

 

0

 

 

10

 

5

0

1

 

 

 

 

 

 

 

5

 

5

1

F(x)

 

672

 

 

0

 

 

0

 

 

5

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

= 72; 2

= 76; 3

= 0, 4

= 0; 5 = 84; =

 

 

Третье решение (третий план):

= (72, 76, 0, 0, 84).

 

672 (тыс. руб. ). Б3

= ( 1

, 2

, 5), 3

 

Так как в последней строке симплекс-таблицы нет отрицательных элементов, то третье решение является оптимальным.

Ответ:

делий вида следует изготовить 72 единицы, изделий вида – 76 единиц. При этом сырье 1-го и 2-го сорта израсходуется полностью, а сырья 3-го сорта останется 84 кг.

Для получения максимальной прибыли в 672 тыс. рублей из-

4.3.Особые случаи применения симплекс-метода

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

ний. Эти решения называются альтернативными оптимальными решениями. Наличие альтернативных решений можно определить по оптимальной симплекс-таблице. Если в z-строке оптимальной таблицы есть нулевые коэффициенты небазисных переменных, то есть альтернативные решения.

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

3.Если ограничения задачи линейного программирования несовместны (т. е. они не могут выполняться одновременно), то

43

задача не имеет допустимых решений. Такая ситуация не может возникнуть, если все неравенства, составляющие систему ограничений, имеют тип «≤» с неотрицательными правыми частями, т. к. в этом случае дополнительные переменные могут составить допустимое решение. Для других типов ограничений используются искусственные переменные. Если задача имеет решение, то в оптимальной таблице в базисе нет искусственных переменных (Ri). Если они там есть, то задача не имеет решений.

Вывод

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

Основное содержание симплексного метода заключается в следующем:

1)указать способ нахождения оптимального опорного решения;

2)указать способ перехода от одного опорного решения к другому, на котором значение целевой функции будет ближе к оптимальному, т. е. указать способ улучшения опорного решения;

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

Вопросы для самопроверки

1.Симплексный метод решения задач ЛП.

2.Алгоритм решения задач ЛП симплекс-методом.

3.Что такое симплекс-таблица?

4.Допустимое решение задачи симплекс-таблицы.

5.Что такое правило прямоугольника?

Литература и Интернет-ресурсы

1. Математические методы и модели исследования операций: учебник / под ред. В. А. Колемаева. М.: Юнити-Дана, 2015. 92 с. [Электронный ресурс]. URL: //biblioclub.ru/index.php?page=book &id=114719

44

2.Лемешко Б. Ю. Теория игр и исследование операций. Новосибирск: НГТУ, 2013. 167 с. [Электронный ресурс]. URL: //biblioclub.ru/index.php?page=book&id=228871

3.Гладких Б. А. Методы оптимизации и исследование операций для бакалавров информатики. Линейное программирование: учебное пособие. Томск: Изд-во «НТЛ», 2009. Ч. 1: Введение в исследование операций. 200 с. [Электронный ресурс]. URL: //biblioclub.ru/index.php?page=book&id=200774

4.Грызина Н. Ю., Мастяева И. Н., Семенихина О. Н. Математические методы исследования операций в экономике: учебнометодический комплекс. М.: Евразийский открытый институт, 2009. 196 с. [Электронный ресурс]. URL: //biblioclub.ru/index.php ?page=book&id=93167

5.Солдатова С. Э., Лукьянова Н. Ю., Чеглакова Л. М. Методы исследований в менеджменте: учебное пособие. М.: ДиректМедиа, 2014. 342 с. [Электронный ресурс]. URL: //biblioclub.ru/ index.php?page=book&id=235095

45

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