摘要:供應(yīng)鏈中的生產(chǎn)規(guī)劃及調(diào)度對(duì)企業(yè)的成功至關(guān)重要。針對(duì)該問(wèn)題,本文提出了一個(gè)基于Web的開(kāi)放式的優(yōu)化框架。該框架在縮短了生產(chǎn)規(guī)劃及調(diào)度所需時(shí)間的同時(shí),提高了規(guī)劃和調(diào)度的質(zhì)量。在實(shí)際應(yīng)用中,該框架被證明能有效地提高企業(yè)的工作效率和經(jīng)濟(jì)效益。
關(guān)鍵詞:供應(yīng)鏈;規(guī)劃;調(diào)度;優(yōu)化;JAVA本地接口
中圖分類(lèi)號(hào):F406.2文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1002-3100(2007)08-0100-03
Abstract: The production planning and scheduling in supply chain are critical to the success of the enterprise. Aiming at the difficulties of these issues, a web-based open framework for optimization is presented in this paper. The framework can shorten the time for production planning and scheduling and improve the quality of them. The efficiency of such framework has been proven in the real application.
Key words: supply chain; planning; scheduling; optimization; JAVA native interface
在現(xiàn)在這個(gè)競(jìng)爭(zhēng)激烈的、被日新月異的信息技術(shù)驅(qū)動(dòng)的商業(yè)環(huán)境中,新的商業(yè)模式和有效的供應(yīng)鏈管理正成為企業(yè)獲得成功的關(guān)鍵因素。供應(yīng)鏈管理(SCM)的目標(biāo)是采購(gòu)原材料,組織生產(chǎn),然后通過(guò)適當(dāng)?shù)膬r(jià)格和服務(wù)將產(chǎn)品提供給顧客[1]。供應(yīng)鏈管理是在供應(yīng)鏈中的實(shí)體之間,例如供應(yīng)商、制造商、經(jīng)銷(xiāo)商和顧客之間協(xié)調(diào)產(chǎn)品、資金、服務(wù)和信息的交換,其最終目的就是為了提升顧客滿(mǎn)意度,降低企業(yè)的生產(chǎn)、庫(kù)存和分銷(xiāo)成本[2]。目前,許多企業(yè)利用企業(yè)資源規(guī)劃(ERP)工具來(lái)改善其供應(yīng)鏈。然而,ERP系統(tǒng)往往會(huì)產(chǎn)生一些超出市場(chǎng)實(shí)際需求的預(yù)期,導(dǎo)致生產(chǎn)和庫(kù)存過(guò)剩,企業(yè)資源不能得到最佳配備和利用,最終引起客戶(hù)服務(wù)水平下降[3]。因此,對(duì)于企業(yè)來(lái)說(shuō),即使已經(jīng)采用了ERP系統(tǒng),依然有必要針對(duì)供應(yīng)鏈進(jìn)行優(yōu)化。
隨著計(jì)算機(jī)硬件價(jià)格的不斷降低和各種各樣建模工具的不斷涌現(xiàn),供應(yīng)鏈的建模和優(yōu)化也逐漸被企業(yè)所接受。同時(shí),隨著互聯(lián)網(wǎng)的普及,供應(yīng)鏈管理的決策者們可以很方便地通過(guò)它來(lái)管理和使用各種SCM工具。互聯(lián)網(wǎng)成為供應(yīng)鏈各方開(kāi)展協(xié)調(diào)和合作的平臺(tái)。
在某化工企業(yè)供應(yīng)鏈管理信息系統(tǒng)的開(kāi)發(fā)過(guò)程中,筆者提出了一個(gè)基于Web的供應(yīng)鏈優(yōu)化框架以保證迅速及高質(zhì)量地進(jìn)行生產(chǎn)規(guī)劃和調(diào)度。整個(gè)系統(tǒng)采用JAVA語(yǔ)言進(jìn)行實(shí)現(xiàn)。
1企業(yè)需求
對(duì)于化工企業(yè)而言,其供應(yīng)鏈具有這樣的特征:生產(chǎn)線(xiàn)前期建設(shè)需要大量投資,產(chǎn)品一旦定型,則生產(chǎn)流程就會(huì)相應(yīng)穩(wěn)定下來(lái);產(chǎn)品的整體市場(chǎng)需求比較穩(wěn)定;產(chǎn)品具有較長(zhǎng)生命周期但利潤(rùn)相對(duì)不高。企業(yè)生產(chǎn)規(guī)模對(duì)企業(yè)效益至關(guān)重要,而企業(yè)的生產(chǎn)規(guī)模又受市場(chǎng)需求的制約。一般情況下,企業(yè)在歷史銷(xiāo)售數(shù)據(jù)基礎(chǔ)上,綜合考慮先期發(fā)生的市場(chǎng)變化,通過(guò)使用市場(chǎng)需求預(yù)測(cè)工具來(lái)預(yù)報(bào)客戶(hù)未來(lái)的需求,從而組織生產(chǎn)。然而,企業(yè)往往不能準(zhǔn)確地發(fā)現(xiàn)市場(chǎng)需求變化的真正原因,是因?yàn)榭蛻?hù)需求受很多動(dòng)態(tài)因素,象經(jīng)濟(jì)狀況、社會(huì)狀況、客戶(hù)行為,甚至一些突發(fā)事件的影響。企業(yè)只能被動(dòng)的根據(jù)客戶(hù)訂單來(lái)調(diào)整生產(chǎn),這樣就會(huì)產(chǎn)生“bullwhip效應(yīng)”[4],即市場(chǎng)需求的一點(diǎn)點(diǎn)變化就會(huì)使供應(yīng)鏈未端需求產(chǎn)生巨大的波動(dòng)。因此,良好的生產(chǎn)計(jì)劃和生產(chǎn)調(diào)度對(duì)企業(yè)運(yùn)營(yíng)有著重要意義,對(duì)所有的供應(yīng)鏈環(huán)節(jié),例如配送中心的建設(shè)、生產(chǎn)計(jì)劃、運(yùn)輸計(jì)劃等皆有影響。
在競(jìng)爭(zhēng)激烈的商業(yè)環(huán)境中,企業(yè)需要應(yīng)對(duì)多變的客戶(hù)需求。生產(chǎn)部門(mén)原來(lái)僅僅使用簡(jiǎn)單的電子表格來(lái)制訂生產(chǎn)計(jì)劃,當(dāng)客戶(hù)需求不斷變化的時(shí)候,生產(chǎn)部門(mén)不得不花上大量的時(shí)間來(lái)跟產(chǎn)品經(jīng)理溝通,修改生產(chǎn)計(jì)劃以適應(yīng)不斷發(fā)生的變化。另一方面,對(duì)于化工企業(yè)來(lái)說(shuō),生產(chǎn)線(xiàn)需要連續(xù)不斷的工作,因?yàn)橹袛嗖粌H會(huì)產(chǎn)生產(chǎn)品轉(zhuǎn)換時(shí)間,而且生產(chǎn)線(xiàn)重新啟動(dòng)之后生產(chǎn)出來(lái)的產(chǎn)品往往需要經(jīng)過(guò)一段時(shí)間之后才能有良好穩(wěn)定的品質(zhì)。期間生產(chǎn)的產(chǎn)品要么回收或丟棄,要么只能低價(jià)銷(xiāo)售,給企業(yè)帶來(lái)較大損失。同時(shí),企業(yè)的倉(cāng)儲(chǔ)能力是有限的,如果產(chǎn)能過(guò)剩,企業(yè)又需要花費(fèi)一筆不菲的支出來(lái)租用臨時(shí)倉(cāng)庫(kù),這也是企業(yè)不希望看到的。因此企業(yè)對(duì)新的生產(chǎn)計(jì)劃工具有這樣的要求:按照市場(chǎng)的需求來(lái)組織生產(chǎn),實(shí)現(xiàn)大規(guī)模定制;在制訂更靈活的生產(chǎn)計(jì)劃的同時(shí),縮短變更計(jì)劃所需要的時(shí)間;保證原料的供應(yīng),除了必要的維護(hù)之外,確保生產(chǎn)線(xiàn)可以每天24小時(shí),全年365天連續(xù)工作;協(xié)調(diào)生產(chǎn)和庫(kù)存,最大限度降低存貨成本;處在不同地理位置的生產(chǎn)部門(mén)相關(guān)人員,如生產(chǎn)計(jì)劃制訂者、產(chǎn)品經(jīng)理等,都可以隨時(shí)查看生產(chǎn)計(jì)劃及其執(zhí)行情況。

2系統(tǒng)設(shè)計(jì)
結(jié)合該企業(yè)的實(shí)際情況,我們?cè)O(shè)計(jì)、開(kāi)發(fā)了一套基于Web的開(kāi)放框架的生產(chǎn)計(jì)劃/調(diào)度優(yōu)化系統(tǒng)。該系統(tǒng)包括了生產(chǎn)規(guī)劃和調(diào)度優(yōu)化模型。生產(chǎn)規(guī)劃模型是針對(duì)企業(yè)的一個(gè)或多個(gè)生產(chǎn)部門(mén),綜合考慮客戶(hù)需求,企業(yè)生產(chǎn)能力,庫(kù)存容量以及原材料供應(yīng),計(jì)算每一條生產(chǎn)線(xiàn)上某一產(chǎn)品每周或每月的最佳產(chǎn)量。生產(chǎn)調(diào)度模型則是對(duì)每天或每小時(shí)的生產(chǎn)設(shè)備及其它資源進(jìn)行組合和排序,將半成品(Work-In-Process,WIP)數(shù)量和庫(kù)存水平保持在較小狀態(tài)。在化工生產(chǎn)中,很多工序是連續(xù)進(jìn)行的。在企業(yè)生產(chǎn)能力滿(mǎn)負(fù)荷運(yùn)行時(shí),良好的生產(chǎn)規(guī)劃和生產(chǎn)調(diào)度可以減少停工或產(chǎn)品切換時(shí)間,從而極大減小隨之而來(lái)的損失。
本系統(tǒng)通過(guò)整合混合整數(shù)線(xiàn)性規(guī)劃(MILP)模型,Dash Optimization公司的XPRESSS-MP優(yōu)化軟件包,JSP以及JAVA技術(shù)來(lái)實(shí)現(xiàn)生產(chǎn)優(yōu)化和調(diào)度。
混合整數(shù)線(xiàn)性規(guī)劃(MILP)是生產(chǎn)調(diào)度中常用的一種數(shù)學(xué)建模方法[5]。本系統(tǒng)在研究了順序型多目的廠(chǎng)間歇調(diào)度的問(wèn)題之后,通過(guò)分析順序型多目的工廠(chǎng)生產(chǎn)的特點(diǎn),將整個(gè)生產(chǎn)系統(tǒng)分解為若干個(gè)子系統(tǒng),并為之建立對(duì)應(yīng)的數(shù)學(xué)規(guī)劃模型。在此基礎(chǔ)上,再建立了一個(gè)全局性的順序型多目的廠(chǎng)間歇調(diào)度MILP模型。這種“化整為零”的方法對(duì)解決大規(guī)模調(diào)度問(wèn)題有較好的效果。
在供應(yīng)鏈管理中,已經(jīng)有很多系統(tǒng)優(yōu)化軟件包被廣泛地使用,象ILOG的OPL(Optimization Programming Language)、Dash Optimization公司的XPRESSS-MP等。但是這些軟件包基本上都是采用C或C++語(yǔ)言編寫(xiě),很難被部署運(yùn)行在Web上。從JAVA SDK 2開(kāi)始,JAVA提供了一個(gè)稱(chēng)為JAVA本地接口(JAVA Native Interface,JNI)的新特性[6]。該特性使得JAVA可以很靈活地訪(fǎng)問(wèn)任何用C/C++編寫(xiě)的例程。這樣,當(dāng)使用JAVA來(lái)作為該優(yōu)化系統(tǒng)的開(kāi)發(fā)工具的時(shí)候,可以采用任何基于C/C++的優(yōu)化軟件包作為優(yōu)化引擎,從而保證了本系統(tǒng)的開(kāi)放性,極大地降低了系統(tǒng)開(kāi)發(fā)和部署的難度,同時(shí)也保證了系統(tǒng)開(kāi)發(fā)成功之后可以方便快捷的部署到Web環(huán)境中[7]。圖1展示了該優(yōu)化系統(tǒng)的3層框架。圖2是該系統(tǒng)各層中模塊的組成及相互關(guān)系。
系統(tǒng)的第一層是用戶(hù)端,用來(lái)輸入各種約束條件和數(shù)據(jù),同時(shí)接收來(lái)自Web服務(wù)器的響應(yīng)并在Web上輸出顯示。第二層是Web服務(wù)器,負(fù)責(zé)管理所有來(lái)自用戶(hù)端的請(qǐng)求并與第三層的應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行通訊。應(yīng)用服務(wù)器上運(yùn)行優(yōu)化引擎,通過(guò)計(jì)算輸入數(shù)據(jù),得到優(yōu)化結(jié)果;數(shù)據(jù)庫(kù)服務(wù)器則永久保存所有的輸入輸出數(shù)據(jù)[8]。Web服務(wù)器,應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器可以運(yùn)行在一臺(tái)計(jì)算機(jī)上,但出于性能及安全的考慮,最終上線(xiàn)的系統(tǒng)是將它們分布到不同的計(jì)算機(jī)中運(yùn)行。

用戶(hù)通過(guò)瀏覽器訪(fǎng)問(wèn)Web服務(wù)器,選擇要進(jìn)行的優(yōu)化工作,例如需要進(jìn)行產(chǎn)品需求預(yù)測(cè)。Web服務(wù)器上的JSP程序根據(jù)用戶(hù)的選擇生成并顯示一個(gè)HTML頁(yè)面。在這個(gè)頁(yè)面中,用戶(hù)進(jìn)行約束條件的設(shè)定,輸入優(yōu)化所需基礎(chǔ)數(shù)據(jù)。然后JAVA Servlet將輸入數(shù)據(jù)轉(zhuǎn)換成特定格式的數(shù)據(jù)文件,通過(guò)JNI調(diào)用優(yōu)化引擎中的優(yōu)化模型,計(jì)算得到優(yōu)化結(jié)果。優(yōu)化結(jié)果既可以被保存到數(shù)據(jù)庫(kù)中,供以后調(diào)用,也可以實(shí)時(shí)的以簡(jiǎn)單易懂的形式通過(guò)HTML頁(yè)面顯示給用戶(hù)。用戶(hù)通過(guò)下拉列表選擇感興趣的報(bào)表形式,例如日生產(chǎn)計(jì)劃,每小時(shí)的原料供應(yīng)表和生產(chǎn)報(bào)告,等等。
3實(shí)際運(yùn)行及結(jié)論
實(shí)際上線(xiàn)運(yùn)行中,優(yōu)化系統(tǒng)包括上千個(gè)生產(chǎn)變量和數(shù)百個(gè)約束條件。以前需要數(shù)天才能完成的計(jì)劃表,現(xiàn)在只需幾秒鐘就可完成。這么短的響應(yīng)時(shí)間保證企業(yè)可以針對(duì)市場(chǎng)變化,迅速做出調(diào)整,實(shí)現(xiàn)大規(guī)模定制;優(yōu)化后的生產(chǎn)計(jì)劃不僅最大限度地降低了庫(kù)存,而且可以更好地利用生產(chǎn)和儲(chǔ)運(yùn)能力。本框架成功的將原來(lái)只能在單機(jī)或局域網(wǎng)上運(yùn)行的系統(tǒng)優(yōu)化軟件升級(jí)到Web的分布式平臺(tái)上,使得在不同地理位置的企業(yè)管理者可以通過(guò)瀏覽器隨時(shí)查看到相關(guān)報(bào)表,快速做出運(yùn)營(yíng)決策。這對(duì)于那些跨地區(qū)的生產(chǎn)型企業(yè)尤為重要。該系統(tǒng)優(yōu)化框架雖然是為化工企業(yè)開(kāi)發(fā)的,但它也可以很方便被推廣到其它行業(yè)。JAVA Servlet通過(guò)開(kāi)放接口的JNI來(lái)調(diào)用基于C/C++的優(yōu)化軟件包的這種訪(fǎng)問(wèn)模式也可以被應(yīng)用到企業(yè)其它的Web應(yīng)用中。
參考文獻(xiàn):
[1] Christopher, M. 物流與供應(yīng)鏈管理[M]. 北京:電子工業(yè)出版社,2006.
[2] 馬士華,林勇. 供應(yīng)鏈管理[M]. 北京:機(jī)械工業(yè)出版社,2005.
[3] Hsiang, T. The Illusion of Power[J]. OR/MS Today, 2001,28(2):34-36.
[4]Lee, H.L, V. Padmanabhan, S. Whang. The Bullwhip Effect in Supply Chains[J]. Sloan Management Review, 1997,38(3):93
-102.
[5] 吳建昱,何小榮,陳丙珍,等. 新的多產(chǎn)品間歇生產(chǎn)調(diào)度的MILP模型[J]. 化工學(xué)報(bào),2003,54(9):1251-1256.
[6] Horstmann C., G. Cornell. Java 2核心技術(shù)卷II:高級(jí)特性[M]. 北京:機(jī)械工業(yè)出版社,2005.
[7] Lee Y.M., E.J. Chen. BASF Uses a Framework for Developing Web-Based Production-Planning-Optimization Tools[J]. Interfaces, 2002,32(6):15-24.
[8] 王琴,楊宗凱,吳砥. 基于工作流和JSP/Servlet技術(shù)的網(wǎng)上項(xiàng)目申報(bào)與管理系統(tǒng)設(shè)計(jì)[J]. 計(jì)算機(jī)應(yīng)用研究,2006,23(12):181
-184.