Как найти вектор градиента целевой функции

ГРАФИЧЕСКИЙ МЕТОД РЕШЕНИЯ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ

Наиболее простым и наглядным методом решения задачи линейного программирования (ЗЛП) является графический метод. Он основан на геометрической интерпретации задачи линейного программирования и применяется при решении ЗЛП с двумя неизвестными:

Будем рассматривать решение этой задачи на плоскости. Каждое неравенство системы функциональных ограничений геометрически определяет полуплоскость с граничной прямой апх, + + aj2х2 = bn i = 1, т. Условия неотрицательности определяют полуплоскости с граничными прямыми х <= 0, х2 = 0 соответственно. Если система совместна, то полуплоскости, пересекаясь, образуют общую часть, которая является выпуклым множеством и представляет собой совокупность точек; координаты каждой из этих точек являются решением данной системы. Совокупность этих точек называют многоугольником решений. Он может быть точкой, отрезком, лучом, ограниченным и неограниченным многоугольником.

Геометрически ЗЛП представляет собой отыскание такой угловой точки многоугольника решений, координаты которой доставляют максимальное (минимальное) значение линейной целевой функции, причем допустимыми решениями являются все точки многоугольника решений.

Линейное уравнение описывает множество точек, лежащих на одной прямой. Линейное неравенство описывает некоторую область на плоскости.

Определим, какую часть плоскости описывает неравенство <+ Зх2 0, j = 1, п). Координаты любой точки, принадлежащей области определения, являются допустимым решением задачи.

Для нахождения экстремального значения целевой функции при графическом решении ЗЛП используют вектор-градиент, координаты которого являются частными производными целевой функции:

Этот вектор показывает направление наискорейшего изменения целевой функции. Прямая c[xl + с2х2 = f(x0), перпендикулярная вектору-градиенту, является линией уровня целевой функции (рис. 2.2.2). В любой точке линии уровня целевая функция принимает одно и то же значение. Приравняем целевую функцию постоянной величине а. Меняя значение а, получим семейство параллельных прямых, каждая из которых является линией уровня целевой функции.

Рис. 2.2.2. Вектор-градиент и линии уровня

Важное свойство линии уровня линейной функции состоит в том, что при параллельном смещении линии в одну сторону уровень только возрастает, а при смещении в д р у г у ю сторону — только убывает.

Графический метод решения ЗЛП состоит из четырех этапов:

  • 1. Строится область допустимых решений (ОДР) ЗЛП.
  • 2. Строится вектор-градиент целевой функции (ЦФ) с началом в точке х0 (0; 0): V = (с,, с2).
  • 3. Линия уровня CjXj + с2х2 = а (а — постоянная величина) — прямая, перпендикулярная вектору-градиенту V, — передвигается в направлении вектора-градиента в случае максимизации целевой функции f(xv х2) до тех пор, пока не покинет пределов ОДР. При минимизации /(*,, х2) линия уровня перемещается в направлении, противоположном вектору-градиенту. Крайняя точка (или точки) ОДР при этом движении и является точкой максимума (минимума) f(xpjc2).

Если прямая, соответствующая линии уровня, при своем движении не покидает ОДР, то минимума (максимума) функции f(xр х2) не существует.

Если линия уровня целевой функции параллельна функциональному ограничению задачи, на котором достигается оптимальное значение ЦФ, то оптимальное значение ЦФ будет достигаться в любой точке этого ограничения, лежащей между двумя оптимальными угловыми точками, и, соответственно, любая из этих точек является оптимальным решением ЗЛП.

4. Определяются координаты точки максимума (минимума). Для этого достаточно решить систему уравнений прямых, дающих в пересечении точку максимума (минимума). Значение f(x<, х2), найденное в полученной точке, является максимальным (минимальным) значением целевой функции.

Возможные ситуации графического решения ЗЛП представлены в табл. 2.2.1.

Как построить вектор градиента целевой функции

Графический метод характеризуется простотой и наглядностью, однако он недостаточно точен и применим только для задач с не более чем тремя переменными. Последнее обусловлено тем, что человек, живущий в трехмерном пространстве, практически не способен представить себе визуально пространство более высокого порядка.

Метод основан на том, что каждое ограничение неравенство отсекает в n -мерном пространстве n -мерную полуплоскость (в данной курсовой работе это – двухмерное пространство (плоскость) и простая полуплоскость). Совокупность этих полуплоскостей (если ограничения совместны) образует n -мерный многогранник допустимых решений. Оптимальное решение достигается в одной из вершин многогранника. Для определения этой вершины необходимо построить поверхность уровня целевой функции (в курсовом проекте – линию уровня). Затем следует перемещать эту поверхность (линию) в направлении градиента до крайней точки области допустимых решений (ОДР).

Рассмотрим следующий простой пример решения задачи линейного программирования (ЗЛП) графическим методом.

Математическая модель: 2Х1+3Х2≤60;
3Х1+2Х2≤60;
4Х1+20Х2≤200;
Х1≥0; Х2≥0;
F=40Х1+30Х2→Мах.

Перейдем от неравенств к равенствам: 2Х1+3Х2=60;
3Х1+2Х2=60;
4Х1+20Х2=200.

Это уравнения прямых линий, которые могут быть легко построены по двум точкам:

для первого ограничения – Х1=0; Х2=20;
Х2=0; Х1=30.

для второго ограничения – Х1=0; Х2=30;
Х2=0; Х1=20.

для третьего ограничения – Х1=0; Х2=10;
Х2=0; Х1=50.

Градиент целевой функции – это вектор, характеризующий направление и скорость изменения функции (в данном случае – целевой функции). Он определяется ее частными производными по каждой переменной:

Линия уровня целевой функции перпендикулярна градиенту.

Графическое решение данной задачи приведено на рисунке 6.1.

Рис. 6.1. Графическое решение задачи

Область допустимых решений (ОДР) в данном случае образуется четырехугольником ОВСД. Ни одна точка внутри его или на его границе не противоречит ни одному из ограничений. Оптимальное решение находится в одной из вершин четырехугольника. Для нахождения оптимального решения перемещаем линию уровня целевой функции в направлении градиента до крайней точки ОДР. Такой точкой является точка С с координатами: Х1=16; Х2=8. Значение целевой функции F=40×16+30×8=880. Очевидно, что это решение не отличается высокой точностью, что характерно для графического метода.

Из рисунка видно, что ресурсы второго и третьего видов использованы полностью, а ресурс первого вида оказался в избытке. Для количественной оценки этого избытка определим сначала расход данного ресурса: 2×16+3×8=56. Запас равен 60, тогда остаток составит 60–56=4.

6.1.2. Симплексный метод решения
задач линейного программирования

В отличие от графического метода, симплексный метод абсолютно точен. Кроме того, он дает возможность для точной количественной оценки излишков имеющихся ресурсов, а применение двойственного симплекс-метода дает еще и большие возможности для технико-экономического анализа полученного решения с целью выработки обоснованных рекомендаций по улучшению условий функционирования системы.

Приведем задачу, рассмотренную в предыдущем разделе, к канонической форме: 2Х1+3Х2+Х3=60;
3Х1+2Х2+Х4=60;
4Х1+20Х2+Х5=200;
F-40Х1 -30Х2 =0.

Дополнительные переменные Х3, Х4 и Х5 равны разности между левой и правой частями ограничений и характеризуют недовыполнение данного ограничения (в данном случае – излишний запас).

Задача решается в стандартных симплексных таблицах. Исходная таблица (см. табл. 6.1) заполняется коэффициентами модели.

Базис Х1 Х2 Х3 Х4 Х5 а io a io / a ip
Х3 2 3 1 0 0 60 20
Х4 3 2 0 1 0 60 30
Х5 4 20 0 0 1 200 10
F –4 –3 0 0 0 0

Исходная таблица

Базисными переменными являются переменные, входящие только в одно уравнение, с коэффициентом +1. Базисным переменным соответствует единичный вектор-столбец. Базисные переменные равны свободным членам. Свободные переменные (переменные, не вошедшие в базис) равны нулю. Таким образом, Х1=0; Х2=0; Х3= 60; Х4= 60; Х5=200; F=0.

Данное решение является опорным, так как в столбце свободных членов нет отрицательных элементов.

В качестве разрешающего столбца выбирается любой столбец с отрицательной оценкой в строке целевой функции F. Выберем в данном случае в качестве разрешающего – второй столбец. Для всех его элементов вычисляем симплексные отношения a io /a ip (отношение элемента столбца свободных членов к соответствующему элементу разрешающего столбца) и записываем их в последний столбец таблицы. Разрешающий элемент определяется минимальным симплексным отношением (в таблице он выделен жирным шрифтом). На месте разрешающего элемента ставится 1, а остальные элементы данного столбца равны нулю.

Остальные столбцы, соответствующие базисным переменным остаются без изменения. Столбец, соответствующий выводимой из базиса переменной, пересчитывается по общему правилу, описанному ниже. В данном случае Х2 вводится в базис вместо Х5 и столбец Х5 пересчитывается. Элементы разрешающей строки делятся на разрешающий элемент. Все остальные элементы таблицы пересчитываются по правилу прямоугольника. Пересчитываемый элемент образует с разрешающим элементом и соответствующими элементами разрешающей строки и столбца прямоугольник, изображенный на рисунке 6.2.

Рис. 6.2. Прямоугольник пересчета элементов симплексной таблицы

Пересчет производится по следующей формуле:

т.е. пересчитываемый элемент умножается на решающий элемент, минус элемент соответствующего разрешающего столбца, умноженный на соответствующий элемент разрешающей строки, и эта разность делится на разрешающий элемент. Или иначе: произведение элементов главной диагонали минус произведение элементов побочной диагонали, деленное на разрешающий элемент.

Например, пересчет элемента первого столбца первой строки:

Базис Х1 Х2 Х3 Х4 Х5 а io a io / a ip
Х3 1,4 0 1 0 –0,15 30 21,4
Х4 2,6 0 0 1 –0,10 40 15,4
Х2 0,2 1 0 0 0,05 10 50
F –3,4 0 0 0 0,150 300

Первая итерация расчета

Решение задачи на любой итерации читается следующим образом: базисные переменные равны свободным членам (предпоследний столбец в таблице) а свободные переменные (те, которые не входят в базис) равны нулю. В данном случае Х3 = 30; Х4 = 40; Х2 = 10; Х1 = Х5 = 0.

Или в краткой форме записи: Х1 = (0; 10; 30; 40; 0), F = 300.

Здесь значения переменных приводятся в порядке возрастания их индексов.

Технико-экономический анализ полученного решения

Выпускается десять единиц продукции второго вида (Х2 = 10). При этом ресурс второго вида останется в количестве тридцати единиц (Х3 = 30), ресурс первого вида останется в количестве сорока единиц (Х4 = 40), а ресурс третьего вида оказывается израсходованным полностью (Х5 = 0).

Проверка полученного решения: 2·0+3·10+30=60;
3·0+2·10+40=60;
4·0+20·10+0=200;
F=40·0+30·10=300.

Данное решение не является оптимальным, так как в строке целевой функции еще есть отрицательный элемент а 1F = –3,4.

Вторая и все последующие итерации выполняются аналогично.

Базис Х1 Х2 Х3 Х4 Х5 а io a io / a ip
Х3 0 0 1 0,54 0,1 8,5
Х1 1 0 0 0,38 0,04 15,4
Х2 0 1 0 0,74 0,17 6,9
F 0 0 0 1,3 0,28 823

Вторая итерация расчета
Х2=(15,4; 6,9; 8,5; 0; 0) → F=823.

Это решение оптимально, так как в строке целевой функции нет отрицательных оценок.

Технико-экономический анализ полученного решения

При имеющихся ресурсах следует выпустить 15,4 единицы (Х1=15,4) продукции первого вида и 6,9 единицы продукции второго вида (Х2=6,9). При этом ресурсы первого вида остаются в количестве 8,5 единицы (Х3=8,5), а ресурсы второго и третьего вида израсходованы полностью (Х4=Х5=0). Прибыль составит 823 у.е.

Проверка: 2·15,4+3·6,9+8,5=60;
3·15,4+2·6,9+0=60;
4·15,4+20·6,9+0=200;
F=40·15,4+30·6,9=823.

Сравнение полученных результатов с результатами графического метода подтверждает, что графический метод при всей своей наглядности не отличается достаточной точностью.

© ФГОУ ВПО Красноярский государственный аграрный университет

Как построить вектор градиента целевой функции

ПРИМЕР ГРАФИЧЕСКОГО РЕШЕНИЯ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ

Построение градиента и определение оптимального плана

Обратимся к целевой функции. Ее градиент есть вектор (32; 27). Для решения задачи следует изобразить этот вектор в виде стрелки с началом в точке (0; 0) и концом в точке (32; 27).

Такая стрелка является короткой и поэтому плохо различимой на чертеже. Однако длина этой стрелки не играет никакой роли при решении задачи. Важно лишь ее направление. Если обе координаты точки (32; 27) умножить или разделить на одно и то же положительное число, то изменится лишь длина стрелки, но не ее направление. Поэтому на результате решения задачи это не скажется.

Удлиним стрелку до границы нашего рисунка ( Рис. 2.5 ).

Все линии уровня целевой функции параллельны друг другу и перпендикулярны градиенту. На Рис. 2.5 пунктиром изображены линии, соответствующие различным значениям целевой функции, начиная от 10000 и с шагом 16000. Разумеется, такие линии могут быть построены для любых значений целевой функции, они параллельны и все вместе покрывают координатную плоскость.

Градиент показывает направление роста целевой функции. Мы решаем задачу на максимум. Чем больше значение целевой функции, тем лучше. Однако при слишком больших значениях пунктирная линия уровня окажется за пределами области допустимых планов.

Рис. 2 . 6 . Построение оптимального плана

В своем крайнем положении линия уровня проходит через точку L . Таким образом, точка L является оптимальным планом задачи. Это единственная точка, принадлежащая одновременно области допустимых планов и линии уровня в ее крайнем положении. Следовательно, наша задача обладает единственным оптимальным планом.

Найдем координаты оптимального плана. Приближенно их можно определить по чертежу. Для точного расчета необходимо решить соответствующую систему уравнений. Точка L лежит на границе первого и четвертого ограничений. Составляем систему уравнений:

Решив эту систему, получаем компоненты оптимального плана: x 1 = 1250 и x 2 = 667. Таким образом, оптимальный план X*max равен:

.

Он предписывает выпустить 1250 кг Печенья и 667 (точнее, 666,667) кг Бисквитов.

Для определения оптимума следует подставить компоненты оптимального плана в целевую функцию задачи. Оптимум Z*max определяется равенством:

.

Таким образом, реализация выпущенной продукции даст выручку в размере 58000 руб. Задача решена. Теперь следует обратиться к экономическому содержанию задачи и проанализировать полученный результат.

Рассмотрим, для полноты картины, задачу, когда при той же системе ограничений и той же целевой функции требуется найти не максимальное, а минимальное ее значение. В этой ситуации все рассуждения, связанные с построением области допустимых планов и градиента полностью сохраняются. Однако для нахождения оптимального плана следует теперь смещать линию уровня до крайнего положения в направлении, противоположном градиенту. Оптимальным планам для задачи на минимум окажется точка О – начало координат. Оптимум будет равен 0.

[spoiler title=”источники:”]

http://www.kgau.ru/distance/fub_03/eldeshtein/logistika/kurs/06_01.html

http://ecocyb.narod.ru/217-220/s11.htm

[/spoiler]

Графический
метод применяется для решения задач
линейного программирования малой
размерности, когда количество искомых
переменных не более 3. На практике этот
метод применяют чаще всего для задач с
двумя переменными.

В
основе графического метода в случае
двух (трех) переменных лежат следующие
представления. Множество допустимых
планов
можно представить в виде некоторого
многогранного выпуклого множества на
плоскости (в пространстве). Оптимальное
решение, если оно существует и единственно,
лежит в угловой точке множества допустимых
решений, где пересекаются прямые
(плоскости), ограничивающие это множество.

Заметим,
что ЗЛП может не иметь решения, когда
множество допустимых планов пусто. ЗЛП
может иметь бесконечное множество
решений, в этом случае решением является
часть прямой для двумерной задачи или
часть плоскости для трехмерной.

Рассмотрим
для определенности задачу максимизации
для целевой функции, зависящей от двух
переменных:

,

(1.12)

Шаг
1.

Построение множества допустимых планов.

Каждое
-тое
ограничение задачи записывается как
равенство.
Геометрически полученное уравнение
определяет прямую линию, которая делит
плоскость на две полуплоскости, в одной
из которых выполняется условие
,
в другой.
Полуплоскость, для точек которой
выполняется требуемое ограничение,
назовем допустимой полуплоскостью.

Если
пересечение допустимых полуплоскостей
для всех ограничений не пусто, тогда
оно представляет собой область допустимых
решений, которая называется многоугольником
решений
.
Множество точек, принадлежащих этому
многоугольнику, образует множество
допустимых планов
(1.12) исходной задачи. При условии не
отрицательности переменных многоугольник
будет лежать в первой четверти.

Шаг
2.
Нахождение
оптимального плана.

Необходимо
найти точку из многоугольника решений,
в которой целевая функция принимает
максимальное значение. Если многоугольник
решений не пуст и целевая функция на
нем ограничена, такая точка всегда
найдется, причем она будет лежать в
одной из вершин построенного многоугольника
решений.

Целевая
функция может принимать одно и то же
максимальное значение в двух вершинах.
В этом случае множество оптимальных
решений представляет собой множество
точек, лежащих на прямой, соединяющей
эти точки.

Для
нахождения оптимальной точки рассмотрим
целевую функцию задачи
.
Запишем ее в виде:

,
где
.

Это
уравнение задает линии уровня целевой
функции, которые являются параллельными
прямыми линиями в пространстве переменных
.

Вектор
нормали к прямой
к линии уровня целевой функции называется
градиентом.Градиент
указывает направление возрастания
целевой функции.

Для
нахождения точки экстремума графическим
методом, необходимо сначала построить
линию уровня для некоторого произвольного
значения целевой функции. Затем
осуществить ее параллельное передвижение
в направлении градиента, если решается
задача максимизации, и в обратном
направлении, при решении задачи
минимизации. Смещение производится до
тех пор, пока не будет достигнута
«последняя» точка области допустимых
планов
.
Для задач максимизации (минимизации)
такой точке области D соответствует
наибольшее из возможных значений линии
уровня. Последнее означает, что для
нахождения точки экстремума в задаче
линейного программирования мы должны
сначала построить линию уровня для
некоторого произвольного значения
целевой функции. Затем необходимо
осуществлять ее параллельное передвижение
(так, чтобы она оставалась перпендикулярной
векторус
) до тех пор, пока не достигнем такой
точки области допустимых планов D , из
которой смещение в направлении вектора
с было бы невоз­можно. Такой метод
решения получил название графического
. Заметим, что решение задачи поиска
минимума линейной функ­ции осуществляется
аналогично, с той лишь разницей, что
дви­жение по линиям уровня должно
производиться в направлении, обратном
градиенту целевой функции, т. е. по
вектору (-с
).

Изобразим
вектор градиента на плоскости и будем
сдвигать линию уровня целевой функции
в направлении градиента. Последняя
вершина многоугольника решений, с
которой пересечется линия уровня и
будет оптимальной точкой.

Шаг
3.

Нахождение максимального значения
функции
.

Аналитически
оптимальная точка с координатами
находится как точка пересечение двух
прямых. Векторявляется оптимальным планом задачи.
Затем вычисляется значение целевой
функции в оптимальной точке.

Задача.
При производстве товаров А и В используются
три вида ресурсов: R1,
R2, R3
.
Сведения о количестве ресурсов,
необходимых для производства единицы
каждого товара, запасе ресурсов и ценах,
по которым товары продаются, приведены
в табл. 1.3. Найдите оптимальный план,
максимизурующий доход.

Таблица
1.3

Товары

Ресурсы

A

B

Запас
ресурсов

R1

2

1

60

R2

4

5

140

R3

2

4

100

Цена
товара

3
у.е.

5
у.е.

1).
Искомые переменные задачи:

—объем
производства товара А (шт.);

—объем
производства товара B
(шт.);

2).
Ограничения задачи.

а)
Ограничения на ресурсы. Расход используемых
ресурсов не должен превышать их запас.

,
(ресурс R1),

,
(ресурс R2), (1.13)

,
(ресурс
R3).

b)
Ограничения на знак. Объемы производства
товаров не могут быть отрицательными:
,.

3).
Целевая функция
максимизирует
доход компании.

Запишем
математическую постановку задачи
максимизации в стандартном виде, в
скобках указаны номера ограничений:

Шаг
1.

Построение множества допустимых планов.

Рассмотрим
первое ограничение
,
запишем его в виде уравнения,
которое задает прямую линию на плоскости.
Построим уравнение этой прямой линии
в прямоугольной системе координат.
Для этого найдем пересечение данной
прямой с осями координат.

Пусть
,
подставив это значение в уравнение
прямой найдем.
Аналогично, пусть,
подставив это значение в уравнение
прямой найдем.
Прямая проходит через две точки с
координатамиAи В.
Проведем прямую.

Определим
допустимую полуплоскость методом
пробной точки. Возьмем точку в начале
координат
и подставим в первое ограничение, получим
верное неравенство.
Следовательно, начало координат
принадлежит допустимой полуплоскости.
В качестве пробной точки можно взять
любую точку на плоскости, не принадлежащую
данной прямой.

Рис.
1.1. Допустимая полуплоскость для
ограничения (1)

Аналогично
построим допустимые полуплоскости для
ограничений (2) и (3). Условия неотрицательности
переменных (4) ограничивают область
допустимых планов первой четвертью.

В
результате будет построена искомая
область допустимого плана
,
которая ограничена многоугольникомOACDE
(рис. 1.2). Для точек
выполняются все ограничения задачи.

Осталось
найти точку, в которой целевая функция
примет наибольшее значение.

Рис.
1.2. Область допустимого плана OACDE

Шаг
2.
Нахождение
оптимального плана.

Найдем
оптимальный план, то есть точку из
многоугольника решений OACDE,
в которой целевая функция принимает
максимальное значение. Так как полученный
многоугольник решений не пуст и ограничен,
искомая точка лежит в одной из вершин
этого многоугольника.

Построим
градиент целевой функции
,
он указывает направление возрастания
целевой функции. Любой вектор, коллинеарный
градиентутакже будет указывать направление
возрастания целевой функции, по этому,
при необходимости векторможно растянуть или перенести параллельно
самому себе (рис. 1.3).

Построим
линии уровня целевой функции
,
где— константа. Линии уровня представляют
собой прямые линии, перпендикулярные
градиенту. Придавая константеразличные значения, будем передвигать
их в направлении градиента. Последняя
вершина многоугольника решений, с
которой пересечется линия уровня целевой
функции и будет оптимальной точкой.

Рис.
1.3. Направление градиента указано
пунктиром

На
рис. 1.4. изображены пунктиром линии
уровня для трех значений константы
.
Видно, что оптимальному плану соответствует
точка D.

Рис.
1.4. Поиск оптимальной точки

Оптимальная
точка D
является пересечением двух прямых,
соответствующих ограничениям (2) и (3).
Поэтому координаты оптимальной точки
определяются как решения системы
линейных алгебраических уравнений
(СЛАУ):

(1.14)

Найдем
решение СЛАУ (1.14). Второе уравнение можно
разделить на 2, получим:

Выразим
из второго уравненияи подставим в первое уравнение.

Решим
первое уравнение, получим
,
найдем.

Оптимальный
план
.
Оптимальное значение целевой функции
(доход) составиту.е.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Градиент функции

Как найти?

Постановка задачи

Найти градиент функции $ f(x,y,z) $ в точке $ M(x_0,y_0,z_0) $

План решения

Градиент функции $ f(x,y,z) $ – это вектор, каждая координата которого является частной производной первого порядка этой функции:

$$ grad f = frac{partial f}{partial x} overline {i} + frac{partial f}{partial y} overline{j} + frac{partial f}{partial z} overline {k} $$

  1. Берём частные производные первого порядка от функции $ f(x,y,z) $:
    $$ frac{partial f}{partial x}, frac{partial f}{partial y}, frac{partial f}{partial z} $$
  2. Вычисляем полученные производные в точке $ M(x_0,y_0,z_0) $:
    $$ frac{partial f}{partial x} bigg |_{M(x_0,y_0,z_0)}, frac{partial f}{partial y} bigg |_{M(x_0,y_0,z_0)}, frac{partial f}{partial z} bigg |_{M(x_0,y_0,z_0)} $$
  3. Подставляем, полученные данные в формулу градиента функции:
    $$ grad f bigg |_M = frac{partial f}{partial x} bigg |_M overline{i} + frac{partial f}{partial y} bigg |_M overline{j} + frac{partial f}{partial z} bigg |_M overline{k} $$

Примеры решений

Пример 1
Найти градиент функции $ u = x + ln (z^2+y^2) $ в точке $ M(2,1,1) $
Решение

Находим частные производные первого порядка функции трёх переменных:
$$ frac{partial f}{partial x} = 1; frac{partial f}{partial y} = frac{2y}{z^2+y^2}; frac{partial f}{partial z} = frac{2z}{z^2+y^2} $$

Вычисляем значение производных в точке $ M(2,1,1) $:

$$ frac{partial f}{partial x} bigg |_{M(2,1,1)} = 1 $$

$$ frac{partial f}{partial y} bigg |_{M(2,1,1)} = frac{2 cdot 1}{1^2+1^2} = frac{2}{2}=1 $$

$$ frac{partial f}{partial z} bigg |_{M(2,1,1)} = frac{2cdot 1}{1^2 + 1^2} = frac{2}{2}=1 $$

Подставляем в формулу градиента функции полученные данные:

$$ grad f = 1 cdot overline{i} + 1 cdot overline{j} + 1 cdot overline{k} = overline{i}+overline{j}+overline{k} $$

Запишем ответ в координатной форме:

$$ grad f = overline{i}+overline{j}+overline{k} = (1,1,1) $$

Если не получается решить свою задачу, то присылайте её к нам. Мы предоставим подробное решение онлайн. Вы сможете ознакомиться с ходом вычисления и почерпнуть информацию. Это поможет своевременно получить зачёт у преподавателя!

Ответ
$$ grad f = (1,1,1) $$
Пример 2
Найти градиент функции $ u = sin(x+2y)+2sqrt{xyz} $ в точке $ M bigg (frac{pi}{2},frac{3pi}{2},3 bigg ) $
Решение

Находим частные производные:

$$ frac{partial f}{partial x} = cos(x+2y) + frac{yz}{sqrt{xyz}} $$

$$ frac{partial f}{partial y} = 2cos(x+2y) + frac{xz}{sqrt{xyz}} $$

$$ frac{partial f}{partial z} = frac{xy}{sqrt{xyz}} $$

Вычисляем значения производных в точке $ M bigg (frac{pi}{2},frac{3pi}{2},3 bigg ) $:

$$ frac{partial f}{partial x} bigg |_{M(frac{pi}{2},frac{3pi}{2},3)} = cos(frac{pi}{2}+3pi)+ frac{frac{9pi}{2}}{sqrt{frac{9pi^2}{4}}} = cos frac{7pi}{2} + sqrt{9} = 3 $$

$$ frac{partial f}{partial y} bigg |_{M(frac{pi}{2},frac{3pi}{2},3)} = 2 cos(frac{pi}{2}+3pi) + frac{frac{3pi}{2}}{sqrt{frac{9pi^2}{4}}} = 2 cos frac{7pi}{2} + 1 = 2 cdot 0 + 1 = 1 $$

$$ frac{partial f}{partial y} bigg |_{M(frac{pi}{2},frac{3pi}{2},3)} = frac{frac{3pi^2}{4}}{sqrt{frac{9pi^2}{4}}} = sqrt{frac{pi^2}{4}} = frac{pi}{2} $$

Подставляем вычисленные недостающие данные в формулу и получаем:

$$ grad f = 3 cdot overline{i}+ 1 cdot overline{j} + frac{pi}{2} cdot overline{k} = 3overline{i}+overline{j}+frac{pi}{2} overline{k} $$

Записываем ответ в координатной форме:

$$ grad f = (3,1,frac{pi}{2}) $$

Ответ
$$ grad f = (3,1,frac{pi}{2}) $$

Приветствую всех. Сегодня на занятии хотелось бы затронуть немало важную тему, связанную одновременно с дифференциальным исчислением и векторной алгеброй. Мы постараемся как можно меньше углубляться в теоретические тезисы и побольше сделаем упор на решение практических задач. Незамедлительно начнём.

Определение слова “градиент” в математике нужно усвоить.

Градиент – это вектор показывающий направление наибольшего возрастания функции. Модуль вектора градиента показывает скорость изменения функции.

Запишем формулу для нахождения вектора градиента:

Функция представлена в нашем случае тремя переменными, имеет место быть и две переменных. "Что за заумный значок?" вы спросите. Этот перевёрнутый треугольничек имеет название "набла" и обозначает сумму частных производных по координатам, иначе его называют оператором Гамильтона. Хотите отдельную статью на эту тему? Пишите об этом в комментариях.
Функция представлена в нашем случае тремя переменными, имеет место быть и две переменных. “Что за заумный значок?” вы спросите. Этот перевёрнутый треугольничек имеет название “набла” и обозначает сумму частных производных по координатам, иначе его называют оператором Гамильтона. Хотите отдельную статью на эту тему? Пишите об этом в комментариях.

При нашем раскладе можно с теорией закончить, этого будет достаточно.

Разберём простенький примерчик для начала.

Действительно не сложно.
Действительно не сложно.

Никто ведь не забыл как брать частные производные? Если подзабыли, ссылочка (на статью) будет в конце урока.

Решается практически в одно действие, взяли частные производные по трём переменным, далее подставили в формулу и получили в формулу.
Решается практически в одно действие, взяли частные производные по трём переменным, далее подставили в формулу и получили в формулу.

Было слишком уж просто для нас, возьмём что-нибудь посложнее.

Уже интереснее.
Уже интереснее.

Такого плана примеры уже устно не решишь, хотя… Нет, всё же возможно.

Берём частные производные, как и в прошлом примере, после подставляем в формулу. Теперь у нас стоит задача найти длину вектора градиента в точке "М", для начала нужно подставить точку в наш вектор, таким образом получим градиент функции в точке. осталось найти длину. Вспоминаем, что длина вектора определяется через модуль, а модуль находится как сумма всех членов в квадрате под корнем квадратным.
Берём частные производные, как и в прошлом примере, после подставляем в формулу. Теперь у нас стоит задача найти длину вектора градиента в точке “М”, для начала нужно подставить точку в наш вектор, таким образом получим градиент функции в точке. осталось найти длину. Вспоминаем, что длина вектора определяется через модуль, а модуль находится как сумма всех членов в квадрате под корнем квадратным.

Не будем перенапрягаться сильно, рассмотрим последний пример и пойдём отдыхать.

Функция не самая простая, это не должно нас пугать.
Функция не самая простая, это не должно нас пугать.

Берёмся за дело.

Сложно было брать только производные, остальное "пошло как по маслу", все синусы нам дали нули, остался только первый член в итоге длина вектора градиента получилась равной 1/3.
Сложно было брать только производные, остальное “пошло как по маслу”, все синусы нам дали нули, остался только первый член в итоге длина вектора градиента получилась равной 1/3.

Не отчаиваемся что уже конец практики, у вас всегда есть возможность найти похожие задачки в интернете или взять в библиотеке задачник по высшей математике. Практикуйтесь, практикуйтесь, и ещё раз практикуйтесь. Спасибо за внимание.

Другие темы:

Нахождение градиента вектор-функции


  Перевод


  Ссылка на автора

Название изображения: Источник

В Часть 1 Нам поставили задачу: вычислить градиент этой функции потерь:

Изображение 1: функция потери

Чтобы найти градиент, мы должны найти производную функцию. В Часть 2 мы научились вычислять частную производную функции по каждой переменной. Однако большинство переменных в этой функции потерь являются векторами. Возможность найти частную производную векторных переменных особенно важна, поскольку нейронная сеть работает с большими объемами данных. Векторные и матричные операции – это простой способ представления операций с таким большим количеством данных. Как именно вы можете найти градиент вектор-функции?


Градиент скалярной функции

Скажи, что у нас есть функция,f (x, y) = 3x²y, Наши частные производные:

Изображение 2: Частичные производные

Если мы организуем эти части в горизонтальный вектор, мы получимградиентизР (х, у), или∇ f (x, y):

Изображение 3: Градиент f (x, y)

6yxэто изменение вР (х, у)в отношении изменения вИкс, в то время как3x²это изменение вР (х, у)в отношении изменения вY,

Что происходит, когда у нас есть две функции? Давайте добавим еще одну функцию,g (x, y) = 2x + y⁸, Частные производные:

Изображение 4: Частицы для g (x, y)

Таким образом, градиент g (x, y):

Изображение 5: градиент g (x, y)

Представляющие функции

Когда у нас есть несколько функций с несколькими параметрами, часто полезно представлять их более простым способом. Мы можем объединить несколько параметров функций в один векторный аргумент,Иксэто выглядит следующим образом:

Изображение 6: ВекторИкс

Следовательно,Р (х, у, г)станетF (x₁, x₂, x₃)который становитсяе (Икс).

Мы также можем объединить несколько функций в вектор, например так:

Изображение 7: ВекторY

В настоящее время,у = F (X)гдеF (X)является вектором из [f₁ (Икс), f₂ (Икс), f₃ (Икс) … п (Икс)]

Для нашего предыдущего примера с двумя функциями,f (x, y) ⇒ f (Икс)а такжеg (x, y) ⇒ g (Икс).Здесь векторИкс= [x₁, x₂], гдеx₁ = х, а такжеx₂ = у, Чтобы упростить его еще больше, мы можем объединить наши функции: [f (Икс),г(Икс)] = [f₁ (Икс), f₂ (Иксзнак равноf (x) = y.

Изображение 8: Уравнения в векторной функцииY

Зачастую количество функций и количество переменных будет одинаковым, поэтому для каждой переменной существует решение.


Градиент вектор-функции

Теперь, когда у нас есть две функции, как мы можем найти градиент обеих функций? Если мы организуем оба их градиента в одну матрицу, мы переместимся из векторного исчисления в матричное исчисление. Эта матрица и организация градиентов нескольких функций с несколькими переменными, известна какМатрица Якобиана,

Изображение 9: Якобиан

Есть несколько способов представления якобиана. Этот макет, где мы укладываем градиенты по вертикали, известен какмакет числителя, но другие документы будут использоватьрасположение знаменателя, который просто переворачивает его по диагонали:

Изображение 10: Расположение знаменателя якобиана

Градиент функции идентичности

Давайте возьмем функцию идентичности,у = ф (х) = х, гдеFi (Икс) = xiи найдите его градиент:

Изображение 11: функция идентификации

Так же, как мы создали наш предыдущий якобиан, мы можем найти градиенты каждой скалярной функции и сложить их вертикально, чтобы создать якобиан тождественной функции:

Изображение 12: Якобиан тождественной функции

Поскольку это функция идентичности, f₁ (Икс) = x₁, f₂ (Икс) = х₂ и тд. Следовательно,

Изображение 13: Якобиан тождественной функции

Частичная производная функции по переменной, которой нет в функции, равна нулю. Например, частная производная 2x² по y равна 0. Другими словами,

Изображение 14: частная производная функции по переменной, которой нет в функции, равна нулю

Поэтому все, что не на диагонали якобиана, становится равным нулю. Между тем, частная производная любой переменной по отношению к себе равна 1. Например, частная производнаяИксв отношенииИксравен 1. Следовательно, якобиан становится:

Изображение 15: Якобиан тождественной функции

Градиент комбинаций вектор-векторных функций

Элементарные бинарные операторыявляются операциями (такими как сложениевес+Иксиливес>Икскоторый возвращает вектор единиц и нулей), который применяет оператор последовательно, начиная с первого элемента обоих векторов, чтобы получить первый элемент вывода, затем второго элемента обоих векторов, чтобы получить второй элемент вывода… и так далее.

Эта статья представляет поэлементные бинарные операции с такими обозначениями:

Изображение 16: Поэлементная двоичная операция с f (x) и g (x)

Здесь ◯ означает любой поэлементный оператор (например, +), а не композицию функций.

Итак, как вы находите градиент поэлементной операции двух векторов?

Поскольку у нас есть два набора функций, нам нужны два якобиана, один из которых представляет градиент относительноИкси один по отношению квес:

Изображение 17: Якобиан по отношению квеса такжеИкс

Большинство арифметических операций нам понадобятся простые, поэтомуе (ш)часто просто векторвес, Другими словами,Fi (Wi) = Wi, Например, операцияW + хподходит к этой категории, так как она может быть представлена ​​каке (ж) + д (х)гдеfi (wi) + gi (xi) = wi + xi.

При этом условии каждый элемент в двух якобианах упрощается до:

Изображение 18: Элементы в якобиане

На диагонали i = j, поэтому существует значение для частной производной. Вне диагонали, однако, i ≠ j, поэтому частные производные становятся равными нулю:

Изображение 19: Диагональный якобиан

Мы можем представить это более кратко как:

Изображение 20: Якобиан по отношению квеса такжеИкс

Попробуем найти градиент функцииW + х, Мы знаем, что все вне диагонали равно 0. Значения частичных по диагонали относительновеса такжеИксявляются:

Изображение 21: Частичное в отношениивеса такжеИкс

Итак, оба якобиана имеют диагональ 1. Это выглядит знакомо … это матрица тождеств!

Давайте попробуем это с умножением:ш * х, Значения частностей по диагонали относительновеса такжеИксявляются:

Изображение 22: Частичное в отношениивеса такжеИкс

Следовательно, градиент по отношению квесизш * хявляетсяDiag (Икс)в то время как градиент по отношению кИксизш * хявляетсяDiag (вес).

Применяя те же шаги для вычитания и деления, мы можем суммировать все это:

Изображение 23: Градиенты общих элементарных бинарных операций

Градиент векторных сумм

Одной из наиболее распространенных операций в глубоком обучении является операция суммирования. Как мы можем найти градиент функцииу = сумма (Икс)?

у = сумма (Икс)также может быть представлен как:

Изображение 24: у = сумма (Икс)

Следовательно, градиент может быть представлен как:

Изображение 25: Градиент у = сумма (Икс)

А так как частная производная функции по переменной, которой нет в функции, равна нулю, ее можно дополнительно упростить следующим образом:

Изображение 26: Градиент у = сумма (Икс)

Обратите внимание, что результатом является горизонтальный вектор.

Как насчет градиентау = сумма (Иксг)? Единственное отличие состоит в том, что мы умножаем каждый частный с константой, z:

Изображение 27: Градиент у = сумма (Икся) в отношенииИкс

Хотя это является производной по отношению кИкс, производная по скаляруZэто просто число:

Изображение 28: Градиент у = сумма (Иксz) относительно z

Градиент комбинаций векторных функций правила цепочки

В Часть 2 мы узнали о правилах цепей с несколькими переменными. Однако это работает только для скаляров. Давайте посмотрим, как мы можем интегрировать это в векторные вычисления!

Давайте возьмем векторную функцию,Yзнак равное(Икс)и найти градиент. Давайте определим функцию как:

Изображение 29:Yзнак равное(Икс)

И то и другоеf₁ (х)а такжеf₂ (х)являются составными функциями. Введем промежуточные переменные дляf₁ (х)а такжеf₂ (х)и переписать нашу функцию:

Изображение 30:Yзнак равное(г(Икс))

Теперь мы можем использовать наше правило цепочки переменных, чтобы вычислить производную вектораY, Просто вычислите производнуюf₁ (х)а такжеf₂ (х)и поместите их один над другим:

Изображение 31: ГрадиентYзнак равное(г(Икс))

Вуаля! У нас есть наш градиент. Однако мы пришли к нашему решению со скалярными правилами, просто сгруппировав числа в вектор. Есть ли способ представить правило цепи с несколькими переменными для векторов?

Прямо сейчас наш градиент вычисляется с помощью:

Изображение 32: ГрадиентYзнак равное(г(Икс))

Обратите внимание, что первый член градиентов обоихf₁ (х)а такжеf₂ (х)включает частичноеg₁надИкси второй член градиентов обоихf₁ (х)а такжеf₂ (х)включает частичноеg₂надИкс Это как умножение матриц! Поэтому мы можем представить это как:

Изображение 33: Векторное представление градиентаYзнак равное(г(Икс))

Давайте проверим наше новое представление правила цепочки векторов:

Изображение 34: Правило векторной цепи

Мы получаем тот же ответ, что и скалярный подход! Если вместо одного параметраИксу нас есть векторный параметрИкснам просто нужно немного изменить наше правило, чтобы получить полное правило цепочки векторов:

Изображение 35: Правило векторной цепи

Другими словами:

Изображение 36: Правило векторной цепи

В нашем примере выше,еэто чисто функцияг; то есть,фиявляется функциейсолдатно нетGJ(каждая функцияесоответствует ровно 1 функцииг),В этом случае все вне диагонали становится равным нулю, и:

Изображение 37: Особый случай векторного правила цепочки

Теперь у нас есть все части, которые мы находим в градиенте нейронной сети, с которой мы начали нашу серию:

Изображение 38: Функция стоимости

Проверять, выписываться Часть 4 чтобы узнать, как вычислить его производную!


Если вы еще этого не сделали, прочитайте части 1 и 2:

  • Часть 1: Введение
  • Часть 2: Частичные производные

Читать Часть 4 для грандиозного финала!

Скачать оригинал статьи Вот,

Если вам понравилась эта статья, не забудьте оставить несколько хлопков! Оставьте комментарий ниже, если у вас есть какие-либо вопросы или предложения 🙂

Добавить комментарий