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

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Марлей В.Е., Плотников С.Н., Резников В.А.

Понятие алгоритмической модели появилось от алгоритмического подхода, при котором моделируемый объект, явление предстаёт в виде процесса, подчиняющегося строгим правилам алгоритма, в основу которого кладётся процесс функционирования объекта. Под алгоритмической моделью здесь понимается формализованное описание сценария предметного специалиста для моделируемого процесса, структура которого сопоставима со структурой причинно-следственных и временных зависимостей между явлениями моделируемого процесса, вместе со всей информацией, необходимой для её программной реализации. Для представления структуры алгоритмических моделей используются алгоритмические сети. Обычно они определялись как конечный ориентированный нагруженный граф, вершинам которого сопоставлены операторы, а дугам переменные, связываемые операторами. Язык алгоритмических сетей обладает большими возможностям, алгоритмы, которые он может отображать, равномощны классу всех произвольных алгоритмов. В существующих системах автоматизации моделирования на основе алгоритмических сетей, в основном используются операторы, работающие с реальными числами. Это хотя и снижает их возможности, но вполне достаточно для моделирования широкого класса задач, связанных с экономикой, экологией, транспортом, техническими процессами. Задача моделирования выполнения расписаний и сетевых графиков является актуальной и востребованной. Существует достаточно много систем рассчитывающих сетевые графики, однако в них мониторинг процесса основан анализе отставаний и пересчете графиков, нет анализа прогноза выполнения сетевого графика или расписания. Разработанная библиотека предназначена для построения подобных прогнозных моделей. Задавая различные исходные данные можно получить набор прогнозов, из которых выбрать один и принять его за новый план.

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

Special libraries of fragments of algorithmic networks to automate the development of algorithmic models

The concept of algorithmic models appeared from the algorithmic approach in which the simulated object, the phenomenon appears in the form of process, subject to strict rules of the algorithm, which placed the process of operation of the facility. Under the algorithmic model is the formalized description of the scenario subject specialist for the simulated process, the structure of which is comparable with the structure of the causal and temporal relationships between events of the process being modeled, together with all information necessary for its software implementation. To represent the structure of algorithmic models used algorithmic network. Normally, they were defined as loaded finite directed graph, the vertices which are mapped to operators and arcs are variables, bound by operators. The language of algorithmic networks has great features, the algorithms that it can display indifference the class of all random algorithms. In existing systems, automation modeling based on algorithmic nets, mainly used by operators working with real numbers. Although this reduces their ability, but enough for modeling a wide class of problems related to economy, environment, transport, technical processes. The task of modeling the execution of schedules and network diagrams is relevant and useful. There are many counting systems, network graphs, however, the monitoring process based analysis of gaps and terms of graphs, no analysis of prediction execution schedule or schedules. The library is designed to build similar predictive models. Specifying source data to obtain a set of projections from which to choose one and take it for a new plan.

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

УДК 004.7

Заведующий кафедрой В.Е. Марлей,

(Государственный университет морского и речного флота имени адмирала С.О. Макарова) кафедра вычислительных систем и информатики. тел (812) 748-96-35, E-mail: vmarley@yandex.ru

старший преподаватель С.Н. Плотников,

(Воронежский филиал ГУМРФ) кафедра информационных систем и технологий, тел. (920) 226-00-44, E-mail:279622@mail.ru соискатель В.А. Резников

(ГУМРФ) кафедра информационных систем и технологий.

Head of the department V.E. Marley,

(State University of sea and river fleet named after Admiral S. O. Makarov) Department of

computing and Informatics. phone (812) 748-96-35

E-mail:vmarley@yandex.ru

senior teacher S.N. Plotnikov,

(Voronezh branch GUMH) Department of information systems and technology, phone: (920) 226-00-44 E-mail:279622@mail.ru applicant V.A. Reznikov

(GUMH) Department of information systems and technology.

Специализированные библиотеки фрагментов алгоритмических сетей для автоматизации разработки алгоритмических моделей

Special libraries of fragments of algorithmic networks to automate the development of algorithmic models

Реферат. Понятие алгоритмической модели появилось от алгоритмического подхода, при котором моделируемый объект, явление предстаёт в виде процесса, подчиняющегося строгим правилам алгоритма, в основу которого кладётся процесс функционирования объекта. Под алгоритмической моделью здесь понимается формализованное описание сценария предметного специалиста для моделируемого процесса, структура которого сопоставима со структурой причинно-следственных и временных зависимостей между явлениями моделируемого процесса, вместе со всей информацией, необходимой для её программной реализации. Для представления структуры алгоритмических моделей используются алгоритмические сети. Обычно они определялись как конечный ориентированный нагруженный граф, вершинам которого сопоставлены операторы, а дугам - переменные, связываемые операторами. Язык алгоритмических сетей обладает большими возможностям, алгоритмы, которые он может отображать, равномощны классу всех произвольных алгоритмов. В существующих системах автоматизации моделирования на основе алгоритмических сетей, в основном используются операторы, работающие с реальными числами. Это хотя и снижает их возможности, но вполне достаточно для моделирования широкого класса задач, связанных с экономикой, экологией, транспортом, техническими процессами. Задача моделирования выполнения расписаний и сетевых графиков является актуальной и востребованной. Существует достаточно много систем рассчитывающих сетевые графики, однако в них мониторинг процесса основан анализе отставаний и пересчете графиков, нет анализа прогноза выполнения сетевого графика или расписания. Разработанная библиотека предназначена для построения подобных прогнозных моделей. Задавая различные исходные данные можно получить набор прогнозов, из которых выбрать один и принять его за новый план.

Summary. The concept of algorithmic models appeared from the algorithmic approach in which the simulated object, the phenomenon appears in the form of process, subject to strict rules of the algorithm, which placed the process of operation of the facility. Under the algorithmic model is the formalized description of the scenario subject specialist for the simulated process, the structure of which is comparable with the structure of the causal and temporal relationships between events of the process being modeled, together with all information necessary for its software implementation. To represent the structure of algorithmic models used algorithmic network. Normally, they were defined as loaded finite directed graph, the vertices which are mapped to operators and arcs are variables, bound by operators. The language of algorithmic networks has great features, the algorithms that it can display indifference the class of all random algorithms. In existing systems, automation modeling based on algorithmic nets, mainly used by operators working with real numbers. Although this reduces their ability, but enough for modeling a wide class of problems related to economy, environment, transport, technical processes. The task of modeling the execution of schedules and network diagrams is relevant and useful. There are many counting systems, network graphs, however, the monitoring process based analysis of gaps and terms of graphs, no analysis of prediction execution schedule or schedules. The library is designed to build similar predictive models. Specifying source data to obtain a set of projections from which to choose one and take it for a new plan.

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

Keywords: algorithmic models, libraries of fragments of algorithmic networks, automation.

© Марлей В.Е., Плотников С.Н., Резников В.А., 2015

Понятие алгоритмической модели [1] появилось от алгоритмического подхода, при котором моделируемый объект, явление предстаёт в виде процесса, подчиняющегося строгим правилам алгоритма [2], в основу которого кладётся процесс функционирования объекта. Алгоритмический подход предпочтительнее в компьютерных технологиях и системах, ориентированных на конечного пользователя, как основы средств задания функциональной спецификации решаемой задачи. Под алгоритмической моделью здесь понимается формализованное описание сценария предметного специалиста для моделируемого процесса, структура которого сопоставима со структурой причинно-следственных и временных зависимостей между явлениями моделируемого процесса, вместе со всей информацией, необходимой для её программной реализации. Для представления структуры алгоритмических моделей используются алгоритмические сети. Обычно они определялись как конечный ориентированный нагруженный граф, вершинам которого сопоставлены операторы, а дугам - переменные, связываемые операторами. Алгоритмические сети (АС) служат для представления алгоритмических моделей и отображают некоторую расчётную схему, по которой проводятся вычислительные эксперименты над моделями. Вычисления производятся по шагам моделирования, осуществляются в каждой вершине сразу же, как для текущего шага моделирования становятся известны значения всех переменных, соответствующих входным дугам вершины. Алгоритмическая сеть является отображением причинно-следственных и временных связей между явлениями, представленными в сценарии моделируемого процесса, в вычислительные связи между операторами.

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

х2(поступление)

х3

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

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

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

На рисунке 1 приведены имена переменных (х1 - х5) их расшифровка:

х1 - объем товара на складе на конец предыдущего периода;

х2 - поступление товара в текущем периоде; х3 - объем товара с учетом поступления в текущем периоде;

х4 - выдача товара в текущем периоде; х5 - объем товара на складе в текущем периоде.

х4(выдача)

х5

х1(объем товара)

Рисунок 1. Алгоритмическая сеть модели

Из рисунка 1 видно, что искомый объем товара в текущем периоде (х5) вычисляется на основании значений переменных х1, х2, х4. Выражения, по которым производятся вычисления в вершинах АС, приводятся ниже: х3(0 = х1(0 + х2(0; х5(Г) = х3(Г) - х4(г); х1(г+1) = х5(г).

Как видно из рисунка 1 и приведенных формул, внесение оператора «задержка» (АО позволило внести динамику в модель, организовать расчет х5, используя на последующих шагах данные, формируемые в модели.

Язык алгоритмических сетей обладает большими возможностям, алгоритмы, которые он может отображать, равномощны классу всех произвольных алгоритмов (с учетом возможности ссылок в вершинах на другие АС).

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

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

ориентированными на какую-либо предметную область (примером может послужить рассмотренная выше АС, которая является примером универсальной конструкции «емкость»), так и специализированными. В данной статье рассматривается специализированная библиотека для моделирования процессов выполнения расписаний и сетевых графиков.

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

Рассмотрим основной фрагмент АС, используемый в данной библиотеке. Он ориентирован на представление сетевого графика «работы-вершины».

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

Рисунок 2. Модуль «Работа, зависимая от выполнения других работ»

Модуль работы, указанный на рисунке В данном модуле взаимодействуют пе-

2, не сможет начать выполнятся, пока не будут ременные, представленные в таблице 1.

выполнены работы АВ, 1В и AS, т.е пока не будут сформированы индексы окончания работ (ЮАВ, ЮBS, ЮAS) отличные от 0.

Т а б л и ц а 1

Взаимодействие переменных

Имя переменной Тип переменной Значение переменной

IOAB расчетная Индекс окончания выполнения работы АВ

IOAS расчетная Индекс окончания выполнения работы AS

INIA входная Индекс начала работы

IOIA выходная Индекс окончания выполнения работы 1А

LIA входная Требуемая длительность выполнения работы

VIA расчетная Индекс начала выполнения работы

IA расчетная Фактическая длительность в наст. периоде

NIA расчетная Фактическая длительность в пред. периоде

INEVIA расчетная Индекс невыполненной работы

PIA входная Уникальный ресурс

Алгоритм работы модуля:

В начальный момент времени поступает входящая переменная LIA, как только она становится отличной от 0, формируется переменная INEVIA, после чего происходит перемножение переменных INIA и INEVIA. Но INIA не может быть сформирован, пока не будут рассчитаны IOAB, IOBS и IOAS, т.е пока не будут выполнены работы AB, IB и AS. Если хотя бы одна из этих работ не будет выполнена, работа IA не начнет выполняться.

Как только индексы IOAB и IOAS сформированы, формируется INIA. После формирования INIA рассчитывается переменная VIA. Далее происходит суммирование с переменной IA (т.е. вычисляется фактическая длительность выполнения работы на данный момент времени), после чего полученное значение проходит через контур задержки, затем происходит сравнение с переменной LIA, т.е. происходит сравнение фактической длительности с требуемой длительностью, если фактическая длительность меньше требуемой, то еще раз формируется переменная INEVIA, и алгоритм работы повторяется до тех пор, пока IA не станет больше LIA. Как только это происходит, формируется IOIA, что означает окончание выполнения работы.

Интерпретация значений входных переменных: из таблицы 1, приведенной выше, мы видим, что требуемая длительность выполнения работы составляет 2; необходимый ресурс для выполнения работы начинает поступать

с первого временного периода; работа 10 считается выполненной в 1 периоде, работа BS - во 2-ом; работа АВ - в 3-ем .

Рассмотренная АС может быть описана следующими рекуррентными выражениями: ША(^=тт (ЮАВ^), ЮBS(t), ЮAS(t)) У1А(^= ША^)* ЕЧЕУ1Аф* Р1А(^ №А(^=1А^+1)= У1А(^+ 1Аф ЕЧЕУ1Аф={1, ЕСЛИ 1А(^1А, ИНАЧЕ 0} Ю1А0)= {1, ЕСЛИ 1А(^>^1А, ИНАЧЕ 0} Все обозначения переменных приведены в таблице 1.

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

Ниже приводится сетевой график «вершины события» и его вариант «вершины-работы», фрагмент соответствующей им модели реализованной в системе КОГНИТРОН.

В приведенном сетевом графике вершины - события, переведем его в форму вершины-работы (рисунок 4).

01

/ XI

-1

17 78

23 36

12

24 46 68

25 56

Рисунок 4. Сетевой график вершины-события

Заметим, что не потребовалось вводить фиктивную работу 67.

На рисунке 4 приведена копия экрана фрагмента АС соответствующий представлен-

ному сетевому графику, реализованному в системе КОГНИТРОН.

Режим Недель Рисование Бш Ото Помощь

В ^ И 4> V а * а с ?

—рг * И V" 1)" к 0оо00®©®ое®е0 н в ~<у 9 5 в га "п га га* и В (га и Г Ч '(Я1 И- Я -I'1 № СЧ № рб е/ ют т "л

Рисунок 5. Фрагмент АС моделирующей сетевой графи

Ниже приводятся графики выполнения связанных работ из реализованной модели.

I ■= I j и

1.1 иг

1.0 0.9 0.В 0.7 0.6 0.4 0.Э 0.2 0.1

ИЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧ'ПЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧЧ

1 шмшашш а лшммшшшаммшшвмявялямажмвмжатвгаявшвщш о

X Title

■ 01 ■ 24 12

Рисунок 6. График выполнения работ 01, 12, 23, 24, 25

Результаты работы модели могут быть переданы MS Excel для дальнейшей обработки.

Модель, реализованная в АС с использованием разработанной библиотеки, позволяет

ЛИТЕРАТУРА

1 Плотников С.Н. Распознавание изоморфного вложения алгоритмических сетей // Вестник Воронежского государственного университета. Серия: Системный анализ и информационные технологии. 2014. № 2. С. 5-9.

2 Марлей В.Е., Плотников С.Н. Алгоритм распознавания изоморфного вложения алгоритмических сетей // Вестник Воронежского государственного университета инженерных технологий. 2014. № 3(61). С.72-75

3 Мистров Л.Е., Павлов В.А., Дерканосова А.А. Метод обоснования способов применения комплексов технических средств информационного обеспечения конфликтного взаимодействия организационно-технических систем // Вестник Воронежского государственного университета инженерных технологий. 2015. № 2 (64). С. 247-253.

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

4 Васильченко Д.С. Распознавание изоморфизма алгоритмических сетей при моделировании транспортных процессов // Вестник государственного университета морского и речного флота им. адмирала С.О. Макарова. 2010. № 4. C. 68-77.

5 Мистров Л.Е., Дерканосова А.А. Методы информационного воздействия при синтезе стратегий управления конкурентоустойчивостью социально-экономических организаций // Вестник Воронежского государственного университета инженерных технологий. 2013. № 4 (58). С. 282-288.

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

REFERENCES

1 Plotnikov S.N. Recognition isomorphic attachment algorithmic networks Vestnik VGU [Bulletin of VSU], 2014, no. 2, pp. 5-9. (In Russ.).

2 Marley V.E., Plotnikov S. N. The recognition algorithm is isomorphic to the attachment of algorithmic networks Vestnik Vorontzhskogo gosudarstven-nogo universiteta inzhenernih tehnologii [Vestnik of the Voronezh state University of engineering technologies], 2014, no. 3(61), pp. 72-75. (In Russ.).

3 Mistrov L.E., Pavlov V.A., Derkanosova A.A. Method of justification of methods of application of complexes of technical means of information support of the conflict of organizational-technical systems Vestnik Vorontzh-skogo gosudarstvennogo universiteta inzhenernih tehnologii [Vestnik of the Voronezh state University of engineering technologies], 2015, no. 2 (64), pp. 247-253. (In Russ.).

4 Vasilchenko D.S. Detection of isomorphism algorithmic networks for modeling the transport process Vestnik gosudarstvennogo universiteta morskogo i rechnogo flota imeni S.O. Makarova [Vestnik of State University of Marine and River Fleet them Admiral S.O. Makarova], 2010, no. 4, pp. 68-77. (In Russ.).

5 Mistrov L.E., Derkanosova A.A. Methods of informational influence in the synthesis of control strategies for competitiveness socio-economic organizations Vestnik Vorontzhskogo gosudarstvennogo universiteta inzhenernih tehnologii [Vestnik of the Voronezh state University of engineering technologies], 2013, no. 4 (58), pp. 282-288. (In Russ.).

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