Задача 3а.
Найти
при условиях
Она решается симплекс-методом [3,7], который с помощью аппарата линейной алгебры производит целенаправленный перебор вершин многогранника, определяемого (8.13). Симплекс-метод (состоит из двух этапов): Этап 1. Нахождение опорного решения х(0). Опорное решение – одна из точек многогранника (8.13). Этап 2. Нахождение оптимального решения. Оптимальное решение находится последовательным перебором вершин многогранника (8.13), при котором значение целевой функции z на каждом шаге не уменьшается, то есть:
Частный случай задачи линейного программирования – так называемая транспортная задача [3]. Транспортная задача. Пусть в пунктах Исследуем операцию перевозки потребителями товаров в количествах, достаточных, чтобы удовлетворить потребности потребителей. Обозначим через Для того, чтобы удовлетворять запросы потребителя, необходимо, чтобы величины хij удовлетворяли условиям:
В то же время со склада а; нельзя вывезти продуктов в большем количестве, чем там имеется. Это означает, что искомые величины должны удовлетворять системе неравенств:
Удовлетворять условиям (8.14), (8.15), то есть составить план перевозок, обеспечивающий запросы потребителей, можно бесчисленным числом способов. Для того, чтобы исследователь операций мог выбрать определенное решение, то есть назначить определенные хij, должно быть сформулировано некоторое правило отбора, определяемое с помощью критерия, который отражает наше субъективное представление о цели. Проблема критерия решается независимо от исследования операции – критерий должен быть задан оперирующей стороной. В данной задаче одним из возможных критериев будет стоимость перевозки. Она определяется следующим образом:
Тогда задача о перевозках формулируется как задача линейного программирования: определить величины Эти два условия составляют, по существу, модель операции. Реализация операции будет зависеть от критерия, при помощи которого будет обеспечено достижение цели операции. Критерий может фигурировать в различных ролях. Он может выступать и как способ формализации цели и как принцип выбора действий из числа допустимых, то есть удовлетворяющих ограничениям. Одним из известных методов решения транспортной задачи является метод потенциалов [3]. На первом этапе решения задачи составляется первоначальный план перевозок, удовлетворяющий ограничениям (8.14), (8.15). Если Задача 3б. В общем случае задача (8.10 – 8.11) называется задачей нелинейного программирования. Рассмотрим ее в более принятом виде:
при условиях
Для решения этой задачи используются так называемые релаксационные методы. Процесс построения последовательности точек
Методы спуска (общая схема) [3]. Все методы спуска решения задачи безусловной оптимизации (8.17) различаются либо выбором направления спуска, либо способом движения вдоль направления спуска. Методы спуска состоят в следующей процедуре построения последовательности {xk}. В качестве начального приближения выбирается произвольная точка x0. Последовательные приближения строятся по следующей схеме: • точке xk выбирается направление спуска – sk; • находят (к + 1) – е приближение по формуле:
где в качестве величины
где число
В большинстве методов спуска величина lк выбирается равной единице. Таким образом, для определения bк приходится решать задачу одномерной минимизации. Метод градиентного спуска. Поскольку антиградиент – Метод сопряженных направлений. В линейной алгебре этот метод известен как метод сопряженных градиентов решения систем линейных алгебраических уравнений АХ=b, а следовательно, как метод минимизации квадратичной функции Схема метода:
Если Покоординатный спуск. На каждой итерации в качестве направления спуска – s k выбирается направление вдоль одной из координатных осей. Метод имеет скорость сходимости процесса минимизации порядка 0(1/m). Причем она существенно зависит от размерности пространства. Схема метода:
где
Если в точке xk имеется информация о поведении градиента функции f(x), например:
то в качестве направления спуска sk можно взять координатный вектор еj. В этом случае скорость сходимости метода в n раз меньше, чем при градиентном спуске. На начальном этапе процесса минимизации можно использовать метод циклического покоординатного спуска, когда сначала спуск осуществляется по направлению е1, затем по е2 и т. д. вплоть до еп, после чего весь цикл повторяется снова. Более перспективным по сравнению с предыдущим является покоординатный спуск, в котором направления спуска выбираются случайным образом. При таком подходе к выбору направления существуют априорные оценки, гарантирующие для функции f(x) свероятностью, стремящейся к единице при Схема метода: На каждом шаге процесса из n чисел {1, 2,..., n} случайным образом выбирается номер j(k) и в качестве s k выбирается единичный координатный вектор еj(k), после чего осуществляется спуск:
Метод случайного спуска. На n-мерной единичной сфере с центром в начале координат выбирается случайная точка sk, подчиняющаяся на этой сфере равномерному распределению, и затем по вычисленному на k-м шаге процесса элементу хк определяется
Скорость сходимости метода случайного спуска в n раз ниже, чем у метода градиентного спуска, но в n раз выше, чем у метода случайного покоординатного спуска. Рассмотренные методы спуска применимы и к необязательно выпуклым функциям и гарантируют их сходимость при очень малых на них ограничениях (типа отсутствия локальных минимумов). Релаксационные методы математического программирования. Вернемся к задаче 36 ((8.17) – (8.18)):
при условиях
В оптимизационных задачах с ограничениями выбор направления спуска сопряжен с необходимостью постоянной проверки того, что новое значение хk+1 должно также, как и предыдущее xk удовлетворять системе ограничений X. Метод условного градиента. В этом методе идея выбора направления спуска состоит в следующем: в точке хк линеаризуют функцию f(x), строя линейную функцию Таким образом, для отыскания направления – sk следует решить задачу минимизации линейной функции на множестве X. Если X в свою очередь задается линейными ограничениями, то она становится задачей линейного программирования. Метод возможных направлений. Идея метода: среди всех возможных направлений в точке хк выбирают то, вдоль которого функция f(x) убывает быстрее всего, и затем осуществляют спуск вдоль этого направления. Направление – s в точке х Î X называется возможным, если существует такое число При условиях:
Пусть Метод случайного поиска. Реализация изложенных выше методов минимизации в общем случае очень трудоемка, кроме простейших случаев, когда множество ограничений обладает простой геометрической структурой (например, является многомерным параллелепипедом). В общем случае весьма перспективным может быть метод случайного поиска, когда направление спуска выбирается случайным образом. При этом мы будем существенно проигрывать в скорости сходимости, однако простота выбора направления может компенсировать эти потери с точки зрения общих затрат труда на решение задачи минимизации. Схема метода: На n-мерной единичной сфере с центром в начале координат выбирается случайная точка rk, подчиняющаяся на этой сфере равномерному распределению, и затем направление спуска – sk из условий
В качестве начального приближения выбирается
В качестве
Доказана сходимость этого метода при весьма нежестких ограничениях на функцию f (выпуклость) и множество ограничений X (выпуклость и замкнутость).
|