Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Poyasnitelnaya_zapiska.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
6.64 Mб
Скачать

5 Архитектура программы

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

На рисунке 4 представлена структура проекта.

Рисунок 4- Структура проекта

Интрефейс FitnessFunction и класс FitnessFunctionMax реализуют фитнесс-функцию. Реализация генетического алгоритма находится в классе GeneticEngine.

Матрица времени реализована в модуле Time, промежуточное хранение результатов работы алгоритма находится в объектах класса Result.

Первое поколение хромосом генерируется в классе FirstGeneration, лучший результат представляет собой объект класса BestResult.

Библиотека jquery подключена для возможности использования асинхронных запросов ajax. Модуль index.js отвечает за отправку на сервер асинхронных запросов и возврат результатов обработки.

Обработка исключений реализуется в классах-контроллерах, отвечающих за обработку запросов от клиента и возврат результата на сервер. Модуль index.js реализует вывод сообщений об ошибке на веб-страницу.

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

6 Графический интерфейс пользователя

Графический интерфейс пользователя представлен веб-страницей, предназначенной для ввода параметров алгоритма и окнами вывода матрицы времени и результатов работы алгоритма (рисунок 5).

Рисунок 5- Интерфейс приложения для определения перенастройки оборудования

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

Текстовые формы предназначены для вывода матрицы времени и для отчета о ходе выполнения алгоритма.

7 Тестирование программы

Тестирование проводилось на ЭВМ под управлением ОС Ubuntu 16.04 LTS, а также Windows 7. Тестирование прошло успешно.

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

Результат работы программы для количества 10 технологических операций, размере популяции – 10, максимальном времени перенастройки оборудования – 1000 с, времени стагнации – 5 с (рисунок 6).

Рисунок 6 - Результат выполнения алгоритма с временем стагнации 5 с

Увеличим время стагнации до 10 с и повторим эксперимент. Оптимальное время перенастройки сократилось. Таким образом, при увеличении времени стагнации возрастает вероятность получения наиболее эффективного результата. Результаты работы при времени стагнации в 10 с приведены на рисунке 7.

Рисунок 7 - Результат выполнения алгоритма с временем стагнации 10 с

8 Демонстрация работы программы

При переходе по ссылке http://localhost:8080/Spring/ открывается веб-страница для ввода параметров алгоритма (рисунок 8).

Рисунок 8 — Веб-страница для работы с алгоритмом

Ввод данных осуществляется в текстовые поля в левой верхней части страницы (рисунок 9).

Рисунок 9 — Ввод данных в текстовые поля

Допускается ввод только целых чисел. При вводе нечисловых данных алгоритм не будет выполняться.

По нажатию на кнопку «Сгенерировать матрицу» производится создание матрицы времени и вывод ее на экран (рисунок 10).

Рисунок 10 — Создание матрицы времени

По нажатию на кнопку «Генерация первого поколения» производится создание первого поколения хромосом. По итогам создания первого поколения выводится сообщение (рисунок 11).

Рисунок 11 — Создание первого поколения

При нажатии на кнопку «Выполнить» осуществляется выполнение алгоритма. Пр итогам выполнения алгоритма выводится отчет на экран (рисунок 12).

Рисунок 12 — Результат выполнения алгоритма

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]