Аналитическое моделирование в 1С многоканальной системы массового обслуживания::Журнал СА 11.2018
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Информация для ВАК
Звезды «СА»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Игры
Контакты
   

  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
27.03.2019г.
Просмотров: 554
Комментарии: 0
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

27.03.2019г.
Просмотров: 458
Комментарии: 0
Автоматизация программируемых сетей

 Читать далее...

27.03.2019г.
Просмотров: 487
Комментарии: 0
Изучаем pandas. Второе издание

 Читать далее...

27.03.2019г.
Просмотров: 411
Комментарии: 0
Компьютерное зрение. Теория и алгоритмы

 Читать далее...

13.03.2019г.
Просмотров: 616
Комментарии: 0
DevOps для ИТ-менеджеров

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Аналитическое моделирование в 1С многоканальной системы массового обслуживания

Архив номеров / 2018 / Выпуск №11 (192) / Аналитическое моделирование в 1С многоканальной системы массового обслуживания

Рубрика: Разработка /  Изучаем «1С»   | Дополнительные материалы

Кирилл Ткаченко КИРИЛЛ ТКАЧЕНКО, инженер 1-й категории, ФГАОУ ВО «Севастопольский государственный университет», tkachenkokirillstanislavovich@gmail.com

Аналитическое моделирование в 1С
многоканальной системы массового обслуживания

Аналитическое моделирование в 1С многоканальной системы массового обслуживанияДля описания компьютерных и иных технических систем часто применяются многоканальные системы массового обслуживания с буферированием. Рассматривается программа для проведения описательного демонстрационного аналитического моделирования. Приводятся исходный текст и результаты работы

В области информационных технологий и во многих других сферах науки и промышленности довольно часто применяются системы массового обслуживания (СМО).

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

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

Аналитическому моделированию СМО посвящено достаточно много литературы, из числа которой следует отметить работы [1-5].

Особняком стоит СМО типа M/M/K/N. В этой системе простейший входной поток заявок с интенсивностью λ, очередь с емкостью N перед каналами, наконец, K каналов обработки по экспоненциальному закону с производительностью μ. Системы массового обслуживания такого типа в специальной литературе принято называть многоканальными с буферированием.

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

Поскольку аналитическое моделирование для определения характеристик СМО сводится к счету по формулам, то можно воспользоваться справочными инженерными соотношениями.

Например, в приложении работы [5] собраны воедино основные соотношения для расчетов. Поэтому к важнейшим системным характеристикам СМО можно отнести:

  • Коэффициент загрузки ρ:

    (1)

  • Коэффициент загрузки СМО ρs:

    (2)

  • Вероятность простоя СМО p0:

    (3)

  • Вероятность пребывания в СМО i заявок pi:

    (4)

  • Вероятность отказа в обслуживании заявки potk:

    (5)

  • Среднее число занятых каналов Kz:

    (6)

  • Среднее число заявок в очереди Wq:

    (7)

  • Среднее время ожидания заявки в очереди Tq:

    (8)

  • Среднее число заявок в СМО Ws:

    (9)

  • Среднее время пребывания заявки в СМО Ts:

    (10)

Расчеты по формулам (1)-(10) сводятся к типовым языковым конструкциям в 1С: присваиванию и циклу с параметром.

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

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

Функция, в которой будут производиться расчеты, носит идентификатор СМО.

Ее четыре аргумента – KNlammu – задают соответственно число каналов, емкость буфера, интенсивность и производительность.

Функция СМО(K, N, lam, mu)
	Перем rho, rhos;
	Перем p0, potk;
	Перем Kz;
	Перем Wq, Tq;
	Перем Ws, Ts;
	Перем psost;
	Перем i, j;
	Перем Числ, Знам;
	Перем KФакт;
	Перем ТЕРМИНАТОР;
	Перем Рез;

Идентификаторы используемых функцией переменных приближены к обозначениям (1)-(10), а сами переменные используются для хранения:

  • rho – ρ,
  • rhos – ρs,
  • p0 – p0,
  • potk – potk,
  • Kz – Kz,
  • Wq – Wq,
  • Tq – Tq,
  • Ws – Ws,
  • Ts – Ts,
  • psost – pi,
  • i – номер состояния и счетчик цикла,
  • j – счетчик цикла,
  • Числ и Знам – числители и знаменатели в циклах для упрощения нахождения многократных произведений,
  • KФакт – K!.

В переменную ТЕРМИНАТОР помещается символ для разделения строк в выходной переменной Рез.

Вначале символ, разделяющий строки, помещается в:

	ТЕРМИНАТОР = ""
		"";

Затем по формуле (1) производится расчет ρ. Здесь и далее результат вычислений помещается в результирующую строку с точностью четыре знака после запятой, затем добавляется терминатор:

	rho = lam / mu;
	Рез = "rho = " + Формат(rho, "ЧДЦ=4") + ТЕРМИНАТОР;

Аналогичным образом по формуле (2) получается ρs:

	rhos = rho / K;
	Рез = Рез + "rho_s = " + Формат(rhos, "ЧДЦ=4") + ТЕРМИНАТОР;

Счет по формуле (3) несколько более сложен и требует использования циклов с параметром:

	p0 = 1;
	Числ = 1;
	Знам = 1;
	Для j = 1 По K - 1 Цикл
		Числ = Числ * rho;
		Знам = Знам * j;
		p0 = p0 + Числ / Знам;
	КонецЦикла;
	Числ = Числ * rho * (1 - Pow(rhos, N + 1));
	KФакт = Знам * K;
	p0 = p0 + Числ / (KФакт * (1 - rhos));
	p0 = 1 / p0;
	Рез = Рез + "p0 = " + Формат(p0, "ЧДЦ=4") + ТЕРМИНАТОР;

Для этого расчета удобно манипулировать значениями числителей и знаменателей слагаемых суммы отдельно, чтобы, во-первых, уменьшить возможные ошибки от потери точности при делении, во-вторых, чтобы в дальнейшем непроизводить расчет значения K!.

В свою очередь, вычисление вероятности отказа по (5) достаточно просто:

potk = (Pow(rho, K + N) * p0) / (KФакт * Pow(K, N));
	Рез = Рез + "potk = " + Формат(potk, "ЧДЦ=4") + ТЕРМИНАТОР;

Значения величин KzWqTqWsTs рассчитываются по формулам (6)-(10) и помещаются в результат образом, аналогичным для (1):

	Kz = rho * (1 - potk);
	Рез = Рез + "Kz = " + Формат(Kz, "ЧДЦ=4") + ТЕРМИНАТОР;
	Wq = (Pow(rho, K + 1) * p0) / (KФакт * K);
	Wq = Wq * (1 - Pow(rhos, N) * (N + 1 - N * rhos)) / Pow(1 - rhos, 2);
	Рез = Рез + "Wq = " + Формат(Wq, "ЧДЦ=4") + ТЕРМИНАТОР;
	Tq = Wq / lam;
	Рез = Рез + "Tq = " + Формат(Tq, "ЧДЦ=4") + ТЕРМИНАТОР;
	Ws = Wq + Kz;
	Рез = Рез + "Ws = " + Формат(Ws, "ЧДЦ=4") + ТЕРМИНАТОР;
	Ts = Tq + (1 - potk) / mu;
	Рез = Рез + "Ts = " + Формат(Ts, "ЧДЦ=4") + ТЕРМИНАТОР;

Определение вероятностей состояний СМО по (5) выполняется в два цикла. В первом цикле определяются pi для случая 1≤i≤K:

	Числ = p0;
	Знам = 1;
	Для i = 1 По K Цикл
		Числ = Числ * rho;
		Знам = Знам * i;
		psost = Числ / Знам;
		Рез = Рез + "p" + i + " = " + Формат(psost, "ЧДЦ=4") + ТЕРМИНАТОР;
	КонецЦикла;

Во втором цикле – pi для случая K<i≤K+N:

	Для i = K + 1 По K + N - 1 Цикл
		Числ = Числ * rho;
		Знам = Знам * K;
		psost = Числ / Знам;
		Рез = Рез + "p" + i + " = " + Формат(psost, "ЧДЦ=4") + ТЕРМИНАТОР;
	КонецЦикла;

В этих циклах расчет числителей и знаменателей, а также накопление сумм аналогично циклу, определяющему значение (3).

Функция завершается возвратом Рез:

	Возврат Рез;
КонецФункции

Наконец, результат сообщается пользователю:

Сообщить(СМО(4, 7, 30, 17));

Полный исходный текст находится на сайте журнала http://samag.ru.

Результаты работы программы:

rho = 1,7647
rho_s = 0,4412
p0 = 0,1678
potk = 0,0002
Kz = 1,7643
Wq = 0,0943
Tq = 0,0031
Ws = 1,8586
Ts = 0,0620
p1 = 0,2961
p2 = 0,2613
p3 = 0,1537
p4 = 0,0678
p5 = 0,0299
p6 = 0,0132
p7 = 0,0058
p8 = 0,0026
p9 = 0,0011
p10 = 0,0005

Полученная программа демонстрирует возможности аналитического моделирования в среде 1С. Это пригодно, например, для анализа характеристик сложных систем для планирования закупок.

  1. Вентцель Е.С. Теория вероятностей / Е.С.Вентцель, Л.А. Овчаров. – М.: Наука, 1973. –368 с.
  2. Новиков О.А. Прикладные вопросы теории массового обслуживания / О.А. Новиков, Б.В. Гнеденко, С.И. Петухов. – М.: Советское радио, 1969. – 398 с.
  3. Клейнрок Л. Теория массового обслуживания / Л. Клейнрок. – М.: Машиностроение, 1979. – 432 с.
  4. Клейнрок Л. Вычислительные системы с очередями / Л.Клейнрок. – М.: Мир, 1979. – 600 с.
  5. Балакирева И.А. Методические указания для выполнения типовой выпускной квалификационной работы бакалавра по тематике анализа эффективности компьютерных систем обработки данных / И.А. Балакирева, А.В. Скатков. – Севастополь: СевГУ, 2015. – 32 с.

Ключевые слова: 1С, системы массового обслуживания, аналитическое моделирование.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru