Файл: Вдовин Суркова Валентинов Теория систем и системный анализ.pdf

Добавлен: 12.02.2019

Просмотров: 22641

Скачиваний: 340

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

530

531

n = Время_моделирования / Шаг_моделирования + 1
m = Количество_заявок_в_потоке: DT = Шаг_моделирования: 
tcr = Среднее_время_между_заявками
t = 0
 For i = 1 To n 'цикл по модельному времени
 t = t + DT
 For j = 1 To m ' цикл по номеру заявки
tc = t + tcr
 Next j
Next i
ГТА = tc
End Function

База пользовательских функций для решения задач ими-

тационного моделирования создается заблаговременно для той 
сферы деятельности, где планируется создавать и использовать 
имитационные модели.

Завершая рассмотрение данного вопроса, целесообразно 

привести некоторые общие правила, которыми необходимо 
руководствоваться при разработке имитационной модели в 
“Еxcel”.

1. Для управления моделью формируется специальный 

модуль.

2. Каждой из структур моделируемого процесса, напри-

мер основному производству, вспомогательному производству, 
системе обеспечения и т. д., должен соответствовать свой лист 
“Еxcel”, форма и модуль формы. 

3. Вывод результатов имитационного моделирования целе-

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

4. Первоначальную отладку модели целесообразно осуще-

ствить для одной реализации. Окончательные и промежуточные 
результаты этой реализации должны быть, по возможности, 
рассчитаны “вручную”.

14.9. Применение специализированных программных 

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

экономических процессов

Разработка имитационной модели очень сложный про-

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

Суть этих технологий в общем случае состоит в следую-

щем:

• заблаговременно разрабатываются программы для мо-

делирования различных элементов экономических систем 
(определяется вход, выход и условия функционирования этих 
элементов);

•создаются базы программ для моделирования различных 

элементов экономических систем;

•в соответствии с общими требованиями моделирования 

экономическая система разбивается на элементы — определя-
ется ее состав и структура;

•с помощью специальных программных средств осущест-

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

•разрабатываются программные коды, описывающие связи 

между элементами системы (вход, выход, условия функциони-
рования);

•в автоматизированном режиме осуществляется формиро-

вание программного кода, описывающего систему в целом.

Рассмотрим основные современные технологии разработки 

программных продуктов.

I. CASE- технология многослойного имитационного моде-

лирования

1

1

 А. Емельянов, Е. А. Власова, Р. В. Дума. Имитационное моделирова-

ние экономических процессов. Учебник / Под ред. А. А. Емельянова. — М.: 
Финансы и статистика, 2002.


background image

530

531

n = Время_моделирования / Шаг_моделирования + 1
m = Количество_заявок_в_потоке: DT = Шаг_моделирования: 
tcr = Среднее_время_между_заявками
t = 0
 For i = 1 To n 'цикл по модельному времени
 t = t + DT
 For j = 1 To m ' цикл по номеру заявки
tc = t + tcr
 Next j
Next i
ГТА = tc
End Function

База пользовательских функций для решения задач ими-

тационного моделирования создается заблаговременно для той 
сферы деятельности, где планируется создавать и использовать 
имитационные модели.

Завершая рассмотрение данного вопроса, целесообразно 

привести некоторые общие правила, которыми необходимо 
руководствоваться при разработке имитационной модели в 
“Еxcel”.

1. Для управления моделью формируется специальный 

модуль.

2. Каждой из структур моделируемого процесса, напри-

мер основному производству, вспомогательному производству, 
системе обеспечения и т. д., должен соответствовать свой лист 
“Еxcel”, форма и модуль формы. 

3. Вывод результатов имитационного моделирования целе-

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

4. Первоначальную отладку модели целесообразно осуще-

ствить для одной реализации. Окончательные и промежуточные 
результаты этой реализации должны быть, по возможности, 
рассчитаны “вручную”.

14.9. Применение специализированных программных 

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

экономических процессов

Разработка имитационной модели очень сложный про-

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

Суть этих технологий в общем случае состоит в следую-

щем:

• заблаговременно разрабатываются программы для мо-

делирования различных элементов экономических систем 
(определяется вход, выход и условия функционирования этих 
элементов);

•создаются базы программ для моделирования различных 

элементов экономических систем;

•в соответствии с общими требованиями моделирования 

экономическая система разбивается на элементы — определя-
ется ее состав и структура;

•с помощью специальных программных средств осущест-

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

•разрабатываются программные коды, описывающие связи 

между элементами системы (вход, выход, условия функциони-
рования);

•в автоматизированном режиме осуществляется формиро-

вание программного кода, описывающего систему в целом.

Рассмотрим основные современные технологии разработки 

программных продуктов.

I. CASE- технология многослойного имитационного моде-

лирования

1

1

 А. Емельянов, Е. А. Власова, Р. В. Дума. Имитационное моделирова-

ние экономических процессов. Учебник / Под ред. А. А. Емельянова. — М.: 
Финансы и статистика, 2002.


background image

532

533

В последние годы все большее распространение получают 

CASE-средства, позволяющие автоматизировать процессы 
проектирования, разработки и поддержки программных при-
ложений:

•компьютерных экономико-математических моделей; 

•экономических информационных систем; 

•вычислительных программ прикладной математики эко-

номического назначения. 

CASE-средства активно используют методологию структур-

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

Рассмотренный ниже декомпозиционный подход реали-

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

Одним из достаточно интересных и полезных применений 

CASE-средств является не только их интеграция в процессы про-
ектирования, разработки и поддержки структуры программного 
проекта, но и автоматизация процесса создания или генерации 
программного кода. Использование CASE-средств, дополненных 

такой возможностью, имеет ряд несомненных преимуществ 
перед простым кодированием, поскольку позволяет:

• отвлечься от кодирования данных и обратить большее 

внимание на структуру разрабатываемой системы;

• избежать некоторых ошибок за счет автоматического 

контроля;

•ускорить процесс проектирования и разработки проекта.
Теперь рассмотрим CASE-технологии применительно к си-

стеме имитационного моделирования. Для создания имитацион-
ной модели в отсутствие CASE-средств разработчику приходит-
ся писать программный код, использующий языковые средства 
системы моделирования Pilgrim. Модель имеет стандартную 
структуру. Внутри тек ста модели содержатся обращения к 
функциям Pilgrim, но может быть и произвольный C++ код.

Учитывая, что текст модели обрабатывается препроцессо-

ром и стандартным компилятором C++ (Microsoft, Borland и др.), 
можно выделить ряд проблем, возникающих перед пользовате-
лем при описании модели в операторах Pilgrim, а именно:

•необходимо знать элементы языка C++;

•нужно иметь отчетливое представление о структуре про-

граммы, опирающейся на библиотеку Pilgrim;

•требуется знать функции описания узлов и их параметров;

•имеется вероятность появления ошибки в порядке пере-

числения позиционных параметров, причем ошибка может быть 
не замечена компилятором C++, в результате чего модель будет 
выполняться, но иметь на выходе неправильные результаты. Об-
наружение такой ошибки тем сложнее, чем большее количество 
узлов имеет модель; 

•сложность описания больших моделей. Поскольку модель 

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

Конструктор моделей Pilgrim (далее — конструктор) по-

зволяет автоматизировать процесс создания графа модели и 
автоматически генерировать код Pilgrim-nporpaмы. Тем самым 


background image

532

533

В последние годы все большее распространение получают 

CASE-средства, позволяющие автоматизировать процессы 
проектирования, разработки и поддержки программных при-
ложений:

•компьютерных экономико-математических моделей; 

•экономических информационных систем; 

•вычислительных программ прикладной математики эко-

номического назначения. 

CASE-средства активно используют методологию структур-

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

Рассмотренный ниже декомпозиционный подход реали-

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

Одним из достаточно интересных и полезных применений 

CASE-средств является не только их интеграция в процессы про-
ектирования, разработки и поддержки структуры программного 
проекта, но и автоматизация процесса создания или генерации 
программного кода. Использование CASE-средств, дополненных 

такой возможностью, имеет ряд несомненных преимуществ 
перед простым кодированием, поскольку позволяет:

• отвлечься от кодирования данных и обратить большее 

внимание на структуру разрабатываемой системы;

• избежать некоторых ошибок за счет автоматического 

контроля;

•ускорить процесс проектирования и разработки проекта.
Теперь рассмотрим CASE-технологии применительно к си-

стеме имитационного моделирования. Для создания имитацион-
ной модели в отсутствие CASE-средств разработчику приходит-
ся писать программный код, использующий языковые средства 
системы моделирования Pilgrim. Модель имеет стандартную 
структуру. Внутри тек ста модели содержатся обращения к 
функциям Pilgrim, но может быть и произвольный C++ код.

Учитывая, что текст модели обрабатывается препроцессо-

ром и стандартным компилятором C++ (Microsoft, Borland и др.), 
можно выделить ряд проблем, возникающих перед пользовате-
лем при описании модели в операторах Pilgrim, а именно:

•необходимо знать элементы языка C++;

•нужно иметь отчетливое представление о структуре про-

граммы, опирающейся на библиотеку Pilgrim;

•требуется знать функции описания узлов и их параметров;

•имеется вероятность появления ошибки в порядке пере-

числения позиционных параметров, причем ошибка может быть 
не замечена компилятором C++, в результате чего модель будет 
выполняться, но иметь на выходе неправильные результаты. Об-
наружение такой ошибки тем сложнее, чем большее количество 
узлов имеет модель; 

•сложность описания больших моделей. Поскольку модель 

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

Конструктор моделей Pilgrim (далее — конструктор) по-

зволяет автоматизировать процесс создания графа модели и 
автоматически генерировать код Pilgrim-nporpaмы. Тем самым 


background image

534

535

снимаются отмеченные выше проблемы, возникающие при руч-
ном кодировании модели в виде Pilgrim-файла:

•автоматическая генерация программного кода позволяет 

пользователю не задумываться о структуре и синтаксисе про-
граммы, уделяя все внимание структуре и параметрам самой 
модели и ее узлов;

•генерация функций описания узлов конструктором исклю-

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

•анализируя модель, конструктор не позволяет пользовате-

лю выполнять заведомо неверные действия, а также предупре-
ждает о возможных ошибках;

•поддержка конструктором множества плоскостей обеспе-

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

II. Разработка имитационной модели экономического про-

цесса с помощью графического конструктора Pilgrim-5.

Пример. Имеется предприятие, принимающее заказы на 

изготовление продукции ти пов А и В. Заказы на продукцию типа 
А поступают в среднем раз в 30 дней, а на продукцию типа В — 
раз в 5 дней. Для производства продукции типа А необходимо 
10 дней, а для продукции типа В — 2 дня. Одновременно может 
идти производство только по одному заказу. При этом заказы 
на продукцию А являются первоочередны ми. Все сведения о 
выполнении заказов типов А и В фиксируются в отдельных до-
кументах. Модель строится для исследования очереди задержек 
заказов.

Порядок выполнения.
1. Создание графа модели.
1. Рассмотрим в качестве автономных процессов:

•производство и фиксацию выполненных заказов;

•формирование заказов и очередь заказов на производство.
2. Определим единицу модельного времени для последую-

щего формирования параметров модели. Очевидно, в данном 
примере за единицу времени удобно взять один рабочий день.

3. Запустим конструктор на выполнение.
4. В основном меню выберем “Файл” -> “Создать”. В резуль-

тате в рабочей области экрана появится пустое окно с именем 
“Плоскость 1”. Это пустая корневая плоскость.

5. Из панели узлов в левой части экрана перетащим в пло-

скость построения узлы типов parent, serv. В панели узлов также 
найдем узел типа ag и щелкнем мышью по узлу ag. Надпись на 
панели сменится на term. Добавим в плоскость построения два 
узла типа term. Расположим узлы в рабочей области так, как 
показано на рис. 3.49.

6. Зададим имена узлов. Для этого нужно дважды щелкнуть 

мышью по каждому из узлов и в появившемся диалоговом окне 
в поле “Имя” вместо находящегося там “Object...” ввести: “Про-
изводство” для узла 102; “Отчет А” для узла 103, “Отчет В” для 
узла 104. Узел 101 будет содержать подуровень формирования 
заказов; он будет рассмотрен позже.

7. Определим маршруты транзактов. Для этого захватим 

изображение круга с перекрестием на панели узлов и перета-
щим на узел “Производство”. После отпускания кнопки мыши 
за курсором потя нется стрелка. Далее необходимо щелкнуть 
мышью по узлу “Отчет А”, в результате чего появится стрелка, 
символизирующая маршрут прохождения транзактов из узла 
“Производство” в “Отчет А”. 

Предостережение. Необходимо сначала указывать узел-

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