Суть динамического программирования. Введение в динамическое программирование

Для выбора оптимального решения при выполнении задач программирования иногда требуется перебирать большое количество комбинаций данных, что нагружает память персонального компьютера. К таким методам относится, например, метод программирования «разделяй и властвуй». В данном случае алгоритмом предусмотрено разделение задачи на отдельные мелкие подзадачи. Такой метод применяется только в тех случаях, когда мелкие подзадачи независимы между собой. Для того чтобы избежать выполнения лишней работы в том случае, если подзадачи взаимозависимы, используется метод динамического программирования, предложенный американцем Р.Беллманом в 50-х годах.

Суть метода

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

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

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

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

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

Построение алгоритма задачи

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

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

Применение метода

Динамическое программирование применяется при наличии двух характерных признаков:

  • оптимальность для подзадач;
  • наличие в задаче перекрывающихся подзадач.

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

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

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

Метод динамического программирования, как алгоритмическое выражение достаточно общей теории управления

В изложении существа метода динамического программирования мы опираемся на книгу “Курс теории автоматического управления” (Палю де Ла Барьер: французское издание 1966 г., русское издание - “Машиностроение”, 1973 г.), хотя и не повторяем его изложения. Отдельные положения взяты из упоминавшегося ранее курса “Исследование операций” Ю.П.Зайченко.

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

1. Рассматриваемая задача может быть представлена как N ‑шаговый процесс, описываемый соотношением:

X n + 1 = f(X n , U n , n) , где n - номер одного из множества возможных состояний системы, в которое она переходит по завершенииn -ного шага;X n - вектор состояния системы, принадлежащий упомянутому n -ному множеству; U n - управление, выработанное на шаге n (шаговое управление), переводящее систему из возможного её состояния вn -ном множестве в одно из состояний (n + 1 )‑го множества. Чтобы это представить наглядно, следует обратиться к рис. 8‑1, о котором речь пойдет далее.

2. Структура задачи не должна изменяться при изменении расчетного количества шагов N.

3. Размерность пространства параметров, которыми описывается состояние системы, не должна изменяться в зависимости от количества шагов N.

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

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

5. Критерий оптимального выбора последовательности шаговых управлений U n и соответствующей траектории в пространстве формальных параметров имеет вид:

V = V 0 (X 0 , U 0) + V 1 (X 1 , U 1) + ...+ V N - 1 (X N- 1 , U N - 1) + V N (X N) .

Критерий V принято называть полным выигрышем, а входящие в него слагаемые - шаговыми выигрышами . В задаче требуется найти последовательность шаговых управлений U n и траекторию, которым соответствует максимальный из возможных полных выигрышей . По своему существу полный “выигрыш” V - мера качества управления процессом в целом . Шаговые выигрыши, хотя и входят в меру качества управления процессом в целом, но в общем случае не являются мерами качества управления на соответствующих им шагах, поскольку метод предназначен для оптимизации управления процессом в целом, а эффектные шаговые управления с большим шаговым выигрышем, но лежащее внеоптимальной траектории интереса не представляют. Структура метода не запрещает при необходимости на каждом шаге употреблять критерий определения шагового выигрыша V n , отличный от критериев, принятых на других шагах.

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

Теперь обратимся к рис. 8‑1 - рис. 8‑3, повторяющие взаимно связанные рис. 40, 41, 42 из курса теории автоматического управления П. де Ла Барьера.

На рис. 8‑1 показаны начальное состояние системы «0» и множества её возможных последующих состояний «1», «2», «3», а также возможные переходы из каждого возможного состояния в другие возможные состояния. И всё это вместе похоже на карту настольной детской игры, по которой перемещаются фишки: каждому переходу-шагу соответствует свой шаговый выигрыш, а в завершающем процесс третьем множестве - каждому из состояний системы придана его оценка, помещенная в прямоугольнике. Принципиальное отличие от игры в том, что гадание о выборе пути, употребляемое в детской игре, на основе бросания костей или вращения волчка и т.п., в реальном управлении недопустимо, поскольку это - передача целесообразного управления тем силам, которые способны управлять выпадением костей, вращением волчка и т.п.

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

Рис. 8-1. К существу метода динамического программирования

В соответствии с этим на рис. 8‑2 анализируются возможные переходы в завершающее множество состояний «3» из каждого возможного состояния в ему предшествующем множестве состояний «2», будто бы весь предшествующий путь уже пройден и осталось последним выбором оптимального шагового управления завершить весь процесс. При этом для каждого из состояний в множестве «2» определяются все полные выигрыши как сумма = «оценка перехода» + «оценка завершающего состояния». Во множестве «2» из полученных для каждого из состояний, в нём возможных полных выигрышей, определяется и запоминается максимальный полный выигрыш и соответствующий ему переход (фрагмент траектории). Максимальный полный выигрыш для каждого из состояний во множестве «2» взят в прямоугольную рамку, а соответствующий ему переход отмечен стрелкой. Таких оптимальных переходов из одного состояния в другие, которым соответствует одно и то же значение полного выигрыша, в принципе может оказаться и несколько. В этом случае все они в ме­тоде неразличимы и эквивалентны один другому в смысле по­­строенного критерия оптимально­сти выбора траектории в пространстве параметров, которы­ми описывается система.

Рис. 8-2. К существу метода динамического программирования

После этого мно­жество «2», пред­шествовавшее завер­шающему процесс множеству «3», мож­но рассматривать в качестве завершаю­щего, поскольку из­вестны оценки каждого из его возможных состояний (мак­симальные полные выигрыши) и дальнейшая оптимизация последовательности шаговых управлений и выбор оптимальной траектории могут быть проведены только на ещё не рассмотренных множествах, предшествующих множеству «2» в оптимизируемом процессе (т.е. на множествах «0» и «1»).

Таким образом, процедура, иллюстрируемая рис. 8‑2, работоспособна на каждом алгоритмическом шаге метода при переходах из n -го в (n - 1) -е множество, начиная с завершающего N ‑ного множества до начального состояния системы.

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

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

Рис. 8-3. К существу метода динамического программирования

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

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

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

2). Если прогностика в согласии с иерархически высшим объемлющим управлением, а частное вложенное в объемлющее управление осуществляется квалифицировано, в силу чего процесс частного управления протекает в ладу с иерархически высшим объемлющим управлением, то НЕ СУЩЕСТВУЕТ УПРАВЛЕНЧЕСКИ ЗНАЧИМОЙ РАЗНИЦЫ МЕЖДУ РЕАЛЬНЫМ НАСТОЯЩИМ И ИЗБРАННЫМ БУДУЩИМ. Процесс целостен, по какой причине еще не свершившееся, но уже нравственно избранное и объективно не запрещенное Свыше будущее, в свершившемся настоящем защищает тех, кто его творит на всех уровнях: начиная от защиты психики от наваждений до защиты от целенаправленной “физической” агрессии. То есть, если матрица возможных состояний (она же матрица возможных переходов) избрана в ладу с иерархически высшим объемлющим управлением, то она сама - защита и оружие, средство управления, на которое замкнуты все шесть приоритетов средств обобщенного оружия и управления.

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

Но для пользования методом динамического программирования и сопутствующими его освоению неформализованными в алгоритме жизненными проявлениями матриц перехода , необходимо СОБЛЮДЕНИЕ ГЛАВНОГО из условий:

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

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

«Каково бы ни было состояние системы перед очередным шагом, надо выбирать управление на этом шаге так, чтобы выигрыш на данном шаге плюс оптимальный выигрыш на всех последующих шагах был максимальным.» - Е.С.Вентцель, “Исследование операций. Задачи, принципы, методология.”, М., “Наука”, 1988 г., с. 109.

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

Это тем более справедливо для последовательных многовариантных шаговых переходов, если матрица возможных состояний вписывается в пословицу «Все дороги ведут в “Рим”», а которые не ведут в “Рим”, - ведут в небытие . Для такого рода процессов, если избрана устойчивая во времени цель и к ней ведут множество траекторий, то при устойчивом пошаговом управлении “расстояние” между оптимальными траекториями, идущими к одной и той же цели из различных исходных состояний, от шага к шагу сокращается, вплоть до полного совпадения оптимальных траекторий, начиная с некоторого шага. Это утверждение тем более справедливо, чем более определённо положение завершающего процесс вектора целей в пространстве параметров. По аналогии с математикой это можно назвать асимптотическим множеством траекторий: асимптотичность множества траекторий выражается в том, что «все дороги ведут в “Рим”...»

И в более общем случае, рекомендации Нового Завета и Корана утверждают возможность обретения благодати, милости Вседержителя вне зависимости от начального состояния (греховности человека) в тот момент, когда он очнулся и увидел свои дела такими, каковы они есть.

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

То есть методдинамического программирования, необходимостью как определенности в выборе конечного состояния-процесса, так и выявления истинного начального состояния, сам собой защищен от применения его для наукообразной имитации оптимизации управления при отсутствии такового. Это отличает метод динамического программирования, в частности от аппарата линейного программирования, в который можно сгрузить экспромтные оценки “экспертами” весовых коэффициентов в критериях оптимизации Min (Z) либоMax (Z) .

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

Примерами тому “Математическая экономика на персональном компьютере” под ред. М.Кубонива, в которой глава об управлении в экономике содержит исключительно макроэкономические интерпретации аппарата линейного программирования (прямо так и названа “Управление в экономике. Линейное программирование и его применение”), но ничего не говорит о векторе целей управления и средствах управления; в ранее цитированном учебнике Ю.П.Зай­че­н­ко описание метода динамического программирования, так же построено на задачах иного характера.

Однако при мотивации отказа от макроэкономических интерпретаций метода динамического программирования авторы обычно ссылаются на так называемое в вычислительной математике «про­кля­тие размерности», которое выражается в том, что рост размерности пространства параметров задачи N вызывает рост объема вычислений, пропорциональный N k , где показатель степени k > 1 . Такой нелинейный сверхпропорциональный рост объема вычислений действительно делает многие вычислительные работоспособные процедуры никчемными в решении практических задач как из-за больших затрат машинного времени компьютеров, так и из-за накопления ошибок в приближенных вычислениях. Но это «проклятие размерности» относится не только к методу динамического программирования, но и к другим методам, которые, однако, встречаются и в их макроэкономических интерпретациях.

ВАЖНО ОБРАТИТЬ ВНИМАНИЕ И ПОНЯТЬ: Если в математике видеть науку об объективной общевселенской мере (через “ять”), а в её понятийном, терминологическом аппарате и символике видеть одно из предоставленных людям средств описания объективных частных процессов, выделяемых ими из некоторых объемлющих процессов, то всякое описание метода динамического программирования есть краткое изложение всей ранее изложенной достаточно общей теории управления, включая и её мистико-религи­оз­ные аспекты; но - на языке математики.

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

На нём показаны два объекта управления «А» и «Б» в начальном состоянии; три объективно возможных завершающих состояния (множество «5»); множества («1» - «4») промежуточных возможных состояний; и пути объективно возможных переходов из каждого состояния в иные.

Рис. 9 можно уподобить некоторому фрагменту общевселенской меры развития (многовариантного предопределения) - одной из составляющих в триединстве «материя-информация-мера».

Если принять такое уподобление рис. 9, то объективно возможен переход из любого начального состояния «0:1» или «0:2» в любое из завершающих состояний «5:1», «5:2», «5:3». Но эта объективная возможность может быть ограничена субъективными качествами управленцев, намеревающихся перевести объекты «А» и «Б» из начального состояния в одно из завершающих состояний.

Если дано свыше Различение, то управленец «А» (или «Б») снимет с объективной меры “кальку”, на которой будет виден хотя бы один из множества возможных путей перевода объекта из начального состояния во множество завершающих. Если Различение не дано, утрачено или отвергнуто в погоне за вожделениями, или бездумной верой в какую-либо традицию, но не Богу по совести, то на “кальке” будут отсутствовать какие-то пути и состояния, но могут “появиться” объективно невозможные пути и состояния, объективно не существующие в истинной Богом данной мере. Кроме того по субъективному произволу управленца выбирается и желанное определенное завершающее состояние из их множества. Соответственно следование отсебятине или ошибка в выборе предпочтительного завершающего состояния может завершиться катастрофой с необратимыми последствиями.

Рис. 9. Динамическое программирование, Различение и достаточно общая теория управления

Но матрица возможных состояний, показанная на рис. 9, вероятностно предопределяет только частный процесс в некой взаимной вложенности процессов.

По этой причине каждое из начальных состояний «0:1», «0:2» может принадлежать либо одному и тому же, либо различным объемлющим процессам, в управленческом смысле иерархически высшим по отношению к рассматриваемому; то же касается и каждого из завершающих состояний «5:1», «5:2», «5:3» в паре «исходное - завершающее» состояния. Каждый из объемлющих процессов обладает их собственными характеристиками и направленностью течения событий в нём.

Может оказаться, что цель «5:1» очень привлекательна, если смотреть на неё из множества начальных неудовлетворительных состояний. Но не исключено, что объемлющий процесс, к которому завершающее состояние «5:1» принадлежит, как промежуточное состояние, в силу взаимной вложенности процессов, на одном из последующих шагов завершается полной и необратимой катастрофой. Например, цель «5:1» - не опоздать на “Титаник”, выходящий в свой первый рейс, ... ставший трагическим и последним. Чтобы не выбирать такую цель из множества объективно возможных, необходимо быть в ладу с иерархически наивысшим объемлющим управлением, которое удержит частное ладное с ним управление от выбора такой цели, принадлежащей к обреченному на исчезновение процессу.

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

Это один из случаев неопределенности и дефективности вектора целей, делающий метод динамического программирования неработоспособным, а реальный процесс “управления” неустойчивым, поскольку одна и та же “лодка” не может пристать и к правому, и к левому берегу одновременно, даже если привлекательные красоты на обоих берегах реки, при взгляде издали из-за поворота реки совмещаются, создавая видимость подходящего для пикника весьма уютного места. Чтобы не выбрать такого вектора целей, также необходимо, чтобы Свыше было дано Различение правого и левого “бере­гов” потока бытия.

То есть алгоритму динамического программирования, даже если его можно запустить, сопутствует еще одно внешнее обстоятельство, которое тоже очевидно, “само собой” разумеется, но в большинстве случаев игнорируется: завершающее частный оптимизируемый процесс состояние должно принадлежать объемлющему процессу, обладающему заведомо приемлемыми собственными характеристиками течения событий в нём.

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

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

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

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

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

Поэтому после принятия концепции к исполнению необходимо придерживаться концептуальной дисциплины и взращивать концептуальную дисциплину. То есть необходимо поддерживать достаточно высокое качество управления на каждом шаге всеми средствами, чтобы не оказаться к началу следующего шага в положении, из которого в соответствии с избранной концепцией управления перевод объекта в избранное завершающее состояние невозможен. Этот случай - уклонение с избранного пути «2:2» -> «3:3» показан: дуга «2:2» -> «3:1» - необратимый срыв управления, после которого невозможен переход в состояние «5:3»; дуга «2:2» -> «3:2» - обратимый срыв управления, в том смысле что требуется корректирование концепции, исходя из состояния «3:2», рассматриваемого в качестве начального.

Если на рис. 9 объективной иерархически высшей мере качества состояний, в которых могут находиться объекты субъектов-управленцев «А» и «Б», соответствует шкала качества возможных состояний «I », то для их блага целесообразен переход из множества состояний «0» в состояние «5:3». Но выбор ими направленности шкалы оценки качества состояний нравственно обусловлен и субъективен: либо как показано на рис. 9 «I », либо в противоположном «I » направлении.

Если на рис. 9 возможные состояния сгруппированы во множества «1», «2», «3», «4», «5» по признаку синхронности, то в координатных осях 0ty , при шкале качества состояний «I » расстояние от оси 0t до любой из траекторий - текущая ошибка управления при движении по этой траектории. Площадь между осью 0t и траекторией - интеграл по времени от текущей ошибки. Он может быть использован как критерий-минимум оптимальности процесса управления в целом, т.е. в качестве полного выигрыша, являющегося в методе динамического программирования мерой качества, но не возможных состояний, не шагов-переходов из одного состояния в другое, а всей траектории перехода. Но в общем случае метода шаговые выигрыши могут быть построены и иначе.

Если принят критерий оптимальности типа минимум

R УПР m =< R - (ФУР m - R С)

ΣR i =< k x ЭП, i = 1, ... , n

R УПР m => R min (ЛП-4),

Найти Max(Y), Y = F K T P Б

X KБ (E - A T) P Б - (ФУР m - R С) = R УПР l =< R - (ФУР m - R С)

R УПР m => R min (ЛП-РВ).

Найти Max(Y), Y = F K T P Б

Применение динамического программирования для моделирования процессов принятия решений

1.2 Метод динамического программирования и его основные этапы

В основе метода динамического программирования лежит принцип оптимальности, впервые сформулированный в 1953 г. американским математиком Р. Э. Беллманом: каково бы ни было состояние системы (S) в результате какого-либо числа шагов, на ближайшем шаге нужно выбирать управление так, чтобы оно в совокупности с оптимальным управлением на всех последующих шагах приводило к оптимальному выигрышу на всех оставшихся шагах, включая выигрыш на данном шаге. При решении задачи на каждом шаге выбирается управление, которое должно привести к оптимальному выигрышу. Если считать все шаги независимыми, тогда оптимальным управлением будет то управление, которое обеспечит максимальный выигрыш именно на данном шаге.

Метод динамического программирования включает три основных этапа:

Предварительный этап.

Этап условной оптимизации.

Этап безусловной оптимизации.

Предварительный этап проводится с целью уменьшения вычислительной работы на последующем этапе решения и, по существу, заключается в нахождении всех допустимых значение управлений и фазовых переменных. Иными словами, на данном этапе отбрасываются все заведомо неподходящие, нереализуемые значения фазовых и управляющих переменных. Проводится предварительный этап в естественном порядке от первого шага к последнему: i = 1, 2, … , N, а опираются соответствующие расчеты на уровне процесса

Этап условной оптимизации. На данном этапе решения задачи, называемом условной оптимизацией, определяются функция Беллмана и оптимальные управления для всех возможных состояний на каждом шаге, начиная с последнего в соответствии с алгоритмом обратной прогонки. На последнем, n-м шаге, оптимальное управление - определяется функцией Беллмана (1.1):

Этот максимум (или минимум) определяется по всем возможным для k и S значениям переменной управления X.

Безусловная оптимизация. После того, как функция Беллмана и соответствующие оптимальные управления найдены для всех шагов с n-го по первый, осуществляется третий этап решения задачи, называемый безусловной оптимизацией. Пользуясь тем, что на первом шаге (k = 1) состояние системы известно - это ее начальное состояние, можно найти оптимальный результат за все n шагов и оптимальное управление на первом шаге которое этот результат доставляет. После применения этого управления система перейдет в другое состояние, зная которое, можно, пользуясь результатами условной оптимизации, найти оптимальное управление на втором шаге, и так далее до последнего n-го шага. Вычислительную схему динамического программирования можно строить на сетевых моделях, а также по алгоритмам прямой прогонки (от начала) и обратной прогонки (от конца к началу).

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

Таблица 1.1

Порядок расчетов в методе динамического программирования

Виды математических моделей, используемых в экономике

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

Динамическое программирование

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

Использование метода динамического программирования для решения экономических задач

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

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

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

Классификация экономико-математических методов и моделей

Рассматривается управляемая система, которая под влиянием управления переходит из начального состояния в конечное состояние. Предположим, что процесс управления системой можно разбить на n шагов. Пусть - состояния системы после 1-го, 2-го, …...

Планирование производства и управления инвестиционными ресурсами

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

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

Применение динамического программирования для моделирования процессов принятия решений

Применение динамического программирования для моделирования процессов принятия решений

Распределение инвестиций между предприятиями: "Малышок", "Ронда", "Товиус", "Сластёна", "Читек"

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

Распределение средств между предприятиями: ОАО "Весёлый молочник", ОАО "Нижнекамская пищевая компания", ООО "Сэлдом", ООО "СтойКом", ОАО "Счастье"

Динамическое программирование (ДП) - метод оптимизации, приспособленный к операциям, в которых процесс принятия решения может быть разбит на этапы (шаги). Такие операции называются многошаговыми. Начало развития ДП относится к 50-м годам XX в...

Трендовые и корреляционные модели

Делим динамический ряд 1 на количество частей, равное количеству неизвестных коэффициентов выравнивающей функции...

Экономические модели зависимости величины активов, подверженных кредитному риску, от пассивов, прибыли (убытков), ВВП

На первом этапе необходимо построить уравнение парной линейной регрессии. Эмпирическое уравнение парной линейной регрессии имеет следующий вид: (1) где Y - объясняемая переменная, X - объясняющая переменная, е - случайная величина (ошибка)...

Достаточно общая теория управления СССР Внутренний Предиктор

14. Метод динамического программирования как алгоритмическое выражение достаточно общей теории управления

В изложении существа метода динамического программирования мы опираемся на книгу “Курс теории автоматического управления” (автор Палю де Ла Барьер: французское издание 1966 г., русское издание - “Машиностроение”, 1973 г.), хотя и не повторяем его изложения. Отдельные положения взяты из курса “Исследование операций” Ю.П.Зайченко (Киев, “Вища школа”, 1979 г.).

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

1. Рассматриваемая задача может быть представлена как N -шаговый процесс, описываемый соотношением:

X = f(X U , n) , где n - номер одного из множества возможных состояний системы, в которое она переходит по завершении n -ного шага; X - вектор состояния системы, принадлежащий упомянутому n -ному множеству; U - управление, выработанное на шаге n (шаговое управление), переводящее систему из возможного её состояния в n -ном множестве в одно из состояний (n + 1 )-го множества. Чтобы это представить наглядно, следует обратиться к рис. 4, о котором речь пойдет далее.

2. Структура задачи не должна изменяться при изменении расчетного количества шагов N.

3. Размерность пространства параметров, которыми описывается состояние системы, не должна изменяться в зависимости от количества шагов N.

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

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

5. Критерий оптимального выбора последовательности шаговых управлений U и соответствующей траектории в пространстве формальных параметров имеет вид:

V = V (X , U) + V (X , U) + + V (X , U) + V (X).

Критерий V принято называть полным выигрышем, а входящие в него слагаемые - шаговыми выигрышами . В задаче требуется найти последовательность шаговых управлений U и траекторию, которым соответствует максимальный из возможных полных выигрышей . По своему существу полный “выигрыш” V - мера качества управления процессом в целом . Шаговые выигрыши, хотя и входят в меру качества управления процессом в целом, но в общем случае не являются мерами качества управления на соответствующих им шагах, поскольку метод предназначен для оптимизации управления процессом в целом, а эффектные шаговые управления с большим шаговым выигрышем, но лежащие вне оптимальной траектории, интереса не представляют. Структура метода не запрещает при необходимости на каждом шаге употреблять критерий определения шагового выигрыша V , отличный от критериев, принятых на других шагах.

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

Теперь обратимся к рис. 4 - рис. 6, повторяющим взаимно связанные рис. 40, 41, 42 из курса теории автоматического управления П. де Ла Барьера.

Рис. 4. К существу метода динамического программирования. Матрица возможностей.

На рис. 4 показаны начальное состояние системы - «0» и множества её возможных последующих состояний - «1», «2», «3», а также возможные переходы из каждого возможного состояния в другие возможные состояния. Всё это вместе похоже на карту настольной детской игры, по которой перемещаются фишки: каждому переходу-шагу соответствует свой шаговый выигрыш, а в завершающем процесс третьем множестве - каждому из состояний системы придана его оценка, помещенная в прямоугольнике. Принципиальное отличие от игры в том, что гадание о выборе пути, употребляемое в детской игре, на основе бросания костей или вращения волчка и т.п., в реальном управлении недопустимо, поскольку это - передача целесообразного управления тем силам, которые способны управлять выпадением костей, вращением волчка и т.п., т.е. тем, для кого избранный в игре «генератор случайностей» - достаточно (по отношению к их целям) управляемое устройство.

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

Рис. 5. К существу метода динамического программирования. Анализ переходов.

В соответствии с этим на рис. 5 анализируются возможные переходы в завершающее множество состояний «3» из каждого возможного состояния в ему предшествующем множестве состояний «2», будто бы весь предшествующий путь уже пройден и осталось последним выбором оптимального шагового управления завершить весь процесс. При этом для каждого из состояний во множестве «2» определяются все полные выигрыши как сумма = «оценка перехода» + «оценка завершающего состояния». Во множестве «2» из полученных для каждого из состояний, в нём возможных полных выигрышей, определяется и запоминается максимальный полный выигрыш и соответствующий ему переход (фрагмент траектории). Максимальный полный выигрыш для каждого из состояний во множестве «2» взят в прямоугольную рамку, а соответствующий ему переход отмечен стрелкой. Таких оптимальных переходов из одного состояния в другие, которым соответствует одно и то же значение полного выигрыша, в принципе может оказаться и несколько. В этом случае все они в методе неразличимы и эквивалентны один другому в смысле построенного критерия оптимальности выбора траектории в пространстве параметров, которыми описывается система.

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

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

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

Рис. 6. К существу метода динамического программирования. Оптимальная траектория.

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

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

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

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

2. Если прогностика в согласии с иерархически высшим объемлющим управлением, а частное вложенное в объемлющее управление осуществляется квалифицировано, в силу чего процесс частного управления протекает в ладу с иерархически высшим объемлющим управлением, то НЕ СУЩЕСТВУЕТ УПРАВЛЕНЧЕСКИ ЗНАЧИМОЙ РАЗНИЦЫ МЕЖДУ .

Процесс целостен, по какой причине ещё не свершившееся, но уже нравственно избранное и объективно не запрещённое Свыше будущее, в свершившемся настоящем защищает тех, кто его творит на всех уровнях: начиная от защиты психики от наваждений до защиты от целенаправленной “физической” агрессии. То есть, если матрица возможных состояний (она же матрица возможных переходов) избрана в ладу с иерархически высшим объемлющим управлением, то она сама - защита и оружие, средство управления, на которое замкнуты все шесть приоритетов средств обобщённого оружия и управления.

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

Но для пользования методом динамического программирования и сопутствующими его освоению неформализованными в алгоритме жизненными проявлениями матриц перехода , необходимо СОБЛЮДЕНИЕ ГЛАВНОГО из условий:

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

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

«Каково бы ни было состояние системы перед очередным шагом, надо выбирать управление на этом шаге так, чтобы выигрыш на данном шаге плюс оптимальный выигрыш на всех последующих шагах был максимальным», - Е.С.Вентцель, “Исследование операций. Задачи, принципы, методология.” (М., “Наука”, 1988 г., стр. 109).

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

Это тем более справедливо для последовательных многовариантных шаговых переходов, если матрица возможных состояний вписывается в пословицу «Все дороги ведут в “Рим”», . Для такого рода процессов, если избрана устойчивая во времени цель и к ней ведут множество траекторий, то при устойчивом пошаговом управлении “расстояние” между оптимальными траекториями, идущими к одной и той же цели из различных исходных состояний, от шага к шагу сокращается, вплоть до полного совпадения оптимальных траекторий, начиная с некоторого шага. Это утверждение тем более справедливо, чем более определённо положение завершающего процесс вектора целей в пространстве параметров. По аналогии с математикой это можно назвать : асимптотичность множества траекторий выражается в том, что «все дороги ведут в “Рим”…»

И в более общем случае, рекомендации Нового Завета и Корана утверждают возможность обретения благодати, милости Вседержителя вне зависимости от начального состояния (греховности человека) в тот момент, когда он очнулся и увидел свои дела такими, каковы они есть.

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

То есть метод динамического программирования, необходимостью как определённости в выборе конечного состояния-процесса, так и выявления истинного начального состояния, сам собой защищён от применения его для наукообразной имитации оптимизации управления при отсутствии такового. Это отличает метод динамического программирования, в частности от аппарата линейного программирования , в который можно сгрузить экспромтные оценки “экспертами” весовых коэффициентов в критериях оптимизации Min (Z) либо Max (Z) .

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

Примерами тому “Математическая экономика на персональном компьютере” под ред. М.Кубонива , в которой глава об управлении в экономике содержит исключительно макроэкономические интерпретации аппарата линейного программирования (прямо так и названа “Управление в экономике. Линейное программирование и его применение”), но ничего не говорит о векторе целей управления и средствах управления; в ранее цитированном учебнике Ю.П.Зайченко описание метода динамического программирования также построено на задачах иного характера.

Однако при мотивации отказа от макроэкономических интерпретаций метода динамического программирования авторы обычно ссылаются на так называемое в вычислительной математике «проклятие размерности», которое выражается в том, что рост размерности пространства параметров задачи N вызывает рост объема вычислений, пропорциональный N , где показатель степени k» 1. Такой нелинейный сверхпропорциональный рост объема вычислений действительно делает многие вычислительные работоспособные процедуры никчемными в решении практических задач как из-за больших затрат машинного времени компьютеров, так и из-за накопления ошибок в приближённых вычислениях. Но это «проклятие размерности» относится не только к методу динамического программирования, но и к другим методам, которые, однако, встречаются и в их макроэкономических интерпретациях.

Из книги Прозрение автора Ефимов Виктор Алексеевич

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

Из книги Об искоренении глобальной угрозы «международного терроризма» автора СССР Внутренний Предиктор

Отступление от темы 5: Кибернетика и история теории управления На протяжении всей второй половины ХХ века кибернетику представляют обществу в качестве науки об управлении вообще, хотя она - в том виде, в котором её представил публике Н.Винер, - в действительности не

автора СССР Внутренний Предиктор

1. Достаточно общая теория управления: зачем это надо? Всякий разум - индивидуальный или соборный - в иерархии взаимной вложенности структур Мироздания решает прежде всего задачи управления по отношению к иерархически низшим системам и задачи самоуправления в

Из книги 12 тем. Маркетинг 21 века автора Грант Дж

2. Категории достаточно общей теории управления В теории управления возможна постановка всего двух задач.· Первая задача: мы хотим управлять объектом в процессе его функционирования сами непосредственно. Это.· Вторая задача: мы не хотим управлять объектом в процессе

Из книги «О текущем моменте» № 7(79), 2008 г. автора СССР Внутренний Предиктор

Из книги Геннадий Шичко и его метод автора Дроздов Иван

Часть 1. Полная функция управления в толпо-“элитаризме” и в реальном народовластии 1.1. Полная функция управления и первобытная практика её реализации в жизни общества В достаточно общей теории управления (ДОТУ) есть понятие «полная функция управления». Полная функция

Из книги Что нас ждет, когда закончится нефть, изменится климат, и разразятся другие катастрофы автора Кунстлер Джеймс Говард

Из книги Новая опричнина, или Модернизация по-русски автора Калашников Максим

Из книги Что нас ждет, когда закончится нефть, изменится климат и разразятся другие катастрофы XXI века автора Кунстлер Джеймс Говард

Сжатие инновационных циклов – вопрос национального выживания: меморандум Института динамического консерватизма 10 июня 2009 года в Институте динамического консерватизма состоялась экспертная встреча практиков-инноваторов и ученых на тему: «Реальные инновации и их

Из книги Антисемитизм: концептуальная ненависть автора Альтман Илья

Из книги Достаточно общая теория управления автора СССР Внутренний Предиктор

Выражение признательности МАРК ВЕЙЦМАНЭта книга готовилась в честь Симона Визенталя. Поскольку обычно такого рода сборники издаются в честь выдающихся ученых, идея посвятить книгу Симону была чрезвычайно уместна. Не занимая должности научного сотрудника или

Из книги Неужели я гений? автора Венгар Вин

1. Достаточно общая теория управления: зачем это надо? Всякий разум – индивидуальный или соборный – в иерархии взаимной вложенности структур Мироздания решает прежде всего задачи управления по отношению к иерархически низшим системам и задачи самоуправления в

Из книги Куда Кейнс зовет Россию? автора Дзарасов Солтан

2. Категории достаточно общей теории управления В теории управления возможна постановка всего двух задач.· Первая задача: мы хотим управлять объектом в процессе его функционирования сами непосредственно. Это.· Вторая задача: мы не хотим управлять объектом в процессе его

Из книги автора

14. Метод динамического программирования как алгоритмическое выражение достаточно общей теории управления В изложении существа метода динамического программирования мы опираемся на книгу “Курс теории автоматического управления” (автор Палю де Ла Барьер: французское

Из книги автора

Выражение признательности Программа ускоренного обучения «Проект возрождения» главная тема этой книги - начала реализовываться 25 лет назад благодаря усилиям огромного количества людей, пионеров в области изучения человеческого сознания, тех, кто принимал участие в

Из книги автора

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

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

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

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

Решением задачи динамического программирования является определение такого управления , которое переводит систему из состояния в состояние при наибольшем (наименьшем) значении .

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

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

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

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

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

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

Решение задачи динамического программирования получается в результате подстановки конкретного значения в выражение для решения на первом шаге и . Далее определяется состояние первого шага


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

При практической реализации метода динамического программирования на ЭВМ возникает ряд трудностей, связанных, в частности, со способами описания состояния объекта управления. Как правило, рассматривается конечное число состояний объекта управления на каждом шаге. Тем не менее, наибольший интерес представляет случай отыскания оптимального состояния объекта из бесконечного числа возможных состояний, например, методом математического программирования. В доступной литературе такие материалы отсутствуют, кроме того, не имеется сведений о программной реализации метода динамического программирования, хотя потребность в решении таких задач в достаточно велика. Из сказанного следует, что доведение методов динамического программирования до практического использования представляет собой актуальную и важную задачу исследования.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: