焦玉民,徐 婷,劉 斌,于光亮
(1.94679部隊(duì),南京210038; 2.陸軍工程大學(xué) 野戰(zhàn)工程學(xué)院,南京 210007)
國(guó)家自然科學(xué)基金青年基金資助項(xiàng)目(51505498)
焦玉民(1984—),男,工程師,博士.E-mail:602093540@qq.com
基于混合遺傳算法的虛擬裝配作業(yè)過(guò)程規(guī)劃
焦玉民1,徐 婷2,劉 斌2,于光亮1
(1.94679部隊(duì),南京210038; 2.陸軍工程大學(xué) 野戰(zhàn)工程學(xué)院,南京 210007)
提出了一種基于回報(bào)機(jī)制和逆向求解機(jī)制的裝配作業(yè)規(guī)劃方法.使用遺傳算法與Q學(xué)習(xí)算法相結(jié)合,共同對(duì)作業(yè)過(guò)程規(guī)劃問(wèn)題進(jìn)行求解.構(gòu)建適合信息融合和進(jìn)化計(jì)算的“維修元”模型,并將“維修元”進(jìn)行排列組合,構(gòu)成裝配作業(yè)序列,解決裝配作業(yè)過(guò)程中的信息融合問(wèn)題.為保證作業(yè)序列的可行性和維修元的可操作性,將特征匹配機(jī)制作為啟發(fā)機(jī)制,避免不可行序列參與進(jìn)化計(jì)算,提高進(jìn)化效率,解決了虛擬裝配過(guò)程中多要素融合條件下的規(guī)劃問(wèn)題.
混合遺傳算法; 虛擬裝配; 過(guò)程規(guī)劃; 維修元
虛擬維修訓(xùn)練系統(tǒng)作為一種智能化的訓(xùn)練手段,以其突出的特點(diǎn)和優(yōu)勢(shì),成為訓(xùn)練模式向現(xiàn)代化發(fā)展的必然趨勢(shì).虛擬維修訓(xùn)練過(guò)程設(shè)計(jì)越來(lái)越注重訓(xùn)練內(nèi)容的完整性和實(shí)用性[1-2].拆卸與裝配是訓(xùn)練過(guò)程模型設(shè)計(jì)的重要內(nèi)容,但對(duì)比于拆卸過(guò)程,裝配過(guò)程涉及的維修要素類型復(fù)雜很多.目前,在具備規(guī)劃功能的虛擬維修訓(xùn)練系統(tǒng)中,規(guī)劃方法均較注重結(jié)果的有效性,忽視了操作者的作用,對(duì)于與操作者緊密聯(lián)系的工藝性內(nèi)容(維修工具選擇、維修行為選擇、裝配類型判斷等)涉及較少.如何將眾多不同種類的信息進(jìn)行融合,并應(yīng)用于作業(yè)過(guò)程的實(shí)時(shí)規(guī)劃,是裝配作業(yè)過(guò)程規(guī)劃研究的重點(diǎn).
有向圖方法憑借圖形化描述和參數(shù)化表達(dá)的優(yōu)勢(shì),能夠較為完整地記錄維修作業(yè)過(guò)程中發(fā)生的事件,因此常被用于過(guò)程建模[3-4];但由于該方法缺乏智能特性,難以將不同類型的信息進(jìn)行規(guī)劃,對(duì)操作者的指導(dǎo)意義有限.智能算法作為目標(biāo)優(yōu)化問(wèn)題的求解方法,被廣泛應(yīng)用于作業(yè)規(guī)劃問(wèn)題[5-6];但智能算法的編碼方式很難做到表達(dá)全部的維修知識(shí)信息,更重要的是,對(duì)于裝配過(guò)程這類工程類問(wèn)題,運(yùn)算過(guò)程會(huì)頻繁得到不可行解,極大地影響了進(jìn)化效率和準(zhǔn)確率[7].Q學(xué)習(xí)算法作為一種逆向求解的學(xué)習(xí)算法[8],支持從結(jié)果向原因逆向推理,借助啟發(fā)機(jī)制,可以有效避免不可行序列參與進(jìn)化計(jì)算.
針對(duì)上述問(wèn)題,選取虛擬維修作業(yè)過(guò)程中與操作者相關(guān)的典型要素(維修工具、維修行為、裝配類型)作為規(guī)劃內(nèi)容,構(gòu)建“維修元”模型作為信息融合設(shè)計(jì)方案,使用遺傳算法和Q學(xué)習(xí)算法共同對(duì)規(guī)劃問(wèn)題進(jìn)行求解.為避免不可行序列參與進(jìn)化計(jì)算,使用零件空間干涉機(jī)制和任務(wù)特征匹配機(jī)制作為啟發(fā)機(jī)制,避免在復(fù)雜虛擬維修環(huán)境中,得到不符合操作規(guī)程的裝配序列,增強(qiáng)規(guī)劃結(jié)果對(duì)操作者的指導(dǎo)意義.
本文將虛擬維修過(guò)程離散化為“狀態(tài)—?jiǎng)幼鳌狈磸?fù)轉(zhuǎn)換的過(guò)程,該過(guò)程中操作者可以按照某種先后順序或策略完成虛擬訓(xùn)練過(guò)程中的維修任務(wù).相應(yīng)地,本文將裝配作業(yè)過(guò)程中涉及的裝配工具選擇、裝配行為選擇、裝配類型選擇形式化為“動(dòng)作”概念,與Q學(xué)習(xí)模型保持一致.為便于描述,在對(duì)規(guī)劃問(wèn)題進(jìn)行求解之前,將虛擬裝配過(guò)程形式化描述為三元組U={S,A,R},其中:S={s1,s2,…,sn}表示虛擬裝配作業(yè)狀態(tài)空間;A={a1,a2,…,an-1}∈{L,F,G}表示導(dǎo)致?tīng)顟B(tài)發(fā)生變化的動(dòng)作備選集;R={r(s1,a1),r(s2,a2),…,r(sn,an)}表示“動(dòng)作”的立即回報(bào)值.動(dòng)作備選集中,L表示工具類備選集,L={lj|j= 1,2,…,J},〈s1,lj〉表示虛擬人在狀態(tài)s1選擇工具lj進(jìn)行作業(yè);F表示行為類備選集,F={fk|k=1,2,…,P},〈s1,fk〉表示虛擬人在狀態(tài)s1選擇行為fk進(jìn)行作業(yè);G表示裝配類型備選集,G={gh|h=1,2,…,H},〈s1,gh〉表示虛擬人在狀態(tài)s1選擇裝配類型gh進(jìn)行裝配,參數(shù)J,P,H分別表示對(duì)應(yīng)各“動(dòng)作”節(jié)點(diǎn)數(shù)量.如狀態(tài)s1表示端蓋螺栓,工具lj表示套筒扳手,行為fk表示使用行為,裝配類型gh表示螺栓緊固,則在狀態(tài)s1處,單次裝配操作可描述為O=〈s1,lj∪f(wàn)k∪gh〉.過(guò)程規(guī)劃通常是對(duì)狀態(tài)序列進(jìn)行規(guī)劃[9],但在虛擬場(chǎng)景中,評(píng)價(jià)虛擬人是否準(zhǔn)確完成裝配作業(yè),是通過(guò)其是否選擇正確的動(dòng)作來(lái)判斷的.因此,本文將狀態(tài)序列規(guī)劃轉(zhuǎn)化為動(dòng)作選擇規(guī)劃,即將狀態(tài)積累回報(bào)轉(zhuǎn)換成動(dòng)作積累回報(bào),改善虛擬維修環(huán)境中狀態(tài)轉(zhuǎn)移未知的問(wèn)題.令sn為裝配作業(yè)目標(biāo)狀態(tài),裝配作業(yè)過(guò)程規(guī)劃步驟如下:
(1) 初始化狀態(tài)集S和動(dòng)作集A;
(2) 在每個(gè)離散時(shí)間點(diǎn)t,系統(tǒng)處于當(dāng)前狀態(tài)st,選擇動(dòng)作at,到達(dá)一個(gè)新?tīng)顟B(tài)st+1=δ(st,at),能夠得到回報(bào)值rt=r(st,at);
(4) 設(shè)Q(si,ai)為計(jì)算機(jī)在狀態(tài)si下選擇動(dòng)作ai獲得的回報(bào)值,Q值函數(shù)定義如下:
Q(si,ai)=r(si,ai)+
(1)
maxQ(si+1,ai+1)=argmaxV(π)
(2)
為防止虛擬裝配過(guò)程中重復(fù)選擇動(dòng)作導(dǎo)致回報(bào)值Q(s,a)無(wú)限增大,出現(xiàn)無(wú)法收斂到最優(yōu)策略的情況,引入回報(bào)折算因子γ,0≤γ<1.若γ=0,則只考慮立即回報(bào);若γ接近1,則增強(qiáng)后續(xù)回報(bào)的重要程度.式(1)和式(2)中,當(dāng)前回報(bào)值與后續(xù)回報(bào)值直接相關(guān),采用這種倒序的迭代算法,經(jīng)過(guò)數(shù)次的動(dòng)作選擇,總能使作業(yè)策略收斂到一穩(wěn)定值,即策略中每個(gè)動(dòng)作a的積累回報(bào)值Q(s,a)都是最大的.然而,使用此算法存在風(fēng)險(xiǎn)[10-11],作業(yè)策略可能過(guò)度束縛在早期具有較高Q值的動(dòng)作,而不能探索到其他有更高Q值的動(dòng)作.因此,本文建立基因組模型,將遺傳算法與Q學(xué)習(xí)算法相結(jié)合,共同對(duì)裝配作業(yè)過(guò)程規(guī)劃問(wèn)題進(jìn)行求解,保證裝配過(guò)程信息的全面性和全局收斂效率.
以差速器裝配為例(見(jiàn)圖1),將裝配動(dòng)作中包含的零件、行為、工具和裝配類型等要素融合為一個(gè)維修元,一個(gè)維修元可表示為
C={B,L,F,G}
式中:B,L,F,G是維修元中4個(gè)基本要素,分別為部件、裝配該部件所使用的維修工具、執(zhí)行的裝配行為和裝配類型.維修元支持對(duì)維修要素的擴(kuò)充,具有較好的通用性和可擴(kuò)展性.為便于描述,將待裝零件抽象為“狀態(tài)”概念,將工具、行為、裝配類
圖1 差速器裝配體三維分解圖Fig.1 Decomposition of differential gear structure
型抽象為“動(dòng)作”概念,對(duì)算法進(jìn)行描述,具體步驟如下:
(1) 組建初始維修元,并通過(guò)維修元的排列組合構(gòu)建初始裝配作業(yè)序列,如圖2所示.
圖2 初始裝配作業(yè)序列Fig.2 Assembly operation sequence
(2) 根據(jù)已知回報(bào)值r(s,ai),更新每一個(gè)動(dòng)作ai的Q值,
(3)
令s←s′,直到s為目標(biāo)狀態(tài),即裝配完畢,得出初始Q值表.
(3) 采用實(shí)值編碼的方式,將圖2中的維修元xi作為基因值,構(gòu)建遺傳算法的初始化染色體X0=[x1x2…xn].
(4) 構(gòu)造值函數(shù)Qi向適應(yīng)度函數(shù)Fi的映射.
(6) 以概率Pc進(jìn)行交叉操作,
X′←Crossover[X0]
(4)
(7) 分別以概率Pml和Pmf對(duì)維修元和維修序列進(jìn)行變異操作,
X″←Mutation[X′]
(5)
(8) 終止原則.若連續(xù)幾代Q值的差異小于某一較小的閾值或者到達(dá)指定的進(jìn)化代數(shù)后,就停止運(yùn)算.
3.1進(jìn)化策略表示
為便于識(shí)別,避免頻繁的譯碼解碼,本文采用實(shí)值編碼的方式對(duì)問(wèn)題空間進(jìn)行編碼.1條染色體即對(duì)應(yīng)了1個(gè)裝配作業(yè)序列,使用幾何約束方法和特征匹配方法作為約束條件,保證該作業(yè)序列為可行序列,可行序列表示方法如圖3所示.
圖3 可行序列表示方法Fig.3 Representaiton of feasible sequence
3.2適應(yīng)度函數(shù)與選擇操作
本文采用Q值函數(shù)作為遺傳算法的適應(yīng)度函數(shù),之所以使用Q值函數(shù)而不是直接使用回報(bào)值r作為適應(yīng)度函數(shù),因?yàn)镼值是從全局角度衡量作業(yè)效率,而回報(bào)值r僅是對(duì)局部狀態(tài)進(jìn)行分析,適應(yīng)度函數(shù)F(x)定義如下:
(7)
式中:Qt為第t次迭代時(shí)的Q值估計(jì),t為進(jìn)化代數(shù),染色體復(fù)制方法采用輪盤(pán)賭選擇法[12].
3.3交叉操作
裝配可行性是交叉時(shí)需要考慮的重要問(wèn)題,因此,交叉操作一要強(qiáng)調(diào)繼承父代維修元的相對(duì)次序,二要強(qiáng)調(diào)繼承父代維修元的絕對(duì)位置.本文在兩點(diǎn)交叉的基礎(chǔ)上,采用變長(zhǎng)度的方式對(duì)交叉片段進(jìn)行選取,既提高染色體的變化能力,又保證種群的多樣性.具體步驟如下:
(1) 設(shè)待裝配部件數(shù)目為6,產(chǎn)生一個(gè)隨機(jī)數(shù)σ=2(σ∈[1,5]).
(2) 隨機(jī)在父代選取交叉區(qū)域,交叉長(zhǎng)度為2,父代種群如圖4所示.
(3) 將交叉區(qū)域維修元插入到另一個(gè)體交叉區(qū)域維修元之前,交叉前與交叉后染色體變化如圖5所示.
(4) 這樣交叉后的染色體出現(xiàn)重復(fù)的維修元(見(jiàn)過(guò)渡個(gè)體),在非交叉區(qū)域依次刪除與交叉區(qū)域維修元相同的維修元,得到子代種群,如圖6所示.
圖4 父代種群表達(dá)Fig.4 Discription of parent population
圖5 交叉操作Fig.5 Crossover operatior
圖6 刪除操作Fig.6 Delete operator
上述交叉過(guò)程滿足了基因重組的要求,并將父代部分序列遺傳至子代,產(chǎn)生了適合進(jìn)一步進(jìn)化的子代個(gè)體.
3.4變異操作
對(duì)于由維修元構(gòu)成的染色體,變異操作既要考慮裝配序列的改變,也要考慮裝配要素的改變,因此,本文對(duì)整體(裝配序列)和個(gè)體(維修元)兩部分進(jìn)行變異操作,步驟如下:
(1) 裝配序列變異.對(duì)于選定的染色體Xt=[x1x2…x6],采用逆轉(zhuǎn)方法進(jìn)行變異操作,即隨機(jī)選取基因段中的兩個(gè)點(diǎn)d1和d2作為逆轉(zhuǎn)點(diǎn),將兩個(gè)逆轉(zhuǎn)點(diǎn)的基因值對(duì)調(diào)得到新染色體,如圖7所示.
圖7 逆轉(zhuǎn)變異算子示意Fig.7 Reverse mutation operator
(2) 維修元變異.逆轉(zhuǎn)變異是在全局角度對(duì)作業(yè)序列進(jìn)行改變,而對(duì)序列中包含多類要素的維修元,同樣需要實(shí)施變異操作.針對(duì)維修元局部信息,本文采用選擇變異算子對(duì)父代染色體進(jìn)行操作,構(gòu)建每個(gè)部件的匹配特征表.表中包含了每個(gè)零件在裝配過(guò)程中的可用工具集、可用行為集和可用裝配類型集,使用表中的元素對(duì)父代維修元中要素進(jìn)行替換,達(dá)到要素變異的目的,變異方式如圖8所示.
圖8 選擇變異算子示意Fig.8 Selection mutation operation
由圖8可見(jiàn),首先確定某一維修元(虛線部分)執(zhí)行選擇變異操作,如對(duì)零件b2執(zhí)行變異操作,根據(jù)零件編號(hào)b2搜索特征匹配表中可用工具、行為和裝配類型,并將原有要素進(jìn)行替換,這樣既保證了選定維修元中各要素能夠隨機(jī)的發(fā)生變化,又保證了維修元內(nèi)部各要素的匹配合理性.
4.1規(guī)劃實(shí)例
采用混合遺傳算法對(duì)裝配作業(yè)過(guò)程規(guī)劃進(jìn)行求解,并做出比較分析.以圖1中差速器為例,構(gòu)建差速器裝配作業(yè)過(guò)程特征匹配表,如表1所示.
表1 差速器裝配過(guò)程特征匹配表Tab.1 Task characteristic match Table for gear adjustment
注:“/*”表示匹配內(nèi)容為空,可選工具為空即為徒手操作.
差速器虛擬裝配作業(yè)過(guò)程中,狀態(tài)轉(zhuǎn)移過(guò)程即在初始狀態(tài)下執(zhí)行一系列“維修元”后(即執(zhí)行一個(gè)策略π=(a1,a2,…,an),包括使用工具lj、選擇操作行為fk、選擇裝配類型gh)到達(dá)目標(biāo)狀態(tài)的過(guò)程.裝配目標(biāo)為裝配完畢,且目標(biāo)函數(shù)值最大.
對(duì)混合遺傳算法進(jìn)行驗(yàn)證之前,設(shè)定折算回報(bào)因子γ=0.9,回報(bào)值r(s,a)根據(jù)式(1)進(jìn)行求解.設(shè)定作業(yè)序列中維修元交叉概率Pc=0.8,變異概率Pm=0.02;維修元中工具要素變異概率Pml=0.02,行為要素變異概率Pmf=0.02,裝配類型要素變異概率Pmf=0.02;回報(bào)函數(shù)中工具選擇、行為選擇、裝配類型選擇的權(quán)重均設(shè)定為1,即λ1=λ2=λ3=1;設(shè)定回報(bào)函數(shù)獎(jiǎng)勵(lì)因子α=2.迭代的每一步,均選取每組染色體中回報(bào)值r(s,a)較高的維修元所代表的動(dòng)作,參與狀態(tài)轉(zhuǎn)移過(guò)程.設(shè)最大進(jìn)化代數(shù)G=100,種群規(guī)模設(shè)定M=20.為保證初始種群中染色體均由可行序列組成,20個(gè)染色體均由操作者自主拆卸產(chǎn)生,使用4元數(shù)對(duì)維修元進(jìn)行表達(dá),即b1l1f1g1表達(dá)為(1 1 1 1);使用連續(xù)4元組對(duì)染色體進(jìn)行表達(dá),初始種群中,一個(gè)可行裝配序列染色體表達(dá)如下:(7 0 2 1)(5 3 2 2)(4 2 2 2)(6 2 2 2)(3 1 2 2)(2 2 3 2)(9 3 4 2)(1 0 1 1)(10 0 1 1)(8 2 2 2)(11 5 4 1).其中對(duì)于維修元中的某一位,若無(wú)匹配內(nèi)容,則使用0表示.該作業(yè)序列適應(yīng)度函數(shù)為F(X)=532,nl=9,nf=5,ng=4.使用本文所述方法和Q學(xué)習(xí)算法分別對(duì)規(guī)劃問(wèn)題進(jìn)行計(jì)算,得到進(jìn)化結(jié)果,如圖9所示.
算例中Q學(xué)習(xí)算法僅找到次優(yōu)解,混合遺傳算法無(wú)論在收斂速度和收斂性能方面都比Q學(xué)習(xí)算法優(yōu)越,得到最優(yōu)作業(yè)序列:(7 0 2 3)(4 2 2 2)(5 2 2 2)(3 2 2 2)(6 2 2 2)(8 2 2 2)(9 2 3 2)(2 2 3 2)(1 0 2 1)(10 0 2 1)(11 2 2 1).該序列中,適應(yīng)度值F(X)=590,工具更換次數(shù)、行為更換次數(shù)、裝配類型更換次數(shù)分別為nl=3,nf=2,ng=2.
圖9 混合遺傳算法與Q學(xué)習(xí)算法的性能比較Fig.9Performance comparison between hybrid geneticalgorithm and Q-learning algorithm
混合遺傳算法之所以能夠快速收斂,源于它的逆向求解機(jī)制和回報(bào)機(jī)制,它總能在解序列的源頭對(duì)規(guī)劃問(wèn)題進(jìn)行分析,因此,相對(duì)較容易避免不可行序列的計(jì)算.多次驗(yàn)算發(fā)現(xiàn),使用Q學(xué)習(xí)算法難以使規(guī)劃結(jié)果快速收斂,主要局限在于:缺少特征匹配機(jī)制容易導(dǎo)致不可行裝配序列持續(xù)增長(zhǎng),降低了算法的效率,可以預(yù)料,若裝配體干涉情況復(fù)雜、特征匹配內(nèi)容數(shù)目多,使用Q學(xué)習(xí)算法必須更多的迭代次數(shù).這對(duì)實(shí)時(shí)性要求較高的虛擬維修環(huán)境來(lái)說(shuō)是不實(shí)際的.仿真結(jié)果表明,即使在信息含量較大的情況下,混合遺傳算法依然具有較高的全局收斂性,為多信息融合條件下的裝配作業(yè)規(guī)劃問(wèn)題提供了一種實(shí)用的解決方法.
[1] LI J R,KHOO L P,TOR S B.Generation of possiblem multiple components disassembly sequence for maintenance using a disassembly constraint graph[J].International Journal of Production Economics,2006,102(1):51-65.
[2] 于海全,彭高亮,劉文劍.基于虛擬環(huán)境的維修性信息模型的建立[J].兵工學(xué)報(bào),2010,31(7):998-1002.
YU H Q,PENG G L,LIU W J.Research on the maintainability information model based on VR[J].Acta Armamentarii,2010,31(7):998-1002.
[3] FREY G.Assembly line sequencing based on Petri-net T-invariants[J].Control Engineering Practice,2000,8(1):63-69.
[4] YEE S,VENTURA J A.A Petri net model to determine optimal assembly sequences with assembly operation constrains[J].Journal of Manufacturing System,1999,18(3):203-213.
[5] CHUNG C,PENG Q.An integrated approach to selective-disassembly sequence planning[J].Robotics and Computer-Integrated Manufacturing,2005,21(4/5):475-485.
[6] 高金蓮,楊杰,李春書(shū).基于遺傳算法的裝配作業(yè)優(yōu)化[J].機(jī)械設(shè)計(jì),2007,24(1):43-45.
GAO J L,YANG J,LI C S.Optimization of assembling operation based on genetic algorithm[J].Journal of Machine Design,2007,24(1):43-45.
[7] 楊鵬,劉繼紅,管強(qiáng).面向裝配序列優(yōu)化的一種改進(jìn)基因算法[J].計(jì)算機(jī)集成制造系統(tǒng),2002,8(6):467-471.
YANG P,LIU J H,GUAN Q.An improved genetic algorithm for assembly sequence optimization[J].Computer Integrated Manufacturing Systems,2002,8(6):467-471.
[8] WATKINS C J,DAYAN P.Q-learning[J].Machine Learning,1992,8(3):279-292.
[9] MITCHELL T M.機(jī)器學(xué)習(xí)[M].北京:機(jī)械工業(yè)出版社,2003.
MITCHELL T M.Machine learning[M].Beijing:China Machine Press,2003.
[10] JONATHAN D,PARRIS K E,DAVID C.Enhancing computer graphics through machine learning:a survey[J].The Visual Computer,2007,23(1):24-43.
[11] GUO M Z,LIU Y,MALEC J.A new Q-learning algorithm based on the metropolis criterion[J].IEEE Trans on System,Man and Cybernetrics,2004,34(5):2140-2143.
[12] 陳有青,徐蔡星,鐘文亮,等.一種改進(jìn)選擇算子的遺傳算法[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(2):44-49.
CHEN Y Q,XU C X,ZHONG W L,et al.Genetic algorithm with improved selection operator[J].Computer Engineering and Applications,2008,44(2):44-49.
Hybridgeneticalgorithm-basedplanningmethodforvirutalassemblyoperation
JIAOYumin1,XUTing2,LIUBin2,YUGuangliang1
(1.94679 Troop,Nanjing 210038,China; 2.College of Field Engineering,PLA Army Engineering University,Nanjing 210007,China)
To aid in finding the optimal strategy,sequence constraint mechanism and characteristics matching mechanism are proposed,which are suitable for the condition of multi-information fusion.In order to make planning content be more abundant,the concept of maintenance unit is presented,which is suitable for information integration and evolutionary computation.Based on maintenance unit,the assembly sequence model is established.To solve this model,an assembly process planning method based on hybrid genetic algorithm is put forward.To aid in finding the optimal strategy,sequence constraint mechanism and characteristics matching mechanism are proposed,which are suitable for the condition of multi-information fusion.
hybrid genetic algorithm; virtual assembly operation; process planning; maintenance unit
TP 391.9
A
1672-5581(2017)04-0342-06