Научная статья на тему 'Верификация постановки и решения задачи оптимального управления'

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

CC BY
239
34
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
iPolytech Journal
ВАК
Область наук

Аннотация научной статьи по математике, автор научной работы — Горнов Александр Юрьевич

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

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

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

очевидно в силу того, что величина средней проекция вектора истинности не выходит за границы интервала [ОД]. Это справедливо и для 6с+(а) • 0с- (а). Ясно также, что 9с+(а) • 9с- (а) < 9с+(а) Ф 9с- (а), откуда следует (5),

Теперь разберем случай А. В этом случае определенность рассчитывается по формуле (1), а противоречие по формуле (2). Поскольку все ai е [0, 1], справедливо также, что ai • aj е [0, 1]. Далее, поскольку, согласно формуле (2), цп(а) есть среднее арифметическое значений ai • aj при всех возможных i и j, справедливо, что (дп(а) е [0, 1], т.е. выполняется (4). Отношение (5) вытекает из того, что согласно аксиомам 1)-5) для всех ai здесь справедливо отношение ai < цо(а) = al © а2 Ф ...Ф ап, Тем более справедливо, что для любой пары компонентов ai и aj существует неравенство ai • aj < ¡iO(a). А значит, такое же неравенство выполняется и для среднего арифметического, что доказывает (5)

Мера строгости в VTF-логиках определялась как разность мер определенности и противоречия. Эту точку зрения целесообразно сохранить и здесь. Таким образом, имеем:

|ic(a) = цо(а) - м.п(а).

Пример, случай А. Если | |aj | = <0.1 + ; 0.2-f; 0.3-) и | |b| | = <0+; 1 + ; 1->, то

uc(a) = ио(а) - цп(а) * 0.3 - 0.133 = 0.167, и цс(Ь) = ¡io(b) - цп(Ь) * 1 - 0.333 = 0.667.

Пример, случай Б. Если | |а| | = (0.1 + ; 0.2 + ; 0.3-) и | |b| | = <0 + ; 1 + ; 1->, то

цс(а) = цо(а) - цп(а) = 0.3 - 0.15 = 0.15, и цф) = uo(b) - un(b) = 1 - 0.5 = 0.5.

Наконец, меру достоверности для Vn-логик как в случае А, так и в случае Б будем вычислять по формуле:

ид (а) = 9хар+(а) - 9хар- (а).

Это выражение - обобщение меры достоверности в VTF-логиках: цд(а) = а+ - а-, т.к. в них 9хар+(а) = а+, и 9хар- (а) = а-.

Пример, случай А. Если | |а| | = <0.1 + ; 0.2+; 0.3-) и | |b| | = <0 + ; 1 + ; 1-), то

цд(а) = 0.2 - 0,3 = - 0.1, и ¡ic(b) = 1-1 = 0.

Пример, случай Б. Для векторов | |a¡ | = <0.1 + ; 0.2+; 0.3-) и | |b¡ | = <0+; 1 + ; 1-> получаем:

цо(а) = 0.15 - 0.3 = -0.15, и цо(а) = 0.5 - 1 = - 0,5.

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

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

1. Многозначные логики с векторной семантикой / Аршинокий Л.В.; ВСИ МВД России,- Иркутск, 2003,- 46 с,: Рус- Деп. в ВИНИТИ 13,02.03, № 281-В2003.

2. Перфильева И .Г. Приложения теории нечетких множеств //Итоги науки и техники. Сер, теория вероятностей, Мат. стат. Теор, кибернет. / ВИНИТИ.- 1990,- 29.- С,83-151,

А.Ю.Горнов

Верификация постановки и решения задачи оптимального управления

Введение. Задачи оптимизации динамических систем специалисты относят к разряду сложных задач вычислительной математики. Среди негативных факторов, возникающих при численном исследовании таких задач можно выделить такие, как овражность, жесткость, вырожденность, многоэкстремальность, нефизичность, неуправляемость, NP-трудность. Проявление этих факторов, и особенно их сочетание в конкретных случаях, зачастую делает применение даже развитых специализированных программных средств (пакетов прикладных программ, программных комплексов) совершенно неэффективным. Многие разработчики математических пакетов, осознавая недостаточность функциональных возможностей создаваемых ими программных средств, указывают на этот факт в сопроводительных документах. Гак, в документации к MATLAB-приложению RIOTS, по заявлению авторов, «наилучшего решателя задач оптимального управления» («The Most Powerful Optimal Control Problem Solver»), пакет «распространяется без всяких гарантий производительности и точности» («distributed without any performance or accuracy guarantees»), а от пользователя требуется знание «теории оптимального управления, оптимизации и численных методов аппроксимации». Для повышения

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

«Верификация (от латинского «verus" - истинный и "facio"- делаю) - проверка, эмпирическое подтверждение теоретических положений науки путем сопоставления их с наблюдаемыми объектами, чувственными данными, экспериментом. Принцип верификации (или верифицируемости) - одно из основных понятий логического позитивизма, отрицающего познавательное значение научных утверждений, непосредственно не проверенных опытным путем» [1, стр. 212]. «Верификация - процесс проверки истинности суждений. В более узком смысле - процесс проверки истинности формул специального вида некоторого логико-математического языка» [2, стр. 654].

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

1. Постановка задачи оптимального управления (ЗОУ). В качестве базовой (стандартной, канонической) постановки задачи, воспринимаемой входными языками программных комплексов, обычно рассматривается следующая:

X = / (х(0, "(О, О , t е [/о,*,]

и1 < u(t) < ug ,

/о (и ) = ср 0 ( х (г, )) -» min (ЗОУСК)

I¿(и) = <р j{x{tx)) = (<) 0, j = Г^Г (ЗОУТО)

/ ,(и) = g ;(x(t), и (t), t) < 0, j = т + 1 ,mt . (ЗОУФО)

Здесь t - независимая переменная (чаще всего, время), х (t) - п - вектор фазовых координат, и (/ ) -г - вектор управляющих функций, п - вектор-функция / (х (t), и (t), t) предполагается непрерывно-дифференцируемой по всем аргументам, кроме t , Начальный фазовый вектор = х° задан. Допустимы-

ми будем называть управляющие функции и (t) Е U с: Е г для V t , где U - г - мерный параллелепипед, и I г - вектора параллелепипедных ограничений на управление.

Задача оптимального управления со свободным правым концом траектории (ЗОУСК) состоит в поиске вектор -функции и (t) , удовлетворяющей ограничениям и доставляющей минимум функционалу 10 (и) = 0 ( х (г j )) .В задаче оптимального управления с терминальными ограничениями (ЗОУТО) присутствуют также ограничения вида I¡{и) = <р ,(x(t])) = (<) 0, j = 1,т . В задаче оптимального управления с фазовыми ограничениями (ЗОУФО) к ЗОУТО добавляются также фазовые ограничения типа неравенства I (и) = gj(x(t\ u(t),t) < 0, j = m + l,mt. Все функции (pj{x{tx)), j = 0,m и

g j (x(t), u(t)} t), j = m + I, mt предполагаются непрерывно-дифференцируемыми по всем аргументам.

2. Основные принципы верификации компонентов ЗОУ, Рассмотрим принципы, на которых основываются алгоритмы верификации.

2.1. Принцип Рунге, как и знаменитое семейство методов интегрирования систем дифференциальных уравнений, был предложен более ста лет назад (Runge С. Math. Ann., 1895, Bd. 46, s.167-178), и с тех пор успешно применяется при конструировании алгоритмов решения различных вычислительных задач (интегрирования систем дифференциальных уравнений, вычисления интегралов, численного дифференцирования функций). Основной гипотезой, заложенной в основу принципа Рунге, является малое изменение на шаге дискретизации производной, входящей в оценку остаточного члена. Легко можно построить примеры динамических систем, в которых это правило нарушается, однако на практике это происходит редко.

Предположим, что при использовании метода р -го порядка необходимо добиться абсолютной шаговой погрешности, не превышающей s. Произведя расчет с шагом h, получим х](И), произведя двойной расчет с шагом hl2, получим x2(h/2). Тогда поправка к приближенному значению х\К) (исторически называемая поправкой

Ричардсона) равна К

х\к!2)-х\К) 2Р-1

По размеру поправки можно судить о качестве дискретизации: если

> е , то следует уменьшать шаг, если Щ « £ - увеличивать. Таким образом, принцип Рунге позволяет, не увеличивая порядок применяемого метода интегрирования, за счет примерно трехкратного увеличения числа операций, на порядок увеличить точность результата. Можно утверждать, что принцип Рунге является одним из важнейших конструкционных принципов разработки численных алгоритмов решения задачи Коши.

Имеется конструкционная возможность путем многократного применения принципа Рунге и далее повышать порядок точности алгоритмов. Для задачи численного дифференцирования функции, проведя расчеты с набором шагов А,,^,...,/2 можно применить формулу Ромберга (см., напр., [3]), которая имеет вид

/ОЛ) к лг1 - К4'1

ДхД) Ц Ы+1 ••• К4'1

/ОЛ?) к с ... к +д-2! 1

1 V л/*1 ■■■

1 щ иг ■ ИРЧ~ 2

1 нР ч к+х ■■■ ЪР+Ч-2 Я

+ 0(Ир+сН)

Здесь производная, которая подлежит аппроксимации, /(х,/г,)5 / = - конечно-разностная аппрокси-

мация этой производной на сетке с шагом Ир Н = шах /г)3 / = \,д , Для корректности применения этой формулы, естественно, нужно иметь непрерывные производные достаточно высокого порядка, Порядок точности алгоритмов при таком подходе возрастает на

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

2.3. Принцип проецирования и принцип информирования. Постановка ЗО'У для пакета программ обычно задается в виде файла программной постановки задачи (см., напр., [5]). При этом на пользователя возлагается обязанность корректно отобразить все необходимые компоненты задачи на входной язык пакета. Ошибки в программной постановке задачи часто совершаются даже квалифицированным пользователем и могут носить фатальный и нефатальный характер, Нефатальные ошибки могут быть автоматически исправлены системой (но при этом в постановку задачи вносятся данные, ранее там отсутствовавшие), фатальные ошибки исправить без участия пользователя невозможно. Для исправления нефатальных ошибок - превышение нижней границы паралелепипедных ограничений над верхней, выход начального приближения управляющих воздействий за параллелепипедные ограничения, выход алгоритмических параметров за границы интервалов их определения - применятся принцип проецирования, в соответствии с которым ошибочное значение проецируется на ближайшую к нему границу допустимого интервала его определения. Для преодоления фатальных ошибок (выход размерностей задачи за границы их допустимых интервалов, отсутствие формул для компонентов векторов правых частей системы и ограничений, ошибки открытия рабочих файлов программного комплекса, превышение полномочий пользователя по размерностям задачи) применяется принцип информирования: вычисляются конкретные компоненты, послужившие причиной ошибки, и пользователю выдается соответствующее сообщение.

2.4. Принцип маркировки. Для верификации процедур программной постановки, в которых пользователь задает формульную информацию о задаче, используется принцип маркировки. Массивы, в которые должны помещаться значения векторов вычисляемых с помощью формул, маркируются характеристическим числом (считается, что вероят-

ность совпадения значений компонентов векторов с этим числом пренебрежимо мала). Затем производится обращение к исследуемым процедурам, после чего сопоставляются вычисленное и маркированное значения, В случае отсутствия изменений по какому-либо компоненту вектора диагностируется отсутствие данной формулы. В качестве характеристического используется число 1234.5678Е+13, лежащее вдали от предполагаемых диапазонов используемых вещественных чисел.

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

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

А =

\1{х + к)-[{х)_Г{х) к

, где к - шаг численного дифференцирования, дает хорошую информацию о пра-

вильности аналитических формул при \/'{х)\, не сильно удаленных от 1.

2.6. Принцип возмущений. Типичным примером плохо обусловленной задачи является проблема поиска корней полинома. Пусть требуется найти один или несколько корней многочлена Р„(х) - а0х" + алх"~] + ... + аи_1х + ап<

дР гх\ _ _

Вектор чувствительности решения равный —--= (х",хп~\...,х,\), / = 1,77, при значениях Ы, сильно удаления,.

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

до '{¡¿'шш , где £шш «1(Г12 - машинное эпсилон для чисел с двойной точностью (см., напр., [6]). Например,

корень полинома 8-й степени может быть надежно найден только с точностью 0.03, в большинстве случаев совершенно недостаточной. В случае нелинейных задач подобные проблемы могут быть завуалированы и не видны из формальной постановки задачи.

Для плохо обусловленных ЗОУ основным методом исследования качества решения является принцип возмущений, в соответствии с которым решение продолжается после малого возмущения управляющих воздействий. Не являясь окончательной панацеей от этой серьезной болезни, метод возмущений позволяет диагностировать ситуацию и дать пользователю информацию о свойствах решаемой задачи. Столкнувшись с такой проблемой, очевидно, необходимо применять специальные методы решения некорректных задач (см., напр., [7]).

2.7. Принцип захвата ресурсов. Решение больших задач часто требует планирования памяти ЭВМ для размещения массивов данных. В такой ситуации применяется принцип захвата ресурсов: со структурой массивов, соответствующей размерностям задачи, методом нарастающих проб вычисляется максимальный размер сетки - число точек дискретизации, которые можно разместить в доступной оперативной памяти ЭВМ. После этого производится распределение памяти с выделением ее частей для хранения таблиц дискретизованных данных. Такой подход позволяет верифицировать возможности применяемой ЭВМ при решении конкретной ЗОУ.

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

2.9. Принцип протоколирования. Создание экономной технологии решения задачи, необходимое при многократном (потоковом) решении однотипные ЗОУ, может потребовать анализа вычислительного процесса после его завершения с целью нахождения «узких мест» и отсечения излишних, чрезмерно точных его этапов. Принцип протоколи-

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

3. Алгоритмы верификации компонентов 30Y. На основе рассмотренных выше принципов был реализован набор алгоритмов, ориентированных на решение следующих вспомогательных задач: проверки корректности заданных пользователем данных и формул, проверка соответствия заданных формул для градиентов исходной постановке задачи, настройка метода интегрирования системы путем оценки качества интегрирования и дискретизации, проверка качества полученного решения (постоптимизационный анализ).

3.1. Автоматический контроль постановки задачи.

Контроль постановки задачи осуществляется ревизором программной постановки, состоящим из двух основных алгоритмов: алгоритма ревизии данных и алгоритма ревизии формул,

3.1.1. Алгоритм ревизии данных.

0. Задается NMAX, RMAX,Мшх,МТШХ, LPRP МАХ - максимальное доступные пользователю в данной версии программного комплекса размерности задачи, полагается Flag = 0.

1. Проверяется размерность фазового вектора: если п < 1 или п > NMAX, Flag = 1.

2. Проверяется размерность вектора управлений: если г < 1 или п > RMAX, Flag = 2.

3. Проверяется размерность вектора управлений-параметров: если rt <0 или п> г , Flag — 3 .

4. Проверяется размерность вектора терминальных ограничений: если m < 0 или п > Мшх, Flag = 4.

5. Проверяется размерность вектора терминальных ограничений-равенств: если те < 0 или те > т, Flag = 5.

6. Проверяется размерность вектора фазовых ограничений: если mt < 0 или п> МТМАХ , Flag = 6.

7. Проверяется размерность вектора фазовых ограничений: если Iprp < 0 или Iprp > LPRPMAX , Flag - 7.

8. Проверяется точность выполнения терминальных ограничений: если sT0 <1(Г10, то полагается sT0 =1СГ10, Flag = 8.

9. Проверяется точность выполнения фазовых ограничений: если £ф0 <Ю~10, то полагается s0O=\O-{\Flag = 9.

10. Проверяются границы интервала времени: если tx < tQ + 1(Г6, то полагается tl = /0 +10 6, Flag = 10.

11. Проверяется шаг интегрирования:

если h > 0.25 • (/, -t0), то полагается h = 0.25 • (/, -/0),

если h < 10~6, то полагается h = ]Q~6, Flag = 11.

12. Проверяется допустимый параллелепипед: если ugl <ul.+\0~12, то полагается ugt. = w/; +10"12,

i = l,r, Flag = 12.

13. Проверяется допустимость управления: для каждого t

если ui (t) < ulj, то полагается и, (t) = ,

если ui (t) > ugj, то полагается ut (J) = ugi, i - 1, r, Flag = 13.

14. Если 1 < Flag < 7, то выдается сообщение о фатальной ошибке, иначе выдается сообщение о нефатальной ошибке,

15. При наличии в постановке задачи фатальной ошибки завершается сеанс работы программного комплекса.

16. Если Flag = 0, то выдается сообщение о корректности постановки задачи.

Алгоритм завершен.

3.1.2. Алгоритм ревизии формул.

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

0. Полагается Flag = 0.

1. Проверяются правые части системы:

1.1. Вектор / , I- \,п маркируется характеристическим числом.

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

1.3. Сравниваются текущие значения /•, i-l,n с характеристическим числом.

1.4. При наличии расхождений запоминаются отсутствующие компоненты, Flag = 1.

2. Проверяются терминальные функционалы:

2.1. Вектор фп i-\,m маркируется характеристическим числом.

2.2. Вызывается процедура вычисления терминальных функций, занося результат в массив (р1.

2.3. Сравниваются текущие значения (р., / = 1,т с характеристическим числом.

2.4. При наличии расхождений запоминаются отсутствующие компоненты, Flag = 1,

3. Если в задаче есть фазовые ограничения (mt > 0), проверяются фазовые ограничения:

3.1. Вектор gi, i = \,mt маркируется характеристическим числом,

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

3.3. Сравниваются текущие значения gt, i = 1, mt с характеристическим числом,

3.4. При наличии расхождений запоминаются отсутствующие компоненты, Flag = 1.

4. Если Flag = 1, то выдается сообщение о фатальной ошибке, завершается сеанс работы программного комплекса.

Алгоритм завершен.

3.2. Верификация формул аналитических производных, Алгоритм верификации аналитических формул для производных имеет вид:

0. Задается алгоритмический параметр еу - точность верификации аналитических формул.

1. Задаются формулы производных в программной постановке задачи.

2. Вычисляются с помощью методики маркировки Р1 - признаки наличия формул в процедурах программной постановки задачи.

3. На место недостающих формул монтируются разностные схемы для производных.

4. Интегрируются прямая и сопряженная системы с текущим значением признаков Р1 .

5. Запоминаются значения сопряженных переменных у/ т (tQ).

6. Формируется набор признаков PL , соответствующий отсутствию формул для производных.

7. Интегрируются прямая и сопряженная системы с текущим значением признаков Р( (применяются только разностные схемы),

8. Запоминаются значения сопряженных переменных yfc(t0).

9. Вычисляются оценки погрешности интегрирования:

аК Wt&)-vc\4)\ . г-

А, = -1-j—т----1—L. i =1,и.

l + |vr('o)|

10. Вычисляется Д1' = max А1, , / = \,п.

11. Если А1 < £у - исследуемые формулы полагаются верными, иначе - ошибочными. Алгоритм завершен.

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

3.3.1. Алгоритм подбора метода интегрирования. 0. Задаются алгоритмические параметры:

INT4AX - максимально допустимое число итераций Эйлера,

^¡осint " локальная точность интегрирования на шаге,

KR - коэффициент допустимого изменения функционалов,

ЛШТшх - шаг приращения числа итераций Эйлера,

Asjocmt - шаг приращения локальной точности интегрирования.

1. Интегрируется прямая система с текущими значениями алгоритмических параметров (INTMAX, £locin().

2. Вычисляются cpl(x(t\),prp) и A(p¡ ,Дg' - максимальные нарушения ограничений на текущем управлении.

3. Улучшается алгоритм интегрирования: полагается INTMAX = INTMAX + MNTmax ,

^¡ос int ^loc int

4. Интегрируется прямая система с новыми значениями алгоритмических параметров.

5. Вычисляются у?* {x{tx),prp), A(pN , Agw - новые значения функционалов на текущем управлении.

6. Если A(pN < KR • А(рт, либо Ag'v < KR ■ AgT, либо j(р* - (р\ \ /(1 + |) < 0.01 • KR, то производится переход на шаг 3.

7. Устанавливаются INTMAX и е1осЫ как рабочие значения параметров интегрирования. Алгоритм завершен.

3.3.2. Алгоритм оценки погрешности интегрирования.

0. Задаются алгоритмические параметры:

ШЫАХ - максимально допустимое число итераций Эйлера,

£iос im " локальная точность интегрирования на шаге.

1. Интегрируется прямая система с текущими значениями алгоритмических параметров (1NTMAX, £1осш).

2. Запоминаются значения х1 (z1,).

3. Улучшается интегрирование: полагается ШТшх = INTMAX +20, £hciM = £¡0CiM • 0.01.

4. Интегрируется прямая система с новыми значениями алгоритмических параметров,

5. Запоминаются значения xN(t{) .

6. Вычисляются оценки погрешности интегрирования:

Алгоритм завершен.

3.3.3. Алгоритм оценки погрешности дискретизации.

0. Задаются алгоритмические параметры:

ШТМАХ - максимально допустимое число итераций Эйлера, £}осЫ - локальная точность интегрирования на шаге.

1. Интегрируется прямая система с текущими значениями алгоритмических параметров {ШТМАХ, £,ост[) на текущей сетке дискретизации.

2. Запоминаются значения л:7^).

3. Строится новая сетка дискретизации, в середину каждого интервала старой сетки вставляется новый узел.

4. Проецируется текущее управление на новую сетку, применяется кусочно- линейная аппроксимация для новых

Алгоритм завершен.

3.4. Алгоритм верификации решения (постоптимизационный анализ).

0. Задаются алгоритмические параметры:

£А - точность допустимого изменения функционалов.

1. Решается ЗОУ при заданных значениях алгоритмических параметров.

2. Вычисляются ер] {x(tx\prp) и А(р1 ,Ag' - максимальные нарушения ограничений на текущем управлении.

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

¡xT(o-xN(d

узлов.

5. Интегрируется прямая система на новой сетке с прежними значениями алгоритмических параметров.

6. Запоминаются значения (/,).

7. Вычисляются оценки погрешности дискретизации:

4. Улучшается интегрирование, уточняется сетка дискретизации, увеличиваются точности решения вспомогательных задач.

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

6. Производится малое возмущение управления u{t) = u(t) + 8 u(t).

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

8. Продолжается процесс оптимизации с использованием поисковых методов оптимизации.

9. Вычисляются <Pq (х(Г,), и А(ры,Agh - максимальные нарушения ограничений на новом управлении.

10. Если | (pQ - <pú I /(1 +1 <p" j) < eA, либо IA (ph - Acp11 /(1 + |д (pN |) < sA , либо IAgh - AgT j /(1 + |Ag'v |) < 8 A, то производится переход на шаг 4.

11. Записывается текущее u(t) как приближенно оптимальное решение ЗОУ.

Алгоритм завершен.

Заключение. Можно утверждать, что верификация компонентов ЗОУ - один из важнейших вспомогательных методов создания надежных вычислительных технологий оптимизации динамических систем. Рассмотренные алгоритмы были включены в состав функционального наполнения нескольких программных средств (пакет прикладных программ МАПР, комплекс программ OPTCON-I, вычислительный сервер OPTCON-I!, комплекс программ OPTCON-III) и успешно использованы при решении прикладных задач из областей динамики полета, космонавигации, электроэнергетики, робототехники, экономики, экологии и других.

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

1. Советский энциклопедический словарь под ред, А,М.Прохорова. - М„ 1981.

2. Математическая энциклопедия, - М,: Советская энциклопедия, 1977. - Т. 1.

3. Турчак ЛМ„ Плотников П.8. Основы численных методов, - М.: Физматлит, 2002. - 304 с.

4. Хайрер Э., Нерсен С., Ваннер Г. Решение обыкновенных дифференциальных уравнений. Нежесткие задачи. - М.: Мир, 1990. - 512 с.

5. Горнов А.Ю., Диваков А.О, Комплекс программ OPTCON для решения задач оптимального управления, Руководство пользователя. - Иркутск, ИрВЦ СО РАН, 1990. - С. 1-36.

6. Форсайт Дж„ Малькольм М., Моулер К. Машинные методы математических вычисление. - М.: Мир, 1980. - 279 с.

7. Тихонов А,Н„ Арсенин В.Я, Методы решения некорректных задач. - М.: Наука, 1979, - 288 с.

А.Н.Дойников, В.С.Кедрин, М.К.Сальникова

Методика синтеза математических моделей рядов макроэкономических показателей на основе алгоритмов сингулярного разложения

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

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

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

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