Краткий курс... - Внутренний Предиктор СССР (ВП СССР) Предиктор (книга регистрации .txt) 📗
По отношению к макроэкономической системе её “скоростные” параметры, прежде всего, определяются энергопотенциалом. Поэтому в макроэкономических интерпретациях задача «наведения оружия на цель» предстает как задача о темпах роста энергопотенциала и его разпределении: 1) на производство демографически обусловленного спектра потребностей и 2) на развитие и поддержание производственной базы всех отраслей.
Математически такое решение может быть получено, в частности, на основе алгоритмов, реализующих метод динамического программирования (он может изпользоваться и для решения задач линейного программирования). Обстоятельное его изложение и конкретные алгоритмические модели решения тех или иных прикладных задач можно найти в специальной литературе. Здесь же мы опишем его структуру и затронем некоторые с ним связанные мировоззренческие вопросы.
Алгоритм метода динамического программирования осуществляет формализованный выбор оптимальной в некотором смысле траектории в n-мерном пространстве. Термин «динамическое программирование», также как и термин «линейное программирование», о котором речь шла ранее, — прижившиеся в Русском языке подстрочники, мало что говорящие о существе самих методов выбора математически формализованных наилучших вариантов решения практических задач управления, планирования, проектирования.
Аппарат динамического программирования позволяет решать задачи многопараметрической оптимизации в тех случаях, когда в силу разного рода объективно-математических причин (дискретность ограничений, нелинейности математической модели, нарушение свойства выпуклости и т.п.) стандартные алгоритмы решения задач линейного программирования неработоспособны.
Вполне понятно, что метод динамического программирования, как и прочие математические методы оптимизации, не изучался и не изучается в большинстве вузовских курсов СССР и России на специальностях, в которых владение им придаёт квалификации специалистов КАЧЕСТВЕННО более высокий уровень. Тем более в литературе не обсуждаются и философско-мировоззренческие аспекты нашедшие в нём своё алгоритмическое выражение.
В изложении существа метода динамического программирования мы опираемся на книгу “Курс теории автоматического управления” (Палю де Ла Барьер: французское издание 1966 г., русское издание — “Машиностроение”, 1973 г.), хотя и не повторяем его изложения. Отдельные положения взяты из ранее упоминавшегося курса “Изследование операций” Ю.П.Зайченко (Киев, “Вища школа”, 1979) [43].
Метод динамического программирования работоспособен, если формальная интерпретация реальной задачи позволяет выполнить следующие условия:
1. Разсматриваемая задача может быть представлена как N‑шаговый процесс, описываемый соотношением:
Xn + 1 = f(Xn , Un , n), где n — номер одного из множества возможных состояний системы, в которое она переходит по завершенииn-ного шага;Xn — вектор состояния системы, принадлежащий упомянутому n-ному множеству; Un — управление, выработанное на шаге n (шаговое управление), переводящее систему из возможного её состояния вn-ном множестве в одно из состояний (n + 1)‑го множества. Чтобы это представить наглядно, следует обратиться к рис. 6, 7, 8, о которых речь пойдет далее.
2. Структура задачи не должна изменяться при изменении расчётного количества шагов N.
3. Размерность пространства параметров, которыми описывается состояние системы, не должна изменяться в зависимости от количества шагов N.
4. Выбор управления на любом из шагов не должен отрицать выбора управления на предыдущих шагах. Иными словами оптимальный выбор управления в любом из возможных состояний должен определяться параметрами разсматриваемого состояния, а не параметрами процесса, в ходе которого система пришла в разсматриваемое состояние.
Чисто формально, если одному состоянию соответствуют разные предистории его возникновения, влияющие на последующий выбор оптимального управления, то метод позволяет включить описания предисторий в вектор состояния, что ведёт к увеличению размерности вектора состояния системы. После этой операции, то, что до неё описывалось как одно состояние, становится множеством состояний, отличающихся одно от других компонентами вектора состояния, описывающими предисторию процесса.
5. Критерий оптимального выбора последовательности шаговых управлений Un и соответствующей траектории в пространстве формальных параметров имеет вид:
V = V0 (X0 , U0) + V1 (X1 , U1) + ...+ VN - 1 (XN- 1 , UN - 1) + VN (XN) .
Критерий V принято называть полным выигрышем, а входящие в него слагаемые — шаговыми выигрышами. В задаче требуется найти последовательность шаговых управлений Un и траекторию, которым соответствует максимальный из возможных полных выигрышей. По своему существу полный “выигрыш” V — мера качества управления процессом в целом. Шаговые выигрыши, хотя и входят в меру качества управления процессом в целом, но в общем случае не являются мерами качества управления на соответствующих им шагах, поскольку метод предназначен для оптимизации управления процессом в целом, а эффектные шаговые управления с большим шаговым выигрышем, но лежащее внеоптимальной траектории интереса не представляют. Структура метода не запрещает при необходимости на каждом шаге употреблять критерий определения шагового выигрыша Vn , отличный от критериев, принятых на других шагах.
С индексом n — указателем-определителем множеств возможных векторов состояния — в реальных задачах может быть связан некий изменяющийся параметр, например: время, пройденный путь, уровень мощности, мера расходования некоего ресурса и т.п. То есть метод применим не только для оптимизации управления процессами, длящимися во времени, но и к задачам оптимизации многовариантного одномоментного или нечувствительного ко времени решения, если такого рода “безвременные”, “непроцессные” задачи допускают их многошаговую интерпретацию.
Теперь обратимся к рис. 6 — рис. 8, повторяющим взаимно связанные рис. 40, 41, 42 из курса теории автоматического управления П. де Ла Барьера.
На рис. 6 показаны начальное состояние системы «0» и множества её возможных последующих состояний «1», «2», «3», а также возможные переходы из каждого возможного состояния в другие возможные состояния.
И всё это вместе похоже на карту настольной детской игры, по которой перемещаются фишки: каждому переходу-шагу соответствует свой шаговый выигрыш, а в завершающем процесс третьем множестве — каждому из состояний системы придана его оценка, помещенная в прямоугольнике. Принципиальное отличие от игры в том, что гадание о выборе пути, употребляемое в детской игре, на основе бросания костей или вращения волчка и т.п., в реальном управлении недопустимо, поскольку это — передача целесообразного управления тем силам, которые способны управлять выпадением костей, вращением волчка и т.п.
Если выбирать оптимальное управление на первом шаге, то необходимо предвидеть все его последствия на последующих шагах. Поэтому описание алгоритма метода динамического программирования часто начинают с описания выбора управления на последнем шаге, ведущем в одно из завершающих процесс состояний. При этом ссылаются на «педагогическую практику», которая свидетельствует, что аргументация при описании алгоритма от завершающего состояния к начальному состоянию легче возпринимается, поскольку опирается на как бы уже сложившиеся к началу разсматриваемого шага условия, в то время как возможные завершения процесса также определены.