Применение теории массового обслуживания в исследовании рынка

Рассмотрим теперь, как соотносятся модели математические и компьютерные.

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

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

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

Это обычная компьютерная практика – моделировать математические объекты с известными свойствами посредством физических (компьютерных) объектов, которые сами этими свойствами не обладают. При этом, хотя точность моделирования математических объектов компьютерными может быть очень высокой, это все-таки не избавляет нас от необходимости понимания замаскированных различий между исходными математическими объектами и их компьютерными образами.

Язык (система) имитационного моделирования дискретных систем GPSS позволяет автоматизировать при моделировании систем процесс программирования моделей. В настоящее время он является одним из наиболее эффективных и распространенных программных средств моделирования сложных дискретных систем на ЭВМ и успешно используется для моделирования систем, формализуемых в виде схем массового обслуживания, с помощью которых описываются многие объекты.

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

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

Рассмотрим такую задачу: В парикмахерскую с одним парикмахером приходят клиенты через 20 ± 10 минут друг за другом. Время стрижки одного клиента составляет 19 ± 5 мин. Требуется определить среднюю длину очереди клиентов и среднее время ожидания клиентами начала обслуживания.

Эту задачу можно изобразить схематически следующим образом:

Рис. 8. Схема работы парикмахерской (число обслуживающих каналов равно 1)

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

10 GENERATE 20,10

20 SEIZE 1

30 ADVANCE 19,5

40 RELEASE 1

50 TERMINATE

Здесь левая колонка – это номера строк модели: произвольные положительные числа в порядке возрастания. Строки нумеруются не: 1, 2, 3 и т.д. Удобнее всего нумеровать их так, как показано: 10, 20, 30 и т.д. Это позволяет легко вставлять новую строку между любыми двумя уже введенными строками и присваивать ей номер, например 15, 25, 26 и т.п. В системе GPSS World можно не нумеровать строки.

Следующие две колонки – названия операторов и поле переменных. Рассмотрим, какие же операторы входят в модель, и для чего они предназначены.

Блок GENERATE порождает транзакты (клиентов) через каждые 20 ± 10 единиц времени (в данном примере считаем единицу времени минутой). Число 20 в первом операнде (в поле A) указывает интервал модельного времени, через который генерируются транзакты. В поле B записано число 10, которое задает временные границы интервала, т.е. время прихода очередного клиента получается как случайное число в промежутке от 20 – 10 = 10 до 20 + 10 = 30.

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

Блок SEIZE 1, в который поступают транзакты из блока GENERATE, выполняет операцию занятия транзактами устройства номер 1.

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

Блок ADVANCE 19, 5 задерживает транзакт, который занял устройство, на 19 ± 5 единиц времени, моделируя тем самым задержку клиента на время его обслуживания.

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

В тот момент, когда один транзакт освобождает устройство, другой транзакт, стоящий в очереди, занимает это устройство. Оба действия выполняются в один и тот же момент модельного времени. Когда один транзакт находится в блоке ADVANCE, другие транзакты время от времени появляются в блоке GENERATE и становятся в очередь к устройству. Следовательно, в модели одновременно в разных ее местах движутся несколько транзактов, выполняя те или иные операции, и могут влиять друг на друга и на другие объекты модели.

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

Но нам нужно не просто составить программу, моделирующую работу парикмахерской. Необходимо еще, чтобы при выполнении модели GPSS собирал статистику об очереди транзактов (клиентов). Для этого нужно включить в модель еще два блока – QUEUE (точка входа в очередь) и DEPART (точка выхода). Мы можем расставлять эти точки в своих моделях в принципе произвольным образом. Это зависит от того, о каком участке системы нам нужна статистика по движению через него потока транзактов.

В данной модели парикмахерской эти точки следует выбирать так:

10 GENERATE 20,10

15 QUEUE 1; точка входа в очередь номер 1

20 SEIZE 1

25 DEPART 1; точка выхода из очереди номер 1

30 ADVANCE 19,5

40 RELEASE 1

50 TERMINATE

При такой расстановке блоков QUEUE и DEPART получается, что транзакт входит в очередь в момент появления его в системе, а выходит из очереди в момент, когда ему удалось занять устройство, то есть пройти блок SEIZE. Следовательно, очередь 1 будет собирать статистику именно об очереди клиентов к парикмахеру, как она изображена на нашей схеме. И в результате выполнения модели мы узнаем ответ на вопрос, поставленный в задаче: найти среднюю длину очереди клиентов и среднее время ожидания клиентами начала обслуживания.

Страница:  1  2  3  4  5  6  7  8  9  10  11  12  13 


Другие рефераты на тему «Экономико-математическое моделирование»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы