Научная статья на тему 'Суммирование перечислителей в задачах дискретной оптимизации в контексте управления мастер-данными'

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

CC BY
6
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
перечислители / субоптимальные задачи / дискретная оптимизация / граница Парето / управление мастер-данными / enumerators / suboptimal problems / discrete optimization / Pareto boundary / master data management

Аннотация научной статьи по математике, автор научной работы — Кузнецов С.В.

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

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

Summation of the enumerators in discrete optimization problems in the context of master data management

The publication presents an approach to the use of discrete optimization algorithms, in particular, the search for suboptimal solutions. The theory of enumerators, proposed by the famous Leningrad mathematician I.V. Romanovsky, and the operation of their summation, which is proposed to be used to create multi-domain suboptimal algorithms, are considered. The paper presents an efficient algorithm to sum enumerators based on the recalculation of the Pareto boundary. Motivations for using the proposed algorithm within the framework of a well–known task in the field of Master Data Management are given.

Текст научной работы на тему «Суммирование перечислителей в задачах дискретной оптимизации в контексте управления мастер-данными»

ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ И

ПРОЦЕССЫ УПРАВЛЕНИЯ N. 4, 2023 Электронный журнал, рег. Эл № ФС77-39410 от 15.04.2010 ISSN 1817-2172

http://diffjournal.spbu.ru/ e-mail: _ jodiff@mail.ru

Информационные системы и процессы

Суммирование перечислителей в задачах дискретной оптимизации в контексте управления мастер-данными

Кузнецов С.В. 1Д*

1ООО «Юнидата»

2 u ^

Санкт-Петербургский государственный университет

*

sergey.kouznetsov@gmail.com

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

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

1. Введение

Задачи по оптимизации различных ресурсов активно изучались в Петербургской математической школе со времён Л.В. Канторовича [1]. В конце 90-х годов его ученик проф. И.В. Романовский предложил и развил концепцию процессов-перечислителей субоптимальных решений [2-4].

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

[5], в управлении производством [6], в системах поддержки принятия решений [7,8], а также при управлении данными в биоинформатике и информационных системах [9].

Управление мастер-данными (Master Data Management) является особой областью управления данными крупных организаций [10], занимаясь агрегацией данных из различных источников и решением прикладных задач на основе этой агрегации. Данная область очень динамична, для неё создано большое количество методов, алгоритмов и готовых программных инструментов. В то же время в ней продолжает оставаться значительное количество проблем, связанных как со стоимостью и затратами, так и с эффективностью итоговых алгоритмов.

Перечислитель является процессом перебора решений некоторой субоптимальной задачи в порядке деградации целевой функции. Для перечислителей введен ряд операций - монотонное преобразование, слияние, суммирование и др. [2,3]. Эти операции полезны при масштабировании субоптимальных задач и способны понизить сложность итоговых алгоритмов, позволяя составлять их из них решения более простых задач (меньших по количеству допустимых решений, числу параметров оптимизации, объёму обрабатываемых данных и т.д.).

Среди операций над перечислителями особую роль играет суммирование (идея была предложена в [11]): эта операция позволяет объединять решения задач в разных доменах в искомое субоптимальное решение исходной задачи. В отличии от остальных операций для этой нетривиальным является составить алгоритм, перебирающий решения для суммы перечислителей. Конструированию такого алгоритма и доказательству его корректности посвящена данная работа.

Данная статья является обновленной версией статьи 2005 года [3]. Выполнено более строгое определение концепции перечислителя (в частности, рассмотрены бесконечные перечислители), предложена формализация алгоритма перебора решений для суммы перечислителей, исследованы дополнительные свойства данного алгоритма, а также предложена схема применения этих результатов при масштабировании задач управления мастер-данными [9,10]. Также по сравнению с исходной версией [3] был исправлен ряд ошибок.

Статья организована следующим образом. Представлена уточненная формальная концепция перечислителя, включая определение субоптимальной задачи дискретной оптимизации, доказан ряд свойств перечислителей (раздел 2). Представлена схема применения перечислителей и операции суммирования для масштабирования задач управления мастер-данными, дано строгое определение операции суммирования с вытекающей отсюда проблемой нахождения алгоритма перебора для итогового перечислителя-суммы (раздел 3). Формально введена граница Парето и доказан ряд её свойств (раздел 4). Предъявлен алгоритм перебора решений для суммы двух перечислителей, показано, как его можно распространить на сумму произвольного количества слагаемых, приводится формальное доказательство корректности алгоритма (раздел 5).

2. Субоптимальные задачи дискретной оптимизации и перечислители

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

Определение 1. Пусть имеется пара (D,v), где D является конечным или счетным множеством некоторых объектов, а v - функцией вида D —» М, имеющей минимум на D (М - это множество вещественных чисел), называемая целевой функцией. Тогда задачей дискретной оптимизации будет поиск решения - элемента d0 из D, на котором функция v достигает минимума, т.е. d0 = argmindeDv (d). При этом D будем называть множеством допустимых решений данной задачи, а эту задачу дискретной оптимизации обозначим как Dopt = (D,v).

Переходя к рассмотрению субоптимальной задачи дискретной оптимизации отметим, что в литературе термин субоптимальный означает «не оптимальный, но близкий к оптимальному». Это легко формализуется в случае непрерывной целевой функции, например, в задачах оптимального управления [12]. В случае многоцелевой оптимизации субоптимальными решениями некоторой задачи называют те из них, которые оптимальны по одной из целевых функций [7]. Однако для

задачи дискретной оптимизации необходимо рассматривать различные способы оценки близости найденных решений к оптимальному [13].

Определение 2. Пусть имеется некоторая задача дискретной оптимизации Dopt = (D,v). Создадим на её основе субоптимальную задачу дискретной оптимизации, построив процесс Р, который на шаге т возвращает следующее самое оптимальное (т.н. субоптимальное) решение задачи Dopt после решений d0,...,dm-1. При этом нас будут интересовать не все субоптимальные решения, а лишь первые к (поэтому субоптимальные задачи часто называют к-оптимальными); число к будем называть значением субоптимальности. Таким образом, саму задачу будем обозначать как Dopt = (D,v,k,P).

Отметим, что к может быть бесконечным.

Нас интересует то, как может быть устроен процесс Р, который мы будем называть далее перечислителем.

Определение 3. Пусть имеется некоторая субоптимальная задача дискретной оптимизации Dopt = (D, v, к, Р). Тогда процесс перебора Р решений задачи Dopt, который далее мы будем называть перечислителем, зададим как P = ( d0, Т), где d0 ED — оптимальное решение задачи Dopt, а Т является всюду определённой функцией Т: D ^ D (т.н. функцией перебора решений), которая удовлетворяет следующим условиями:

V dED: v(d)< v(T(d)) q)

V d'ED\[d0} 3! d" ED | T(d") = d' и d" Ф d' (2) Б С ER: V d E D либо v > С, либо последовательность

равенств v(d) = v(T(d)) = ■■■ = v(Tp(d)) всегда конечна (3)

за исключением ситуации, когда T(d) = d.

Таким образом, функция Т по уже имеющемуся решению задачи Dopt выдаёт следующее в смысле оптимальности. При этом каждое следующее решение, выдаваемое Т, не лучше предыдущего в смысле значения функции v, что задаётся условием (1).

Свойство (2) утверждает, что любой элемент из D, кроме начального, является образом некоторого другого элемента из D, полученного применением Т. Единственность прообраза гарантирует отсутствие циклов в случае конечности D.

Свойство (3) выражает мысль о том, что D является множеством объектов, имеющих дискретную природу (например, множеством всех возможных путей в графе из 100 вершин), и даже если имеются, например у графов, вещественные веса на рёбрах, то эти значения рассматриваются с некоторой фиксированной точностью.

Лемма 1. Пусть имеется задача Dopt. Тогда её перечислитель P = (d0, Т) позволяет упорядочить все элементы множества D следующим образом: D = {d0,d1...}, T(dp) = dp+1, где р E [0, IDI — 11], если D конечно, или р E N0, если D бесконечно.

Доказательство. В силу (2) для любого d'ED,d' ф d0 можно построить последовательность d1,... dl,... элементов из D такую, что d' = d1, а dl+1 = Т-1( dl). В силу (1) имеем v( di+1) < v ( dl). Поскольку функция v имеет минимум, а также в силу (3), мы должны остановится в смысле уменьшения функции v. Мы не можем это сделать за счет зацикливания вида T-1(d) = d для одного из элементов нашей последовательности в силу (2). В силу (3) мы не можем зациклиться из-за равенства значений v на разных элементах D. Также мы не можем остановиться, достигнув минимума v на d ф d0, т.к. из этого d, в силу (2) мы должны двинуться дальше, а уменьшаться дальше v не может, значит, у нас должна быть цепочка равенств v(d) = v(T(d)) = ■•• = v(Tp(d)), которая, в силу (3), конечна. Итак, остановиться в смысле уменьшения значения функции v мы может лишь попав в d0 поскольку этот элемент не имеет прообраза в смысле Т.

Таким образом, элемент d' оказывается достижим из d0 с помощью Т, т.е. В р Е N: d' = Т-р( d0). Далее, если у нас есть два произвольных элемента d'и d'' Е D , то оба они достижимы из d0. Но с помощью Т можно построить единственную траекторию из d0, поэтому существует п Е N такое, что либо d' = Тп (d''), либо наоборот. Более того, очевидно, что на эту траекторию через конечное количество шагов попадёт любой элемент из D ■

Несложно доказать, что существует не более одного элемента d Е D: T(d) = d. В самом деле, если имеется два таких элемента, то, повторяя рассуждение, представленное в доказательстве леммы 1, оба они должны лежать на одной траектории, ведущей из d0, но ни один из них не может предшествовать другому, поскольку из каждого не возможен путь далее по множеству D. Будем обозначать такой элемент как d^in.

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

Кроме того, ясно также, что в этот элемент мы попадаем, когда всё множество D уже пройдено. Кроме того, такого элемента не может существовать, если D бесконечно.

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

Далее в этой работе мы будем полагать множество D конечным, причём IDI > к (мы оставляем случай бесконечного D для дальнейших исследований). Для конечного случая свойство (3) тривиально выполняется.

3. Масштабирование субоптимальных задач управления мастер-данными

Многие организации, имея разнообразные данные, хранят их раздельно, в разных форматах, СУБД и т.д. Также, зачастую с этими данными работают разные подразделения организации. Эффективное управление гетерогенными данными является важной чертой современного цифрового пространства крупных организаций. Очищенные, консолидированные, полные данные предприятий и организаций, извлечённые из различных источников (в том числе различных информационных систем), принято называть мастер-данными (master data) [10]. Значительное количество задач, с которыми сталкиваются крупные организации, может быть решено на основе этих данных - далее такие задачи будем называть задачами управления мастер-данными.

В задачах управления мастер-данными часто появляются субоптимальные задачи дискретной оптимизации. ^-оптимальные решения таких задач требуются для обеспечения быстрой реакции системы (например, трейдерские задачи), для различных видов стоимостного анализа и тому подобных [11]. При этом оказывается, что в силу гетерогенности мастер-данных возникающие прикладные задачи эффективнее решать, разбив данные на домены [9], а итоговое решение составлять из решения этих, так называемых, локальных задач. Таким образом, мы приходим к необходимости масштабирования прикладных задач и соответствующих решений.

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

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

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

Говоря неформально, мультидоменная задача дискретной оптимизации в области управления мастер-данных при разбиении на домены может быть представлена (масштабирована) как сумма локальных задач, т.е. целевая функция здесь будет суммой локальных целевых функций. А как быть с перечислителем?

Простой пример показывает, что итоговый перечислитель не будет простой суммой локальных. Пусть необходимо простроить последовательность путей передвижения из точки С в точку М, неубывающую по их стоимости, начиная с самого дешевого, при условии, что эти точки находятся в разных городах. Очевидно, что каждый такой путь можно разбить на три составляющие (отрезки): (а) путь внутри города-отправления, начинающийся из точки С; (Ь) путь между городами; (с) путь внутри города-прибытия, заканчивающийся в точке М. Для каждого из этих отрезков построим перечислители субоптимальных путей, и тогда их сумма должна быть перечислителем путей исходной задачи. Если предположить, что стоимость пути между городами (отрезок (Ь)) существенно превышает стоимости путей внутри городов (отрезки (а) и (с)), то несколько первых оптимальных решений всей задачи будут иметь неизменный отрезок пути (Ь).

Пусть задан набор задач {Оор11,..,Оор1п}, где Р^^Т^й®). Результатом операции суммирования этих задач является субоптимальная задача Оор1Бит3 = Бор11+... +Бор1п такая, что:

БоргБит = (0зит,рзит,5,5иМ(Р1,..,Рп)), где ВБит = В1 X. .X Бп, 5 = П£=1..п ,

(4)

V й = (й1,...йп) Узит(й) =

БиМ(Р1, ..,Рп) = « ТБит ), й0 = {й10,.., йп0}.

Для завершения определения операции суммирования в части результирующего перечислителя БЦМ^Рц^,.., Рп) нам нужно предъявить функцию перебора ТБит, доказав, что она удовлетворяет условиям (1) и (2). Как мы отметили выше, функцию перебора результирующего перечислителя не получается задать простой формулой от Т^ ...,Тп. Однако интуитивно понятно, что такая функция существует, так как множество решений задачи БорТБит конечно и является полностью упорядоченным.

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

Это замечание непосредственно следует из определения 2, которое требует, чтобы субоптимальное решение йт с номером т было оптимальным решением соответствующей задачи на множестве й\[й0,..., йт-1}.

4. Граница Парето

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

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

Рассматривая задачу Оор15им и сумму перечислителей БиМ(Р1,..,Рп), введём для каждого перечислителя-слагаемого Р) отрезок натурального ряда I) = 1: ку, где ку - значение субоптимальности для задачи . Пусть И = ^ X ...X 1п. Каждый элемент И однозначно

определяет решение субоптимальной задачи Оор15им как сумму решений задач-слагаемых.

Определение 4. Набор 1 = (}1,.,1п) ЕЙ доминирует набор I = —,}п) Е Я, если Iр < для каждого р Е 1:п.

Таким образом, если рассматриваемые наборы индексов соответствуют порядковым номерам решений субоптимальных задач Бор11 ...Оор1п, то доминирующий набор I соответствует более оптимальным решениям, чем /, поэтому он и доминирует над /. Нетрудно убедиться в том, что доминирование является отношением частичного порядка на множестве картежей из И.

Лемма 2. Пусть набор I = ... Лп) доминирует набор J = ...,]■„) и Оор15ит = Вор11+...+Бор1п. Рассмотрим следующие решения задачи Бор15ит\ й = [й111,.., йп1п} и й' = {йг}1,.., йп]п], где йрт - это ш-ое субоптимальное решение задачи Бор1р. В этом случае справедливо следующее: Р5ит(й) < Р5ит(й').

Доказательство. В силу того, что I доминирует /, а также условия (1), справедливо следующее неравенство:

(5)

£ урф < £ vp(d];). pei-.n pev.n

Из этого напрямую следует утверждение леммы ■

Определение 5. Пусть задано некоторое частично упорядоченное по отношению доминирования множество S (это означает, что для некоторых элементов s-l и s2 ES справедливо, что либо = s2, либо доминирует s2 , либо s2 доминирует ). Границей Парето множества S называется такое его подмножество В, что любой элемент s E S\B доминируется каким-либо элементом из В, и никакой элемент из В не доминируется другим элементом из В.

5. Функция перебора решений для суммы двух перечислителей

Предъявим алгоритм для вычисления функции перебора TSum задачи DoptSum в случае двух слагаемых.

Для некоторой задачи Dopt будем обозначать её i-е решение как dl = Tl(d°). Логично предполагать, что уже вычисленные решения задачи Dopt сохраняются и потом не вычисляются повторно, поэтому к ним возможен прямой доступ по индексу {dl,v1} = T.get(i), где vl -значение целевой функции i-го решения.

Итак, имеем задачи DoptL и Dopt2 , перечислители Pl = (dТ-) и Р2 = (d20, Т2), а также соответствующие значения субоптимальности kL и к2.

Введём целочисленный массив G° длинной kL + 1, где G°[0] = к2, G°[i] = 1 для i E 1. .к-, а также множество В° = {(1,1)}.

На листинге 1 представлен алгоритм, который по Тъ Т2, Gm-1, Bm-1 выдаёт dm, Gm, Bm.

1 Вход: T1,T2, Gm-1,Bm-1

2 Qm = Qm-1 ßm _ ßm-1

3 for each b Е Вт

4

5

6

7

8

9

10 11 12

13

14

15

16 17

[Vi, di) = Tvget(b.x) [V2, d2) = T2.get(b.y) if vm > v1+ v2 then

vm = v1+ v2 d™ = {d1, d2} sm = b

if Gm[sm.x] < k2, then

Gm[sm.x]++ /* G(sm[0]) стал равен sm.y + 1

Bm = Bm\ {sm}

if (1 < sm.x <k1) & ( Gm [sm.x- 1] - sm.y) = 1) then Bm \j= {sm.x + 1, Gm[sm.x + 1]) }

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

elseif Gm[sm.x - 1] > Gm[sm.x] || (sm.x = 1) then Bm \J= {[sm.x, Gm[(sm.x)]}

Выход: dm, Gm, Bm

m

Листинг. 1. Алгоритм вычисления ш-го решения суммы двух перечислителей

Докажем, что представленный алгоритм реализует ТБит, т.е. с^171 является т-тым субоптимальным решением dm задачи БорТБит. Введём следующие обозначения:

где - это набор индексов, по которым однозначным образом определяется с1га , выдаваемое алгоритмом листинга 1 (строки 3-9).

Лемма 3. Множество Вт, выдаваемое алгоритмом листинга 1, является границей Парето для множества Бт при т: 0 <т <к1*к2.

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

Доказательство (7) проведем индукцией по т. Для В0 (7) очевидно выполнено. Согласно предположению индукции будем полагать, что оно выполнено для Вт-1.

Приступая к построению множества Вт положим его равным множеству Ат-1(строка 2). Далее элемент = (х,у) удаляется из Вт (строка 12), массив Ст будет отличаться от вт-1 только в элементе х: вт[х] = вт-1[х] +1 и становится равным у + 1 (строка 11).

Отметим, что в итоге в множество Вт войдет элемент (х + 1,йт [х + 1]) (строка 14), поскольку значение Ст[х] на шаге т увеличено на единицу, а согласно предположению индукции для Вт-1 выполнено вт[х + 1] < у < вт[х], поскольку (х,у) Е Вт-1. При этом данный элемент уже мог содержаться в Вт-1 , например если |Ст[х] — Ст[х + 1]1 > 1.

Поскольку элемент (х,у) удален из Вт, то вт[х — 1] > у + 1, а значит элемент (х, у + 1) должен войти в Вт, поскольку Ст[х] = у + 1. Отметим, что С т[0] = к2, следовательно, для х = 1 всегда выполняется этот сценарий. Это условие и определяет вхождение элемента (х, вт [х]) в Вт, что реализовано в строках 15-16.

Таким образом мы показали, что Вт удовлетворяет (7).

S° = R,

Sm = Sm-1 \ {sm},

(6)

Вт = { (х',у') | Gm[x' -1]> Gm[x'],y' = Gm[x'], х' Е 1: к1}.

(7)

Перейдём к доказательству утверждения леммы и проведём его индукцией по т. Для множества S0 это утверждение очевидно, поскольку очевидно, что В° с S°. При этом В0 состоит из одного элемента (1,1), который доминирует все другие элементы 5°.

Предположим, утверждение выполнено для множества Sm-1 при m > 0. Множество Sm получается удалением из Sm-1 элемента sm = (х,у), который входил в Вт-1 (строки 3, 9). При этом элемент sm также удаляется из Вт (строка 12), а в Вт добавляются только элементы из Sm-1 (строки 14, 16), значит, Вт с Sm.

Рассмотрим значение Gm[x — 1]. Возможны следующие случаи: Gm[x — 1] = у + 1 или Gm[x — 1] > у + 1. Случай Gm[x — 1] < у + 1 невозможен по построению Gm. При этом будем полагать, что х > 1, поскольку если х = 1 , то в множество Вт на шаге m войдет элемент (1, у + 1), и таким образом, очевидно, что Вт будет границей Парето для множества Sm.

Случай 1. Gm[x — 1] = у + 1 (строка 13). Это означает, что элемент (х, у + 1), определяемый новым значением Gm[x], не попадает в множество Вт в силу (7). Однако там содержится элемент (х — 1,у + 1), который доминируют элементы множества {(х',у')1 х — 1 < х', у + 1 < у'}, и элемент (х + 1,Gm[x + 1]), который доминирует {(х',у')1 х+1 < х', Gm[x + 1] < у'}. Пересекая эти множества и принимая во внимание, что элемент (х, у) уже исключен из Вт, а множество Вт-1 было границей Парето согласно предположению индукции, мы видим, что Вт = {Вт-1 \ {(х,у)}} U {(х + 1, Gm[x + 1])} и является границей Парето множества Sm.

Случай 2. Gm[x — 1] > у + 1. Этот означает, что в множество Вт войдет новый элемент (х, у + 1) (строка 16). Осталось лишь проверить те элементы, которые им не доминируются, а именно E = {(х',у')1 х < х',у = у'}. Выше показано, что элемент (х + 1,Gm[x + 1]) Е Вт, следовательно, доминируются элементы {(х',у') х + 1< х', Gm[x + 1] < у'}. Тогда, принимая во внимание, что (х, у) уже исключен из Sm и выполнено Gm[x + 1] < у, получаем, что множество E \ {(х, у)} доминируется элементом (х + 1, Gm[x + 1]) Е Вт. Таким образом и в этом случае Вт является границей Парето множества Sm и

Теорема 1. Пусть DoptSum = Dopt1 + Dopt2 . Тогда алгоритм с листинга 1 задает TSum, т.е. dm = dm и SUM(P1, Р2) является перечислителем.

Доказательство. Согласно определению 2 для того, чтобы SUM(P1, Р2) был перечислителем, необходимо, чтобы для TSum выполнялись условия (1) и (2).

Для доказательства истинности условия (1) применим индукцию по т, а именно, что TSum выбирает решение dm с наименьшим значением функции vsum(dm) из еще не выбранных ранее, т.е. из множества Dsum\{d°, ...,dm-1}. В силу леммы 2 решение с минимальным возможным значением целевой функции vsum лежит на границе Парето множества возможных решений Dsum\{d°, ...,dm-1} и однозначным образом задается индексами подчиненных перечислителей. Таким образом, для обеспечения условия (1) достаточно выбрать решение с минимальным значением функции vsum из таких элементов множества Dsum, которые построены по индексам решений подчиненных перечислителей из множества Вт, а последнее, согласно Лемме 3, является границей Парето множества индексов Sm. Выбор решения с минимальным значением vsum реализован в строках 3-9 листинга 1.

Условие (2) для TSum выполняется в силу того, что V d = {d1, d2} Е D\{d°} истинно, что 3 d' = {d'1,d'2} Е Dsum, где либо d1 = TSum(d\) либо d2 = TSum(d'2). Это следует из выполнения условия (2) для Т1 и Т2, а значит, элемент d оказывается достижим из d'за счет конечного числа суперпозиций TSum над значением d', кол-во которых не превышает тах(к1,к2)и

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

Теперь, имея полностью определенную задачу Бо^Бит = Бор11 + Оор12 для двух слагаемых, мы можем рассмотреть случай п > 2 . Имеем ^=1Оор11 = (... (Иор^ + Иор12) + Оор13 ) + ■■■ + Оор1п) ...), следовательно, итоговый перечислитель задачи БорТБит получается с помощью п — 1 попарных сложений перечислителей, и мы можем п — 1 раз применить представленный выше алгоритм для вычисления очередного субоптимального решения задачи БорТБит (т.е. функции ТБит). А в силу замечания 1 мы имеем единственную функцию перебора субоптимальных решений для этой задачи.

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

6. Заключение

Выше приведены формальные определения перечислителей субоптимальных решений в задачах дискретной оптимизации, а также операции их суммирования. Полученные результаты обосновывают эффективное использование теории перечислителей для задач поиска субоптимальных решений в различных областях, в том числе в области управления мастер-данными. Масштабирование субоптимальных задач и представленный алгоритм суммирования перечислителей позволяет существенно снизить сложность разработки алгоритмов, в частности, для задач управления данными и мастер-данными. Для рассмотренного выше примера известной задачи об оптимизации набора комплектующих для сложного изделия в условиях ценовой дисперсии и ограничения поставок, которая сводится к известной задаче о переборе к--кратчайших путей в графе [11], использование перечислителей и предложенного алгоритма их суммирования может позволить существенно снизить сложность решения исходной задачи [14], что, однако, является предметом дальнейшего исследования. Также небезынтересным является использование модельно-ориентированных решений [15, 16] для визуализации отдельных аспектов задачи управления мастер-данными в контексте данных исследований.

Благодарности

Хочу посвятить эту работу моему учителю профессору И. В. Романовскому, и выразить благодарность моему научному руководителю профессору Д. В. Кознову за помощь и внимание к деталям.

Литература

[1] Канторович Л.В. Математические методы организации и планирования производства. Л.: Изд-во ЛГУ, 1939, 68 с.

[2] Романовский И.В. Субоптимальные решения. Петрозаводск: Изд-во Петрозаводского университета. 1998.

[3] Романовский И. В., Кузнецов С. В. Обобщенный алгоритм суммирования перечислителей субоптимальных решений //Вестник Санкт-Петербургского университета. Математика. Механика. Астрономия. - 2005. - №. 2. - С. 74-87.

[4] Романовский И. В. Перебор субоптимальных решений в дискретных задачах оптимизации //Компьютерные инструменты в образовании. - 2012. - №. 6. - С. 25-34.

[5] Брумштейн Ю. М., Тарков Д. А., Дюдиков И. А. Анализ моделей и методов выбора оптимальных совокупностей решений для задач планирования в условиях ресурсных ограничений и рисков //Прикаспийский журнал: управление и высокие технологии. -2013. - №. 3. - С. 169-180.

[6] Лукичева Н. М. О математических подходах в планировании, прогнозировании и управлении //Актуальные вопросы развития современного общества. - 2019. - С. 306309.

[7] Кириллов Ю. В. Многокритериальное моделирование как основа информационных технологий поддержки принятия решений // Фундаментальные исследования. - 2004. -№. 6. - С. 85-97.

[8] Marler R. T., Arora J. S. Survey of multi-objective optimization methods for engineering //Structural and multidisciplinary optimization. - 2004. - Т. 26. - С. 369-395.

[9] Кузнецов С., Константинов А., Скворцов Н. Ценность Ваших Данных, Изд-во Альпина PRO, 2022.

[10] DAMA-DMBOK: Свод знаний по управлению данными. Второе издание. Москва: Олимп-Бизнес, 2020.

[11] Minieka E., Shier D. A note on an algebra for the k best routes in a network// Journ. Inst. Math. Appl. 1973. Vol. 11. P. 145-149.

[12] О. Е. Майкова. Субоптимальные режимы в задаче Фуллера // Труды МИАН, 2002, том 236, 226-229.

[13] Бабаев Д. А., Мамедов К. Ш., Мехтиев М. Г. Методы построения субоптимальных решений многомерной задачи о ранце //Журнал вычислительной математики и математической физики. - 1978. - Т. 18. - №. 6. - С. 1443-1453.

[14] Mohanta K. et al. Comprehensive study on computational methods for k-shortest paths problem // International Journal of Computer Applications. - 2012. - Т. 40. - №. 14. - С. 2226.

[15] Кознов Д.В. Методология и инструментарий предметно-ориентированного моделирования. Диссертация на соискание ученой степени доктора технических наук / Санкт-Петербургский государственный университет. Санкт-Петербург, 2016.

[16] Кознов Д.В., Перегудов А.Ф., Бугайченко Д.Ю., Чернятчик Р.И., Казакова А.С., Павлинов А.А. Визуальная среда проектирования систем телевизионного вещания. Системное программирование. 2006. Т. 2. № 1. С. 142-168.

Summation of the enumerators in discrete optimization problems in the context of master data management

1 9 *

Kuznetsov S.V. 1,2 1 Unidata LLC

2

Saint-Petersburg State University

*

sergey.kouznetsov@gmail.com

Abstract. The publication presents an approach to the use of discrete optimization algorithms, in particular, the search for suboptimal solutions. The theory of enumerators, proposed by the famous Leningrad mathematician I.V. Romanovsky, and the operation of their summation, which is proposed to be used to create multi-domain suboptimal algorithms, are considered. The paper presents an efficient algorithm to sum enumerators based on the recalculation of the Pareto boundary. Motivations for using the proposed algorithm within the framework of a well-known task in the field of Master Data Management are given.

Keywords: enumerators, suboptimal problems, discrete optimization, Pareto boundary, master data management.

Acknowledgements I would like to dedicate this work to my teacher, Prof. I.V. Romanovsky, and thank my scientific supervisor, Prof. D.V. Koznov, for his help and attention to detail.

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