Алгоритм формирования ПП




 

Все математические преобразования над схемой ПП вынесены в отдельный класс ConsistentPlacement, который содержит в себе свойства SizeSquareMatrix, Quality, MatrixR и методы, разделяющиеся на публичные getPositionElementFromRmatrix, createMatrixR, getDuration и приватные getNoPutMaxElement, qualityAllLengthEdge, sumDurationElement,LocalAdjacency.

Конструктор класса имеет обязательный параметр, которым является матрица смежности, при инициализации класса создаётся пустая матрица КП, которая имеет всегда квадратную форму, если элементов меньше чем размер матрицы, то оставшиеся ячейки будут пустыми.

Свойство SizeSquareMatrix это размер матрицы ПП, это значение вычисляется при инициализации класса.

Свойства Qualityэто показатель качества схемы ПП.

Свойство MatrixR это матрица ПП, продукт работы данного класса. Данное свойство изменяется в двух методах, первый из них это createMatrixR, выполняет последовательный этап алгоритма, и optimizationMatrixR выполняет итерационный этап алгоритма.

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

Метод getDuration в качестве обязательного параметра принимает номера элемента двух элементов, между которыми требуется вычислить расстояние, порядок элементов не важен, и в качестве не обязательного параметра принимает матрицу КП, если не задавать этот параметр, то по умолчанию берётся текущая матрица. Метод производит вычисление по формуле d_ij=|X_i-X_j |+|Y_i-Y_j, где i, j это номера элементов.

Метод getPositionElementFromRmatrix в качестве обязательного параметра принимает номер элемента и в качестве не обязательного параметра принимает матрицу ПП, если не задавать этот параметр, то по умолчанию берётся текущая матрица. Метод вычисляет позицию элемента в матрице ПП.

Метод sumDurationElement в качестве обязательного параметра принимает номер элемента и в качестве не обязательного параметра принимает матрицу ПП, если не задавать этот параметр, то по умолчанию берётся текущая матрица. Метод вычисляет среднюю длину ребра элемента.

Метод qualityAllLengthEdge в качестве не обязательного параметра принимает матрицу ПП, если не задавать этот параметр, то по умолчанию берётся текущая матрица. Метод вычисляет качество матрицы ПП по критерию общей длины рёбер, меньшее значение предпочтительно.

Метод getNoPutMaxElement на основании текущего состояния матрицы КП возвращает номер элемента, удовлетворяющий критерию из последовательной части алгоритма.

Метод createMatrixRреализут первый этап работы алгоритма, продуктом работы метода является матрица, в которой первый элемент выбран случайным образом, а остальные в соответствии с последовательной частью алгоритма.

Метод optimizationMatrixR реализует итерационную часть работы алгоритма, продуктом работы метода является матрица ПП, оценка качества которой должна улучшиться.

 

Графический интерфейс

В данной главе описывается графический интерфейс программы, главное окно которой представлено на рисунке 5.

 

Рисунок 5 – Главное окно программы

 

На главном окне программы изначально размещены: кнопка «Меню» с выпадающим списком (рисунок 6), а также вкладки «Схема размещения» и «Матрица смежности», которые изначально пусты. Также, слева представлено поле (изначально пустое) с выбором методов размещения, свойствами схемы и кнопкой запуска.

 

Рисунок 6 – Выпадающее меню

В выпадающем меню представлены три пункта. Пункт «Открыть файл…» позволяет загрузить в программу исходные данные, представленные в виде файлов формата.NET (рисунок 7).

 

Рисунок 7 – Окно открытия файла

При выборе пункта «Очистить поле» окно программы примет вид, аналогичный представленному на рисунке 5.

Пункт «Закрыть программу» осуществляет выход из программы.

При открытии файла в окне программы появляется меню выбора критерия размещения элементов с двумя возможными позициями для выбора (рисунок 8):

- Максимальная связность;

- Относительная связность.

 

Рисунок 8 – Выбор критерия размещения

 

Также, после загрузки исходного файла, появляется возможность просмотра матрицы смежности во вкладке «Матрица смежности» (рисунок 9).

 

Рисунок 9 – Матрица смежности

После выбора критерия размещения и нажатия на кнопку «Разместить», во вкладке «Схема размещения» отображается вариант размещения элементов и связей между ними, построенный с помощью выбранного критерия размещения. На рисунке 10 представлена схема размещения с помощью критерия максимальной связности. На рисунке 11- критерий относительной связности.

 

Рисунок 10 – Размещение элементов схемы с использованием критерия максимальной связности

Элементы схемы представлены квадратами, каждый из которых имеет имя в соответствии с данными в матрице смежности. Количество связей между элементами, представленных в виде дуг графа, также назначаются автоматически в соответствии с матрицей смежности.

 

Рисунок 11 - Размещение элементов схемы с использованием критерия относительной связности

 

После размещения элементов схемы, в окне программы появляется поле, указывающее длину соединений (рисунок 12).

 

Рисунок 12 – Поле «Длина соединений»

 

Вывод

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

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: