Симплекс

реклама
ФИНАНСОВАЯ АКАДЕМИЯ ПРИ ПРАВИТЕЛЬСТВЕ РФ
Кафедра математики и финансовых приложений
Курсовая работа
на тему:
«Методы решения систем линейных неравенств»
Выполнил студент
группы МЭК 1-2
Чанкин Пётр
Алексеевич
Научный
руководитель:
Профессор Александр
Самуилович
Солодовников
Москва 2002г
2
Оглавление
ВСТУПЛЕНИЕ ........................................................................................................................................... 2
ГРАФИЧЕСКИЙ МЕТОД ........................................................................................................................ 3
СИМПЛЕКС-МЕТОД ............................................................................................................................... 6
МЕТОД ИСКУССТВЕННОГО БАЗИСА ........................................................................................................... 8
ПРИНЦИП ДВОЙСТВЕННОСТИ .........................................................................................................10
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ ..............................................................................12
2
Вступление
Отдельные свойства систем линейных неравенств рассматривались еще в первой
половине 19 века в связи с некоторыми задачами аналитической механики.
Систематическое же изучение систем линейных неравенств началось в самом
конце 19 века, однако о теории линейных неравенств стало возможным говорить
лишь в конце двадцатых годов 20 века, когда уже накопилось достаточное
количество связанных с ними результатов.
Сейчас теория конечных систем линейных неравенств может рассматриваться как
ветвь линейной алгебры, выросшая из неё при дополнительном требовании
упорядоченности поля коэффициентов.
Линейные неравенства имеют особо важное значение для экономистов, т.к именно
при помощи линейных неравенств можно смоделировать производственные
процессы и найти наиболее выгодные планы производства, транспортировки,
размещения ресурсов и т. д.
В данной работе будут изложены основные методы решения линейных неравенств,
применительно к конкретным задачам.
2
Графический метод
Графический метод заключается в построении множества допустимых решений
ЗЛП, и нахождении в данном множестве точки, соответствующей max/min целевой
функции.
В связи с ограниченными возможностями наглядного графического представления
данный метод применяется только для систем линейных неравенств с двумя
неизвестными и систем, которые могут быть приведены к данному виду.
Для того чтобы наглядно продемонстрировать графический метод, решим
следующую задачу:

2 x1  x 2  2

 x1  2 x 2  2
 x1  x 2  5

 x1  0, x 2  0
f  5x1  5x2  4  max
1. На первом этапе надо построить область допустимых решений. Для данного
примера удобнее всего выбрать X2 за абсциссу, а X1 за ординату и записать
неравенства в следующем виде:
X1 
X2
2
1
( 1)
X1  2X2  2
( 2)
X1  5  X2
( 3)
Так как X1  0 и X2  0 графики и область допустимых решении находятся в первой
четверти.
Для того чтобы найти граничные точки решаем уравнения (1)=(2), (1)=(3) и (2)=(3).
2
Как видно из иллюстрации многогранник ABCDE образует область допустимых
решений.
Если область допустимых решений не является замкнутой, то либо max(f)=+ ∞,
либо min(f)= -∞.
2. Теперь можно перейти к непосредственному нахождению максимума
функции f.
Поочерёдно подставляя координаты вершин многогранника в функцию f и
сравнивать значения, находим что
f(C)=f(4;1)=19 – максимум функции.
Такой подход вполне выгоден при малом количестве вершин. Но данная процедура
может затянуться если вершин довольно много.
В таком случае удобнее рассмотреть линию уровня вида f=a. При монотонном
увеличении числа a от -∞ до +∞ прямые f=a смещаются по вектору нормали1. Если
при таком перемещении линии уровня существует некоторая точка X – первая
общая точка области допустимых решений (многогранник ABCDE) и линии
уровня, то f(X)- минимум f на множестве ABCDE. Если X- последняя точка
пересечения линии уровня и множества ABCDE то f(X)- максимум на множестве
Вектор нормали имеет координаты (С1;С2), где C1 и C2 коэффициенты при неизвестных в целевой
функции f=C1◦X1+C2◦X2+C0.
1
2
допустимых решений. Если при а→-∞ прямая f=a пересекает множество
допустимых решений, то min(f)= -∞. Если это происходит при а→+∞, то
max(f)=+ ∞.
В нашем примере прямая f=a пересевает область ABCDE в точке С(4;1). Поскольку
это последняя точка пересечения, max(f)=f(C)=f(4;1)=19.
2
Симплекс-метод
Реальные задачи линейного программирования содержат очень большое число
ограничений и неизвестных и выполняются на ЭВМ. Симплекс-метод – наиболее
общий алгоритм, использующийся для решения таких задач. Суть метода
заключается в том, что после некоторого числа специальных симплекспреобразований ЗЛП, приведенная к специальному виду, разрешается. Для того,
чтобы продемонстрировать симплекс-метод в действии решим, с попутными
комментариями следующую задачу:
 X1  X2  X3
1
( 1)
X1  X2  X4
1
( 2)
X1  X2  X5
2
( 3)
Xi  0
f
i
1 2 3 4 5
( 4)
2X1  X2  3X3  2X4  X5  max
( 5)
1. Для того, чтобы приступить к решению ЗЛП симплекс методом, надо
привести ЗЛП к специальному виду и заполнить симплекс таблицу.
Система (4) – естественные ограничения и в таблицу не вписываются. Уравнения
(1), (2), (3) образуют область допустимых решений. Выражение (5) – целевая
функция. Свободные члены в системе ограничений и области допустимых решений
должны быть неотрицательны.
В данном примере X3, X4, X5 – базисные неизвестные. Их надо выразить через
свободные неизвестные и произвести их замену в целевой функции.
X3
1  X1  X2
X4
1  X1  X2
X5
2  X1  X2
f  6X1  X2
3
Теперь можно приступить к заполнению симплекс-таблицы:
Б.
X3
X4
X5
f
X1
0
0
1
0
X2
-1
1
1
-6
X3
1
-1
1
7
X4
1
0
0
0
X5
0
1
0
0
C
1
1
2
3
2
В первом столбце данной таблицы обозначены базисные неизвестные, в последнем
– значения свободных неизвестных, в остальных – коэффициенты при
неизвестных.
2. Для того чтобы найти максимум функции f надо с помощью преобразований
методом Гаусса сделать так, чтобы все коэффициенты при неизвестных в
последней строке были неотрицательными (для нахождения минимума,
сделать так, чтобы все коэффициенты были меньше или равны нулю).
Б
X3
X4
X5
f
X1
-1
1
1
-6
X2
1
-1
1
7
X3
1
0
0
0
X4
0
1
0
0
X5
0
0
1
0
C
1
1
2
3
Для этого выбираем столбец с отрицательным коэффициентом в последней строке2
(столбец 3) и составляем для положительных элементов данного столбца
отношения свободный член/коэффициент (1/1; 2/1)3. Из данных отношений
выбираем наименьшее и помечаем соответствующую строку4.
Нами выбран элемент в ячейке (3;3). Теперь с помощью метода Гаусса обнуляем
другие коэффициенты в данном столбце, это приводит к смене базиса и мы на один
шаг приближаемся к оптимальному решению.
Б
X3
X1
X5
f
X1
0
1
0
0
X2
0
-1
2
1
X3
1
0
0
0
X4
1
1
-1
6
X5
0
0
1
0
C
2
1
1
9
Как видно из таблицы теперь все коэффициенты в последней строке больше либо
равны нулю. Это означает, что нами найдено оптимальное значение. Свободные
неизвестные равны нулю, значению базисных неизвестных и максимуму функции f
соответствует значения свободных неизвестных.

x
( 1 0 2 0 1)
max( f )
9
при нахождении минимума выбираем положительные коэффициенты
Если положительных элементов не оказалось то данная ЗЛП не имеет решения, т.е max(f)=+∞ (при
задаче на нахождение максимума) или min(f)=- ∞ (нахождение минимума)
4
Если есть несколько одинаковых отношений можно выбрать любую строку
2
3
2
Метод искусственного базиса
Если после подготовки ЗЛП к специальному виду для решения симплекс методом,
не в каждой строке системы ограничений есть базисная переменная (входящая в
данную строку с коэффициентом 1, а в остальные строки с коэффициентом 0), то
для решения данной ЗЛП надо воспользоваться методом искусственного базиса.
Суть метода довольно проста:
1. К строкам, в которых отсутствует базисная переменная добавляется по
одной искусственной базисной переменной.
2. Новая задача решается Симплекс-методом, причем все искусственные
базисные переменные должны стать свободными (выйти из базиса) и их
сумма должна равняться нулю, в обратном случае в данной системе
невозможно выделить допустимый базис.
Рассмотрим следующий пример:
4X1  X2
4
( 1)
11X1  3X2  5X3  X4
f
12
( 2)
6X1  X2  4X3  5X4
min(f)-?
1. В первом уравнении нет базисных неизвестных. Введём искусственную
базисную неизвестную Y1 и заполним первую симплекс-таблицу
Для того, чтобы избавится от искусственной базисной неизвестной нам предстоит
решить вспомогательную задачу:
F=Y1→min
Выражая базисную неизвестную Y1 через свободные получаем:
F+4X1+X2=4 →min
Б
Y1
X4
F
X1
4
11
4
X2
1
3
1
X3
0
-5
0
Выбираем элемент в ячейке (3;2) и делаем шаг.
X4
0
-1
0
Y1
1
0
0
С
4
12
4
2
Б
X2
X4
F
X1
4
-1
0
X2
1
0
0
X3
0
-5
0
X4
0
-1
0
Y1
1
-3
-1
С
4
0
0
min(f)=0, все коэффициенты в последней строке меньше или равны нулю,
следовательно мы перешли к новому естественному базису. Теперь можно решать
основную задачу.
2
Принцип двойственности
В реальной практике встречаются задачи в которых число неизвестных больше
числа ограничений. Такие задачи решать в их первозданном виде довольно трудно,
но, применяя принцип двойственности можно заметно упростить решение,
поскольку в двойственной задаче будет, наоборот, больше ограничений, чем
переменных.
Для того чтобы показать, как принцип двойственности может упростить процесс
решения приведем следующий пример:
Èñõîäíàÿ çàäà÷à
X1  0
Äâîéñòâåííàÿ çàäà÷à
X2  0
X3  0
Y1  0
Y2  0
 1 2  Y1
 7
 6
 1 1   

  Y2  
 5 2
 8
 X1 

   X2    35 


  20 
 2 1 2 
 X3 
1 1 5
 X1 
f ( 7 6 18 )   X2 


 X3 

max(f)-?




 Y1 

 Y2 
( 35 20 )  
min(φ)-?
Из данного примера легко просматривается взаимосвязь между исходной и
двойственной задачами.
Введя в рассмотрение следующие элементы:
 1 1 5
A 

 2 1 2
T
A
 1 2
 1 1


 5 2

x
 X1 
 X2 


 X3 
ïîñòîÿííàÿ

b
Ñ0
0

c
 35 


 20 
 7
 6
 
 8
Эту связь можно обозначить следующим образом:

y
 Y1 


 Y2 
2
Èñõîäíàÿ çàäà÷à
Äâîéñòâåííàÿ çàäà÷à
 
A  x b
T  
A yc

y0

x 0
f


T
c  x  C0
 

max(f)-?


b
T

 y  C0
min(φ)-?
В двойственной задаче всего 2 переменных. Её можно легко решить графическим
методом и, используя вторую теорему двойственности, найти решение исходной.
Пропустим процесс решения двойственной ЗЛП, записав только результаты:
Y1=2
Y2=4
min(φ)=150
Т.к max(f)=min(φ), решение исходной задачи уже известно. Остаётся только найти
значения X1, X2, X3, при которых это значение достигается. Здесь мы применим
вторую теорему двойственности, которая устанавливает следующее соответствие:
 m


aik  yi  ck   xk


 i 1


 n


aik  xk  bi  yi


 k 1


(k
0
(i
0
1  ....  n)
1  ....  m)
aik ýëåìåíò ìàòðèöû
bi
A

ýëåìåíò âåòîðà ñ

ýëåìåíò âåêòîðà b
xk
è
ck
yi îïòèìàëüíûå
ðåøåíèÿ
В нашем примере получается следующая вполне тривиальная система линейных
уравнений:
( 5  2  2  4  18)x1
0
 x1  x2  5x3  35  2
 2x1  x2  2x3  20  4
0
0
Решение данной системы легко находится методом Гаусса и окончательный ответ
таков:
Функция f достигает максимума при X1=0, X2=5, X3=10 и max(f)=150
2
Список использованной литературы
1. Учебник: «Математика в экономике»; А.С. Солодовников, В.А. Бабайцев,
А.В. Браилов: Финансы и статистика 1999г.
2. Сборник задач по курсу математики; под редакцией А.С. Солодовникова и
А.В. Браилова; ФА 2001г.
3. «Линейные неравенства»; С.Н. Черников; Наука 1968
4. «Краткий очерк развития математики»; Д.Я. Стройк; Наука 1984.
Скачать