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

  Опросы
  Статьи

Мониторинг  

Какая задача мониторинга отнимает больше всего времени?

Многие системные администраторы тратят до 30% рабочего времени на рутину мониторинга. Но

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

Рынок труда  

Какие навыки вы хотите развивать в 2026 году?

Рынок труда меняется быстро. Еще вчера его называли рынком соискателей, а сегодня

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

Книжная полка  

От сисадмина до архитектора: книги, которые прокачают ваш стек в этом году

Новинки от издательства «БХВ» отличаются тем, что в них часто делается упор

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

Автоматизация  

Автоматизируем рутину: что реально работает?

Многие сисадмины автоматизировали что-то за последний год. Но далеко не все остались

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

Защита ИТ-системы  

Практическая защита: что вы внедрили и что мешает?

Какие меры безопасности реально внедрить в реальных условиях – и что не

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

Вопрос-ответ  

Обеспечиваем безопасную эксплуатацию базы данных

Что для вас чаще всего является причиной инцидентов с БД? Как вы

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

Книжная полка  

От «безопасного» Linux до Контролируемого взлома

Издательство «БХВ» продолжает радовать читателей интересными новинками и в наступившем году. Вы можете

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

1001 и 1 книга  
19.03.2018г.
Просмотров: 13473
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

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

12.03.2018г.
Просмотров: 13583
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

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

12.03.2018г.
Просмотров: 11046
Комментарии: 0
Глубокое обучение с точки зрения практика

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

12.03.2018г.
Просмотров: 5919
Комментарии: 0
Изучаем pandas

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

12.03.2018г.
Просмотров: 6768
Комментарии: 0
Программирование на языке Rust (Цветное издание)

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

19.12.2017г.
Просмотров: 6646
Комментарии: 0
Глубокое обучение

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

19.12.2017г.
Просмотров: 9484
Комментарии: 0
Анализ социальных медиа на Python

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

19.12.2017г.
Просмотров: 6095
Комментарии: 0
Основы блокчейна

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

19.12.2017г.
Просмотров: 6307
Комментарии: 0
Java 9. Полный обзор нововведений

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

16.02.2017г.
Просмотров: 10469
Комментарии: 0
Опоздавших не бывает, или книга о стеке

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

17.05.2016г.
Просмотров: 13936
Комментарии: 0
Теория вычислений для программистов

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

30.03.2015г.
Просмотров: 15391
Комментарии: 0
От математики к обобщенному программированию

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

18.02.2014г.
Просмотров: 17716
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

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

13.02.2014г.
Просмотров: 12568
Комментарии: 0
Читайте, размышляйте, действуйте

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

12.02.2014г.
Просмотров: 10572
Комментарии: 0
Рисуем наши мысли

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

10.02.2014г.
Просмотров: 8781
Комментарии: 4
Страна в цифрах

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

18.12.2013г.
Просмотров: 7382
Комментарии: 0
Большие данные меняют нашу жизнь

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

18.12.2013г.
Просмотров: 6189
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

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

04.12.2013г.
Просмотров: 5811
Комментарии: 0
Паутина в облаках

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

03.12.2013г.
Просмотров: 6124
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

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

Друзья сайта  

 Аналитическое моделирование в 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-45
E-mail: sa@samag.ru