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

О решении задачи Коши для обыкновенных дифференциальных уравнений в символьном виде методом генетического программирования Текст научной статьи по специальности «Математика»

CC BY
136
22
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Бураков С.В., Семенкин Е.С.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «О решении задачи Коши для обыкновенных дифференциальных уравнений в символьном виде методом генетического программирования»

Актуальные проблемы авиации и космонавтики. Технические науки

Рис. 2. Вид сверху

Рис. 3. Вид снизу

Для построения трехмерной модели КР был выбран пакет SolidWorks 2010, представляющий собой систему автоматизированного проектирования, инженерного анализа и подготовки производства изделий любой сложности и назначения [2]. На рис. 2, 3 представлен полученный результат. В дальнейшем планируется провести расчет аэродинамических характеристик КР «Метеорит» путем импортирования трехмерной модели в программный комплекс для вычислений аэро- и гидродинамики FlowVision.

Библиографические ссылки

1. КР «Метеорит». URL: http://www.testpilots. ru/tp/russia/chelomei/p/ 750/meteorit.htm (дата обращения - 11 марта 2010 г.).

2. SolidWorks - мировой стандарт автоматизированного проектирования. URL: http://www. solidworks.ru/products/solidworks/ (дата обращения -11 марта 2010 г.).

© Башкина Е. В., Арипова О. В., 2010

УДК 519.8

С. В. Бураков Научный руководитель - Е. С. Семенкин Сибирский федеральный университет, Красноярск

О РЕШЕНИИ ЗАДАЧИ КОШИ ДЛЯ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ В СИМВОЛЬНОМ ВИДЕ МЕТОДОМ ГЕНЕТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

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

Задача Коши для обыкновенных дифференциальных уравнений (ОДУ) является важной составляющей многих комплексных теоретических и практических проблем. Задачу решают традиционно с помощью математического аппарата [1], если существует способ свести ее к определенной последовательности действий и получить решение в виде комбинации элементарных функций. При этом строго доказано существование и единственность решения, такое решение привычно и удобно для дальнейшего использования. В случае, когда задачу нельзя свести к квадратурам (а на практике это встречается часто), задачу Коши решают численно на ЭВМ [2]. Проводятся дополнительные исследования для определения сходимости и устойчивости метода, возможно, накладывающие ограничения на способ решения. Результат представляется собой числовую таблицу, содержащую значения аргумента и искомой функции - такой результат ограничивает применение и анализ.

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

Рассмотрим следующую задачу: пусть дано ОДУ в общем виде и заданы соответствующие начальные условия. Требуется найти функцию у(х), удовлетворяющую уравнению и начальным условиям. В курсе обыкновенных дифференциальных уравнений доказана теорема существования и единственности решения для уравнения п-го порядка [1]. Далее будем считать, что требования теоремы удовлетворены -задача имеет единственное решение.

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

Секция « Техническая эксплуатация электросистем и авионика »

кой оптимизации удобно использовать алгоритмы генетического программирования, оперирующие бинарными деревьями, представляющими функции-решения [3]. Работу алгоритма можно упрощенно описать так: инициализируется начальная популяция (каждый индивид - бинарное дерево, состоящее из операций, вещественных коэффициентов и термов: х, у, ...), далее цикл - вычисление пригодности, оптимизация составляющих дерева-решения [4], применение генетических операторов.

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

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

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

Такой подход следует считать дополнительным инструментом при решении ОДУ в тех случаях, когда традиционные методы решения не дают желаемого результата. Областью применения данного подхода можно считать любую сферу, связанную с решением ОДУ, но наибольшее значение он имеет в

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

Алгоритм поиска символьных решений задачи Коши был применен для решения различных задач. В таблице представлены некоторые решенные задачи из сборника задач по дифференциальным уравнениям [5] и полученные алгоритмом решения.

тех задачах, где практически ничего неизвестно о решении.

Библиографические ссылки

1. Петровский И. Г. Лекции по теории обыкновенных дифференциальных уравнений / И. Г. Петровский. М. : МГУ, 1984.

2. Самарский А. А. Теория разностных схем. М. : Наука, 1989.

3. Koza J. R. Genetic Programming: On Programming Computer by Means of Natural Selection and Genetics. Cambridge, MA : The MIT Press, 1992.

4. Семенкин E. С., Семенкина О. Э., Коробейников С. П. Оптимизация технических систем : учеб. пособие ; СИБУП. Красноярск, 1996.

5. Филиппов А. Ф. Сборник задач по дифференциальным уравнениям. Москва-Ижевск : НИЦ «Регулярная и хаотическая динамика», 2003.

© Бураков С. В., Семенкин Е. С., 2010

№ Уравнение F() = 0 Начальные условия, интервал Точное решение Полученные алгоритмом решения

1 x*y+(x+1)*y'=0 1.000; [0;3] (x+1)*exp(-1*x) (x+1)*exp(-1*x)

2 x3*(y'-x)-y2=0 0.000078285; [0.01;0.9] x2-x2/(log(x)) (x-x/log(x))*x

3 x*y'-2*y-2*x4=0 2.00; [-1;1] x2+x4 ((x*x)*(x*x)+1)

4 y'+y*tg(x)-sec(x) 1.00; [0;6] sin(x)+cos(x) sin(x)+cos(x)

5 2*x*(x2+y)-y' 4.139327065; [-1.4;1.4] exp(x2)-x2-1 exp(x*x)-(x*x+1)

6 x*y'+(x+1)*y-3*x2*exp(-x) 4.126402996; [-1;5] xy=(x3+1)exp(-x) (1/x+x2)/exp(x)

i Надоели баннеры? Вы всегда можете отключить рекламу.