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

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

CC BY
412
115
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАТЕМАТИЧЕСКАЯ МОДЕЛЬ / ЭКОНОМИЧЕСКАЯ СИСТЕМА / МАТРОИД / "ЖАДНЫЙ" АЛГОРИТМ / ПЕРЕСЕЧЕНИЕ МАТРОИДОВ / MATHEMATICAL MODEL / ECONOMIC SYSTEM / MATROID / GREEDY ALGORITHM / INTERSECTION OF MATROIDS

Аннотация научной статьи по математике, автор научной работы — Исаченко Александр Николаевич, Ревякин Александр Михайлович

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

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

Похожие темы научных работ по математике , автор научной работы — Исаченко Александр Николаевич, Ревякин Александр Михайлович

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

Matroids in Mathematical Modeling of Economic Systems

Matroids are widely applied in discrete mathematics and computer science and can be successfully used in economic systems modeling. The authors present information from matroid theory and examples of economic and mathematical models in the form of matroids. Descriptions of algorithms used to find a solution for problems (assignment, time-table, travelling salesman ones and other, with or without “matroid” structure) are given and the information about their accuracy is provided. The algorithms are considered for independence systems, matroids, and intersection of two matroids.

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

УДК 330.4

Матроиды в математическом моделировании экономических систем

А. Н. Исаченко1, А. М. Ревякин2

1 Белорусский государственный университет 2Национальный исследовательский университет «МИЭТ»

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

Ключевые слова: математическая модель; экономическая система; матроид; «жадный» алгоритм; пересечение матроидов.

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

Матроиды получили широкое распространение в современной математике и информатике как основа для изучения и анализа задач дискретной математики и алгоритмов их решения.

Система независимости определяется как пара M = (S, F), где S — конечное множество, а F <= 2s — семейство, для которого выполняются следующие условия (аксиомы независимости):

(11) 0 е F;

(12) если A с= B и B е F, то A е F.

Подмножества из F называются независимыми, из 2S\ F — зависимыми.

Если в дополнение к (i1) и (i2) выполняется условие (аксиома расширения)

(13) если A, B<= Fи \A\ = \B\ + 1, то найдется a е A \ B такое, что B и a е F, то M = (S, F) называют матроидом.

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

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

© Исаченко А. Н., Ревякин А. М.

Экономические и социально-гуманитарные исследования № 1 (5) 2015

13

_______________Организационно-экономические аспекты инновационного развития______

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

Пример 1: пусть на этапе анализа структуры математической модели установлено, что она имеет вид линейной зависимости отклика y(t), характеризующего состояние системы в момент времени t, от воздействующих на нее факторов

y(t), x2(t),..., xn(t),

т. е. y(t) = fl1x1(t) + a2x2(t) + ... + anxn(t),

с неизвестными коэффициентами a., i = 1, ..., n. Тогда для определения a., i = 1, ..., n, нужно применять либо идентификацию (накапливать данные в режиме пассивного наблюдения системы), либо, если возможно, планирование эксперимента (составление плана входящих воздействий

x^t), x2(t), ..., xn(t)

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

t,, L, ..., t , m > n,

получим m^n-матрицу

X = \xt(tJ)\

и вектор-столбец

y = y(tJ),

определяющие систему алгебраических уравнений Xa = у для поиска вектор-столбца неизвестных коэффициентов

at, i = 1, ..., n.

Возьмем в качестве S множество всех строк матрицы X и отнесем к F все подмножества строк (столбцов), являющиеся линейно независимыми. Тогда пара (S, F) образует матроид [1], называемый матроидом матрицы X. Максимальные по включению независимые множества матроида называются его базами. Базы матричного матроида соответствуют подмножествам линейно независимых строк (столбцов), мощность которых равна рангу матрицы.

Часто строкам (столбцам) матрицы приписывают веса, характеризующие их значимость (например, достоверность или стоимость наблюдения). При этом возникает задача поиска подмножества линейно независимых строк (столбцов) матрицы с максимальным (минимальным) суммарным весом или (эквивалентно) задача поиска базы матричного матроида максимального (минимального) веса. Эту задачу можно решать «жадным» алгоритмом [1].

Шаг 1. I0 = 0 (I — текущее множество алгоритма), J = 0.

Шаг 2. Упорядочиваем элементы множества S по не убыванию (не возрастанию) их весов w(s). Пусть w(s1) > w(s2) > ... > w(sn) (или w(s1) < w(s2) < ... < w(sn)).

Шаг 3. Полагаем

( I U s., ,, если I U s.,, e F,

J + 1 1 I, если I U s. + 1 й F.

j j j + 1

Шаг 4. Если J + 1 = n, то стоп, в противном случае возвращаемся к шагу 3, приняв J: = J + 1.

14

Экономические и социально-гуманитарные исследования № 1 (5) 2015

___________________________Исаченко А. Н., Ревякин А. М.____________________

Связь «жадного» алгоритма с матроидами устанавливает теорема Радо — Эдмондса [1], согласно которой, для произвольной весовой функции «жадный» алгоритм всегда находит точное решение задачи, если система независимости является матроидом.

Математический аппарат сетевых моделей экономики базируется на теории графов, являющейся одним из источников для теории матроидов. Широко известна задача о минимальном остовном дереве. Она состоит в поиске для данного неориентированного связного графа G = (V, E) и заданных весов ребер w(e), e е E, остовного дерева минимального веса. Можно привести несколько экономических интерпретаций указанной задачи в зависимости от смысла, придаваемого элементам графа и весовой функции.

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

Возьмем в качестве S множество ребер E графа G, а в качестве F — все подмножества ребер, не содержащие циклов. Пара (S, F) образует матроид [1], называемый матроидом графа G. Любая база этого матроида будет соответствовать остовному дереву графа G. Решение задачи о минимальном остовном дереве можно провести «жадным» алгоритмом, упорядочивая элементы S на шаге 2 по не возрастанию их весов.

Рассмотрим экономическую задачу, связанную с понятием расписания, и сформулируем ее как задачу на матроиде. Предположим, что имеется множество работ

р = (рр р2,..., ри).

Каждая из работ р. выполняется за одинаковое время At и характеризуется директивным сроком выполнения t, кратным At, и штрафом w(P(), взимаемым, если она не выполняется к моменту времени t . Для множества работ Р необходимо найти расписание их выполнения, минимизирующее суммарный штраф, состоящий из налагаемых на все не выполненные к директивным срокам работы.

Множество работ A Я Р назовем независимым, если для него существует расписание, в котором все работы из A выполняются к своим директивным срокам. Пара (S, F), где S = Р, а F состоит из всех независимых множеств работ, является матроидом [2]. Взяв в качестве весов работ штрафы ^(Р;), можно применить для решения «жадный» алгоритм.

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

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

Пусть пара (S, F) является системой независимости. База множества A Я S определяется аналогично базе матроида, т. е. это максимальное по включению независимое подмножество A. Нижний (верхний) ранг lr(A) (ur(A)) множества A — это минимальная (максимальная) мощность баз A. Кривизна системы независимости (S, F) задается как

Экономические и социально-гуманитарные исследования № 1 (5) 2015

15

Организационно-экономические аспекты инновационного развития

k = k(S) = min

A е S

lr(A) ur(A) .

Очевидно, 0 < k < 1. В соответствии с теоремой Корте — Хаусманна [3], при неотрицательной и аддитивной весовой функции отношение решения, полученного для задачи максимизации «жадным» алгоритмом, к точному решению не меньше кривизны системы независимости. Данная теорема дает возможность оценить точность полученного «жадным» алгоритмом решения для задач, определенных на системах независимости.

Предположим, что

Mi = (S, Fi), M2 = (S, F2) —

матроиды, заданные на одном и том же множестве S. Как и ранее, считаем, что для каждого элемента 5 множества S известен вес w(s). Задача на пересечении двух матроидов состоит в поиске максимального по включению подмножества A <= S, независимого как в M1, так и в М2 и имеющего минимальный (максимальный) вес.

Пример 3: рассмотрим некоторую матрицу A. Множество ее элементов назовем независимым по строкам (столбцам), если все элементы этого множества принадлежат различным строкам (столбцам) A. Множество элементов матрицы назовем независимым, если оно независимо по строкам и столбцам одновременно.

Семейство всех независимых по строкам (столбцам) элементов матрицы образует матроид. Обозначим его как пару

Mi = (S, Fi) (M2 = (S, F2)).

Тогда семейством всех независимых подмножеств элементов матрицы A является пересечение F1 n F2. Если весом элемента матрицы считать его значение, то получим задачу поиска максимального по включению независимого множества элементов матрицы с минимальной (максимальной) суммой, в виде задачи на пересечении двух матроидов M1, M2. Задача о назначениях вписывается в данную схему и является задачей на пересечении двух матроидов.

Прежде чем изложить алгоритм решения подобной задачи, приведем некоторые определения. Пусть M = (S, F). Ранг r(A) множества A S есть максимальная мощность независимого множества из A. Замыканием a(A) множества A называется максимальное по включению множество, содержащее A и имеющее тот же ранг r(A). Цикл матроида — это минимальное по включению зависимое множество.

Приведем алгоритм решения задачи на пересечении двух матроидов для случая поиска множества минимального веса.

Шаг 1. I0 = 0 (I — текущее множество алгоритма), j = 0.

Шаг 2. Определяем замыкание a1(I) множества I в матроиде М1 и замыкание a2(I) множества I в матроиде Ш2.

Шаг 3. Строим на элементах множества S ориентированный взвешенный по вершинам двудольный граф

G = (S \ j j E).

Вершинами первой доли являются элементы множества S \ I, вершинами второй — элементы множества I. Дуги E. образуются по следующему правилу: вершина первой доли v, для которой выполняется включение

16

Экономические и социально-гуманитарные исследования № 1 (5) 2015

_____________________________Исаченко А. Н., Ревякин А. М.________________________

v е Ol(Ij),

соединяется прямой дугой с каждой вершиной и второй доли, принадлежащей единственному циклу C матроида M,, образующемуся при добавлении к независимому множеству I элемента v. Аналогично вершина второй доли v, для которой выполняется включение

v е a2(I),

соединяется обратной дугой с каждой вершиной и второй доли, принадлежащей единственному циклу C матроида M2, также образующемуся при добавлении к независимому множеству Ij элемента v.

Вершины графа G,, не имеющие входящих дуг, называем источниками, а не имеющие выходящих дуг — стоками. Изолированные вершины считаем одновременно источником и стоком и строим для них дуги в виде петель.

Всем вершинам первой доли графа Gj приписываем веса соответствующих элементов, а вершинам второй — их отрицательные веса.

Шаг 4. Ищем путь из источника в сток, имеющий минимальный суммарный вес входящих в него вершин. Если вершина является и источником, и стоком, петля считается также путем с весом, равным весу вершины.

При отсутствии пути из источника в сток алгоритм завершает работу с искомым

множеством I.

j

Если найден минимальный по весу путь, строим множество I + 1 по множеству I, присоединив к нему все вершины первой доли найденного пути и исключив все вершины второй. Полагаем j: =j + 1 и возвращаемся к шагу 2.

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

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

Итак, пусть дан ориентированный связный граф G = (V, E) с заданными весами дуг w(e), e е E. Для формулировки задачи в виде пересечения на матроидах возьмем в качестве S множество дуг E. Для определения независимых множеств F1 первого матроида рассмотрим граф G без учета ориентации дуг и определим матроид

Mi = (S, Fi)

полученного неориентированного графа, как и ранее, отнеся к F1 все подмножества дуг, не содержащие циклов. Для второго матроида

м2 = (S, F2)

семейство F2 включает все подмножества дуг, не содержащие пары дуг, входящих в одну и ту же вершину. В этих условиях задача о максимальном ориентированном дереве является задачей на пересечении матроидов М1 и M2.

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

Экономические и социально-гуманитарные исследования № 1 (5) 2015

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

17

_______________Организационно-экономические аспекты инновационного развития_____

M3 = (S, F3),

с семейством F3, включающим все подмножества дуг, не содержащие пары дуг, выходящих из одной и той же вершины [4].

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

Литература

1. Oxley J. G. Matroid Theory. 2nd ed. Oxford; New York: Oxford Univ. Press, 2011. VIII, 684 p.: il. (Oxford graduate texts in mathematics; 21).

2. Алгоритмы: построение и анализ = Introduction to Algorithms / Т. X. Кормен, Ч. И. Лейзерсон, Р. Л. Ривест, К. Штайн. М. [и др.]: Вильямс, 2013. 1323 с.: ил.

3. Hausmann D., Korte B. Lower Bounds on the Worst-case Complexity of Some Oracle Algorithms // Discrete Mathematics. 1978. Vol. 24. Issue 3. P. 261—276.

4. Пападимитриу Х., Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность = Combinatorial Optimization / Пер. с англ. и предисл. В. Б. Алексеева. М.: Мир, 1985. 510 с.: ил.

Исаченко Александр Николаевич — доцент кафедры информационных систем управления Белорусского государственного университета. E-mail: isachen@bsu.by

Ревякин Александр Михайлович — доцент кафедры высшей математики № 2 (ВМ-2) МИЭТ. E-mail: arevyakin@mail.ru

18

Экономические и социально-гуманитарные исследования № 1 (5) 2015

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