Файл: Тихомиров В.И. Линейное программирование в организации и планировании путевого хозяйства конспект лекций для студентов специальности Стр-во ж. д., путь и путевое хоз-во учеб. пособие.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
2Х\—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