ИНТЕГРАЦИЯ МЕТОДОВ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ В АВТОМАТИЗИРОВАННЫХ СППР ПРИ РАЗРАБОТКЕ СЛОЖНЫХ ПРОЕКТОВ
А. В. Вишнеков, Е. М. Иванова
Московский институт электроники и математики Национального исследовательского университета "Высшая школа экономики",
109028, Москва, Россия
УДК 51-74
Рассмотрены технологии и методы поддержки принятия решений, используемые при проектировании программно-аппаратного обеспечения вычислительных систем и сетей. Предлагается комплекс наиболее рациональных технологий и методов поддержки принятия решений, приведены примеры применения рассматриваемых методов на этапах проектирования программного обеспечения.
Ключевые слова: принятие решений, программный продукт, аппаратное обеспечение, проект.
The article considers the technology and decision support techniques used in the design of software and hardware of computer systems and networks. It offers a complex of the most efficient technologies and methods to support decision-making and examples of application of these methods at the stages of design software.
Key words: decision-making, software, hardware, project.
Введение. При выполнении сложных проектов одной из основных задач является автоматизация процедур принятия проектных решений. Для эффективного принятия решений при выполнении сложных, многоэтапных проектов в данной работе предлагаются интегрированные методы поддержки принятия решений. Разработка данных методов основана на исследовании технологий поддержки принятия сложных решений, которые во многом аналогичны технологиям проектирования, рассмотренным ранее для современных CAD/CAM/ CAE/PDM-систем [1]. К числу таких технологий относятся:
1) технология последовательного принятия решений;
2) технология сквозного принятия решений;
3) технология восходящего принятия решений;
4) технология нисходящего принятия решений;
5) технология параллельного принятия решений;
6) технология объектно-ориентированного принятия решений.
Рассмотрим предлагаемые технологии принятия проектных решений и проблемы интеграции методов поддержки принятия решений для эффективного использования каждой из этих технологий.
1. Технология последовательного принятия решений. Технология последовательного принятия решений строится на основе выполнения каждого последующего этапа принятия решения по завершении предыдущего (рис. 1). Эта технология наиболее проста в
Последовательная передача данных с этапа на этап
N
Рис. 1. Технология последовательного принятия решений
реализации и требует последовательного применения одного или нескольких методов принятия решений. При этом информация последовательно передается между отдельными процедурами принятия решений. Итоговое решение формируется как последовательность частных решений.
Для использования технологии последовательного принятия решений необходимо лишь последовательное комплексирование индивидуальных или групповых процедур принятия решений [2], например процедур кластеризации экспертных оценок альтернатив, ранжирования альтернатив, процедур, основанных на методе минимального расстояния [3]. Результат предыдущей задачи принятия решений является входной информацией для решения последующей задачи принятия решений. Поэтому аналитикам и лицу, принимающему решение (ЛПР), необходимо предварительно определить последовательность решаемых задач.
Примером технологии последовательного принятия решений может служить принятие решений по организации информационной поддержки основных этапов и задач проектирования, технологической подготовки производства, отладки и испытаний, внедрения и сопровождения изделия.
2. Технология сквозного принятия решений. Данная технология основана на последовательной технологии, но подразумевает использование общих баз данных и баз знаний для последовательности всех частных процедур принятия решений. Такая технология является более перспективной. Экспертам доступна вся информация о промежуточных и итоговых результатах принятия решений на предыдущих этапах на основе общей базы данных, отражающей весь ход принятия результирующего решения, что позволяет определить и при необходимости скорректировать результаты предыдущих этапов принятия решений (рис. 2). Эксперты, работая над принятием текущего решения, могут в режиме реального времени выявлять собственные неточности при принятии предыдущих частных решений и ставить вопрос об их корректировке. С точки зрения интеграции методов принятия решений ситуация аналогична технологии последовательного принятия решения.
Примером сложной проектной задачи, для решения которой может быть использована технология сквозного принятия решений, является задача разработки программных продуктов в соответствии с ГОСТом. Последовательность решаемых задач заранее определена согласно ГОСТу [4]. Методы теории принятия решений целесообразно использовать на этапе НИОКР для выбора альтернативного проекта программного продукта, а также для сравнения и выбора языка программирования, на этапе технического проекта для определения конфигурации и состава технических средств (сравнения предлагаемых на рынке вычислительных систем), на этапе создания методики испытаний программного обеспечения.
Рис. 2. Технология сквозного принятия решений Общее проектное решение
Рис. 3. Технология восходящего принятия решений
3. Технология восходящего принятия решений. Данная технология предполагает принятие итогового решения на основе ряда частных решений, характеризующих решаемую задачу с разных сторон. Структура задачи принятия решений представляется в виде иерархий частных решений. Решение на более высоких уровнях иерархии принимается на основе решений, принятых на более низких уровнях иерархии (рис. 3).
Технология восходящего принятия решения требует разработки иерархии частных задач, иногда достаточно сложной. Данную модель принятия решения наиболее полно отражает метод аналитических иерархий [1], основанный на построении и анализе иерархической структуры, включающей три уровня: цели, критерии, альтернативы. Однако существует ряд задач, решение которых основано на решении частных задач, требующих рассмотрения разных наборов альтернатив, например задачи выбора конфигурации компьютера для решения конкретного класса задач, когда отдельно выбираются процессор, память, видеокарта и другие комплектующие. В этом случае иерархия приобретает более сложную структуру.
Сложность применения данного подхода обусловлена тем, что число критериев оценки альтернатив может быть очень большим и заполнение экспертами матрицы сравнительной оценки важности критериев может стать очень трудоемкой процедурой с точки зрения получения согласованной матрицы оценок. В этом случае требуется определение множества существенных критериев на основе групповых процедур принятия решений [2]. В случае небольшого числа критериев (с < 10) для оценки их важности целесообразно применение процедур, основанных на методах предпочтения и ранжирования альтернатив.
Так как в случае большого числа критериев, применяя метод аналитических иерархий, эксперты вынуждены заполнять большое число матриц сравнительной важности альтернатив (в соответствии с числом рассматриваемых критериев), то для решения подобных задач целесообразно применять методы лексикографического упорядочивания и полуупорядочивания [5]. Однако необходимо учитывать, что применение указанных выше подходов требу-
Общая концепция проекта Общее решение по проекту
1
Частные решения по этапам проекта
N
3
Рис. 4. Технология нисходящего принятия решений
ет большой предварительной аналитической работы, в частности для определения функций ценностей альтернатив по различным критериям [5].
Примерами применения технологии восходящего принятия решений являются задача проектирования систем на кристалле из отдельных готовых 1Р-блоков и задача объединения отдельных сайтов, баз данных и программных модулей подразделений (уже используемых в подразделениях) в единую информационную систему предприятия.
4. Технология нисходящего принятия решений. Технология нисходящего принятия решений подразумевает принятие общего базового концептуального решения по рассматриваемой задаче с последовательной детализацией данного решения (рис. 4), а также разработку иерархии частных решений. Кроме того, определение правильного концептуального решения подразумевает использование предварительно разработанных математических и имитационных моделей, описывающих поставленную задачу принятия решений.
Технология нисходящего принятия решений требует определения на начальном этапе концептуального решения задачи на основе достаточно общей и зачастую неопределенной информации в отсутствие решений частных задач, отражающих различные стороны общей задачи. Для решения данной задачи необходима выработка основного базового решения, например с помощью групповых методов принятия решений или методов принятия решений в условиях неопределенности исходной информации [6].
Однако формирование исходного множества альтернативных базовых решений, порученное аналитикам, может потребовать непосредственного участия экспертов. Дальнейшая детализация и принятие частных решений экспертами осуществляются с помощью индивидуальных методов поддержки принятия решений. Однако необходимо учитывать, что применение технологий нисходящего принятия решений также потребует предварительной разработки иерархии частных задач.
Примером может служить иерархическая задача проектирования сетей с последовательной детализацией проекта, при решении которой сначала определяются решаемые задачи для конкретного предприятия (подразделения), затем последовательно разрабатываются логическая структура сети, физическая топология сети, определяется набор функциональных устройств и их характеристик, а также используемого программного обеспечения.
5. Технология параллельного принятия решений. Эта технология подразумевает параллельную работу экспертов над частными решениями с последующим принятием результирующего решения (рис. 5).
Технология параллельного принятия решений подразумевает разделение общей задачи на частные подзадачи и решение их в параллельном режиме экспертами на основе инди-
а
£ <и о а с
3 с ев е-
о
N
Рис. 5. Технология параллельного принятия решений
Общая концепция сложного проекта
4
Частные концепции по этапам проекта
Время
Рис. 6. Технология объектно-ориентированного принятия решений
видуальных методов оценки многокритериальных альтернатив с последующим принятием итогового решения на основе групповых методов. Индивидуальные методы должны быть ориентированы на ранжирование альтернатив, а не только на выбор лучшей альтернативы. При использовании данного подхода целесообразно применять автоматизированные СППР с развитой системой визуализации хода решения частных и итоговой задач, так как выработка общего согласованного итогового решения может потребовать корректировки частных задач в режиме реального времени.
В качестве примера применения технологии параллельного принятия решений можно рассматривать задачу разработки функционально-ориентированного программно-аппаратного комплекса предприятия, где параллельно реализуются анализ, проектирование и разработка части данного комплекса, касающейся функций и выполняемых задач каждого подразделения, с последующей интеграцией в единый комплекс.
6. Технология объектно-ориентированного принятия решений. Данная технология подразумевает разработку общего подхода к поэтапному принятию решения. Затем разрабатывается оригинальная (применимая только для данной задачи) технология принятия итогового решения, представляющая собой определенную комбинацию описанных выше технологий, после чего для этой технологии выбираются или разрабатываются методы поддержки принятия решений (рис. 6).
Технология объектно-ориентированного принятия решений требует определения уникальной технологии, которая может включать аспекты ряда перечисленных выше технологий. Эта задача решается на основе объединения усилий ЛПР и аналитиков. Интеграция
1
2
3
методов поддержки принятия решений при использовании рассмотренных технологий может потребовать применения не только отдельных методов поддержки принятия решений, но и вложенных структур используемых методов. В отдельных случаях может потребоваться разработка новых индивидуальных и групповых методов поддержки принятия решений и соответственно новых программных модулей СППР. Таким образом, эффективность работы проектировщиков в значительной степени зависит от выбранной технологии принятия решений.
Однако в большей степени сложность решаемых задач обусловливает необходимость применения объектно-ориентированного подхода, что требует разработки системы автоматизированного проектирования СППР, так как смена решаемой задачи часто требует разработки новых технологий и соответственно новых комбинаций уже известных методов поддержки принятия решений с разрабатываемыми методами, что в свою очередь потребует в сжатые сроки разработки новых модулей интегрированной СППР. В этом случае имеет смысл применение методов поддержки принятия проектных решений в условиях неопределенности исходной информации, в частности метода платежной матрицы [6]. Этот метод позволяет в полной мере учесть вероятные изменения состава и особенностей решаемых вычислительной сетью задач.
Примером применения технологии объектно-ориентированного принятия решений служит задача разработки суперкомпьютера, включающая сложные многоплановые многовариантные задачи, для решения которых требуется создание уникальной технологии принятия проектных решений, основанной на технологии нисходящего принятия решений.
7. Пример интеграции методов поддержки принятия решений для сложной задачи. Рассмотрим решение такой задачи, как проектирование программного обеспечения в соответствии с ГОСТом. Для достижения высокого качества программного продукта его проектирование должно осуществляться согласно отраслевым стандартам [2, 7]. На этапе НИОКР, связанном с предварительным выбором метода решения задачи, обычно формируется несколько альтернативных проектов реализации. Выбор базового проекта и проектной группы целесообразно проводить с использованием групповых методов поддержки принятия решений: метода ранжирования альтернатив, метода минимального расстояния и метода кластеризации экспертных оценок [2].
Рассмотрим пример выбора одного из пяти альтернативных проектов на основе метода ранжирования альтернатив (метода назначения ранга привлеченными экспертами). Каждый из приглашенных экспертов формирует оценку каждого из пяти проектов, назначая им ранг по своему предпочтению. Например, были привлечены четыре эксперта, которые сформировали следующие оценки (Д^) альтернатив: 1 — наиболее важная, 5 — наименее важная (см. таблицу). Наилучшим считается проект с минимальной суммарной оценкой (в таблице — проект 2).
На этапе проектирования, связанного с выбором языка программирования, предлагается использовать групповые экспертные процедуры или индивидуальные методы поддержки принятия решений, допускающие использование численных и лингвистических критериев. Наиболее эффективным является метод ранжирования альтернатив, использующий либо процедуру непосредственного назначения ранга (метод ранга), либо процедуру парных сравнений, а также метод минимального расстояния [2].
Рассмотрим пример выбора языка программирования для создания программного продукта с помощью процедуры попарного сравнения альтернатив. После попарного сравнения заполняется матрица, в которой в 1-й строке и ]-м столбце стоит сравнительная оценка
Экспертные оценки проектов
Экспертные оценки Альтернативы
Проект 1 Проект 2 Проект 3 Проект 4 Проект 5
Эксперт 1 #11=3 #12 = 1 #13=4 #14=2 #15=5
Эксперт 2 #21 =3 #22 = 1 #23 =2 #24=4 #25 = 5
Эксперт 3 #31 ==2 #32=3 #33 = 1 #34=5 #35=4
Эксперт 4 #41=5 #42=2 #43 = 1 #44=4 #45=3
Суммарная оценка проекта 3+3+2+5=13 1+1+3+2=7 4+2+1+1=8 2+4+5+4=15 5+5+4+3=17
0 1 1 -1 1 -1 -1
-1 0 1 -1 1 -1 1
-1 -1 0 1 -1 -1 -1
1 1 -1 0 1 1 -1
-1 -1 1 -1 0 1 1
1 1 1 -1 -1 0 -1
1 -1 1 1 -1 1 0
0 -1 1 1 1 -1 1
1 0 -1 -1 1 1 1
-1 1 0 1 -1 -1 -1
-1 1 -1 0 1 1 1
-1 -1 1 -1 0 1 1
1 -1 1 -1 -1 0 1
-1 -1 1 -1 -1 -1 0
0 -1 -1 -1 -1 -1 1
1 0 -1 -1 1 -1 -1
1 1 0 -1 -1 1 -1
1 1 1 0 1 1 -1
1 -1 1 -1 0 1 1
1 1 -1 -1 -1 0 -1
-1 1 1 1 -1 1 0
Рис. 7. Оценочные матрицы попарных сравнений альтернатив
Суммарная экспертная оценка альтернатив
0 -1 1 -1 1 -3 1
1 0 -1 -3 3 -1 1
-1 1 0 1 -3 -1 -3
1 3 -1 0 3 3 -1
-1 -3 3 -3 0 3 3
3 1 1 -3 -3 0 -1
-1 -1 3 1 -3 1 0
Альтернатива
А1
А2
А3
А4
А5
А6 А7
Ранг
-2
-6
-2
0
8
2
0
Рис. 8. Расчет суммарного ранга альтернатив
альтернатив г и ], полученная по следующему правилу: альтернативы равнозначны — оценка "0", альтернатива ] лучше альтернативы г — оценка "1", альтернатива ] хуже альтернативы г — оценка "-1". Предположим, трем экспертам требуется проанализировать семь возможных языков программирования. Ими были получены три оценочные матрицы (рис. 7).
Далее складываем эти три матрицы и в результирующей матрице проводим суммирование элементов по строкам, вычисляя предпочтительность альтернатив (их ранг) (рис.8). Наиболее эффективной является альтернатива с максимальным рангом — альтернатива (язык программирования) 4.
На этапе проектирования, связанного с испытанием программы, требуется сформировать тестовые наборы. Для этого нужно проранжировать виды и классы тестов по критериям их оптимальности. В этом случае необходимо применение групповых методов принятия решений, в частности метода минимального расстояния и метода кластеризации, методов лексикографического упорядочивания и полуупорядочивания [6].
0 1 1 -1 -1 -1 0 -1 1 -1 1 1 0 -1 -1 -1 -1 -1
-1 0 -1 -1 -1 -1 1 0 1 1 1 1 1 0 1 1 -1 1
-1 1 0 -1 -1 -1 -1 -1 0 -1 1 1 1 -1 0 -1 -1 1
1 1 1 0 1 1 1 -1 1 0 1 1 1 -1 1 0 -1 1
1 1 1 -1 0 -1 -1 -1 -1 -1 0 1 1 -1 1 1 0 1
1 1 1 -1 1 0 -1 -1 -1 -1 -1 0 1 -1 -1 -1 -1 0
Рис. 9. Матрицы попарного сравнения альтернатив
Рассмотрим пример ранжирования шести видов тестов (Т0, Т1,... Т5) из класса 2 тремя экспертами с помощью метода минимального расстояния. Каждым экспертом выстраивается свое ранжирование альтернатив по четырем указанным критериям К1^К4:
Д1=<Т1,Т2,Т0,Т4,Т5,Т3>, Д=<Т5,Т4,Т2,Т0,Т3,Т1>, Дз=<Т0,Т5,Т2,Т3,Т1,Т4>.
Затем в соответствии с ранжировками экспертов строятся три матрицы (АЭ1,АЭ2,АЭ3) попарного сравнения альтернатив каждым экспертом (рис. 9).
Далее требуется вычислить новую итоговую матрицу рангов Ан, равноудаленную от всех трех матриц (т. е. учитывающую все мнения экспертов), так чтобы расстояние между каждой парой матриц (новой и матрицей эксперта г) было минимальным. В качестве расстояния между матрицами примем величину, равную сумме модулей разностей их элементов. Вычисление новой матрицы происходит методом перебора всех существующих матриц с нулевой главной диагональю и кососимметричных относительно нее же (значение "1" выше диагонали симметрично значению "-1" ниже диагонали, и наоборот). Такой перебор целесообразно выполнить программно. По новой рассчитанной матрице Ан для приведенных шести альтернатив строится новое ранжирование по степени предпочтительности.
Согласно исходным данным список тестов при уменьшении предпочтения будет следующим: Т5, Т2, Т0, Т1, Т4, Т3.
На этапе проектирования, связанного с разработкой технического проекта и, в частности, определения конфигурации и состава технических средств, выбора рационального аппаратного обеспечения, требуется провести анализ и сравнение предлагаемых на рынке вычислительных систем. Сравнение нескольких альтернативных вычислительных систем по заданным показателям можно провести с использованием метода аналитических иерархий или метода вербального анализа решений [1]. Следует отметить, что для метода аналитических иерархий требуется отобрать критерии сравнительной оценки альтернативных проектов, установить шкалу относительной важности критериев, затем провести расчеты взаимной важности критериев, цены и веса каждого критерия, после чего провести сравнение альтернатив по таблицам взаимного предпочтения с возможным привлечением экспертов и использованием групповых методов поддержки принятия решений.
Методы вербального анализа решений, примером которых является метод ЗАПРОС, учитывают когнитивные и поведенческие аспекты деятельности людей (экспертов). Вместо числовых критериев используются вербальные оценки — предпочтения экспертов, на основе которых строится решающее правило упорядочения многокритериальных альтернатив. В [2, 5, 6] отмечено, что именно эти процедуры принятия решений в наибольшей степени пригодны для анализа и принятия сложных проектных решений при разработке вычислительных систем и сетей.
Заключение. Принятие сложных проектных решений, таких как разработка вычислительных сетей, разработки программных продуктов в соответствии с ГОСТом, проектирование систем на кристалле и др., в большей степени ориентировано на использование методов
сравнения и оценки многокритериальных альтернатив, чем на использование методов интерактивной многокритериальной оптимизации [2]. Предложенные в данной работе технологии принятия проектных решений позволяют автоматизировать процесс разработки сложных проектов и повысить качество принимаемых решений в целом.
Список литературы
1. ИВАНОВА е. М. Технологии проектирования высокотехнологичных изделий в системе автоматизированного интегрированного производства // Качество и ИПИ (СЛЬ8)-технологии. 2004. № 2. С. 33-42.
2. Ларичев О. И. Теория и методы принятия решений. Изд. 2-е, перераб. и доп. М.: Логос, 2002.
3. Васильев Ф. Н., Вишнеков А. В., Феропонтова Е. С. Методы поддержки принятия групповых решений // Качество и ИПИ (СЛЬЯ)-технологии. 2007. № 2. С. 51-55.
4. ГОСТ 19.102-77. Единая система программной документации, стадии разработки. Введ. 01.01.80.
5. Sadjadi S. J., Habibian M., Khaledi V. Л multi-objective decision making approach for solving quadratic multiple response surface problems // Intern. J. Contemp. Math. Sci. 2008. V. 3, N 32. P. 1595-1606.
6. Трахтенгерц Э. А. Компьютерная поддержка принятия решений. М.: СИНТЕК, 1998.
7. ГОСТ Р ИСО/МЭК 9126-93. Информационная технология. Оценка программной продукции. Характеристики качества и руководства по их применению. Введ. 01.07.94.
Вишнеков Андрей Владленович — д-р техн. наук, проф., зав. кафедрой Московского института электроники и математики Национального исследовательского университета "Высшая школа экономики"; e-mail: [email protected];
Иванова Елена Михайловна — канд. техн. наук, доц., зам. зав. кафедрой Московского института электроники и математики Национального исследовательского университета "Высшая школа экономики"; e-mail: [email protected]
Дата поступления — 11.03.13