Оптимизация решения задачи с ограничением на ресурсы

_Доклады БГУИР_

2016 № 8

УДК 519.85

ОПТИМИЗАЦИЯ РЕШЕНИЯ ЗАДАЧИ С ОГРАНИЧЕНИЕМ НА РЕСУРСЫ

СВ. ЧЕБАКОВ, Л.В. СЕРЕБРЯНАЯ

Объединенный институт проблем информатики НАН Беларуси Сурганова, 6, Минск, 220012, Беларусь

Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь

Поступила в редакцию 6 октября 2016

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

Ключевые слова: задача о ранце, паретовские слои, множество Парето.

Введение

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

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

Т и множеством начальных данных R с R.

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

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

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

Алгоритм нахождения части оптимального подмножества Q

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

который его доминирует. В работе [2] было показано, что доминируемая альтернатива не может быть включена в оптимальное подмножество Q, прежде чем в Q войдут все альтернативы ее доминирующие. На этих двух предпосылках и основываются предлагаемые в работе алгоритмы.

Определение 1. Верхней критериальной границей некоторого паретовского слоя Рт

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

Определение 2. Нижней критериальной границей паретовского слоя Рт является

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

Из способа построения векторов Ь+т, Ц„ следует, что вектор Ьт доминирует все альтернативы паретовского слоя Рт, а вектор Ь_„ доминируется каждым его элементом.

Утверждение 1. Верхняя критериальная граница любого паретовского слоя р доминирует верхние критериальные границы всех последующих паретовских слоев

р+ъ р+2>....>р.

Доказательство. Пусть р и рпредставляют собой соседние паретовские слои, а векторы Ь+ и Ь++1 - их верхние критериальные границы. Покажем, что вектор Ь+ доминирует вектор Ь++\. Предположим противное, что эти два вектора либо находятся между собой в

отношении Парето, либо Ь++\ доминирует Ь+. Тогда по определению 1 существует элемент в слое р+1, который хотя бы по одной координате доминирует все элементы слоя р . Это противоречит тому факту, что для каждого элемента из р+ в предыдущем слое р существует хотя бы один доминирующий его элемент. Из транзитивности отношения предпочтения следует, что Ь+ доминирует вектор Ь++ 2, который, в свою очередь, доминирует вектор Ь++ 3. Тогда Ь+ доминирует вектор Ь++ 3. Аналогичным образом можно доказать, что вектор Ь+ доминирует верхние оценки Ь+ 4, ....,Ь+ последующих паретовских слоев. Утверждение доказано.

Пусть Бп представляет собой сумму времен выполнения всех элементов первых п паретовских слоев р^,р?,....,рп, где п < V, на которые разбивается множество Я.

Определение 3. Если < Т, а > Т, то паретовский слой р^, обозначим его через

Н, назовем граничным паретовским слоем в задаче о ранце с заданным ресурсом времени Т.

Утверждение 2. Хотя бы одна альтернатива каждого из первых g-1 паретовских слоев обязательно войдет в оптимальное подмножество Q.

Доказательство. Из алгоритма построения любого паретовского слоя следует, что для каждого его элемента в предыдущем слое существует хотя бы один элемент его доминирующий. Во введенном критериальном пространстве доминируемая альтернатива не может войти в подмножество Q раньше, чем любая альтернатива доминирующая ее [2]. Следовательно, операция разбиения элементов начального множества Я на паретовские слои задает определенный порядок их включения в оптимальное подмножество Q, т.е. в Q не может включаться никакая альтернатива из слоя р, если ранее не включена хотя бы одна альтернатива из предыдущего слоя Рi Формирование оптимального подмножества Q следует начинать с элементов множества Парето и затем переходить, в зависимости от величины ресурса времени Т и структуры связей между элементами соседних паретовских слоев, к элементам паретовских слоев с большими номерами. Максимально возможное включение в Q элементов из одного слоя - когда все элементы слоя р войдут в оптимальное подмножество ранее любой альтернативы слоя р. Такое включение происходит, в частности, когда любой элемент множества Парето доминирует все элементы второго паретовского слоя и сумма времен выполнения всех элементов множества Парето меньше либо равна Т. По определению 3

граничного слоя Н сумма времен выполнения всех альтернатив первых g-1 слоев не превосходит Т. Тогда, даже в случае включения в Q всех элементов слоев рP2,....,Pg_2 хотя

бы один элемент слоя Pg _ должен быть включен в оптимальное подмножество. Утверждение

доказано.

Утверждение 3. Подмножество Р, включающее в себя все альтернативы первых паретовских слоев рР2,....,Pg_2, которые доминируют верхнюю критериальную границу

Lg паретовского слоя Pg_, является частью оптимального подмножества Q.

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

границу Р+g_1, доминируют и все альтернативы слоя Pg Предположим, что существует альтернатива г, входящая в паретовский слой Pj, у < g-1, доминирующая вектор Ь+ g_1 и не

входящая в Q. Доминируемая альтернатива не может войти в оптимальное подмножество Q раньше, чем любая альтернатива, доминирующая ее [2]. Следовательно, в оптимальное подмножество не может войти никакая альтернатива из слоя Pg _1, что противоречит справедливости утверждения 2. Это противоречие и доказывает данное утверждение.

Рассмотрим некоторый паретовский слой Рт. Построим его верхнюю и нижнюю критериальные границы. Так как эти векторы в данном случае являются первыми членами двух последовательностей, то обозначим их Р^х и Р~т1. Выделим из множества Рт те элементы, которые содержат хотя бы одну координату либо в векторе Р^х, либо в векторе Р~т1. Обозначим это подмножество 2т1. Множество Рт1 определим следующим образом:

* * у + _

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

I * * *

Рт1. На множестве Рт2 = Рт1 \ %т2 определяем верхнюю и нижнюю критериальные границы

РПз и Гтз. Продолжаем процесс построения векторов РЩу и Ь_пу до тех пор, пока не

*

исчерпаем все элементы Рт. Из алгоритма построения множеств Рт; следует, что

Рту = и %тк, у = 01 _1 Рт0 = Рт ,

к=у +1

* + _

где I — число построенных подмножеств 2ту . Векторы Ьту и Ьту связаны соотношениями:

Ая1 У Аи2 У Аи3 У ••• У ^т1, ^т1 ^ ^т2 ^ Аи3 ^ ••• ^ ^т1,

где У — символ доминирования.

Определение 4. Представление паретовского слоя в виде (1) назовем полным, если все

*

координаты любого из элементов подмножеств 2ту, у = 1,1 принадлежат векторам Г Т+

Определение 5. Векторы Рту, Р+у назовем симметричными относительно элементов

* ¡и

образующего их подмножества 2ту, если каждый элемент из 2ту включает хотя бы одну

свою координату как в вектор Р+пу, так и в вектор Рт;.

если кы^^дыи элемент из ^ту

щ, так и в вектор Р^у.

Соответственно, представление паретовского слоя в виде (1) назовем симметричным, если все векторы Ещ-, Ь+п- являются симметричными. Примем без доказательства тот факт, что

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

Представление всех паретовских слоев р^, р?,...., р в виде (1) позволяет предложить следующую схему алгоритма для определения элементов подмножества Ь.

1. По построению вектор Ь+ совпадает с верхней критериальной границей слоя Рg_1. Поиск элементов подмножества Ь начинаем с множества Парето, представляющего

собой первый паретовский слой. Если его нижняя граница доминирует вектор Ь+ _ц, то по

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

следующему паретовскому слою Рг. Если вектор 1 доминируется его нижней

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

2. Пусть при переходе к очередному слою Р\, к < g - 1, условие доминируемости вектора Ь+ _ц нижней критериальной границей слоя Р^ не выполняется. Вектор Ь_1 представляет собой нижнюю критериальную границу слоя Р^ . Из соотношения (2) следует, что все векторы Ь_-, для - > 1, доминируют вектор Ь_1, а, следовательно, несмотря на то что Ь_1 не доминирует верхнюю критериальную границу слоя Рg _ , могут существовать векторы

Ь_--, которые доминируют вектор Ь+ _ц. Каждый вектор Ь_-- представляет собой нижнюю

*

границу соответствующего множества Р—!. Если существует вектор Ь^-, доминирующий

вектор Ь+ _ц, то по свойству нижних критериальных границ, транзитивности отношения

* +

предпочтения все элементы подмножества Р*_1 доминируют вектор Lg _11 и включаются в Ь.

3. Среди векторов Ь^-, доминирующих вектор Ь+ _ц, находим вектор с

*

минимальным номером. Соответствующее ему подмножество Р]*г_\ представляет собой максимально возможную часть слоя Р^, которая, в соответствии с утверждением 3, включается в оптимальное подмножество Q. Подобным образом в каждом представлении паретовских

слоев Р^, / < g - 1 в виде (1) находим нижние границы Ц-, которые доминируют вектор

+ *

Lg..ц. Все элементы либо соответствующих паретовских слоев, либо подмножеств р**-, включаем в Ь.

По утверждению 2 в оптимальное подмножество Q входит хотя бы одна альтернатива из первых g-1 паретовских слоев. Сформулируем задачу следующим образом: требуется найти достаточные условия того, что оптимальное подмножество Q может быть полностью построено из элементов первых g - 1 слоев, т.е. можно ли решение Q исходной задачи о ранце получить сразу после разбиения начального множества Я на паретовские слои во введенном критериальном пространстве. Такая задача и рассматривается в следующем параграфе.

Формирование оптимального подмножества Q в задаче о ранце в виде объединения элементов первых g-1 паретовских слоев

Предположим, множество Я представлено в виде разбиения на паретовские слои Р1,Р2,....,РV и Н- граничный слой с номером g. По определению граничного слоя Sg_1 < Ти

пусть Ж = Т - Sg _1. Величина q есть значение критерия времени у верхней критериальной

границы граничного слоя Н, т.е. представляет собой минимальное значение времени выполнения среди всех его элементов.

Утверждение 4. Пусть выполняются следующие условия.

1. Все нижние критериальные границы первых паретовских слоев Р1,Р2,....,Рg_1

доминируют верхнюю критериальную границу граничного слоя Н.

2. Величина W отвечает условию q > Ж > 0.

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

Доказательство. Из условия 1 и справедливости утверждения 1 следует, что нижние критериальные границы слоев Р1,Р2,....,Рg_1 будут доминировать верхние критериальные

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

Следовательно, если покажем, что О представляет собой допустимое подмножество в рассматриваемой задаче о ранце, то оно совпадает с оптимальным подмножеством Q. По условию 2 имеем q > Ж. Величина q, представляющая собой координату времени выполнения

для вектора ЬН, является минимальным значением по данной координате среди элементов граничного слоя Н. Тогда по утверждению 1 соответствующее значение этой координаты у верхних критериальных границ всех последующих паретовских слоев с номерами большими, чем g, также будет больше величины Ж. Таким образом, ни один элемент как слоя Н, так и последующих паретовских слоев не может дополнить собой подмножество О таким образом, чтобы сумма времен выполнения его элементов оставалась меньше либо равна Т. Это означает, что О является допустимым подмножеством в рассматриваемой задаче о ранце. Следовательно, оно представляет собой оптимальное подмножество с максимальной суммарной вероятностью. Утверждение доказано.

Предположим, что в результате решения двух подзадач, первая из которых рассмотрена в [2], а вторая - в первом параграфе данной работы, на множестве начальных данных Я сформированы подмножество В, элементы которого представляют собой альтернативы последних паретовских слоев, которые не могут быть включены в оптимальное подмножество Q, и подмножество Р, все элементы которого должны быть включены в Q. Пусть X - сумма времен выполнения всех элементов подмножества Р. Тогда оптимальное подмножество Q исходной задачи о ранце определяется следующим образом:

й=р и е'.

Здесь Q представляет собой решение новой задачи с ресурсом времени Тг = Т _ X и с

множеством начальных данных Я, включающим в себя все оставшиеся элементы из начального множества Я после исключения из него элементов подмножеств Вир. Для нахождения подмножества Q , могут быть использованы любые из традиционных алгоритмов решения задач о ранце. Очевидно, что выполняются следующие условия:

- если подмножество Р не пусто, то их решения связаны соотношением (3);

- если Р - пустое множество, то решение новой задачи о ранце совпадает с решением исходной задачи.

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

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

2. Разбиение множества Я на паретовские слои во введенном критериальном пространстве и представление каждого паретовского слоя в виде (1).

3. Проверка выполнения условий утверждения 4. Если условия выполняются, то заканчиваем процесс решения задачи.

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

данных Я . После формирования подмножества Q , переходим к пункту 6. Если ни одно из подмножеств В и Р не может быть сформировано, то переходим к пункту 5.

5. Нахождение оптимального подмножества Q в исходной задаче с множеством начальных данных Я на основе любого из традиционных алгоритмов.

6. Нахождение оптимального подмножества Q в соответствии с соотношением (3).

Оценка сложности алгоритма перехода к решению новой задачи о ранце с множеством

начальных данных R

На первом этапе перехода к новой задаче требуется сформировать паретовские слои P\,P2,....,Pv на множестве начальных данных R во введенном двухкритериальном пространстве и провести разбиение каждого паретовского слоя для его представления в виде (1). Если невозможно найти оптимальное подмножество Q в соответствии с утверждением 4, то на втором этапе формируем подмножества D и F с помощью операций с упорядоченными по

доминированию векторами L^j и L^j, m = 1,v. Оценим сложность алгоритма построения

паретовских слоев в двухкритериальном пространстве. Пусть множество Парето формируется последовательным рассмотрением элементов заданного множества начальных данных R и Ym ,

m = 1, j, представляют собой паретовские множества, полученные после рассмотрения первых j элементов. Множество Парето в двухкритериальном пространстве предпочтений обладает следующим свойством: если все его элементы упорядочить по убыванию (возрастанию) предпочтения одного из критериев, то по второму критерию это же расположение элементов соответствует обратному порядку, т.е. возрастанию (убыванию) его предпочтения [3]. Этот факт позволяет использовать при построении множеств Ym алгоритмы двоичного поиска в упорядоченных структурах данных. Тогда сложность алгоритма нахождения множества Парето на множестве начальных данных из к элементов представляет собой величину О (кlog2 к). Паретовский слой с номером n представляет собой совокупность паретовских элементов на той части множества начальных данных, которая остается после удаления элементов, принадлежащих всем предыдущим слоям. Очевидно, что число элементов начальных данных, используемое для построения очередного паретовского слоя, уменьшается с увеличением его номера. Из этого следует, что данная оценка справедлива для алгоритма формирования любого паретовского слоя. Пусть к - число элементов в множестве R. Максимальное число паретовских слоев не превосходит величины к. Справедливость этого факта следует из того, что любой паретовской слой может состоять из единственного элемента, который доминирует все остальные элементы соответствующего набора начальных данных. Следовательно, общая оценка сложности алгоритма формирования паретовских слоев в двухкритериальном пространстве имеет вид O( к2 log 2 к) . Очевидно, что выполнение условий утверждения 4 означает, что алгоритм построения оптимального подмножества Q также будет иметь в этом случае полиномиальную оценку.

Представление паретовского слоя в виде (1) при двух критериях качества является полным и симметричным в соответствии с определениями 4 и 5. Любой слой преобразовывается к виду (1) одновременно с его построением и не требует, ввиду полноты и симметричности, дополнительных операций. Алгоритмы формирования подмножеств D и F,

представляющие собой операции с упорядоченными по доминированию векторами L~mj и Lmj,

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

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

Заключение

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

OPTIMIZATION OF THE PROBLEM SOLVING WITH LIMITED RESOURCE

S.V. CHEBAKOV, L.V. SEREBRYANAYA Abstract

The knapsack problem is analyzed on the basis of the mathematical model, which uses the means of multicriterial optimization. The method which defines possible redundancy of the initial data set is offered for the problem. The algorithm of the transition to the task with a changed set of initial data is developed. The algorithm of pareto elements division into subsets with ordered upper and lower criteria borders is executed. The complexity estimation of proposed algorithms is realized and the general approach to the knapsack problem solving is presented.

Keywords: knapsack problem, Pareto layers, Pareto set.

Список литературы

1. Чебаков С.В. // Вести НАН Беларуси. Сер. физ.-мат. наук. 2005. № 2. С. 112-118.

2. Чебаков С.В. // Вести НАН Беларуси. Сер. физ.-мат. наук. 2009. № 3. С. 105-113.

3. Kung H.F., Preparata F.P. // J. of the Association for Computing Machinery. 1975. Vol. 22. P. 469-476.