本發(fā)明涉及一種基于改進(jìn)遺傳算法的菌落挑選通量提高方法。
背景技術(shù):
菌落挑選儀是近年來生物技術(shù)領(lǐng)域中發(fā)展較快的一種智能化儀器,其具有菌落自動(dòng)識(shí)別、自動(dòng)挑選功能,是實(shí)現(xiàn)菌落篩選自動(dòng)化的基礎(chǔ)儀器之一。
在這類菌落挑選儀中,探針模塊上集成了多根探針,其挑選過程可以概括為:控制模塊控制探針模塊移動(dòng),使其中一根探針正對需要挑選的一個(gè)菌落,用該探針進(jìn)行挑選后再控制探針模塊移動(dòng)、微調(diào),使另一根探針正對需要挑選的下一個(gè)菌落并進(jìn)行挑選,如此往復(fù),對所有需要挑選的菌落進(jìn)行一一挑選。
但是,上述挑選過程中,探針模塊需要移動(dòng)、微調(diào)才能使探針正對需要挑選的菌落,如果需要挑選的菌落數(shù)量較多,則探針模塊移動(dòng)及微調(diào)的路徑也相對較長,使得探針模塊的移動(dòng)耗費(fèi)較多時(shí)間,其挑選通量尚不夠理想。
現(xiàn)有技術(shù)中,對菌落挑選儀的改進(jìn)主要集中在機(jī)械結(jié)構(gòu)方面,例如,采用更加先進(jìn)的三維磁力導(dǎo)軌來提高探針模塊的移動(dòng)速度等。這樣的改進(jìn)沒有縮短探針模塊的實(shí)際移動(dòng)路徑,并且使得菌落挑選儀的成本大大提升。而目前尚未有從軟件或計(jì)算角度對探針模塊的控制進(jìn)行改進(jìn),使得探針模塊的移動(dòng)路徑最短的方法。
遺傳算法是一種常用計(jì)算模型,用于對一些復(fù)雜問題進(jìn)行求解。其主要流程是設(shè)定一個(gè)初始種群,該初始種群包含一定數(shù)量的染色體,其中每個(gè)染色體對應(yīng)著問題的一個(gè)解。隨后模擬自然界生物進(jìn)化的過程,對初始種群進(jìn)行遺傳迭代操作(包括交叉、變異等),其種群中的遺傳信息被不斷優(yōu)化,最后得到的種群中即包含問題的近似最優(yōu)解。
這種遺傳算法具有自適應(yīng)、自學(xué)習(xí)的特性,并且能夠基于問題全局進(jìn)行求解,因此在一些復(fù)雜問題的解決中能夠起到很好的作用。但是,傳統(tǒng)的遺傳算法在面對實(shí)際問題時(shí),其編碼操作通常較為困難。并且,遺傳算法對初始種群的優(yōu)劣較為敏感;傳統(tǒng)的交叉操作對問題適應(yīng)性差,使得收斂速度較慢;傳統(tǒng)的變異操作容易破壞優(yōu)秀染色體,或者難以使染色體種群達(dá)到足夠的變異程度;選擇算子設(shè)置不當(dāng)容易使種群陷入局部解。
由于存在上述多種缺陷,即使將遺傳算法直接應(yīng)用于菌落挑選儀的改進(jìn),也難以達(dá)到使探針模塊路徑大大縮短、提高挑選通量的目的。
技術(shù)實(shí)現(xiàn)要素:
為解決上述問題,本發(fā)明對傳統(tǒng)遺傳算法進(jìn)行了改進(jìn),并提出了一種基于改進(jìn)遺傳算法的菌落挑選通量提高方法,采用了如下技術(shù)方案:
本發(fā)明提供一種菌落挑選通量提高方法,應(yīng)用于菌落挑選儀中用于使探針模塊的挑選路徑縮短從而提高挑選通量,其特征在于,包括如下步驟:
步驟1,對需要挑選的菌落及探針模塊中的探針進(jìn)行編號,得到菌落編號以及探針編號,根據(jù)探針與菌落的空間位置建立挑選路徑的數(shù)學(xué)模型,其中,需要使用的探針的數(shù)量與菌落一致,均為n個(gè);
步驟2,將菌落編號以及探針編號依次排列,得到初始染色體,該初始染色體是長度為2n的實(shí)數(shù)序列,其中前n個(gè)實(shí)數(shù)為菌落序列,后n個(gè)實(shí)數(shù)為探針序列,菌落編號以及探針編號依次匹配成對;
采用隨機(jī)插入的方式得到2m個(gè)染色體,該2m個(gè)染色體的集合為初始種群,其中m為5的倍數(shù),此時(shí)迭代次數(shù)為0;
步驟3,對父代種群進(jìn)行迭代操作,得到子代種群,并計(jì)算該子代種群中每個(gè)染色體的適值,迭代次數(shù)加1;
步驟4,用步驟3得到的子代種群替換父代種群,重復(fù)步驟3,直到迭代次數(shù)達(dá)到預(yù)定次數(shù),得到最終種群;
步驟5,從最終種群中選擇適值最大的染色體作為結(jié)果輸出,使菌落挑選儀按照結(jié)果中菌落及探針的匹配進(jìn)行菌落挑選,
其中,在步驟3中,迭代操作包括如下子步驟:
步驟3.1,按照下述式(1)計(jì)算初始種群中每個(gè)染色體的適值,并將初始種群作為父代種群,
式(1)中,i為探針模塊移動(dòng)的次數(shù),Si為探針模塊在第i次移動(dòng)時(shí)所移動(dòng)的距離;
步驟3.2,采用適值分組隨機(jī)復(fù)制策略得到2m個(gè)染色體,該2m個(gè)染色體的集合為第一子代;
步驟3.3,對步驟4.1得到的第一子代進(jìn)行交叉操作,得到第二子代;
步驟3.4,變異操作,將步驟4.2中得到的第二子代中的全部染色體按適值排序,求出所有染色體的平均適值fitavg、最大適值fitmax以及最小適值fitmin。遍歷所有染色體并進(jìn)行以下操作,得到子代種群:
在當(dāng)前染色體的適值高于平均適值的情況下,將預(yù)設(shè)的固定變異率作為基準(zhǔn)值進(jìn)行隨機(jī)值判定,若判定成功則進(jìn)行染色體變異并用變異后的染色體代替當(dāng)前染色體,若判定失敗則跳過;
在當(dāng)前染色體的適值低于平均適值的情況下,根據(jù)下述式(2)計(jì)算得到變異率系數(shù)
式(2)中,fiti為當(dāng)前染色體的適值,以計(jì)算得到的變異率系數(shù)作為基準(zhǔn)值進(jìn)行隨機(jī)值判定,若判定成功則進(jìn)行染色體變異并用變異后的染色體代替當(dāng)前染色體,若判定失敗則跳過。
發(fā)明作用與效果
本發(fā)明提供的菌落挑選通量提高方法中,由于將菌落及探針分別編號、一一對應(yīng)形成染色體的序列,使得每個(gè)染色體都與菌落及探針的一種匹配相對應(yīng),使得遺傳算法對菌落挑選挑選問題的編碼及解碼過程簡化;本發(fā)明還對傳統(tǒng)遺傳算法進(jìn)行了改進(jìn),使得改進(jìn)后的遺傳算法具有收斂速度快、能規(guī)避早熟等優(yōu)點(diǎn),因此采用本發(fā)明的菌落挑選通量提高方法能夠?qū)涮暨x儀的探針模塊控制進(jìn)行優(yōu)化,使得挑選過程中探針模塊移動(dòng)路徑縮短,從而提高菌落挑選通量。
附圖說明
圖1是本發(fā)明的整體流程圖;
圖2是本發(fā)明實(shí)施例的初始染色體序列圖;
圖3是本發(fā)明實(shí)施例的染色體序列及適值計(jì)算示意圖;
圖4是本發(fā)明實(shí)施例的交叉操作示意圖;
圖5是本發(fā)明實(shí)施例的變異操作示意圖。
具體實(shí)施方式
以下結(jié)合附圖以及實(shí)施例來說明本發(fā)明的具體實(shí)施方式。
<實(shí)施例>
在本實(shí)施例中,采用探針模塊中的8根探針對8個(gè)空間位置確定的菌落進(jìn)行挑選。
圖1是本發(fā)明的整體流程圖,如圖1所示,本實(shí)施例的菌落挑選通量提高方法包括如下步驟:
步驟1,對8個(gè)菌落及8根探針進(jìn)行編號,得到菌落編號以及探針編號,根據(jù)探針與菌落的空間位置建立挑選路徑的數(shù)學(xué)模型。在本實(shí)施例中,該8個(gè)菌落的編號為8個(gè)實(shí)數(shù),即1~8;8個(gè)探針的編號也為8個(gè)實(shí)數(shù),即1~8。
其中,挑選路徑的數(shù)學(xué)模型為菌落挑選儀中,控制模塊根據(jù)探針與菌落的匹配得出的數(shù)學(xué)模型,即、將探針和菌落的匹配關(guān)系輸入該數(shù)學(xué)模型進(jìn)行計(jì)算,即可得出探針模塊的移動(dòng)路徑;該移動(dòng)路徑包括探針模塊的移動(dòng)次數(shù)以及每次的移動(dòng)距離。
步驟2,將菌落編號以及探針編號依次排列,得到初始染色體。在本實(shí)施例中,菌落編號按數(shù)字從小到大排列從而形成菌落序列,同樣地,探針編號也按照數(shù)字從小到大排列從而形成探針序列。
圖2是本發(fā)明實(shí)施例的初始染色體序列圖。
如圖2所示,初始染色體是長度為16的實(shí)數(shù)序列,其中前8個(gè)實(shí)數(shù)為菌落序列,每一位數(shù)字都是一個(gè)菌落編號;后8個(gè)實(shí)數(shù)為探針序列,每一位數(shù)字都是一個(gè)探針編號。其中,菌落序列中的各個(gè)菌落編號與探針序列中的各個(gè)探針編號按順序一一匹配:菌落序列的第一位與探針序列的第一位匹配,形成匹配①;菌落序列的第二位與探針序列的第二位匹配,形成匹配②。以此類推,該染色體中總共具有8對菌落與探針的匹配,分別為匹配①、②、③、④、⑤、⑥、⑦、⑧。
對初始染色體采用隨機(jī)插入的方式得到2m個(gè)染色體,該2m個(gè)染色體的集合為初始種群,其中m為5的倍數(shù),設(shè)定一個(gè)迭代次數(shù)并將此時(shí)的迭代次數(shù)記為0。
上述過程中,隨機(jī)插入包括如下子步驟:
步驟2.1,在初始染色體中隨機(jī)選擇一個(gè)菌落編號及一個(gè)探針編號,分別作為插入菌落編號及插入探針編號;
步驟2.2,將菌落序列中,位于插入菌落編號后面的菌落編號依次替換前面的菌落編號并將插入菌落編號插入最后,將探針序列中,位于插入探針編號后面的探針編號依次替換前面的探針編號并將插入探針編號插入最后,如此使得初始染色體原有的序列被打亂,形成與初始染色體不同的一個(gè)染色體;
步驟2.3,在重復(fù)步驟2.1~2.2預(yù)定次數(shù)后,對得到的染色體進(jìn)行記錄,在本實(shí)施例中,該預(yù)定次數(shù)為20次;
步驟2.4,重復(fù)步驟2.3 100次,得到100個(gè)染色體,該100個(gè)染色體的集合即為初始種群。
步驟3,將初始種群作為父代種群進(jìn)行迭代操作,并將迭代次數(shù)加1,其中迭代操作包括如下子步驟:
步驟3.1,按照下述式(1)計(jì)算初始種群中每個(gè)染色體的適值fit:
式(1)中,i為探針模塊移動(dòng)的次數(shù),Si為探針模塊在第i次移動(dòng)時(shí)所移動(dòng)的距離,在本實(shí)施例中,n=8。此外,下文中所有的染色體適值均按照此式(1)計(jì)算。
圖3是本發(fā)明實(shí)施例的染色體序列及適值計(jì)算示意圖。
圖3所示的為初始種群中的一個(gè)染色體。如圖3所示,該染色體的長度及匹配數(shù)量與初始染色體相同,但由于此前進(jìn)行的隨機(jī)插入操作,其中菌落序列、探針序列的排列及菌落編號與探針編號的匹配均與初始染色體不同。
以該染色體為例,其適值的計(jì)算方法為:假定挑選開始前,探針模塊初始化后位于初始位置,則探針模塊移動(dòng)到匹配①實(shí)現(xiàn)的位置為S1,即、當(dāng)探針模塊開始按照菌落挑選儀的控制程序移動(dòng),直到使得編號為2的菌落與編號為8的探針在空間上對應(yīng),此時(shí)編號為8的探針能夠?qū)幪枮?的菌落進(jìn)行挑選,探針從初始位置移動(dòng)到此狀態(tài)所進(jìn)行的位移為S1;繼續(xù)地,從匹配①的狀態(tài)移動(dòng)到匹配②實(shí)現(xiàn)的狀態(tài),探針模塊進(jìn)行的位移為S2。以此類推,探針模塊按照該染色體所包含的匹配來使得探針及菌落在空間上一一對應(yīng),完成8個(gè)探針對8個(gè)菌落的挑選,在該挑選過程中,探針模塊所移動(dòng)的總路徑為S1+S2+…+S8,即其中n=8,再將該總路徑的值代入式(1),即可計(jì)算得到該染色體的適值fit。下文中,各匹配的實(shí)現(xiàn)均指該匹配中,相應(yīng)探針編號的探針與相應(yīng)菌落編號的菌落在空間上對應(yīng)的實(shí)現(xiàn)。
步驟3.2,采用適值分組隨機(jī)復(fù)制策略得到100個(gè)染色體,該100個(gè)染色體的集合為第一子代,適值分組隨機(jī)復(fù)制策略具體為:
將父代種群中的全部染色體按照適值從高到低排列并分為五組,第一組包含適值排名為前10的染色體,第二組包含適值排名為10~40的染色體,第三組包含適值排名為40~80的染色體,第四組包含適值排名為前80~90的染色體,第五組包含剩余的染色體。由于染色體適值可能有相同的,因此每組中包含的染色體數(shù)量可能大于排名位數(shù),例如,第一組包含適值排名為前10的染色體,但其中染色體的數(shù)量可能大于10個(gè)。
對排在第一位(即適值最高)的染色體進(jìn)行復(fù)制,在第一組中隨機(jī)選擇10個(gè)染色體并進(jìn)行復(fù)制,將第一組和第二組合并,從中隨機(jī)選擇40個(gè)染色體并進(jìn)行復(fù)制,在第三組中隨機(jī)選擇40個(gè)染色體并進(jìn)行復(fù)制,在第四組中隨機(jī)選擇9個(gè)染色體并進(jìn)行復(fù)制。經(jīng)過上述復(fù)制,得到的復(fù)制染色體數(shù)量為100,該100個(gè)染色體的集合即為第一子代。
步驟3.3,對步驟3.2得到的第一子代進(jìn)行交叉操作,具體過程為:
步驟3.3.1,將第一子代中的染色體隨機(jī)兩兩配對,形成50對染色體,任意選擇一對染色體,將該對染色體記為已訪問并在其中任意選擇一個(gè)作為第一父代,另一個(gè)作為第二父代;
步驟3.3.2,從第一父代中的菌落序列中隨機(jī)選擇一個(gè)菌落編號作為擴(kuò)展點(diǎn)A,將該菌落編號所匹配的探針編號作為擴(kuò)展點(diǎn)B,并對A和B進(jìn)行標(biāo)記;
步驟3.3.3,從第一父代的菌落序列中找出與A相鄰的菌落編號并將找出的菌落編號及其匹配的探針編號的集合記為α,從第二父代的菌落序列中找出與A相鄰的菌落編號并將找出的菌落編號及其匹配的探針編號的集合記為β,并進(jìn)行如下操作:
當(dāng)時(shí),查找得出α中未被標(biāo)記的菌落編號Ax及其匹配的探針編號Bx,將Ax及Bx添加至新子代,然后用Ax及Bx替換A及B,并對新的A及新的B進(jìn)行標(biāo)記;
當(dāng)時(shí),定義x=α∪β,找出x中未被標(biāo)記的菌落編號及其匹配的探針編號,分別將找出的菌落編號及其匹配的探針編號依次記為Ai以及Bi,其中i=1、2、……t,t≤4,對探針模塊從A-B匹配實(shí)現(xiàn)的位置開始移動(dòng)直到Ai-Bi匹配實(shí)現(xiàn)的位置時(shí),探針模塊所移動(dòng)的距離Li進(jìn)行計(jì)算,得到L1、L2、……Lt,從L1、L2、……Lt中選出Li值最小的一個(gè)并將該最小的Li值記為Lmin,Lmin所對應(yīng)的Ai及Bi記為Amin及Bmin,將該Amin及Bmin加入新子代并用Amin及Bmin替換A及B形成新的A和新的B,并對該新的A及新的B進(jìn)行標(biāo)記;
圖4是本發(fā)明實(shí)施例的交叉操作示意圖。
圖4a示出了的情況。如圖4a所示,此時(shí)第一父代中,擴(kuò)展點(diǎn)A為第5位,其菌落編號為8,擴(kuò)展點(diǎn)B與擴(kuò)展點(diǎn)A匹配,在圖中為第13位,其探針編號為3。在第一父代中,A相鄰的菌落編號為3和6,其對應(yīng)的匹配為3-7、6-8;在第二父代中,擴(kuò)展點(diǎn)A在第4位,其相鄰的菌落編號為3和4,對應(yīng)的匹配為3-7、4-8。由此,集合α包含3-7、6-8,集合β包含3-7、4-8。由于α與β有交集,即此時(shí)將其交集中的匹配,即3-7添加至新子代中,并用3、7替換原有的擴(kuò)展點(diǎn)A及擴(kuò)展點(diǎn)B,對該3、7進(jìn)行標(biāo)記。
圖4b示出了的情況。如圖4b所示,此時(shí)第一父代中擴(kuò)展點(diǎn)A為第5位,菌落編號8,擴(kuò)展點(diǎn)B為第13位,菌落編號3,A相鄰的菌落編號為3和6,其對應(yīng)的匹配為3-7、6-8;第二父代中,A為第4位,相鄰的菌落編號為3和4,對應(yīng)匹配為3-6、4-8。
此時(shí),集合α包含3-7、6-8,集合β包含3-6、4-8。由于α與β并無交集,因此將α與β合并形成并集χ,該并集χ最多包含四個(gè)匹配。在圖4b中,χ包含3-7、6-8、3-6、4-8四個(gè)匹配。由于這四個(gè)匹配中,6-8及4-8已經(jīng)被標(biāo)記,因此選擇3-7、3-6兩個(gè)匹配,分別將其中的菌落編號記為A1、A2,其對應(yīng)的探針編號記為B1、B2。將A和B,即菌落編號8和探針編號3匹配實(shí)現(xiàn)的位置作為移動(dòng)起始點(diǎn),將A1和B1匹配實(shí)現(xiàn)的位置作為移動(dòng)終止點(diǎn),根據(jù)菌落挑選儀中的控制程序,計(jì)算探針模塊在從移動(dòng)起始點(diǎn)移動(dòng)到移動(dòng)終止點(diǎn)所移動(dòng)的距離L1。以此類推,計(jì)算出A2和B2所對應(yīng)的L2。在圖4b所舉的例子中,L1>L2,因此將L2所對應(yīng)的菌落編號A2以及探針編號B2,即3-6這一對匹配添加進(jìn)新子代,并用A2以及B2替換A和B形成新的A和B,再進(jìn)行接下來的步驟。
步驟3.3.4,重復(fù)步驟3.3.3,直到新子代的長度達(dá)到16;
步驟3.3.5,將第一父代及第二父代的位置交換,重復(fù)步驟4.2.2~步驟3.3.4,得到另一個(gè)長度為16的新子代;
步驟3.3.6,從50對染色體中任意選擇一對未訪問的染色體,從該對染色體中任意選擇一個(gè)作為第一父代,另一個(gè)作為第二父代,重復(fù)步驟3.3.2~步驟3.3.5,再次得到兩個(gè)長度均為16的新子代;
步驟3.3.7,重復(fù)步驟3.3.6,直到第一子代中所有染色體對均被記為已訪問,如此即完成了所有染色體對的交叉操作,得到數(shù)量為100的新子代,該新子代的集合為第二子代;隨后進(jìn)行后續(xù)操作。
步驟3.4,變異操作,將步驟3.3中得到的第二子代中的全部染色體按適值排序,求出所有染色體的平均適值fitavg、最大適值fitmax以及最小適值fitmin,遍歷所有染色體(即、第二子代中的100個(gè)染色體)并進(jìn)行以下操作,得到子代種群:
在當(dāng)前染色體的適值高于平均適值的情況下,將預(yù)設(shè)的固定變異率作為基準(zhǔn)值進(jìn)行隨機(jī)值判定,若判定成功則進(jìn)行染色體變異并用變異后的染色體代替當(dāng)前染色體,若判定失敗則跳過,在本實(shí)施例中,該固定變異率為20%;
在當(dāng)前染色體的適值低于平均適值的情況下,根據(jù)下述式(2)計(jì)算得到變異率系數(shù)
式(2)中,fiti為當(dāng)前染色體的適值。以計(jì)算得到的變異率系數(shù)作為基準(zhǔn)值進(jìn)行隨機(jī)值判定,若判定成功則進(jìn)行染色體變異并用變異后的染色體代替當(dāng)前染色體,若判定失敗則跳過。
上述過程中,隨機(jī)值判定的規(guī)則為:生成一個(gè)隨機(jī)數(shù),當(dāng)該隨機(jī)數(shù)的值大于基準(zhǔn)值時(shí)則判定成功,當(dāng)該隨機(jī)數(shù)的值小于或等于基準(zhǔn)值時(shí)則判定失敗。其中,隨機(jī)數(shù)的取值范圍為0~1。
此外,變異操作的策略為:當(dāng)前染色體的適值大于預(yù)設(shè)值時(shí)進(jìn)行同步變異,當(dāng)前染色體的適值小于或等于預(yù)設(shè)值時(shí)進(jìn)行異步變異,即、根據(jù)當(dāng)前染色體的適值高低,進(jìn)行不同種類的變異操作。
圖5是本發(fā)明實(shí)施例的變異操作示意圖。
圖5a示出了同步變異的操作過程。如圖5a所示,當(dāng)前染色體的適值大于預(yù)設(shè)值,因此進(jìn)行同步變異:從當(dāng)前染色體的菌落序列中隨機(jī)挑選出兩個(gè)菌落編號3和6,分別記為a1和a2,找出當(dāng)前染色體探針序列中,分別與a1和a2匹配探針編號4和6,分別記為b1和b2。將a1與a2之間的實(shí)數(shù)序列反轉(zhuǎn),同時(shí)將b1與b2之間的實(shí)數(shù)序列反轉(zhuǎn),即得到變異后的染色體。
圖5b示出了異步變異的操作過程。如圖5b所示,當(dāng)前染色體的適值小于預(yù)設(shè)值,因此進(jìn)行異步變異:從當(dāng)前染色體的菌落序列中隨機(jī)挑選出兩個(gè)菌落編號8和6,分別記為a1和a2,然后從當(dāng)前染色體的探針序列中隨機(jī)挑選出兩個(gè)探針編號6和5,分別記為b1和b2。將a1與a2之間的實(shí)數(shù)序列反轉(zhuǎn),同時(shí)將b1與b2之間的實(shí)數(shù)序列反轉(zhuǎn),即得到變異后的染色體。
經(jīng)過上述步驟迭代操作步驟,由原來的父代種群得到了子代種群,該子代種群的數(shù)量與父代種群相同,均為100。
步驟4,用步驟3得到的子代種群替換父代種群,重復(fù)步驟3,直到迭代次數(shù)達(dá)到預(yù)定次數(shù),得到最終種群。在本實(shí)施例中,迭代次數(shù)為500次。
步驟5,從最終種群中選擇適值最大的染色體作為結(jié)果輸出,使菌落挑選儀按照結(jié)果中菌落及探針的匹配及其順序進(jìn)行菌落挑選。
實(shí)施例作用與效果
本實(shí)施例提供的菌落挑選通量提高方法中,由于將菌落及探針分別編號、一一對應(yīng)形成染色體的序列,使得每個(gè)染色體都與菌落及探針的一種匹配相對應(yīng),使得遺傳算法對菌落挑選挑選問題的編碼及解碼過程簡化;本實(shí)施例還對傳統(tǒng)遺傳算法進(jìn)行了改進(jìn),使得改進(jìn)后的遺傳算法具有收斂速度快、能規(guī)避早熟等優(yōu)點(diǎn),因此采用本實(shí)施例的菌落挑選通量提高方法能夠?qū)涮暨x儀的探針模塊控制進(jìn)行優(yōu)化,使得挑選過程中探針模塊移動(dòng)路徑縮短,從而提高菌落挑選通量。
此外,本實(shí)施例中,迭代操作首先包含適值分組隨機(jī)復(fù)制的過程,使得適值更高的染色體有更多機(jī)會(huì)被復(fù)制至下一代,對下一代進(jìn)行優(yōu)化,同時(shí),適值更低的染色體同樣有一定機(jī)會(huì)被復(fù)制至下一代,避免陷入局部解;交叉操作中引入了目標(biāo)點(diǎn)連接信息算子,即、當(dāng)α與β的交集不為空時(shí),直接將交集中的匹配復(fù)制至下一代,使得優(yōu)秀染色體中共有的片段能夠盡可能傳至下一代;變異操作中對于較優(yōu)染色體采用一個(gè)較低的固定變異率,使得優(yōu)秀染色體盡量減少變異,并且,適值高于預(yù)定值的采用同步變異、適值低于預(yù)定值的采用異步變異,也使得優(yōu)秀的染色體中的匹配盡量保留。如此的迭代操作克服了傳統(tǒng)遺傳算法中的多種缺點(diǎn),使得本實(shí)施例的方法能夠達(dá)到更好的效果。
上述實(shí)施例僅用于說明本發(fā)明的具體實(shí)施方式,本發(fā)明的方法的范圍不限于上述實(shí)施例的范圍。
例如,在上述實(shí)施例中,初始染色體的生成采用菌落編號及探針編號依次排序的方式來組成菌落序列和探針序列,但在本發(fā)明中,菌落編號也可隨機(jī)排列來形成菌落序列,探針編號也可隨機(jī)排列來形成探針序列。此外,在上述實(shí)施例中,初始染色體在進(jìn)行20次隨機(jī)插入后形成的染色體被記錄成為初始種群中的一個(gè),但在本發(fā)明中,該隨機(jī)插入的次數(shù)也可以是其他次數(shù);上述實(shí)施例中,初始種群的數(shù)量為100,迭代次數(shù)為500次,但在本發(fā)明中,該初始種群的數(shù)量也可以是其他數(shù)量,迭代次數(shù)也可以是其他次數(shù)。