Содержание
1.Введение
2.Постановка задачи
3.Описание метода решения
4.Разработка модели
4.1 Логико-математическое описание моделируемой системы
4.2 Формализованная схема объекта моделирования
4.3Временная диаграмма
4.4Блок-схемы программных блоков и основной программы
5. Перевод алгоритмана язык программирования
6.Верификация: установление правильности машинной программы
7. Результаты эксперимента
8. Анализ результатов
9.Заключение
10. Списокиспользованной литературы
1.Введение
Имитационное моделирование применяется к процессам, в ходкоторых может время от времени вмешиваться человеческая воля. Человек,руководящий операцией, может в зависимости от сложившейся обстановки, приниматьте или иные решения. Затем приводится в действие математическая модель, котораяпоказывает, какое ожидается изменение обстановки, в ответ на это решение и ккаким последствиям оно приведет спустя некоторое время. Следующее текущеерешение принимается уже с учетом реальной новой обстановки и т. д. В результатемногократного повторения такой процедуры руководитель как бы «набирает опыт»,учится на своих и чужих ошибках и постепенно выучиваться принимать правильныерешения – если не оптимальные, то почти оптимальные.
В исследованииопераций широко применяются как аналитические, так и статистические модели.Каждый из этих типов имеет свои преимущества и недостатки. Аналитические моделиболее грубы, учитывают меньшее число факторов, всегда требуют каких-тодопущений и упрощений. Зато результаты расчета по ним легче обозримы,отчетливее отражают присущие явлению основные закономерности. А, главное,аналитические модели больше приспособлены для поиска оптимальных решений.Статистические модели, по сравнению, с аналитическими, более точны и подробны,не требуют столь грубых допущений, позволяют учесть большое (в теории – неограниченнобольшое) число факторов. Но и у них – свои недостатки: громоздкость, плохаяобозримость, большой расход машинного времени, а главное, крайняя трудностьпоиска оптимальных решений, которые приходятся искать «на ощупь», путем догадоки проб.
Наилучшие работы в области исследования операций основаны насовместном применении аналитических и статистических моделей. Аналитическаямодель дает возможность в общих чертах разобраться в явлении, наметить как быконтур основных закономерностей. Любые уточнения могут быть получены с помощьюстатистических моделей.
Имитационное моделирование основано на прямом описаниимоделируемого объекта. Существенной характеристикой таких моделей являетсяструктурное подобие объекта и модели. Это значит, каждому существенному с точкизрения решаемой задачи элементу объекта ставится в соответствие элемент модели.При построении имитационной модели описываются законы функционирования каждогоэлемента объекта и связи между ними. Работа с имитационной моделью заключаетсяв проведении имитационного эксперимента. Процесс, протекающий в модели в ходеэксперимента, подобен процессу в реальном объекте. Поэтому исследование объектана его имитационной модели сводится к изучению характеристик процесса,протекающего в ходе эксперимента.
Дляформального представления информационной системы при имитационном моделированииобычно используется схема с дискретными событиями. При этом процессфункционирования системы во времени отождествляется с последовательностьюсобытий, возникающих в системе в соответствии с закономерностями еефункционирования. И формальное понятие «событие» вкладывается конкретноесмысловое содержание, определяемое целями моделирования. Ценным качествомимитации является возможность управлять масштабом времени. Динамический процессв имитационной модели протекает в так называемом системном времени. Системноевремя имитирует реальное время. При этом пересчет системного времени в моделиможно выполнять двумя способами. Первый заключается в «движении» по времени снекоторым постоянным шагом Δt, второй — в «движении» по времени от событияк событию. Считается, что в промежутках времени между событиями в моделиизменении не происходит. Кроме реального и системного времени существует ещёодин тип времени — машинное, т.е. время, за которое реализуется имитационныйэксперимент.
Цель курсовой работы по дисциплине«Имитационное моделирование экономических процессов» состоит в ознакомлении ссовременными концепциями построения моделирующих систем, с основными приемамиимитационного моделирования, встраиваемыми в общую процедуру преобразованияинформации от структурирования и формализации составляющих предметных областейдо интерпретации обработанных данных и приобретенных знаний, связанных сописанием экономических процессов.
2. Постановка задачи
Фирма имеет в городе 1 точкурозничной продажи. Спрос на товары (в единицах товара) в этих точках имеетпуассоновское распределение с математическим ожиданием 10 единиц в день. Торговаяточка обслуживаются оптовым магазином. На передачу запроса торговой точки вмагазин требуется 1 день. Товары по запросу поступают из оптового магазина вторговую точку в среднем через 5 дней после получения запроса. Эта величинаимеет логнормальное распределение с дисперсией 1. Оптовый магазин каждые 14дней размещает заказы на фабрике. Время, в течение которого магазин получаетгруз с фабрики, распределено нормально с ожиданием 90 дней, среднеквадратичнымотклонением 10 дней; однако заказ при этом никогда не выполняется ранее 60 днейи позднее 120 дней. Проимитировать работу описанной системы с целью определенияизменения уровня запаса при данной стратегииуправления розничной торговойточкой и оптовым магазином.
Задать следующие начальные условиямоделирования: первый запрос поступает в нулевой момент времени; текущий запастовара в каждой торговой точке составляет 70 единиц, нормативный запас также 70единиц; запас в магазине составляет 1920 единиц; с фабрики отправлены тригруза, в каждом из которых находится по 1800 единиц товара, причем первый грузпоступит в магазин на 30-й день, второй — на 60-й, а третий — на 90-й день.
3. Описание метода решения
В нашей курсовой работе мыиспользовали метод имитационного моделирования. Его основные достоинства:
1. Имитационнаямодель позволяет описать моделируемый процесс с большой адекватностью, чемдругие.
2. Имитационнаямодель обладает гибкостью варьирования, структуры алгоритмов и параметровсистемы.
3. Применение ЭВМсущественно сокращает продолжительность испытаний по сравнению с натуральнымэкспериментом, если он возможен, а также их стоимость.
Основные недостатки методаимитационного моделирования:
1. Решение,полученное на имитационной модели, всегда носит частный характер, т.к. оносоответствует фиксированным элементам структуры, алгоритмам поведения изначениям параметров системы.
2. Большиетрудозатраты на создание модели и проведение экспериментов, а также обработкуих результатов. Использование термина имитационное моделирование предполагаетработу с такими математическими моделями, с помощью которых результаты исследуемойоперации нельзя заранее вычислить или предсказать. Поэтому необходимэксперимент имитации на модели при заданных исходных данных. Сущность машиннойимитации заключается в реализации численного метода проведения на ЭВМэкспериментов с математическими моделями, описывающими поведение сложнойсистемы в течение заданного или формируемого периода времени.
Дискретно-событийный подход вимитационном моделировании
Суть дискретно-событийного подхода — моделирование системы с помощью описания изменений состояния системы,происходящих в дискретные моменты времени. Момент времени, в который можетизмениться: состояние системы, называется моментом наступления события, асоответствующая ему логическая процедура обработки «изменений состояниясистемы называется событием. Для построения дискретно-событийной модели системынеобходимо определить события, при которых может изменяться состояние системы,а затем смоделировать процедуры, соответствующие каждому типу событий.Динамический портрет системы воспроизводится с помощью упорядоченной во временипоследовательности событий, в каждом из которых, согласно логической процедуре,моделируются изменения состояния системы.
Состояние системы вдискретно-событийной модели, подобно состоянию в сетевой модели, определяется значениямипеременных и атрибутов компонентов, принадлежащих различным классам. Начальноесостояние системы устанавливается с помощью задания начальных значенийпеременных модели, генерации (при необходимости) начальных компонентов всистеме, а также с помощью начального планирования событий в модели. В ходеимитации система «движется» от состояния к состоянию по мере того, каккомпоненты участвуют в действиях, изменяющих состояние системы. Придискретно-событийной имитации изменения состояния системы могут происходитьтолько в начале действия, т. е. когда что-либо начинается, или в концедействия, т. е. когда что-либо завершается. Для моделирования начала иокончания действий используются события.
имитационноемоделирование язык программирование
/>
Рис. 1.1. Связь между понятиями«действие» и «событие».
Понятие события, происходящегомгновенно в определенный момент времени, в который начинается или заканчиваетсянекоторое действие, является основополагающим. На рис. 1.1 показана связь междупонятиями «действие» и «событие». Внутри события время не изменяется, аизменения состояния системы происходят только в моменты наступления событий.Поведение системы имитируется последовательностью изменений ее состояния,происходящих по мере наступления событий. Когда происходит событие, состояниесистемы может быть изменено четырьмя способами: 1) изменением значений однойили нескольких переменных модели; 2) изменением количества компонентов в системе;3) изменением значении одного иди нескольких атрибутов одного компонента; 4)изменением взаимосвязей между компонентами с помощью средств оперирования сфайлами. Отметим, что возможны и такие события, при которых состояние системыне меняется.
В ходе имитации осуществляетсяпланирование наступления событий в заданные моменты времени. События имеютатрибуты и заносятся в файл в хронологическом порядке. Например, припланировании наступления события окончания обслуживания атрибуты обслуживаемогоклиента являются частью этого события, поэтому они доступны в момент егообработки. Таким образом, если компонент проходят через некоторуюпоследовательность действий, причем завершение каждого из них отображается всоответствующем событии, то по мере обработки событий атрибуты компонентапередаются через всю систему.Процессимитационного моделированияПроцесс последовательной разработки имитационной моделинаминается с создания простой модели, которая затем постепенно усложняется всоответствии с требованиями, предъявляемыми решаемой проблемой. В процессеимитационного моделирования можно выделить следующие основные этапы:
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.Реализация и документирование: реализациярекомендаций, полученных на основе имитации, составление документации по моделии ее использованию.
Хотя некоторые из этих этапов ужеобсуждались выше в связи с построением модели, мы, тем не менее, снова краткорассмотрим основные этапы процесса имитационного моделирования.
Первой задачей имитационногоисследования является точное определение проблемы и детальная формулировкацелей исследования. Как правило, определение проблемы является непрерывнымпроцессом, который обычно осуществляется в течение всего исследования. Онопересматривается по мере более глубокого понимания исследуемой проблемы ивозникновения новых ее аспектов.
Как только сформулировано начальноеопределение проблемы, начинаемся этап построения модели исследуемой системы.Модель включает статистическое и динамическое описание системы. Встатистическом описании определяются элементы системы и их характеристики, а вдинамическом — взаимодействия элементов системы, в результате которыхпроисходят изменения ее состояния во времени.
Процесс формулирования модели вомногом является искусством. Разработчик модели должен попять структуру системы,выявить правила ее функционирования и суметь выделить в них самое существенное,исключив ненужные детали. Модель должна быть простой для понимания и в то жевремя достаточно сложной, чтобы реалистично отображать характерные черты реальнойсистемы. Наиболее важными являются принимаемые разработчиком решенияотносительно того, верны ли принятые упрощения и допущения, какие элементы ивзаимодействия между ними должны быть включены в модель. Уровень детализациимодели зависит от цели ее создания. Необходимо рассматривать только теэлементы, которые имеют существенное значение для решения исследуемой проблемы.Как на этапе формулирования проблемы, так и на этапе моделирования необходимотесное взаимодействие между разработчиками модели и ее пользователями. «Первыйэскиз» модели должен быть построен, проанализирован и обсужден. Во многихслучаях это требует от разработчиков большой ответственности и готовностипродемонстрировать свое возможное незнание исследуемой системы. Однакоэволюционный процесс моделирования позволяет быстрее обнаруживать допущенныеразработчиками неточности и более эффективно их конкретизировать. Кроме того,тесное взаимодействие на этапах формулирования проблемы и разработки моделисоздает у пользователя уверенность в правильности модели и поэтому помогаетобеспечить успешную реализацию результатов имитационного исследования.
На этапе разработки моделиопределяются требования к входным данным. Некоторые из этих данных могут ужебыть в распоряжении разработчика модели, в то время как для сбора другихпотребуются время и усилия. Обычно значения таких входных данных задаются наоснове некоторых гипотез или предварительного анализа. В некоторых случаяхтомные значения одного (и более) входных параметров оказывают небольшое влияниена результаты прогонов модели. Чувствительность получаемых результатов кизменению входных данных может быть оценена путем проведения серии имитационныхпрогонов для различных значений входных параметров. Имитационная модель,следовательно, может использоваться для уменьшения затрат времени и средств науточнение входных данных.
После того как разработана модель исобраны начальные входные данные, следующей задачей является перевод модели вформу, доступную для ЭВМ. Хотя для программирования имитационной модели можетиспользоваться универсальный язык, применение специализированного имитационногоязыка имеет существенные преимущества. Помимо сокращения временипрограммирования использование имитационного языка упрощает разработку модели,так как язык содержит набор понятий для формализованного описания системы.
Следующие этапы в процессеимитационного исследования — проведение машинного эксперимента и анализрезультатов — включают прогон имитационной модели на компьютере и интерпретациюполученных выходных данных. При использовании результатов имитационныхэкспериментов для подготовки выводов или проверки гипотез о функционированииреальной системы применяются статистические методы.
Последним этапом в процессеимитационного исследования являются реализация полученных решений идокументирование имитационной модели и ее использования. Ни один изимитационных проектов не должен считаться законченным до тех пор, пока ихрезультаты не были использованы в процессе принятия решений. Успех реализацииво многом зависит от того, насколько правильно разработчик модели выполнил всепредыдущие этапы процессов имитационного исследования. Если разработчик ипользователь работали в тесном контакте и достигли взаимопонимания приразработке модели и ее исследовании, то результаты проекта, скорее всего, будутуспешно внедряться. Если же между ними не было тесной взаимосвязи, то, несмотряна элегантность и адекватность имитационной модели, сложно будет разработатьэффективные рекомендации.
Названные выше этапы имитационногоисследования редко выполняются в строго заданной последовательности, начиная сопределения проблемы и кончая документированием. В ходе имитационноюисследования могут быть сбои в прогонах модели, ошибочные допущения, от которыхв дальнейшем приходится отказываться, пере формулировки целей исследования,повторные оценки и перестройки модели. Такой итеративный процесс позволяетразработать имитационную модель, которая дает верную оценку альтернатив иоблегчает процесс принятия решения.
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. Блок-схема равномерного распределения.
/>
Рис. 2. Блок-схема нормального распределения
/>
Рис. 4. Блок-схема логнормального распределения.
/>
Нет да
Рис.3. Блок-схема распределения Пуассона.
/>
нет
нет
нет
нет
нет
нет
/>
Рис. 4. Блок-схема функции «Оптовый магазин».
/>
Ввод KOLTEK
нет
Вывод KOLTOV, TTEK, ZAKTOV,Z,SHOP
Рис.5. Блок-схема основной программы.
5. Перевод алгоритма на язык программирования
Структурное программирование – это технология созданияпрограмм, позволяющая путем соблюдения определенных правил уменьшить времяразработки и количество ошибок, а также облегчить возможность модификациипрограммы.
Разные типы процессоров имеют разный набор команд. Если языкпрограммирования ориентирован на конкретный тип процессора и учитывает егоособенности, то он называется языком программирования низкого уровня. Языкомсамого низкого уровня является язык ассемблера, который просто представляеткаждую команду машинного кода в виде специальных символьных обозначений,которые называются мнемониками. С помощью языков низкого уровня создаются оченьэффективные и компактные программы, т.к. разработчик получает доступ ко всемвозможностям процессора. Т.к. наборы инструкций для разных моделей процессоровтоже разные, то каждой модели процессора соответствует свой язык ассемблера, инаписанная на нем программа может быть использована только в этой среде.Подобные языки применяют для написания небольших системных приложений,драйверов устройств и т. п.
С помощью языка программирования создается текст, описывающийранее составленный алгоритм. Чтобы получить работающую программу, надо этоттекст перевести в последовательность команд процессора, что выполняется припомощи специальных программ, которые называются трансляторами. Трансляторыбывают двух видов: компиляторы и интерпретаторы. Компилятор транслирует текстисходного модуля в машинный код, который называется объектным модулем за одиннепрерывный процесс. При этом сначала он просматривает исходный текст программыв поисках синтаксических ошибок. Интерпретатор выполняет исходный модуль программыв режиме оператор за оператором, по ходу работы, переводя каждый оператор намашинный язык.
Языки программирования высокого уровня не учитываютособенности конкретных компьютерных архитектур, поэтому создаваемые программына уровне исходных текстов легко переносятся на другие платформы, если для нихсозданы соответствующие трансляторы. Разработка программ на языках высокогоуровня гораздо проще, чем на машинных языках.
Си – был создан в 70- е годы первоначально не рассматривалсякак массовый язык программирования. Он планировался для замены ассемблера,чтобы иметь возможность создавать такие же эффективные и короткие программы, ноне зависеть от конкретного процессора. Он во многом похож на Паскаль и имеетдополнительные возможности для работы с памятью. На нем написано многоприкладных и системных программ, а также операционная система Unix. Си++ — объектно-ориентированноерасширение языка Си, созданное Бьорном Страуструпом в 1980г.
Программа:
#include
#include
#include
#include
#include
float ravnom(float d11, float d21)
{
randomize();
float R;
R=d11+(d21-d11)*random(100)/100.0;
return R;
}
float normal(float b1, float b2)
{
randomize();
float X=0;
int i;
float R,d1,d2;
d1=(b1-sqrt(3*b2*12))/12;
d2=(b1+sqrt(3*b2*12))/12;
for(i=1;i
X=X+ravnom(d1,d2);
return X;
}
float lognorm(float Ay, float By)
{
randomize();
float X,Y,a,b;
b=log(By/pow(Ay,2)+1);
a=log(Ay-0.5*b);
X=normal(a,b);
Y=exp(X);
return Y;
}
int puasson(float t)
{
randomize();
int n;
int R, R11;
do
{ R*=random(100)/100.0;
R11=R;
R*=random(100)/100.0;
n++; }
while(exp(-t)>=R11&&exp(-t)
return (n-1);
}
float optmag(float &TTEK, int ZZ)
{
int Tzak,a=90,b=10;
static int TOVMAG;
if(ZZ
TOVMAG=1920-ZZ;
TTEK=TTEK+lognorm(5,1);
}
if(TTEK==30) TOVMAG+=1800;
if(TTEK==60) TOVMAG+=1800;
if(TTEK==90) TOVMAG+=1800;
if(TOVMAG
Tzak=normal(a,b);
if(Tzak>=60&&Tzak
{
TOVMAG=1920-TOVMAG;
TTEK+=Tzak;
}
return (TOVMAG);
}
main()
{
clrscr();
int Z,SHOP,KOLTEK,KOLTOV;
float TTEK;
cout
cin>>KOLTEK;
cout
TTEK=0;
KOLTOV=puasson(TTEK);
if (KOLTOV
KOLTEK=KOLTEK-KOLTOV;
TTEK++;
Z=KOLTOV-KOLTEK;
SHOP=optmag(TTEK,Z);
cout
cout
cout
cout
cout
getch();
return 0;
}
6. Верификация: установление правильности машинной программы
На этапах верификации и валидацииосуществляется оценка функционирования имитационной модели. На этапеверификации определяется, соответствует ли запрограммированная для ЭВМ модельзамыслу разработчика. Это обычно осуществляется путем ручной проверкивычислений, а также может быть использован и ряд статистических методов. Написаннаяпрограмма полностью отвечает требованиям курсовой работы. В ходе выполнениябыли найдены некоторые ошибки, которые были устранены при выполнении программы.
7. Результаты эксперимента
При запуске программы соследующими входными параметрами:
Vvedite tekusheekolichestvo tovarov v torgovoj tochke:
70
Получим следующиерезультаты:
Tekushee vremya=98
Spros na tovari v torg.tochke=2730
Zakazannoe magazinomkol-vo tovarov y fabriki=1920
Zakazannoe torg. tochkojkol-vo tovarov y magazina=2660
Normativnij zapas tоvarov v magazine = 70
8. Анализ результатов
/>
9. Заключение
Программа выдает на экран вероятностные и статистическиехарактеристики объекта моделирования. Она имитирует работу описанной системы сцелью определения изменения уровня запаса при заданной стратегииуправлениярозничной торговой точкой и оптовым магазином.
На основании проделанной работы, можно сделать следующиевыводы:
1. Созданная математическаямодель адекватна реальному объекту;
2. Проведенныеисследования показали эффективность модели и способов “приведения её вдействие” при определении необходимых нам параметров по сравнению с ручнымспособом моделирования и расчетов параметров;
3. Созданная модельимеет достаточную, для таких моделей, степень универсальности, т.к. диапазонвходных параметров системы можно легко и быстро изменить.
10. Список использованной литературы
1. КлейнрокЛ.«Теория массового обслуживания.»-М.: Машиностроение, 1979.-432 с.
2. Прицкер А.«Введение в имитационное моделирование» -М.: Мир, 1987.-644с.
3. Емельянов А.А., ВласоваЕ.А., «Имитационное моделирование экономических процессов» — М. Финансы и статистика,2002.
6. Вентцель Е. С. Теория вероятностей. — М.: Наука, 1969. — 564 с.
7.Пугачев В. С.Теория вероятностей и математическая статистика. — М: Наука, 1979. -327 с.
8.Бусленко Н.П.Моделирование сложных систем. — М.: Наука, 1978. 399 с.
9.Шрайбер Т. Дж. Моделирование на GPSS. -W.:Машиностроение, 1979. — 287 с,
10. Варфоломеев В.И. Алгоритмическое моделирование элементовэкономических систем. — М.: Финансы и статистика, 2000. -208 с.