Концептуальное проектирование систем в AnyLogic 7 и GPSS World

Модель обработки документов в организации

Показывать лекцию целиком

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

Для приёма и обработки документов в организации назначена группа в составе трёх сотрудников. Ожидаемая интенсивность потока документов - 15 документов в час. Среднее время обработки одного документа одним сотрудником - $$t_{обс} = 12$$ мин. Каждый сотрудник может принимать документы из любой организации. Освободившийся сотрудник обрабатывает последний из поступивших документов. Поступающие документы должны обрабатываться с вероятностью не менее 0,95.

Определить, достаточно ли назначенной группы из трёх сотрудников для выполнения поставленной задачи.

Аналитическое решение задачи

Группа сотрудников работает как СМО, состоящая из трёх каналов, с отказами, без очереди. Поток документов с интенсивностью $$\lambda =15\frac{1}{час}$$ можно считать простейшим, так как он суммарный от нескольких организаций. Интенсивность обслуживания $$\mu = \frac{1}{t_{обс}} = \frac{60}{12} = 5\frac{1}{час}$$. Закон распределения неизвестен, но это несущественно, так как показано, что для систем с отказами он может быть произвольным. Граф состояний СМО - это схема "гибели и размножения". Для неё имеются готовые выражения для предельных вероятностей состояний системы:

$$P_1=\frac{\rho }{1!}P_0, P_2=\frac{\rho^2 }{2!}P_0, ..., P_n=\frac{\rho^n }{n!}P_0, P_{n+1}=\frac{\rho^{n+1}}{nn!}P_0, ...,P_{n+m}=\frac{\rho^{n+m}}{n^mn!}P_0,$$ $$P_0=\left ( 1+\frac{\rho }{1!}+...+\frac{\rho^n }{n!}+\frac{\rho^{n+1}}{nn!}+\frac{\rho^{n+2}}{n^2n!}+...+\frac{\rho^{n+m}}{n^mn!} \right )^{-1}.$$

Отношение $$\rho =\lambda /\mu$$ называют приведенной интенсивностью потока документов (заявок). Физический смысл её следующий: величина $$\rho$$ представляет собой среднее число заявок, приходящих в СМО за среднее время обслуживания одной заявки.

В задаче $$\rho =\frac{\lambda}{\mu} = \frac{15}{5}=3$$.

В рассматриваемой СМО отказ наступает при занятости всех трёх каналов, то есть при $$P_{отк} = P_3$$. Тогда:

$$P_0=\left ( 1+\frac{3 }{1}+\frac{3^2}{2!}+\frac{3^3}{3!} \right )^{-1} = 0,077, P_3=\frac{3^3}{3!}P_0=4,5 \cdot 0,077=0,346.$$

Так как вероятность отказа в обработке документов составляет более 0,34 (0,346), то необходимо увеличить количество сотрудников группы. Увеличим состав группы в два раза, то есть СМО будет иметь теперь шесть каналов, и рассчитаем $$P_{отк}$$:

$$P_0=\left ( 1+\frac{3 }{1}+\frac{3^2}{2!}+\frac{3^3}{3!} +\frac{3^4}{3!} +\frac{3^5}{5!} +\frac{3^6}{6!} \right )^{-1} = 0,051,$$ $$P_6=\frac{3^6}{6!}P_0= \frac{729}{720} = 4,012 \cdot 0,051=0,052.$$

Теперь $$P_{обс} = 1-P_{отк} \approx 0,95$$.

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

Решение задачи в AnyLogic

Создайте модель Обработка_документов.

  • Выполните команду Файл/Создать/Модель на панели инструментов. Откроется диалоговое окно Новая модель.
  • В поле Имя модели диалогового окна Новая модель введите Обработка_документов. Выберите каталог, в котором будут сохранены файлы модели. Щёлкните Готово.
  • Объекты и элементы модели Обработка_документов показаны на Рис. 10.1. Перетащите их на агента Main, разместите, соедините и установите значения свойств согласно Табл. 10.1.
  • Для ввода исходных данных используйте элемент Параметр, тип первых двух double, а третьего - int:

  • срИнтПост - средний интервал поступления документов, по умолчанию - 4;
  • срВрОбр - среднее время обработки документа, по умолчанию - 12;
  • колСотруд - количество сотрудников, по умолчанию - 3.
  • (рис 10.1) Объекты и элементы модели ОбрДокументов
    СвойствоЗначения
    Имяsource
    Тип заявкиEntity
    Прибывают согласноВремени между прибытиями
    Время между прибытиямиexponential(1/срИнтПост)
    Действия При выходе:постДокум++;
    ИмяselectOutput
    Выход true выбираетсяПри выполнении условия
    Условиеdelay.size()<колСотруд
    Имяdelay
    ТипОпределённое время
    Время задержкиexponential(1/срВрОбр)
    ВместимостьколСотруд
    Включить сбор статистики Установить флажок
    Имяsink
    Действие При входе:обрДокум++;
    верОбр=обрДокум/постДокум;
    верОтказа=1-верОбр;

    Для вывода результатов моделирования используются элементы Переменная, тип которых double:

  • постДокум - количество поступивших документов;
  • обрДокум - количество обработанных документов;
  • верОбр - вероятность обработки документов;
  • верОтказа - вероятность не обработки документов.
  • AnyLogic-модель построена.

    Выделите в окне Проекты Simulation:Main.

    На странице Модельное время, выберите из списка Остановить: В заданное время. Введите Конечное время: 600000 (модельное время увеличено в 10000). Режим выполнения: Виртуальное время (максимальная скорость)

    На странице Случайность установите Фиксированное начальное число (воспроизводимые прогоны) и Начальное число: 1055.

    Запустите модель. Вы должны получить результаты, приведенные на Рис. 10.2.

    (рис 10.2) Результаты решения задачи в AnyLogic7

    Вероятность не обработки всех документов верОтказа=0,342 (0,345 в AnyLogic6), то есть отличается от полученного аналитическим путём решения на 0,004 (0,001). Хотя это отличие можно отнести на счёт округления до трёх знаков после запятой.

    Теперь измените количество сотрудников с трёх на шесть. Для этого выделите элемент Параметр с именем колСотруд и установите по умолчанию 6. Всё остальные данные оставьте без изменения. Запустите модель. Вероятность не обработки документов верОтказа=0,052 (0,051), то есть отличается от полученного аналитическим путём решения на 0,002 (0,001).

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

    Решение задачи в GPSS World

    Программа с комментариями GPSS-модели обработки документов приведена ниже.

    ; Модель обработки документов в организации
    T1	EQU	4	; Среднее время поступления документов
    T2	EQU	12	; Среднее время обработки одного документа
    Sotr	STORAGE		3	; Количество сотрудников
    VrMod	EQU		60	; Время моделирования
    ; Сегмент имитации обработки документов
    	GENERATE	(Exponential(1053,0,T1)); Источники документов
    Met1	GATE SNF	Sotr,Met2	; Не заняты ли сотрудники?
    	ENTER	Sotr				; Нет, тогда занять
    	ADVANCE	(Exponential(1053,0,T2))	; обработка
    	LEAVE	Sotr				; Освободить сотрудника
    Met3	TERMINATE		; Учёт обработанных документов	
    Met2	TERMINATE		; Учёт необработанных документов	
    ; Сегмент задания времени моделирования и расчёта результатов
    	GENERATE 	VrMod	
    	TEST E	TG1,1,Met4	; Если TG1=1, то расчет
    ; Вероятностей 
    	SAVEVALUE	VerObr,(N$Met3/N$Met1); обработки
    	SAVEVALUE	VerOtk,(1-X$VerObr)	; необработки
    Met4	TERMINATE	1
    	START	10000	; задание количества прогонов

    При трёх сотрудниках в группе обработки документов вероятность необработки (VEROTK) такая же, как и при аналитическом решении задачи, что видно из фрагмента отчёта:

    STORAGE CAP.REM.MIN.MAX. ENTRIES AVL. AVE.C. UTIL.
     SOTR    3   2   0   3    98161   1   1.963  0.654
    SAVEVALUE               RETRY       VALUE
     VEROBR                   0          0.654
     VEROTK                   0          0.346

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

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

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

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

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