у клиентов из первичной очереди.
Подробнее остановимся на реализации последнего метода. Если первичная очередь не пуста и ее длина достигла значения МИГ, объект Shop пытается препоручить как можно больше клиентов одному из свободных клерков. После того как клерк выбран, ему посылается сообщение, соответствующее методу 5, с двумя параметрами: указателем на первичную очередь, чтобы клерк мог скопировать часть ее клиентов во вторичную, и количеством клиентов, заказы у которых магазин предписывает принять клерку. Возвращает же он объекту Shop указатель на клиента первичной очереди, который теперь становится в этой очереди первым, то есть на новую голову связного списка. Первичную очередь Shop продвигает сам. Все эти действия выполняет метод-диспетчер run().
Методы класса Shop:
прибытие нового клиента из внешнего потока и постановка ею в первичную очередь; выбор клерка, который должен принять заказ. Метод выбирает случайным образом одного клерка из числа свободных в данный момент.
3. Реализация модели
3.1 Программная реализацияИмитационное моделирование это процесс конструирования модели реальной системы и постановки экспериментов на этой модели с целью либо понять поведение системы, либо оценить (в рамках ограничений) различные стратегии, обеспечивающие функционирование системы. Имитационное моделирование является экспериментальной и прикладной методологией, которая:
описывает поведение системы; строит теории и гипотезы, которые могут объяснить наблюдаемое поведение; использует эти теории для предсказания будущего поведения системы, то есть тех воздействий, которые могут быть вызваны изменениями в системе или изменениями способов ее функционирования.[1]
При выполнении данной программы генерируются число занятых клерков, среднее время периода занятости клерка, средняя длина первичной очереди, среднее число клиентов в магазине, среднее время пребывания клиента в магазине, средний объем одного заказа. Другими словами, в имитационном эксперименте входные данные «пропускаются» через логическую структуру, чей ответ «подражает» ответы реальной системы на входные данные. Требуется составить алгоритм, и реализовать его. Для моделирования системы группового обслуживания с несколькими этапами и двойной очередью (работа оптового магазина), был выбран высокоуровневый язык программирования C++ и написана программа на этом языке, позволяющая в полной мере отразить функционирование системы. Для проведения анализа зависимостей некоторых показателей друг от друга была использована программа gnuplot.
3.2 Построение графиков
3.2.1 Программа gnuplotGnuplot портативная программа для визуализации данных и создания графиков функций для операционных систем UNIX, IBM OS/2, MS Windows, DOS, Macintosh, VMS, Atari и многих других. Эта программа защищена авторским правом, но свободна для распространения.
Gnuplot поддерживает множество видов графиков как двух-, так и трехмерных. Он может рисовать, используя линии, точки, боксы, контуры, векторные поля, поверхности и различный связанный текст.[2]
Gnuplot имеет собственную систему команд, может работать интерактивно (в режиме командной строки) и выполнять скрипты, читаемые из файлов. Также используется в качестве системы вывода
Похожие работы
Тема: Имитационное моделирование группового обслуживания с несколькими этапами и двойной очередью: работа оптового магазина |
Предмет/Тип: Экономика отраслей (Курсовая работа (т)) |
Тема: Двойной интеграл |
Предмет/Тип: Математика (Доклад) |
Тема: Аккорды двойной доминанты |
Предмет/Тип: Другое (Курсовая работа (т)) |
Тема: Критерии двойной бухгалтерии |
Предмет/Тип: Финансы, деньги, кредит (Реферат) |
Тема: Двойной электрический слой |
Предмет/Тип: Химия (Реферат) |
Интересная статья: Основы написания курсовой работы