Математическое программирование 2

Математическое программирование

1. Общая задача линейного программирования (ЗЛП):

Здесь (1) называется системой ограничений, ее матрица имеет ранг r £ n, (2) – функцией цели (целевой функцией). Неотрицательное решение (х10 , x20 , … , xn0 ) системы (1) называется допустимым решением (планом) ЗЛП. Допустимое решение называется оптимальным, если оно обращает целевую функцию (2) в min или max (оптимум).

2. Симплексная форма ЗЛП. Для решения ЗЛП симплекс – методом необходимо ее привести к определенной (симплексной) форме:

(2`) f+cr+1 xr+1 + … + cs xs + … + cn xn = b0 ® min

Здесь считаем r < n (система имеет бесчисленное множество решений), случай r = n неинтересен: в этом случае система имеет единственное решение и если оно допустимое, то автоматически становится оптимальным.

В системе (1`) неизвестные х1 , х2 , … , хr называются базисными (каждое из них входит в одно и только одно уравнение с коэффициентом +1), остальные хr+1 , … , xn – свободными. Допустимое решение (1`) называется базисным (опорным планом), если все свободные неизвестные равны 0, а соответствующее ему значение целевой функции f(x10 , … , xr0 ,0, … ,0) называется базисным.

В силу важности особенностей симплексной формы выразим их и словами:

А) система (1`) удовлетворяет условиям :

1) все ограничения – в виде уравнений;

2) все свободные члены неотрицательны, т. е. bi ³ 0;

3) имеет базисные неизвестные;

Б) целевая функция (2`) удовлетворяет условиям :

1) содержит только свободные неизвестные;

2) все члены перенесены влево, кроме свободного члена b0 ;

3) обязательна минимизация (случай max сводится к min по формуле max f = – min(-f)).

3) Матричная форма симплекс-метода. Симплексной форме ЗЛП соответствует симплекс – матрица :

1 0 … 0 … 0 a1,r+1 … a1s… a1n b1

0 1 … 0 … 0 a2,r+1 … a2s… a2n b2

………………………………………………………..

0 0 … 1 … 0 ai, r+1 … ais… ain bi

………………………………………………………..

0 0 … 0 … 1 ar, r+1 … ars… arn br

0 0 … 0 … 0 cr+1 … cs… cn b0

Заметим, что каждому базису (системе базисных неизвестных ) соответствует своя симплекс – матрица, базисное решение х = (b1 ,b2 , … ,br, 0, … ,0) и базисное значение целевой функции f(b1 ,b2 , … ,br, 0, … ,0) = b0 (см. Последний столбец!).

Критерий оптимальности плана. Если в последней (целевой) строке симплекс-матрицы все элементы неположительны, без учета последнего b0 , то соответствующий этой матрице план оптимален,

Т. е. сj £ 0 (j = r+1, n) => min f (b1 , … ,b2 ,0, … ,0) = b0 .

Критерий отсутствия оптимальности. Если в симплекс-матрице имеется столбец (S-й), в котором последний элемент сs > 0, a все остальные элементы неположительны, то ЗЛП не имеет оптимального плана, т. е. сs > 0, ais £ 0 ( i= 1,r ) => min f = -¥.

Если в симплекс-матрице не выполняются оба критерия, то в поисках оптимума надо переходить к следующей матрице с помощью некоторого элемента ais > 0 и следующих преобразований (симплексных):

1) все элементы i-й строки делим на элемент a+is ;

2) все элементы S-го столбца, кроме ais =1, заменяем нулями;

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

Akl ` = akb ais – ail aks = akl – ail aks ;

Ais ais

Bk ` = bk ais – bi aks ; cl ` = cl ais – cs ail

Ais ais

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

Критерий выбора разрешающего элемента. Если элемент ais+ удовлетворяет условию

Bi = min bk

Ais0 aks0+

Где s0 – номер выбранного разрешающего столбца, то он является разрешающим.

4. Алгоритм симплекс-метода (по минимизации).

1) систему ограничений и целевую функцию ЗЛП приводим к симплексной форме;

2) составим симплекс-матрицу из коэффициентов системы и целевой функции в симплексной форме;

3) проверка матрицы на выполнение критерия оптимальности; если он выполняется, то решение закончено;

4) при невыполнении критерия оптимальности проверяем выполнение критерия отсутствия оптимальности; в случае выполнения последнего решение закончено – нет оптимального плана;

5) в случае невыполнения обоих критериев находим разрешающий элемент для перехода к следующей матрице, для чего :

А) выбираем разрешающий столбец по наибольшему из положи тельных элементов целевой строки;

Б) выбираем разрешающую строку по критерию выбора разрешающего элемента; на их пересечении находится разрешающий элемент;

6) c помощью разрешающего элемента и симплекс-преобразований переходим к следующей матрице;

7) вновь полученную симплекс-матрицу проверяем описанным выше способом (см. п. 3)

Через конечное число шагов, как правило получаем оптимальный план ЗЛП или его отсутствие

Замечания.

1) Если в разрешающей строке (столбце) имеется нуль, то в соответствующем ему столбце (строке) элементы остаются без изменения при симплекс-преобразованиях.

2) преобразования – вычисления удобно начинать с целевой строки; если при этом окажется, что выполняется критерий оптимальности, то можно ограничиться вычислением элементов последнего столбца.

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

4) правильность полученного ответа – оптимального плана – проверяется путем подстановки значений базисных неизвестных в целевую функцию; ответы должны совпасть.

5. Геометрическая интерпретация ЗЛП и графический метод решения (при двух неизвестных)

Система ограничений ЗЛП геометрически представляет собой многоугольник или многоугольную область как пересечение полуплоскостей – геометрических образов неравенств системы. Целевая функция f = c1 x1 + c2 x2 геометрически изображает семейство параллельных прямых, перпендикулярных вектору n (с1 ,с2 ).

Теорема. При перемещении прямой целевой функции направлении вектора n значения целевой функции возрастают, в противоположном направлении – убывают.

На этих утверждениях основан графический метод решения ЗЛП.

6. Алгоритм графического метода решения ЗЛП.

1) В системе координат построить прямые по уравнениям, соответствующим каждому неравенству системы ограничений;

2) найти полуплоскости решения каждого неравенства системы (обозначить стрелками);

3) найти многоугольник (многоугольную область) решений системы ограничений как пересечение полуплоскостей;

4) Построить вектор n (с1 ,с2 ) по коэффициентам целевой функции f = c1 x1 + c2 x2 ;

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

6) перемещать прямую целевой функции параллельно самой себе по области решения, достигая max f при движении вектора n и min f при движении в противоположном направлении.

7) найти координаты точек max и min по чертежу и вычислить значения функции в этих точках (ответы).

7. Постановка транспортной задачи.

Приведем экономическую формулировку транспортной задачи по критерию стоимости:

Однородный груз, имеющийся в m пунктах отправления (производства) А1 , А2 , …, Аm соответственно в количествах а1 , а2 , …, аm единиц, требуется доставить в каждый из n пунктов назначения (потребления) В1 , В2 , …, Вn соответственно в количествах b1 , b2 , …, bn единиц. Стоимость перевозки (тариф) единицы продукта из Ai в Bj известна для всех маршрутов Ai Bj и равна Cij (i=1,m; j=1,n). Требуется составить такой план перевозок, при котором весь груз из пунктов отправления вывозиться и запросы всех пунктов потребления удовлетворяются (закрытая модель), а суммарные транспортные расходы минимальны.

Условия задачи удобно располагать в таблицу, вписывая в клетки количество перевозимого груза из Ai в Bj груза Xij> 0, а в маленькие клетки – соответствующие тарифы Cij :

8. Математическая модель транспортной задачи.

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

Число r = m + n – 1, равное рангу системы (1), называется рангом транспортной задачи. Если число заполненных клеток (Xij ¹ 0) в таблице равно r, то план называется невырожденным, а если это число меньше r, то план вырожденный – в этом случае в некоторые клетки вписывается столько нулей (условно заполненные клетки), чтобы общее число заполненных клеток было равно r.

Случай открытой модели Σаi ¹ Σbj легко сводится к закрытой модели путем введения фиктивного потребителя Bn+1 c потребностью bn+1 =Σai -Σbj, либо – фиктивного поставщика Аm+1 c запасом am+1 =Σbj -Σai ; при этом тарифы фиктивных участников принимаются равными 0.

9. Способы составления 1-таблицы (опорного плана).

I. Способ северо-западного угла (диагональный). Сущность способа заключается в том, что на каждом шаге заполняется левая верхняя клетка (северо-западная) оставшейся части таблицы, причем максимально возможным числом: либо полностью вывозиться груз из Аi, либо полностью удовлетворяется потребность Bj. Процедура продолжается до тех пор, пока на каком-то шаге не исчерпаются запасы ai и не удовлетворяются потребности bj. В заключение проверяют, что найденные компоненты плана Xij удовлетворяют горизонтальным и вертикальным уравнениям и что выполняется условие невырожденности плана.

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

10. Метод потенциалов решения транспортной задачи.

Определение: потенциалами решения называются числа ai ®Ai, bj ®Bj, удовлетворяющие условию ai +bj =Cij (*) для всех заполненных клеток (i, j).

Соотношения (*) определяют систему из m+n-1 линейных уравнений с m+n неизвестными, имеющую бесчисленное множество решений; для ее определенности одному неизвестному придают любое число (обычно a1 =0), тогда все остальные неизвестные определяются однозначно.

Критерий оптимальности. Если известны потенциалы решения X0 транспортной задачи и для всех незаполненных клеток выполняются условия ai +bj £ Ci j, то X0 является оптимальным планом транспортной задачи.

Если план не оптимален, то необходимо перейти к следующему плану (таблице) так, чтобы транспортные расходы не увеличились.

Определение: циклом пересчета таблицы называется последовательность клеток, удовлетворяющая условиям:

1) одна клетка пустая, все остальные занятые;

2) любые две соседние клетки находятся в одной строке или в одном столбце;

3) никакие 3 соседние клетки не могут быть в одной строке или в одном столбце.

Пустой клетке присваивают знак ” + “, остальным – поочередно знаки ” – ” и ” + “.

Для перераспределения плана перевозок с помощью цикла перерасчета сначала находят незаполненную клетку (r, s), в которой ar +bs >Crs, и строят соответствующий цикл; затем в минусовых клетках находят число X=min{Xij }. Далее составляют новую таблицу по следующему правилу:

1) в плюсовые клетки добавляем X;

2) из минусовых клеток отнимаем Х;

3) все остальные клетки вне цикла остаются без изменения.

Получим новую таблицу, дающее новое решение X, такое, что f(X1 ) £ f(X0 ); оно снова проверяется на оптимальность через конечное число шагов обязательно найдем оптимальный план транспортной задачи, ибо он всегда существует.

11. Алгоритм метода потенциалов.

1) проверяем тип модели транспортной задачи и в случае открытой модели сводим ее к закрытой;

2) находим опорный план перевозок путем составления 1-й таблицы одним из способов – северо-западного угла или наименьшего тарифа;

3) проверяем план (таблицу) на удовлетворение системе уравнений и на невыражденность; в случае вырождения плана добавляем условно заполненные клетки с помощью ” 0 “;

4) проверяем опорный план на оптимальность, для чего:

А) составляем систему уравнений потенциалов по заполненным клеткам;

Б) находим одно из ее решений при a1 =0;

В) находим суммы ai +bj =C¢ij (“косвенные тарифы”) для всех пустых клеток;

Г) сравниваем косвенные тарифы с истинными: если косвенные тарифы не превосходят соответствующих истинных(C¢ij £ Cij ) во всех пустых клетках, то план оптимален (критерий оптимальности). Решение закончено: ответ дается в виде плана перевозок последней таблицы и значения min f.

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

5) Для перехода к следующей таблице (плану):

А) выбираем одну из пустых клеток, где косвенный тариф больше истинного (C¢ij = ai +bj > Cij );

Б) составляем цикл пересчета для этой клетки и расставляем знаки ” + “, ” – ” в вершинах цикла путем их чередования, приписывая пустой клетке ” + “;

В) находим число перерасчета по циклу: число X=min{Xij }, где Xij – числа в заполненных клетках со знаком ” – “;

Г) составляем новую таблицу, добавляя X в плюсовые клетки и отнимая X из минусовых клеток цикла

6) См. п. 3 и т. д.

Через конечное число шагов (циклов) обязательно приходим к ответу, ибо транспортная задача всегда имеет решение.


Математическое программирование 2