Файл: Тихомиров В.И. Линейное программирование в организации и планировании путевого хозяйства конспект лекций для студентов специальности Стр-во ж. д., путь и путевое хоз-во учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.07.2024

Просмотров: 240

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Здесь многогранником й является многоугольник, плос­ костями у 1гг — ап лу — ап хг + at—О— прямые, полупространс­ твами у, > 0 — полуплоскости (на рисунках они отмечены штриховкой). Совершенно ясно, что решением задачи линей­ ного программирования будет какая-то вершина многогранни­ ка Q. На рис. 8 решение задачи максимизации целевой функ-

Рис. 8

Рис. 9

41

ции (31) даст вершина С2, а задачи минимизации этой функ­ ции — вершина Сь причем эти решения единственные. На рис. 9 приведен случай существования бесчисленного мно­ жества решений, так как прямые Z = 0 и г/5 = 0 параллельны.

На рис. 10 представлен случай неограниченности функ­ ции Z на Q, а на рис. 11—случай отсутствия решения, так как отсутствует область Q допустимого решения задачи.

42

5. Методы решения основной задачи линейного программирования

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

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

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

Рис. 12

Чтобы оценить трудоемкость вычислений, связанных с не­ упорядоченным перебором вершин, сошлемся на одну из клас­ сических задач линейного программирования, а именно — на проблему выбора, для которой легко подсчитывается число вершин соответствующего многогранного множества. Суть проблемы выбора в следующем. Задается квадратная матрица с п строками и п столбцами, требуется выбрать по одному элементу в каждой строке и в каждом столбце так, чтобы сумма их оказалась максимальной. Количество вершин соот­ ветствующего многогранника равно п\. Таким образом, не­ посредственное решение проблемы выбора связано со сравне­ нием л! вершин. Для вычисления значения линейной формы в каждой из вершин многогранника задачи необходимо произ­ вести п сложений. При п> 15 количество операций, необходи-

43


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

По формуле Стирлинга

(33)

При п = 20 число вершин многогранника условии задачи превышает 2 • 1018.

Машине, выполняющей 10 миллионов операций в секунду,, потребуется более 5000 лет, чтобы перебрать вершины много­ гранника, определяемого этой относительно простой задачи. Практика требует решение задачи типа проблемы выбора для значений п, значительно превышающих 20.

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

\

\

\

\

\

\

\

\

\

Рнс. 13

44

Практически оказывается, что при упорядоченном перебо­ ре число испытуемых вершин примерно соответствует рангу ■системы уравнений.

Поясним сказанное на графическом примере. Пусть об­ ласть допустимых .решений задачи изображается одиннадца­ тиугольником (рис. 13). Допустим, что мы определили исход­

ное решение х0 (в дальнейшем исходное решение будем назы­ вать опорным решением).

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

решения х0 перейти к решению х и далее к л'г и, наконец, от него к исходному оптимальному решению. В результате всего приходится испытать только 4 опорных решения вместо 11.

Такая идея упорядоченного перебора опорных решении, или идея последовательного улучшения плана заложена в основном вычислительном методе решения задач линейного программирования, получившим название симплексного ме­ тода. Такое название метода возникло от термина «симплекс», что означает простейший многогранник «-мерного простран­ ства, имеющий' «4-1 вершину.

Вычислительный симплекс-метод содержит в себе три ос­ новных элемента:

1.Способ определения опорного плана.

2.Правило перехода к следующему, лучшему, опорному плану.

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

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

•формы.

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

Симплексный ;метод относится к числу наиболее распрос­ траненных вычислительных методов, реализующих идею пос­ ледовательного улучшения плана. Этот метод является уни­ версальным, т. е. может быть предложен при решении любой задачи линейного программирования. Метод позволяет вести расчеты как вручную, так и на ЭВМ.

Математической основой симплекс-метода, как уже гово­ рилось выше, являются Жордановы исключения.

45


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

1)отыскивается опорный план (опорное решение);

2)полученное опорное решение проверяется на оптималь­

ность;

3)в случае неоптимальности первого опорного решения отыскивается новое опорное решение, которое также проверя­ ется на оптимальность.

Этот цикл повторяется до тех пор, пока не будет получено-

отпимальное опорное решение.

1. Нахождение опорного решения

Разберем решение этого вопроса на примере. Пусть задана система ограничений

X 1— Х-2 + А'з^ 4

2a'i+ Хч—л'з 5

\—2A'g—3.1'з Та1

Х'2 > 0, А'з>0.

Запишем условие задачи с помощью дополнительных пе­ ременных:

УI = 1(—-*ч) —1(—х2) + 1(—*з) + 4 ^ 0 р2 = —2(—х,) —1(—х2) + 1(—Аз)—5 ^ 0 У з — 2(— А[) +2 (—х%) + 3 (—Аз) — 1> 0 .

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

От полученной

системы

неравенств переходим к следую­

щей таблице:

 

 

 

 

 

— Х\ — x-i — х 3

1

У\=

1

- 1

+1

4

Уз—

- 2

- 1

+1

- 5

Уз=

- 2

+ 2

+ 3

- 1

Просматривая столбец свободных членов, видим, что сре­ ди свободных членов есть отрицательные. Это значит, что ис­ ходная таблица не имеет опорного решения.

46


Геометрически

это

означает, что

точка

(вершина)!

У1 = У2 = Уз=0 лежит

вне

многогранника.

Кроме

того, необхо*

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

В данном случае система разрешима. После того, как установлено, что система разрешима, но еще не имеет опор­ ного решения, приступаем к нахождению первого опорного, решения, придерживаясь следующего правила:

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

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

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

С правой стороны таблицы рассматриваемого примера проставлены эти отношения. Наименьшее из них 0,5 находится в третьей строке. Следовательно, разрешающим элементом будет —2, находящийся в первом, разрешающем столбце. Ко­ эффициент —2 заключается в рамку. Производим один шаг Жордановых исключений с выделенным элементом и получим новую таблицу:

 

-У з

— х 3

—*3

1

У1 =

1

0

5/2

7/2

2

 

 

 

 

У з —

^

| - 3

- 2

- 4

Л'1 —

1

— 1

__ 3_

1

2

2

2

 

 

47Г


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

ментам

выбранного столбца, которые неотрицательны:

7

1

 

—4

— :— = 7;

---- = 4; наименьшее пз них находится во второй

2

2

 

1

строке. Эту строку берем ведущей, а ведущим элементом бу­ дет —1 (взят в рамку).

Производим новый шаг Жордановых исключений. Полу­ чаем новую таблицу

~ У 2

— * 1!

*3

 

1

3

5

3

2

2

 

2

—1

3

2

4

1

1

1

В

~ 2

2

2

2

Теперь все элементы заключительного столбца неотрица­ тельны, и, следовательно, исходное опорное решение найдено:

*1 = 5/2; *2=0;

*3 = 0;

уо= 0; г/t = 3/2; г/3 = 4

(исходный опорный

5

*2 =

*, = 0).

 

 

 

план: *i = — ;

 

 

 

Геометрически это означает, что мыпопали в одну из вер­

шин многогранника допустимых решений.

 

 

2.

Нахождение оптимального решения

После того как найдено опорное решение задачи, необхо­

димо обратить внимание на заключительную

строку.

В зависимости от знаков коэффициентов z-той строки раз­

личают два возможных случая.

Первый

случай — когда все

коэффициенты 2-той строки неотрицательные.

Второй случай — когда среди

коэффициентов z-той строки

есть отрицательные.

 

 

 

 

В первом случае, следовательно, получено не только опор­

ное решение, но и оптимальное.

Вовтором

случае опорный

план еще не оптимальный, его

можно улучшить.

48