Реферат: Разработка метода формирования маршрутных матриц однородной замкнутой экспоненциальной сети массового обслуживания
Содержание: Пока не будет достигнута граница, т. е. не перестанут выполняться условия:
( - выбраны Блоком 2 )
Либо не будет достигнута вершина для текущего направления, т. е.
(*)
( (*) - условие достижения вершины в точке ). Повторяют рабочий шаг: присваивают значение .
Как только движение прекращается текущая матрица запоминается и управление передается в Блок 3 .
Блок 5.
Назначение: Определить достигнут ли глобальный экстремум в точке , определенной Блоком 2 . Т. е. достигнуто ли решение задачи (2.3) - (2.4).
Содержание: Проверяются условия 2:
Если ( - величина, определяющая точность, с которой ищется экстремум, содержится во входных данных), то делается вывод, что
- решение задачи (2.3) - (2.4);
Если , то если раз не был достигнут один и тот же минимум, управление передается в Блок 2 ( может быть задана в исходных данных).
В противном случае полагается, что решения задачи (2.3) - (2.4) достичь невозможно.
После проверки условия 2 управление передается в Блок 6.
Блок 6.
Назначение: Формирование выходных данных.
Содержание: Формируется сообщение, следующим образом:
Если решение найдено, то выходными данными является .
Если принято решение о невозможности достичь решения, то выходными данными будет сообщение о том, что решение не существует.
Рисунок 2. Структурная схема алгоритма реализующего
метод формирования маршрутной матрицы.
5. Назначение программы OPTIM и описание программы.
Программа OPTIM написана на языке Turbo Pascal. Программа предназначена для решения задачи формирования маршрутной матрицы виртуальной СеМО. Программа представляет собой реализацию алгоритма приведенного в предыдущей главе. Программа проста в использовании, требует незначительный объем оперативной памяти. Недостатком программы является недостаточно высокое быстродействие, как и у многих других программ, реализующих подобные методы оптимизации.
Маршрутные матрицы и матрицы смежности являются разряженными матрицами, т. е. матрицами, содержащими относительно малое число ненулевых элементов. Поэтому для исследования виртуальных СеМО большой размерности в программе OPTIM предусмотрено представление матриц смежности в виде вектора, содержащего номера столбцов, содержащих ненулевые элементы записанные в порядке возрастания номеров столбцов и строк. Номер последнего положительного элемента в строке берется со знаком “-”. Подобное представление матрицы смежности позволяет повысить скорость ввода исходных данных.
Программу можно условно разбить на функциональные блоки, выполненные в виде отдельных процедур и функций.
1. Ввод исходных данных. Реализует пункт 1 алгоритма. Выполнен в виде процедуры InputData.
Содержание: считывает исходные данные из файла OPT.DAT . Исходные данные выбираются в следующем порядке:
к - число ненулевых элементов матрицы смежности.
L - число СМО.
Svect - упакованная матрица смежности (вектор размерности к).
- концептуальный вектор (размерности L).
2. Задание начальной матрицы реализует Блок 2 алгоритма. Выполнен в виде процедур MatrSmez и TetaMatr. Процедура MatrSmez формирует матрицу смежности на основании вектора Svect. Процедура TetaMatr преобразует матрицу смежности в матрицу (подробно описано в алгоритме в Блоке 2 ).
3. Выбор направления спуска. Реализует Блок 3 алгоритма. Выполнен в виде процедуры IndLocate. Для работы использует функции target (teta) и stepish, вычисляющие значение целевой функции и степень полуисхода вершины соответственно.
4. Осуществляет движение в выбранном направлении. Реализует Блок 4 алгоритма, выполнена в виде процедуры Move.
5. Обработка результатов и формирования файла выходных данных. Реализует Блоки 5 и 6 алгоритма. Выполнен в виде процедуры OutputData.