Процесс формулирования модели во многом является искусством. Разработчик модели должен попять структуру системы, выявить правила ее функционирования и суметь выделить в них самое существенное, исключив ненужные детали. Модель должна быть простой для понимания и в то же время достаточно сложной, чтобы реалистично отображать характерные черты реальной системы. Наиболее важными являются принимаемые разработчиком решения относительно того, верны ли принятые упрощения и допущения, какие элементы и взаимодействия между ними должны быть включены в модель. Уровень детализации модели зависит от цели ее создания. Необходимо рассматривать только те элементы, которые имеют существенное значение для решения исследуемой проблемы. Как на этапе формулирования проблемы, так и на этапе моделирования необходимо тесное взаимодействие между разработчиками модели и ее пользователями. «Первый эскиз» модели должен быть построен, проанализирован и обсужден. Во многих случаях это требует от разработчиков большой ответственности и готовности продемонстрировать свое возможное незнание исследуемой системы. Однако эволюционный процесс моделирования позволяет быстрее обнаруживать допущенные разработчиками неточности и более эффективно их конкретизировать. Кроме того, тесное взаимодействие на этапах формулирования проблемы и разработки модели создает у пользователя уверенность в правильности модели и поэтому помогает обеспечить успешную реализацию результатов имитационного исследования.
На этапе разработки модели определяются требования к входным данным. Некоторые из этих данных могут уже быть в распоряжении разработчика модели, в то время как для сбора других потребуются время и усилия. Обычно значения таких входных данных задаются на основе некоторых гипотез или предварительного анализа. В некоторых случаях томные значения одного (и более) входных параметров оказывают небольшое влияние на результаты прогонов модели. Чувствительность получаемых результатов к изменению входных данных может быть оценена путем проведения серии имитационных прогонов для различных значений входных параметров. Имитационная модель, следовательно, может использоваться для уменьшения затрат времени и средств на уточнение входных данных.
После того как разработана модель и собраны начальные входные данные, следующей задачей является перевод модели в форму, доступную для ЭВМ. Хотя для программирования имитационной модели может использоваться универсальный язык, применение специализированного имитационного языка имеет существенные преимущества. Помимо сокращения времени программирования использование имитационного языка упрощает разработку модели, так как язык содержит набор понятий для формализованного описания системы.
Следующие этапы в процессе имитационного исследования - проведение машинного эксперимента и анализ результатов - включают прогон имитационной модели на компьютере и интерпретацию полученных выходных данных. При использовании результатов имитационных экспериментов для подготовки выводов или проверки гипотез о функционировании реальной системы применяются статистические методы.
Последним этапом в процессе имитационного исследования являются реализация полученных решений и документирование имитационной модели и ее использования. Ни один из имитационных проектов не должен считаться законченным до тех пор, пока их результаты не были использованы в процессе принятия решений. Успех реализации во многом зависит от того, насколько правильно разработчик модели выполнил все предыдущие этапы процессов имитационного исследования. Если разработчик и пользователь работали в тесном контакте и достигли взаимопонимания при разработке модели и ее исследовании, то результаты проекта, скорее всего, будут успешно внедряться. Если же между ними не было тесной взаимосвязи, то, несмотря на элегантность и адекватность имитационной модели, сложно будет разработать эффективные рекомендации.
Названные выше этапы имитационного исследования редко выполняются в строго заданной последовательности, начиная с определения проблемы и кончая документированием. В ходе имитационною исследования могут быть сбои в прогонах модели, ошибочные допущения, от которых в дальнейшем приходится отказываться, пере формулировки целей исследования, повторные оценки и перестройки модели. Такой итеративный процесс позволяет разработать имитационную модель, которая дает верную оценку альтернатив и облегчает процесс принятия решения.
4. Разработка модели
В данной курсовой работе применяются следующие распределения: равномерное, нормальное, логнормальное, пуассоновское распределение. Время ответа на запрос точки магазином имеет логнормальное распределение. Спрос на товары в точке за день имеет пуассоновское распределение. Время ответа на запрос магазина фабрикой распределено нормально, а для нахождения одного нормального числа нужно найти 12 равномерно распределенных чисел.
4.1 Логико-математическое описание моделируемой системы
Нормальное распределение
Функция плотности вероятности нормального закона имеет вид:
- параметры нормального закона, ( - среднее значение, - дисперсия нормального распределения).Генератор нормально распределенной случайной величины X можно получить по формулам:
где Tj (j=1,…,12) – значения независимых случайных величин, равномерно распределенных на интервале (0,1).
Равномерное распределение
Функция плотности вероятности равномерного распределения задает одинаковую вероятность для всех значений, лежащих между минимальным и максимальным значениями переменной. Другими словами, вероятность того, что значение попадает в указанный интервал, пропорциональна длине этого интервала. Применение равномерного распределения часто вызвано полным отсутствием информации о случайной величине, кроме ее предельных значений. Равномерное распределение называют также прямоугольным.
при .Среднее значение распределения равно
,дисперсия равна
.Равномерно распределенная случайная величина X на отрезке [a,b] выражается через равномерно распределенную на отрезке [0,1] случайную величину R формулой
.Логнормальное распределение
Метод получения случайного выборочного значения Y=eX, где X – нормальное распределение случайной величины с дисперсией
и средним значениемРаспределение Пуассона
Для получения пуассоновски распределенной случайной величины Y можно воспользоваться следующим методом:
,где Rn – n-е псевдослучайное число.
4.2 Формализованная схема объекта моделирования
обслуженный запрос выполненный заказзапрос заказ
Прибор обслуживания: торговая точка, оптовый магазин и фабрика. При окончании собственных товаров в торговой точке происходит их запрос от нее в оптовый магазин. Тот обслуживает запрос. Если и в магазине все запрашиваемые товары закончились, происходит их заказ на фабрику в целях пополнения запаса магазина. Фабрика производит в установленные сроки выполнение заказа.
4.3 Временная диаграмма
При нехватке товаров в торговой точке ежедневно поступает запрос на их определенное количество от нее в оптовый магазин. Спрос на товары в точке за день имеет пуассоновское распределение. Оптовый магазин каждые 14 дней размещает заказы на фабрике. Время ответа на запрос точки магазином имеет логнормальное распределение. Время ответа на запрос магазина фабрикой распределено нормально.
4.4 Блок-схемы программных блоков и основной программы
Принятые сокращения:
TTEK – текущее время;
KOLTOV – спрос на товары в торговой точке;
ZAKTOV –заказанное магазином количество товаров у фабрики;
Z – заказанное торговой точкой количество товаров у магазина;
KOLTEK – текущее количество запасов торговой точке
SHOP[i] – массив с данными о текущем времени и числом товаров в магазине;
TOVMAG –число товаров в оптовом магазине.
time – текущее время при обращении в оптовый магазин.
Рис. 1. Блок-схема равномерного распределения.