![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Переменными (неизвестными) транспортной задачи являются xij, i= 1, 2, …, m, j= 1, 2, …, n – объёмы перевозок от каждого i-го поставщика каждому j-му потребителю. Эти переменные можно записать в виде матрицы перевозок
х11 х12 … х1n
X = х21 х22 … х2n
… … … …
хm1 хm2 … хmn
Так как произведение CijXij определяет затраты на перевозку груза от i-го поставщика j-му потребителю, то суммарные затраты на перевозку всех грузов равны
CijXij. По условию задачи требуется обеспечить минимум суммарных затрат. Следовательно, целевая функция имеет вид
Z(X) =
Cij Xij → min
Система ограничений задачи состоит из двух групп уравнений. Первая группа из m уравнений описывает тот факт, что запасы всех m поставщиков вывозятся полностью:
Xij = ai, i = 1, 2, …, m.
Вторая группа из n уравнений выражает требование полностью
удовлетворить запросы всех n потребителей:
Z(X) =
Cij Xij → min, (1)
Xij = ai, i = 1, 2, …, m, (2)
Xij = bj, j = 1, 2, …, n, (3)
Xij ≥ 0, i = 1, 2, …, m, j = 1, 2, …, n. (4)
В рассмотренной модели транспортной задачи предполагается, что суммарные запасы поставщиков равны суммарным запросам потребителей,
т.е. ai =
bj (5)
Такая задача называется задачей с правильным балансом, а её модель -закрытой. Если же это равенство не выполняется, то задача называется задачей с неправильным балансом, а её модель – открытой.
Математическая формулировка транспортной задачи такова: найти переменные задачи
X = (xij), i = 1, 2, …, m, j = 1, 2, …, n,
Удовлетворяющие системе ограничений (2), (3), условиям неотрицательности (4), и обеспечивающее минимум целевой функции (1).
Математическая модель транспортной задачи может быть записана в векторном виде. Для этого рассмотрим матрицу А системы уравнений - ограничений задачи (2), (3).
х11 х12 … х1n х21 х22 … х2n … хm1 хm2... хmn
1 1 … 1 0 0 … 0 … 0 0... 0
0 0 … 0 1 1 … 1 … 0 0... 0
………………………………………………………………………………………
А = 0 0 … 0 0 0 … 0 … 1 1... 1 (6)
1 0 … 0 1 0 … 0 … 1 0... 0
0 1 … 0 0 1 … 0 … 0 1... 0
………………………………………………………………………………………
0 0 … 1 0 0 … 1 … 0 0... 1
Сверху над каждым столбцом матрицы указана переменная задачи, коэффициентами при которой являются элементы соответствующего столбца в уравнениях системы ограничений. Каждый столбец матрицы А, соответствующий переменной Xij, является вектором – условием задачи и обозначается через Аij. Каждый вектор имеет всего m + n координат, и только две из них, отличные от нуля, равны единице. Первая единица вектора Аij Стоит на i-м месте, а вторая – на (m + j)-м месте, т.е.
Номер координаты
0 1 a1
…
…
1 i ai
…
Аij= 0 m; A0= am
0 m+1 b1
…
1 m+j bj
…
0 m+n bn
Обозначим через A0вектор ограничений (правых частей уравнений (3), (3) и представим систему ограничений задачи в векторном виде. Тогда математическая модель транспортной задачи запишется следующим образом:
Z(x)=
Cij Xij → min (7)
Aij Xij =A0 (8)
Xij≥0, i=1, 2, …, m, j=1, 2, …, n. (9)
17. Нахождение начального опорного решения транспортной задачи линейного программирования методом минимальной стоимости.
Метод минимальной стоимости
Метод минимальной стоимости прост, он позволяет построить опорное решение, достаточно близкое к оптимальному, так как использует матрицу стоимостей транспортной задачи C = (cil), i = 1, 2, …, m, j = 1, 2, …, n. Как и метод северо-западного угла, он состоит из ряда однотипных шагов, на каждом из которых заполняется только одна клетка таблицы, соответствующая минимальной стоимости (cij), и исключается из рассмотрения только одна строка (поставщик) или один столбец (потребитель). Очередную клетку, соответствующую
(cij), заполняют по тем же правилам, что и в методе северо-западного угла. Поставщик исключается из рассмотрения, если его запасы использованы полностью. Потребитель исключается из рассмотрения, если его запросы удовлетворены полностью. На каждом шаге исключается либо один поставщик, либо один потребитель. При этом если поставщик еще не исключен, но его запасы равны нулю, то на том шаге, когда от данного поставщика требуется поставить груз, в соответствующую клетку таблицы заносится базисный нуль и лишь затем поставщик исключается из рассмотрения. Аналогично с потребителем.
Теорема: Решение транспортной задачи, построенное методом минимальной стоимости, является опорным.
18. Нахождение начального опорного решения транспортной задачи линейного программирования методом северо-западного угла.
Метод северо-западного угла
Существует ряд методов построения начального опорного решения, наиболее простым из которых является метод северо-западного угла. В данном методе запасы очередного поставщика используются для обеспечения запросов очередных потребителей до тех пор, пока не будут исчерпаны полностью, после чего используются запасы следующего по номеру поставщика.
Заполнение таблицы транспортной задачи начинается с левого верхнего угла и состоит из ряда однотипных шагов. На каждом шаге, исходя из запасов очередного поставщика и запросов очередного потребителя, заполняется только одна клетка и соответственно исключается из рассмотрения один поставщик или потребитель. Осуществляется это таким образом:
1) если ai < bj, то xij = aij и исключается поставщик с номером i, xik = 0,
k = 1, 2,..., n, k ≠ j, = bj - ai;
2) если аi. > Ьj, то хij = bj и исключается потребитель с номером j,
xkj =0, k = 1, 2,..., m, k ≠ i, = ai - bj;
3) если ai = bj, то xij = ai = bj, и исключается либо i-й поставщик,
хik = 0, k = 1, 2,..., n, k ≠ j, = 0 либо j-й потребитель, xkj = 0,
k = 1, 2,... m, k ≠ i, = 0.
Нулевые перевозки принято заносить в таблицу только тогда, когда они попадают в клетку (i, j), подлежащую заполнению. Если в очередную клетку таблицы (i, j) требуется поставить перевозку, а i-й поставщик или j-й потребитель имеет нулевые запасы или запросы, то в клетку ставится
перевозка, равная нулю (базисный нуль), и после этого, как обычно, исключается из рассмотрения соответствующий поставщик или потребитель.
Таким образом, в таблицу заносят только базисные нули, остальные клетки с нулевыми перевозками остаются пустыми.
Во избежание ошибок после построения начального опорного решения необходимо проверить, что число занятых клеток равно m + n - 1 и векторы-условия, соответствующие этим клеткам, линейно независимы.
Теорема: Решение транспортной задачи, построенное методом северо-западного угла, является опорным.
19. Оптимизация начального опорного решения транспортной ЗЛП методом потенциалов.
Широко распространенным методом решения транспортных задач является метод потенциалов. Этот метод позволяет упростить наиболее трудоемкую часть вычислений - нахождение оценок свободных клеток.
Теорема (признак оптимальности опорного решения).
Если допустимое решение X = (xij), i = 1, 2,..., m, j = 1, 2,..., nтранспортной задачи является оптимальным, то существуют потенциалы (числа) поставщиков ui, i = 1, 2,..., m и потребителей vj, j = 1, 2,..., nудовлетворяющие следующим условиям:
ui + vj = cij при xij > 0 (1)
ui + vj ≤ cij при xij = 0 (2)
Группа равенств (1) ui + vj = cij при xij > 0 используется как система уравнений для нахождения потенциалов. Нетрудно видеть, что эта система могла иметь несколько другой вид, например -ui + vj = cijили ui - vj = cij,если перед тем, как записать двойственную задачу, все уравнения одной из групп уравнений исходной задачи умножить на (-1).
Данная система уравнений имеет m+ n неизвестных ui, i = 1, 2,..., т, и vj, j = 1, 2,..., n. Число уравнений системы, как и число отличных от нуля координат невырожденного опорного решения, равно m + m - 1. Так как число неизвестных системы на единицу больше числа уравнений, то одной из них можно задать значение произвольно, а остальные найти из системы.
Группа неравенств (2) ui + vj ≤ cij при xij = 0 используется для проверки оптимальности опорного решения. Эти неравенства удобно записать в виде
Δij = ui + vj – cij ≤ 0 при xij = 0 (3)
Числа Δij называются оценкамисвободных клеток таблицы или векторов-условий транспортной задачи, не входящих в базис опорного решения. В этом случае признак оптимальности можно сформулировать так же, как в симплексном методе (для задачи на минимум): опорное решениеявляется оптимальным, если для всех векторов-условий (клеток таблицы) оценки неположительные.
Оценки для свободных клеток транспортной таблицы используются для улучшения опорного решения. С этой целью находят клетку (I, k)таблицы, соответствующую max {Δij} = ΔIk. Если ΔIk ≤ 0, то решение оптимальное. Если же ΔIk > 0, то для соответствующей клетки (I, k) строят цикл и улучшают решение, перераспределяя груз Ө = {xij} по этому циклу.
Алгоритм решения транспортной задачи методом потенциалов следующий.
1 Проверяют выполнение необходимого и достаточного условия разрешимости задачи. Если задача имеет неправильный баланс, то вводят фиктивного поставщика или потребителя с недостающими запасами или запросами и нулевыми стоимостями перевозок.
2 Строят начальное опорное решение (методом минимальной стоимости или каким-либо другим методом) и проверяют правильность его построения, для чего подсчитывают количество занятых клеток (их должно быть m+n-1) и убеждаются в линейной независимости векторов-условий (методом вычеркивания).
3 Строят систему потенциалов, соответствующих опорному решению. Для этого решают систему уравнений +
=
при
>0. Для того чтобы
найти частное решение системы, одному из потенциалов (обычно тому, которому соответствует большее число занятых клеток) задают произвольно некоторое значение (чаще нуль). Остальные потенциалы однозначно определяются по формулам
=
-
при
>0,
если известен потенциал , и
=
-
при
>0,
если известен потенциал .
4 Проверяют, выполняется ли условие оптимальности для свободных клеток таблицы. Для этого вычисляют оценки для всех свободных клеток по формулам =
+
-
и те оценки, которые больше нуля, записывают в левые нижние углы клеток. Если для всех свободных клеток
0, то вычисляют значение целевой функции, и решение задачи заканчивается, так как полученное решение является оптимальным. Если же имеется хотя бы одна клетка с положительной оценкой, то опорное решение не является оптимальным.
5 Переходят к новому опорному решению, на котором значение целевой функции будет меньше. Для этого находят клетку таблицы задачи, которой соответствует наибольшая положительная оценка max{ }=
. Строят цикл, включающий в свой состав данную клетку и часть клеток, занятых опорным решением. В клетках цикла расставляют поочередно знаки «+» и «-», начиная с «+» в клетке с наибольшей положительной оценкой. Осуществляют сдвиг (перераспределение груза) по циклу на величину Ө =
{xij}. Клетка со знаком «-», в которой достигается Ө =
{xij}, остается пустой. Если минимум достигается в нескольких клетках, то одна из них остается пустой, а в остальных проставляют базисные нули, чтобы число занятых клеток оставалось равным m+n-1.
20. Нелинейное программирование.
предположение о возможности описать зависимости между управляемыми переменными с помощью линейных функций далеко не всегда адекватно природе моделируемого объекта. Например, в рассмотренных в главе 1 моделях цена товара считается независимой от количества произведенного продукта, однако в повседневной жизни мы постоянно сталкиваемся с тем, что она может зависеть от объема партии товара. Аналогичные замечания могут быть сделаны и по поводу технологических ограничений: расход определенных видов сырья и ресурсов происходит не линейно, а скачкообразно (в зависимости от объема производства). Попытки учесть эти факторы приводят к формулировке более общих и сложных оптимизационных задач. Изучение методов их решения составляет предмет научной области, получившей названия нелинейного программирования.
Общая задача нелинейного программирования (ОЗНП) определяется как задача нахождения максимума (или минимума) целевой функции f(x{, х2,..., хп) на множестве D, определяемом системой ограничений
(2.1)
где хотя бы одна из функций f или gi является нелинейной.
По аналогии с линейным программированием ЗНП однозначно определяется парой (D,f) и кратко может быть записана в следующем виде
(2.2)
Также очевидно, что вопрос о типе оптимизации не является принципиальным. Поэтому мы, для определенности, в дальнейшем по умолчанию будем рассматривать задачи максимизации.
Как и в ЗЛП, вектор называется допустимым планом, а если для любого xÎD выполняется неравенство
, то х* называют оптимальным планом. В этом случае х* является точкой глобального максимума.
С точки зрения экономической интерпретации f(x) может рассматриваться как доход, который получает фирма (предприятие) при плане выпуска х, а как технологические ограничения на возможности выпуска продукции. В данном случае они являются обобщением ресурсных ограничений в ЗЛП
Задача (2.2) является весьма общей, т. к. допускает запись логических условий, например:
или запись условий дискретности множеств:
Набор ограничений, определяющих множество D, при необходимости всегда можно свести либо к системе, состоящей из одних неравенств:
либо, добавив фиктивные переменные у, к системе уравнений:
Перечислим свойства ЗИП, которые существенно усложняют процесс их решения по сравнению с задачами линейного программирования:
1. Множество допустимых планов D может иметь очень сложную структуру (например, быть невыпуклым или несвязным).
2. Глобальный максимум (минимум) может достигаться как внутри множества D, так и на его границах (где он, вообще говоря, будет не совпадать ни с одним из локальных экстремумов).
3. Целевая функция f может быть недифференцируемой, что затрудняет применение классических методов математического анализа.
В силу названных факторов задачи нелинейного программирования настолько разнообразны, что для них не существует общего метода решения.
Решение задач условной оптимизации методом Лагранжа. Одним из наиболее общих подходов к решению задачи поиска экстремума (локального максимума или минимума) функции при наличии связующих ограничений на ее переменные (или, как еще говорят, задачи условной оптимизации) является метод Лагранжа. Многим читателям он должен быть известен из курса дифференциального исчисления. Идея данного метода состоит в сведении задачи поиска условного экстремума целевой функции
(2.3)
на множестве допустимых значения D, описываемом системой уравнений
(2.4)
к задаче безусловной оптимизации функции
Ф(x,u) = f(x1,x2,...,xn)+ulgl(xi,x2,...,xn)+...+ungm(xl,x2,...,xn), (2.5)
где — вектор дополнительных переменных, называемых множителями Лагранжа. Функцию Ф(х,и), где
,
, называют функцией Лагранжа. В случае дифференцируемое™ функций f и gi справедлива теорема, определяющая необходимое условие существования точки условного экстремума в задаче (2.3)-(2.4). Поскольку она непосредственно относится к предмету математического анализа, приведем ее без доказательства.
Теорема 2.1. Если х* является точкой условного экстремума функции (2.3) при ограничениях (2.4) и ранг матрицы первых частных производных функций
равен т, то существуют такие , не равные одновременно нулю, при которых
(2.6)
Из теоремы (2.1) вытекает метод поиска условного экстремума, получивший название метода множителей Лагранжа, или просто метода Лагранжа. Он состоит из следующих этапов.
1. Составление функции Лагранжа Ф(х,и).
2. Нахождение частных производных
и
3. Решение системы уравнений
(2.7)
относительно переменных х и и.
4. Исследование точек, удовлетворяющих системе (2.7), на максимум (минимум) с помощью достаточного признака экстремума.
Присутствие последнего (четвертого) этапа объясняется тем, что теорема (2.1) дает необходимое, но не достаточное условие экстремума. Положение дел с достаточными признаками условного экстремума обстоит гораздо сложнее. Вообще говоря, они существуют, но справедливы для гораздо более частных ситуаций (при весьма жестких предпосылках относительно функций f и gi) и, как правило, трудноприменимы на практике. Еще раз подчеркнем, что основное практическое значение метода Лагранжа заключается в том, что он позволяет перейти от условной оптимизации к безусловной и, соответственно, расширить арсенал доступных средств решения проблемы. Однако нетрудно заметить, что задача решения системы уравнений (2.7), к которой сводится данный метод, в общем случае не проще исходной проблемы поиска экстремума (2.3)-(2.4). Методы, подразумевающие такое решение, называются непрямыми. Они могут быть применены для весьма узкого класса задач, для которых удается получить линейную или сводящуюся к линейной систему уравнений (2.7). Их применение объясняется необходимостью получить решение экстремальной задачи в аналитической форме (допустим, для тех или иных теоретических выкладок). При решении конкретных практических задач обычно используются прямые методы, основанные на итеративных процессах вычисления и сравнения значений оптимизируемых функций.
Градиентные методы решения задач безусловной оптимизации. Ведущее место среди прямых методов решения экстремальных задач занимает градиентный метод (точнее, семейство градиентных методов) поиска стационарных точек дифференцируемой функции. Напомним, что стационарной называется точка, в которой и которая в соответствии с необходимым условием оптимальности является «подозрительной» на наличие локального экстремума. Таким образом, применяя градиентный метод, находят множество точек локальных максимумов (или минимумов), среди которых определяется максимум (или минимум) глобальный.
Идея данного метода основана на том, что градиент функции указывает направление ее наиболее быстрого возрастания в окрестности той точки, в которой он вычислен. Поэтому, если из некоторой текущей точки х(1) перемещаться в направлении вектора , то функция f будет возрастать, по крайней мере, в некоторой окрестности х(1). Следовательно, для точки
,
, лежащей в такой окрестности, справедливо неравенство
. Продолжая этот процесс, мы постепенно будем приближаться к точке некоторого локального максимума (см. рис. 2.1).
Однако как только определяется направление движения, сразу же встает вопрос о том, как далеко следует двигаться в этом направлении или, другими словами, возникает проблема выбора шага l, в рекуррентной формуле
(2.8)
задающей последовательность точек, стремящихся к точке максимума.
В зависимости от способа ее решения различают различные варианты градиентного метода. Остановимся на наиболее известных из них.
Дата публикования: 2015-03-26; Прочитано: 504 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!