Главная Учебники - Разные Лекции (разные) - часть 51
|
Математическое программирование 1. Общая задача линейного программирования (ЗЛП):
Здесь (1) называется системой ограничений , ее матрица имеет ранг r £ n, (2) - функцией цели (целевой функцией). Неотрицательное решение (х1
0
, x2
0
, ... , xn
0
) системы (1) называется допустимым решением (планом) ЗЛП. Допустимое решение называется оптимальным, если оно обращает целевую функцию (2) в min или max (оптимум). 2. Симплексная форма ЗЛП. Для решения ЗЛП симплекс - методом необходимо ее привести к определенной (симплексной) форме: Здесь считаем r < n (система имеет бесчисленное множество решений), случай r = n неинтересен: в этом случае система имеет единственное решение и если оно допустимое, то автоматически становится оптимальным. В системе (1`) неизвестные х1
, х2
, ... , хr
называются базисными (каждое из них входит в одно и только одно уравнение с коэффициентом +1), остальные хr+1
, ... , xn
- свободными. Допустимое решение (1`) называется базисным (опорным планом), если все свободные неизвестные равны 0, а соответствующее ему значение целевой функции f(x1
0
, ... , xr
0
,0, ... ,0) называется базисным. В силу важности особенностей симплексной формы выразим их и словами: а) система (1`) удовлетворяет условиям : 1) все ограничения - в виде уравнений; 2) все свободные члены неотрицательны, т.е. bi
³ 0; 3) имеет базисные неизвестные; б) целевая функция (2`) удовлетворяет условиям : 1) содержит только свободные неизвестные; 2) все члены перенесены влево, кроме свободного члена b0
; 3) обязательна минимизация (случай max сводится к min по формуле max f = - min(-f)). 3) Матричная форма симплекс-метода. Симплексной форме ЗЛП соответствует симплекс - матрица :
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
, то соответствующий этой матрице план оптимален, Если в симплекс-матрице не выполняются оба критерия, то в поисках оптимума надо переходить к следующей матрице с помощью некоторого элемента 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
ais
0
aks
0
+
где s0
- номер выбранного разрешающего столбца, то он является разрешающим. 4. Алгоритм симплекс-метода (по минимизации). 1) систему ограничений и целевую функцию ЗЛП приводим к симплексной форме; 2) составим симплекс-матрицу из коэффициентов системы и целевой функции в симплексной форме; 3) проверка матрицы на выполнение критерия оптимальности; если он выполняется, то решение закончено; 4) при невыполнении критерия оптимальности проверяем выполнение критерия отсутствия оптимальности; в случае выполнения последнего решение закончено - нет оптимального плана; 5) в случае невыполнения обоих критериев находим разрешающий элемент для перехода к следующей матрице, для чего : а) выбираем разрешающий столбец по наибольшему из положи тельных элементов целевой строки; б) выбираем разрешающую строку по критерию выбора разрешающего элемента; на их пересечении находится разрешающий элемент; 6) c помощью разрешающего элемента и симплекс-преобразований переходим к следующей матрице; 7) вновь полученную симплекс-матрицу проверяем описанным выше способом (см. п. 3) Через конечное число шагов, как правило получаем оптимальный план ЗЛП или его отсутствие Замечания.
1) Если в разрешающей строке (столбце) имеется нуль, то в соответствующем ему столбце (строке) элементы остаются без изменения при симплекс-преобразованиях. 2) преобразования - вычисления удобно начинать с целевой строки; если при этом окажется, что выполняется критерий оптимальности, то можно ограничиться вычислением элементов последнего столбца. 3) при переходе от одной матрицы к другой свободные члены уравнений остаются неотрицательными; появление отрицатель 4) правильность полученного ответа - оптимального плана - проверяется путем подстановки значений базисных неизвестных в целевую функцию; ответы должны совпасть. 5. Геометрическая интерпретация ЗЛП и графический метод решения (при двух неизвестных) На этих утверждениях основан графический метод решения ЗЛП. 6. Алгоритм
графического метода решения ЗЛП. 1) В системе координат построить прямые по уравнениям, соответствующим каждому неравенству системы ограничений; 2) найти полуплоскости решения каждого неравенства системы (обозначить стрелками); 3) найти многоугольник (многоугольную область) решений системы ограничений как пересечение полуплоскостей; 4) 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 и т.д. Через конечное число шагов (циклов) обязательно приходим к ответу, ибо транспортная задача всегда имеет решение.
| |||||