程式實現方法
系統分析
在圖1中,審核程式首先需要用戶輸入信息,或者從本公司的數據信息庫中提取,通過一系列的策略和算法運用,最後得出具體方案的安排。
物流審核
計算機程式的目的是有效的提取信息,進行分析判斷,確定所用算法,以幫助物流服務提供商為客戶提供成本低,而且顧客滿意度較高的服務方案。為了開發這樣的一個系統,需要首先完成以下幾個計算機軟體的組成部分:
數據倉庫、多維的
資料庫管理系統、
審核策略知識庫、線上分析處理系統和基於以往案例推理出審核方案的技術等。
業務流程分析
計算機審核算法程式的程式處理流程如圖2所示。
在圖2中,程式的開始是由客戶或審核員提供一些物流服務信息,及服務要求特徵。包括:產品所需的相關信息、客戶服務信息、以及相關設施(如SKU)的要求和標準等。在
網路化的物流管理信息平台中,可由客戶將這些信息通過網路傳遞,或通過Web Service等技術從公司的信息資料庫中提取。獲得這些參數後,系統將交由“線上分析處理系統”(OLAP)處理。處理過程包括以下八步:提取相關物流服務特徵參數、與以往審核方案比較、確定審核方法和算法、後台計算、輸出結果、執行審核結果、評估績效、生成新的審核方案。
首先,對於以往處理過的成熟案例,可以調用以往的處理策略及算法進行審核。審核員先提取訂單特性,再查找過去保存的現有審核案例(方案)。例如,在本次審核中,審核員提取的訂單特性參數為:“SKU類型-半成品、SKU毛重— <1、SKU尺寸—15cm*15cm、需要5輛叉車、訂單費用1000”等,可以查找出在以往的審核案例中,與這些參數相接近的例子,將這些以往案例調出作為參考;也可重新計算,確定新的
審核策略計算法,得出新的審核方案。在後台計算後,有程式在
人機互動界面上輸出審核結果。具體輸出的方式在後面的車輛配載審核程式中會詳細介紹。在業務部門執行了該審核方案後,還要進行績效的評估記錄,以便生成新的審核方案和參數組合,記入審核方案資料庫。
資料庫設計
在審核過程中,不可避免的要使用到公司作業過程中的各種數據和信息,以便根據情況制定
審核策略,提取算法所需數據。所以,支持審核
電腦程式的數據倉庫和多維的
資料庫管理系統就應成為該程式的一個重要方面。本系統使用的數據
知識倉庫採用
樹形結構管理,其結構和內容如圖3所示。其數據表關聯圖如圖4所示。
在圖3中,數據倉庫的
樹形結構分為三級:物流業務子系統級、二級子系統級和工作流程級。該數據倉庫能夠囊括公司的所有業務中的參數信息。
在圖4中,以幾個表為例,顯示了作業參數表、顯示庫位信息的SKU信息表、顯示作業費用的物流作業費用表,以及物流設施參數信息表等幾個表的相互關係。在審核程式執行中,需要根據這些表的主鍵聯繫,查詢到所用的相關信息。主鍵聯繫由業務聯繫確定。
操作平台設計
根據以上的程式流程分析,設計出程式的人機互動操作界面,如圖5 所示。圖5顯示了部分需要從客戶處提取並輸入到審核程式的信息,程式首先由這些信息開始,以便進行分析和審核。在該界面中,首先是基本信息。然後由審核員輸入SKU信息、本地配送和包裝等服務的客戶物流服務要求。
物流服務的要求有:配送和出庫的準時性、公司形象、價格成本、車輛可用性、庫存空間占用等條件等。需要為這些標準設定權重,每項權重對應一個分值,以適應不同的實際需要,如圖6所示。例如,在自由車和外僱車審核時,自由車和外僱車的各項標準的權重可由
管理員設定,設定結果如圖7 所示。
車輛配載
系統分析
配載是指為具體的運班選配貨載,即承運人根據貨物託運人提出的託運計畫,對所屬運輸工具的具體運班確定應裝運的貨物品種、數量及體積。配載的結果是編制運班裝貨清單。裝貨清單通常包括卸貨港站、裝貨單號、貨名、件數、包裝、重量、體積及積載因子等,同時還要註明特殊貨物的裝載要求。
車輛配載審核算法程式是建立在信息系統之上的,其主要作用表現在以下幾個方面:
(一) 傳遞信息的要求
在城市物流配送系統運轉過程中,實時化的要求是比較高的。現代化的信息系統還未引人物流時,很多情況下就是客戶與配送商之間通過傳統的信息交流方式來聯絡,經常會造成信息面窄,信息不通暢,以及信息差失等問題。在現代物流配送作業過程中,往往客戶群龐大,而且對配送企業的反應速度要求越來越高,再用以往的信息傳遞模式很難對大量客戶訂單做出快速回響。
(二) 信息的保存及處理
以往物流配送業務的一些數據是以記賬的形式來保存的,隨著業務的擴大,賬本越來越多,記賬、查賬的工作量十分大,而且容易造成信息差失。引人信息系統之後,很多業務數據可以自動生成,把這些數據放人信息系統的資料庫,查找十分方便,而且數據分析也很方便。
(三) 合理安排裝車方案
從配送中心到客戶位置的物流配送,是一個十分複雜的調度過程。其中,最難以解決的問題之一就是車輛配載問題。物流企業有各種不同類型的車輛,每份訂單上要求運輸的貨物體積也不同。如何在每次訂單運送的時候合理的選擇所派車輛,是配載解決的主要問題。既要使所需運輸的貨物全部運完,又要不浪費車輛空間,節省成本。
如上所述制定貨物的配送方案包括以下子過程:①物流中心的選擇。②車輛選擇,即安排哪些車輛進行配送。③車輛裝載方案,即依據車輛的裝載能力、各個客戶的數目要求,安排每輛車裝載哪個或哪幾個客戶的貨物。④行車路線的安排,要儘量採取多客戶貨物拼車運送的原則。這也引起某些問題,即車輛如何安排行車路線,儘量以最短的路徑送完各個客戶的貨物。這不僅能使配送公司儘量降低成本,同時還可以減少在路車輛的數目,也可以緩解公共運輸的壓力。⑤發車時間決策,即何時發車的問題。
車輛配載審核過程是上述制定物流配送方案中的一個環節。以上的分析中,各個子過程是相互影響的,所以它們之間是互為條件、相互制約的關係。要安排一套好的物流調度方案就要綜合考慮以上各個子過程,採用
組合最佳化的思想來操作。這項工作如果只由人工完成是不可想像的,所以必須設計一套智慧型的審核程式系統,模擬人的工作過程,在很短的時間內完成調度工作。
(四) 準時送貨的要求
在現在客戶利益至上的時代,配送商只能選擇提高服務水平。其中最重要的就是要準時供貨,即盡力那個按照客戶要求的時刻把貨送到。這對物流公司的調度工作要求很高。這就要求有智慧型化的審核程式來自動安排貨物的配載問題。
車輛配載介紹
貨物配裝問題也稱包裹問題(背包問題),它是動態規劃套用的典型案例。在決策分析中常會遇到類似的問題。
貨物配裝問題分為兩種情況,一是按重量最佳化,使車輛利用率達到最大;二是按價值最佳化,使貨物的總價值達到最大。
具體球解時,可以把裝入的一種貨物作為一個階段,把裝貨問題轉化為動態規劃問題。動態規劃問題的求解過程是從最後一個階段開始,由後向前推進。由於裝入貨物的先後次序不影響最優解,所以求解過程可從任意一種貨物開始,逐步進行。
例如,一輛8t的載重汽車,運輸4種貨物。它們的重量分別為3,3,4,5t。如何配裝才能充分利用貨車的運載能力?
本例可分為下述四個階段進行計算:
第一階段的計算過程,表示在考慮其他三種貨物可能裝載的前提下,可用於第一種貨物的裝載的重量有9種可能,即由0-8t。因此,分別考慮在各種裝載量下的第一種貨物的裝載方法和最大的裝載量。
第二階段的計算過程,求在第一種貨物的各種裝在方法下,可用於第二種貨物的裝載量和裝載方法。此時可用的載重量仍然有9種可能,即0-8t。
第三階段的計算過程,求在前兩種貨物的各種裝在方法下,可用於第三種貨物的裝載量和裝載方法。此時可用的載重量仍然有9種可能,即0-8t。
第四階段的計算過程,求在前三種貨物的各種裝載方法下,可以用於第四種貨物的裝載量和裝載方法。此時4種貨物都以考慮,因此可用的裝載量為貨車的載重量。即8t。
為了簡便起見,我們只考慮配裝1車的方案,只要有了配裝1車的方案,就能解決全部貨物的配裝問題。其辦法是在每次配裝後,將已配裝的貨物減去,再對剩餘的貨物進行配裝,每次配裝所使用的方法相同。
(一) 按重量最佳化
假設有n種貨物A1,A2,…,An,其中A1有kl件,每件重G1t; A2有k2件,每件重C2t;…,An有kn件,每件重Gnt,如表7-8所示。貨車車廂的載重量上限為Dt。如何配裝,才能充分利用車輛的裝載能力。
在貨物配裝問題中,也需要作為評價標準的價值函式。我們的目標是充分利用車輛的裝載能力,也就是使車輛裝載能力的餘量達到極小,所以我們選擇“餘量”作為價值函式值。
(二) 按價值最佳化
假設有n件物品A1, A2,…,An,其中A1價值為R1,重G1;A2價值為R2,重G2;…;An價值為Rn,重Gn,如表7-9所示。車(或容器)的載重量上限為Do如何配裝,才能使裝人的物品價值達到最大。
車輛配載流程
車輛配載審核算法的流程如圖9所示。首先進行數據輸入。將必要的數據傳至審核步驟中。然後是算法的後台運行:先確定階段數N,N由所需配裝的貨物數確定。然後對於每一個階段,分別計算出本階段的N個配載狀態值。比較每個配載狀態值,找出最優的值。當J<M時,往復循環以上幾步。當J=N時,輸出最優值F對應的狀態值X,最後結束程式。
根據算法的流程要求,設計一組算例來實現該算法。具體過程如下述。為了簡便起見,現在只考慮配裝一車的方案。只要配裝了一車,就會解決全部貨物的配裝問題。其方法是在每車的配裝之後,將已配裝的貨物減去,再對剩餘的貨物進行配裝,使用的方法相同。
(一) 物品配裝問題。
貨場有A, B, C, D四種貨物需要配裝成整車,通過鐵路發運,其中貨物A共5件,每件重5t;貨物B共4件,每件重4t;貨物C共10件,每件重2t;貨物D共30件,每件重1t。試用動態規劃將貨物進行配裝,運輸車輛的載重能力為50 t。
這是典型的配裝問題,按照貨物配裝程式的要求,輸人數據:
4, 50
5, 5, 4, 4, 2, 10, 1,30
最優解為:
X1=4, X2=4, X3=7 , X4=0
即裝人第1種貨物4件,裝人第2種貨物4件,裝人第3種貨物7件。總裝載量為50 t,達到滿載,充分利用了車廂的裝載能力。
(二) 包裹問題。
某人要郵寄一個標準包裹給好友,現有五種物品可供選擇,這五種物品的重量和價值各不相同。包裹限重15kg。試問裝入哪些物品,才能使整個包裹的價值最大。
這個問題是運籌學套用的一個典型案例,可以用整數規劃或動態規劃求解,這裡用貨物配裝程式求解。
輸人數據:
5, 15
6, 18, 5, 15, 2, 10, 3, 10, 1,6
題義標誌:I(表示按價值最佳化)。
最優解為:
X1 = I,X2=I,X3=I,X4=0, X5=1
即選擇第1,2, 3, 5種物品,總價位:49千美元。
程式操作示例
車輛配載審核程式操作方法如圖10所示。在操作過程中,首先從物流管理信息平台進入車輛配載審核程式,以執行配載審核工作。在界面中輸入需配裝的貨物種數、車輛的總載重量、題意標誌及各種貨物的編號、件數及每件重量。點擊“計算”後,由算法程式在後台進行計算。計算完成後,在
螢幕的結果區輸出計算結果,即每種貨物的配裝件數。最後由操作人員確定是否完成了所有需運輸貨物的配載?如果是,則結束程式;如果否,則繼續進入第二輛車的配載,方法相同。
程式的界面如圖11所示。螢幕中的文本框是供輸人數據的,每個(組)文本框都有文字提示,具體含義如下:
(1)貨物品種數:即貨物配裝問題中貨物品種數n。
(2)裝載額上限:即貨物配裝問題中裝載總額,也是車輛的最大裝載量。
(4)各種貨物的重量和件數。
(5)各種貨物的配裝件數。用於輸出配裝審核的結果。
(6)題義標誌:輸入1表示按價值進行最佳化,否則按重量最佳化。
(6)列印標誌:每次啟動時,列印標誌為“0”,如果需要列印,列印標誌置“1”。
輸入數據時,數據應化為整數進行輸入。數據輸人或修改結束後,點擊“計算”按鈕,進行存檔計算。如果點擊“退出”按鈕,則退出貨物配裝程式。
小結:
在介紹車輛配載審核算法和一般的程式實現步驟的基礎上,設計實現了該算法的電腦程式。介紹了改程式的界面及操作過程,最後,以一個例子演示了該程式界面在使用時的操作方法。