本發(fā)明涉及企業(yè)管理領(lǐng)域,具體地涉及用算法解決制造業(yè)物料采購問題。
背景技術(shù):
隨著全球市場一體化以及信息時(shí)代的來臨,專業(yè)生產(chǎn)能夠發(fā)揮其巨大的作用,企業(yè)采購的比重也大大增加,采購的重要性日益被人們所認(rèn)識。在全球范圍內(nèi),在工業(yè)企業(yè)的產(chǎn)品構(gòu)成中,采購的原料以及零部件成本隨著行業(yè)不同而不同,大體在30%-90%,平均水平在60%以上。從世界范圍來說,對于一個(gè)典型的企業(yè),采購成本(包括原材料,零部件)要占60%。而在中國的工業(yè)企業(yè),各種物資的采購成本要占到企業(yè)銷售成本的70%。顯然采購成本是企業(yè)管理中的主體和核心部分,采購是企業(yè)管理中“最有價(jià)值”的部分。另外,根據(jù)國家經(jīng)貿(mào)委1999年發(fā)布的有關(guān)數(shù)據(jù),如果國有大中型企業(yè)每年降低采購成本2%-3%,則可增加效益500多億人民幣,相當(dāng)于1997年國有工業(yè)企業(yè)實(shí)現(xiàn)的利潤總和。因此,采購受到了社會各界相當(dāng)?shù)闹匾?,促使采購研究成為?dāng)今社會的熱點(diǎn)問題之一。
因此,研究一種高效的智能優(yōu)化方法來解決物料采購問題意義非凡。
進(jìn)化規(guī)劃是一種隨機(jī)優(yōu)化方法,其目的是通過進(jìn)化達(dá)到行為智能化。進(jìn)化規(guī)劃算法從一組隨機(jī)產(chǎn)生的個(gè)體開始進(jìn)行搜索,通過變異、選擇等操作使個(gè)體向著搜索空間中越來越靠近全局最優(yōu)值的區(qū)域進(jìn)化。進(jìn)化規(guī)劃算法是一種成熟的具有魯棒性和廣泛適用性的全局優(yōu)化方法,具有自組織、自優(yōu)化、自學(xué)習(xí)的特性,能夠不受問題性質(zhì)的限制,有效地處理傳統(tǒng)優(yōu)化算法難以解決的復(fù)雜問題。但是,由于過度選擇、變異操作破壞有效個(gè)體和變異算子選取不當(dāng)?shù)仍?,進(jìn)化規(guī)劃算法存在易于過早收斂、搜索效率低、對初始參數(shù)敏感等缺點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
針對現(xiàn)有技術(shù)的上述不足,本發(fā)明提出了一種改進(jìn)的進(jìn)化規(guī)劃算法解決制造業(yè)物料采購問題。
本發(fā)明的目的是克服現(xiàn)有技術(shù)中存在的問題:進(jìn)化規(guī)劃算法存在搜索效率低、計(jì)算精度不夠高等缺點(diǎn)。
本發(fā)明為實(shí)現(xiàn)上述目的所采用的技術(shù)方案是:一種改進(jìn)的進(jìn)化規(guī)劃算法解決制造業(yè)物料采購問題。
該算法的步驟如下:
步驟1:確定采購標(biāo)準(zhǔn):確定采購每個(gè)物料的采購量,一般地,采購標(biāo)準(zhǔn)只是一個(gè)大概的量。
步驟2:選擇備選供應(yīng)商:從供應(yīng)商中選擇滿足采購量約束和資金約束條件的備選供應(yīng)商。
步驟3:選擇初始方案:通過選擇可靠性較高的供應(yīng)商來組成采購方案集X,可靠性較低的供應(yīng)商直接舍棄。
步驟4:計(jì)算平均適應(yīng)度和標(biāo)準(zhǔn)差:按目標(biāo)函數(shù)計(jì)算公式、時(shí)間窗約束條件、適應(yīng)度函數(shù)計(jì)算各方案的適應(yīng)度值平均適應(yīng)度和標(biāo)準(zhǔn)偏差σ。
步驟5:是否得到滿意采購方案:若得到,終止計(jì)算,輸出最低成本即相應(yīng)的采購方案,否則轉(zhuǎn)步驟6。
步驟6:計(jì)算新的采購方案變異量:一個(gè)新的采購方案組成的方案集Y的產(chǎn)生由萊維飛行算法來確定。
步驟7:計(jì)算新的適應(yīng)度值:通過適應(yīng)度函數(shù)公式計(jì)算新方案集Y中各方案的適應(yīng)度值。
步驟8:判斷集合Φ=X∪Y中是否有適應(yīng)度相同的個(gè)體存在,若無,轉(zhuǎn)步驟9,若有,則產(chǎn)生新的個(gè)體來替換重復(fù)適應(yīng)度值個(gè)體。
步驟9:產(chǎn)生新的個(gè)體集:在集合Φ=X∪Y中,采取個(gè)體適應(yīng)度競爭策略,選擇適應(yīng)度函數(shù)較大的L-N0個(gè)方案組成新一輪采購方案集Z。N0是在每一代進(jìn)化過程中諸如的新個(gè)體數(shù)。
步驟10:將X中方案替換為新方案,X=Z+Z′,重復(fù)步驟4到步驟10。
本發(fā)明的有益效果是:
1.利用供應(yīng)商可靠性來作為對初始方案供應(yīng)商的取舍的參考標(biāo)準(zhǔn),簡單有效。
2.通過舍棄一些可靠性較低的供應(yīng)商,較少了算法的計(jì)算量,提高了算法的搜索效率。
3.通過利用萊維飛行算法計(jì)算個(gè)體變異量,使算法計(jì)算結(jié)果更加精確。
附圖說明
圖1為一種改進(jìn)的進(jìn)化法解規(guī)劃算決制造業(yè)物料采購問題流程圖
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下將結(jié)合算法流程圖進(jìn)行詳細(xì)、具體說明。
一、物料采購問題的描述
設(shè)有n類物資{M1,M2,...,Mn}分別從供應(yīng)商S={S1,...,Sn}處采購,每種物資都有m個(gè)采購指標(biāo),如價(jià)格和運(yùn)輸費(fèi)用等。在進(jìn)行采購時(shí),每種物資都選擇一個(gè)指標(biāo)作為主要指標(biāo),其他指標(biāo)作為參考指標(biāo)。如何選擇不同物資的供應(yīng)商,以下將制定一個(gè)采購方案X={X1,X2,...,Xn},Xi={x1,x2,...,xn},Xi∈Si,Si={Si1,Si2,...,Sik},i=1,2,...,n,k為第i組供應(yīng)商數(shù)量,在滿足采購量、訂貨期和資金等約束條件的前提下,使總的采購成本最低。建立規(guī)劃模型如下:
目標(biāo)函數(shù):
其中qi=f(x1,x2,...,xm)為第i類物資的采購量,qixij表示第i類物資關(guān)于指標(biāo)j的成本,xij表示第j個(gè)采購指標(biāo)值,C(Xi)表示第i類物資的采購成本,C(x*)為最優(yōu)采購方案x*的成本,即最優(yōu)成本。
約束條件:
1)采購量約束:采購者和供應(yīng)商對每一項(xiàng)指標(biāo)都允許有一個(gè)浮動的區(qū)間,即:xij∈[T1(j),T2(j)],i=1,2,...,n;j=1,2,...,m
T1(j),T2(j)分別為指標(biāo)的下限和上限。
2)資金約束:每類物資的采購資金需滿足:
qi=f(x1,x2,...,xm)是k次齊次方程,成本函數(shù)c(qi)反映了采購成本與采購量之間的約束關(guān)系,l為采購成本。
3)時(shí)間窗約束:
其中,ti為第i類物資的額訂貨期,t(σ)為各類物資訂貨期的標(biāo)準(zhǔn)差。滿足算法的適應(yīng)度函數(shù):
fi=C(x*)t(σ),i=1,2,...,N
二、具體實(shí)施步驟
步驟1:確定采購標(biāo)準(zhǔn):確定采購每個(gè)物料的采購量一般地,采購標(biāo)準(zhǔn)只是一個(gè)大概的量。
步驟2:選擇備選供應(yīng)商:從供應(yīng)商S1,S2,...,Sn中選擇滿足采購量約束和資金約束條件的備選供應(yīng)商。
步驟3:選擇初始方案:通過選擇可靠性較高的供應(yīng)商來組成采購方案集X,可靠性較低的供應(yīng)商直接舍棄。供應(yīng)商的可靠性用指標(biāo)標(biāo)準(zhǔn)差來刻畫,可靠性越大,則該供應(yīng)商為最優(yōu)采購方案的可能性越大。供應(yīng)商可靠性由物料標(biāo)準(zhǔn)差來刻畫。具體如下:
若滿足σi<ε,ε為規(guī)定的偏差值,則將該供應(yīng)商i組成一個(gè)采購方案{x1,x2,...,xn},若如σi>ε則將該供應(yīng)商舍棄。如此下去,將滿足偏差范圍的供應(yīng)商組成初始方案集X,設(shè)L=|X|。
步驟4:計(jì)算平均適應(yīng)度和標(biāo)準(zhǔn)差:按目標(biāo)函數(shù)計(jì)算公式、時(shí)間窗約束條件、適應(yīng)度函數(shù)計(jì)算各方案的適應(yīng)度值f1,f2,...,fL,平均適應(yīng)度和標(biāo)準(zhǔn)偏差σ。
步驟5:是否得到滿意采購方案:若得到,終止計(jì)算,輸出最低成本即相應(yīng)的采購方案,否則轉(zhuǎn)步驟6。滿意采購方案描述為:當(dāng)某一次的計(jì)算結(jié)果滿足客戶要求,或計(jì)算達(dá)到給定的足夠多的進(jìn)化代數(shù),或接的誤差達(dá)到給定的精度時(shí),此時(shí)的方案稱為滿意的采購方案。只要采購者對方案的評價(jià)結(jié)果滿意,此時(shí)的方案即為算法的解。
步驟6:計(jì)算新的采購方案:L個(gè)新的采購方案組成的方案集Y的產(chǎn)生由萊維飛行算法來確定。具體如下:
個(gè)體變異量的計(jì)算公式:
x′i(j)=xi(j)+α·S
參數(shù)S是隨機(jī)游動的步長,計(jì)算公式如下:
其中,β是一個(gè)[1,2]之間的參數(shù),一般取β=1.5,u和v服從正態(tài)分布,如下所示:
其中,
步驟7:計(jì)算新的適應(yīng)度值:通過適應(yīng)度函數(shù)公式計(jì)算新方案集Y中各方案的適應(yīng)度值,fL+1,fL+2,...,f2L。
步驟8:判斷集合Φ=X∪Y中是否有適應(yīng)度相同的個(gè)體存在,若無,轉(zhuǎn)步驟9,若有,則產(chǎn)生新的個(gè)體來替換重復(fù)適應(yīng)度值個(gè)體,產(chǎn)生新個(gè)體計(jì)算公式:
步驟9:產(chǎn)生新的個(gè)體集:在集合Φ=X∪Y中,采取個(gè)體適應(yīng)度競爭策略,選擇適應(yīng)度函數(shù)較大的L-N0個(gè)方案組成新一輪采購方案集Z。N0是在每一代進(jìn)化過程中諸如的新個(gè)體數(shù),產(chǎn)生新個(gè)體集為Z′。新個(gè)體集產(chǎn)生方式為:
步驟10:將X中方案替換為新方案,X=Z+Z′,重復(fù)步驟4到步驟10。