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

Математическое программирование
1. Общая задача линейного программирования (ЗЛП):
Здесь (1) называется системой ограничений , ее матрица имеет ранг
r ? n, (2) - функцией цели (целевой функцией). Неотрицательное
решение (х10, x20, ... , xn0) системы (1) называется допустимым
решением (планом) ЗЛП. Допустимое решение называется
оптимальным, если оно обращает целевую функцию (2) в min или
max (оптимум).
2. Симплексная форма ЗЛП. Для решения ЗЛП симплекс - методом
необходимо ее привести к определенной (симплексной) форме:
(2`) f+cr+1xr+1 + ... + csxs + ... + cnxn = 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` = akbais - ailaks = akl - ailaks;
ais ais
bk` = bkais - biaks; cl` = clais - csail
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 = c1x1 + c2x2 геометрически изображает семейство парал-
лельных прямых, перпендикулярных вектору n (с1,с2).
Теорема. При перемещении прямой целевой функции направлении
вектора n значения целевой функции возрастают, в противополож-
ном направлении - убывают.
На этих утверждениях основан графический метод решения ЗЛП.
6. Алгоритм графического метода решения ЗЛП.
1) В системе координат построить прямые по уравнениям, соот-
ветствующим каждому неравенству системы ограничений;
2) найти полуплоскости решения каждого неравенства системы
(обозначить стрелками);
3) найти многоугольник (многоугольную область) решений систе-
мы ограничений как пересечение полуплоскостей;
4) построить вектор n (с1,с2) по коэффициентам целевой функции
f = c1x1 + c2x2;
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 известна для всех маршрутов AiBj и равна 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. Метод потенциалов решения транспортной задачи.
Определение: потенциалами решения называются числа ?i?Ai,
?j?Bj, удовлетворяющие условию ?i+?j=Cij (*) для всех заполнен-
ных клеток (i,j).
Соотношения (*) определяют систему из m+n-1 линейных уравне-
ний с m+n неизвестными, имеющую бесчисленное множество реше-
ний; для ее определенности одному неизвестному придают любое
число (обычно ?1=0), тогда все остальные неизвестные определяют-
ся однозначно.
Критерий оптимальности. Если известны потенциалы решения X0
транспортной задачи и для всех незаполненных клеток выполняют-
ся условия??i+?j?? Ci j, то X0 является оптимальным планом транс-
портной задачи.
Если план не оптимален, то необходимо перейти к следующему
плану (таблице) так, чтобы транспортные расходы не увеличились.
Определение: циклом пересчета таблицы называется последова-
тельность клеток, удовлетворяющая условиям:
1) одна клетка пустая, все остальные занятые;
2) любые две соседние клетки находятся в одной строке или в одном
столбце;
3) никакие 3 соседние клетки не могут быть в одной строке или в
одном столбце .
Пустой клетке присваивают знак « + », остальным - поочередно зна-
ки « - » и « + ».
Для перераспределения плана перевозок с помощью цикла перерас-
чета сначала находят незаполненную клетку (r, s), в которой
?r+?s?Crs, и строят соответствующий цикл; затем в минусовых
клетках находят число X=min{Xij}. Далее составляют новую табли-
цу по следующему правилу:
1) в плюсовые клетки добавляем X;
2) из минусовых клеток отнимаем Х;
3) все остальные клетки вне цикла остаются без изменения.
Получим новую таблицу, дающее новое решение X, такое, что f(X1)
??f(X0); оно снова проверяется на оптимальность через конечное
число шагов обязательно найдем оптимальный план транспортной
задачи, ибо он всегда существует.
11. Алгоритм метода потенциалов.
1) проверяем тип модели транспортной задачи и в случае открытой
модели сводим ее к закрытой;
2) находим опорный план перевозок путем составления 1-й таблицы
одним из способов - северо-западного угла или наименьшего тари-
фа;
3) проверяем план (таблицу) на удовлетворение системе уравнений
и на невыражденность; в случае вырождения плана добавляем ус-
ловно заполненные клетки с помощью « 0 »;
4) проверяем опорный план на оптимальность, для чего:
а) составляем систему уравнений потенциалов по заполненным
клеткам;
б) находим одно из ее решений при ?1=0;
в) находим суммы??i+?j=C?ij («косвенные тарифы») для всех пустых
клеток;
г) сравниваем косвенные тарифы с истинными: если косвенные та-
рифы не превосходят соответствующих истинных(C?ij?? Cij) во всех
пустых клетках, то план оптимален (критерий оптимальности). Ре-
шение закончено: ответ дается в виде плана перевозок последней
таблицы и значения min f.
Если критерий оптимальности не выполняется, то переходим к
следующему шагу.
5) Для перехода к следующей таблице (плану):
а) выбираем одну из пустых клеток, где косвенный тариф больше
истинного (C?ij=??i+?j > Cij );
б) составляем цикл пересчета для этой клетки и расставляем знаки «
+ », « - » в вершинах цикла путем их чередования, приписывая пус-
той клетке « + »;
в) находим число перерасчета по циклу: число X=min{Xij}, где Xij -
числа в заполненных клетках со знаком « - »;
г) составляем новую таблицу, добавляя X в плюсовые клетки и от-
нимая X из минусовых клеток цикла
6) См. п. 3 и т.д.
Через конечное число шагов (циклов) обязательно приходим к отве-
ту, ибо транспортная задача всегда имеет решение.