logo
Исследование систем массового обслуживания с групповым поступлением требований и управлением входящим потоком

3.2 Описание блоков алгоритма

Блок 1. Задание исходных параметров.

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

- количество приборов;

- количество классов требований;

- максимальное число поступающих требований каждого класса;

- количество рассматриваемых шагов алгоритма (время функционирования системы);

- доходы от требований каждого класса;

- интенсивность поступления групп требований;

- интенсивность обслуживания каждого прибора;

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

(3.2)

Если вектор не задан, полагается, что все вероятности

(3.3)

(3.4)

Блок 2. Формирование множества управлений.

Множество управлений имеет вид:

(3.5)

Множество можно представить как двумерный массив, строки которого состоят из векторов управления .

Блок 3. Формирование множества мгновенных состояний.

Множество мгновенных состояний имеет вид:

(3.6)

где характеризует количество требований в системе.

Множество можно представить как двумерный массив, строки которого состоят из векторов мгновенных состояний .

Блок 4. Нахождение оптимального дохода и оптимального управления.

Номер состояния .

- индекс для обозначения номера текущего мгновенного состояния.

Номер шага .

- индекс для обозначения номера текущего шага. Полагаем, что .

Номер управления .

- индекс для обозначения номера выбранного на данный момент управления.

Вычисление .

В этом блоке производится вычисление максимального полного ожидаемого дисконтируемого мгновенного дохода на шаге по формуле:

.

Если полученное на этом шаге значение больше , переходим к действию 4.6. Иначе переходим к действию 4.7.

Сохранение оптимального дохода и оптимального управления.

Сохраняем значение и соответствующее ему оптимальное управление .

Вычисление .

Перед началом выполнения алгоритма полагаем, что .

Вычисляем по формуле:

(3.8)

где вектор . Полагаем,

.

.

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

.

Увеличиваем значение индекса на единицу и переходим к действию 4.4.

.

При выполнении данного условия осуществляется переход к действию. Чем больше значение , тем больше точность вычисления оптимального дохода и больше времени работает алгоритм. После определённого достаточно большого значения дополнительное увеличение количества шагов не приведёт к повышению точности результатов, то есть значения оптимальных доходов перестанут изменяться относительно . Если условие не выполняется, то переходим к действию 4.12.

.

Увеличиваем значение индекса на единицу и переходим к действию 4.3.

.

Если , то переходим к действию 4.13. Иначе переходим к блоку 5.

s.

Увеличиваем значение индекса на единицу и переходим к действию 4.2.

Блок 5. Вывод результатов.

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