| 10.14489/vkit.2020.08.pp.003-011 |
|
DOI: 10.14489/vkit.2020.08.pp.003-011 Карпов Д. А., Струченков В. И. Аннотация. Проанализирована проблема повышения быстродействия алгоритмов динамического программирования при решении прикладных задач большой размерности. Динамическое программирование рассмотрено как методология, которая позволяет с единых теоретических позиций разрабатывать алгоритмы решения задач, допускающих формализацию в виде многоэтапных (многошаговых) процессов. Показано, что традиционные алгоритмы динамического программирования, основанные на предварительном задании регулярной сетки состояний, малоэффективны, особенно, если параметры, определяющие состояния, не являются целочисленными. Рассмотрены задачи, при решении которых целесообразно строить множества состояний в процессе счета, переходя от одного этапа к другому. Сформулированы дополнительные условия, которым должна удовлетворять задача, чтобы в множества состояний на каждом шаге не попадали заведомо бесперспективные состояния. Приведены примеры прикладных задач, которые более эффективно решаются предлагаемым алгоритмом с отбраковкой состояний. Применительо к двухпараметрическим задачам на конкретных примерах продемонстрирована эффективность алгоритма с отбраковкой состояний по сравнению с традиционными алгоритмами, особенно с повышением размерности задачи. Рассмотрена прикладная задача, при решении которой динамическое программирование используется для построения рекуррентных формул расчета оптимального решения без перебора вариантов вообще. Ключевые слова: динамическое программирование; оптимальная траектория (путь); состояние системы; принцип оптимальности; множества Парето.
Karpov D. A., Struchenkov V. I. Abstract. This article is devoted to the analysis of the possibilities of increasing the speed of dynamic programming algorithms in solving applied problems of large dimension. Dynamic programming is considered rather than as an optimization method, but as a methodology that allows developing, from a single theoretical point of view, algorithms for solving problems that can be formalized in the form of multi-stage (multi-step) processes in which similar tasks are solved at all steps. It is shown that traditional dynamic programming algorithms based on preliminary setting of a regular grid of states are ineffective, especially if the parameters defining the states are not integer. The problems are considered, in the solution of which it is advisable to build a set of states in the process of counting, moving from one stage to another. Additional conditions are formulated that must be satisfied by the problem so that deliberately hopeless states do not fall into sets of states at each step. This ensures the rejection of not only the paths leading to each of the states, as in traditional dynamic programming algorithms, but also the unpromising states themselves, which greatly increases the efficiency of dynamic programming. Examples of applied problems are given, for the solution of which traditional dynamic programming algorithms were previously proposed, but which can be more efficiently solved by the proposed algorithm with state rejection. As applied to two-parameter problems, the concrete examples demonstrate the effectiveness of the algorithm with rejecting states in comparison with traditional algorithms, especially with increasing the dimension of the problem. An applied problem is considered, in the solution of which dynamic programming is used to construct recurrent formulas for calculating the optimal solution without enumerating options at all. Keywords: Dynamic programming; Optimal trajectory (path); System state; Optimality principle; Pareto sets.
РусД. А. Карпов, В. И. Струченков (МИРЭА – Российский технологический университет, Москва, Россия) E-mail: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript EngD. A. Karpov, V. I. Struchenkov (MIREA – Russian Technological University, Moscow, Russia) E-mail: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
Рус1. Беллман Р. Динамическое программирование. М.: Изд-во иностр. литературы, 1960. 400 с. Eng1. Bellman R. (1960). Dynamic programming. Moscow: Izdatel'stvo inostrannoy literatury. [in Russian language]
РусСтатью можно приобрести в электронном виде (PDF формат). DOI: 10.14489/vkit.2020.08.pp.003-011 Скопируйте DOI статьи и перейдите по ссылке https://id-spektr.ru/product/pokupka-elektronnoy-stati-iz-zhurnala-vestnik-kompyuternyh-i-informatsionnyh-tehnologiy В комментарии к заказу обязательно укажите DOI статьи. .
EngThis article is available in electronic format (PDF). DOI: 10.14489/vkit.2020.08.pp.003-011 Copy the article DOI and follow the link https://id-spektr.ru/product/pokupka-elektronnoy-stati-iz-zhurnala-vestnik-kompyuternyh-i-informatsionnyh-tehnologiy Please specify the article DOI in the order comments.
.
|
Archive
Разработка концепции и создание сайта - ООО «Издательский дом «СПЕКТР»