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

Система моделирования и интеллектуализации задач принятия решений Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
128
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГРАФЫ / МОДЕЛИРОВАНИЕ / МЕТОД ПОТЕНЦИАЛОВ / ИНТЕЛЛЕКТУАЛИЗАЦИЯ / БАЗА ЗНАНИЙ / ЭКСПЕРТНЫЕ СИСТЕМЫ / ПОТОКИ В СЕТЯХ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Русакова Зинаида Николаевна

Рассмотрен программный инструментарий системы поддержки принятия решений МАТПРОГ. Система является инструментальным средством моделирования и интеллектуализации задач принятия решений. Разработанное алгоритмическое и программное обеспечение реализует решение поисковых задач на графах, экспертных систем и решателей, задачи линейного программирования, транспортной задачи, моделирование потоков в сетях и определение дерева разрезов сети, оценивание параметров линейных регрессий.

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

Modeling and intellectualization of decision making problems system

Examines the software tools of the MATPROG decision making support system. The system is a tool for modeling and intellectualization of decision making problems. The algorithmic software makes possible the solution of graph information retrieval problems, expert systems and solvers, linear programming problems, transportation model, network flow modeling, evaluation network tree cuts, estimation of linear regression parameters.

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

УДК 681.3.07

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

З.Н. Русакова 1 1 МГТУ им. Н.Э. Баумана, Москва, 105005, Россия

Рассмотрен программный инструментарий системы поддержки принятия решений МАТПРОГ. Система является инструментальным средством моделирования и интеллектуализации задач принятия решений. Разработанное алгоритмическое и программное обеспечение реализует решение поисковых задач на графах, экспертных систем и решателей, задачи линейного программирования, транспортной задачи, моделирование потоков в сетях и определение дерева разрезов сети, оценивание параметров линейных регрессий.

E-mail: z.n.rusakova@mail.ru

Ключевые слова: интеллектуализация, моделирование, база знаний,

графы, экспертные системы, потоки в сетях, метод потенциалов.

Разработанная система МАТПРОГ — это проблемно-ориентированное средство для автоматизации процесса решения инженерных задач, задач планирования вычислений при логическом синтезе программ, поиска в семантических сетях, описывающих произвольную предметную область. Планирование вычислений на семантической модели предметной области задачи рассматривается как решение задачи поиска пути на графах И-ИЛИ. Данная система включает в себя инструментальное средство для создания баз знаний и системы поиска решений, представляющее собой оболочку для формирования проблемно-ориентирвоанных систем.

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

Формализация описания знаний предметной области осуществляется посредством использования комбинации продукционной модели знаний и семантической сети, а также путем выделения множества информационных параметров и правил продукции для описания модуля знаний. Информационный параметр описывается атрибутивной парой атрибут — значение. Математическая модель предметной области представляет собой совокупность отношений, связанных общими атрибутами. Схеме модели предметной области соответствует семантическая сеть, описываемая графом И-ИЛИ: сеть представляет композицию схем отношений, составляющих модель.

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

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

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

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

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

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

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

Файл описания можно создать в двух режимах — текстовом и графическом. Графический интерфейс позволяет отобразить граф сети и ветви минимального разреза. Графическое описание создают в окне графического редактора: выбирают опцию «Создать графическое описание сети», после чего открывается окно графического ре-

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

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

Исходное описание сети с заданными вершинами стока — истока в графическом виде приведено на рис. 1.

Рис. 1. Исходное описание сети с заданными вершинами стока — истока

Результаты расчета так же, как исходные данные, выводятся на двух вкладках: текстовое описание и графическое описание. В графическом описании (в редакторе) ветви, входящие в минимальный разрез, выделяются при выводе красным цветом, вершина истока — синим, стока — красным цветом. Отсюда можно определить множества вершин, относящихся к истоку и стоку (А и В). Разработанный графический интерфейс отображает граф результата, в котором ветви разреза выделены красным цветом (рис. 2).

На другой вкладке приводится числовое (текстовое) описание результатов (рис. 3), в котором для каждой ветви выводится следующая информация: пропускная способность; поток; остаточная пропускная способность, равная нулю для ветвей разреза. Далее отображаются вершины, принадлежащие ветвям разреза, и величина максимального потока.

-Г граф сети D:WATPROG 10 intels\potg4 1 .fmp

графический файл

для решения задачи не закрывая окно графа сети перейти к меню потоковые задачи и выбрать пункт "максимальный пото— для решения задачи в пошаговом режиме необходимо последовательно выбирать данный пункт меню "пошаговый режим", после завершения решения выводятся ветви разреза, два множества вершин и максимальный поток, в окне графического для изменения вершин истока-стока или проускной способности ветвей перейти перейти в основное меню "потоковые зад< и выбрать пункт меню "изменить параметры сети", в Файле текстового описания сети внести изменил вершин стока истон

_лА

Рис. 2. Графический интерфейс для отображения графа результата

а

| Симплекс-метод Транспортная задача Потоковые задачи Сетевые задачи Матричные игры Справка

решение задачи 5 описание каждой ветви графа, вершины истока , стока I

1

N ветвей Начальный узел Конечный дзел Пропускная способность ребра Н Поток F С л V

0 0 1 4 4 0

1 0 3 10 4 Б

2 0 2 8 8 8

3 1 2 2 2 0

4 2 3 5 8 5

= 0 0 0 8 0

1 4 2 2 0

' 1 5 7 7 0

8 0 0 0 8 0

9 2 5 3 2 1

10 2 7 Б 8 Б

И 3 7 Б 4 2

12 7 5 К 8 G

13 4 5 Б Б 0

14 4 Б 11 8 3

15 5 Б 3 3 0

1Б Б 8 10 4 Б

17 5 8 8 8 8

18 7 8 5 4 1

istok-stok 1 Б

Вершины графа N доп. гн)1 ей Дополняющие пути Дополнявши

0 0 1 Б > 4 > 1 > 2

1 1 2 Б > 5 > 1 > 3

2 3 Б > 4 > 5 > 1 > 4

з 3 4 Б>4>5>2>1> 2

4 4 5 Б>8>7>3>0>1> 4

= 5 Максимальный поток: 15

6 Множество А(нсток 1

7 7 Множество В [сток] 234567890

Г

laatus:

Рис. 3. Числовое описание результатов моделирования потока в сети

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

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

Решением транспортной задачи является определение оптимального плана перевозок от т источников к п стокам при минимальной стоимости. План описывается матрицей планирования.

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

®МГТУ им.Н.Э. Баумана.МАТПРОГ: Исслед ванне операций: Линейное программированне .сетевые задачи .ПНЕ

| Симплекс-метод Транспорта 1 задача Г Ютоковыез. эдачи Сет евые задач, 1 Матричные игры Справка

: Метоа Северо-з. ападного угла:Опорный план 1 исходный план

;_1 2 3 4 5 6 7 8 Э 10 11 12 13 14 I Запасы

1 300

2 50 150 200

3 50 100 150

4 80 110 190

5 10 250 2Б0

С 50 100 175 25 Э50

7 100 150 110 40 400

8 100 50 0 150

Э 100 170 270

10 30 100 130

Потребности 350 200 180 120 300 100 175 125 150 110 140 50 100 200 100 2400

да >

Istatus^^

Рис. 4. Опорная матрица плана, полученная методом северо-западного угла

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

В пошаговом режиме используются две закладки: на одной странице выводится текущая матрица плана и значения потенциалов с

отображением целевой клетки, которая обозначается символом «X» (рис. 5). На другой закладке (рис. 6) выводится цикл пересчета, е указанием текущей целевой клетки, куда следует переместить данные о минимальной перевозке.

ВД1МГТУ им.Н.Э. Баумана МАТПРОГ: Исследс ванне оп раций: Линейное программирование ,сетевые задачи шащ

I Симплекс-метод Транспортная задача Потоковые задачи Сетевые задачи Матричные игры Справка

Текущий план: тоимость 58775 итерация:1 Матрица пересчета J

1>f=-61 2>1=-4Э 3>1=-48 4>f=2 5>1=1Э 6>1=3 7>f=24 8>1=35 Э>1=ЭЗ 10>i=37 11 >f=78 12>f=46 13>l=46 14>f=49 15>l=21 Запасы

1>и=се 300 300

2>и=72 50 150 200

3>и=72 50 100 X 150

4>и=52 80 110 190

5>и=15 10 250 260

G>u=0 50 100 175 25 350

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

7>и=-22 100 150 110 40 400

8>и=-9 100 50 8 150

9>и=-22 100 170 270

10> и=-21 30 100 130

Потребности 350 200 180 120 ЗОВ 180 175 125 150 110 140 58 108 200 100 2400

laatus^^

Рис. 5. Текущая матрица плана и значения потенциалов с отображением целевой клетки

ВДМГТУ им.Н.Э. Баумана.МАТПРОГ: Исследс ванне опер... ¡V]

Симплекс-метод Транспортная задача Потоковые задачи Сетевые задачи Матричные игры Справка

Текущий план: стоимость 58775 итерация:1 Матрица пересчета

3 4 5 8 8

3 100 X

4 80 110

5 10 250

G 50 25

7 100 150

I

I Status;

Рис. 6. Цикл пересчета, c указанием текущей целевой клетки «Х»

Для вывода оптимальной матрицы планирования используются две закладки: на одной выводится оптимальная матрица плана (рис. 7), на другой — полученная матрица стоимости оптимального плана (рис. 8).

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

На основе симплексных преобразований определяется начальный опорный план. Полученные результаты выводятся на закладке «Опорное решение» (рис. 10).

Рис. 7. Оптимальная матрица плана

!®МГИ им.Н.Э. Баумана.МДТПРОГ: Исследование операций: Линейно программирование,се те вые задачи

I Симплекс-метод Транспортная задача Потоковые з. эдачи Сетевые задач. 1 Матричные игры Справка

Оптимальный пл !ан: стоим ость 19700 итерация:26 Матрица разности ctoi iпсевдостоимости

1 I2 I3 I4 I5 Iе I7 I8 ls I" I" I12 I" I" |,5

1 7 -11 43 -39 N5 24 28 -39 0 89 -11 23 -14 0 -15

2 -10 -19 -29 -7 0 -65 0 -2 -26 -22 -8 -17 -44 -50 -12

3 -19 -19 -47 -10 -27 0 -25 pl -6 -14 -17 -42 -25 -12

4 -23 0 -57 26 73 18 22 7 32 0 -10 -1 31 -13

5 0 74 -17 25 94 30 21 9 40 22 23 -4 12 10

6 -12 -10 -29 -17 0 -3 -14 -39 -19 -9 -46 -54 -53 0

7 -18 48 19 0 72 76 0 61 -8 -45 0 16 -8

8 25 9 -4 -4 27 -15 -11 -45 51 57 33 -20 9 7

9 -14 -60 -1 -24 -27 -4 -35 -43 -18 0 -19 -8 0 0 0

10 -41 -44 -34 -Б -31 -21 -1 -28 -31 -28 0 -18 -12 -16 р15

Status:

Рис. 8. Матрица стоимости оптимального плана

4 МГТУ им.Н.Э Баумана Информацион ные гелноло г и и: Исслед вание операций ЫНВ

| Симплекс-метод Транспортная задача Потоковые задачи Сетевые задачи Матричные иг[ эы Справка

Файл прочитан иноничвоом

индексы 1 правая часть ' I2 = l< = 1» > » 1D

целевая строка 0 14.4 16 12.8 10.5 0 0 0 0 0 0 0

строка 1 21 2Б.5 7.8 0 0 -1 0 0 0 0 0 0

строка 2 30 51 26 45.7 0 0 -1 0 0 0 0 0

строка 3 500 0 0 50 72.5 0 0 -1 0 0 0 0

строка 4 9 10 0 0 0 0 0 0 1 0 0 0

строка 5 В 0 10 0 0 0 0 0 0 1 0 0

строка 6 5 0 0 1 0 0 0 0 0 0 1 0

строка 7 Б 0 0 0 1 0 0 0 0 0 0 1

| Status:

Рис. 9. Симплекс-таблицы канонической модели задачи

Ж МГТУ им.Н.Э. Баумана Информационные технологии: Исследование операций [^7~][п](х~|

| Симплекс-метод Транспортная задача Потоковые задачи Сетевые задачи Матричные игры Справка

1| Опорное решение получен исходная система в каноническом виде

||индексы |0 | I8 I 10 1"

0 152,76 -1.44 -1.6 -12.8 -10,5

1 0.9 0.1 9.690056916Е 7,741881137* 0

2 0,8 4.729831977' 0,1 2,768781297« 4,912791094[

3 5 -6.776263578 0 1 -1.228197773

4 6 -6.776263578 0 -5.4210108G2 Fi

5 Э.0Э 2.65 0.78 1.9323735321 0

6 265,2 5,1 2,6 45,7 0

7 185 0 0 50 72,5

_

btatus^^

Рис. 10. Опорное решение

Найденный опорный план необходимо исследовать на оптимальность. Если условия оптимальности не выполняются, то путем определения разрешающего элемента по минимальному симплексному преобразованию осуществляется переход к новому опорному плану, более близкому к оптимальному. Поиск оптимального решения реализуется в двух режимах — в пошаговом режиме и режиме вывода оптимального плана (закладка «Оптимальный план»).

Для вывода в пошаговом режиме используются также две закладки: на одной странице выводится текущая симплекс-таблица с отображением целевой клетки, на другой — исходная симплекс-таблица. Для рассматриваемого примера на первом шаге в пошаговом режиме отображается симплекс-таблица, в которой выделяется разрешающий элемент (рис. 11). Переход на следующий шаг вычислений осуществляется по команде «Продолжить». Результаты преобразований текущего шага отображаются в таблице (рис. 12). Для данного примера в таблице Хю вводится в базис, а Х7 выводится из базиса, в результате значение целевой функции уменьшается. Описанный процесс повторяется до получения оптимального плана либо до установления неразрешимости задачи.

им.Н.Э. Баумана Информационные технологии: Исследование опера... ["^~](п](:>Г|

1 Симплекс-метод Транспортная задача Потоковые задачи Сетевые задачи Матричные игры Справка

| оптимальное значение целевой Функции = 105,4 исходная система в каноническом виде

индексы 0 6 9 10 11

0 152,76 1,44 1,6 12,8 10,5

1 О.Э 0.1 9,69005691 7,74166113 0

2 0.6 4.72963197 0,1 2,76676129 4.91279109

3 5 -6,7762635i 0 1 -1,22819771

4 6 -6,7762635j 0 5.42101081 : 1

5 9,09 2,65 0,78 1,93237353 0

G 265,2 5,1 2,6 45,7 0

7 165 6 0 50 72,5

Продолжить - на следующую итерацию

¡Status:

Рис. 11. Симплекс-таблица с выделением разрешающего элемента

В заключение отметим, что программная система МАТПРОГ предназначена для решения задач интеллектуализации систем моделирования и анализа ситуаций принятия решений. Она реализует основные методы принятия решений: оптимизационные, статистические, экспертные. Алгоритмическое и программное обеспечение

/■^МГТУ им.Н.Э. Баумана Информационные технологии: Исследование опера... |"^~|[~n]fx]

Симплекс-метод Транспортная задача Потоковые задачи Сетевые задачи Матричные игры Справка | оптимальное значение целевой Функции - 92.6 исходная система в каноническом виде |

индексы 0 » 9 11

0 105.4 1,44 1,6 -0,256 -8,06

1 0,9 0.1 9,69005691 1,5483762; 1,12257271

2 0,8 4.72983197 0,1 5,5375625: 8.98058211

3 1,3 -6,77626355 0 -0,02 -1.45

4 6 -6,7762635; 0 1,08420217 1

5 9,09 2,65 0,78 -3,8647470( -2,8019416;

6 96,11 5.1 2,6 0,914 66,265

10 3,7 0 0 0,02 1.45

Продолжить - на следующую итерацию

Status:

Рис. 12. Результаты преобразований текущего шага: Хю вводятся в базис, Х7 выводится из базиса

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

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

Статья поступила в редакцию 25.10.2012

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