1. 程式人生 > >EMD(Earth Mover's Distance)概念及程式碼

EMD(Earth Mover's Distance)概念及程式碼

跟EMD有關的數學推導略去不表,直觀地說,EMD實際上是線性規劃運輸問題的最優解,即:已有的貨物存在於倉庫P1…PN中,存量分別是p1…pn,需要將貨物運輸至倉庫Q1……QM中,其存量分別為q1…qm。從倉庫P到倉庫Q的距離用矩陣[d_ij]來描述。根據其物理意義,每個倉庫Pi的出貨量不能超過其存量,每個倉庫Qj的進貨量不能大於其容量,運輸的貨物總量不能超過p1…pn之和,也不能超過q1…qm之和。在此約束下,求代價最小的運輸方案[f_ij],實際上就是求矩陣F,使得sum( sum( F .* D ) )最小(csdn編輯公式不便,這裡用了MATLAB的語法)。我覺得比較有趣的一點是,這裡的N和M不需要相等。