動態規劃(dynamic programming)是運籌學的一個分支,是求解決策過程(decision process)最優化的數學方法。動態規劃問世以來,在經濟管理、生產調度、工程技術和最優控制等方面得到了廣泛的應用。例如最短路線、庫存管理、資源分配、設備更新、排序、裝載等問題,用動態規劃方法比用其它方法求解更為方便。
動態規劃是求解某類問題的一種方法,是考察問題的一種途徑,而不是 一種特殊算法(如線性規劃是一種算法)。因而,它不象線性規劃那樣有一個標準的數 學表達式和明確定義的一組規則,而必須對具體問題進行具體分析處理。因此,在學習 時,除了要對基本概念和方法正確理解外,應以豐富的想像力去建立模型,用創造性的技巧去求解。
如圖是一個線路網,連線上的數字表示兩點之間的距離(或費用)。試尋求一條由 A 到G 距離最短(或費用最省)的路線。
工廠生產某種產品,每單位(千件)的成本為 1(千元),每次開工的固定成本為3(千元),工廠每季度的最大生產能力為6(千件)。經調查,市場對該產品的需求量第 一、二、三、四季度分別為 2,3,2,4(千件)。如果工廠在第一、二季度將全年的需 求都生產出來,自然可以降低成本(少付固定成本費),但是對於第三、四季度才能上市的產品需付存儲費,每季每千件的存儲費為 0.5(千元)。還規定年初和年末這種產品均無庫存。試製定一個生產計劃,即安排每個季度的產量,使一年的總費用(生產成本和存儲費)最少。
動態規劃的基本概念和基本方程
一個多階段決策過程最優化問題的動態規劃模型通常包含以下要素:
1.階段
階段(step)是對整個過程的自然劃分。通常根據時間順序或空間順序特徵來劃分階 段,以便按階段的次序解優化問題。階段變量一般用k = 1,2...n 表示。在圖1 中由 A 出發為 k = 1,由 Bi(i = 1,2) 出發為 k = 2 ,依此下去從 Fi(i =1,2) 出發為 k = 6 ,共 n = 6個階段。在例 2 中按照第一、二、三、四季度分為k = 1,2,3,4,共四個階段。
2. 狀態
狀態(state)表示每個階段開始時過程所處的自然狀況。它應能描述過程的特徵並 且無後效性,即當某階段的狀態變量給定時,這個階段以後過程的演變與該階段以前各 階段的狀態無關。通常還要求狀態是直接或間接可以觀測的。
3.決策
當一個階段的狀態確定後,可以作出各種選擇從而演變到下一階段的某個狀態,這 種選擇手段稱為決策,在最優控制問題中也稱為控制。
4.狀態轉移方程
在確定性過程中,一旦某階段的狀態和決策為已知,下階段的狀態便完全確定。用 狀態轉移方程(equation of state transition)表示這種演變規律,寫作
5.指標函數和最優值函數
指標函數(objective function)是衡量過程優劣的數量指標,它是定義在全過程和所有 後部子過程上的數量函數
6.最優策略和最優軌線
使指標函數Vk,n 達到最優值的策略是從 k 開始的後部子過程的最優策略
簡稱最優策略。
7.遞歸方程
如下方程稱為遞歸方程
在上述方程中,當⊗為加法時取 fn+1(xn+1) = 0 ;當⊗為乘法時,取 fn+1(xn+1) =1。動態規劃遞歸方程是動態規劃的最優性原理的基礎,即:最優策略的子策略,構成最優子策略。
如果一個問題能用動態規劃方法求解,那麼,我們可以按下列步驟,首 先建立起動態規劃的數學模型:
(i)將過程劃分成恰當的階段。
(ii)正確選擇狀態變量Xk,使它既能描述過程的狀態,又滿足無後效性,同時確定允許狀態集合Xk。
(iii)選擇決策變量uk,確定允許決策集合Uk(xk)。
(iv)寫出狀態轉移方程。
(v)確定階段指標Vk (xk,uk ) 及指標函數Vkn的形式(階段指標之和,階段指標之積,階段指標之極大或極小等)。
(vi)寫出基本方程即最優值函數滿足的遞歸方程,以及端點條件。
微信公眾號|工大數模天空
QQ|西北工業大學數模協會