Для связи в whatsapp +905441085890

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

Динамическое программирование
Динамическое программирование
Динамическое программирование
Динамическое программирование
Динамическое программирование
Это изображение имеет пустой атрибут alt; его имя файла - image-10-1.png

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

  • Динамическое программирование родилось из исследований Задача со значительным временным фактором. в В настоящее время используются методы динамического программирования. Решить несколько типов задач нелинейного программирования. в Построение и решение таких задач в принципе учитывают факторы Время или — последовательность конкретных операций.
  • Задачи динамического программирования имеют следующие проблемы. Этап планирования, оптимальные задачи управления запасами, задачи Оптимальное распределение инвестиций и многие другие задачи. Важный вклад в развитие динамической теории и практики Программирование было введено Р. Беллманом [3], [4] и Дж. Хедли [15]. рассматривать Одна из задач Р. Беллмана а [3].
Задачи по замене и установке оборудования, оптимальное распределение ресурсов. Людмила Фирмаль

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

Дай мне Из общего количества ресурсов подразделение назначается первой компании. Остальное (х — у) — «до секунд. Предполагая такое распределение Один ресурс периода обеспечивает доход, равный / (у) И е (* -У). Общий доход за один период составляет Rt (χ) = f (y) + + Наибольший доход, который можно выразить в г (* -Y) · Ft (x)

Чтобы получить при распределении χ единиц ресурсов между двумя компаниями, То есть Ft (χ) = max [/ (y) + g (x-y)]. (1) 0 <у <х Если количество плановых периодов равно двум (двухэтапный процесс План), то максимальный доход F2 (х) за два периода Какой ресурс х назначен, зависит от следующих соображений: 1.

Производственные затраты, связанные с выпуском и продажей Производство уменьшает объем Vl x ресурсов к началу второго периода — в Соответственно, величины ay (0 0 <у <х Где Fnx — это доход от n-этапного процесса планирования. Решение задачи (3) — найти функцию. Из приведенного выше примера, Bell May a имеет динамическую основу.

Программирование идеи деления большой проблемы (От нескольких переменных) до низкоразмерных подзадач и Меньше переменных. После такого раздела процесс принятия решения Задача выполнена частично. Связанные с этим Временное решение основано на повторяющихся отношениях. так В этом примере нормальное построение модели задачи требует следующего * η Вводя переменную η yv y2 yn $] yf = *.

В то же время / = ι Количество постановок значительно уменьшено. Это легко увидеть при построении основной функции Уравнение (3) фактически предполагается. 1) Доход каждой компании зависит только от количества ресурсов. Он распределен и не зависит от количества выделенных ресурсов Другие компании; 2) Доход различных компаний измеряется в одной единице.

3) Общая выручка ассоциации равна сумме доходов отдельных компаний. 4) Максимальный доход за плановый период равен общему Доход, полученный на первом этапе и на всех других (n-1) этапах Эти последние стадии ресурсов Самый эффективный Последнее предположение — это так называемый принцип Оптимальность Беллмана с равной математической формулировкой (3).

Этот принцип является одним из основных принципов динамического программирования. Задача динамического программирования (3) в общем случае Нелинейная задача. Целевая функция задачи выпуклая -1, Он также невыпуклый, непрерывный или прерывистый. за исключением той Типами этой проблемы являются функции f, g, io и Особые условия, налагаемые переменными (дискретность, целое число.

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

Рассмотрим два примера задач динамического программирования: Показать методологию Решение. Таблица 1 Задача 1. Есть четыре Заводское производство Продукт того же типа. План реконструкции и Обновите каждый из них Завод. Общая сумма Инвестиции χ0 == 400 000 руб. Выпущен для этой цели, Должен быть распространен Максимизировать весь Увеличение выхода.

  • Следующая таблица Указанный проект реконструкции Отдел каждой компании (y) и прибыль производства f (y) (i = = 1 4). Берёт тысячи рублей за единицу измерения. Чтобы решить эту проблему, покажите максимальное увеличение при F4 (x0) Продукты с общей суммой X0 = 400 000 руб. Между 4 Компании. Тогда очевидно ^ ( F * {yY очевидно F2 (100) = max [f2 (y) + Fx (100-y)] = max [f2 (0) + F, (100) 1; 0 2 (400) = max [0 + 275, 215 + 60, 120 + 135, 50 + 195, 265 + 0] = 275.

В дальнейшем удобно уменьшить результат расчета следующим образом Tab. 2, столбец — это значение функции. Элемент в третьем столбце таблицы. 2 рассчитывается следующим образом: F3 (100) = ‘max [/ 3 (y) + F2 (10-y)] = max [/ 3 (0) + F2 (100); 0 <у <х f3 (100) + F2 (0) = max [0 + 60, 65 + 0] = 65; F3 (200) = Макс [f3 (0) + F2 (200), / 3 (100) + F2 (100), f3 (200) + + F2 (0)] = max [0 + 135, 65 + 60, 140 + 0] = 140.

Аналогично рассчитываются все остальные элементы таблицы. 2. Людмила Фирмаль

Из этой таблицы Наибольшее возможное увеличение производства во время распределения видно. Между четырьмя компаниями для Эта сумма Сумма инвестиций F4 (* 0) = ч (300) + + Фс (100) = 220 + 65 = 285 тыс. Руб. Но F, (100) = /, (100) = 65. Таким образом, Это четвертая компания Разумно восстановить у4 = выделить 300 000 рублей, третье- ^ 8 = 100 000 рублей и другие 0 * руб.

С этим распределением Рост производства Максимум составляет 285 тыс. Руб. Задача 2. Существуют следующие оптимальные задачи планирования: Важна не крайняя ценность стандарта Индикаторы и соответствующие оптимальные решения (операции). такой Задача — это задача Джонсона. Это суть этого. Это т Различные части, которые должны быть обработаны последовательно Два станка.

Каждая из этих машин должна быть прервана Это работает, пока не завершится. Запрещено после запуска Процесс, который меняет порядок прохождения деталей на машине. Процедура обработки деталей должна быть установлена. Минимальное общее время простоя второй машины в ожидании деталей С первой машины.

Это означает, что вам нужно минимизировать время Обработать все т части. Пусть и б. (I = l m) — время обработки Первая часть каждой из первой и второй машин. Представляем функцию F (α \ ιb > ・ -ιflm «bm * 0» ° b ° означает все минимальные времена обработки Если вторая машина начинает работать в т единицах, т частей Медленнее, чем первый.

Функциональное уравнение Беллмана Обработка начинается с детализации и может быть описана следующим образом: FFA am> bm-0 = min [° l + F (aV b \ α £ -Λ-Ρ ° ・ ° ・ ai + V bi + xβ «, bm \ * t + rnax (0, * -«.)}. (4) Чтобы решить эту проблему, очевидно, вам нужно найти правило Оптимальное перемещение заготовки. Пусть это обработать первым Часть ί, затем часть /.

Тогда функциональное уравнение (4) становится Переписать как … βρ ,, …, Ο / Ι, ambmt tif)} 9 (5) Где 0f-0i и 0-Oy равны нулю в точках t и a b соответственно ‘, / = Bi + max ft + max (t-αζ0) -a / f 0]. (6) Переведите величину t £ из (6). ^ = * / + ^ -in / + max [1W1X (/ -afi 0, a / ^ 6.)] = = bl + bi-ft + ad + max [U max (a (+ <* f-bif ^ 1- Переставляя индекс ί и / из последней формулы, Объект для замены деталей и / или Когда это не практично max (α, + a .- *., a.)

Минимальная стопа, а. ) Я (8) В результате перемещение детали / круговая таблица 3 η требуется, если Minftf a. ) <Минимум футов, а). (9) Конечный результат Следующий алгоритм для решения проблемы Дины. 1. Сделать стол. 3. 2. Найти все номера а (и б. минимум. 3. минимум Вы можете видеть, что одно из чисел £ tсоответствующий Элементы должны быть размещены в первую очередь для обработки. 4.

Если минимальным значением является одно из чисел б.т потом поставить соответствующую часть Последний. 5. Соответствует пунктам (3) — (4) Линии (детали) исключаются из расчета. 6. Если по пунктам (3) и (4) минимум a = = min ^, Мы считаем α £ Λ минимальным, если: Минимальное количество пунктов (3) и (4) составляет В некоторых случаях меньшая часть номера исключается из расчета. 7.

С Остальные строки таблицы. 3 (Подробности) Сделайте то же самое. Пример. Исходные данные содержатся в таблице. 4, оптимальный Обработка части последовательности »- в таблице. Таблица 4 Таблица 5 1 ф 5 2 1 6 3 4 да 32 39 47 € 0 73 80 * Я 84 83 52 71 27 25 | Я ! 2 Я 4 5 6 прикидываться 47 39 73 80 32 60 * / 52 83 27 25 84 71 Первый шаг Поскольку min (при> & t) = & 4 = 25, часть 4 является последней. Второй шаг min [a ^ b ^ = br = 27-Поместите часть 3 в предпоследнюю часть.

Третий шаг. min (α, -, & £) = α5 = 32 Сначала поставьте часть 5. Четвертый шаг. min [a.h b ^ = a? = 39-часть 2 остается прежней Расположение и т. Д. Наиболее распространенным на практике является Как решить проблему динамического программирования Называется метод обхода узлов пространственной сетки. Итак, решение.

Пример (1) Задача — одна из вариаций этого метода. особенность Способ обхода узлов в динамическом программировании — перечисление Скрининг на каждом этапе неблагоприятных решений. Цель Такая процедура расчета является необходимой (в некоторых случаях до 90% Другие) Уменьшает вычислительную сложность по сравнению с полным методом Перечислите все варианты решения.

К положительным моментам метода Обход узла должен включать 1) простоту построения алгоритма. Решение; 2) Функция, которая легко учитывается при выборе шага сетки для узла, Дискретная или целочисленная переменная. 3) Возможность увеличить количество Узел, который использует уже полученную информацию о доступных узлах.

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

Смотрите также:

Решение задач по математическому программированию

Линейные задачи с параметром в целевой функции Стохастическое программирование. Постановка задачи
Линейные задачи с параметром в правых частях ограничений Классификация задач линейного стохастического программирования