Файл: Вдовин Суркова Валентинов Теория систем и системный анализ.pdf
Добавлен: 12.02.2019
Просмотров: 22640
Скачиваний: 340
540
541
равным 5, а отклонение —равным 2. Теперь генераторы под-
готовлены
Рис. 3.52. Окно определения переменных типа ag-заказы А
2. Аналогичным образом определим параметры для узла 107
“Очередь заявок”. Здесь всего один параметр, его необходимо
установить в значение “prty”. Это будет означать, что заказы
проходят.
3. Определим свойства узлов плоскости 1. Начнем с узла 102
типа server. Дважды щелкнем по нему мышью — появится диало-
говое окно “Свойства узла” (рис. 3.53) В поле “Выходы” выберем
строку “Из 102 в 103”. В поле “Условие перехода” укажем “t->pr = I”.
Это значит, что по этой ссылке перейдут только те транзакты,
которые в качестве параметра t->pr (приоритет) имеют зна-
чение 1. В поле “C++ текст”, располагающееся под “Условием
перехода”, введем строку “proc_time = 10”. Далее, выбрав в поле
“Выходы” строку “Из 102 в 104”, в поле “C++ текст” напишем
“ргос_time = 2”. Щелкнем по кнопке “Определить параметры”.
В появившемся диалоговом окне “Serv детализация” (рис. 3.54)
зададим параметры: число каналов = 1; приоритетность = abs;
закон распределения = norm; математическое ожидание (Па-
раметр 1) = proc_time; отклонение (Параметр 2) = proc_time/2;
дополнительно (Параметр 3) = none. Таким образом, определен
обслуживающий прибор с одним каналом и временем обслужи-
вания, зависящим от приоритета транзакта.
Рис. 3.53. Окно определения общих свойств узла 102-“Производство”
Рис. 3.54. Окно определения переменных функции serv для узла
“Производство”.
norm
540
541
равным 5, а отклонение —равным 2. Теперь генераторы под-
готовлены
Рис. 3.52. Окно определения переменных типа ag-заказы А
2. Аналогичным образом определим параметры для узла 107
“Очередь заявок”. Здесь всего один параметр, его необходимо
установить в значение “prty”. Это будет означать, что заказы
проходят.
3. Определим свойства узлов плоскости 1. Начнем с узла 102
типа server. Дважды щелкнем по нему мышью — появится диало-
говое окно “Свойства узла” (рис. 3.53) В поле “Выходы” выберем
строку “Из 102 в 103”. В поле “Условие перехода” укажем “t->pr = I”.
Это значит, что по этой ссылке перейдут только те транзакты,
которые в качестве параметра t->pr (приоритет) имеют зна-
чение 1. В поле “C++ текст”, располагающееся под “Условием
перехода”, введем строку “proc_time = 10”. Далее, выбрав в поле
“Выходы” строку “Из 102 в 104”, в поле “C++ текст” напишем
“ргос_time = 2”. Щелкнем по кнопке “Определить параметры”.
В появившемся диалоговом окне “Serv детализация” (рис. 3.54)
зададим параметры: число каналов = 1; приоритетность = abs;
закон распределения = norm; математическое ожидание (Па-
раметр 1) = proc_time; отклонение (Параметр 2) = proc_time/2;
дополнительно (Параметр 3) = none. Таким образом, определен
обслуживающий прибор с одним каналом и временем обслужи-
вания, зависящим от приоритета транзакта.
Рис. 3.53. Окно определения общих свойств узла 102-“Производство”
Рис. 3.54. Окно определения переменных функции serv для узла
“Производство”.
norm
542
543
4. Для узлов типа term параметров не существует.
4. Определение параметров функций modbeg и modend 1.
Определим параметры функции modbeg. В левой панели
инструментов щелкнем по кнопке modbeg либо выберем соответ-
ствующий пункт меню раздела “Модель”. В появившемся диа-
логовом окне зададим имя модели “Очередь заказов”. Параметр
“Узлы” обозначает порядковый номер последнего узла модели
и рассчитывается автоматически. Поле “Время” подразумевает
время выполнения модели в моделируемых единицах времени.
Поскольку за единицу времени взят один день, то рассмотрим
модель на отрезке времени 365 единиц, т. е. один год. Параметр
“ПСЧ” служит для настройки датчика случайных чисел. Зна-
чение, отображенное по умолчанию, позволяет при каждом
запуске получать различные результаты моделирования. Поле
“Пространство” используется при пространственном модели-
ровании и в нашем случае не понадобится. В поле I “Задержка”
необходимо ввести номер узла, информация о котором будет
отображаться при выполнении модели, т. е. в нашем случае это
номер 107. Поля “Поток” и “Точность” оставим без изменений.
Результат определения параметров в диалоговом окне приведен
на рис. 3.55.
Рис. 3.55. Окно определения параметров функции modbeg
5. Генерация текста имитационной модели в операторах
Pilgrim.
Итак, модель готова. Для нее сформирован граф, заданы
переменные, определены параметры узлов и функций. Для
генерации программного файла необходимо в основном меню
выбрать “Выполнить”, а затем — “Генерировать C++ файл”.
При этом конструктором сначала будет выполнена проверка
модели, обнаруживающая ошибки или подозрительные участки
на графе модели (рис. 3.56).
Рис. 3.56. Окно проверки корректности модели
После нажатия кнопки ОК будет выведено стандартное
диалоговое окно, предлагающее сохранить файл с расширением
“срр”. Сохраненный конструктором файл можно далее компи-
лировать в среде Visual C++.
После ввода всех данных в режиме конструктора в авто-
матическом режиме формируется программа моделируемого
процесса. Программа имеет вид:
modbeg(“Производство под заказ”, 107, 365,
(long) time (NULL) , none, 107, none,none,
2);
ад(“3аказы A”, 105, 1, norm, 30, 10, none, 107);
ад(“Заказы В”, 106, 2, norm, 5, 2, none, 107);
ne twork(dummy, dummy)
542
543
4. Для узлов типа term параметров не существует.
4. Определение параметров функций modbeg и modend 1.
Определим параметры функции modbeg. В левой панели
инструментов щелкнем по кнопке modbeg либо выберем соответ-
ствующий пункт меню раздела “Модель”. В появившемся диа-
логовом окне зададим имя модели “Очередь заказов”. Параметр
“Узлы” обозначает порядковый номер последнего узла модели
и рассчитывается автоматически. Поле “Время” подразумевает
время выполнения модели в моделируемых единицах времени.
Поскольку за единицу времени взят один день, то рассмотрим
модель на отрезке времени 365 единиц, т. е. один год. Параметр
“ПСЧ” служит для настройки датчика случайных чисел. Зна-
чение, отображенное по умолчанию, позволяет при каждом
запуске получать различные результаты моделирования. Поле
“Пространство” используется при пространственном модели-
ровании и в нашем случае не понадобится. В поле I “Задержка”
необходимо ввести номер узла, информация о котором будет
отображаться при выполнении модели, т. е. в нашем случае это
номер 107. Поля “Поток” и “Точность” оставим без изменений.
Результат определения параметров в диалоговом окне приведен
на рис. 3.55.
Рис. 3.55. Окно определения параметров функции modbeg
5. Генерация текста имитационной модели в операторах
Pilgrim.
Итак, модель готова. Для нее сформирован граф, заданы
переменные, определены параметры узлов и функций. Для
генерации программного файла необходимо в основном меню
выбрать “Выполнить”, а затем — “Генерировать C++ файл”.
При этом конструктором сначала будет выполнена проверка
модели, обнаруживающая ошибки или подозрительные участки
на графе модели (рис. 3.56).
Рис. 3.56. Окно проверки корректности модели
После нажатия кнопки ОК будет выведено стандартное
диалоговое окно, предлагающее сохранить файл с расширением
“срр”. Сохраненный конструктором файл можно далее компи-
лировать в среде Visual C++.
После ввода всех данных в режиме конструктора в авто-
матическом режиме формируется программа моделируемого
процесса. Программа имеет вид:
modbeg(“Производство под заказ”, 107, 365,
(long) time (NULL) , none, 107, none,none,
2);
ад(“3аказы A”, 105, 1, norm, 30, 10, none, 107);
ад(“Заказы В”, 106, 2, norm, 5, 2, none, 107);
ne twork(dummy, dummy)
544
545
{ top(102):
if( t->pr == 1 )
{
proc_time =10
fw=103;
} else
{
proc_time = 2
fw=104;
} serv(“Производство”, 1, abs, norm,
proc_time, proc_time/2, none, fw) ;
place;
top(103):
term(“Отчет А”);
place;
top(104):
term(“Отчет В”) ;
place;
top(107):
queue(“Очередь заказов”, prty, 102);
place;
fault (123);
} modendC' pilgrim, rep”, 1, 8, page) ;
return 0;}
14.10. Разработка имитационной модели предприятия
в “Microsoft Excel”
Как было отмечено выше, имитационные модели могут раз-
рабатываться с различными целями. Здесь рассмотрена модель
предприятия, создаваемая с целью выполнения исследований
при разработке автоматизированной информационной системы
управления малым торговым предприятием, а также отладки
отдельных элементов этой системы.
Разработать в “Microsoft Excel” имитационную модель
малого торгового предприятия, специализирующегося на закуп-
ках товаров, формировании их нужной комплектации и продаже
этих комплектов. При моделировании предусмотреть решение
следующих основных задач: формирование каталога товаров,
возможных к реализации на данном предприятии; анализ рынка,
формирование и прогнозирование функций спроса товаров; учет
закупок предприятия; учет продаж предприятия; учет персо-
нала и заработной платы; формирование бюджета предприятия
(расходы, доходы, оптимизация распределения средств по ста-
тьям бюджета); анализ финансового состояния предприятия;
планирование работы предприятия; формирование учетных,
отчетных и аналитических документов. В ходе разработки мо-
дели: моделирование выполнить в реальном масштабе времени;
объекты имитации — реальное время, процесс закупок товаров
(например, комплектующих изделий), процесс формирования
комплектов товаров; процесс продаж товаров.
Цели и задачи применения имитационной модели пред-
приятия. Разработка блок-схемы предприятия
Рассмотрим упрощенную блок-схему организационно-
штатной структуры предприятия, приведенную на рис. 3.57.
Для условий задания элементами данной блок-схемы могут
быть: основное производство — формирование комплектов то-
варов; вспомогательное производство — изготовление упаковки
товаров; подсистема обеспечения — закупки и доставка товаров
на предприятие; подсистема управления — администрация; под-
система сбыта — непосредственная продажа товаров.
Ɉɫɧɨɜɧɨɟ
ɩɪɨɢɡɜɨɞɫɬɜɨ
ȼɫɩɨɦɨɝɚɬɟɥɶɧɨɟ
ɩɪɨɢɡɜɨɞɫɬɜɨ
ɉɨɞɫɢɫɬɟɦɚ ɫɛɵɬɚ
ɝɨɬɨɜɨɣ ɩɪɨɞɭɤɰɢɢ
ɉɨɞɫɢɫɬɟɦɚ ɨɛɟɫɩɟɱɟɧɢɹ
ɩɪɟɞɩɪɢɹɬɢɹ
ɉɨɞɫɢɫɬɟɦɚ ɭɩɪɚɜɥɟɧɢɹ
ɩɪɟɞɩɪɢɹɬɢɟɦ
Ɏɨɪɦɢɪɨɜɚɧɢɟ
ɮɨɧɞɚ ɧɚɤɨɩɥɟɧɢɹ,
ɢ ɛɸɞɠɟɬɚ
Ɋɵɧɨɤ ɢ ɫɩɪɨɫ
ɧɚ ɩɪɨɞɭɤɰɢɸ
ɩɪɟɞɩɪɢɹɬɢɹ
Рис. 3.57. Упрощенная блок-схема организационно-штатной
структуры предприятия