Содержание к диссертации
Введение
Глава 1. Анализ литературных источников 6
1.1 Характеристика задач коллективного выбора. Основные признаки и процедуры 6
1.2 Подходы к анализу и выбору коллективных решений 10
1.3 Методы синтеза коллективных решений 17
1.4 Обзор программных средств 25
1.4.1 История создания групповых систем поддержки принятия решений... 25
1.4.2 Классификация групповых систем поддержки принятия решений 26
1.4.3 Перспективы развития 29
1.5 Цель и задачи исследования 30
Глава 2. Разработка методов, моделей и алгоритмов коллективного выбора . 33
2.1 Описание подхода к коллективному выбору на основе учета взаимных требований 33
2.2 Разработка модели представления знаний для системы коллективного выбора 43
2.3 Описание алгоритмов обработки знаний в системе коллективного выбора решений 52
2.4 Основные требования к программной реализации системы поддержки коллективного выбора 61
2.5 Заключение 62
Глава 3. Проектирование и реализация системы компьютерной поддержки коллективного выбора 64
3.1 Сравнительный анализ средств разработки программного продукта... 64
3.2 Разработка вариантов структуры программной системы коллективного выбора 66
3.3 Проектирование и реализация базы знаний 70
3.4 Проектирование пользовательского интерфейса 77
3.5 Исследование эффективности разработанного программного обеспечения 82
3.5.1 Оптимизация доступа к данным 82
3.5.2 Оптимизация обработки полученных данных 86
3.6 Заключение 89
Глава 4. Примеры практического применения метода и разработанного программного обеспечения 91
4.1 Задача о выборе вида деятельности и кадрового состава фирмы 92
4.1.1 Создание задачи в системе 93
4.1.2 Ввод и редактирование исходных данных 96
4.1.3 Вычисление и анализ результатов 97
4.2 Задача выбора автоматической телефонной станции 99
4.3 Задача синтеза конфигурации персонального компьютера 100
4.3.1 Представление знаний об объектах синтеза 104
4.3.2 Интерпретация и анализ результатов синтеза ПО
4.4 Задача о расширении сети передачи данных телекоммуникационной компании 114
4.4.1 Постановка задачи 114
4.4.2 Формулировка задачи как проблемы коллективного принятия решений.
4.4.3 Решение задачи в системе 126
4.5 Заключение 129
Глава 5. Интерпретация и анализ полученных результатов 131
5.1 Выявление конфликтов между участниками выбора и поиск методов для разрешения 132
5.1.1 Разрешение конфликтов в задаче о выборе вида деятельности 132
5.1.2 Разрешение конфликтов в задаче о синтезе конфигурации компьютера.. 136
5.2 Исследование влияния способа формирования обобщенных оценок на выбор лучших решений 138
5.2.1 Влияние способа формирования обобщенных оценок на результаты решения задачи о синтезе конфигурации 139
5.2.2 Влияние способа формирования обобщенных оценок на результаты решения задачи о расширении сети связи 141
5.3 Анализ влияния весовых коэффициентов участников и требований на получаемые результаты 144
5.3.1 Влияние весовых коэффициентов классов на оценки альтернатив в простых задачах 144
5.3.2 Влияние весовых коэффициентов классов и отдельных требований на результаты решения в сложных задачах 148
5.3.3 Зависимость устойчивости оценок альтернатив от используемого принципа расчета ЦФ. 153
5.3.4 Определение степени удовлетворения требований отдельных участников 154
5.4 Исследование влияния способов представления знаний на получаемые результаты 156
5.4.1 Применение свойств-множеств 157
5.4.2 Представление знаний в виде нечетких свойств и требований 159
5.4.3 Использование вычисляемых свойств 161
5.4.4 Внешние свойства и классы 162
5.5 Заключение 165
Заключение 167
Список литературы 169
- Подходы к анализу и выбору коллективных решений
- Описание подхода к коллективному выбору на основе учета взаимных требований
- Разработка вариантов структуры программной системы коллективного выбора
- Создание задачи в системе
Введение к работе
Принятие решений составляет основу процессов управления активными системами. В сложных социально-производственных, социально-экономических, социально-технических и других антропогенных системах в процессах принятия решений неизбежно возникают конфликты, обусловленные противоречивыми интересами элементов системы. Выработка управленческих решений в условиях конфликта предполагает нахождение некоторого компромисса между интересами входящих в систему субъектов и объектов. Авторитарная политика управления, игнорирующая интересы всех субъектов, кроме одного, чревата трудностями, которые могут возникнуть в процессе реализации управленческого решения. Однако, с точки зрения математики, выбор решения одним лицом представляет собой традиционную задачу, для решения которой предложено множество разнообразных методов.
Выработка управленческих решений с учетом интересов множества субъектов рассматриваемой системы является . нетривиальной математической задачей, которая может иметь различные постановки. Эти постановки отличаются способами описания объектов и субъектов системы, методами формирования (синтеза) управленческих решений, принципами нахождения компромисса между субъектами, выраженными на языке математики, средствами оценки генерируемых решений. Методы формирования и анализа решений с учетом интересов всех субъектов системы позволяют находить сбалансированные и эффективные решения, имеющие высокие шансы на успешную практическую реализацию. Это становится возможным благодаря возможности разрешения конфликтов на стадии выработки, а не реализации решения, а также применению принципов коллективного управления, которые в настоящее время необходимы практически всем компаниям, поскольку процессы принятия решений становятся все более сложными, и ни один специалист не обладает всей информацией и знаниями для решения задачи индивидуально.
5
Коллективный стиль принятия решений, в свою очередь, накладывает
жесткие ограничения на сроки анализа решений, которые становятся короче.
Коллективное взаимодействие становится все более информационно
концентрированным, происходит увеличение риска информационной
перегрузки. И применение информационных технологий - основной способ
преодоления этих проблем. Поскольку решение задач с учетом взаимных
требований сопряжено с обработкой больших объемов разнородной
информации и часто требует активного участия территориально удаленных
пользователей, для таких задач особенно важна разработка
соответствующих программных средств поддержки принятия решений. Эти средства должны базироваться на эффективных моделях и алгоритмах, на применении современных информационных технологий, в том числе, на организации доступа через Web-интерфейс с использованием сетей передачи данных и на интеграции с хранилищами данных. Большинство существующих программных продуктов для поддержки принятия решений (Decision Support System) представляют собой либо модификации методов и алгоритмов традиционного индивидуального выбора, не всегда отвечающие сути группового выбора, либо выполняют функции предварительной подготовки информации и ускорения информационного обмена, но не осуществляют генерацию и анализ решений.
Таким образом, возникает необходимость в разработке специальных методов, алгоритмов, методик и программных средств для решения задач коллективного выбора с учетом требований множества его участников. Эти методики ориентированы на быстрый поиск исходной информации, многовариантный математический анализ полученных от пользователей данных и нахождение компромиссного решения, удовлетворяющего в той или иной степени требованиям всех субъектов.
Подходы к анализу и выбору коллективных решений
Проблемы принятия коллективных решений можно разделить на следующие группы: 1. Задачи коллективного бесконфликтного выбора. 2. Задачи группового выбора в конфликтных ситуациях. 3. Задачи и методы кооперации (распределение затрат и прибыли). 4. Динамические задачи коллективного выбора в конфликтных ситуациях. 5. Задачи о назначениях. 6. Задачи формирования коллективного поведения. В задачах первой группы (коллективного бесконфликтного выбора) согласованность мнений экспертов может быть оценена статистическими методами[91, 99, 120]. При этом для согласования суждений возможно применение различных процедур открытого обсуждения или процедур без личных контактов на основе многоуровневого анкетирования. Наиболее известным методом открытого обсуждения является такой метод, как «мозговой штурм», или «мозговая атака» (совместное генерирование новых идей и последующее принятие решений). Если предстоит решить сложную проблему, собирается группа людей, которые предлагают любые решения определенной проблемы. Основное условие «мозгового штурма» — создание обстановки, максимально благоприятной для свободного генерирования идей. Чтобы этого добиться, запрещается опровергать или критиковать идею, какой бы на первый взгляд фантастической она ни была. Все идеи записываются, а затем анализируются специалистами. Примером метода на основе многоуровневого анкетирования может служить метод Дельфи. В этом методе после каждого тура данные анкетирования дорабатываются и полученные результаты сообщаются экспертам с указанием расположения оценок. Первый тур анкетирования проводится без аргументации, во втором отличающийся от других ответ подлежит аргументации или же эксперт может изменить оценку. После стабилизации оценок опрос прекращается и принимается предложенное экспертами или скорректированное решение. Для формирования общего решения при согласованных мнениях применяются различные обобщенные средние, при этом мнения экспертов могут иметь неодинаковую значимость. Для согласования мнений экспертов о важности критериев используется метод построения компромиссной ранжировки. Каждый эксперт дает свою ранжировку критериев по важности. На основе индивидуальных ранжировок нужно построить обобщенную. Это можно сделать разными методами. Наиболее корректным (но и наиболее трудоемким) считается метод "медианы Кемени" (по имени автора -американского математика и экономиста, лауреата Нобелевской премии). Для нахождения медианы, прежде всего, нужно задать способ определения расстояния между ранжировками. После этого, нужно найти (построить) такую ранжировку, суммарное расстояние от которой до всех заданных экспертных ранжировок было бы минимально. Искомая ранжировка и будет медианой Кемени. [60] В методе анализа иерархий применяются средние геометрические суждения [21]. В теории полезности широко используется аддитивная функция коллективной полезности, применение которой возможно при допущениях независимости и единогласия суждений различных экспертов[91; 94; 119]. Существует подход, основанный на выработке идеального коллективного решения, близость к которому оценивается с помощью той или иной метрики [120].
Для принятия решений в многочисленных группах применяются процедуры голосования. Аксиоматический подход к процессам коллективного выбора помогает сократить количество рассматриваемых допустимых решений и предлагает аксиоматическую характеризацию каждого из них. При аксиоматическом подходе легко получаются отрицательные результаты. Одним из таких результатов является теорема о невозможности Кеннета Эрроу, сущность которой состоит в невозможности нахождения такой функции коллективной полезности, которая удовлетворяла бы как интересам отдельных индивидуумов, так и интересам общества в целом. Если отойти от аксиомы независимости, т.е. допустить контекстно-зависимый выбор, становится возможным формирование группового предпочтения по правилам, отличным. от правила диктатора. [126]. В работе Эрроу [2] транзитивность предпочтений представляет собой основу согласованности, которая жестко оценивается по двухбалльной шкале. Нарушение согласованности рассматривается как логическое противоречие. Более гибкий подход к оценке согласованности позволяет найти компромисс между индивидуумами [113].
При решении задач второй группы (группового выбора в конфликтных ситуациях) используется теория математических моделей принятия оптимальных решений в условиях конфликта. Она составляет основное содержание теории игр[53; 54; 67; 70; 91; 94; 96; 101; 117; 123; 124], одним из направлений которой являются кооперативные игры [92], где участники могут заключать соглашения о совместных действиях и обмениваться выигрышами.
Описание подхода к коллективному выбору на основе учета взаимных требований
В первой главе при рассмотрении различных подходов к задаче коллективного принятия решений мы выделили среди прочих подход к коллективному выбору на основе учета взаимных требований [39]. С одной стороны, он обладает многочисленными достоинствами и на его основе может быть реализована система поддержки принятия решений, удовлетворяющая современным требованиям. С другой стороны, этот подход является новым, представляет собой интерес для проведения научных исследований, в результате которых может быть дополнен новыми эффективными средствами представления и обработки используемой информации. Рассмотрим этот подход более подробно.
Индивидуальный выбор иногда определяется не только предпочтениями J11 LP, но и требованиями, которые предъявляют к нему выбираемые альтернативы. Примерами могут служить задачи выбора производственных партнеров для предприятия, квартирного обмена, подбора кадров и т. д. Такие задачи будем называть задачами с двухсторонними требованиями. На практике ЗПР с двухсторонними требованиями часто сводят к традиционным задачам путем добавления критериев, характеризующих требования выбираемых альтернатив. Например, все технические системы предъявляют определенные требования к условиям их эксплуатации, которые в традиционных подходах учитываются с помощью критериев Эксплуатационные свойства, Устойчивость к механическим повреждениям и т. п. Высокие оценки по критериям такого типа соответствуют низким требованиям альтернатив к ЛПР и наоборот. Весьма распространенным является подход, когда требования выбираемой стороны учитываются в форме ограничений, накладываемых на выбор альтернатив. Так, подбирая банк для обслуживания предприятия, требования банка к величине основных фондов предприятия учитываются в форме ограничения на рассматриваемые альтернативы. Если требования банка к размеру основных фондов не выполняются, то эта альтернатива отвергается. Схема двухсторонней задачи представлена на рис. 2. Сведение двухсторонних задач к традиционным постановкам приводит к отсеиванию альтернатив, предъявляющих высокие требования к выбирающей стороне. Такой подход правомерен в случае предъявления невыполнимых требований. Однако если выбирающая сторона располагает ресурсами для совершенствования, то не следует отвергать альтернативы, к нему побуждающие. Например, в задаче подбора персонала для управления автоматической телефонной станцией (АТС) кандидаты, не обладающие необходимыми техническими навыками, сразу исключаются из рассмотрения. Однако если кандидат удовлетворяет всем остальным требованиям и единственным его недостатком является отсутствие подготовки, возможно более эффективным будет решение выбрать именно его и направить в дальнейшем на курсы по обучению. Если альтернативы рассматриваются как равноправный субъект выбора и при этом обе выбирающие стороны оценивают друг друга по многим критериям, возникает задача нахождения компромисса между взаимными требованиями участников выбора. Данная проблема может быть представлена как задача коллективного выбора решения с произвольным числом участников (субъектов).
Разработка вариантов структуры программной системы коллективного выбора
Для того чтобы разрабатываемая система удовлетворяла сформулированным в предыдущем разделе требованиям, необходимо выбрать соответствующие средства разработки. Требования поддержки многопользовательского режима работы, удаленного доступа к системе и высокой степени масштабируемости подразумевают, что программный продукт должен разрабатываться по технологии «клиент-сервер». Таким образом, средства разработки включают в себя две основные составляющие: 1) СУБД вместе с соответствующим инструментарием для создания БД и разработки серверной части системы; 2) среда программирования, в которой будет создаваться клиентская часть системы.
Важным аспектом проектирования программной системы является вопрос о выборе системы управления базой данных (СУБД) для реализации базы знаний. В качестве возможных вариантов мы рассматривали известные реляционные СУБД, такие как Microsoft SQL Server, Oracle, MySQL, и объектно-ориентированные технологии. Достоинства традиционных реляционных СУБД - стабильность в работе, надежность, большое количество документации. Основная проблема реляционного представления данных - избыточность, которая может повлечь за собой аномалии обновления в базах данных. Эта проблема становится достаточно сложной, когда элементы данных сильно связаны и имеют множественный характер. Кроме того, бесплатные СУБД, такие как MySQL, характеризуются достаточно низкой степенью масштабируемости, а фирмы Microsoft и Oracle не предоставляют бесплатных вариантов лицензий на свои продукты. Постреляционные СУБД обладают рядом дополнительных возможностей по сравнению с традиционными. В основном эти особенности касаются реализации объектно-ориентированного подхода к хранению данных. Такие системы позволяют моделировать данные любой сложности и обладают мощными средствами, обеспечивающими их эффективную обработку. К достоинствам современных объектно-ориентированных СУБД относятся также возможности организации доступа к данным через Internet с помощью Web-интерфейса, что особенно важно для процессов коллективного выбора решений, где может требоваться одновременный доступ к базе данных большого количества участников, которые могут быть дистанционно удалены друг от друга.
В связи со сказанным была выбрана постреляционная СУБД Intersystems Cache, которая объединяет сервер многомерных данных и многофункциональный сервер приложений [111]. Главные достоинства Cache - развитая объектная технология, высокая эффективность Web-разработки, усовершенствованная база SQL и уникальная техника получения данных, — позволяют достичь такого высокого уровня производительности и масштабируемости, который был немыслим в рамках реляционной технологии [77]. Кроме того, Intersystems предоставляет бесплатную однопользовательскую лицензию для проверки функциональных возможностей данного продукта.
Благодаря таким элементам сервера приложений Cache (Cache Application Server), как совместимость с различными технологиями, многомерная информационная модель для хранения семантически сложных данных, новейшие инструменты объектного программирования, появляется возможность быстрой и эффективной разработки приложений для баз данных практически любого уровня сложности. Кроме традиционных способов построения Web-приложений, Cache поддерживает технологию Cache Server Pages (CSP), которая объединяет в себе мощную объектную архитектуру, динамическое формирование страниц на сервере и возможности интеграции с инструментальными средствами разработки Web-приложений [111].
В качестве альтернативных сред программирования для разработки клиентской части системы рассматривались Borland C++ Builder, Microsoft Visual Studio и Microsoft Access. Разработка программ в Microsoft Visual Studio является весьма трудоемкой задачей, поскольку, несмотря на название, данная среда практически не предоставляет визуальных средств программирования, облегчающих построение пользовательского интерфейса. Генерируемый же код весьма эффективен, а размер получаемого исполнимого файла минимален. Microsoft Access, наоборот, предоставляет очень широкие возможности визуального проектирования и обеспечивает высокую скорость разработки, однако получаемый код исполняется интерпретатором, поэтому эффективность его значительно ниже. В нашем случае это может оказаться весьма критичным в процедурах расчета ЦФ для множества сложных альтернатив с большой мощностью. Очень хорошим компромиссным решением выступает Borland C++ Builder. Эта среда программирования позволяет получить полноценные исполняемые файлы, причем по эффективности кода программы практически не уступают полученным в Visual Studio. По скорости и удобству проектирования Builder практически не уступает Access. Поэтому в качестве среды программирования, которая будет использоваться при написании клиентской части системы, была выбрана система Borland C++ Builder, которая обеспечивает быструю разработку и отладку программ, сочетающуюся с высокой эффективностью получаемого кода.
Создание задачи в системе
Для того, чтобы продемонстрировать основные возможности рассматриваемого подхода к решению задач группового выбора, а также разработанной системы, проанализировать свойства и особенности разработанных моделей и алгоритмов, а также их эффективность, в рамках данной работы было решено несколько практических задач из различных областей человеческой деятельности. Базовые функции системы поддержки принятия решений, а также порядок работы с нею рассмотрены на примере относительно простой задачи выборе вида деятельности и кадрового состава фирмы. Возможность решения традиционных задач индивидуального выбора с использованием разработанной системы продемонстрирована на примере задачи о выборе автоматической телефонной станции. Возможность решения задач синтеза технических систем, использование свойств-множеств и вычисляемых свойств, расчет дополнительных обобщенных характеристик сложных альтернатив показаны на примере задачи синтеза конфигурации персонального компьютера. И, наконец, в качестве примера сложной задачи с большим числом сторон, принимающих участие в принятии решения и несколькими различными обобщенными характеристиками сложных альтернатив была использована задача о расширении сети передачи данных телекоммуникационной компании. При решении этой задачи наиболее полно используются все возможности разработанной системы, а ее размерность позволяет оценить полученный в результате оптимизации уровень эффективности моделей и алгоритмов. Кроме приведенных в данной работе задач, с использованием разработанной системы были решены следующие задачи: о выборе типа виброзащитных систем для транспортных средств, о трудоустройстве, о выборе оптимального процессора для рабочей станции, о распределении номерной емкости вводящейся в строй автоматической телефонной станции.
Рассмотрим основные возможности разработанных методов, алгоритмов, а также программной системы на примере задачи выбора будущим руководителем фирмы вида деятельности и сотрудников. Данная задача включает достаточно малое число сторон и участников, свойства и требования сторон постоянны и не зависят друг от друга. Это позволяет проанализировать достаточно подробно удовлетворение требований каждого участника и зависимость значения целевой функции от степени удовлетворения различных требований. Кроме того, на этой задаче удобно проследить порядок работы с системой.
Будущий руководитель фирмы (в дальнейшем - руководитель) желает создать свою фирму, которая будет заниматься разработкой и продажей программного обеспечения (ПО). Он выполняет функцию координатора в данной задаче. Руководитель еще окончательно не определил, чем конкретно будет заниматься его фирма, но у него есть 3 варианта: «Создание ПО под UNIX», «Создание ПО под Windows» и «Продажа и сопровождение готового ПО». Кроме того, он полагает, что на начальном этапе ему необходимо взять на постоянную работу программистов и менеджеров по продажам. Заметим, что традиционно при решении таких задач руководитель сначала определяет вид деятельности, а затем подбирает соответствующий персонал. Однако в данном случае подбор кадров может повлиять на выбор вида деятельности, поэтому представляется целесообразным применение выше описанного подхода к формированию и выбору решения, обеспечивающего приемлемый компромисс. При этом можно учесть не только мнение руководителя, но и возможности кадрового потенциала, а также мнения будущих сотрудников фирмы о виде деятельности, о требованиях к руководителю и друг к другу. Решение, сформированное на основе предлагаемой методики, позволяет естественным образом учесть ограничения, связанные с отсутствием кандидатур, удовлетворяющих требованиям того или иного вида деятельности.
Рассмотрим решение задачи в порядке, который предусмотрен в системе. На первом этапе руководитель регистрируется в системе как координатор и формирует новую задачу, в которой создает классы «Руководитель», «Вид деятельности», «Программисты» и «Менеджеры по продажам».
Класс «Руководитель» отражает личные свойства руководителя. Это -«Компетентность» и «Опыт работы в руководящей должности». Эти два свойства формулирует сам руководитель фирмы. Свойство «Организаторские навыки», показанное в табл. 4.1, будет сформулировано позже другими участниками.
Класс «Вид деятельности» представляет пассивные субъекты выбора, которые описаны свойствами «Перспективность», «Уровень доходов на начальном этапе», «Время развития» и «Количество конкурентов».
Классы «Программисты» и «Менеджеры по продажам» будут содержать объекты, представляющие активных участников. Программисты должны обладать свойствами: «Профессиональные навыки», «Умение работать в коллективе», «Умение вести диалог с пользователем», «Возраст». Менеджеры описаны свойствами: «Компетентность в области создания ПО», «Умение работать в коллективе», «Опыт продаж ПО», «Возраст». Объекты этих классов будут создавать пользователи через Web-интерфейс системы.