郭 晨,李龐聰,王 磊
(1 武漢理工大學(xué) 安全科學(xué)與應(yīng)急管理學(xué)院,湖北 武漢 430070;2.武漢理工大學(xué) 機(jī)電工程學(xué)院,湖北 武漢 430070)
近年來(lái),國(guó)內(nèi)外學(xué)者針對(duì)產(chǎn)品配置問(wèn)題展開(kāi)了大量的研究。張雷[1]等將綠色產(chǎn)品需求轉(zhuǎn)化為配置約束,并在回溯算法中加入約束過(guò)濾模塊與建議性約束滿足模塊,求解豆?jié){機(jī)的配置方案。Dong等[2]通過(guò)將結(jié)構(gòu)化產(chǎn)品的結(jié)構(gòu)知識(shí)轉(zhuǎn)化為動(dòng)態(tài)約束配置里的編碼,減小了DCSP(distributed constraint optimization problem)中編碼變量的數(shù)量,并采用回溯搜索求得最優(yōu)解。趙燕偉等[3]提出根據(jù)不同的局部相似度類型,為實(shí)例動(dòng)態(tài)賦權(quán)的可拓展相似度計(jì)算方法,并結(jié)合客戶偏好計(jì)算配置方案總體相似度。肖剛等[4]提出了一種加權(quán)歐式距離計(jì)算方法求解待配置產(chǎn)品與歷史實(shí)例的相似性。Wang等[5]提出了一種基于灰度粗糙模型的客戶需求分析方法,將不確定的客戶需求轉(zhuǎn)化為確定的產(chǎn)品技術(shù)特征及技術(shù)特征重要度,采用了一種無(wú)監(jiān)督的自學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)技術(shù)-自組織映射方法(self-organizing map, SOM)對(duì)案例庫(kù)中的案例進(jìn)行聚類以縮小檢索范圍,提出了一種基于模糊相似度優(yōu)先比的相似度度量方法來(lái)獲取相似的案例。Wei等[6]以性能、成本、時(shí)間為目標(biāo)對(duì)產(chǎn)品進(jìn)行配置,采用NSGA-II(non-dominated sorted genetic algorithm-II)算法求解配置方案,提出了一種基于模糊度的配置方案評(píng)估與選擇機(jī)制在Pareto前沿中選擇最優(yōu)方案。Tang等[7]建立了一種同時(shí)考慮用戶滿意度與產(chǎn)品全生命周期碳排放的模型,并采用遺傳算法求解最優(yōu)配置方案。
筆者在傳統(tǒng)產(chǎn)品配置的研究目標(biāo)上,考慮醫(yī)療器械生產(chǎn)過(guò)程中,回料對(duì)產(chǎn)品可靠性與成本的影響,建立了精密過(guò)濾輸液器產(chǎn)品配置優(yōu)化模型。針對(duì)本模型決策變量空間與解空間過(guò)大的問(wèn)題,提出了一種改進(jìn)NSGA-III算法,增加了種群混沌映射初始化與局部搜索算子,改善了NSGA-III算法在局部搜索能力上的不足。最后,結(jié)合某醫(yī)療器械企業(yè)的產(chǎn)品實(shí)際案例,通過(guò)與NSGA-III算法、CS(cuckoo search)算法、Pareto-IMODCS(pareto-inproved multiple-objective discrete cu ckoo search)算法進(jìn)行對(duì)比,證明了改進(jìn)NSGA-III的可行性與優(yōu)越性。
輸液器在部件的生產(chǎn)過(guò)程中,不可避免地會(huì)生產(chǎn)出帶有污點(diǎn)、外觀變形等不合格缺陷的部件。不合格的部件經(jīng)過(guò)質(zhì)檢篩選后,部分會(huì)重新粉碎成塑料原料(經(jīng)過(guò)重新粉碎的塑料原料定義為回料)。研究表明,回料過(guò)程中的后處理會(huì)引起ABS中的聚丁二烯斷裂,降低回料與原料混合后的沖擊強(qiáng)度[8]、抗拉強(qiáng)度、抗扭強(qiáng)度[9]等機(jī)械性能,造成零部件可靠性下降。生產(chǎn)實(shí)踐的統(tǒng)計(jì)數(shù)據(jù)顯示,零部件的可靠性隨回料增加呈線性降低的趨勢(shì)。精密過(guò)濾輸液器任意模塊的失效都將導(dǎo)致產(chǎn)品整體的失效,因此精密過(guò)濾輸液器是一個(gè)串聯(lián)系統(tǒng)。串聯(lián)系統(tǒng)的模型如圖1所示。
圖1 串聯(lián)系統(tǒng)模型可靠性框圖[10]
(1)
式中:Rt為配置方案可靠性;n為模塊數(shù)量;ni為第i個(gè)模塊的實(shí)例數(shù)量;bij為0-1整數(shù)變量,表示第i個(gè)模塊的第j個(gè)實(shí)例是否被選中參與配置;R(mij)為實(shí)例mij的可靠性。
R(mij)=Rij-αij·rij
(2)
式中:αij為常數(shù),表示回料比例與實(shí)例可靠性之間的相關(guān)性;Rij為第i個(gè)模塊的第j個(gè)實(shí)例在不使用回料情況下的可靠性;rij第i個(gè)模塊的第j個(gè)實(shí)例的回料比例。
配置方案的總成本優(yōu)化數(shù)學(xué)模型為:
pW(mij)(1+rij(θ-1)))
(3)
式中:Ct為配置方案的總成本;W(mij)為第i個(gè)模塊的第j個(gè)實(shí)例需要的原材料數(shù)量;p為原材料單位價(jià)格;Cz(mij)為第i個(gè)模塊的第j個(gè)實(shí)例的制造成本;θ為配置方案中使用回料時(shí)計(jì)算成本的折扣比例。
式(3)表示配置方案總成本,應(yīng)盡可能小。總成本由配置方案的材料成本和除材料以外的所有制造成本構(gòu)成,其中θ為經(jīng)驗(yàn)值,由設(shè)計(jì)人員與財(cái)務(wù)人員分析和歸納歷史數(shù)據(jù)后確定。
配置方案的總生產(chǎn)時(shí)間應(yīng)盡可能短,其優(yōu)化教學(xué)模型為:
(4)
式中:T(mij)為第i個(gè)模塊的第j個(gè)實(shí)例的生產(chǎn)時(shí)間;Tt為方案總生產(chǎn)時(shí)間。
配置方案的可靠性在實(shí)際生產(chǎn)中應(yīng)盡可能高。配置方案的可靠性優(yōu)化模型為:
(5)
為了便于計(jì)算,統(tǒng)一所有目標(biāo)函數(shù)為最小值。將最大化可靠性目標(biāo)函數(shù)做取反處理,得到對(duì)應(yīng)的最小化可靠性函數(shù)minNRt=-Rt。
模型的不等式約束如下:
F(xi)={minCt,minTt,minNRt}
g1≤0
g2=RSd+RSr
(6)
式中:xi=[xi1,xi2,…,xin]為配置問(wèn)題的一個(gè)解,n為產(chǎn)品的模塊數(shù)量;g1為成本、原材料等約束;g2為配置方案的實(shí)例依賴約束和排斥約束的總違反次數(shù),g2=0時(shí)表示配置方案滿足實(shí)例依賴排斥約束,g2值越大表示配置方案在該約束上的違反程度越大;RSd為實(shí)例間的依賴約束,RSr為實(shí)例間的排斥約束。
采用懲罰函數(shù)法與多目標(biāo)優(yōu)化法相結(jié)合的混合方法,以懲罰函數(shù)作為當(dāng)前解對(duì)約束條件違反程度的度量,將其作為第四維目標(biāo)函數(shù)求解最小值。個(gè)體違反約束條件程度的度量函數(shù)定義如下:
(7)
(8)
式中:cj=max(0,gj(x)),j=1,2,…,k。
顯然,約束違反度越低,表示配置方案對(duì)約束的滿足程度越高,CV=0的配置方案沒(méi)有違反任何約束,為完全可行方案。此時(shí),式(6)中的目標(biāo)函數(shù)F(x)可轉(zhuǎn)化為:
F1(xi)={minCt,minTt,minNRt,minCV}
(9)
產(chǎn)品配置方案以一段整數(shù)編碼的染色體表示。染色體信息由兩部分構(gòu)成,前半部分代表可配置模塊,基因值的取值范圍由可配置實(shí)例的索引值組成。染色體信息的后半部分代表染色體前半部分選中的模塊實(shí)例在生產(chǎn)中使用的回料比例。產(chǎn)品配置方案的基因編碼如圖2所示。
圖2 產(chǎn)品配置方案基因編碼
2.2.1 選擇算子
為保留種群中的優(yōu)秀個(gè)體,采用一種精英保留策略與錦標(biāo)賽機(jī)制相結(jié)合的選擇算子。在生成交配池過(guò)程中,優(yōu)先將非支配序?yàn)?的個(gè)體放入交配池,在剩下的父代中通過(guò)錦標(biāo)賽機(jī)制選擇更優(yōu)秀的個(gè)體,直到交配池?cái)?shù)量達(dá)到標(biāo)準(zhǔn)種群大小。
2.2.2 交叉算子
采用單點(diǎn)交叉的方式,從交叉操作池中隨機(jī)選出兩個(gè)染色體,生成一個(gè)隨機(jī)值,根據(jù)隨機(jī)值的大小是否滿足交叉概率來(lái)決定是否進(jìn)行交叉操作。隨機(jī)指定一個(gè)位置作為參與交叉操作的父代染色體的交叉點(diǎn),交換父代染色體在交叉點(diǎn)上的基因值,產(chǎn)生子代染色體,交叉過(guò)程如圖3所示。
圖3 交叉操作
2.2.3 變異算子
采用隨機(jī)多點(diǎn)多項(xiàng)式變異算子,在交叉生成的子代染色體上,隨機(jī)選取1到L個(gè)位置進(jìn)行多項(xiàng)式變異,L取決策變量個(gè)數(shù)的三分之一。多項(xiàng)式變異公式為:
xk′=xk+δ(uk-lk)
(10)
δ=
(11)
式中:δ1=(xk-lk)/(uk-lk);δ2=(uk-xk)/(uk-lk);uk、lk為變量xk的上下限;u為[0,1]區(qū)間內(nèi)的隨機(jī)數(shù);ηm為常數(shù),表示分布指數(shù),此處取11。
變異操作如圖4所示。
圖4 變異操作
2.2.4 局部搜索算子
針對(duì)NSGA-III的不足,筆者提出了一種基于powell法的自適應(yīng)局部搜索算子。在算法迭代初期,較大的步長(zhǎng)可以在全局范圍內(nèi)搜索,使計(jì)算結(jié)果快速靠近Pareto前沿。隨著迭代次數(shù)的增加,步長(zhǎng)逐漸縮短,個(gè)體在自身附近搜索,提高了種群逼近Pareto前沿的能力。根據(jù)迭代次數(shù)自適應(yīng)調(diào)整步長(zhǎng)。步長(zhǎng)ψ計(jì)算公式為:
ψ=0.1+0.9exp^(-3g/G)
(12)
式中:g為當(dāng)前迭代次數(shù);G為總迭代次數(shù)。
局部搜索算子的步驟為:
步驟1檢查是否滿足局部搜索條件,若滿足,進(jìn)行后續(xù)操作;若不滿足,直接進(jìn)入下一次迭代。根據(jù)當(dāng)前迭代次數(shù),確定搜索步長(zhǎng)的范圍ψ。
步驟2篩選種群中的Pareto第一前沿個(gè)體,以個(gè)體作為搜索中心Q0,確定一組方向Di(i=1,2,…,n),n為決策變量個(gè)數(shù);
步驟3從初始點(diǎn)Q0出發(fā),沿著方向Di進(jìn)行一維搜索,得到結(jié)果Qi,局部搜索變異公式為:
xk′=xk+rand(ψ)(uk-lk)
(13)
式中:rand(ψ)為取值在[-ψ,ψ]之間的隨機(jī)數(shù)。
若Qi不在變量上下限范圍內(nèi),對(duì)Qi進(jìn)行越界處理,越界處理公式為:
(14)
步驟4將每一次的搜索結(jié)果與搜索中心合并后,根據(jù)選擇算子,選取出最優(yōu)個(gè)體代替Q0。
筆者采用6個(gè)帶偏約束的數(shù)值MOEA(multi-objective evolutionary algorithm)測(cè)試函數(shù)集[11]作為測(cè)試函數(shù),并在所建立的數(shù)學(xué)模型中加入了一個(gè)隨機(jī)算例。改進(jìn)NSGA-III算法與非支配排序遺傳算法III、布谷鳥(niǎo)搜索算法CS、基于Pareto改進(jìn)的多目標(biāo)離散布谷鳥(niǎo)搜索算法(Parteo-IMODCS)[12]4個(gè)算法在每個(gè)測(cè)試函數(shù)下獨(dú)立運(yùn)行10次,取每次運(yùn)算的ER(error ratio)和IGD(inverted generation distance)計(jì)算平均值作為測(cè)試結(jié)果。如表1所示,在多數(shù)測(cè)試函數(shù)下,改進(jìn)NSGA-III算法的評(píng)價(jià)指標(biāo)優(yōu)于其他3種算法,證實(shí)了改進(jìn)算法的合理性與有效性。
表1 算法對(duì)比測(cè)試結(jié)果
針對(duì)本文建立的精密過(guò)濾輸液器產(chǎn)品配置設(shè)計(jì)問(wèn)題多目標(biāo)多約束優(yōu)化模型,以某醫(yī)療器械制造企業(yè)產(chǎn)品為例,企業(yè)生產(chǎn)的精密過(guò)濾輸液器共有15個(gè)模塊。采用筆者提出的改進(jìn)NSGA-III算法進(jìn)行仿真求解,獲得配置方案的Pareto前沿。算法運(yùn)行環(huán)境為Windows 10,Intel(R)Core(TM) i5-8400 CPU @2.80 GHz,16 GB內(nèi)存,編程語(yǔ)言為Matlab 2018b。
取企業(yè)期望利潤(rùn)率β=20%,約束條件為客戶可接受的價(jià)格Ce=16.7,客戶可接受的可靠性Re=200,客戶可接受的生產(chǎn)時(shí)間Te=0.998,可用原材料庫(kù)存Wy=25,可用回料庫(kù)存Wh=12,模塊1的實(shí)例3與模塊4的實(shí)例3為依賴關(guān)系(x1,3-x4,3=0),模塊4的實(shí)例3與模塊9的實(shí)例2為互斥關(guān)系(x4,3+x9,2≤1)。優(yōu)化結(jié)果如圖5和圖6所示,可以看到Pareto前沿較為均勻地分布在可行解空間中,成本、時(shí)間、可靠性3個(gè)目標(biāo)函數(shù)的平均值隨著迭代次數(shù)的增加而變化,并隨著算法的尋優(yōu)逐步收斂,最終進(jìn)化曲線趨于平直線。
圖5 精密過(guò)濾輸液器產(chǎn)品配置優(yōu)化解集
圖6 各目標(biāo)函數(shù)均值迭代曲線圖
在傳統(tǒng)的產(chǎn)品配置優(yōu)化設(shè)計(jì)研究基礎(chǔ)上,針對(duì)醫(yī)療器械高可靠性的特點(diǎn),將可靠性作為產(chǎn)品配置方案求解的目標(biāo)函數(shù)建立模型。針對(duì)實(shí)際產(chǎn)品配置中存在的成本、時(shí)間等約束,采用懲罰函數(shù)法與多目標(biāo)優(yōu)化法結(jié)合的方式處理約束條件,通過(guò)約束違反度將約束條件轉(zhuǎn)化為目標(biāo)函數(shù)求解最小值。為了從大量的產(chǎn)品配置方案中快速獲得滿足企業(yè)與顧客需求的配置方案,筆者提出了一種改進(jìn)NSGA-III算法求解產(chǎn)品配置問(wèn)題。該算法在傳統(tǒng)NSGA-III算法的基礎(chǔ)上,加入了混沌搜索生成初始種群,保證了初始種群在決策變量空間上的遍歷性與均勻性。在種群進(jìn)化過(guò)程中加入多點(diǎn)多項(xiàng)式變異與基于powell法的自適應(yīng)局部搜索算子,增強(qiáng)了NSGA-III算法的局部搜索能力。通過(guò)與NSGA-III、CS、Pareto-IMODCS進(jìn)行對(duì)比,驗(yàn)證了筆者提出的改進(jìn)NSGA-III算法求解結(jié)果的多樣性與收斂性。最后,將改進(jìn)NSGA-III算法應(yīng)用于某醫(yī)療器械制造企業(yè)的實(shí)際案例,有效地獲得優(yōu)化的精密過(guò)濾輸液器配置方案。