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.
Алгоритм симплекс-метода (по минимизации).
5)
систему ограничений и целевую функцию ЗЛП
приводим к симплексной форме;
6)
составим симплекс-матрицу из коэффициентов
системы и целевой функции в симплексной форме;
7)
проверка матрицы на выполнение критерия
оптимальности; если он выполняется, то решение
закончено;
8) при
невыполнении критерия оптимальности проверяем
выполнение критерия отсутствия оптимальности; в
случае выполнения последнего решение закончено -
нет оптимального плана;
9) в
случае невыполнения обоих критериев находим
разрешающий элемент для перехода к следующей
матрице, для чего :
а)
выбираем разрешающий столбец по наибольшему из
положи
тельных
элементов целевой строки;
б)
выбираем разрешающую строку по критерию выбора
разрешающего элемента; на их пересечении
находится разрешающий элемент;
6) c
помощью разрешающего элемента и симплекс-преобразований
переходим к следующей матрице;
7)
вновь полученную симплекс-матрицу проверяем
описанным выше способом (см. п. 3)
Через конечное
число шагов, как правило получаем оптимальный
план ЗЛП или его отсутствие
Замечания.
1)
Если в разрешающей строке (столбце) имеется нуль,
то в соответствующем ему столбце (строке)
элементы остаются без изменения при симплекс-преобразованиях.
2)
преобразования - вычисления удобно начинать с
целевой строки; если при этом окажется, что
выполняется критерий оптимальности, то можно
ограничиться вычислением элементов последнего
столбца.
3)
при переходе от одной матрицы к другой свободные
члены уравнений остаются неотрицательными;
появление отрицательного члена сигнализирует о
допущенной ошибке в предыдущих вычислениях.
4)
правильность полученного ответа - оптимального
плана - проверяется путем подстановки значений
базисных неизвестных в целевую функцию; ответы
должны совпасть.
5. Геометрическая
интерпретация ЗЛП и графический метод решения (при
двух неизвестных)
Система ограничений ЗЛП
геометрически представляет собой многоугольник
или многоугольную область как пересечение
полуплоскостей - геометрических образов
неравенств системы. Целевая функция f = c1x1 + c2x2
геометрически изображает семейство
параллельных прямых, перпендикулярных вектору n (с1,с2).
Теорема. При
перемещении прямой целевой функции направлении
вектора n значения целевой функции возрастают, в
противоположном направлении - убывают.
На этих утверждениях основан
графический метод решения ЗЛП.
6.
Алгоритм графического метода решения ЗЛП.
7)В
системе координат построить прямые по
уравнениям, соответствующим каждому неравенству
системы ограничений;
8)найти
полуплоскости решения каждого неравенства
системы (обозначить стрелками);
9)найти
многоугольник (многоугольную область) решений
системы ограничений как пересечение
полуплоскостей;
10)построить
вектор n (с1,с2) по коэффициентам целевой функции
f = c1x1 + c2x2;
11)в
семействе параллельных прямых целевой функции
выделить одну, например, через начало координат;
12)перемещать
прямую целевой функции параллельно самой себе по
области решения, достигая max f при движении
вектора n и min f при движении в противоположном
направлении.
13)найти
координаты точек max и min по чертежу и вычислить
значения функции в этих точках (ответы).
14.
Постановка транспортной задачи.
Приведем экономическую
формулировку транспортной задачи по критерию
стоимости:
Однородный груз, имеющийся в 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-таблицы (опорного
плана).
X. Способ северо-западного угла (диагональный).
Сущность способа заключается в том, что на каждом
шаге заполняется левая верхняя клетка (северо-западная)
оставшейся части таблицы, причем максимально
возможным числом: либо полностью вывозиться груз
из Аi, либо полностью удовлетворяется
потребность Bj. Процедура продолжается до тех пор,
пока на каком-то шаге не исчерпаются запасы ai и не
удовлетворяются потребности bj . В заключение
проверяют, что найденные компоненты плана Xij
удовлетворяют горизонтальным и вертикальным
уравнениям и что выполняется условие
невырожденности плана.
XI. Способ наименьшего тарифа.
Сущность способа в том, что на каждом шаге
заполняется та клетка оставшейся части таблицы,
которая имеет наименьший тариф; в случае наличия
нескольких таких равных тарифов заполняется
любая из них. В остальном действуют аналогично
предыдущему способу.
12. Метод потенциалов решения
транспортной задачи.
Определение:
потенциалами решения называются числа 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. Алгоритм метода потенциалов.
12) проверяем тип модели транспортной
задачи и в случае открытой модели сводим ее к
закрытой;
13) находим опорный план перевозок
путем составления 1-й таблицы одним из способов -
северо-западного угла или наименьшего тарифа;
14) проверяем план (таблицу) на
удовлетворение системе уравнений и на
невыражденность; в случае вырождения плана
добавляем условно заполненные клетки с помощью «
0 »;
15) проверяем опорный план на
оптимальность, для чего:
а) составляем
систему уравнений потенциалов по заполненным
клеткам;
б) находим одно из
ее решений при 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 и т.д.
Через конечное
число шагов (циклов) обязательно приходим к
ответу, ибо транспортная задача всегда имеет
решение. |