Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Часть1_Линейное программирование1.doc
Скачиваний:
22
Добавлен:
03.09.2019
Размер:
2.9 Mб
Скачать

Алгоритм метода:

1) Используя модель в канонической форме, определяют начальное допустимое базисное решение, путем приравнивания к нулю n-m небазисных переменных, в качестве которых удобно выбирать управляемые переменнные.

2) По условию оптимальности из числа текущих небазисных переменных (равных нулю) выбирается включаемая в новый базис переменная, увеличение которой обеспечит наибольшее увеличение целевой функции. Если такой переменной нет, то вычисления прекращаются и текущее базисное решение объявляется оптимальным. Иначе переходим к пункту 3.

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

4) Находится новое базисное решение, соответствующее новому составу базисных и небазисных переменных, по правилам 1 и 2, затем переход к пункту 2.

Рассмотрим алгоритм на примере: 2.7.1

перепишем целевую функцию в виде уравнения: f0 – 3xЕ- 2xI = 0

x E + 2xI + S1= 6

2xE + xI + S2= 8

-xE + xI + S3 = 1

xI + S4= 2

Число переменных, которое должно быть равным нулю, равно:

n-m =6–4=2.

Это обеспечит единственность и допустимость получаемого решения.

Возьмем, например х= х= 0 это приведет к следующему базисному решению S= 6, S= 8, S = 1, S4 = 2 (этот начальный базис соответствует вершине O).

Величина f0 в вершине О равна нулю, так как хE и хI = 0, то есть в качестве начального базиса выбраны остаточные переменные.

Полученные результаты можно представить в виде симплекс - таблицы. Симплекс - таблица интерпретируется следующим образом.

Таблица 15

№ итерации

базисн.

перемен.

xE

xI

S1

S2

S3

S4

значение

отношение b/ai

№=0

хЕ вводим,

S2 исключ.

f0

-3

-2

0

0

0

0

0

S1

1

2

1

0

0

0

6

6:1=6

S2

2

1

0

1

0

0

8

8:2=4

S3

-1

1

0

0

1

0

1

не рассчит.

S4

0

1

0

0

0

1

2

не рассчит.

Второй столбец содержит базисные переменные, значения которых приведены в столбце “значение”. При этом подразумевается, что не базисные переменные хE и хI, которых нет в первом столбце равны нулю. (хE=0 и хI=0)

Значение целевой функции равно: f0= 3xE + 2xI + 06 + 08 + 01 + 02 = 0 что и показано в столбце “значение”.

Как определить, является ли данное базисное решение оптимальным?

Анализируя первую строку f0 – уравнения, видно, что обе не базисные переменные хE и хI имеют отрицательные коэффициенты. Это эквивалентно положительным коэффициентам в целевой функции. Так как мы решаем задачу максимизации, то значение f0 может быть увеличено при увеличении как хE, так и хI.

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

Условие оптимальности при поиске максимума f.

Если все не базисные переменные в f - уравнении имеют неотрицательные (положительные или равные 0) коэффициенты, то полученное решение является оптимальным. В противном случае, в качестве новой базисной переменной следует выбрать ту, которая имеет наибольший по абсолютной величине отрицательный коэффициент.

Условие оптимальности при поиске минимума f

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

Применяя условие оптимальности к симплекс - таблице видим, что включаемой в базис переменной является хЕ (т.к. -3>-2). Исключаемая переменная должна быть выбрана из совокупности переменных S1 , S2 , S3 , S4.

Условие допустимости.

Столбец симплекс - таблицы определяющий вводимую в базис переменную называется ведущим столбцом.

В качестве исключаемой переменной выбирается та из переменных текущего базиса, которая первой обращается в нуль при увеличении включаемой переменной хЕ вплоть до значения, соответствующего смежной экстремальной вершине ОДР

mах f0= 3xЕ+ 2xI mах

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

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

Если коэффициент при хE имеет в ограничениях отрицательное или нулевое значение, то эта прямая не пересекается с осью х в области положительных значений, действительно:

хE = =-1< 0 (вершина М вне ОДР); хE = = 4 (вершина Е в ОДР);

хE = = 6 (вершина N вне ОДР) (рис.16.)

Таким образом переменная хE достигает максимально допустимого значения, равного 4, в точке Е. При этом переменная S2 станет равной 0 и подлежит исключению из базиса. В столбце “отношение“ будем рассчитывать значение новой переменной, равное bi/aвед.столб>0, где i – номер уравнения ограничения;

aвед.столб коэффициент, стоящий в ведущем столбце i-го ограничения, причем отношение рассчитывается только для положительных коэффициентов аiвед.столб.

Строку, соответствующую исключаемой переменной называют ведущей строкой.

Исключаемой переменной будет та переменная текущего базиса, для которой отношение bi/aвед.столб. минимально:

min ( )=min (6;4)= 4.

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

После определения ведущих строки, столбца и элемента поиск нового базисного решения осуществляется методом исключения переменных (методом Гаусса - Жордана). Этот метод состоит из вычислительных процедур двух типов.

  1. Получение коэффициентов новой ведущей строки по правилу:

Термин "соответствующий коэффициент" следует понимать как коэффициент при той же переменной.

  1. Формирование всех остальных строк симплекс - таблицы, включая и f – уравнение (кроме “новой” ведущей строки).

Выполнение процедуры 1 приводит к тому, что в новой ведущей строке ведущий элемент становится равный 1, а в столбце "значение" в симплекс-таблице будет стоять значение введенной в базис переменной (см. табл.16).

В результате процедуры 2 все остальные коэффициенты ведущего столбца становятся равные 0, что соответствует исключению введенной в базис переменной из f – уравнения и остальных ограничений.