Разработка и исследование гибридного алгоритма решения сложных задач оптимизации

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



преобразовании входного вектора в выходной вектор, причем это преобразование задается весами сети.

Как построить такую сеть? Этот вопрос решается в два этапа:

1.Выбор типа (архитектуры) сети.

2.Подбор весов (обучение) сети.

На первом этапе следует выбрать следующее:

какие нейроны мы хотим использовать (число входов, активационные функции);

каким образом следует соединить их между собой;

что взять в качестве входов и выходов сети.

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

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

Обучение сети

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

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

Алгоритм обратного распространения - способ ускоренного расчета компонент градиента. Идея метода в том, чтобы представить E в виде сложной функции и последовательно рассчитать частные производные по формуле для сложной функции. Оказывается, что после многократного предъявления примеров веса сети стабилизируются, причем сеть дает правильные ответы на все примеры из обучающей выборки. В таком случае говорят, что сеть выучила все примеры, сеть обучена, или сеть натренирована. В процессе обучения величина ошибки (сумма квадратов ошибок по всем выходам) постепенно уменьшается. Когда величина ошибки достигает нуля или приемлемого малого уровня, тренировку останавливают, а полученную сеть считают натренированной и готовой к применению на новых данных.

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

Глава 2. Практическая часть

.1 Исследование свойств показателей эффективности ТК КА

Оптимизация показателей эффективности показателей ТК космического аппарата и исследование их свойств проводилась с помощью алгоритмов целочисленной оптимизации. Данные алгоритмы позволяют установить полезные свойства целевых функций. В работе были применены алгоритмы двух видов: неучшаемый и обобщенный - псевдобулевые, неулучшаемый и с системой окрестностей N2(X) - целочисленные. Пошаговая структура данных алгоритмов была представлена в теоретической части.

Данные алгоритмы были применены при решении задачи оптимизации коэффициентов готовности КА, БКУ, ЦА в технологическом контуре КА. Для этого автором был разработан пакет программ, начальное рабочие окно которого представлено на рисунке 2.1.

Рис. 2.1 Начальное окно программы

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

Рис. 2.2 Начальное и результирующее окно алгоритма 1

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

Рис. 2.3 Ввод стартовой точки

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