Разработка имитационной модели предприятия

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 29.01.2014
Размер файла 90,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Введение

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

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

Главная ценность имитационного моделирования заключается в том, что в его основу положена методология системного анализа. Она дает возможность изучать проектируемую или анализируемую систему по схеме операционного исследования, включая такие взаимосвязанные этапы:

содержательная постановка задачи;

разработка концептуальной модели;

разработка и программная реализация имитационной модели;

проверка адекватности модели и оценка точности результатов моделирования;

планирование экспериментов;

принятие решений

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

В данном курсовом проекте представлен процесс разработки имитационной модели для работы предприятия быстрого обслуживания.

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

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

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

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

1. Имитационное моделирование

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

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

Имитационная модель должна отражать большое число параметров, логику и закономерности поведения моделируемого объекта во времени (временная динамика) и в пространстве (пространственная динамика). Моделирование объектов экономики связано с понятием финансовой динамики объекта.

В основе имитационного моделирования лежит статистический эксперимент (метод Монте-Карло), реализация которого практически невозможна без применения средств вычислительной техники. Поэтому любая имитационная модель представляет собой, в конечном счете, более или менее сложный программный продукт.

2. Постановка задачи

Существует некое предприятие быстрого обслуживания (Fast Food). Необходимо создать модель этого предприятия, целью которой будет определение прибыли за определённое количество дней.

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

Выходной поток образуют клиенты, которые получили свои заказы.

Формализованная модель данного предприятия выглядит следующим образом:

3. Дискретно-событийный подход в имитационном моделировании

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

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

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

1) изменением значений одной или нескольких переменных модели;

2) изменением количества компонентов в системе;

3) изменением -одного или нескольких атрибутов одного компонента:

4) изменением взаимосвязей между компонентами с помощью средств оперирования с файлами.

Отметим, что возможны и такие события, при которых состояние системы не меняется.

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

4. Процесс имитационного моделирования предприятия быстрого обслуживания

Имитационное моделирование позволяет имитировать поведение системы во времени. Причём плюсом является то, что временем в модели можно управлять: замедлять в случае с быстропротекающими процессами и ускорять для моделирования систем с медленной изменчивостью. Можно имитировать поведение тех объектов, реальные эксперименты с которыми дороги, невозможны или опасны. С наступлением эпохи персональных компьютеров производство сложных и уникальных изделий, как правило, сопровождается компьютерным трёхмерным имитационным моделированием. Эта точная и относительно быстрая технология позволяет накопить все необходимые знания, оборудование и полуфабрикаты для будущего изделия до начала производства.

Цель имитационного моделирования состоит в воспроизведении поведения исследуемой системы на основе результатов анализа наиболее существенных взаимосвязей между её элементами или другими словами -- разработке симулятора (англ. simulation modeling) исследуемой предметной области для проведения различных экспериментов.

В процессе имитационного моделирования можно выделить следующие основные этапы:

1. Формулирование проблемы: описание исследуемой проблемы и определение целей исследования.

2. Разработка модели: логико-математическое описание моделируемой системы в соответствии с формулировкой проблемы.

3. Подготовка данных: идентификация, спецификация и сбор данных.

4. Трансляция модели: перевод модели на язык, приемлемый для используемой ЭВМ

5. Верификация: установление правильности машинных программ.

6. Валидация: оценка требуемой точности и соответствия имитационной модели реальной системе.

7. Стратегическое и тактическое планирование: определение условий проведения машинного эксперимента с имитационной моделью.

8. Экспериментирование: прогон имитационной модели на ЭВМ для получения требуемой информации.

9. Анализ результатов имитационного эксперимента для подготовки выводов и рекомендаций по решению проблемы.

10. Реализация и документирование: реализация рекомендаций, полученных на основе имитации, и составление документации по модели и ее использованию.

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

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

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

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

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

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

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

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

выделить наиболее существенные переменные, оценить степень влияния их изменения на исследуемые параметры сети, а также определить «узкие места».

изучить воздействие различных изменений на показатели надежности сети;

оценить различные варианты технических решений при поиске оптимальной структуры информационной сети.

Имитационное моделирование реализуются программно с использованием различных языков, как универсальных - БЕЙСИК, ПАСКАЛЬ, СИ, так и специализированных для построения имитационных моделей - СИМСКРИПТ. СТАМ/КЛАСС, GPSS, SLAM, Pilgrim. В данной курсовой работе будет использован язык программирования С++.

Этапы процесса построения математической модели системы:

1. Формулируются основные вопросы о поведении системы, ответы на которые мы хотим получить с помощью модели.

2. Из множества законов, управляющих поведением системы, выбираются те, влияние которых существенно при поиске ответов на поставленные вопросы.

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

Трудности при построении математической модели сложной системы:

- Если модель содержит много связей между элементами, разнообразные нелинейные ограничения, большое число параметров;

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

- Возможность сопоставления модели и оригинала при таком подходе имеется лишь в начале.

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

1. Формулирование проблемы: описание исследуемой проблемы и определение целей исследования.

2. Разработка модели: логико-математическое описание моделируемой системы в соответствии с формулировкой проблемы.

3. Подготовка данных: идентификация, спецификация и сбор данных.

4. Трансляция модели: перевод модели на язык, приемлемый для используемой ЭВМ.

5. Верификация: установление правильности машинных программ.

6. Валидация: оценка требуемой точности и соответствия имитационной модели реальной системе.

7. Стратегическое и тактическое планирование: определение условий проведения машинного эксперимента с имитационной моделью.

8. Экспериментирование: прогон имитационной модели на ЭВМ для получения требуемой информации.

9. Анализ результатов: изучение результатов имитационного эксперимента для подготовки выводов и рекомендаций по решению проблемы.

10.Реализация и документирование: реализация рекомендаций, полученных на основе имитации, составление документации по модели и ее использованию.

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

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

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

Процесс формулирования модели во многом является искусством. Разработчик модели должен понять структуру системы, выявить правила ее функционирования и суметь выделить в них самое существенное, исключив ненужные детали. Модель должна быть простой для понимания и в то же время достаточно сложной, чтобы реалистично отображать характерные черты реальной системы. Наиболее важными являются принимаемые разработчиком решения относительно того, верны ли принятые упрощения и допущения, какие элементы и взаимодействия между ними должны быть включены в модель. Уровень детализации модели зависит от цели ее создания. Необходимо рассматривать только те элементы, которые имеют существенное значение для решения исследуемой проблемы. Как на этапе формулирования проблемы, так и на этапе моделирования необходимо тесное взаимодействие между разработчиками модели и ее пользователями. «Первый эскиз» модели должен быть построен, проанализирован и обсужден. Во многих случаях это требует от разработчиков большой ответственности и готовности продемонстрировать свое возможное незнание исследуемой системы. Однако эволюционный процесс моделирования позволяет быстрее обнаруживать допущенные разработчиками неточности и более эффективно их конкретизировать. Кроме того, тесное взаимодействие на этапах формулирования проблемы и разработки модели создает у пользователя уверенность в правильности модели и поэтому помогает обеспечить успешную реализацию результатов имитационного исследования.

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

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

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

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

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

5. Блок-схема программы

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

программный дискретный имитационный моделирование

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

5. Перевод модели на язык программирования

C++ -- компилируемый статически типизированный язык программирования общего назначения.

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

C++ является универсальным языком программировании, в дополнение к которому разработан набор разнообразных библиотек.

Язык C++ - один из основных языков разработки трансляторов. Распределённые системы функционирующие на разных компьютерах, также разрабатываются на языке C++. Обработка сложных структур данных - текста, бизнес информации, интернет страниц и т.д. - одна из наиболее распространённых возможностей применения языка C++.

Программа

#include<iostream.h>

#include<math.h>

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

void main()

{

int tk,kol,i=0,j=0,r1=0,r2=0,r3=0,k=1,l=1,m=1,n=1;

float p, st=0, s_to=0, s_pr=0, s_sr=0, s_sl=0, SUM;

cin>>tk;

while (st<=tk)

{

p = - log(rand())/32767*14;

st=st+p;

i++;

}

kol=i;

for (i=1; i<=kol; i++)

{

p=float(rand())/32767;

if (p<=0,12) {j++; r2++;}

else if (p>0,12 && p<=0,36) j++;

else if (p>0,36 && p<=0,57) r1++;

else if (p>0,57 && p<=0,78) r2++;

else r3++;

}

while (k<=j)

{

p= float(rand())/32767*300+100;

s_to=s_to+p;

k++;

}

while (l<=r1)

{

p=float(rand())/32767*400+50;

s_pr=s_pr+p;

l++;

}

while (m<=r2)

{

p=float(rand())/32767*1300+100;

s_to=s_to+p;

k++;

}

while (n<=r3)

{

p=float(rand())/32767*2200+350;

s_sl=s_sl+p;

n++;

}

SUM=s_to+s_pr+s_sr+s_sl;

cout<<"viruchka za 5 dnei ravna"<<SUM<<endl;

}

Заключение

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

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

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

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

Список использованной литературы

1. Кустов А.И. Имитационное моделирование в экономике: учебное пособие/ А.И. Кустов - Воронеж: Научная книга, 2007

2. Замятина Е.Б. Современные теории имитационного моделирования: Специальный курс. - Пермь: ПГУ, 2007

3. Снетков Н.Н. Имитационное моделирование экономических процессов: Учебно-практическое пособие. - М.: Изд.центр ЕАОИ, 2008

4. КОНСПЕКТ ЛЕКЦИЙ по дисциплине «Организация предприятий быстрого обслуживания ». Кемерово, 2011

5. Кобелев Н.Б. Основы имитационного моделирования сложных экономических систем: Учеб. пособие. - М.: Дело, 2003

6. Гмурман В.Е. Руководство к решению задач по теории вероятностей и математической статистике. - М.: Высшая школа, 2006. - 400 с.

7. Харин Ю.С., Малюгин В.И., Кирлица В.П. и др. Основы имитационного и статистического моделирования. - Минск: Дизайн ПРО, 2008. - 288 с.

8. Ивницкий В.Л. Теория сетей массового обслуживания. - М.: Физматлит, 2004. - 772 с.

9. Исследование операций в экономике/ под ред. Н.Ш. Кремера. - М.: Юнити, 2004. - 407 с.

Приложение 1

Временная диаграмма

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.