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

УМ_Пособие_09

.pdf
Скачиваний:
34
Добавлен:
01.06.2015
Размер:
1.46 Mб
Скачать

91

Определим количество полных комплектов оборудования, которое за время T поставят все предприятия вместе.

Общее количество элементов Эj, которое произведут все предприятия, будет равно:

m

N j aij xij , j 1, n, j 1

Таким образом, при плане распределения заказов xij (i=1,m; j=1,n) будет произведено:

-N1 экземпляров элемента Э1,

-N2 экземпляров элемента Э2, …..

-Nn экземпляров элемента Эn.

Очевидно, что полных комплектов оборудования, в этом случае, будет произведено

Z min N j ,

1 j n

или, учитывая формулу для Nj, получаем целевую функцию:

m

Z min aij xij max,

1 j n i 1

которую требуется максимизировать.

Отличие этой задачи от всех ранее рассмотренных состоит в том, что здесь максимизируемая функция

m

Z min aij xij j i 1

не является линей функцией переменных xij и, таким образом, задача не является задачей линейного программирования. Однако еѐ легко свести к ЗЛП следующим образом.

Введѐм дополнительную переменную y:

y min N j

j

т.к. величина y является минимальной из всех величин

m

N j aij xij, i 1

92

то можно написать ряд неравенств, связывающую переменную y с другими переменными

Тогда целевую функцию можно представить в виде которую требуется максимизировать. Но теперь целевая

m

aij xij y, j 1, n.. i 1 Z y max,

функция Z’ = 0∙x11+…+0∙xmn+1∙y является линейной функцией относительно переменных xij, (i=1,m; j=1,n), и y т.е. математическая модель стала обычной ЗЛП.

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

Решение задачи линейного программирования графическим методом

Совокупность ограничений-неравенств в задаче ЛП определяет некоторую многоугольную область G. Область G называется областью решений системы ограниченийнеравенств. Область G является выпуклой областью.

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

Пусть задана функция Z=с1х1+c2x2+c0 и совместная система линейных неравенств с двумя переменными. Найдем среди множества точек (х1, x2) из области решений совместной системы неравенств такие, которые придают линейной функции Z наименьшее (наибольшее) значение. Для каждой точки плоскости функция Z принимает фиксированное значение Z = Z1. Множество всех таких точек есть прямая с1х1+c2x2+c0=Z1, перпендикулярная вектору С(c1; c2), выходящему из начала координат. Если эту прямую передвигать параллельно самой

93

себе в положительном направлении вектора С, то функция Z=c1x1+c2x2+c0=Z1, будет возрастать, а в противоположном направлении - убывать.

Минимизация и максимизация функции Z=с1x1+c2х2+c0 на многоугольнике решений достигается в точках пересечения этого многоугольника с опорными прямыми Z=с1x1+c2x2+c0, нормальными к вектору С(с1;c2). Это пересечение опорной прямой может быть в одной точке (вершине многоугольника) или в бесконечном множестве точек (сторона многоугольника).

Аналогично сказанному наименьшее и наибольшее значения линейной функции трех переменных на многограннике решений достигаются в точках пересечения этого многогранника с опорными плоскостями, перпендикулярными к вектору С=(c1;c2;c3).

Пример. Максимизировать линейную форму Z=2xl+2х2 при ограничениях 3x1-2х2 -6 и 3x12 3; х1 3.

Заменим знаки неравенств на знаки точных равенств. Построим область решений по уравнениям прямых 3x1-

2+6=0, 3x1+x2-3=0; х1=3 (рис. 6.1). Областью решений неравенств является треугольник MNP. Построим вектор С=(2;2).

Опорная прямая Р, перпендикулярная к вектору С, при выходе из треугольника решений MNP будет проходить через точку Р(3; 7.5). Поэтому в точке Р линейная функция Z=2x1+ 2х2 принимает наибольшее значение, т.е. максимизируется. и

Zmax=2.3+2.7.5= 21.

94

Рис.6.1

Процедура замены переменных (шаг жорданова исключения)

Каждую задачу ЛП можно задать в виде матрицы условий, где i-й столбец соответствует независимой переменной хi, i=l,n, крайний правый столбец содержит свободные члены bj

n

 

ограничений хj: (xj= a ji xi

b j , j=n+1,…,n+m). Каждая j-я

i 1

 

строка, соответствующая зависимей переменной хj, содержит коэффициенты aji j-го ограничения хj, а последняя z-строка содержит коэффициенты сi, входящие в целевую функцию Z.

Матрица условностей имеет вид табл. 6.1 Таблица 6.1

 

x1

x2

xn

l

xn+1

an+1,1

an+1,2

an+1,n

bn+1

xn+2

an+2,1

an+2,2

an+2,n

bn+2

xn+m

an+m,1

an+m,2

an+m,n

bn+m

Z

c1

c2

cn

0

Совокупность значений-неравенств в задаче ЛП определяет некоторую многоугольную область G (многогранник G), которая называется областью решений системы неравенств (6.2). В задаче ЛП точками, подозрительными на экстремум,

95

являются все вершины многогранника допустимой области G. Симплекс-метод позволяет находить экстремальное значение целевой функции за конечное число шагов, причем каждый последующий шаг улучшает значение целевой функции, полученное на предыдущих шагах. Под шагом здесь понимается процедура замены переменных, когда в качестве r-й независимой переменной принимается не xr, а некоторая зависимая переменная, скажем, xn+s. Такая процедура замены одной независимой переменной называется шагом жорданова исключения (ЖИ). Если провести замену независимой переменной xr, на зависимую xn+s, то матрица условий изменится и будет иметь вид табл. 5.2.

Таблица 5.2

 

x1

x2

xs+n

xn

1

xn+1

a`11/asr

a`12/asr

a`1r/asr

a`1n/asr

b`1/asr

xn+2

a`11/asr

a`11/asr

a2r/asr

a`2n/asr

b`2/asr

 

 

 

 

 

 

xr

-a11/asr

-a`11/asr

1/asr

-asn/asr

-bs/asr

 

 

 

 

 

 

xn+m

a`m+1/asr

a`m+2/asr

amr/asr

a`m+n/asr

b`m/asr

Элемент asr называется разрешающим элементом, r-й столбец - разрешающим столбцом, а s-я - разрешающей строкой. Элементы а`ji и b`j в табл.5.2 образуются по формулам:

a`ji=ajiasr-ajrasi; (6.3) b`j=bjasr-bsajr

Правила перехода от табл.6. 1 к табл.6.2 следующие:

1)разрешающий элемент заменяется единицей;

2)остальные элементы разрешающего r-го столбца остаются без изменений;

3)остальные элементы разрешающей s-й строки меняют лишь свои знаки;

4)элементы a`ji и b`j, не принадлежащие разрешающей строке или столбцу, вычисляются по формулам (5.3).

96

5) все полученные элементы делятся на разрешающий

элемент asr.

Пример. Для заданной матрицы условий, выполнить шаг ЖИ, приняв в качестве разрешающего элемента аsr53.

 

x1

x2

x3

1

x4

1

-2

3

1

x5

-1

1

2

4

Z

2

-1

-1

-2

 

 

 

x1

 

x2

 

x5

1

 

 

x4

5

 

-7

 

3

-10

 

x3

1

 

-1

 

1

-4

 

 

Z

3

 

-1

 

-1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

x2

 

x5

1

 

 

x4

 

5/2

-7/2

-3/2

-5

 

 

x3

 

1/2

-1/2

1/2

-2

 

 

Z

 

3/2

-1/2

-1/2

0

 

Совокупность независимых переменных определяет собой систему координат. Поэтому шаг жорданова исключения представляет собой переход к новой системе координат, которая задается теперь системой уравнений {xs+n=0, xi=0, i r }.

Начало координат интересно тем, что значение всех зависимых переменных в этой точке совпадает с величинами свободных членов соответствующих линейных форм. Можно говорить, что при замене независимой переменной xr на зависимую xs+n=0 происходит движение из начала координат по оси х до встречи с гиперплоскостью xs+n=0, и полученная точка определяет новое начало координат. Действительно, прямая в n- мерном пространстве задается системой n-1 уравнений, в

данном случае {хi= 0}; i= 1,2, …,n; i r . При этом значение xs+n теперь определяется выражением xs+n=asr.xr+bs. Величина xr

выбирается такой, чтобы оказалось xs+n=0, т.е. xr=-bs/asr, что и показано в столбце свободных членов таблицы 5.2. Переход от

одной системы координат к другой с помощью жордановых

97

исключений является основной рабочей процедурой при решении задач ЛП.

Cимплекс-метод

Название метода связано с тем, что первой задачей, на которой он разрабатывался, был симплекс-многогранник,

n

заданный условиями xi 1, xi 0.

i 1

Основные идеи симплекс-метода

Рассмотрим основные идеи симплекс-метода. Пусть в Rn заданы n+m переменных хj из которых первые n являются независимыми (базисными), а остальные m -зависимыми

n

x j a ji xi b j , j=n+1, …, n+m.

i 1

n

Необходимо найти max Z= ci xi , при ограничениях

i 1

xj>0, j=n+1, …, n+m.

Составим матрицу условий задачи, как и в табл. 6.1. Таблица 6.3.

 

x1

x2

xn

l

xn+1

an+1,1

an+1,2

an+1,n

bn+1

xn+2

an+2,1

an+2,2

an+2,n

bn+2

xn+m

an+m,1

an+m,2

an+m,n

bn+m

Z

c1

c2

cn

0

В точке xi=0, i=1,2,...,n, которая является началом координат, зависимые переменные xj имеют значения xj=bj. Предположим, что в табл. 6.3 все ci 0. Тогда maxZ достигается именно в начале координат, поскольку любое изменение xi в разрешенную сторону, т.е. любое положительное приращение xi может только уменьшить величину Z. Значит, признаком

оптимальности

точки

пересечения

n

граничных

гиперплоскостей

является

неположительность

всех

коэффициентов Z-строки соответствующей матрицы условий.

Однако не каждая такая точка

является

вершиной

98

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

Очевидно, решением задачи ЛП будет такое пересечение n граничных гиперплоскостей, при котором все коэффициенты столбца свободных членов будут неотрицательны, а все коэффициенты Z-строки неположительны.

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

Итак, алгоритм решения задаче ЛП симплекс-методом- включает себя три этапа:

1.Приведение задачи к каноническому виду

2.Поиск опорного решения.

3.Поиск оптимального решения. Рассмотрим каждый из этих этапов.

Симплекс-метод. Приведение задачи ЛП к каноническому виду

Пусть задана задача ЛП в самом общем случае, когда требуется найти максимум или минимум линейной формы

n

W ci ui при несвободных переменных ui i = l,2,...,s,

i 1

ui i при свободных переменных ui, i=k+1, …,n; при

ограничениях – неравенствах

n

u j n a ji ui b j 0 , j=1,2, …, p и

i 1

n

u j n a ji ui b j 0 , j=p+1, …,l; i 1

при ограничениях - равенствах

n

u j n a ji ui b j 0 , j=l+1, …,m. i 1

99

Используя замену переменных ui=ui*+ i ; i=1,2, …,s и ui=ui*+ i , i=s+l, …,k для ui*, получим ограничения

ui 0, i=1,2,…,s, ui* 0, i=s+1,…,k.

Тогда все зависимые переменные un+j и целевая функция примут вид:

n

 

 

k

un j a ji ui bj

a ji ui

i 1

 

i 1

 

n

k

 

Z

ci ui ci ui*

 

i 1

i 1

 

*

n

s

 

k

a ji ui a ji i

a ji i bj

 

i k 1

i 1

 

i s 1

n

 

s

k

 

ci ui ci i

ci i .

i k 1

i 1

i s 1

 

Требование неположительности любой переменной легко заменить требованием неотрицательности, если умножить ее на -1.

Тогда вместо u j n a ji ui b j 0 получаемu j n ( a ji ) ui b j 0 , а вместо ui 0 получим -u 0. В дальнейшем -uj+n и -ui, можно считать новыми переменными xj+n и xi. Поэтому без потери общности все неравенства можно трактовать как требование неотрицательности.

n

Аналогично, при необходимости найти min W = ci ui

i 1

умножим W на -1 и получим задачу поиска

n

max(-W) = maxZ = ( ci ) ui ,

i 1

который достигается в той же вершине многогранника, что и minW .

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

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

1. Составить матрицу условий задачи, сопоставив со столбцами независимые переменные, со строками зависимые переменные и ра

100

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

2. Заменить: название столбца ui, на ui* для i=1,2,...,k;

значение

свободных членов

bj на

bj`

,

где bj`

s

k

 

 

 

 

 

= b j a ji i a ji i ,

для

j=1,2,…,m;

нуль

в

правом

i 1

i s 1

 

 

 

 

 

 

 

s

k

 

 

 

нижнем углу матрицы q= b j

ci i ci i .

 

 

 

 

i 1

i s 1

 

 

 

3. Инвертировать знаки во всем i-м столбце для i = s +1l,...,k .

4. Инвертировать знаки во всей j-й строке для j = р +

1,...,l.

5.Если требуется найти minW, то инвертировать знаки во всей последней строке матрицы.

6.Переобозначить все независимые переменные, назвав

их x1,x2,…,xn; зависимые переменные, назвав их xn+1,xn+2,…,xn+m, и значение целевой функции, назвав его Z.

Пример. Пусть задана следующая задача ЛП: найти min W =u1-u2+2u3-3u4

при ограничениях u1 3;u2 3;u3 1;

u5 2u1 3u3 u4 6 0;

u6 u1 2u 3u3 2u4 1 0; u7 3u1 6u 4u4 2 0;

u8 u1 u2 3u3 1 0.

Составим матрицу условий задачи и произведем на ней первичные преобразования в соответствии с изложенным алгоритмом.

 

u1*

u2*

u3*

u4

1

u5

2

0

-3

1

-9

u6

-1

2

-3

2

13

u7

3

-6

0

4

-29

u8

-1

1

3

0

4

W

1

-1

2

-3

-8