Файл: Вдовин Суркова Валентинов Теория систем и системный анализ.pdf
Добавлен: 12.02.2019
Просмотров: 22641
Скачиваний: 340
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.
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.
532
533
В последние годы все большее распространение получают
CASE-средства, позволяющие автоматизировать процессы
проектирования, разработки и поддержки программных при-
ложений:
•компьютерных экономико-математических моделей;
•экономических информационных систем;
•вычислительных программ прикладной математики эко-
номического назначения.
CASE-средства активно используют методологию структур-
ного анализа, предусматривающую наглядное и эффективное
проектирование системы путем выделения ее составляющих и
их последовательного рассмотрения. Описание системы начина-
ется с общего обзора и выделения основных ее компонентов или
процессов. Для ви зуального представления создается первый
уровень, или слой, на котором отображаются выделенные про-
цессы и их взаимосвязи. Далее для ряда процессов может быть
проведена детализация, в свою очередь выделяющая новые
процессы в их структуре. Так, последовательным усложнением
описания объекта и его процессов разработчик достигает не-
обходимой детализации. Глубина детализации определяется
как необходимой точностью, так и набором исходных данных.
В процессе структурного анализа выявляется иерархическая
структура модели.
Рассмотренный ниже декомпозиционный подход реали-
зуется в программных CASE-пакетах в различных вариациях,
поскольку существует достаточно широкий круг задач, для ко-
торых схожие методы могут быть применены. Однако все CASE-
пакеты предоставляют пользователю инструментарий работы с
проектом, опираю щийся на мощные современные графические
средства отображения информации в виде графов, диаграмм,
схем и таблиц.
Одним из достаточно интересных и полезных применений
CASE-средств является не только их интеграция в процессы про-
ектирования, разработки и поддержки структуры программного
проекта, но и автоматизация процесса создания или генерации
программного кода. Использование CASE-средств, дополненных
такой возможностью, имеет ряд несомненных преимуществ
перед простым кодированием, поскольку позволяет:
• отвлечься от кодирования данных и обратить большее
внимание на структуру разрабатываемой системы;
• избежать некоторых ошибок за счет автоматического
контроля;
•ускорить процесс проектирования и разработки проекта.
Теперь рассмотрим CASE-технологии применительно к си-
стеме имитационного моделирования. Для создания имитацион-
ной модели в отсутствие CASE-средств разработчику приходит-
ся писать программный код, использующий языковые средства
системы моделирования Pilgrim. Модель имеет стандартную
структуру. Внутри тек ста модели содержатся обращения к
функциям Pilgrim, но может быть и произвольный C++ код.
Учитывая, что текст модели обрабатывается препроцессо-
ром и стандартным компилятором C++ (Microsoft, Borland и др.),
можно выделить ряд проблем, возникающих перед пользовате-
лем при описании модели в операторах Pilgrim, а именно:
•необходимо знать элементы языка C++;
•нужно иметь отчетливое представление о структуре про-
граммы, опирающейся на библиотеку Pilgrim;
•требуется знать функции описания узлов и их параметров;
•имеется вероятность появления ошибки в порядке пере-
числения позиционных параметров, причем ошибка может быть
не замечена компилятором C++, в результате чего модель будет
выполняться, но иметь на выходе неправильные результаты. Об-
наружение такой ошибки тем сложнее, чем большее количество
узлов имеет модель;
•сложность описания больших моделей. Поскольку модель
любого размера выглядит как простое линейное перечисление
узлов и условий переходов между ними, то чем больше текст
модели, тем он сложнее воспринимается пользователем.
Конструктор моделей Pilgrim (далее — конструктор) по-
зволяет автоматизировать процесс создания графа модели и
автоматически генерировать код Pilgrim-nporpaмы. Тем самым
532
533
В последние годы все большее распространение получают
CASE-средства, позволяющие автоматизировать процессы
проектирования, разработки и поддержки программных при-
ложений:
•компьютерных экономико-математических моделей;
•экономических информационных систем;
•вычислительных программ прикладной математики эко-
номического назначения.
CASE-средства активно используют методологию структур-
ного анализа, предусматривающую наглядное и эффективное
проектирование системы путем выделения ее составляющих и
их последовательного рассмотрения. Описание системы начина-
ется с общего обзора и выделения основных ее компонентов или
процессов. Для ви зуального представления создается первый
уровень, или слой, на котором отображаются выделенные про-
цессы и их взаимосвязи. Далее для ряда процессов может быть
проведена детализация, в свою очередь выделяющая новые
процессы в их структуре. Так, последовательным усложнением
описания объекта и его процессов разработчик достигает не-
обходимой детализации. Глубина детализации определяется
как необходимой точностью, так и набором исходных данных.
В процессе структурного анализа выявляется иерархическая
структура модели.
Рассмотренный ниже декомпозиционный подход реали-
зуется в программных CASE-пакетах в различных вариациях,
поскольку существует достаточно широкий круг задач, для ко-
торых схожие методы могут быть применены. Однако все CASE-
пакеты предоставляют пользователю инструментарий работы с
проектом, опираю щийся на мощные современные графические
средства отображения информации в виде графов, диаграмм,
схем и таблиц.
Одним из достаточно интересных и полезных применений
CASE-средств является не только их интеграция в процессы про-
ектирования, разработки и поддержки структуры программного
проекта, но и автоматизация процесса создания или генерации
программного кода. Использование CASE-средств, дополненных
такой возможностью, имеет ряд несомненных преимуществ
перед простым кодированием, поскольку позволяет:
• отвлечься от кодирования данных и обратить большее
внимание на структуру разрабатываемой системы;
• избежать некоторых ошибок за счет автоматического
контроля;
•ускорить процесс проектирования и разработки проекта.
Теперь рассмотрим CASE-технологии применительно к си-
стеме имитационного моделирования. Для создания имитацион-
ной модели в отсутствие CASE-средств разработчику приходит-
ся писать программный код, использующий языковые средства
системы моделирования Pilgrim. Модель имеет стандартную
структуру. Внутри тек ста модели содержатся обращения к
функциям Pilgrim, но может быть и произвольный C++ код.
Учитывая, что текст модели обрабатывается препроцессо-
ром и стандартным компилятором C++ (Microsoft, Borland и др.),
можно выделить ряд проблем, возникающих перед пользовате-
лем при описании модели в операторах Pilgrim, а именно:
•необходимо знать элементы языка C++;
•нужно иметь отчетливое представление о структуре про-
граммы, опирающейся на библиотеку Pilgrim;
•требуется знать функции описания узлов и их параметров;
•имеется вероятность появления ошибки в порядке пере-
числения позиционных параметров, причем ошибка может быть
не замечена компилятором C++, в результате чего модель будет
выполняться, но иметь на выходе неправильные результаты. Об-
наружение такой ошибки тем сложнее, чем большее количество
узлов имеет модель;
•сложность описания больших моделей. Поскольку модель
любого размера выглядит как простое линейное перечисление
узлов и условий переходов между ними, то чем больше текст
модели, тем он сложнее воспринимается пользователем.
Конструктор моделей Pilgrim (далее — конструктор) по-
зволяет автоматизировать процесс создания графа модели и
автоматически генерировать код Pilgrim-nporpaмы. Тем самым
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.