朱佳棟 蘇少輝 陳 昌 劉桂英
杭州電子科技大學(xué)機(jī)械工程學(xué)院,杭州,310018
隨著大規(guī)模定制的飛速發(fā)展和新產(chǎn)品的不斷涌現(xiàn),產(chǎn)品配置作為實(shí)現(xiàn)大規(guī)模定制的一個(gè)重要手段,越來(lái)越受到企業(yè)的關(guān)注。產(chǎn)品配置的過程中,企業(yè)大多是先分解和分析用戶的需求和偏好,再將其轉(zhuǎn)化成為設(shè)計(jì)參數(shù)并作為產(chǎn)品配置的輸入,使得用戶不能積極地參與到產(chǎn)品配置過程,導(dǎo)致設(shè)計(jì)出來(lái)的產(chǎn)品不能完全滿足用戶的偏好和需求。
為在產(chǎn)品配置中更快和更有效地獲取用戶需求,同時(shí)降低成本、提高效率,人們將一系列互動(dòng)進(jìn)化計(jì)算(IEC)方法用于產(chǎn)品定制。TSENG等[1]提出的方法可以在有效縮短時(shí)間和降低設(shè)計(jì)成本的前提下,生產(chǎn)令用戶滿意的新產(chǎn)品。KIM等[2]、尤海峰[3]開發(fā)了一種能在產(chǎn)品定制中使用交互式遺傳算法(interactive genetic algorithm,IGA)進(jìn)行服裝設(shè)計(jì)的系統(tǒng)。
雖然IGA可以有效地解決一些不能由函數(shù)來(lái)進(jìn)行直接計(jì)算的隱性性能優(yōu)化問題[4],但是,IGA在使用中還存在著一個(gè)顯著的問題——用戶疲勞。目前,改善用戶疲勞的方法有幾種,如縮短評(píng)估的時(shí)間、減少進(jìn)化代數(shù)、加速收斂算法等[5]。盡管這些方法可以在一定程度上減少用戶疲勞,但忽視了不同用戶有不同偏好的實(shí)際情況,不能有效地用于產(chǎn)品配置。本文根據(jù)IGA的特點(diǎn),對(duì)IGA進(jìn)行改進(jìn)優(yōu)化,減少用戶疲勞,并在產(chǎn)品配置中可以更有效地獲得用戶偏好和需求。
企業(yè)想要在激烈的市場(chǎng)競(jìng)爭(zhēng)中站穩(wěn)腳跟,就必須滿足用戶的不同需求,加快產(chǎn)品的創(chuàng)新,生產(chǎn)出能夠滿足不同用戶的產(chǎn)品。因此,大規(guī)模定制的概念也隨之產(chǎn)生,產(chǎn)品配置作為實(shí)現(xiàn)大規(guī)模定制的重要手段和方法,是為了在滿足用戶需求的同時(shí),提高企業(yè)的效率,降低成本。
產(chǎn)品配置過程比較復(fù)雜,具體的流程如圖1所示。產(chǎn)品配置的求解就是利用現(xiàn)有資源,根據(jù)用戶的偏好需求,配置出符合用戶要求的產(chǎn)品[6]。如何快速找出用戶偏好的產(chǎn)品組件,并將它們配置成令用戶滿意的產(chǎn)品,這其中包括了如何處理組件的組裝、使用和外觀等多方面的問題。
圖1 產(chǎn)品配置框架Fig.1 Product configuration framework
通過產(chǎn)品配置可以實(shí)現(xiàn)產(chǎn)品的多樣化,從而滿足不同的用戶需求。產(chǎn)品配置是產(chǎn)品創(chuàng)新的一個(gè)重用手段,產(chǎn)品配置過程中,可以運(yùn)用交互式遺傳算法對(duì)用戶需求進(jìn)行處理。通過對(duì)產(chǎn)品的拆分和分類,運(yùn)用IGA對(duì)產(chǎn)品的每個(gè)組件或模塊進(jìn)行分類編碼,根據(jù)每個(gè)用戶對(duì)產(chǎn)品的不同要求,配置出具有相應(yīng)功能的產(chǎn)品。與此同時(shí),IGA可以應(yīng)用于配置結(jié)果的評(píng)價(jià)中,運(yùn)用算法可以得到每個(gè)配置的結(jié)果,并將這些結(jié)果進(jìn)行反饋。最終對(duì)這些配置結(jié)果進(jìn)行評(píng)價(jià),得到每個(gè)配置結(jié)果的適應(yīng)度,通過適應(yīng)度來(lái)識(shí)別配置結(jié)果符合用戶需求的程度。
傳統(tǒng)IGA的流程如圖2所示,用戶通過IGA來(lái)評(píng)價(jià)個(gè)體的適應(yīng)值[7],長(zhǎng)時(shí)間、大量重復(fù)的評(píng)價(jià)必然會(huì)造成用戶疲勞,因此需要對(duì)其進(jìn)行優(yōu)化和改進(jìn)。首先,從用戶對(duì)種群的認(rèn)識(shí)角度來(lái)看,整個(gè)種群是逐漸從簡(jiǎn)單演變到復(fù)雜的,初始階段的種群相對(duì)簡(jiǎn)單,因此用戶獲得關(guān)于種群的知識(shí)也相對(duì)簡(jiǎn)單,可以有效地避免由于用戶對(duì)種群認(rèn)知的局限而對(duì)進(jìn)化的種群作出不準(zhǔn)確的評(píng)價(jià);其次,從產(chǎn)品配置的角度來(lái)看,用戶也可以像設(shè)計(jì)師一樣逐漸參與到產(chǎn)品配置過程中。
圖2 交互式遺傳算法流程圖Fig.2 Interactive genetic algorithm flow chart
假設(shè)fn(x)是用戶評(píng)估進(jìn)化個(gè)體x的適應(yīng)度,S為個(gè)體x的搜索空間,n表示種群進(jìn)化的階段,通過求適應(yīng)度的最大值來(lái)優(yōu)化算法:
max fn(x)x∈S
遺傳算法中,變異體現(xiàn)為變量的改變,即把1變成0,或0變成1[8],例如10位變量的第5位發(fā)生了翻轉(zhuǎn),從0111011010變異為0111111010。
為了讓種群在進(jìn)化的過程當(dāng)中,在獲得優(yōu)良個(gè)體的基礎(chǔ)上提高局部的搜索效率,并保持個(gè)體的差異性,防止發(fā)生提前收斂,對(duì)變異算子進(jìn)行了改進(jìn)。
種群中個(gè)體發(fā)生變異的概率
式中,pm為原始變異的概率;L為位串長(zhǎng)度。
對(duì)于給定的均勻隨機(jī)變量x∈[0,1],如果x≤Pm(xi(t)),那么個(gè)體就產(chǎn)生變異,反之則不產(chǎn)生變異。
應(yīng)保證整個(gè)種群在傳統(tǒng)變異概率的期望次數(shù)(nLpm)與新的基因變異概率期望次數(shù)相同,即
在第s代種群選擇、交叉所產(chǎn)生的結(jié)果當(dāng)中,對(duì)選擇的個(gè)體進(jìn)行隨機(jī)變異操作的表達(dá)式為
由于Pm(xi(t))?1,所以相比傳統(tǒng)變異方式,新變異方式減少了計(jì)算量。為了獲得更合適的變異個(gè)體,通過引入黃金分割變異來(lái)得到最適變異個(gè)體[9]:
不同階段,種群的復(fù)雜性不同。與傳統(tǒng)的交互式遺傳算法相比,通過添加參數(shù)N來(lái)表示新的進(jìn)化階段。雖然算法過程會(huì)變得復(fù)雜,卻更具有方向性。隨著演變的不斷進(jìn)行,用戶可以對(duì)不同階段的產(chǎn)品配置有更好的了解,也會(huì)有更好的評(píng)價(jià)。
對(duì)于遺傳操作,隨著新模塊的出現(xiàn),將分為兩個(gè)步驟:
(1)選擇在每個(gè)種群最后階段具有高度適應(yīng)的進(jìn)化個(gè)體,并且由
(2)選擇新的基因型模塊。新基因型模塊的等位基因適應(yīng)度不固定,因此通過第一步選擇的個(gè)體來(lái)判斷用戶偏好。系統(tǒng)將搜索相似偏好的用戶,并根據(jù)步驟(1)的評(píng)估值來(lái)產(chǎn)生等位基因。
經(jīng)過上述步驟后,最后一代進(jìn)化個(gè)體與隨機(jī)選擇的基因型模板一一對(duì)應(yīng),并且相應(yīng)產(chǎn)生新階段的第一代群體。
由算法流程圖(圖3)可以看到,相比于傳統(tǒng)的IGA,本文所提算法的控制參數(shù)是根據(jù)不同進(jìn)化階段進(jìn)行設(shè)置的;該算法比傳統(tǒng)IGA更容易確定終止的進(jìn)化代數(shù),體現(xiàn)了遺傳算法的核心特征。此外,當(dāng)進(jìn)入新階段時(shí),系統(tǒng)將搜索具有相似偏好的用戶以實(shí)現(xiàn)多用戶的協(xié)作演進(jìn),來(lái)減輕用戶疲勞,提高局部搜索效率。
圖3 改進(jìn)后的算法流程圖Fig.3 Improved algorithm flow chart
由于不同用戶對(duì)產(chǎn)品的需求不同,因此以多功能液壓千斤頂產(chǎn)品配置為例[10],對(duì)改進(jìn)后的算法進(jìn)行應(yīng)用驗(yàn)證。
合適的編碼對(duì)算法運(yùn)算求解有著比較大的影響,根據(jù)用戶需求,將多功能千斤頂產(chǎn)品配置的編碼大致設(shè)定為四個(gè)部分:起重質(zhì)量;起重行程;是否有照明系統(tǒng);最大舉升高度。
根據(jù)多功能液壓千斤頂?shù)娜S圖及用戶的需求,將配置要求用二進(jìn)制編碼表示出來(lái)。起重質(zhì)量的編碼為0000、0001、0010、…;起重行程的編碼為0000、0001、…;是否有照明系統(tǒng)的編碼為01、10;最大舉升高度的編碼為00000、00001、00010。每個(gè)個(gè)體的編碼共有15位,多功能千斤頂?shù)幕蚓幋a如圖4所示。
圖4 多功能液壓千斤頂基因編碼圖Fig.4 Multi-functional hydraulic jack gene coding map
為了更好地找到最優(yōu)個(gè)體,每一代的規(guī)模既不能太大,也不能太小,太大使搜索空間變大,導(dǎo)致用戶容易產(chǎn)生疲勞;太小容易局部收斂。所以本文選擇種群大小Ns=5,令同一階段的交叉概率為0.8,突變概率為0.09;令跨階段的交叉概率為1,突變概率為0。進(jìn)化終止條件如下:種群終止的階段數(shù)為5,在終止階段之前,若有用戶滿意的個(gè)體產(chǎn)生,則用戶可終止種群的進(jìn)化。
通過上述編碼和參數(shù)設(shè)置,對(duì)其產(chǎn)品配置進(jìn)行實(shí)驗(yàn),通過實(shí)驗(yàn)來(lái)檢驗(yàn)改進(jìn)IGA是否符合要求。
3.3.1 適應(yīng)度函數(shù)
將用戶的評(píng)價(jià)分為三種:符合(3分)、一般(2分)、不符合(1分),再將每一位用戶的評(píng)價(jià)相加,得出總分?jǐn)?shù)。當(dāng)總結(jié)果相同時(shí),可以通過應(yīng)用共識(shí)度標(biāo)準(zhǔn)來(lái)得出適應(yīng)度[11]。
設(shè)共識(shí)度為G,則可以得到
3.3.2 實(shí)驗(yàn)結(jié)果
為了檢驗(yàn)所提出的算法,根據(jù)用戶1的需求偏好:起重質(zhì)量為3 t,起重行程為250 mm,需要照明系統(tǒng),最大舉升高度為400 mm,得到配置結(jié)果,如表1所示。
用戶2的需求偏好:起重質(zhì)量為2 t,起重行程為350 mm,無(wú)照明系統(tǒng),最大舉升高度為500 mm,配置結(jié)果如表2所示。
表1 用戶1配置結(jié)果Tab.1 User 1 configuration results
表2 用戶2配置結(jié)果Tab.2 User 2 configuration results
通過用戶評(píng)價(jià),對(duì)新舊IGA算法的進(jìn)化代、評(píng)估的個(gè)體數(shù)目、評(píng)估的時(shí)間以及適應(yīng)度進(jìn)行比較,結(jié)果數(shù)據(jù)如表3所示。
表3 傳統(tǒng)的交互式遺傳算法與新的交互式遺傳算法的比較Tab.3 Comparison of traditional interactive genetic algorithm with new interactive genetic algorithm
比較和分析新舊IGA的運(yùn)算結(jié)果,對(duì)它們的平均進(jìn)化代比較可知,傳統(tǒng)IGA高于新IGA;其次,對(duì)于平均評(píng)價(jià)的個(gè)體數(shù)目,傳統(tǒng)IGA也高得多。
通過用戶評(píng)價(jià)得出個(gè)體適應(yīng)度,并令X軸表示進(jìn)化代,Y軸表示進(jìn)化個(gè)體在每一代的適應(yīng)度,可得到圖5所示的結(jié)果。
圖5 進(jìn)化個(gè)體適應(yīng)度的比較Fig.5 Evolution of individual fitness
比較兩種IGA可知,在產(chǎn)品配置中,新IGA可以大大縮短用戶評(píng)價(jià)產(chǎn)品配置結(jié)果的時(shí)間,更快配置出令用戶滿意的產(chǎn)品,減少用戶疲勞。隨著進(jìn)化代的不斷增加,配置出產(chǎn)品結(jié)果的適應(yīng)度也不斷提高,相應(yīng)的用戶滿意度也隨之提高。將新IGA運(yùn)用到產(chǎn)品配置中,可以有效地提高企業(yè)的生產(chǎn)效率并降低生產(chǎn)成本,增強(qiáng)了企業(yè)的市場(chǎng)競(jìng)爭(zhēng)力。
改進(jìn)的交互式算法可以根據(jù)進(jìn)化階段,將個(gè)體分成不同的遺傳單元,通過具有相似偏好的用戶來(lái)進(jìn)行多用戶協(xié)同配置設(shè)計(jì),可以較好地減少用戶疲勞,還可以快速方便地獲得用戶要求,配置出令用戶滿意的產(chǎn)品。但是,所提出的算法進(jìn)行的實(shí)驗(yàn)較少,在后續(xù)的研究中,還需要通過更多的實(shí)驗(yàn)進(jìn)行測(cè)試和研究,進(jìn)而完善算法,從而更好地滿足不同用戶的需求。