Понятие динамического программирования Неформальное объяснение оптимальности подзадач ДП. Рассмотрим
неформальную идею ДП.
Итак, возьмем пример с заводом, изготавливающим мебель.
Для
достижения цели максимизации прибыли необходимо решить множество подзадач: - сколько стульев произвести — переменная X1,
- сколько столов произвести — переменная X2,
- сколько нанять работников — переменная X3,
- … Хn.
При большом количестве подзадач сложно понять, как решать такую задачу. Как правило,
решить одну малую задачу проще, чем решить большую задачу, состоящую из маленьких.
Поэтому ДП предлагает следующее:
- берем одну подзадачу с переменной X1, об остальных подзадачах пока забываем.
- После того, как найдем оптимальное решение для первой подзадачи, берем подзадачу для двух переменных Х1 и Х2, и решаем ее с помощью уже найденного решения для первой подзадачи.
- Получаем решение уже для большей подзадачи, где фигурируют переменные Х1 и Х2. Затем, используя полученное решение, берем подзадачи, охватывающие X1, X2 и Х3.
- И так продолжаем пока не получим решение для всей общей задачи.