Научная статья на тему 'Многомерные симплексы в задачах экономики'

Многомерные симплексы в задачах экономики Текст научной статьи по специальности «Математика»

CC BY
75
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЛОКАЛЬНЫЙ ЭКСТРЕМУМ / ФУНКЦИЯ НЕСКОЛЬКИХ ПЕРЕМЕННЫХ / ГИПЕРТЕТРАЭДР / ИТЕРАЦИИ / МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ / ФУНКЦИЯ ЦЕЛИ / LOCAL EXTREMUM / FUNCTION OF SEVERAL VARIABLES / HYPERTETRAHEDRON / ITERATIONS / MATHEMATICAL PROGRAMMING / GOAL FUNCTION

Аннотация научной статьи по математике, автор научной работы — Горлач Б.А., Рылов А.А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

MULTI-DIMENSIONAL SIMPLEXES IN THE PROBLEMS OF ECONOMICS

In order to expand the possibilities of numerical methods for solving nonlinear problems of mathematical programming in economics, it is proposed to use the «simplex» method. For this purpose, a generalization of the method, which found application in solving problems of determining local extrema of functions of two variables for the case of specifying functions in arbitrary n-dimensional spaces was made. Equilateral triangles are replaced by n-dimensional hypertetrahedra. An example of solving the problem of determining the local minimum of a function of three variables is given.

Текст научной работы на тему «Многомерные симплексы в задачах экономики»

УДК 519.8

Б.А. Горлач, A.A. Рылов * МНОГОМЕРНЫЕ СИМПЛЕКСЫ В ЗАДАЧАХ ЭКОНОМИКИ

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

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

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

Одним из методов преодоления этих трудностей при определении локальных экстремумов непрерывных функций многих переменных является метод последовательного исключения областей, не содержащих искомых величин. Предполагается, что система ограничений, накладываемых на область задания целевой функции, известна, и задача сводится к определению локального экстремума целевой функции в этой области [1; 2].

Для функции одной переменной и = u(x), унимодальной в рассматриваемой области изменения х, задача тривиальна. Задаются начальные значения x0 переменной x и «симплекс» — отрезок Дх = d координаты х. Затем последовательно в точках х. = х._г + d (i = 1,2,...) вычисляются соответствующие значения ui исследуемой функции. Пока последовательные значения функции ui монотонно убывают для задачи определения локального минимума (монотонно возрастают для задачи определения максимума), экстремальное значения функции «не накрыто» отрезками независимой переменной. Увеличение (уменьшение) значения функции в очередной задаваемой точке х. указывает на то, что на последнем интервале (х. — х. ) изменения х находится точка с минимальным (максимальным) значением функции. Далее путем сравнения значений функций в двух последовательных точках определяется точность вычисления. Если точность определения экстремума недостаточна, интервал (х. — х+) = d изменения переменной х уменьшается и на последнем интервале ее изменения повторяется процедура отыскания области унимодальности функции [3].

Для функции двух переменных и(х1,х2) область ее унимодальности последовательно покрывается плоскими фигурами. Для удобства составления алгоритма решения эти фигуры представляются областями, ограниченными равносторонними треугольниками. Одна из вершин начального треугольника (плоского симплекса) располагается на биссектрисе первого координатного угла. Пусть это точка М(Х координаты которой определяются радиус-вектором X0 = (х01,х02), (х01 = х02). Две другие вершины M1(X1) и M2(X2) располагаются симметрично биссектрисе. Последнее условие приводит к записи координат этих точек в виде:

М1(х01+р; х02+д), М2(х01+д; х02+р).

Параметры р и q определяются из условия равенства сторон треугольника некоторому размеру d:

M0 Mj = MM = MM = d, (1)

"",2 . „2

MoMl = M0M2 = Jq2 + p2 ; M1M2 = V2Ip - q\. (2)

* © Горлач Б.А., Рылов A.A., 2018

Горлач Борис Алексеевич (b.a.gorlach@yandex.ru), доктор технических наук, профессор кафедры математических методов в экономике, Самарский национальный исследовательский университет имени академика С.П. Королева, 443086, Российская Федерация, г. Самара, Московское шоссе, 34.

Рьлов Александр Аркадьевич (ARylov@fa.ru), кандидат физико-математических наук, доцент учебно-научного департамента анализа данных, принятия решений и финансовых технологий, почетный работник высшего профессионального образования Российской Федерации, Финансовый университет при Правительстве Российской Федерации, 125993, Российская Федерация, г. Москва, Ленинградский проспект, 49.

Для установления зависимости между параметрами р, д и размером < сторон симплекса составим два уравнения. Одно из них — равенство квадратов двух сторон (ММ)2 = (ММ)2 = <2 — приводит к уравнению

р2 + q2 = 4 pq = 0. (3)

Второе уравнение — равенство расстояния от точки Мг (или М2) до биссектрисы (хг — х2 = 0) половине длины стороны симплекса:

72 (Р "<?} = 2 ' . (4)

Уравнения (3) и (4) приводят к зависимостям:

\/3 +1 \13 - 1

р =-р— а, q =-р— а.

3\2 3Ы2

После определения координат всех трех точек начального симплекса в этих точках находятся значения функции: и0 = и(Хд), и1 = и(Хг), и2 = и(Х2).

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

тах{ид, и,, и2} = ик, (к = 0, или 1 или 2).

Для удобства дальнейших рассуждений предположим, что Мк = М0 — это точка, наиболее удаленная от точки с минимальным значением функции. В этой точке функция принимает максимальное из значений в трех вершинах исходного симплекса. В точках М1 и М2 значения функции меньше и0 .

Для приближения к точке экстремума строим новый симплекс, две его точки — это Мги М. Вершину М3 нового симплекса располагаем симметрично точке М0 относительно прямой МгМ2. Для определения координат этой точки обратимся к векторным соотношениям (X. — радиус-вектор г-й точки): ММ = XI - Хд ; ММ2 = Х2 - X;

ММрр = ( X + X) - Хд ; ММ = 2 МдМр = Хг + х2 - 2Хд .

Тогда Х3 = ММз + Хд = Х1 + Х2 — Хд и координаты третьей точки нового симплекса — это координаты вектора Х3: М== М3(Х3).

Рассмотрим произвольный (г-й) треугольный симплекс с вершинами М(Х), М+1(Х+1) и М+2(Х+2). Пусть максимальное значение функция имеет в точке М.(Х). Вектор Х.+3 точки М.+3 , симметричный точке М(Х) относительно прямой М.+1 М.+2, определится по формуле

Х1+3 = Х1+1 + Х1+2 — Х1.

Координаты хк.+3 (к=д,1,2) этого вектора:

кккк Х ¡+3 Х ¡+1 + Х ¡+2 Х .

Если значение функции и(Х.+3) > и(Х), то точка минимума функции «накрыта» построенными симплексами. Точка с минимальным значением функции находится в двух последних симплексах. Минимальным значением функции, найденным с использованием симплексов, размер которых определяется параметром <1, является минимальное из значений и.+г= и(Х.+1) и и.+2 = и(Х.+2). Для уточнения значения экстремума функции следует уменьшить размер 1, построить новый симплекс внутри области, ограниченной точками М ^ М,+3, и повторить вычисления.

Если в задаче определения минимального значения функции имеет место неравенство и.+3 < и,, то следует определить вершину последнего симплекса с максимальным значением и:

тах{и.+1, и++2, u¡+3},

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

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

Для решения задач определения локальных экстремумов функции нескольких (п > 2) переменных следует вместо плоского равностороннего треугольника выбрать в качестве симплекса равносторонний (п + 1)-угольный «гипертетраэдр» с размером сторон, равных задаваемой величине 1.

Одну из вершин начального тетраэдра Мд(Хд) (Хд = (Хд1, х02, .., хд") — радиус-вектор) следует для удобства разместить на биссектрисе первого «квадранта», т. е. где х1 = хд2 = ...= хд". Оставшиеся п вершин М(Х), ( . = 1,2,—,п) принадлежат гиперплоскости и располагаются на одинаковых расстояниях от биссектрисы. Последние условия определяют характер координат этих вершин:

Одну из вершин начального тетраэдра Мд(Хд) (Хд = (хд1, хд2, .., хд") — радиус-вектор) следует для удобства разместить на биссектрисе первого «квадранта», т. е. где хд1 = хд2 = ...= хд". Оставшиеся п вершин М(Х), ( . = 1,2,—,п), принадлежат гиперплоскости и располагаются на одинаковых расстояниях от биссектрисы. Последние условия определяют характер координат этих вершин:

М1 (х1 + р, Хо2 + q,..., хп0 + q),

М 2 (х1 + q, хо2 + р,..., хп + q), ,хо + q, Хо + q,..., х0 + р)

ып (х1 + - -2

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

(М0М1 )2 = р2 + пд2 = а2;

(М№])2 = п(р -д)2 = а2, (и} = 1,2.....п; I * ]).

Равенство (М0М)2 = (ММ)2 после преобразования приводит к уравнению

р2 - 4рд + (3 - п)д2 = 0 . Неотрицательным решением этого уравнения являются зависимости

л/п +1 + п -1 , л/п +1 -1 ,

р = п4г а' д = ~ЯГа (5)

Последовательность дальнейших преобразований повторяет изложенную для случая плоской задачи. Предположим, что построен очередной (г-й) симплекс — гипертетраэдр с вершинами М.+. (Х.+),

0 = 0-п )• ' '

В каждой из вершин этого симплекса определяются значения исследуемой функции и .+. = и(М.+) = = и(Х+) = и(х1х2.+, .., хп.+.) и выделяется максимальное (для отыскания локального минимума

функции) из этих значений итах = тах{иг+0, и + , ..., и+, .., и +п}.

Пусть для определенности итах = и.+д. Строим новый симплекс с вершиной М.+п+2(Х+п+1), симметричной вершине М.+д(Х.+д) относительно гиперплоскости, проходящей через точки М.+,, М.+, .., М.+п. Далее находим значение функции и.+п+1= и(М.+п+1).

Если при отыскании локального минимума функции выполняется неравенство и(М ) < и(М .+0), то процесс построения новых симплексов продолжается. В противном случае точка локального минимума функции «накрыта» двумя последними гипертетраэдрами. В этом случае минимальное значение функции в рассматриваемой области полагается равным минимальному из значений функции в вершинах последних двух симплексов.

Вернемся к задаче определения вершины очередного симплекса. Пусть координаты вершин предыдущего симплекса М.+, .., М.+к, .., М.+п известны и определяются радиус-векторами Х.+, Х.+1, .., Х.+п. Координаты точки, симметричной точке М.+0, определяются радиус-вектором Х.+п+г

Радиус-вектор Х.р точки М.ср, лежащей в гиперплоскости, проходящей через вершины симплекса М.+,, .., М+п и равноудаленной от этих вершин:

Х = (Х + ... +Х.+ ).

I ср * 1 + 1 1+п'

Запишем выражения для векторов, совпадающих с ребрами гипертетраэдров и соединяющих их вершины:

м++м+к = Х+к - Х+г

Щ+№+к = Х+к - Х+о, м..м. = Х - Х.+„

1+и 1Ср 1Ср 1+0 1

м+М+п+1 = 2 м+МсР.

Радиус-вектор, определяющий положение вершины М.+п+1 нового гипертетраэдра, симметричной

точке М.+0:

2 п

Х+п+1 = М+0М+п+1 + Х+0 = - ЕХ<+г - Х+0 . (6)

п Г=1

Координаты с номером т вершины М.+

п

— — X /+г — X /+0 (

п ,

Алгоритм решения задачи определения локальных экстремумов функции нескольких (п) переменных и(Х) = и(хт) (т = Щ) строится следующим образом.

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

2. Выбирается начальная вершина симплекса М(Х0), и определяются координаты остальных п вершин М. начального симплекса (гипертетраэдра).

3. Определяются значения функции во всех (п + 1) вершинах симплекса: и0 = и(Х0), и1 = и(Х1), ..., ип = и(Хп). Сравниваются значения функции и выбирается наибольшее из них: итах= тах{и0, и, .., ик, .., ип) = ик, (к = 0, или 1, ..., или п). Пусть для определенности итах = и0

4. Вычисляем координаты вершины Мп+1(Хп+1) нового симплекса, симметричной вершине М0(Х0) исходного симплекса.

5. Находим значение ип+1 = и(Хп+1) и сравниваем его со значением и0 = и(Х0). Неравенство ип+1 > и0 указывает на то, что точка локального минимума функции «накрыта» одним из двух построенных симплексов. В этом случае процесс построения новых симплексов прекращается и в качестве прибли-

хт

женного значения функции принимается минимальное из значений функции в вершинах последнего симплекса: ит1п = тт{ир и1, —, ип}. Если ип+1 < ид, определяется точка с максимальным значением функции во втором симплексе, строится симметричная ей точка следующего симплекса и т. д.

Процесс последовательного построения симплексов продолжается до тех пор, пока очередной симплекс не «накроет» точку с минимальным значением функции. В этом случае за приближенное минимальное значение функции выбирается минимальное из ее значений в точках последнего симплекса.

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

Пример. Определить экстремальное значение функции

и = 30х2 +10у2 +10г2 - 20ху -100х + 20у - 60г + 200. Функция определена при всех действительных значениях переменных.

Определим характер экстремума. Для этого составим матрицу коэффициентов квадратичной формы

и определим ее главные миноры:

' 30 -10 0"

функции к{х,у, z) = -10 10 0

, 0 0 100

M1 = 30 = 30 > 0; M2 =

30 -10 -10 10

= 30-10 = 20 > 0;

30 -10 0

мз = -10 10 0

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

0 0 10

= 30-10 = 20 > 0.

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

Задаем размер симплекса < = 10 и по формулам (5) определяем параметры ребер начального тетраэдра при п = 3:

У3+1+3-1 10 4 л/33+1 -1 1 2 357

р =-¡=--10 =—9,4288; =-¡=—10 = —¡=» 2,3573.

3л/2 3л/2 3л/2 3л/2

Совмещаем точку М0 одной из вершин начального тетраэдра М()М1М2М3 с координатами, определяемыми вектором Х0 = (0, 0, 0).

Определяем координаты трех оставшихся вершин тетраэдра: Х1 = (р, д, д) = (9,428; 2,357; 2,357); Х2 = (д, р, д) = (2,357; 9,428; 2,357); Х3 = (д, д, р) = (2,357; 2,357; 9,428).

Вычисляем значения функции и во всех точках исходного симплекса и0 = и(Х0) = 200; и,1 = и(Х1) = 120; и2= и(Х) = 187,8; и3 = и(Х3) = 134,5. Находим максимальное из вычисленных для начального симплекса значений функции: итах= тах{и; и; и; и3} = тах{200; 120; 187,8; 134,5} = 200 = и0.

По формуле (6) рассчитываем вектор Х4 точки М 4 нового тетраэдра, симметричной точке М0 исходного тетраэдра относительно плоскости, проходящей через точки с координатами Х1, Х2 и Х3:

2

Х4 = 3 (ХР+Х2 + Х' 3) — Х 0 .

координаты точки М4:

2 2 х; = 3 (Х1,+Х2+Х3) - х0= 3 (9,428+2,357+2,357) - 0 = 9,428;

22 У4 = 3 (У1,+2+У3) - У 0= 3 (2,357+9,428+2,357) - 0 = 9,428;

22 ¿4 = 3 (71,+72+г3) - 20= 3 (2,357+2,357+9,428) - 0 = 9,428.

Таким образом Х4 (9,428; 9,428; 9,428).

В точке Х4 значение и4 = и(Х4) = 94,7 < и0.

Точка минимума функции и не «накрыта».

Из четырех значений функции в вершинах второго симплекса наибольшее значение имеет функция в точке Х2: и2 = 187,8.

Строим новый симплекс. Его четвертая вершина Х5 — это точка, симметричная точке Х2 (с максимальным и = 187,8 значением функции) относительно плоскости, проходящей через точки Х1, Х3 и Х4.

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

Таблица

Значения координат точек последующих симплексов и значения функции в этих точках

Итерация 1 2 3 8 9 10

Min u 120 94,7 67,0 21,0 20,5 20,1

Отличие вычисленных наименьших значений в узлах двух предпоследних симплексов не превышает 5 %. Точное минимальное значение функции и = и(20;10;30) = 20.

Библиографический список

1. Горлач Б.А. Математический анализ. СПб.: Лань, 2013. 601 с.

2. Горлач Б.А. Математика. М.: ЮНИТИ-ДАНА, 2006. 911 с.

3. Бахвалов Н.С., Жидков Н.Л. Численные методы. М.: Изд. «Лаборатория Базовых Знаний», 2003. 632 с.

References

1 Gorlach B.A. Matematicheskii analiz [Mathematical analysis]. SPb.: izd. «Lan'», 2013, 601 p. [in Russian].

2. Gorlach B.A. Matematika [Mathematics]. M.: YuNITI-DANA, 2006, 911 p. [in Russian]

3. Bakhvalov N.S., Zhidkov N.L. Chislennye metody [Numerical methods]. M.: Izd. «Laboratoriya Bazovykh Znanii», 2003, 632 p. [in Russian].

B.A. Gorlach, A.A. Rylov* MULTI-DIMENSIONAL SIMPLEXES IN THE PROBLEMS OF ECONOMICS

In order to expand the possibilities of numerical methods for solving nonlinear problems of mathematical programming in economics, it is proposed to use the «simplex» method. For this purpose, a generalization of the method, which found application in solving problems of determining local extrema of functions of two variables for the case of specifying functions in arbitrary «-dimensional spaces was made. Equilateral triangles are replaced by «-dimensional hypertetrahedra. An example of solving the problem of determining the local minimum of a function of three variables is given.

Key words: local extremum, function of several variables, hypertetrahedron, iterations, mathematical programming, goal function.

Статья поступила в редакцию 11/III/2018. The article received 11/III/2018.

* Gorlach Boris Alexeevich (b.a.gorlach@yandex.ru), Doctor of Technical Sciences, professor of the Department of Mathematical Methods in Economics, Samara National Research University, 34, Moskovskoye shosse, Samara, 443086, Russian Federation.

Rylov Alexander Arkadyevich (ARylov@fa.ru), Candidate of Physical and Mathematical Sciences, associate professor of the Educational and Scientific Department of Data Analysis, Decision Making and Financial Technologies, Honored worker of Higher Professional Education of the Russian Federation, Financial University under the Government of the Russian Federation, 49, Leningradsky Prospekt, Moscow, 125993, Russian Federation.

i Надоели баннеры? Вы всегда можете отключить рекламу.