САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
На правах рукописи
УДК 519.816
Пересторонин Даниил Сергеевич
ИССЛЕДОВАНИЕ УСТОЙЧИВОСТИ РЕШЕНИЙ
ЗАДАЧ МНОГОЦЕЛЕВОЙ ОПТИМИЗАЦИИ
Образовательная программа подготовки научно-педагогических кадров в
аспирантуре МК.3021.2014
«Системный анализ, информатика и управление».
Направление подготовки 09.06.01
«Информатика и вычислительная техника».
Выпускная квалификационная работа
Научный руководитель:
доктор физико-математических наук, профессор
Колбин Вячеслав Викторович
Санкт-Петербург — 2018
2
Оглавление
Стр.
Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Глава
1.1
1.2
1.3
1. Стохастические задачи многоцелевой оптимизации. . . .
Постановка задачи многоцелевой оптимизации. . . . . . . . . . . .
Принципы оптимальности в задачах многоцелевой оптимизации. .
Нормализация и свертка функционалов в задачах многоцелевой
оптимизации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Стохастические задачи многоцелевой оптимизации. . . . . . . . .
Глава 2. Исследование проблем устойчивости стохастических
задач векторной оптимизации . . . . . . . . . . . . . . .
2.1 Понятия устойчивости принципов оптимальности. . . . . . . .
2.2 Устойчивости решений стохастических задач векторной
оптимизации в условиях свертки функционалов. . . . . . . . .
2.3 Устойчивости множества полуэффективных точек
стохастических задачи векторной оптимизации. . . . . . . . .
2.4 Устойчивости Парето оптимальных решений стохастических
задач векторной оптимизации. . . . . . . . . . . . . . . . . . .
4
8
8
11
14
15
. .
. .
18
18
. .
23
. .
26
. .
28
. .
. .
. .
30
31
36
. .
39
. .
43
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
Глава 3. Исследование устойчивости решения стохастической
задачи векторной оптимизации информационной
системы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 Архитектура информационных систем. . . . . . . . . . . . . .
3.2 Критерии качества информационных систем. . . . . . . . . . .
3.3 Постановка задачи задачи стохастической многоцелевой
оптимизации информационных систем. . . . . . . . . . . . . .
3.4 Изучение устойчивости и решение задачи многоцелевой
оптимизации информационных систем. . . . . . . . . . . . . .
3
Список литературы
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Глава А. Таблицы решения задачи многоцелевой оптимизации
ИС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
А.1 Значения функционалов качества . . . . . . . . . . . . . . . . .
А.2 Нормализованные значения функционалов качества . . . . . . .
А.3 Оценки вариантов проектов ИС . . . . . . . . . . . . . . . . . .
А.4 Решение задачи многоцелевой оптимизации ИС . . . . . . . . .
А.5 Оценки устойчивости вариантов решений задачи стохастической
оптимизации ИС . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
.
.
.
.
.
52
52
54
57
59
.
60
Глава Б. Програмная реализация алгоритма решения задачи
многоцелевой оптимизации ИС . . . . . . . . . . . . . . . .
61
4
Введение
Актуальность работы
В самом общем случае можно сказать, что теория принятия решений
изучает задачи определения наилучшего(оптимального) способа достижения
поставленных целей. Под целью обычно понимается идеализированное представление желаемого результата. Решением данных задач обычно представляет некий способ, который позволяет достичь поставленную цель или хотя бы
максимально приблизится к ее достижению.
Методы решений данных задач разнятся, начиная от строгой математической формализации модели принятия решений [1–5], сведения ее к задачам математического программирования и оптимизации [6–14] и заканчивая эвристическими алгоритмами на основе генетических алгоритмов, аппарата нечетких
множеств и искусственных нейронных сетей [5; 15–19]. Также активно развиваются человеко–машинные методы и алгоритмы принятия решений, позволяющие человеку принимать решение при взаимодействии с компьютером [20–23].
В связи с тем, что при математической формализации процесса принятия решений, неизбежно возникают неточности в исходных данных, а также
неточности, связанные с численными методами решения данных задач, остро
стоит вопрос исследования устойчивости полученных решений к данным неточностям.
Понятие устойчивости обладает большой важностью для прикладных наук в целом. Оно составляет,по Адамару [24], одно из требований наряду с существованием и единственностью решении для определения корректной задачи,
которая характеризует математическую задачу, отображающую некоторую физическую реальность.
Несмотря на это многие математическое задачи, принадлежащие области
прикладной прикладной математики, являются неустойчивыми [25–29]. Необходимость решения данных задач привели к созданию теории некорректных
задач [29–39].
Однако данный аппарат обладает ограничениями и дает лишь приближенное решение поставленной задачи. Поэтому необходимо продолжать исследования в области изучения проблем устойчивости различных задач прикладной
5
математики, которое позволяют оценить устойчивость полученного решения.
Это предоставляет возможность, при необходимости, либо дополнительно исследовать в предметной области и поставить устойчивую задачу, а затем найти
ее решение, либо решить задачу с применением аппарата некорректных задач
и получить приближенное решение.
Как в целом для задач прикладной математики, так и для теории принятия решений и для задач оптимизации в частности остро стоит вопрос изучения
устойчивости. Устойчивость задач принятия решений и оптимизации изучается с разных позиций, с точки зрения устойчивости принципов оптимальности и
бинарных отношений [25; 40], с позиции формирования множества альтернатив
или ограничений накладываемых на данное множество [7; 41]
Несмотря на достаточную разработанности тематики устойчивости задач
многоцелевой оптимизации, исследование вопроса устойчивости стохастических
задач многоцелевой оптимизации остается изучен недостаточно. В основном исследования устойчивости задач стохастической оптимизации изучены для случая скалярной оптимизации [7; 42–47]. Данная проблема создает цель исследования.
Целью данной работы является исследование проблем устойчивости стохастических задач многоцелевой оптимизации.
Поставленная цель достигалась путем решения следующих задач:
1. Исследовать текущее состояние аппарата стохастической многоцелевой
оптимизации.
2. Определить виды устойчивости решений для стохастических задач
многоцелевой оптимизации.
3. Сформулировать и доказать утверждения, определяющие тот или иной
вид устойчивости.
4. Продемонстрировать разработанный аппарат на примере решения
практической задачи стохастической многоцелевой оптимизации.
Основные положения, выносимые на защиту:
1. Определены виды устойчивости решений для стохастических задач
многоцелевой оптимизации.
2. Сформулированы и доказать утверждения, определяющие тот или
иной вид устойчивости.
6
3. Продемонстрировано применение разработанного аппарата для решения практических задач.
Научная новизна:
1. Впервые определены виды устойчивости решений для стохастических
задач многоцелевой оптимизации.
2. Впервые сформулированы и доказаны утверждения, определяющие тот
или иной вид устойчивости.
3. Впервые применение разработанного аппарата для решения практических задач.
Научная и практическая значимость Исследование имеет большую
научную значимость, т.к. впервые вводятся виды устойчивости решений стохастических задач многоцелевой оптимизации, доказываются утверждения, позволяющие определить тот или иной вид устойчивости решения. Приводится
пример практического решения задачи и изучения устойчивости решений с использованием предложенной автором теории.
Степень достоверности Для всех выдвинутых в данной работе положений приведены доказаны. Итоговые результаты работы изложенные в четырех
главах исследования соотносятся с целью и задачами, сформулированными во
введении. Результаты работы не противоречат результатам, полученными другими авторами.
Апробация работы. Основные результаты работы докладывались на:
– Международной конференции «Устойчивость и процессы управления» посвященой 85-летию со дня рождения проф., чл.-корр. РАН
В.И.Зубова
Личный вклад. Задачи исследования были сформулированы научным
руководителем работы, который оказывал консультативное содействие и осуществлял верификацию результатов в процессе выполнения работы. Автору
диссертации принадлежат выносимые на защиту утверждения и теоремы, представленные в первых трех главах диссертации.
Публикации. Основные результаты по теме работы изложены в 2 печатных изданиях [48; 49], индексируемых Scopus, 1 — в тезисах докладов.
Объем и структура работы. Выпускная квалификационная работа состоит из введения, четырёх глав, заключения и двух приложений.
7
Полный объём выпускной квалификационной работы составляет 70 страниц с 23 таблицами. Список литературы содержит 64 наименования.
8
Глава 1. Стохастические задачи многоцелевой оптимизации.
Данная глава посвящена постановке задачи многоцелевой задачи и определению основных объектов исследования.
В первом разделе разделе рассматривается понятие задачи многоцелевой
оптимизации. Далее приводится перечисление различных подходов для определения принципа оптимальности: нормализации и свертки функционалов и
определение принципа оптимальности в форме бинарных отношений. В последующих разделах вводится задача стохастической многоцелевой оптимизации,
приводится ее описание, переформулируются принципы оптимальности, рассмотрены разные подходы к решению задачи стохастической многоцелевой оптимизации.
1.1
Постановка задачи многоцелевой оптимизации.
Рассмотрим следующую задачу:
max 𝑓 (𝑥), 𝑋 ⊂ 𝑅𝑛 ,
𝑥∈𝑋
(1.1.1)
где 𝑋 ⊂ 𝑅𝑛 — множество альтернатив, 𝑓 (𝑥) = (𝑓1 (𝑥), 𝑓2 (𝑥), . . . , 𝑓𝑚 (𝑥), . . . )
— вектор–функция целевых функционалов.
Задача 1.1.1 представляет собой задачу оптимизации скалярного показателя, если размерность вектор функции равна единице и выбор оптимального
элемента 𝑥0 ∈ 𝑋 определяется из следующего уравнения 𝑥0 = arg max𝑥∈𝑋 𝑓1 (𝑥).
Задача 1.1.1 сводится к задаче векторной оптимизации, если размерность
вектор функции равна 𝑚(𝑚 < +∞). В остальных случаях задача многоцелевой
оптимизации будет рассматриваться в концептуальной постановке.
С математической точки зрения определенная выше задача 1.1.1 является неполной, поскольку не определено, что считать оптимальным решением задачи. Достижение оптимума многоцелевого показателя 𝑓 (𝑥) при 𝑥 ∈ 𝑋
невозможно в том смысле, что если элемент 𝑥0 ∈ 𝑋 выбран из условия
оптимума какой-либо из компонент 𝑓1 (𝑥) многоцелевого показателя 𝑓 (𝑥) =
9
(𝑓1 (𝑥), 𝑓2 (𝑥), . . . , 𝑓𝑚 (𝑥), . . . ) то, как правило, не остается возможности для оптимизации (при выбранном 𝑥0 ∈ 𝑋) остальных компонент.
Следовательно, постановку проблемы оптимизации 1.1.1 следует уточнить.
Необходимо сформулировать правило, определяющее понятие оптимума
по многоцелевому показателю – 𝑅, такое правило принято называть принципом
выбора или принципом оптимальности решения задачи многоцелевой оптимизации.
Определение 1.1.1. Задачей многоцелевой оптимизации будем называть задачу следующего вида:
⟨max 𝑓 (𝑥), 𝑅⟩
𝑥∈𝑋
(1.1.2)
где 𝑋 ⊂ 𝑅𝑚 ,𝑅 - принципом оптимальности, 𝑓 (𝑥) = (𝑓1 (𝑥), 𝑓2 (𝑥), . . . , 𝑓𝑚 (𝑥), . . . ).
Исследование проблем задачи многоцелевой оптимизации 1.1.2 связаны с
изучением задания и учета определяющих ее элементов, формулировкой аксиом и свойств, которые удовлетворяют принципы выбора, рассмотрением конкретных принципов выбора и анализом их свойств, например, улучшаемости,
характеризации, чувствительности, устойчивости, наконец, с постановкой и разработкой методов решения проблем многоцелевой оптимизации.
Классификацию задач многоцелевой оптимизации можно осуществлять в
зависимости от вида целевой функции и множества альтернатив.
Выделим наиболее важные для теории и приложений классы задач многоцелевой оптимизации.
В зависимости от вида множества альтернатив различают:
– задачи комбинаторной оптимизации, если множество 𝑋 представлено в
виде дискретного множества.
– задачи целочисленной оптимизации, если множество 𝑋 представлено в
виде множества целых чисел.
– задачи безусловной оптимизации, если она имеет вид
𝑓 (𝑥) → 𝑚𝑎𝑥, 𝑥 ∈ 𝑅𝑛
10
Запись 𝑥 ∈ 𝑅𝑛 означает, что на составляющие вектора не наложено
никаких ограничений.
– задачи условной оптимизации, если на множество ее альтернатив наложены ограничения, т.е. если она имеет вид:
𝑓 (𝑥) → 𝑚𝑎𝑥, 𝑥 ∈ 𝑋
где: 𝑋 — допустимое множество альтернатив, на которое наложены
определенные ограничения.
Различают прямые и функциональные ограничения.
Прямые ограничения задаются в виде
𝑋 = {𝑥 : 𝑥𝑖 ≥ 𝑎𝑖 , 𝑖 = 1,𝑟; 𝑎𝑖 ≤ 𝑥𝑖 ≤ 𝑏𝑖 , 𝑖 = 𝑟 + 1,𝑛}
Функциональные ограничения представляются в виде
𝑋 = {𝑥 : 𝑔𝑗 (𝑥) ≤ 0, 𝑗 = 1,𝑟; 𝑔𝑗 (𝑥) ≥ 0, 𝑗 = 𝑟 + 1,𝑝, 𝑔𝑗 (𝑥) = 0, 𝑗 = 𝑝 + 1,𝑚}
Ограничительные функции называют еще уравнениями связи между отдельными переменными.
Функции 𝑓𝑖 (𝑥), подлежащие минимизации либо максимизации, называется целевыми функциями, функции 𝑔𝑗 (𝑥), 𝑗 = 1,𝑚 называются ограничительными.
В зависимости от вида целевых и ограничительных функций задачи многоцелевой оптимизации разделяют на:
– Задачи многоцелевой линейной оптимизации. Если целевые и ограничительные функции являются линейными, т.е.
⎧
⎨𝑓 (𝑥) = ∑︀𝑛 𝑐 𝑥 ;
𝑖
𝑙=1 𝑖𝑙 𝑙
∑︀
⎩𝑔𝑗 (𝑥) = 𝑛 𝑎𝑗𝑘 𝑥𝑘 + 𝑏𝑗 , 𝑗 = 1,𝑚;
𝑘=1
то задача оптимизации называется задачей линейного программирования.
– Задача многоцелевой выпуклой оптимизации. Если целевые функции
𝑓𝑖 (𝑥) и допустимая область решений 𝐺 выпуклы, то задача называется
задачей выпуклой оптимизации.
11
– Общая задача многоцелевой нелинейной оптимизации. Если хотя бы одна из функции 𝑓𝑖 (𝑥), 𝑖 = 1,𝑛 и 𝑔𝑗 (𝑥), 𝑗 = 1,𝑚 не является выпуклой, то
задача оптимизации называется задачей нелинейного программирования.
1.2
Принципы оптимальности в задачах многоцелевой
оптимизации.
Изучим принцип оптимальности 𝑅 из определения 1.1.1. Принцип оптимальности можно трактовать как обобщенный критерии оптимальности, являющиеся математическим выражением цели задачи многоцелевой оптимизации,оценивающим степень достижения оптимальности решения.
Принципы оптимальности в многоцелевых задачах оптимизации могут
формулироваться в виде либо некоторого упорядочения на множестве альтернатив, либо функционалов от целевых функций, подлежащих максимизации.
В данном разделе предлагается описание различных принципов оптимальности, которые дают инструментарий для преодоления наличия более чем одной
цели путем постановки задачи оптимизации на основе этих принципов. Выбор
принципа или процесс его конструирования обычно происходит с участием лица
принимающего решение(ЛПР).
Исследование понятия приоритета в многоцелевой оптимизации основывается на сравнении целевых компонент 𝑓𝑖 (𝑥) многоцелевого показателя и значений 𝑓 (𝑥) многоцелевого показателя 𝑓 (𝑥) на элементах 𝑥 ∈ 𝑋. При этом нужно иметь в виду, что до сих по отсутствуют точные определения приоритета,
соответствующие осознанию сущности многоцелевого подхода в теории оптимизации, основанные на четком различении сравнимости по важности целевых
термов, по предпочтительности (значимость) компонент 𝑓𝑖 (𝑥) и по эффективности значений 𝑓 (𝑥) ∈ 𝐹 при 𝑥 ∈ 𝑋.
Сравнение элементов 𝑦1 , 𝑦2 ∈ 𝑍 рассматривается как выполнение некоторого бинарного отношения порядка 𝑅 в том смысле, что имеет место одно из
условий: 𝑦1 лучше 𝑦2 по 𝑅(𝑦1 𝑅𝑦2 ); 𝑦2 лучше 𝑦1 по 𝑅(𝑦2 𝑅𝑦1 ); 𝑦1 эквивалентно 𝑦2
¯ 2 ); 𝑦2 не лучше 𝑦1 пo
по 𝑅(𝑦1 ∼ 𝑦2 = 𝑦1 𝑅𝑦2 ∧ 𝑦2 𝑅𝑦1 ); 𝑦1 не лучше 𝑦2 по 𝑅(𝑦1 𝑅𝑦
12
¯ 1 ); 𝑦1 не хуже 𝑦2 пo 𝑅(𝑦1 𝑅𝑦2 ∨𝑦1 ∼ 𝑦2 ); 𝑦2 не хуже 𝑦1 пo 𝑅(𝑦2 𝑅𝑦1 ∨𝑦2 ∼ 𝑦1 );
𝑅(𝑦2 𝑅𝑦
𝑦1 и несравнимы пo 𝑅(𝑦1 𝑅𝑦2 ) ∧ (𝑦2 𝑅𝑦1 ) ∧ (𝑦1 ∼ 𝑦2 ).
Бинарное отношение порядка 𝑅 при этом определяется выполнением следующей совокупности аксиом:
1. 𝑦𝑅𝑦, ∀𝑦 ∈ 𝑌 (рефлексивность);
2. (𝑦1 𝑅𝑦2 ) ∧ (𝑦2 𝑅𝑦3 ) ⇒ 𝑦1 𝑅𝑦3 (транзитивность);
3. (𝑦1 𝑅𝑦2 ) ∨ (𝑦2 𝑅𝑦1 ) ∀𝑦1 ,𝑦2 ∈ 𝑌 (асимметричность);
4. 𝑦1 ∼ 𝑦2 ⇒ (𝑦1 𝑅𝑦2 ) ∧ (𝑦2 𝑅𝑦1 ) (эквивалентность).
соответственно предпочтением (нестрогим порядком), упорядочением
(строгим порядком) и порядком (совершенным порядком) на элементах множества 𝑌 . Отсюда, определения приоритета можно сформулировать следующим
образом.
Отношение приоритета на множестве 𝑖 целевых термов определяется как
бинарное отношение порядка 𝑅(𝑖) на 𝑖 и дает возможность сравнения целевых
термов 𝑖1 , 𝑖2 по важности в соответствии с выполнением условия 𝑖1 𝑅(𝑖)𝑖2 , т.е.
𝑖1 важнее 𝑖2 ⇔ 𝑖1 𝑅(𝑖)𝑖2 , 𝑖1 и 𝑖2 одинаково важны ⇔ 𝑖1 ∼ 𝑖2 и т.п.
Отношение приоритета на компонентах 𝑓𝑖 (· ) многоцелевого показателя
определяется как бинарное отношение порядка 𝑅𝑓 на множестве {𝑓𝑖 (· ), 𝑖 = 1,𝑚}
и дает возможность сравнения компонент 𝑓𝑖1 (· ) и 𝑓𝑖2 (· ) по предпочтительности
(значимости) в соответствии с выполнением условия 𝑓𝑖1 (· )𝑅𝑓 𝑓𝑖2 (· ),т.е. 𝑖1 –я компонента 𝑓𝑖1 (· ) предпочтительнее(имеет большую значимость) по сравнению с 𝑖2
– й компонентой 𝑓𝑖2 (· ) тогда и только тогда, когда выполнено это условие и т.п.
Отношение приоритета на значениях 𝑓 (𝑥) ∈ 𝐹 при 𝑥 ∈ 𝑋 определяется
как бинарное отношение порядка 𝑅(𝑓 ) на множестве 𝐹 = {𝑓 (𝑥) : 𝑥 ∈ 𝑋} и дает
возможность сравнения значений 𝑓 (𝑥1 ), 𝑓 (𝑥2 ) ∈ 𝐹 по эффективности (степени
увеличения 𝑓 ), т.е. значение 𝑓 (𝑥1 ) эффективнее 𝑓 (𝑥2 ) ⇔ 𝑓 (𝑥1 )𝑅(𝑓 )𝑓 (𝑥2 ) и т. п.
В практических задачах при рассмотрении вопросов приоритета, ввиду
отсутствия точного различения важности, значимости и эффективности при
задании многоцелевых показателей, используется лишь одна из возможных вариаций отношения приоритета. При этом нужно иметь в виду, что отношение
приоритета может быть определено не только в форме бинарных отношений
порядка 𝑅(𝑖), 𝑅𝑓 и 𝑅(𝑓 ) но и в форме более сложных отношений порядка как
на этих множествах, так и на их прямом произведении, которые, однако, индуцируются исходными бинарными порядками 𝑅(𝑖), 𝑅𝑓 , 𝑅(𝑓 ), и при их задании
13
следует действовать с особой осторожностью, поскольку необходимо учитывать
согласованное задание приоритета на целевых термах, компонентах и значениях
многоцелевого показателя.
Будем называть принципом выбора такое формирование отношения порядка 𝑅(𝑓 ) при котором произведен выбор нормализации, сверток и учет задания приоритета на множествах 𝑖, 𝑓𝑖 (·), 𝑖 = 1,𝑚. Формулирование принципа
выбора 𝑅(𝑓 ) предоставляет возможность определить, в каком смысле понимается решение задачи многоцелевой оптимизации показателя 𝑓 (𝑥) на множестве
𝑋 и определить множество оптимальных элементов. Ниже приведены некоторые принципы выбора и соответствующие им условия оптимальности 𝑥0 ∈ 𝑋
представленные в работах [4; 5; 8]:
1. Доминирующего результата:
max 𝑓𝑖 (𝑥0 ) ≥ max 𝑓𝑖 (𝑥), ∀𝑥 ∈ 𝑋,
𝑖
𝑖
(1.2.1)
2. Компромисса:
∑︁
0
𝑝𝑖 𝑓𝑖 (𝑥 ) = max
∑︁
𝑥∈𝑋
𝑖
𝑝𝑖 𝑓𝑖 (𝑥),
(1.2.2)
𝑖
3. Неша:
∏︁
𝑓𝑖 (𝑥0 ) ≥
𝑖
∏︁
𝑓𝑖 (𝑥)
(1.2.3)
𝑓𝑖 (𝑥), ∀𝑥 ∈ 𝑋,
(1.2.4)
𝑖
4. Суммарной эффективности:
∑︁
𝑖
0
𝑓𝑖 (𝑥 ) ≥
∑︁
𝑖
5. Равенства:
𝑓𝑖1 (𝑥0 ) = 𝑓𝑖2 (𝑥0 ), ∀𝑖1 ,𝑖2 ,
(1.2.5)
@𝑥 ∈ 𝑋 : 𝑓𝑖 (𝑥) > 𝑓𝑖 (𝑥0 ), ∀𝑖,
(1.2.6)
6. Слейтера:
7. Парето:
@𝑥 ∈ 𝑋 : {𝑓𝑖 (𝑥) ≥ 𝑓𝑖 (𝑥0 )∀𝑖} ∧ {∃𝑖0 : 𝑓𝑖0 (𝑥) > 𝑓𝑖0 (𝑥0 )},
(1.2.7)
14
8. Частичной доминантности:
∃𝑖1 : 𝑓𝑖1 (𝑥0 ) > 𝑓𝑖1 (𝑥)∀𝑥 ∈ 𝑋,
(1.2.8)
𝑓𝑖 (𝑥0 ) ≥ 𝑓𝑖 (𝑥)∀𝑥 ∈ 𝑋, 𝑖,
(1.2.9)
9. Доминантности:
10. Гарантированного результата:
min 𝑓𝑖 (𝑥0 ) ≥ min 𝑓𝑖 (𝑥)∀𝑥 ∈ 𝑋,
𝑖
𝑖
(1.2.10)
11. Наименьшего уклонения:
‖𝑓 (𝑥0 ) − 𝑓 * ‖ ≤ ‖𝑓 (𝑥) − 𝑓 * ‖∀𝑥 ∈ 𝑋
𝑓 * = max 𝑓 (𝑥)∀𝑖
(1.2.11)
𝑥∈𝑥
1.3
Нормализация и свертка функционалов в задачах
многоцелевой оптимизации.
Обычно критерии в задачах многоцелевой оптимизации измеряются в разных шкалах или представляются в разных единицах измерения. Для того, чтобы сравнивать значения разных функционалов, переходят к однонаправленным
шкалам и выражают их значения в одинаковых абсолютных единицах либо переходят к безразмерным величинам. Для таких преобразований функционалов
используют операции, называемые нормализацией функционалов.
Определение 1.3.1. Нормализацией функционалов в задаче многоцелевой оптимизации будем называть однозначное отображение 𝑁 : 𝐹 → 𝐹 .
Укажем некоторые способы нормализации из работ [4; 5]:
– Смена направленности цели: 𝑓𝑛 (𝑥) = −𝑓 (𝑥);
где 𝑓𝐼 - заданная
– Нормализация по заданному значению: 𝑓𝑛 (𝑥) = −𝑓𝑓(𝑥)
𝐼
или идеальная величина критерия;
(𝑥)
– Относительная нормализация: 𝑓𝑛 (𝑥) = 𝑚𝑎𝑥𝑓𝑥∈𝑋
𝑓 (𝑥) ;
– Сравнительная нормализация: 𝑓𝑛 (𝑥) = 𝑓 (𝑥) − max𝑥∈𝑋 𝑓 (𝑥);
15
𝑓 (𝑥)
max𝑥∈𝑋 𝑓 (𝑥)−𝑚𝑖𝑛𝑥∈𝑋 𝑓 (𝑥) ;
𝑓 (𝑥)−min𝑥∈𝑋 𝑓 (𝑥)
max𝑥∈𝑋 𝑓 (𝑥)−𝑚𝑖𝑛𝑥∈𝑋 𝑓 (𝑥) ;
– Естественная нормализация: 𝑓𝑛 (𝑥) =
–
–
–
–
Полная нормализация:𝑓𝑛 (𝑥) =
Приведение к одной размерности: 𝑓𝑛 (𝑥) = 𝑣[𝜓]𝑣[𝑓 (𝑥)];
𝑓 (𝑥)
Сведение к безразмерным величинам: 𝑓𝑛 (𝑥) = 𝑣[𝑓
(𝑥)] ;
1
;
Смена ингредиента: 𝑓𝑛 (𝑥) = 𝑓 (𝑥)
𝑓 (𝑥)
– Нормализация сравнения: 𝑓𝑛 (𝑥) = max𝑥∈𝑋
𝑓 (𝑥) ;
– Нормализация Савиджа: 𝑓𝑛 (𝑥) = max𝑥∈𝑋 𝑓 (𝑥) − 𝑓 (𝑥);
– Нормализация осреднения: 𝑓𝑛 (𝑥) = ∑︀ 𝑓 (𝑥)𝑓 (𝑥) ;
𝑦∈𝑌
Будем назвать сверткой компонент многоцелевого показателя 𝑓 (𝑥) отображение 𝐹 : 𝑓 (𝑥) → 𝑅1 , которое преобразует совокупность компонент многоцелевого показателя 𝑓 в скалярный целевой показатель. При решении практических
задач многоцелевой оптимизации используются следующие виды сверток [4; 5]:
∑︀
– Линейная(аддитивная) свертка: 𝐹 (𝑓 (𝑥)) = 𝑖 𝑝𝑖 𝑓𝑖 (𝑥);
– Минимизационная свертка: 𝐹 (𝑓 (𝑥)) = min𝑖 [𝑝𝑖 𝑓𝑖 (𝑥) + 𝑞𝑖 ];
– Максимизационная светрка: 𝐹 (𝑓 (𝑥)) = max𝑖 [𝑝𝑖 𝑓𝑖 (𝑥) + 𝑞𝑖 ];
∏︀
– Мультипликативная свертка: 𝐹 (𝑓 (𝑥)) = 𝑖 𝑝𝑖 𝑓𝑖 (𝑥);
– Метод идеальной точки: 𝐹 (𝑓 (𝑥)) = 𝜌(𝑍𝐼 ,𝑓 (𝑥)) где 𝑍𝐼 - идеальная точка,
𝜌(𝑥,𝑦) - расстояние между точками 𝑥,𝑦;
∏︀
– Свертка Кобба— Дугласа: 𝐹 (𝑓 (𝑥)) = 𝑖 [𝑝𝑖 𝑓𝑖 (𝑥)]𝑞𝑖 ;
Введение на F нормализации и сверток дает принцип выбора 𝑅(𝑓 ) :
max𝑥∈𝑋 𝐹 (𝑓𝑛 (𝑥))
1.4
Стохастические задачи многоцелевой оптимизации.
Стохастические модели оптимизации используют в ситуациях выбора альтернатив, связанных с неопределенным влиянием на ситуацию выбора.
Определение 1.4.1. Задачей стохастической многоцелевой оптимизации будем называть задачу следующего вида:
⟨ max 𝑓 (𝑥, 𝜔), Ω, 𝑅⟩
𝑥∈𝑋(𝜔)
(1.4.1)
16
где 𝑋(𝜔) ⊂ 𝑅𝑚 , 𝜔 ∈ Ω, 𝑅 - принципом оптимальности, 𝑓 (𝑥,𝜔) =
(𝑓1 (𝑥,𝜔), 𝑓2 (𝑥,𝜔), . . . , 𝑓𝑚 (𝑥,𝜔), . . . ).
Для решения стохастической многоцелевой задачи оптимизации необходимо ввести способ преодоления неопределенности, а также ввести принцип оптимальности. Обозначим за 𝐷 — способ преодоления неопределенности. Тогда
принцип оптимальности 𝑅 в задача стохастической многоцелевой оптимизации
определяется как кортеж ⟨𝐷, 𝑅𝑝 ⟩, где 𝑅𝑝 — принцип выбора.
Для борьбы с неопределенностью обычно используют следующие методы:
– усреднение случайных значений параметров моделей, использование их
математических ожиданий и другие способы сведения стохастической
задачи к детерминированной;
– выбор конечного разнообразия состояний и определение в некотором
смысле наилучшей альтернативы;
– применение многоэтапных процедур оптимизации, использование аппарата стохастического программирования;
– анализ устойчивости решений под влиянием случайных возмущений с
последующим применением экспертных оценок.
В зависимости от особенностей сложных систем необходимо выбирать соответствующий подход для исчисления вероятностей и учета неопределенности при практическом решении задач планирования и управления в условиях
неполной информации.
Решение двухэтапной задачи [7] составлено из детерминированного и случайного векторов. На первом этапе решения задачи выбирается детерминированный предварительный план, принимаемый до реализации случайных условий задачи. Случайный вектор в решении двухэтапной задачи отвечает плану
компенсации невязок, вообще говоря, появляющихся, после наблюдения реализованных параметров задачи на втором этапе. Целью управляющего является минимизация среднего значения суммарных затрат, возникающих на этапе
предварительного планирования, и на втором этапе, когда требуется компенсировать невязки в системе ограничений задачи. Если задача стохастического
программирования в двухэтапной постановке разрешима, выбор детерминированного предварительного плана должен гарантировать существование случайного вектора плана компенсации невязок
17
Обобщением двухэтапных задач являются многоэтапные задачи стохастического программирования [7]. Многочисленные практические проблемы перспективного планирования, проектирования и управления не могут быть удовлетворительно описаны при помощи статических моделей. Планирование на
длительные периоды времени развития хозяйственных систем, оперативное
управление боевыми операциями, регулирование технологическими процессами и другие проблемы содержат случайные параметры и требуют для своего
описания применения динамических вероятностных моделей. В частности, для
этих целей используются модели и методы многоэтапного стохастического программирования.
18
Глава 2. Исследование проблем устойчивости стохастических задач
векторной оптимизации
В главе вводятся понятия устойчивости принципов оптимальности в задачах многоцелевой стохастической оптимизации, как применение аппарата для
изучения устойчивости принципов оптимальности представленный в [40]. На
основе введенных понятий исследуется устойчивость решений в случае свертки
функционалов, устойчивости множества полуэффективных точек и устойчивости множества Парето–оптимальных альтернатив.
2.1
Понятия устойчивости принципов оптимальности.
Пользуясь терминологией, введенной в работе [40], введем определение
устойчивости принципов оптимальности в стохастических многоцелевых задач
оптимизации.
Под моделью будем понимать формальное описание выделенных в задаче
факторов. Множество моделей обозначим 𝑀 . Множество, из которого производится выбор решения будем называть множеством альтернатив и обозначим
𝑆(𝑚), 𝑚 ∈ 𝑀
Определение 2.1.1. Пара (𝑅,ℰ), где 𝑅 — отображение, которое ставит в соответствие каждой паре (𝑚,𝜖) ∈ 𝑀 × ℰ подмножетсво 𝑆𝑂 (𝑚) ⊂ 𝑆(𝑚)
Множество ℰ здесь параметризует 𝜖 - оптимальность.
Определение 2.1.2. Будем говорить, что 𝑓 - непрерывна в точке 𝑥0 , если для
∀𝜖 > 0 существует 𝛼 ∈ (0,𝜖) и 𝛿 > 0, такие, что ∀𝑥 ∈ 𝑂𝛿𝑋 (𝑥0 ) :
𝜌𝑌 (𝑓 (𝑥),𝑓 (𝑥0 )) < 𝜖 − 𝛼
Здесь 𝑂𝛿𝑋 (𝑥0 ) — 𝛿 окрестность точки 𝑥0
Для сравнения стратегий из множеств 𝑆(𝑚) и 𝑆(𝑛) введем следующее
отображение:
19
Определение 2.1.3. Будем называть интерпретацией отображение Ω, которое
любой паре (𝑚,𝑛) ∈ 𝑀 × 𝑀 и любому 𝑥 ∈ 𝑆(𝑚) ставит в соответствие непустое
множество
Ω(𝑥,𝑚,𝑛) ⊂ 𝑆(𝑛)
Пусть (𝑅,ℰ) — принцип оптимальности, 𝑁 ⊂ 𝑀 × ℰ, 𝐴 — согласование:
𝐴 : 𝑀 × ℰ → M(ℰ × 𝐸+1 )
где 𝐸+1 - множество вещественных положительных чисел, M(ℰ × 𝐸+1 ) — множество подмножеств ℰ × 𝐸+1
𝑀𝛿 (𝐿) = {𝑛 ∈ 𝑀 |∃𝑚 ∈ 𝐿 : 𝜇(𝑚,𝑛) ≤ 𝛿}, 𝐿 ⊂ 𝑀
Для указания на каком множестве производится сравнение введем параметр 𝑢 который принимает два следующих значения:
– 𝑓 𝑖𝑥 — если сравнение проводится на 𝑆(𝑚) — множестве фиксированной
модели
– 𝑣𝑎𝑟 — если сравнение проводится на 𝑆(𝑛) — множестве варьируемой
модели
Определение 2.1.4. Будем называть (𝑅,ℰ) внутренне (∆,𝑢) - устойчивым
сверху на 𝑁 при согласовании 𝐴, если для любых (𝑚,𝜖) ∈ 𝑁 :
1. 𝐴(𝑚,𝜖) ̸= ∅
2. ∀(𝛼,𝛿) ∈ 𝐴(𝑚,𝜖), ∀𝑛 ∈ 𝑀𝛿 (𝑚) выполнено 𝑅(𝑛,𝛼) ̸= ∅, 𝛿 > ∆,
Ω(𝑅(𝑛,𝛼),𝑛,𝑚) ⊂ 𝑅(𝑚,𝜖) для 𝑢 = 𝑓 𝑖𝑥,
𝑅(𝑛,𝛼) ⊂ Ω(𝑅(𝑚,𝜖),𝑚,𝑛) для 𝑢 = 𝑣𝑎𝑟
Множество принципов оптимальности внутренне (∆,𝑢) - устойчивых сверху на 𝑁 при согласовании 𝐴 обозначим 𝐼𝑆𝑈𝑢Δ [𝑁,𝐴]
Условие внутренней (∆,𝑢) - устойчивости сверху на 𝑁 при согласовании
𝐴, позволяет решать задачи при наличии возмущений.
Определение 2.1.5. Будем называть (𝑅,ℰ) внутренне (∆,𝑢) - устойчивым снизу на 𝑁 при согласовании 𝐴, если для любых (𝑚,𝜖) ∈ 𝑁 :
1. 𝐴(𝑚,𝜖) ̸= ∅
20
2. ∀(𝛼,𝛿) ∈ 𝐴(𝑚,𝜖), ∀𝑛 ∈ 𝑀𝛿 (𝑚) выполнено 𝑅(𝑚,𝛼) ̸= ∅, 𝛿 > ∆,
𝑅(𝑚,𝛼) ⊂ Ω(𝑅(𝑛,𝜖),𝑛,𝑚) для 𝑢 = 𝑓 𝑖𝑥,
Ω(𝑅(𝑚,𝛼),𝑚,𝑛) ⊂ 𝑅(𝑛,𝜖) для 𝑢 = 𝑣𝑎𝑟
Множество принципов оптимальности внутренне (∆,𝑢) - устойчивых снизу на 𝑁 при согласовании 𝐴 обозначим 𝐼𝑆𝐷𝑢Δ [𝑁,𝐴]
Условие внутренней (∆,𝑢) - устойчивости снизу на 𝑁 при согласовании 𝐴
указывает , какая получится точность решения 𝛼 исходной задачи при постановке задачи для ЭВМ с точностью 𝜖
Определение 2.1.6. Будем называть (𝑅,ℰ) внешне (∆,𝑢) - устойчивым сверху
на 𝑁 при согласовании 𝐴, если для любых (𝑚,𝜖) ∈ 𝑁 :
1. 𝐴(𝑚,𝜖) ̸= ∅
2. ∀(𝛼,𝛿) ∈ 𝐴(𝑚,𝜖), ∀𝑛 ∈ 𝑀𝛿 (𝑚) выполнено 𝑅(𝑛,𝜖) ̸= ∅, 𝛿 > ∆,
Ω(𝑅(𝑛,𝜖),𝑛,𝑚) ⊂ 𝑅(𝑚,𝛼) для 𝑢 = 𝑓 𝑖𝑥,
𝑅(𝑛,𝜖) ⊂ Ω(𝑅(𝑚,𝛼),𝑚,𝑛) для 𝑢 = 𝑣𝑎𝑟
Множество принципов оптимальности внешне (∆,𝑢) - устойчивых сверху
на 𝑁 при согласовании 𝐴 обозначим 𝐸𝑆𝑈𝑢Δ [𝑁,𝐴]
Согласование 𝐴 указывает точность решения исходной задачи, полученной из возмущенной, решаемой с точностью 𝜖
Определение 2.1.7. Будем называть (𝑅,ℰ) внешне (∆,𝑢) - устойчивым снизу
на 𝑁 при согласовании 𝐴, если для любых (𝑚,𝜖) ∈ 𝑁 :
1. 𝐴(𝑚,𝜖) ̸= ∅
2. ∀(𝛼,𝛿) ∈ 𝐴(𝑚,𝜖), ∀𝑛 ∈ 𝑀𝛿 (𝑚) выполнено 𝑅(𝑚,𝛼) ̸= ∅, 𝛿 > ∆,
𝑅(𝑚,𝜖) ⊂ Ω(𝑅(𝑛,𝛼),𝑛,𝑚) для 𝑢 = 𝑓 𝑖𝑥,
Ω(𝑅(𝑚,𝜖),𝑚,𝑛) ⊂ 𝑅(𝑛,𝛼) для 𝑢 = 𝑣𝑎𝑟
Множество принципов оптимальности внешне (∆,𝑢) - устойчивых снизу
на 𝑁 при согласовании 𝐴 обозначим 𝐸𝑆𝐷𝑢Δ [𝑁,𝐴]
Согласование 𝐴 указывает, какую точность решения возмущенной задачи
нужно брать, чтобы получить точность 𝜖 близкую к идеализированной.
21
Определение 2.1.8. Будем называть (𝑅,ℰ) внутренне (𝜆, 𝑣, 𝑢) - устойчивым
на 𝑁 при согласовании 𝐴, если для любых (𝑚,𝜖) ∈ 𝑁 :
1. 𝐴(𝑚,𝜖) ̸= ∅
2. ∀(𝛼,𝛿, 𝛾) ∈ 𝐴(𝑚,𝜖), ∀𝑛 ∈ 𝑀𝛿 (𝑚), ∀𝑘 ∈ 𝑀𝛾 (𝑚) выполнено 𝑅(𝑛,𝛼) ̸=
∅, 𝛿 > 𝜆, 𝛾 > 𝑣,
𝑅(𝑛,𝛼) ⊂ Ω(𝑅(𝑘,𝜖),𝑘,𝑛) для 𝑢 = 𝑣𝑎𝑟1 ,
Ω(𝑅(𝑛,𝛼),𝑛,𝑘) ⊂ 𝑅(𝑘,𝜖) для 𝑢 = 𝑣𝑎𝑟2 ,
Ω(𝑅(𝑛,𝛼),𝑛,𝑚) ⊂ Ω(𝑅(𝑘,𝜖),𝑘,𝑚) для 𝑢 = 𝑓 𝑖𝑥,
Множество принципов оптимальности внутренне (𝜆, 𝑣, 𝑢) - устойчивых на
𝑁 при согласовании 𝐴 обозначим 𝐼𝑆𝑢𝜆,𝑢 [𝑁,𝐴]
Определение 2.1.9. Будем называть (𝑅,ℰ) внешне (𝜆, 𝑣, 𝑢) - устойчивым на
𝑁 при согласовании 𝐴, если для любых (𝑚,𝜖) ∈ 𝑁 :
1. 𝐴(𝑚,𝜖) ̸= ∅
2. ∀(𝛼,𝛿, 𝛾) ∈ 𝐴(𝑚,𝜖), ∀𝑛 ∈ 𝑀𝛿 (𝑚), ∀𝑘 ∈ 𝑀𝛾 (𝑚) выполнено 𝑅(𝑛,𝛼) ̸=
∅, 𝛿 > 𝜆, 𝛾 > 𝑣,
𝑅(𝑛,𝜖) ⊂ Ω(𝑅(𝑘,𝛼),𝑘,𝑛) для 𝑢 = 𝑣𝑎𝑟1 ,
Ω(𝑅(𝑛,𝜖),𝑛,𝑘) ⊂ 𝑅(𝑘,𝛼) для 𝑢 = 𝑣𝑎𝑟2 ,
Ω(𝑅(𝑛,𝜖),𝑛,𝑚) ⊂ Ω(𝑅(𝑘,𝛼),𝑘,𝑚) для 𝑢 = 𝑓 𝑖𝑥,
Множество принципов оптимальности внешне (𝜆, 𝑣, 𝑢) - устойчивых на 𝑁
при согласовании 𝐴 обозначим 𝐸𝑆𝑢𝜆,𝑢 [𝑁,𝐴]
Понятия 𝐼𝑆𝑢𝜆,𝑢 [𝑁,𝐴] и 𝐸𝑆𝑢𝜆,𝑢 [𝑁,𝐴] устойчивости объединяют понятия
устойчивости сверху и снизу. Внутренняя устойчивость позволяет решать задачу при наличии возмущений, а также дает решения, пригодные для любых
близких к 𝑚 моделей. Внешняя устойчивость показывает, что по точности 𝜖
решаемой задачи на ЭВМ, согласование указывает точность 𝛼, получающуюся
для исходной задачи.
Указанные типы устойчивости различаются только множествами, на которых происходит сравнение стратегий. Чтобы установить связь между ними,
наложим условия на интерпретацию Ω.
22
Будем полагать, что 𝐿 ⊂ 𝑀 × 𝑀 , в этом случае будем говорить, что Ω
удовлетворяет условию 𝐴𝜔 [𝐿], если ∀(𝑙,𝑛) ∈ 𝐿, 𝑥 ∈ 𝑆(𝑙) выполнено:
𝑥 ∈ Ω(Ω(𝑥,𝑙,𝑛),𝑛,𝑙).
Ω удовлетворяет условию 𝐴0𝜔 [𝐿], если ∀(𝑙,𝑛) ∈ 𝐿, 𝑥 ∈ 𝑆(𝑙) выполнено:
𝑥 = Ω(Ω(𝑥,𝑙,𝑛),𝑛,𝑙).
Теорема 2.1.10. [40] Если Ω ∈ 𝐴0𝜔 [{(𝑙,𝑛),(𝑛,𝑙)}], то Ω(·, 𝑙,𝑛) и Ω(·, 𝑛, 𝑙) устанавливают взаимно однозначное соотношение между 𝑆(𝑙),𝑆(𝑛) и являются
взаимно обратными.
Непосредственно из определений 2.1.4 – 2.1.9 следуют утверждения
Теорема 2.1.11. Для 𝐽 = 𝐼,𝐸 верны следующие утверждения:
1. Если (𝑅,ℰ) ∈ 𝐽𝑆𝑈𝑓Δ𝑖𝑥 [𝑁,𝐴] и ∀(𝑚,𝜖) ∈ 𝑁, (𝛼,𝜖) ∈ 𝐴(𝑚,𝜖)
Δ
[𝑁,𝐴].
Ω ∈ 𝐴𝜔 [𝑀𝛿 (𝑚) × 𝑚], то (𝑅,ℰ) ∈ 𝐽𝑆𝑈𝑣𝑎𝑟
Δ
2. Если (𝑅,ℰ) ∈ 𝐽𝑆𝐷𝑣𝑎𝑟
[𝑁,𝐴] и ∀(𝑚,𝜖) ∈ 𝑁, (𝛼,𝛿) ∈ 𝐴(𝑚,𝜖)
Ω ∈ 𝐴𝜔 [𝑚 × 𝑀𝛿 (𝑚)], то (𝑅,ℰ) ∈ 𝐽𝑆𝐷𝑓Δ𝑖𝑥 [𝑁,𝐴].
Δ
3. Если (𝑅,ℰ) ∈ 𝐽𝑆𝑈𝑣𝑎𝑟
[𝑁,𝐴] и ∀(𝑚,𝜖) ∈ 𝑁, (𝛼,𝛿) ∈ 𝐴(𝑚,𝜖)
Ω ∈ 𝐴0𝜔 [𝑚 × 𝑀𝛿 (𝑚)], то (𝑅,ℰ) ∈ 𝐽𝑆𝑈𝑓Δ𝑖𝑥 [𝑁,𝐴].
4. Если (𝑅,ℰ) ∈ 𝐽𝑆𝐷𝑓Δ𝑖𝑥 [𝑁,𝐴] и ∀(𝑚,𝜖) ∈ 𝑁, (𝛼,𝛿) ∈ 𝐴(𝑚,𝜖)
Δ
Ω ∈ 𝐴0𝜔 [𝑀𝛿 (𝑚) × 𝑚], то (𝑅,ℰ) ∈ 𝐽𝑆𝐷𝑣𝑎𝑟
[𝑁,𝐴].
𝜆,𝑣
5. Если (𝑅,ℰ) ∈ 𝐽𝑆𝑣𝑎𝑟
[𝑁,𝐴] и ∀(𝑚,𝜖) ∈ 𝑁, (𝛼, 𝛿, 𝛾) ∈ 𝐴(𝑚,𝜖)
2
𝜆,𝑣
Ω ∈ 𝐴𝜔 [𝑀𝛿 (𝑚) × 𝑀𝛾 (𝑚)], то (𝑅,ℰ) ∈ 𝐽𝑆𝑣𝑎𝑟
[𝑁,𝐴].
1
𝜆,𝑣
[𝑁,𝐴] и ∀(𝑚,𝜖) ∈ 𝑁, (𝛼, 𝛿, 𝛾) ∈ 𝐴(𝑚,𝜖)
6. Если (𝑅,ℰ) ∈ 𝐽𝑆𝑣𝑎𝑟
1
𝜆,𝑣
Ω ∈ 𝐴0𝜔 [𝑀𝛿 (𝑚) × 𝑀𝛾 (𝑚)], то (𝑅,ℰ) ∈ 𝐽𝑆𝑣𝑎𝑟
[𝑁,𝐴].
2
Ω удовлетворяет 𝐵𝜔 , если ∀(𝑙,𝑘,𝑛) ∈ 𝐿, 𝑥 ∈ 𝑆(𝑙) :
Ω(𝑥,𝑙,𝑛) ⊂ Ω(Ω(𝑥,𝑙,𝑘),𝑘,𝑛)
Ω удовлетворяет 𝐶𝜔 , если ∀(𝑙,𝑘,𝑛) ∈ 𝐿, 𝑥 ∈ 𝑆(𝑙) :
Ω(Ω(𝑥,𝑙,𝑘),𝑘,𝑛) ⊂ Ω(𝑥,𝑙,𝑛)
Теорема 2.1.12. Для 𝐽 = 𝐼,𝐸 верны следующие утверждения:
выполнено
выполнено
выполнено
выполнено
выполнено
выполнено
23
𝜆,𝑣
[𝑁,𝐴] и ∀(𝑚,𝜖) ∈ 𝑁, (𝛼, 𝛿, 𝛾) ∈ 𝐴(𝑚,𝜖) выполнено
1. Если (𝑅,ℰ) ∈ 𝐽𝑆𝑣𝑎𝑟
1
Ω ∈ 𝐶𝜔 [𝑀𝛾 (𝑚) × 𝑀𝛿 (𝑚) × 𝑚], то (𝑅,ℰ) ∈ 𝐽𝑆𝑓𝜆,𝑣
𝑖𝑥 [𝑁,𝐴].
𝜆,𝑣
[𝑁,𝐴] и ∀(𝑚,𝜖) ∈ 𝑁, (𝛼, 𝛿, 𝛾) ∈ 𝐴(𝑚,𝜖) выполнено
2. Если (𝑅,ℰ) ∈ 𝐽𝑆𝑣𝑎𝑟
2
Ω ∈ 𝐵𝜔 [𝑀𝛾 (𝑚) × 𝑀𝛿 (𝑚) × 𝑚], то (𝑅,ℰ) ∈ 𝐽𝑆𝑓𝜆,𝑣
𝑖𝑥 [𝑁,𝐴].
2.2
Устойчивости решений стохастических задач векторной
оптимизации в условиях свертки функционалов.
Рассмотрим следующую задачу стохастической многоцелевой оптимизации:
⟨𝑋, 𝑌, Ω, max 𝑓 (𝑥),𝑅⟩
𝑥∈𝑋
(2.2.1)
где 𝑋 ⊂ 𝑅𝑚 , 𝜔 ∈ Ω,𝑅 - принципом оптимальности, представляющий пару ⟨𝐷, 𝐹 (𝑓 (𝑥))⟩, 𝐷 - способ преодоления неопределенности, 𝐹 (𝑓 (𝑥)) — свертка
функционалов.
Для изучения устойчивости решений поставленной задачи рассмотрим ее
в более общем виде, с учетом того, что описанные в модели 2.3.1 условия могут
отклоняться на незначительные величины 𝜖 будем рассматривать все множество
данных моделей. Как и было принято выше, обозначим его через 𝑀 , будем полагать, что на данном множестве введена псевдометрика 𝜇, множество параметров
ℰ, метрическое пространство 𝑋0 ,𝜌, функционал 𝐹 ∈ Φ(𝑀 × ℰ × 𝑋0 , 𝐸 1 ) и принцип оптимальности 𝑅 ∈ Φ(𝑀 × ℰ, M(𝑋0 )). Множество 𝑅(𝑚,𝜖), 𝑚 ∈ 𝑀, 𝜖 ∈ ℰ
будем понимать как множество 𝜖 допустимых стратегий, а функционал 𝐹 (𝑚,𝜖,·)
— как 𝜖 - целевой функционал, который нужно максимизировать на (𝑚,𝜖).
Для задачи 2.3.1 будем рассматривать задачу поиска стратегий, максимизирующих 𝜖 - целевую функцию.
24
Введем следующие обозначения:
ℎ(𝑚,𝛼) =
𝐹 (𝑚,𝛼,𝑥), 𝛼 ∈ ℰ
sup
𝑥∈𝑅(𝑚,𝛼)
ℎ+ (𝑚,𝜖, 𝛿) =
sup ℎ(𝑛,𝜖)
𝑛∈𝑀𝛿 (𝑚)
ℎ− (𝑚,𝜖, 𝛿) =
inf
ℎ(𝑛,𝜖)
𝑛∈𝑀𝛿 (𝑚)
𝐹 + (𝑚,𝛼, 𝑥, 𝛿) =
sup 𝐹 (𝑚,𝛼, 𝑥)
𝑛∈𝑀𝛿 (𝑚)
𝐹 − (𝑚,𝛼, 𝑥, 𝛿) =
inf
𝐹 (𝑚,𝛼, 𝑥)
𝑛∈𝑀𝛿 (𝑚)
Свяжем с поставленной задачей принцип оптимальности:
(arg sup, ℰ 2 × 𝐸+1 ),
где arg sup(𝑚,𝜖) = {𝑥 ∈ ℛ(𝑚,𝜖1 )|ℱ(𝑚,𝜖1 ,𝑥) + 𝜖3 ≤ ℎ(𝑚,𝜖2 )}
Ввиду введенных обозначений очевидны следующие равенства:
𝑒𝑥 arg sup(𝑚,𝜖,𝛿) ⊂ {𝑥 ∈ 𝑒𝑥ℛ(𝑚,𝜖1 ,𝛿)|ℱ + (𝑚,𝜖1 ,𝑥,𝛿) + 𝜖3 ≥ ℎ− (𝑚,𝜖2 ,𝛿)}
𝑖𝑛 arg sup(𝑚,𝜖,𝛿) ⊃ {𝑥 ∈ 𝑖𝑛ℛ(𝑚,𝜖1 ,𝛿)|ℱ − (𝑚,𝜖1 ,𝑥,𝛿) + 𝜖3 ≥ ℎ+ (𝑚,𝜖2 ,𝛿)}
𝑑𝑜𝑚(arg sup, ℰ 2 × 𝐸+1 ) ⊃ {𝑚,𝜖|(𝑚,𝜖1 ) ∈ 𝑑𝑜𝑚(ℛ, ℰ), ℎ(𝑚,𝜖1 ) + 𝜖3 > ℎ(𝑚,𝜖2 )}
𝑑𝑜𝑚(𝑖𝑛 arg sup, ℰ 2 × 𝐸+2 ) ⊃
⊃ {𝑚,𝜖|(𝑚,𝜖1 , 𝜖4 ) ∈ 𝑑𝑜𝑚(ℛ, ℰ × 𝐸+1 ), ℎ− (𝑚,𝜖1 ,𝜖4 ) + 𝜖3 >
> ℎ(𝑚,𝜖2 , 𝜖4 )}
Теорема 2.2.1. Если выполнено:
1. (𝛼1 ,𝛿) ∈ 𝑐𝑜𝑛𝐼𝑈 Δ [ℛ,ℰ](𝑚,𝜖1 );
2. 𝜖3 − 𝛼3 ≥ 𝛾 + 𝛽;
3. 𝑒𝑥ℛ(𝑚, 𝛼1 ,𝛿) ⊂ {𝑥 ∈ 𝑋0 |(𝛼1 ,𝜖1 ,𝛿,𝛽) ∈ 𝑅+ 𝑓 (𝑚,𝑥)} ∪ {𝑥
𝑋0 |(𝛼2 ,𝜖2 , 𝛿, 𝛾) ∈ 𝑅− ℎ(𝑚)}
4. inf 𝑛∈𝑀𝛿 (𝑚) [ℎ(𝑛,𝛼1 ) − ℎ(𝑛,𝛼2 )] + 𝛼3 > 0;
То:
(𝛼1 ,𝛼2 ,𝛼3 ,𝛿) ∈ 𝑐𝑜𝑛𝐼𝑈 Δ [arg sup, ℰ 2 × 𝐸+1 ](𝑚,𝜖1 ,𝜖2 ,𝜖3 )
∈
25
Доказательство. Из условий 1—2 теоремы следует неравенство:
ℱ(𝑚,𝜖1 ,𝑥) + 𝜖3 − ℎ(𝑚,𝜖2 ) ≥ ℱ + (𝑚,𝛼1 , 𝑥, 𝛿) + 𝛼3 − ℎ− (𝑚,𝛼2 ,𝛿)
Из данного неравенства и условия 3 теоремы следует, что
𝑒𝑥 arg sup(𝑚,𝛼,𝛿) ⊂ arg sup(𝑚, 𝜖)
В силу 4 arg sup(𝑛,𝛼) ̸= ∅ Из двух последних утверждений следует
(𝛼1 ,𝛼2 ,𝛼3 ,𝛿) ∈ 𝑐𝑜𝑛𝐼𝑈 Δ [arg sup, ℰ 2 × 𝐸+1 ](𝑚,𝜖1 ,𝜖2 ,𝜖3 )
Рассмотрим следующую метрику:
𝜇((𝑔1 ,𝑋1 ),(𝑔2 ,𝑋2 )) = 𝐻𝑟(𝑔𝑟[𝑔1 |𝑋1 ],𝑔𝑟[𝑔2 |𝑋2 ])
Используя результаты полученные а [40] имеем следующую оценку:
𝑑𝑜𝑚(𝐴𝑟𝑔𝑠𝑢𝑝, 𝐸 4 × 𝐸+2 ) ⊃ {(𝑔,𝑋), 𝜖|𝜑*𝑎,𝑏 (𝑔1 , . . . , 𝑔𝑛 , 𝑋)+
+ min{𝜖1 ,𝜖2 > 0},𝜖1 ≥ 𝜖2 , 𝜖2 ≥ 𝜖4 , 𝜖5 > 0,𝜖6 > 0}
Введем следующие согласования:
𝐵𝑢Δ ((𝑔,𝑋)𝜖) = {(𝛼,𝛿) ∈ 𝐸 4 × 𝐸+3 |𝜖𝑖 − 𝛿 > 𝛼𝑖 ≥ 𝛼𝑖+2 > 𝜖𝑖+2 + 𝛿, 𝑖 = 1,2
0 < 𝛼5 < 𝜖5 − 2𝛿, 0 < 𝛼6 < 𝜖6 − 𝛿, 𝜑*𝑎,𝑏 (𝑔1 , . . . , 𝑔𝑛 , 𝑋)+
+ min{𝛿1 ,𝛿2 } > 𝛿 > ∆}}
Отметим, что:
𝑑𝑜𝑚(𝐵𝑢Δ , 𝐸 4 × 𝐸+2 ) = {(𝑔,𝑋), 𝜖|𝜖𝑖 > 𝜖𝑖+2 + 2∆, 𝑖 = 1,2; 𝜖5 > 2∆, 𝜖6 > ∆,
𝜑*𝑎,𝑏 (𝑔1 , . . . , 𝑔𝑛 , 𝑋) + min{𝛿1 ,𝛿2 } > 2∆}
Теорема 2.2.2. Для псевдометрики 𝜇 справедливо следующее утверждение:
⟨𝐷, max 𝐹 (𝑓 (𝑥))⟩ внутренне ∆ устойчив сверху на 𝑑𝑜𝑚(𝐵𝑢Δ , 𝐸 4 × 𝐸⊕2 ) при согласовании 𝐵𝑢Δ
26
Доказательство. Доказательство следует из доказательства аналогичной теоремы [40] и сводится к элементарной проверке условий определения.
2.3
Устойчивости множества полуэффективных точек
стохастических задачи векторной оптимизации.
Рассмотрим следующую задачу стохастической многоцелевой оптимизации:
⟨𝑋,Ω, max 𝑓 (𝑥,𝜔), ℛ⟩
𝑥∈𝑋
(2.3.1)
где 𝑋 ⊂ 𝑅𝑚 , 𝑦 ∈ 𝑌 ,𝜔 ∈ Ω, ℛ - принципом оптимальности, представляющий пару ⟨𝐷, 𝑅ℎ𝑒 (𝑓 (𝑥))⟩, 𝐷 - способ преодоления неопределенности, 𝑅ℎ𝑒 (𝑓 (𝑥))
— отношение полуэффективности на 𝑓 (𝑥).
Пусть 𝑉 = 𝑓 (𝑥), тогда множество полуэффективных точек для 𝑅ℎ𝑒 (𝑉 )
для 𝑉 ⊂ 𝐸 𝑛 называется 𝑐-ядром или множеством недоминируемых точек отношения частичного порядка > (𝑢 > 𝑣 ⇐⇒ 𝑢𝑖 > 𝑣𝑖 , 𝑖 = 1, . . . , 𝑛)
𝑅ℎ𝑒 (𝑉 ) = {𝑣 ∈ 𝑉 | если 𝑢 > 𝑣, то 𝑢 ∈
/ 𝑉}
Зададим понятие 𝜖 -достижимости. Пусть принцип оптимальности (𝑉,ℰ),
где 𝑉 : 𝑀 × ℰ → M(𝐸 𝑛 ) задает понятие 𝜖 - достижимости. То есть множество
𝑉 (𝑚,𝜖) — множество 𝜖 достижимых точек.
Для 𝜖 ∈ ℰ 2 × 𝐸 𝑛 положим:
𝑅ℎ𝑒 (𝑚,𝜖) = {𝑣 ∈ 𝑉 (𝑚,𝜖1 )| если 𝑢 > 𝑣 + 𝜖3 , то 𝑢 ∈
/ 𝑉 (𝑚,𝜖2 )}
Обозначим:
𝑑(𝑢) = min 𝑢𝑖 , 𝑝(𝑚,𝜖,𝑣) =
1≤𝑖≤𝑛
sup 𝑑(𝑢 − 𝑣), 𝜖 ∈ ℰ
𝑢∈𝑉 (𝑚,𝜖)
В введенных обозначениях:
𝑅ℎ𝑒 (𝑚,𝜖) = {𝑣 ∈ 𝑉 (𝑚,𝜖1 )|𝑝(𝑚,𝜖2 ,𝜖3 + 𝑣) ≥ 0}
27
Поставим задачу изучить поведение множества полуэффективных точек
при малых возмущения исходного множества.
Введем следующие обозначения:
𝑝+ (𝑚,𝜖,𝑣,𝛿) =
sup 𝑝(𝑘,𝜖,𝑣);
𝑘∈𝑀𝛿 (𝑚)
𝑝− (𝑚,𝜖,𝑣,𝛿) =
inf
𝑝(𝑘,𝜖,𝑣);
𝑘∈𝑀𝛿 (𝑚)
Для введенных обозначений, очевидно, справедливы следующие оценки:
𝑝+ (𝑚,𝜖,𝑣,𝛿) =
𝑑(𝑢 − 𝑣 − 𝜖2 ), 𝜖 ∈ ℰ × 𝐸 𝑛 ;
(2.3.2)
𝑑(𝑢 − 𝑣 − 𝜖2 ), 𝜖 ∈ ℰ × 𝐸 𝑛 ;
(2.3.3)
𝑒𝑥𝑅ℎ𝑒 (𝑚,𝜖,𝛿) ⊃ {𝑣 ∈ 𝑒𝑥𝑉 (𝑚,𝜖1 , 𝛿)|𝑝− (𝑚,𝜖2 ,𝜖3 + 𝑣, ) ≤ 0}
(2.3.4)
𝑖𝑛𝑅ℎ𝑒 (𝑚,𝜖,𝛿) ⊃ {𝑣 ∈ 𝑖𝑛𝑉 (𝑚,𝜖1 , 𝛿)|𝑝+ 𝑅ℎ𝑒 (𝑚,𝜖2 ,𝜖3 + 𝑣, ) ≤ 0}
(2.3.5)
sup
𝑢∈𝑒𝑥𝑉 (𝑚,𝜖1 ,)
𝑝+ (𝑚,𝜖,𝑣,𝛿) =
sup
𝑢∈𝑖𝑛𝑉 (𝑚,𝜖1 ,)
Произведем оценку множества 𝑑𝑜𝑚(𝑅ℎ𝑒 ,ℰ 2 × 𝐸 𝑛 ), для этого введем функцию
𝑝* (𝑚,𝜖) =
inf
sup
𝑢∈𝑉 (𝑚,𝜖1 ) 𝑢∈𝑉 (𝑚,𝜖2 )
𝑑(𝑢 − 𝑣 − 𝜖3 )
Тогда справедливо:
𝑑𝑜𝑚(𝑅ℎ𝑒 ,ℰ × 𝐸 𝑛 ) ⊃ {𝑚, 𝜖|𝑝* (𝑚,𝜖) < 0, (𝑚,𝜖) ∈ 𝑑𝑜𝑚(𝑉, ℰ), 𝑖 = 1,2}
(2.3.6)
Введем следующие согласования:
2 𝑛 1
Δ
𝐴Δ
𝑢 (𝑚,𝜖) = {(𝑎,𝛿) ∈ ℰ × ×+ |(𝛼1 ,𝛿) ∈ 𝑐𝑜𝑚𝐼𝑈 [𝑉,ℰ](𝑚,𝜖1 ),
(𝛼2 ,𝛿) ∈ 𝑐𝑜𝑛𝐸𝐷Δ [𝑉,ℰ](𝑚,𝜖2 ), 𝑝* (𝑚,) < 0,𝛼3 < 𝜖3 }
2 𝑛 1
Δ
𝐴Δ
𝑑 (𝑚,𝜖) = {(𝑎,𝛿) ∈ ℰ × ×+ |(𝛼1 ,𝛿) ∈ 𝑐𝑜𝑚𝐼𝐷 [𝑉,ℰ](𝑚,𝜖1 ),
(𝛼2 ,𝛿) ∈ 𝑐𝑜𝑛𝐸𝑈 Δ [𝑉,ℰ](𝑚,𝜖2 ), 𝑝* (𝑚,) < 0,𝛼3 < 𝜖3 }
Теорема 2.3.1. Если 𝑉 устойчиво, то для (𝐿,𝑙) = (𝑈,𝑢),(𝐷,𝑑) справедливо:
2
𝑛
Δ
(𝑅ℎ𝑒 ,ℰ 2 × 𝐸 𝑛 ) ∈ 𝐼𝑆𝐿Δ [𝑑𝑜𝑚(𝐴Δ
𝑙 , ℰ × 𝐸 ),𝐴𝑙 ]
28
Доказательство. Очевидно из оценок 2.3.2— и устойчивости 𝑉
2.4
Устойчивости Парето оптимальных решений стохастических
задач векторной оптимизации.
Исследуем множество точек, оптимальных по Паретто альтернатив для
следующей задачи:
⟨𝑋, 𝑌, Ω, max 𝑓 (𝑥,𝜔), ℛ⟩
(2.4.1)
𝑥∈𝑋
𝑚
где 𝑋 ⊂ 𝑅 , 𝑦 ∈ 𝑌 ,𝜔 ∈ Ω, ℛ - принципом оптимальности, представляющий пару ⟨𝐷, 𝑅𝑝 (𝑓 (𝑥,𝜔))⟩, 𝐷 - способ преодоления неопределенности,
𝑅𝑝 (𝑓 (𝑥,𝜔)) — отношение Парето на 𝑓 (𝑥,𝜔).
Обозначим 𝑉 = 𝑓 (𝑥,𝜔). Пусть как и в предшествующем разделе задан
(𝑉,ℰ), 𝑉 : 𝑀 × ℰ → M(𝐸 𝑛 ) Принцип оптимальности, соответствующего множеству парето–оптимальных точек — (𝑅𝑝 ,ℰ 2 × 𝐸 2𝑛 )
𝑅𝑝 (𝑚,𝜖) = {𝑣 ∈ 𝑉 (𝑚,𝜖1 )|если𝑢 ∈ 𝑉 (𝑚,𝜖2 ) и 𝑢 ≥ 𝑣 − 𝜖3 то 𝑢 ≤ 𝑣 + 𝜖4 }
Введем следующие обозначения:
𝐷(𝑚,𝜖,𝑣) = {𝑢 ∈ 𝑉 (𝑚,𝜖1 )|𝑑(𝑢 − 𝑣 + 𝜖2 ) ≥ 0}, 𝜖 ∈ ℰ × 𝐸 𝑛
𝑝(𝑚,𝜖,𝑣) =
sup
𝑢𝑖 − 𝑣𝑖 , 𝑖 = 1, . . . ,𝑛, 𝜖 ∈ ℰ × 𝐸 𝑛
𝑢∈𝐷(𝑚,𝜖,𝑣)
Рассмотрим согласования:
𝐵𝑢Δ (𝑚,𝜖) = {(𝛼,𝛿) ∈ ℰ 2 × 𝐸 2𝑛 × 𝐸+1 |(𝛼1 ,𝛿) ∈ 𝑐𝑜𝑛𝐼𝑈 Δ [𝑉,ℰ](𝑚,𝜖1 ),
(𝛼1 ,𝛿) ∈ 𝑐𝑜𝑛𝐸𝐷Δ [𝑉,ℰ](𝑚,𝜖2 ), 𝛼3 ≥ 𝛼3 , 𝛼4 ≤ 𝜖4 , 𝑝* (𝑚,𝛼,𝛿) < 0}
𝐵𝑑Δ (𝑚,𝜖) = {(𝛼,𝛿) ∈ ℰ 2 × 𝐸 2𝑛 × 𝐸+1 |(𝛼1 ,𝛿) ∈ 𝑐𝑜𝑛𝐼𝐷Δ [𝑉,ℰ](𝑚,𝜖1 ),
(𝛼1 ,𝛿) ∈ 𝑐𝑜𝑛𝐸𝑈 Δ [𝑉,ℰ](𝑚,𝜖2 ), 𝛼3 ≥ 𝛼3 , 𝛼4 ≤ 𝜖4 , 𝑝* (𝑚,𝛼,𝛿) < 0}
Теорема 2.4.1. Если 𝑉 устойчиво, то для (𝐿,𝑙) = (𝑈,𝑢),(𝐷,𝑑) выполнено:
(𝑅𝑝 ,ℰ × 𝐸 2𝑛 ) ∈ 𝐼𝑆𝐿Δ [𝑑𝑜𝑚(𝐵𝑙Δ ,ℰ 2 × 𝐸 2𝑛 ),𝐵𝑙Δ ]
29
Доказательство. Очевидно из введенных согласований и устойчивости 𝑉
30
Глава 3. Исследование устойчивости решения стохастической
задачи векторной оптимизации информационной системы.
Проблема исследования проблемы выбора оптимальной реализации информационных систем на сегодняшний день стоит весьма остро. Удачная реализация информационной системы позволят предприятиям избавится от издержек, увеличить качество получаемых из обработки данных информации,
успешно справляться с возникающими трудностями, увеличить активность производства.
В связи с ростом сложности и нетривиальности задачи выбора оптимальной реализации информационных систем в последнее время активно используются для ее решения теория принятия решений, математическое программирование и многоцелевая оптимизация.
Например в работе [50] рассмотрена задача многокритериальной оценки
характеристик качества информационных систем, предлагается модель оценки
этих характеристик в виде двухэтапной статистической модели принятия решений при неопределенности, определены критерии выбора наилучшего варианта
информационной системы. В [51] с единых позиций излагается методология
оптимизации информационных систем при учете совокупности показателей качества, включая особенности многокритериальной постановки задачи, методы
формирования множества допустимых вариантов и нахождения подмножетсва
Парето-оптимальных систем. В [52] — рассматриваются виды архитектур, способы постановок и решения задач оптимального выбора архитектуры информационных систем. [53; 54] — приводится пример выбора наилучшего варианта архитектуры информационной системы с использованием аппарата многоцелевой оптимизации. [55] представлена математическая модель оптимизации
информационной системы с точки зрения времени реализации и стоимости.
Авторы [56] решают задачу выбора функций информационной системы с использованием аппарата многоцелевой оптимизации. [57] приводятся примеры
применения стохастической оптимизации для оптимизации аппаратной части
ИС. [58] рассмотрены многокритериальные задачи для оптимизации планирования разрабоки проекта. В [59; 60] рассмотренны проблемы проектирования,
как задачи многоцелевой оптимизации. В [61; 62] представлен обзор литерату-
31
ры по оптимизации информационных систем. [63] — представлены алгоритмы
многокритериальной оптимизации.
Несмотря на интерес к данной теме в последнее время, много вопросов
остаются нерешенными, например изучения устойчивости решения стохастической задачи многоцелевого оптимального выбора информационной системы по
отношения к различным параметрам, а также к выбору оптимального решения
не был освящен.
В главе задача выбора оптимальной програмной архитектуры ИС поставлена как задача стохастической многоцелевой оптимизации. Произведено изучение данной задачи на существование и различные виды устойчивости с использованием аппарата, разработанного автором в главах ??,2. На основе полученных данных исследования выбран наилучший принцип оптимальности,
дающий решение, обладающее необходимыми для ЛПР видами устойчивости.
3.1
Архитектура информационных систем.
Развитие современных технологий находится на весьма высоком уровне,
что позволяет создавать информационные системы любой сложности, масштаба
и функциональности. Основным ограничением на это являются требования бизнеса, по необходимости уменьшению затрат на создание и поддержку информационных систем, сокращение времени производства. Это обеспечивает развитие
рационального подхода к процессу проектирования, развития и эксплуатации
информационных систем. Одним из основных способов удовлетворения требований бизнеса – выбор наиболее эффективной архитектуры информационной
системы.
Термин "архитектура"изначально относился к проектированию и постройке различных сооружений, определял их структуру, базовые принципы
организации, взаимоотношения между составными частями. Термин "архитектура применительно к техническим системам, представляет собой абстрактную
модель, в которой нет подробностей реализации.
На данный момент нет однозначного определения термина "архитектура
информационных систем в первую очередь это определено:
32
1. Отсутствием единого определения термина "информационная система". В связи со сложностью структуры, единственным способом описания ее остается консолидация нескольких точек зрения, что в каждом
конкретном случае приводит к различным результатам.
2. Многообразием трактовок термина «архитектура».
Определимся далее понимать под архитектурой концепцию, которая определяет модель, выполняемые функции, взаимосвязь и структуру компонентов
информационной системы.
Один из основных критериев выбора архитектуры для планируемой информационной системы, в условиях рынка, это стоимость владения ею. Она
складывается из плановых затрат и стоимости рисков.
Плановые затраты составляют стоимость разработки, обслуживания и модернизации информационной системы.
Стоимость рисков определяется стоимостью всех типов рисков, их вероятностями и матрицей соответствия между ними. Данная матрица определена
вобранной архитектурой.
Выделяют следующие основные типы рисков:
1. риски при создании проекта системы;
2. риски программной реализации системы;
3. технические риски;
4. риски, связанные с эксплуатацией системы;
5. риски, связанные с вариативностью бизнес-процессов;
6. операционные риски.
Архитектура информационной системы должна определяться еще на этапе технико-экономического обоснования, и выбираться таким образом, чтобы
удовлетворять необходимым критериям поставленной перед информационной
системой, а также минимизировать стоимость владения ею.
Исходя из этого архитектуру информационной системы можно считать
моделью, которая определяет стоимость владения данной информационной системой через имеющуюся в ней инфраструктуру.
Архитектура больших информационных систем, реализованных в крупных организациях, обычно представляется в виде совокупности следующих типов архитектур:
1. техническая архитектура.
33
2. программная архитектура;
3. архитектура данных;
4. ИТ-архитектура;
5. архитектура бизнес процессов;
Техническая архитектура представляет первый уровень архитектуры информационной системы. Она определяет аппаратные средства, необходимые
для выполнения заявленного набора функций, средства для сетевого обеспечения, средства обеспечения надежности и отказоустойчивости. Обычно техническая архитектура определяется перечислением периферийных устройств,
маршрутизаторов, сетевых коммутаторов, жестких дисков, оперативной памяти, процессоров и т.д.
Программная архитектура представлена, обычно, совокупностью компьютерных программ, которые способны решать конкретные задачи. Она необходима для описания программных интерфейсов, компонентов и поведения программ, составляющих информационную систему.
Архитектура данных объединяет физические хранилища данных и средства, предназначенные для управления данными. В нее входят логические хранилища данных и, если компания работает со знаниями, выделяется отдельный
подуровень - архитектура знаний. Архитектура данных описывает физические
и логические модели данных, определяет целостность данных и ограничения
на них.
ИТ-архитектура является связующей. Она формирует набор сервисов, которые используются на уровне архитектуры данных, и на уровне программной
архитектуры. В случае, если какая-либо особенность работы для этих двух
уровней не предусмотренна, то значительно возрастают вероятности сбоев в
работе информационной системы. В некоторых случаях высокой степени интеграции приложений не разделяют ит-архитектуру и архитектуру отдельного
приложения.
Архитектура бизнес-процессов определяет стратегии ведения бизнеса,
ключевые процессы и принципы организации, которые представляют большую
важность.
Также разделяют такие понятия как микроархитектура и макроархитектура, которые применяются для описания программных систем. В соответствии
с приведенной выше моделью уровней архитектур корпоративных информа-
34
ционных систем макроархитектуру относят к уровням архитектуры данных и
программной архитектуры, а макроархитектуру к уровню ит-архитектуры.
Макроархитектура описывает устройство ИС как совокупности ее компонент и подсистем. Микроархитектура описывает устройство конкретного компонента ИС.
Рост объема передаваемой и обрабатываемой информации ведет к усложнению и увеличению количества задач обработки информации, что в свою очередь ведет к увеличению сложности программных систем. Поэтому, для того,
чтобы создание, обслуживание, доработка информационных систем были рентабельны для бизнеса, необходимо рационально и обоснованно выбирать те или
иные архитектурные подходы при разработке информационных систем.
Для решения проблем усложнения сложности программных систем используют методы абстракции, декомпозиции и инкапсуляции. Разрабатываемая информационная система представляется в виде множества модулей, выполняющих определенные функции. Объединенные вместе модули выполняют
функции самой системы. В рассмотренном случае организация организация составных модулей будет определяться микроархитектурой, а способы взаимодействия между ними в рамках единой системы - макроархитектурой.
Сложность реализации системы обычно уменьшается за счет разбиения
сложных задач на более простые подзадачи. В результате это приводит к появлению большого количества простых задач, на основе которых реализуются даже очень сложные задачи. В основу этого положен принцип объектноориентированного программирования, в котором создаются отдельные классы
объектов, выделяемые для решения конкретных задач.
Однако формирование системы классов в случае объектноориентированного программирования упрощает процессы управления программной системой. Можно привести следующий пример: подсистема может
выполнять большой спектр действий для различных процессов в организации,
выход ее из строя нарушает сразу несколько из них.
Для оценки влияния компонентов системы друг на друга выделяют следующие характеристики:
– слабую связанность;
– сильное зацепление.
35
Принцип слабой связности отвечает за распределение функционала между компонентами системы так, чтобы степень связности между этими компонентами оставалась низкой. Степень связности в данном случае представляет
собой меру взаимосвязи подсистем. Данный принцип воплощает один из основных принципов системного подхода, который рекомендует минимизировать
количество информационных потоков между подсистемами.
Подсистема с низкой степенью связанности (обладает следующими свойствами:
– число зависимостей между подсистемами мало;
– изменения в одной подсистеме мало зависят от изменений в другой подсистеме;
– Подсистемы могут быть повторно использовать.
Принцип высокого зацепления обеспечивает высокую сфокусировать,
управляемость и понятность систем.
Как и слабая связность, сильное зацепление представляет собой меру,
определяющую связность и сфокусированность функций подсистемы. В общем
случае утверждается, что система обладает высокой степенью зацепления, если
функции, входящие в ее набор тесно связан между собой.
Подсистемы с низкой степенью зацепления обычно выполняют множество
различных, не связанных между собой функций, которые обычно легко могут
быть распределены между другими подсистемами. Такие подсистемы не желательно реализовывать, поскольку это приводит к возникновению трудностей
понимания подсистемы, сложностей при повторном использовании, трудность
поддержки, ненадежность.
Необходимо отметить, что связанность характеризует систему целиком, а
связность является характеристикой отдельно взятой подсистемы. Связанность
и связность представляют собой обще-системные характеристики и применяются при проектировании любых систем.
Существует большое количество разнообразных стандартов создания надежной и удовлетворяющей необходимым требованиям архитектуры, разработки и интеграции программных систем. Данные стандарты описываются в соответствующих нормативных документах. Применение данных стандартов увеличивает шансы на создание системы высокого качества, на ее дальнейшее без-
36
отказное функционирование. Рациональность применения данных стандартов
определяется до момента начала работ.
3.2
Критерии качества информационных систем.
Качеством информационной системы можно считается набор ее характеристик, удовлетворяющий заявленные потребности заинтересованных лиц.
Данное определение включено в стандарт [64], в котором также определены
и сами характеристики.
Обычно выделяют три аспекта качества информационных систем:
– Внутреннее качество.
– Внешнее качество, представляющее поведенческие характеристики.
– Контекстное качество, характеризующее ощущения пользователей при
различных контекстах использования.
Руководствуясь этими аспектами, [64] выделяет следующие характеристики качества информационной системы:
– Функциональность.
– Надёжность.
– Производительность.
– Удобство использования.
– Удобство сопровождения.
– Переносимость.
Функциональность подразумевает под собой способность информационной системы решать задачи в определённых условиях. Она подразделяется на
следующие подхарактеристики:
– функциональная пригодность — способность решать поставленные задачи;
– точность — способность получать требуемые результаты;
– способность к взаимодействию — способность взаимодействия с требуемым набором иных систем;
– защищённость — способность не допускать не авторизованный доступ
к данным и программам;
37
– соответствие стандартам и правилам — соответствие программного
обеспечения различным регламентирующим нормам.
Надёжность характеризуется способностью информационной системы сохранять функциональность в заданных границах при определённых условиях.
Она подразделяется на следующие подхарактеристики:
– зрелость — величина, обратно-пропорциональная частоте отказов программного обеспечения;
– устойчивость к отказам — способность сохранять необходимый уровень
работоспособности в случае отказов и нарушениях правил взаимодействия с окружением;
– способность к восстановлению — способность восстанавливать требуемый уровень работоспособности после отказа;
– соответствие стандартам надёжности.
Производительность определяется способностью информационной системы при определённых условиях демонстрировать требуемую работоспособность
при заданных выделенных ресурсах. Также определяется как отношение получаемых результатов к затраченным ресурсам. Данная характеристика подразделяется на следующие подхарактеристики:
– временная эффективность — способность информационной системы
получать требуемые результаты, обеспечивать передачу необходимого
объёма данных за определённое время;
– эффективность использования ресурсов — способность информационной системы решать поставленные задачи и использованием заданных
объёмов определённых видов ресурсов;
– соответствие стандартам производительности.
Удобство использования определяется привлекательностью для пользователей, удобством в обучении и использовании информационной системы. В
своём составе также имеет ряд подхарактеристик:
– понятность;
– удобство работы;
– удобство обучения;
– привлекательность;
– соответствие стандартам удобства использования.
38
Удобство сопровождения характеризуется удобством сопровождения информационной системы. Данная характеристика также включает ряд подхарактеристик:
– анализируемость — характеризуется удобством проведения анализа
ошибок, дефектов, необходимостей внесения изменений и последствий
от них;
– удобство внесения изменений — величина обратно-пропорциональная
трудозатратам на выполнение требуемых изменений;
– стабильность — величина обратно-пропорциональная риску появления
непредусмотренных последствий при внесении требуемых изменений;
– удобство проверки — величина обратно-пропорциональная требуемым
трудозатратам на тестирование и другие виды проверок достижения
предусмотренных результатов при внесении изменений;
– соответствие стандартам удобства сопровождения.
Переносимость характеризуется способностью информационной системы
сохранять работоспособность при изменении организационных, аппаратных и
программных аспектов окружения. Для этой характеристики выделяются следующий подхарактеристики:
– адаптируемость — способность информационной системы без совершения непредусмотренных действий приспосабливаться к изменениям
окружения;
– удобство установки — способность информационной системы устанавливаться в заранее определённое окружение;
– способность к сосуществованию — способность информационной системы функционировать в общем окружении с другими информационной
системы, разделяя с ними ресурсы;
– удобство замены — возможность применения информационной системы
вместо уже используемой информационной системы;
– соответствие стандартам переносимости.
Все указанные характеристики описывают внутреннее и внешнее качество информационной системы. Для описания контекстного качества существует другой, уменьшенный набор характеристик:
– эффективность — способность информационной системы решать пользовательские задачи с заданной точностью и в заданном контексте;
39
– продуктивность — способность информационной системы получать требуемые результаты при использовании заранее определённого количества ресурсов;
– безопасность — способность информационной системы поддерживать
требуемый низкий уровень риска нанесения ущерба людям, бизнесу и
окружающей среде;
– удовлетворённость пользователей — способность информационной системы при использовании в определённом контексте приносить удовлетворение пользователям.
Руководствуясь рассмотренными показателями можно значительным образом
увеличить качество программных модулей, а, следовательно, и всей информационной системы в целом.
3.3
Постановка задачи задачи стохастической многоцелевой
оптимизации информационных систем.
В приведенных выше разделах представлена проблема выбора оптимальной реализации информационной системы. Это весьма трудоемкая задача, необходимо сформировать множество альтернатив возможных реализаций информационных систем, различающихся различными видами архитектуры и удовлетворяющих требуемым характеристиками качества. В данном разделе рассматривается задача стохастической многоцелевой оптимизации информационной
системы по следующим критериям качества, рассмотренным в разделе 3.2 данной главы.
– Функциональность.
– Надёжность.
– Производительность.
– Удобство использования.
– Удобство сопровождения.
– Переносимость.
40
Также дополнительным критерием качества будем рассматривать стоимость, которую необходимо затратить на реализацию конкретного варианта
информационной системы.
Введем следующие функционалы, харрактеризующие каждый из критериев: функциональность — 𝑓1 (𝑥,𝜔), надёжность — 𝑓2 (𝑥,𝜔), производительность — 𝑓3 (𝑥,𝜔), удобство использования — 𝑓4 (𝑥,𝜔), удобство сопровождения
— 𝑓5 (𝑥,𝜔), переносимость — 𝑓6 (𝑥,𝜔), стоимость — 𝑓7 (𝑥,𝜔). Функционалы представлены в следующем виде:
𝑓1 (𝑥,𝜔) = 0.25𝜔𝑥1 + 11𝜔𝑥2 + 𝜔𝑥3 + 121𝜔𝑥4 + 0.4𝜔𝑥5
(3.3.1)
𝑓2 (𝑥,𝜔) = 12𝜔𝑥1 + 16𝜔𝑥2 + 2.5𝜔𝑥3 + 95𝜔𝑥4 + 6.4𝜔𝑥5
(3.3.2)
𝑓3 (𝑥,𝜔) = 0.4𝜔𝑥1 + 5𝜔𝑥2 + 13𝜔𝑥3 + 10𝜔𝑥4 + 0.9𝜔𝑥5
(3.3.3)
𝑓4 (𝑥,𝜔) = 2.25𝜔𝑥1 + 16𝜔𝑥2 + 3𝜔𝑥3 + 17𝜔𝑥4 + 0.8𝜔𝑥5
(3.3.4)
𝑓5 (𝑥,𝜔) = 0.32𝜔𝑥1 + 32𝜔𝑥2 + 𝜔𝑥3 + 24𝜔𝑥4 + 0.12𝜔𝑥5
(3.3.5)
𝑓6 (𝑥,𝜔) = 2.5𝜔𝑥1 + 4𝜔𝑥2 + 𝜔𝑥3 + 19𝜔𝑥4 + 𝜔𝑥5
(3.3.6)
𝑓7 (𝑥,𝜔) = 112𝜔𝑥1 + 431.3𝜔𝑥2 + 1122.1𝜔𝑥3 + 112𝜔𝑥4 + 132𝜔𝑥5
(3.3.7)
Пусть представлено множество альтернативных реализаций информационной системы: 𝑋 = {𝑥1 , . . . , 𝑥4 }. Каждая из представленных альтернатив характеризуется следующим набором векторов.
𝑥1 = {10, 23, 432, 213, 12},
(3.3.8)
𝑥2 = {12, 13, 332, 299, 19},
(3.3.9)
𝑥3 = {8, 15, 465, 313, 9},
(3.3.10)
𝑥4 = {16, 34, 324, 315, 34}
(3.3.11)
Поведение реализаций информационных систем зависит от нагрузки в
каждый момент времени, которая является вероятностной величиной. Допустим что уровни нагрузки информационной системы представлены множеством: Ω = {𝜔1 ,𝜔2 , . . . ,𝜔5 }, где 𝜔1 = 0.2 — низкий уровень нагрузки, 𝜔2 = 0.4
— уровень нагрузки ниже среднего,𝜔3 == 0.6 — средний уровень нагрузки, 𝜔4 = 0.8 — уровень нагрузки выше среднего, 𝜔5 = 1 — уровень пиковой нагрузки. Допустим что известно априорное распределение вероятностей
𝑝 = {𝑝1 , . . . ,𝑝5 } = {0.1,0.2,0.4,0.15,0.10}.
41
Необходимо выбрать лучший вариант проекта, обеспечивающий наилучший показатель функциональности 𝑓1 (𝑥,𝜔), надёжности 𝑓2 (𝑥,𝜔), производительности 𝑓3 (𝑥,𝜔), удобство использования 𝑓4 (𝑥,𝜔), удобство сопровождения
𝑓5 (𝑥,𝜔), переносимость 𝑓6 (𝑥,𝜔) и наименьшее значение расходов 𝑓7 (𝑥,𝜔). Будем
трактовать 𝑓𝑖 (𝑥,𝜔), 𝑖 = 1,7, как функции полезности. Их значения приведены в
таблицах в Приложении А.1.
Значения функции полезности 𝑓𝑖 (𝑥,𝜔), 𝑖 = 1,,7 оцениваются в разных величинах и шкалах. Нормализуем их. Для удобства представим значение функции полезности в шкале от 0 до 10 баллов таким образом, чтобы лучшие значения имели большее число, а худшие - меньшее.
Нормализуем значения 𝑓𝑖 , 𝑖 = 1,7 следующими формулами:
𝑓𝑖 (𝑥𝑘 ,𝜔𝑗 ) = 10 ·
𝑓𝑖 (𝑥𝑘 ,𝜔𝑗 )
, 𝑖 = 1,7, 𝑗 = 1,5
max𝑥𝑘 ∈𝑋 max𝜔𝑗 ∈Ω 𝑓𝑖 (𝑥𝑘 ,𝜔𝑗 )
где 𝑓𝑖 (𝑥𝑘 ,𝜔𝑗 ), 𝑖 = 1,7, 𝑗 = 1,5 — нормализованные значения полезностей
характеристик.
Полученные
нормализованные
значения
функции
полезности
𝑓𝑖 (𝑥𝑘 ,𝜔𝑗 ), 𝑖 = 1,7, 𝑗 = 1,5 представлены в таблицах в Приложении А.2.
Построим критерии снятия неопределенности для оценивания различных
вариантов реализации ИС критерии 𝑓𝑖 (𝑥𝑘 ,𝛽,𝜆1 ,𝜆2 ), 𝑖 = 1,7.
Допустим что для функционалов 𝑓𝑖 (𝑥𝑘 ,𝛽,𝜆1 ,𝜆2 ), 𝑖 = 1,7 выбраны одинаковые критерии с параметром 𝛽 = 0. Критерии оценки качества локальных
функционалов 𝑓𝑖 (𝑥𝑘 ,𝛽,𝜆1 ,𝜆2 ), 𝑖 = 1,7 для функции полезности 𝑓𝑖 (𝑥𝑘 ,𝜔𝑗 ),𝑖 = 1,7
для каждого из решений {𝑥1 ,𝑥2 ,𝑥3 ,𝑥4 } приобретут следующий вид:
𝑓𝑖 (𝑥𝑘 ,0,𝜆1 ,𝜆2 ) = (1 − 𝜆1 )𝐵𝑖 (𝑝,𝑥𝑘 ) + 𝜆1 𝜎𝑖 (𝑝,𝑥𝑘 ), 𝑖 = 1,7;
𝐵𝑖 (𝑝,𝑥𝑘 ) =
5
∑︁
𝑝𝑗 𝑓𝑖 (𝑥𝑘 ,𝜔𝑗 );
𝑗=1
𝜎𝑖 (𝑝,𝑥𝑘 ) =
5
[︁ ∑︁
𝑗=1
2
[𝑓𝑖 (𝑥𝑘 ,𝜔𝑗 ) − 𝐵𝑖 (𝑝,𝑥𝑘 )] 𝑝𝑗
]︁ 12
42
Решение задачи выбора лучшего варианта системы по выбранному критерию зависит от параметра 𝜆1 . Рассмотрим решение задачи при 𝜆1 =
0.0,0.1, . . . , 1.0
В таблицах в Приложении А.3 приведены оценки вариантов проектов ИС
𝑥𝑘 по критерию 𝑓𝑖 (𝑥𝑘 ,𝜆1 ), 𝑖 = 1, . . . ,7
По приведенным данным видно, как в зависимости от величины 𝜆1 изменяются лучшие решения, оцениваемые по локальным критериям 𝑓𝑖 (𝑥𝑘 ,𝜆1 ), 𝑖 =
1,7
Полученные данные являются исходными для решения задачи на верхнем
уровне.
Перейдем от описания оценок вариантов ИС на нижнем уровне к общей
оценке вариантов на верхнем уровне. На верхнем уровне решается задача:
max
𝑥𝑘 ∈{𝑥1 ,...,𝑥4 }
𝐹 ([𝑓𝑖 (𝑥𝑘 ,𝜆1 )])
где функция F строится на основе принципа оптимальности, выбираемого
ЛПР.
Запишем принцип идеальной точки для рассматриваемой задачи:
*
𝐹 (𝑥 ,𝜆1 ) =
max
𝑘∈{𝑥1 ,...,𝑥4 }
𝐹 (𝑥𝑘 ,𝜆1 ) =
max
𝑥𝑘 ∈{𝑥1 ,...,𝑥4 }
7
(︁ ∑︁
𝛾𝑖2 (𝑓𝑖𝐼 (𝜆1 )
2
− 𝑓𝑖 (𝑥𝑘 ,𝜆1 ))
)︁
𝑖=1
где идеальная точка 𝑓 𝐼 выбрана ЛПР как вектор максимальных значений
каждого из локальных функционалов в отдельности:
𝑓 𝐼 (𝜆1 ) = (𝑓1𝐼 (𝜆1 ),𝑓2𝐼 (𝜆1 ),𝑓3𝐼 (𝜆1 ),𝑓4𝐼 (𝜆1 ),𝑓5𝐼 (𝜆1 ),𝑓6𝐼 (𝜆1 ),𝑓7𝐼 (𝜆1 )) =
(︁
=
max 𝑓1 (𝑥𝑘 ,𝜆1 ), max 𝑓2 (𝑥𝑘 ,𝜆1 ), max 𝑓3 (𝑥𝑘 ,𝜆1 ),
𝑥𝑘 ∈{𝑥1 ,...,𝑥4 }
max
𝑥𝑘 ∈{𝑥1 ,...,𝑥4 }
𝑓4 (𝑥𝑘 ,𝜆1 ),
𝑥𝑘 ∈{𝑥2 ,...,𝑥4 }
max
𝑥𝑘 ∈{𝑥1 ,...,𝑥4 }
max
𝑥𝑘 ∈{𝑥1 ,...,𝑥4 }
𝑥𝑘 ∈{𝑥1 ,...,𝑥4 }
𝑓5 (𝑥𝑘 ,𝜆1 ), max 𝑓6 (𝑥𝑘 ,𝜆1 ),
𝑥 ∈{𝑥 ,...,𝑥 }
)︁ 𝑘 1 4
𝑓7 (𝑥𝑘 ,𝜆1 )
значения
координат
идеальной
точки
𝑓 𝐼 (𝜆1 )
=
(𝑓1𝐼 (𝜆1 ),𝑓2𝐼 (𝜆1 ),𝑓3𝐼 (𝜆1 ),𝑓4𝐼 (𝜆1 ),𝑓5𝐼 (𝜆1 ),𝑓6𝐼 (𝜆1 ),𝑓7𝐼 (𝜆1 )) при различных 𝜆1 приведены в таблицах приложения.
43
Пусть оценки по всем локальным критериям одинаково важны для ЛПР
при общей оценке качества ИС, т.е весовые коэффициенты 𝛾𝑖 , 𝑖 = 1, 7 равны.
Тогда решение для различных 𝜆 представлены в Приложении А.5, программная
реализация алгоритма решения задачи приводится в Приложении Б.
3.4
Изучение устойчивости и решение задачи многоцелевой
оптимизации информационных систем.
Изучим вопрос устойчивости полученного решения стохастической задачи
многоцелевой оптимизации информационной системы с использованием аппарата, полученного в главе 2 данной работы. По Теореме 2.2.2, решение задачи
стохастической многоцелевой оптимизации:
⟨𝑋, Ω, max 𝑓 (𝑥,𝜔), 𝑅⟩
𝑥∈𝑋
(3.4.1)
где 𝑋 ⊂ 𝑅𝑚 , 𝜔 ∈ Ω, 𝑅 - принципом оптимальности, представляющий
пару ⟨𝐷, 𝐹 (𝑓 (𝑥,𝜔))⟩, 𝐷 - способ преодоления неопределенности, 𝐹 (𝑓𝑖 (𝑥,𝜔)) —
свертка функционалов, внутренне ∆ устойчиво сверху, что дает возможность
решать задачу при наличии возмущений.
Ситуация возмущения исходных данных на малые величины и решения
полученных при этом задач приведены в таблицах приложения. Анализ результатов, представленных в Приложении А.23 показывает, что решения, полученные при возмущении исходной модели, совпадают с решениями изначальной
задачи стохастической многоцелевой оптимизации. Данный результат соответствует утверждению 2.2.2.
44
Заключение
В процессе исследования были решены следующие задачи:
1. Определены виды устойчивости решений для стохастических задач
многоцелевой оптимизации.
2. Сформулированы и доказать утверждения, определяющие тот или
иной вид устойчивости.
3. Продемонстрировать разработанный аппарат на примере решения
практической стохастической задачи многоцелевой оптимизации информационной системы.
В результате работы:
1. Определены виды устойчивости решений для стохастических задач
многоцелевой оптимизации.
2. Сформулированы и доказать утверждения, определяющие тот или
иной вид устойчивости.
3. Продемонстрировано применение разработанного аппарата для исследования устойчивости решения задачи многоцелевой оптимизации информационной системы.
Научная новизна:
1. Впервые определены виды устойчивости решений для стохастических
задач многоцелевой оптимизации.
2. Впервые сформулированы и доказаны утверждения, определяющие тот
или иной вид устойчивости.
3. Впервые применение разработанного аппарата для решения практических задач.
Исследование имеет большую научную значимость, т.к. впервые вводятся
виды устойчивости решений стохастических задач многоцелевой оптимизации,
доказываются утверждения, позволяющие определить тот или иной вид устойчивости решения. Приводится пример практического решения задачи и изучения устойчивости решений с использованием предложенных автором критериев.
Достоверность полученных результатов определяется полнотой рассмотренного материала на достаточно высоком научно-теоретическом уровне. Все
45
положения, выдвинутые в диссертации, доказаны. Итоговые результаты работы, изложенные в заключении, соотносятся с целью и задачами.
46
Список литературы
1. В.В. Подиновский, В.Д. Ногин. Парето-оптимальные решения многокритериальных задач. — М.: Физматлит, 2007. — 256 с.
2. В.Д. Ногин. Сужение множества Парето: аксиоматический подход. — М.:
Физматлит, 2015. — 236 с.
3. В.Д. Ногин. Принятие решений в многокритериальной среде: количественный подход. — М.: Физматлит, 2002. — 176 с.
4. Колбин В. В. Теория решений. — Санкт- Петербург: Санкт- Петербург,
2013. — 865 с.
5. Рыков А. С. Системный анализ: модели и методы принятия решений и поисковой оптимизации. — М.: Издательский Дом МИСиС, 2009. — 608 с.
6. В.Д. Ногин, И.О. Протодьяконов, И.И Евлампиев. Основы теории оптимизации. — М.: Высш. шк., 1986. — 384 с.
7. Колбин В. В. Стохастическое программирование (модели и методы оптимизации в условиях дефицита информации). — Германия: Palmarium Academic
Publishing, 2014. — 256 с.
8. Э. Мушик, П. Мюллер. Методы принятия технических решений. — М.: Мир,
1990. — 208 с.
9. И. Ватутин Э., С. Титов В., Г. Емельянов С. Основы дискретной комбинаторной оптимизации. — М.: Аргамак-Медиа, 2016. — 270 с.
10. П. Карпенко А. Современные алгоритмы поисковой оптимизации. Алгоритмы, вдохновленные природой. — М.: МГТУ им. Н. Э. Баумана, 2016. —
446 с.
11. Васильев Ф.П. Методы оптимизации. — Москва: Факториал пресс, 2002. —
414 с.
12. H.H. Моисеев, Ю.П. Иванилов, E.М. Столяров. Методо оптимизации. —
М.: Наука, 1978. — 352 с.
47
13. Г. Реклейтис, А. Рейвиндран, К. Рэксдел. Оптимизация в технике ч.1. —
М.: Мир, 1986. — 320 с.
14. Г. Реклейтис, А. Рейвиндран, К. Рэксдел. Оптимизация в технике ч.2. —
М.: Мир, 1986. — 346 с.
15. Д.А. Поспелов. Десять "горячих точек"в исследованиях по искусственному
интеллекту // Интеллектуальные системы (МГУ). — 1996. — № 1. —
С. 47–56.
16. И. Ларичев О. Теория и методы принятия решений. — М.: Логос, 2002. —
392 с.
17. Г. Крон. Исследование сложных систем по частям (диакоптика). — М.:
Наука, 1972. — 544 с.
18. Б. Петровский А. Теория принятия решений. — М.: Академия, 2009. —
400 с.
19. В. Ройзензон Г. Способы снижения размерности признакового пространства для описания сложных систем в задачах принятия решений // Новости искусственного интеллекта. — 2005. — № 1. — С. 18–28.
20. П. Джексон. Введение в экспертные системы. — М.: Издательский дом
«Вильямс», 2001. — 624 с.
21. Р. Левин. Практическое введение в технологию искусственного интеллекта
и экспертных систем с иллюстрацией на бэйсике. — М.: Финансы и статистика, 2010. — 237 с.
22. Д. Джарратано. Экспертные системы: принципы разработки и программирование. — М.: Издательский дом «Вильямс», 2006. — 1152 с.
23. Д. Уотермен. Руководство по экспертным системам. — М.: Мир, 1989. —
388 с.
24. J. Hadamard. Sur les problemes aux derivees partielles et leur signification
partielles et leur signification physique // Bull. Univ. Princeton. — 1902.
48
25. H.H. Моисеев. Современное состояние теории исследования операций. — М.:
Наука, 1979. — 464 с.
26. А.Н. Тихонов, В.Я. Арсенин. Методы решения некорректных задач. —
Москва: Наука, 1970. — 256 с.
27. К. Иванов В., В.В. Васин, В.П. Танана. Теория линейных некорректных
задач и ее приложения. — Москва: Наука, 1978. — 256 с.
28. О.А Лисковед. Вариационные методы решения неустойчивых задач. —
Минск: Наука и Техника, 1981. — 256 с.
29. М.М. Лаврентьев, Г. Романов В., С.П. Шишатский. Некорректные задачи
математической физики н анализа. — Москва: Наука, 1980. — 256 с.
30. Р. Кини, X. Райфа. Принятие решений при многих критериях: предпочтения и замещения. — Москва: Радио и связь, 1981. — 256 с.
31. Р. Акофф, Ф. Эмери. О целеустремленных системах. — Москва: Советское
Радио, 1974. — 256 с.
32. В.А. Горелик, А.Ф. Кононенко. Теоретико-игровые модели принятия решений в эколого-экономических системах. — Москва: Радио и связь, 1982. —
256 с.
33. С.А. Ашманов. Математические модели и методы в экономике. — Москва:
Издательсво МГУ, 1980. — 256 с.
34. Ф. Кононенко А. Теоретико-игровой анализ двухуровневой иерархической
системы управления // ЖВМ и МФ. — 1974. — № 5. — С. 1161–1170.
35. Н.Н. Красовский. Игровые задачи о встрече движений. — Москва: Наука,
1970. — 256 с.
36. Н.Н. Красовский, А.И. Субботин. Позиционные дифференциальные игры.
— Москва: Наука, 1974. — 256 с.
37. А.Б. Куржанский. Управление и наблюдение в условиях неопределенности.
— Москва: Наука, 1977. — 256 с.
49
38. К.А. Багрииовский, В.П. Бусыгии. Математика плановых решений. —
Москва: Наука, 1980. — 256 с.
39. М.М. Лаврентьев. О некоторых некорректных задачах математической физики. — Новосибирск: Из-во СО АН СССР, 1962. — 256 с.
40. Д.А Молодцов. Устойчивость принципов оптимальности. — М.: Наука, 1987.
— 280 с.
41. J. Stoddart A. W. An existence theorem for optimal stochastic programming
[Электронный ресурс] // Journal of the Australian Mathematical Society. —
1968. — no. 8. — Режим доступа: https://doi.org/10.1017/S1446788700004651.
42. S. Lu, A. Budhiraja. Confidence regions for stochastic variational inequalities. //
Mathematics of Operations Research. — 2013. — no. 48.
43. D. Dentcheva, W. Romisch. Stability and Sensitivity of Stochastic Dominance
Constrained Optimization Models. // SIAM J. Optim. — 2012. — no. 23.
44. J. Zhang, H. Xu, L. Zhang. Quantitative stability analysis of stochastic quasivariational inequality problems and applications. // Mathematical Programming. — 2017. — no. 165.
45. A. Pichler, Xu Huifu. Quantitative Stability Analysis for Minimax Distributionally Robust Risk Optimization. // Stochastic Programming E-print Series
(SPEPS). — 2017. — no. 3.
46. A.F. Izmailov, A.S. Kurennoy, M.V. Solodov. Critical solutions of nonlinear
equations: stability issues. // Mathematical Programming. — 2018. — no. 168.
47. Y. Liu, H. Xu. Stability and sensitivity analysis of stochastic programs with
second order dominance constraintss. // Mathematical Programming Series. —
2013. — no. 142.
48. Perestoronin Daniil S., Kolbin Viatcheslav V. Some approaches to the study of
the stability of solutions to multi–objective optimization problems // International Journal of Applied Mathematics and Statistics. — 2016. — no. 55.
50
49. Perestoronin Daniil S., Kolbin Viatcheslav V. Several Problems of the Stability
of Malti - Objective Optimization // 2015 International Conference on "Stability
and Control Processes"in Memory of V.I.Zubov, SCP 2015. — 2015.
50. А.А. Рыков, А.С. Рыков. Многокритериальная оценка качества информационных систем при неопределенности // Проблемы управления. — 2004. —
№ 2.
51. В.М. Безрук. Методы решения многокритериальных задач оптимизации информационных систем // Радиоэлектроника и информатика. — 1999. —
№ 2.
52. Koziolek Martens Anne. Automated Improvement of Software Architecture
Models for Performance and Other Quality Attributes: Ph.D. thesis / Karlsruhe
Institute of Technology. — 2011. — 7.
53. Lars Grunske. Identifying ‘Good’ architectural design alternatives with multiobjective optimization strategies // Proceedings - International Conference on
Software Engineering. — 2006. — no. 129.
54. Anne Koziolek, Qais Noorshams, Ralf Reussner. Focussing Multi-Objective
Software Architecture Optimization Using Quality of Service Bounds // International Conference on Model Driven Engineering Languages and Systems.
— 2010.
55. И.В. Кононенко, В.А. Мироненко. Математическая модель и метод оптимизации содержания проекта с точки зрения времени и стоимости его выполнения // Восточно Европейский журнал передовых технологий. — 2010.
— № 10.
56. Combining Multi-Objective Search and Constraint Solving for Configuring
Large Software Product Lines / Henard Christopher, Papadakis Mike, Harman Mark, Le Traon Yves // Software Engineering (ICSE), 2015 IEEE/ACM
37th IEEE International Conference. — 2015.
57. О.Н. Граничин. Стохастическая оптимизация и системное программирование // Стохастическая оптимизация в информатике. — 2010. — № 1.
51
58. Stefan Gueorguiev, Mark Harman, Antoniol Giuliano. Software project planning
for robustness and completion time in the presence of uncertainty using multi
objective search based software engineering // GECCO ’09 Proceedings of the
11th Annual conference on Genetic and evolutionary computation. — 2010.
59. Andersson Johan. A Survey of Multiobjective Optimization in Engineering Design Johan // Technical report LiTH-IKP-R-1097, Department of Mechanical
Engineering, Linköping University. — 2000.
60. Johan Andersson. Multiobjective Optimization in Engineering Design: Ph.D.
thesis / Linköpings universitet. — 2001. — 7.
61. Software architecture optimization methods: A systematic literature review. /
Aleti Aldeida, Buhnova Barbora, Grunske Lars et al. // Transactions on Software Engineering. — 2012. — no. 99.
62. Akshay Jadhav, Sanjay Agrawal. A Review on Software Architecture Optimization Methods // International Journal on Recent and Innovation Trends in
Computing and Communication. — 2013. — no. 5.
63. C. Tan K., H. Lee T., F. Khor E. Evolutionary Algorithms for Multi-Objective
Optimization: Performance Assessments and Comparisons // Artificial Intelligence Review. — 2002. — no. 4.
64. Требования и оценка качества систем и программного обеспечения
(SQuaRE). Модели качества систем и программных продуктов. — М.: Стандартинформ, 2015. — 36 с.
52
Приложение А. Таблицы решения задачи многоцелевой
оптимизации ИС
А.1
Значения функционалов качества
Таблица А.1
Значение функционала функциональности 𝑓1 (𝑥,𝜔)
𝜔1
𝜔2
𝜔3
𝜔4
𝜔5
𝑥1 5293.06 10586.12 15879.18 21172.24 26465.3
𝑥2 7332.92 14665.84 21998.76 29331.68 36664.6
𝑥3 7701.72 15403.44 23105.16 30806.88 38508.6
𝑥4 7766.12 15532.24 23298.36 31064.48 38830.6
Таблица А.2
Значение функционала надежности 𝑓2 (𝑥,𝜔)
𝜔1
𝑥1 4375.96
𝜔2
8751.92
𝜔3
𝜔4
𝜔5
13127.88 17503.84 21879.8
𝑥2 5941.72 11883.44 17825.16 23766.88 29708.6
𝑥3 6258.22 12516.44 18774.66 25032.88 31291.1
𝑥4 6337.72 12675.44 19013.16 25350.88 31688.6
53
Таблица А.3
Значение функционала производительности 𝑓3 (𝑥,𝜔)
𝜔1
𝜔2
𝜔3
𝜔4
𝜔5
𝑥1 1575.16 3150.32 4725.48 6300.64 7875.8
𝑥2 1478.58 2957.16 4435.74 5914.32 7392.9
𝑥3 1852.26 3704.52 5556.78 7409.04 9261.3
𝑥4
1513.8
3027.6
4541.4
6055.2
7569.0
Таблица А.4
Значение функционала удобства использования 𝑓4 (𝑥,𝜔)
𝜔1
𝜔2
𝜔3
𝜔4
𝜔5
𝑥1 1063.42 2126.84 3190.26 4253.68 5317.1
𝑥2 1265.84 2531.68 3797.52 5063.36 6329.2
𝑥3 1396.24 2792.48 4188.72 5584.96 6981.2
𝑥4 1386.84 2773.68 4160.52 5547.36 6934.2
Таблица А.5
Значение функционала удобства сопровождения 𝑓5 (𝑥,𝜔)
𝜔1
𝜔2
𝜔3
𝜔4
𝜔5
𝑥1 1256.93 2513.86 3770.78 5027.71 6284.64
𝑥2 1586.02 3172.05 4758.07
6344.1
7930.12
𝑥3 1692.13 3384.26 5076.38 6768.51 8460.64
𝑥4 1796.24 3592.48 5388.72 7184.96
8981.2
54
Таблица А.6
Значение функционала переносимости 𝑓6 (𝑥,𝜔)
𝜔1
𝑥1
𝜔2
917.1
𝜔3
𝜔4
𝜔5
1834.2 2751.3 3668.4 4585.5
𝑥2 1217.4 2434.8 3652.2 4869.6 6087.0
𝑥3 1296.6 2593.2 3889.8 5186.4 6483.0
𝑥4 1296.6 2593.2 3889.8 5186.4 6483.0
Таблица А.7
Значение функционала стоимости разработки 𝑓7 (𝑥,𝜔)
𝜔1
𝜔2
𝜔3
𝜔4
𝜔5
𝑥1 104628.82 209257.64 313886.46 418515.28 523144.1
А.2
𝑥2
83635.02
167270.04 250905.06 334540.08 418175.1
𝑥3
113640.6
227281.2
𝑥4
84523.92
169047.84 253571.76 338095.68 422619.6
340921.8
454562.4
568203.0
Нормализованные значения функционалов качества
Таблица А.8
Нормализованное значение функционала функциональности 𝑓1𝑁 (𝑥,𝜔)
𝜔1
𝜔2
𝜔3
𝜔4
𝜔5
𝑥1 1.36 2.73 4.09 5.45 6.82
𝑥2 1.89 3.78 5.67 7.55 9.44
𝑥3 1.98 3.97 5.95 7.93 9.92
𝑥4
2.0
4.0
6.0
8.0
10.0
55
Таблица А.9
Нормализованное значение функционала надежности 𝑓2𝑁 (𝑥,𝜔)
𝜔1
𝜔2
𝜔3
𝜔4
𝜔5
𝑥1 1.38 2.76 4.14 5.52
6.9
𝑥2 1.88 3.75 5.63
7.5
9.38
𝑥3 1.97 3.95 5.92
7.9
9.87
𝑥4
8.0
10.0
2.0
4.0
6.0
Таблица А.10
Нормализованное значение функционала производительности 𝑓3𝑁 (𝑥,𝜔)
𝜔1
𝜔2
𝜔3
𝜔4
𝜔5
𝑥1
1.7
3.4
5.1
6.8
8.5
𝑥2
1.6
3.19 4.79 6.39 7.98
𝑥3
2.0
4.0
6.0
8.0
𝑥4 1.63 3.27
4.9
6.54 8.17
10.0
Таблица А.11
Нормализованное значение функционала удобства использования 𝑓4𝑁 (𝑥,𝜔)
𝜔1
𝜔2
𝜔3
𝜔4
𝜔5
𝑥1 1.52 3.05 4.57 6.09 7.62
𝑥2 1.81 3.63 5.44 7.25 9.07
𝑥3
2.0
4.0
6.0
8.0
10.0
𝑥4 1.99 3.97 5.96 7.95 9.93
56
Таблица А.12
Нормализованное значение функционала удобства сопровождения 𝑓5𝑁 (𝑥,𝜔)
𝜔1
𝜔2
𝜔3
𝜔4
𝜔5
1.4
2.8
4.2
5.6
7.0
𝑥2 1.77 3.53
5.3
7.06 8.83
𝑥1
𝑥3 1.88 3.77 5.65 7.54 9.42
𝑥4
2.0
4.0
6.0
8.0
10.0
Таблица А.13
Нормализованное значение функционала переносимости 𝑓6𝑁 (𝑥,𝜔)
𝜔1
𝜔2
𝜔3
𝜔4
𝜔5
𝑥1 1.41 2.83 4.24 5.66 7.07
𝑥2 1.88 3.76 5.63 7.51 9.39
𝑥3
2.0
4.0
6.0
8.0
10.0
𝑥4
2.0
4.0
6.0
8.0
10.0
Таблица А.14
Нормализованное значение функционала стоимости разработки 𝑓7𝑁 (𝑥,𝜔)
𝜔1
𝜔2
𝜔3
𝜔4
𝜔5
𝑥1 1.84 3.68 5.52 7.37 9.21
𝑥2 1.47 2.94 4.42 5.89 7.36
𝑥3
2.0
4.0
6.0
8.0
10.0
𝑥4 1.49 2.98 4.46 5.95 7.44
57
А.3
Оценки вариантов проектов ИС
Таблица А.15
Оценки вариантов реализации ИС по критерию 𝑓1 (𝑥𝑘 , 𝜆1 ), оценивающему
функциональность 𝑓1 (𝑥,𝜔)
𝜆1
0.0
0.1
0.2
𝑥1 3.61
3.4
3.19 2.98 2.77 2.56 2.35 2.14 1.93 1.72 1.51
𝑥2
4.71 4.42 4.13 3.84 3.55 3.26 2.97 2.67 2.38 2.09
5.0
0.3
0.4
0.5
0.6
0.7
0.8
𝑥3 5.26 4.95 4.64 4.34 4.03 3.73 3.42 3.12 2.81
𝑥4
5.3
0.9
2.5
1.0
2.2
4.99 4.68 4.37 4.07 3.76 3.45 3.14 2.83 2.52 2.22
Таблица А.16
Оценки вариантов реализации ИС по критерию 𝑓2 (𝑥𝑘 , 𝜆1 ), оценивающему
надежность 𝑓2 (𝑥,𝜔)
𝜆1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
𝑥1 3.66 3.45 3.23 3.02 2.81 2.59 2.38 2.17 1.96 1.74 1.53
𝑥2 4.97 4.68 4.39
4.1
3.81 3.52 3.23 2.94 2.66 2.37 2.08
𝑥3 5.23 4.93 4.62 4.32 4.02 3.71 3.41
𝑥4
5.3
3.1
2.8
2.49 2.19
4.99 4.68 4.37 4.07 3.76 3.45 3.14 2.83 2.52 2.22
Таблица А.17
Оценки вариантов реализации ИС по критерию 𝑓3 (𝑥𝑘 , 𝜆1 ), оценивающему
производительность 𝑓3 (𝑥,𝜔)
𝜆1
0.4
0.5
0.6
𝑥1 4.51 4.24 3.98 3.72 3.46
3.2
2.93 2.67 2.41 2.15 1.88
𝑥2 4.23 3.98 3.74 3.49 3.25
3.0
2.75 2.51 2.26 2.02 1.77
𝑥3
0.0
5.3
0.1
0.2
0.3
0.7
0.8
0.9
1.0
4.99 4.68 4.37 4.07 3.76 3.45 3.14 2.83 2.52 2.22
𝑥4 4.33 4.08 3.83 3.58 3.32 3.07 2.82 2.57 2.32 2.06 1.81
58
Таблица А.18
Оценки вариантов реализации ИС по критерию 𝑓4 (𝑥𝑘 , 𝜆1 ), оценивающему
удобство использования 𝑓4 (𝑥,𝜔)
𝜆1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
𝑥1 4.04
3.8
3.57 3.33
3.1
2.86 2.63 2.39 2.16 1.92 1.69
𝑥2 4.81 4.53 4.25 3.97 3.69 3.41 3.13 2.85 2.57 2.29 2.01
𝑥3
5.3
4.99 4.68 4.37 4.07 3.76 3.45 3.14 2.83 2.52 2.22
𝑥4 5.26 4.96 4.65 4.35 4.04 3.73 3.43 3.12 2.81 2.51
2.2
Таблица А.19
Оценки вариантов реализации ИС по критерию 𝑓5 (𝑥𝑘 , 𝜆1 ), оценивающему
удобство сопровождения 𝑓5 (𝑥,𝜔)
𝜆1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
𝑥1 3.71 3.49 3.28 3.06 2.85 2.63 2.41
2.2
1.98 1.77 1.55
𝑥2 4.68 4.41 4.14 3.86 3.59 3.32 3.05 2.77
2.5
0.9
1.0
2.23 1.96
𝑥3 4.99
4.7
𝑥4
4.99 4.68 4.37 4.07 3.76 3.45 3.14 2.83 2.52 2.22
5.3
4.41 4.12 3.83 3.54 3.25 2.96 2.67 2.38 2.09
Таблица А.20
Оценки вариантов реализации ИС по критерию 𝑓6 (𝑥𝑘 , 𝜆1 ), оценивающему
переносимость 𝑓6 (𝑥,𝜔)
𝜆1
0.0
0.1
0.7
0.8
0.9
𝑥1 3.75 3.53 3.31 3.09 2.88 2.66 2.44 2.22
2.0
1.79 1.57
𝑥2 4.98 4.69
0.2
4.4
0.3
0.4
0.5
0.6
1.0
4.11 3.82 3.53 3.24 2.95 2.66 2.37 2.08
𝑥3
5.3
4.99 4.68 4.37 4.07 3.76 3.45 3.14 2.83 2.52 2.22
𝑥4
5.3
4.99 4.68 4.37 4.07 3.76 3.45 3.14 2.83 2.52 2.22
59
Таблица А.21
Оценки вариантов реализации ИС по критерию 𝑓7 (𝑥𝑘 , 𝜆1 ), оценивающему
стоимость 𝑓7 (𝑥,𝜔)
𝜆1
0.0
0.1
0.2
0.3
0.4
0.5
𝑥1 4.88
4.6
4.31 4.03 3.74 3.46 3.18 2.89 2.61 2.32 2.04
𝑥2
3.9
3.67 3.45 3.22 2.99 2.77 2.54 2.31 2.08 1.86 1.63
𝑥3
5.3
4.99 4.68 4.37 4.07 3.76 3.45 3.14 2.83 2.52 2.22
𝑥4 3.94 3.71 3.48 3.25 3.02
А.4
2.8
0.6
0.7
0.8
0.9
1.0
2.57 2.34 2.11 1.88 1.65
Решение задачи многоцелевой оптимизации ИС
Таблица А.22
Решение задачи многоцелевой оптимизации ИС на основе принципа идеальной
точки
𝜆1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
ℱ(𝑥* (𝜆1 )) 0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.04 0.03 0.02 0.02
𝑥* (𝜆1 )
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
60
А.5
Оценки устойчивости вариантов решений задачи
стохастической оптимизации ИС
Таблица А.23
Исследование устойчивости решения задачи стохастической оптимизации ИС
в зависимости от возмущения начальных данных на величину 𝜖
𝜆1
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
𝜖 = 0.0 𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝜖 = 0.1 𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝜖 = 0.2 𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝜖 = 0.3 𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝜖 = 0.4 𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝜖 = 0.5 𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝜖 = 0.6 𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝜖 = 0.7 𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝜖 = 0.8 𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝑥3
𝜖 = 0.9 𝑥4
𝑥4
𝑥4
𝑥4
𝑥4
𝑥4
𝑥4
𝑥4
𝑥4
𝑥4
𝑥4
61
Приложение Б. Програмная реализация алгоритма решения задачи
многоцелевой оптимизации ИС
Реализация представленна на языке Python.
Листинг Б.1
Програмная реализация алгоритма решения задачи многоцелевой
оптимизации ИС
"""
Algorithm for solving stochastic multi - objective optimization
problem
5 author Perestoronin Daniil
"""
import copy
import math
10 import random
import texttable
f = [
15
# f_1
[0.25 , 11 , 1 , 121 , 0.4] ,
# f_2
[12 , 16 , 2.5 , 95 , 6.4] ,
# f_3
20
[0.4 , 5 , 13 , 10 , 0.9] ,
# f_4
[2.25 , 16 , 3 , 17 , 0.8] ,
# f_5
[0.32 , 32 , 1 , 24 , 0.12] ,
25
# f_6
[0.25 , 4 , 1 , 19 , 1] ,
# f_7
[112 , 431.3 , 1122.1 , 121 , 132]
]
30
x = [
# x ^1
62
[10 , 23 , 432 , 213 , 12] ,
# x ^2
[12 , 13 , 332 , 299 , 19] ,
# x ^3
[8 , 15 , 465 , 313 , 9] ,
# x ^4
[16 , 34 , 324 , 315 , 34] ,
35
40 ]
w = [0.2 , 0.4 , 0.6 , 0.8 , 1]
prob = [0.2 , 0.2 , 0.4 , 0.15 , 0.05]
45
lambd = [0 , 0.1 , 0.2 , 0.3 , 0.4 , 0.5 , 0.6 , 0.7 , 0.8 , 0.9 , 1.0]
def get_criterion (f , x , w ) :
50
rows = len ( f )
cols = len ( w )
dep = len ( x )
crt = [[[0 for x in range ( cols ) ] for y in range ( dep ) ] for z
in range ( rows ) ]
for i in range (0 , rows ) :
55
for j in range (0 , dep ) :
for k in range (0 , cols ) :
crt [ i ][ j ][ k ] = sum ([ fi * xj for fi , xj in zip ( f [ i
] , x [ j ]) ]) * w [ k ]
return crt
60
def print_matrix (m , col_name = ’ ’ , row_name = ’ ’) :
matrix = copy . deepcopy ( m )
if isinstance ( matrix [0] , list ) :
rows = len ( matrix )
65
cols = len ( matrix [0])
else :
rows = 1
cols = len ( matrix )
head = [ col_name + str ( x + 1) for x in range ( cols ) ]
70
head . insert (0 , ’ ’)
cols_type = [ ’a ’ for x in range ( cols ) ]
63
75
80
85
cols_type . insert (0 , ’t ’)
table = texttable . Texttable ()
table . set_cols_dtype ( cols_type )
table . set_cols_align ([ ’l ’ for x in range ( cols + 1) ])
table . set_precision (1)
table . header ( head )
for i in range (0 , rows ) :
if isinstance ( matrix [0] , list ) :
row = matrix [ i ]
row . insert (0 , row_name + str ( i + 1) )
else :
row = matrix
row . insert (0 , row_name )
table . add_row ( row )
print ( table . draw () )
def print_for_latex ( m ) :
90
rows = len ( m )
if isinstance ( m [0] , list ) :
cols = len ( m [0])
else :
cols = 1
95
if cols > 1:
for i in range (0 , rows ) :
for j in range (0 , cols ) :
print ( round ( m [ i ][ j ] , 2) , end = ’ & ’ if j != cols
- 1 else ’\ hline ’)
print ()
100
else :
for i in range (0 , rows ) :
print ( round ( m [ i ] , 2) , end = ’ & ’ if i != rows - 1
else ’\ hline ’)
print ()
105
def max_element ( m ) :
max_el = None
for row in m :
for el in row :
110
if max_el is None or el > max_el :
64
max_el = el
return max_el
115 def normalize (m , k =1) :
rows = len ( m )
cols = len ( m [0])
max_el = max_element ( m )
norm_m = [[0 for x in range ( cols ) ] for y in range ( rows ) ]
120
for i in range (0 , rows ) :
for j in range (0 , cols ) :
norm_m [ i ][ j ] = k * m [ i ][ j ] / max_el
return norm_m
125
def removal_uncertainties (z , p , lam ) :
rows = len ( z )
cols = len ( lam )
unc_m = [[0 for x in range ( cols ) ] for y in range ( rows ) ]
130
def z1 ( x ) :
xp = [ a * b for a , b in zip (x , p ) ]
return sum ( xp )
135
def z2 ( x ) :
v = []
for j in range (0 , len ( x ) ) :
v . append ((( x [ j ] - z1 ( x ) ) ** 2) * p [ j ])
return math . sqrt ( sum ( v ) )
140
for i in range (0 , rows ) :
for j in range (0 , cols ) :
unc_m [ i ][ j ] = (1 - lam [ j ]) * z1 ( z [ i ]) + lam [ j ] * z2 (
z [ i ])
return unc_m
145
def lin_conv_opt_pr ( unc_crt ) :
cr_n = len ( unc_crt )
rows = len ( unc_crt [0])
150
cols = len ( unc_crt [0][0])
65
155
160
165
170
175
180
185
opt_dec = []
opt_dic_val = []
for i in range (0 , cols ) :
max_cr = None
max_c = 0
for j in range (0 , rows ) :
cr_sum = 0
for cr in range (0 , cr_n ) :
cr_sum = cr_sum + unc_crt [ cr ][ j ][ i ]
if max_cr is None or max_cr <= cr_sum :
max_cr = cr_sum
max_c = j + 1
opt_dic_val . append ( max_cr )
opt_dec . append ( max_c )
return opt_dec , opt_dic_val
def multipl_conv_opt_pr ( unc_crt ) :
cr_n = len ( unc_crt )
rows = len ( unc_crt [0])
cols = len ( unc_crt [0][0])
opt_dec = []
opt_dic_val = []
for i in range (0 , cols ) :
max_cr = None
max_c = 0
for j in range (0 , rows ) :
cr_mult = 1
for cr in range (0 , cr_n ) :
cr_mult = cr_mult * unc_crt [ cr ][ j ][ i ]
if max_cr is None or max_cr <= cr_mult :
max_cr = cr_mult
max_c = j + 1
opt_dic_val . append ( max_cr )
opt_dec . append ( max_c )
return opt_dec , opt_dic_val
def ideal_point_opt_pr ( unc_crt ) :
190
cr_n = len ( unc_crt )
rows = len ( unc_crt [0])
66
cols = len ( unc_crt [0][0])
195
200
205
210
215
220
def ideal_point () :
ideal_p = [[0 for x in range ( cols ) ] for y in range ( cr_n )
]
for i in range (0 , cr_n ) :
for j in range (0 , cols ) :
p_max = unc_crt [ i ][0][ j ]
for k in range (1 , rows ) :
if p_max < unc_crt [ i ][ k ][ j ]:
p_max = unc_crt [ i ][ k ][ j ]
ideal_p [ i ][ j ] = p_max
return ideal_p
i_point = ideal_point ()
opt_dec = []
opt_dic_val = []
for i in range (0 , cols ) :
min_cr = None
min_c = 0
for j in range (0 , rows ) :
cr_i_p = 0
for cr in range (0 , cr_n ) :
cr_i_p = cr_i_p + ( i_point [ cr ][ i ] - unc_crt [ cr ][
j ][ i ]) ** 2
if min_cr is None or min_cr > cr_i_p :
min_cr = cr_i_p
min_c = j + 1
opt_dic_val . append ( min_cr )
opt_dec . append ( min_c )
return opt_dec , opt_dic_val
def calculate_model ( crt , prb , lam ) :
225
print ( ’ VARIABLES ’)
print ()
for z in crt :
print_matrix (z , ’w ’ , ’x ’)
print ()
230
print_for_latex ( z )
67
print ()
print ()
print ( ’ NORMALIZED VARIABLES ’)
print ()
235
240
crt_norm = []
for z in crt :
z_n = normalize (z , 10)
crt_norm . append ( z_n )
print_matrix ( z_n , ’l ’ , ’x ’)
print ()
print ()
print ( ’ REMOVAL UNCERTAINTIES ’)
print ()
245
250
255
260
265
270
crt_unc = []
for z in crt_norm :
z_u = removal_uncertainties (z , prb , lam )
crt_unc . append ( z_u )
print_matrix ( z_u , ’l ’ , ’x ’)
print ()
print ()
print ( ’ DECISION ’)
print ()
print ( ’ linear convolution : ’)
opt_dec , opt_dic_val = lin_conv_opt_pr ( crt_unc )
print_matrix ( opt_dec , ’l ’ , ’x ’)
print_matrix ( opt_dic_val , ’l ’ , ’ max ’)
print ()
print ( ’ multiplicative convolution : ’)
opt_dec , opt_dic_val = multipl_conv_opt_pr ( crt_unc )
print_matrix ( opt_dec , ’l ’ , ’x ’)
print_matrix ( opt_dic_val , ’l ’ , ’ max ’)
print ()
print ( ’ ideal point convolution : ’)
opt_dec , opt_dic_val = ideal_point_opt_pr ( crt_unc )
print_matrix ( opt_dec , ’l ’ , ’x ’)
print_matrix ( opt_dic_val , ’l ’ , ’ min ’)
68
print ()
275 def print_calc_for_latex ( crt , prb , lam ) :
print ( ’ VARIABLES ’)
print ()
for z in crt :
print_for_latex ( z )
280
print ()
print ()
print ( ’ NORMALIZED VARIABLES ’)
print ()
285
290
295
300
305
crt_norm = []
for z in crt :
z_n = normalize (z , 10)
crt_norm . append ( z_n )
print_for_latex ( z_n )
print ()
print ()
print ( ’ REMOVAL UNCERTAINTIES ’)
print ()
crt_unc = []
for z in crt_norm :
z_u = removal_uncertainties (z , prb , lam )
crt_unc . append ( z_u )
print_for_latex ( z_u )
print ()
print ()
print ( ’ DECISION ’)
print ()
print ( ’ linear convolution : ’)
opt_dec , opt_dic_val = lin_conv_opt_pr ( crt_unc )
print_for_latex ( opt_dec )
print_for_latex ( opt_dic_val )
print ()
310
print ( ’ multiplicative convolution : ’)
opt_dec , opt_dic_val = multipl_conv_opt_pr ( crt_unc )
69
315
320
print_for_latex ( opt_dec )
print_for_latex ( opt_dic_val )
print ()
print ( ’ ideal point convolution : ’)
opt_dec , opt_dic_val = ideal_point_opt_pr ( crt_unc )
print_for_latex ( opt_dec )
print_for_latex ( opt_dic_val )
print ()
def study_stability_solution (f , x , w , prb , lam , eps , opt_pr ) :
325
330
def get_perturbed_data ( fp , xp , wp ) :
f_copy = copy . deepcopy ( fp )
cr_n = len ( f_copy )
rows = len ( f_copy [0])
for i in range (0 , cr_n ) :
for j in range (0 , rows ) :
f_copy [ i ][ j ] = f_copy [ i ][ j ] + random . uniform
( - eps , eps )
return get_criterion ( f_copy , xp , wp )
335
p_crt = get_perturbed_data (f , x , w )
340
crt_norm = []
for z in p_crt :
z_n = normalize (z , 10)
crt_norm . append ( z_n )
345
crt_unc = []
for z in crt_norm :
z_u = removal_uncertainties (z , prb , lam )
crt_unc . append ( z_u )
if opt_pr == ’ linear convolution ’:
return lin_conv_opt_pr ( crt_unc )
350
if opt_pr == ’ multiplicative convolution ’:
return multipl_conv_opt_pr ( crt_unc )
70
if opt_pr == ’ ideal point convolution ’:
return ideal_point_opt_pr ( crt_unc )
355
cr = get_criterion (f , x , w )
calculate_model ( cr , prob , lambd )
360 # print_calc_for_latex ( cr , prob , lambd )
# for i in range (0 , 10) :
#
opt_dec , opt_dic_val = study_stability_solution (f , x , w ,
prob , lambd , 0.3 * i , ’ linear convolution ’)
#
print (0.01 * i , end = ’ = ’)
365 #
print ( opt_dec )
# print ()
#
# for i in range (0 , 10) :
#
opt_dec , opt_dic_val = study_stability_solution (f , x , w ,
prob , lambd , 0.2 * i , ’ multiplicative convolution ’)
370 #
print (0.01 * i , end = ’ = ’)
#
print ( opt_dec )
# print ()
for i in range (0 , 10) :
375
opt_dec , opt_dic_val = study_stability_solution (f , x , w ,
prob , lambd , 1 * i , ’ ideal point convolution ’)
print (0.01 * i , end = ’ = ’)
print ( opt_dec )
Отзывы:
Авторизуйтесь, чтобы оставить отзыв