Разработка алгоритма поиска оптимальной модели

Исследование вопросов прогнозирования многопараметрических систем. Анализ методик решения задач мониторинга и прогнозирования состояния различных технических объектов. Разработка алгоритма поиска оптимальной модели, обоснование его эффективности.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 28.04.2017
Размер файла 428,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

УДК 004.41

Разработка алгоритма поиска оптимальной модели

Дьяченко Роман Александрович

Шароватов Александр Сергеевич

Лоба Инна Сергеевна

Решетняк Михаил Геннадиевич

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

Ключевые слова: мониторинг, прогнозирование, аппроксимация, интерполяция, критерии оптимальности

В настоящее время для решения задач мониторинга и прогнозирования состояния различных технических объектов (в том числе объектов энергетики и ЖКХ) применяют различные методики (методы линейного регрессионного анализа, нейросетевые и нечёткие методы прогнозирования и т.д.). В процессе аппроксимации создается несколько моделей прогнозирования для определенного параметра. Так как все они дают разные результаты прогноза, возникает необходимость найти оптимальную модель среди построенных.

В [1] представлены основные современные методы прогнозирования. Основным недостатком приведенных методов является использования одного критерия для поиска оптимальных параметров модели прогнозирования. Тогда как поиск оптимальной модели - сложная и многоаспектная задача, для которой найти универсальное решение весьма затруднительно. Каждая модель имеет различные критерии, которые могут служить в качестве параметров поиска оптимальной модели. Важность каждого из критериев зависит от области, в которой решается задача прогнозирования.

Одним из вариантов решения задачи поиска оптимальной модели является выбор основного, наиболее важного критерия и нахождение модели с минимальным (либо максимальным, в зависимости от критерия) значением. Найденная модель, хотя и будет иметь наилучшее значение критерия поиска, может иметь низкое качество по другим критериям, поэтому целесообразно задать ограничения по другим критериям. В итоге поиск оптимальной модели сводится к нахождению модели с наилучшим значением основного критерия оптимальности из тех моделей, что удовлетворяют заданным ограничениям.

Стандартными аппроксимирующими зависимостями являются следующие [2]: прогнозирование мониторинг алгоритм оптимальный

(1)

(2)

(3)

(4)

(5)

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

К таким критериям относятся [2]:

(6)

(7)

(8)

(9)

(10)

(11)

(12)

где - значение уравнения регрессии;

- среднее значение экспериментальных значений y;

N, n - количество экспериментов;

m - количество факторов модели;

.

Алгоритм поиска оптимальной модели по заданному критерию оптимальности и ограничениям по другим критериям состоит из следующих шагов:

1. Получение наборов данных для аппроксимации каждого необходимого параметра (например, с датчиков технических устройств).

2. Построение необходимых моделей.

3. Вычисление необходимых критериев оптимальности для каждой модели.

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

5. Определение модели, обладающей наилучшим значением заданного критерия оптимальности.

Далее в тексте будем использовать обозначения и названия типов данных для языка программирования C# версии 4.0 [3].

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

Поиск оптимального значения среди критериев, а так же проверка значения критерия на соответствие ограничению осуществляются путём сравнения двух критериев одного типа и выбора критерия с оптимальным значением, причём для одних критериев оптимальным значением считается большее, для других - меньшее. Для сравнения значений критериев целесообразно перегрузить операторы сравнения “<” и “>”. Блок-схема оператора “<” представлена на рисунке 1.

Рис. 1. Блок-схема оператора “<” сравнения значений двух критериев

c1, c2 - соответственно первый и второй сравниваемые критерии оптимальности (значения типа EstimationCriteria).

result - результат сравнения (переменная типа bool).

c1.Direction - “направление” сравнения, определяется типом критерия (переменная типа bool). При Direction = true оптимальным является критерий с наибольшим значением, при false - наименьшим.

c1.Value, c2.Value - значения критериев оптимальности (переменные типа double).

Оператор “>” отличается использованием противоположных операторов сравнения - “<” меняется на “>” и наоборот.

Блок-схема алгоритма поиска оптимальной модели представлена на рисунке 2.

Рис. 2. Блок-схема алгоритма поиска оптимальной модели

models - массив моделей, среди которых необходимо найти оптимальную (переменная типа Model).

models.Count - количество моделей в списке (переменная типа int).

type - тип критерия, по которому следует выбирать оптимальную модель (переменная типа Type).

restrictions - словарь ограничений, где ключом каждого значения является его тип (ассоциативный массив пар типа Type, EstimationCriteria).

restrictions.Count - количество заданных ограничений (переменная типа int).

restrictions.Keys - типы заданных ограничений (массив элементов типа Type).

model - рассматриваемая модель (переменная типа Model).

restricted - переменная, отражающая соответствие рассматриваемой модели заданным ограничениям (переменная типа bool).

ttype - тип рассматриваемого ограничения (переменная типа Type).

model.Criterias - список критериев модели (массив элементов типа EstimationCriteria).

Операторы “<” и “>” - операторы сравнения критериев.

Вышеописанный алгоритм реализован в программе “PredictPro”, написанной на языке C# в среде Microsoft Visual Studio 2010 на технологии .NET Framework 4.0 [2].

Принципы работы системы состоят в следующем:

· пользователь работает с проектом, в который можно добавлять наборы данных (представляют собой параметры).

· Наборы данных аппроксимируются моделями - в набор данных можно добавить любое количество моделей следующих типов: линейная, полиномиальная, логарифмическая, степенная, экспоненциальная.

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

· Для наборов данных, либо для отдельных моделей можно создавать прогнозы.

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

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

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

· Проект может быть сохранён на любой носитель информации в виде XML-файла.

· Наборы данных могут быть экспортированы в Excel.

· Для любой модели может быть сгенерирован отчёт в виде PDF-файла.

Интерфейс системы представлен на рисунках 3, 4, 5.

Рис. 3. - Интерфейс системы “PredictPro”

Рис. 4. Меню выбора параметров поиска оптимальной модели

Рис. 5. Результат поиска оптимальной модели

На рисунке 5 продемонстрирован результат поиска оптимальной модели по критерию R2.

Эффективность внедрения такого программного продукта состоит в том, что стоимость разработки данного ПО значительно ниже тех затрат, нежели чем эффект (экономия) от применения прогнозирования (например прогнозирование отказа от выполнения избыточного (дорогстоящего) технического обслуживания дизельных электростанций).

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

Литература

1. Меламед А.М. Современные методы анализа и прогнозирования режимов электропотребления в электроэнергетических системах // Итоги науки и техники. Энерг. системы и их автоматизация. 1988. Т. 4.

2. Гайдышев И.П. Анализ и обработка данных: спец. справ. -- СПб.: Питер, 2001. -- 752 с.

3. Атрощенко В.А., Дьяченко Р.А., Шароватов А.С., Литвинов Ю.Н. Разработка алгоритма определения критического параметра ресурса технических систем // Научно-технические ведомости СПбГПУ. 2011. № 3(126). С. 89-93.

Размещено на Allbest.ru


Подобные документы

  • Обзор алгоритмов распознания объектов на двумерных изображениях. Выбор языка программирования. Обнаружение устойчивых признаков изображения. Исследование алгоритмов поиска объектов на плоскости. Модификация алгоритма поиска максимума дискретной функции.

    дипломная работа [1,0 M], добавлен 16.06.2013

  • Оптимизация показателей эффективности функционирования технологического контура системы управления космическим аппаратом, исследование свойств его показателей. Настройка нейронной сети, гибридизация генетического алгоритма с алгоритмами локального поиска.

    дипломная работа [4,5 M], добавлен 02.06.2011

  • Разработка имитационной модели и схемы процесса обнаружения подводной лодки противника в целях обеспечения максимальной эффективности поиска подводной лодки кораблями КПГУ при возможных уклонениях лодки. Описание и отладка программы имитационной модели.

    курсовая работа [374,5 K], добавлен 26.12.2011

  • Функциональные возможности программного продукта. Требования к программным и аппаратным средствам. Обоснование выбора наилучшей модели для прогнозирования стоимостных показателей объектов. Разработка пользовательского интерфейса и модулей программы.

    дипломная работа [2,3 M], добавлен 24.06.2013

  • Описание формальной модели алгоритма на основе рекурсивных функций. Разработка аналитической и программной модели алгоритма для распознающей машины Тьюринга. Разработка аналитической модели алгоритма с использованием нормальных алгоритмов Маркова.

    курсовая работа [1,5 M], добавлен 07.07.2013

  • Этапы процедуры принятия решений. Разработка математического алгоритма. Блок-схема алгоритма работы программы. Разработка программы на языке программирования С++ в среде разработки MFC. Текст программы определения технического состояния станка с ЧПУ.

    курсовая работа [823,0 K], добавлен 18.12.2011

  • Краткий обзор решения транспортных задач. Экономическая интерпретация поставленной задачи. Разработка и описание алгоритма решения задачи. Построение математической модели. Решение задачи вручную и с помощью ЭВМ. Анализ модели на чувствительность.

    курсовая работа [844,3 K], добавлен 16.06.2011

  • Разработка модели лифта, алгоритма и программы на языке JavaScript. Возможность использования модели при проектировании промышленных лифтов и отладки управляющих программ. Основные принципы построения модели лифта, выполнение вычислительного эксперимента.

    курсовая работа [495,8 K], добавлен 09.06.2013

  • Разработка алгоритма реализации на ЭВМ процесса поиска кратчайшего пути в графе методом Дейкстры. Программная реализация алгоритма поиска кратчайшего пути между двумя любыми вершинами графа. Проверка работоспособности программы на тестовых примерах.

    реферат [929,8 K], добавлен 23.09.2013

  • Понятие алгоритма как набора инструкций, описывающего порядок действий. Поиск в ширину - метод обхода графа и поиска пути в нем. Пример работы алгоритма поиска в ширину, его неформальное и формальное описание. Реализация с помощью структуры "очередь".

    курсовая работа [684,8 K], добавлен 05.04.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.