Для моделирования вводятся следующие данные:
- количество каналов обслуживания;
- количество клиентов, подлежащих обслуживанию;
- дискретное распределение вероятностей клиентов по интервалам прибытия;
- дискретное распределение времени обслуживания клиентов.
Дискретные распределения интервалов прибытия и обслуживания могут быть введены вручную или сгенерированы с использованием одного из следующих распределений: экспоненциальное, равномерное, распределение Эрланга, распределение Вейбулла, нормальное и усеченное нормальное.
При генерации для каждого из этих распределений вводятся определяющие параметры, например, для нормального распределения это: среднее значение, дисперсия и количество интервалов. Во время генерации для каждого интервала программно определяется вероятность прибытия клиентов и, соответственно, время обслуживания. Общее количество интервалов определяет время, в течение которого клиенты прибывают и обслуживаются. Изменяя параметры, можно моделировать различные сценарии. Количество интервалов для распределения вероятностей прибытия клиентов и количество интервалов времени обслуживания не обязательно должны совпадать.
Обслуживание клиентов работает по принципу «кто первый пришел, тот и обслужился», в зависимости от наличия свободного канала. Приложение измеряет следующие значения: среднее время ожидания клиентов в очереди обслуживания; среднее время обслуживания клиентов; среднее время в системе (ожидание + обслуживание); загрузка сервера в процентах; и пропускная способность (клиентов за единицу времени).
Данные моделируемых систем хранятся в базе данных SQLite с именем samples.db. Список уже сохраненных систем отображается на главном экране приложения, названном AppMulti_Channel_Mass_Service, и, щелкнув по элементу из списка, он выбирается для дальнейшей работы.
С главного экрана приложения доступны следующие функции: New Sample – для ввода данных для моделирования новой системы; Edit – для изменения и выполнения выбранной системы; Delete – для удаления системы.
В дополнение к пунктам меню на главном экране включены следующие функции: Help; Init DB – начальная загрузка базы данных; Copy DB – копирование базы данных; - Сохранение базы данных; - Настройки; - и Ссылки на другие приложения автора.
Ввод данных для новой системы для моделирования, а также для редактирования и запуска выбранной системы осуществляется с экрана «Пример активности». Здесь вы вводите: - название системы; - количество серверов; - количество клиентов для моделирования и оба распределения вероятностей (прибывающих и обслуживаемых клиентов).
Для визуализации распределений есть два поля: «Множество вероятностей интервала между прибытиями» (значение формата: вероятность,...) и «Множество вероятностей времени обслуживания» (значение формата: вероятность,...). Сам ввод данных осуществляется в диалоговых таблицах (Редактировать; Редактировать «Множество вероятностей интервала между прибытиями»; и «Множество вероятностей времени обслуживания») с двумя столбцами: интервал и вероятность в каждом. После нажатия кнопки «Сохранить» введенные данные отображаются в указанных полях.
На экране «Пример активности» функции генерации двух распределений доступны с помощью кнопок «Генерировать входные данные» и «Генерировать данные обслуживания», а также для выполнения моделирования с помощью кнопки «ЗАПУСТИТЬ СИМУЛЯЦИЮ».
После выполнения моделирования результат отображается на экране «Моделирование». Затем можно выбрать функцию «Печать», чтобы сохранить результаты моделирования в файл .txt. Функция «Печать» включает в себя действие «Сохранить файл» с древовидной структурой файлового каталога устройства, и после выбора папки появляется кнопка «Сохранить», позволяющая сохранить результаты моделирования.
Генерация двух распределений осуществляется с помощью FlowActivity. Из выпадающего списка выбирается тип распределения, заполняются его характерные параметры, и с помощью кнопки «Сгенерировать» в аналогичной двухколоночной таблице, как при вводе новых распределений, отображаются сгенерированные данные распределения.
Последнее обновление
15 дек. 2025 г.