本發(fā)明涉及一種fprm電路優(yōu)化方法,尤其是涉及一種fprm電路面積與延時(shí)優(yōu)化方法。
背景技術(shù):
目前,超大規(guī)模集成電路(verylargescaleintergration,vlsi)的快速發(fā)展對(duì)電路結(jié)構(gòu)設(shè)計(jì)的要求越來(lái)越高,在滿足電路功能的基礎(chǔ)上實(shí)現(xiàn)更小的面積、更低的功耗是電路綜合中非常關(guān)鍵的優(yōu)化目標(biāo)。大量研究表明,與當(dāng)前常用的boolean邏輯電路相比,基于xor/and或xnor/or運(yùn)算的rm邏輯電路具有更好的可測(cè)性,并在異或門邏輯使用較多的場(chǎng)合下,如奇偶校驗(yàn)、算術(shù)邏輯、通信等,表現(xiàn)出更為優(yōu)秀的面積及功耗性能,為vlsi的綜合優(yōu)化提供了新的思路。固定極性(fixed-polarityreed-muller,fprm)表達(dá)式是rm邏輯電路中一種常用的邏輯規(guī)范表達(dá)。對(duì)于n個(gè)輸入變量的邏輯函數(shù),fprm表達(dá)式有2n個(gè)固定極性,其中變量?jī)H能以原變量或反變量的形式出現(xiàn)。fprm表達(dá)式的優(yōu)劣性由其對(duì)應(yīng)的極性所決定,而fprm表達(dá)式的優(yōu)劣決定了fprm電路的面積、延時(shí)大小等。因此,極性對(duì)于fprm電路的延時(shí)、面積大小有著很大的影響。在目前fprm電路的邏輯設(shè)計(jì)中,需要綜合考慮面積和延時(shí)各方面的性能,從而提升電路的性能。因此,fprm電路極性優(yōu)化問(wèn)題實(shí)則是一個(gè)綜合優(yōu)化面積和延時(shí)的多目標(biāo)優(yōu)化問(wèn)題。
目前優(yōu)化fprm電路面積與延時(shí)的主要方法是構(gòu)建延時(shí)模型及面積模型后,采用加權(quán)函數(shù)法進(jìn)行優(yōu)化,加權(quán)函數(shù)法為延時(shí)模型及面積模型各自分配權(quán)重系數(shù),將fprm電路的多目標(biāo)優(yōu)化問(wèn)題轉(zhuǎn)化成單目標(biāo)問(wèn)題進(jìn)行處理。然而,采用加權(quán)函數(shù)法進(jìn)行面積與延時(shí)優(yōu)化時(shí),不同權(quán)重系數(shù)對(duì)優(yōu)化結(jié)果影響較大,優(yōu)化結(jié)果精度不高,同時(shí)權(quán)重系數(shù)的選擇嚴(yán)重依賴于先驗(yàn)知識(shí)及主觀判斷;并且,該方法只能獲取在設(shè)定權(quán)重系數(shù)條件下的一個(gè)或者少數(shù)最優(yōu)解,難于獲得不同條件需求下的pareto最優(yōu)極性解集,弱化了決策選擇的支撐能力。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種可以搜索到在不同需求條件下的電路面積與延時(shí)的pareto最優(yōu)解集,優(yōu)化結(jié)果精度較高的fprm電路面積與延時(shí)優(yōu)化方法。
本發(fā)明解決上述技術(shù)問(wèn)題所采用的技術(shù)方案為:一種fprm電路面積與延時(shí)優(yōu)化方法,包括以下步驟:
①建立fprm電路面積與延時(shí)估算模型:
①-1將fprm電路用fprm邏輯表達(dá)式表示為:
其中,n為函數(shù)fp(xn-1,xn-2,…,x0)的輸入變量的數(shù)量;xn-1,xn-2,…,x0表示函數(shù)fp(xn-1,xn-2,…,x0)的n個(gè)輸入變量;
①-2p極性下的fprm電路的xor/and展開(kāi)式包含多輸入與項(xiàng)和多輸入異或項(xiàng),多輸入與項(xiàng)又可稱為多輸入and門,多輸入異或項(xiàng)又可稱為多輸入xor門,即p極性下的fprm電路的xor/and展開(kāi)式由多輸入and門和多輸入xor門這兩種多輸入門組成,將p極性下fprm電路的xor/and展開(kāi)式中包含的多輸入門分解為二輸入門,得到二輸入and門和二輸入xor門,其具體分解過(guò)程為:
把多輸入門的第一個(gè)輸入變量與第二個(gè)輸入變量作為第一個(gè)二輸入門的輸入變量,得到第一個(gè)二輸入門的輸出變量;把第一個(gè)二輸入門的輸出變量與多輸入門的第三個(gè)輸入變量作為第二個(gè)輸入門的輸入變量,得到第二個(gè)二輸出門的輸出變量;把第二個(gè)二輸入門的輸出變量和多輸入門的第四個(gè)輸入變量作為第三個(gè)輸入門的輸入變量,得到第三個(gè)二輸入門的輸出變量;以此類推,直至所有的多輸入門的輸入變量作為二輸入門的輸入變量;
將p極性下的fprm電路的xor/and展開(kāi)式中的多輸入and門分解后得到多個(gè)二輸入and門,將p極性下二輸入and門的數(shù)量記為no._of_andp;將p極性下的fprm電路的xor/and展開(kāi)式的多輸入xor門分解后得到多個(gè)二輸入xor門,將p極性下二輸入門的xor門的數(shù)量記為no._of_xorp;
①-3將分解好的p極性下的fprm電路的xor/and展開(kāi)式中,從電路輸入到電路輸出的所有路徑中延時(shí)最長(zhǎng)的那一條路徑作為p極性下的fprm電路的關(guān)鍵路徑,將該關(guān)鍵路徑包含的所有二輸入門的傳輸延時(shí)之和作為fprm電路的延時(shí),將p極性下fprm電路的延時(shí)記為d(p),將分解好的p極性下的fprm電路的xor/and展開(kāi)式中二輸入and門的數(shù)量記為no._of_andp,將分解好的p極性下的fprm電路的xor/and展開(kāi)式中二輸入xor門的數(shù)量記為no._of_xorp,將p極性下fprm電路的面積記為a(p),其中:
a(p)=no._of_andp+no._of_xorp;
②建立p極性下的fprm電路與多目標(biāo)教學(xué)優(yōu)化算法的映射關(guān)系:
多目標(biāo)教學(xué)優(yōu)化算法中包括以下幾個(gè)關(guān)鍵要素:學(xué)生、學(xué)生學(xué)習(xí)空間、學(xué)習(xí)成績(jī)a、學(xué)習(xí)成績(jī)d、教師、中等學(xué)生、精英學(xué)生群體;
fprm電路面積與延時(shí)優(yōu)化包括以下幾個(gè)關(guān)鍵要素:極性、極性對(duì)應(yīng)的面積大小、極性對(duì)應(yīng)的延時(shí)大小、可選擇極性的空間、最優(yōu)極性、pareto最優(yōu)極性解集;
將學(xué)生表示為極性;學(xué)生學(xué)習(xí)空間表示為可選擇極性的空間;學(xué)習(xí)成績(jī)a表示為極性對(duì)應(yīng)的面積大?。粚W(xué)習(xí)成績(jī)d表示為極性對(duì)應(yīng)的延時(shí)大??;教師表示為最優(yōu)極性;中等學(xué)生表示為在學(xué)生群體中面積大小與延時(shí)大小處于平均水平的極性;精英學(xué)生群體表示為pareto最優(yōu)極性解集;
③采用多目標(biāo)教學(xué)優(yōu)化算法確定精英學(xué)生群體,該精英學(xué)生群體即為fprm電路的pareto最優(yōu)極性解集,按照步驟①-3的方法計(jì)算得到pareto最優(yōu)極性解集中各極性下的fprm電路的面積和延時(shí)。
所述的步驟③中采用多目標(biāo)教學(xué)優(yōu)化算法搜索精英學(xué)生群體的具體過(guò)程為:
③-1定義精英學(xué)生:設(shè)學(xué)生xa及學(xué)生xb是學(xué)生群體中的任意兩名學(xué)生,若學(xué)生xa的學(xué)習(xí)成績(jī)a不低于學(xué)生xb的學(xué)習(xí)成績(jī)a,并且學(xué)生xa的學(xué)習(xí)成績(jī)d不低于學(xué)生xb的學(xué)習(xí)成績(jī)d,且學(xué)生xa的學(xué)習(xí)成績(jī)a和學(xué)習(xí)成績(jī)d中至少有一門學(xué)習(xí)成績(jī)高于學(xué)生xb的對(duì)應(yīng)學(xué)習(xí)成績(jī),則稱學(xué)生xa優(yōu)于學(xué)生xb,也稱學(xué)生xa支配學(xué)生xb;如果學(xué)生xa不被學(xué)生群體中其他任何學(xué)生支配,則學(xué)生xa為精英學(xué)生;
③-2設(shè)置學(xué)生群體大小為n,n=40,將學(xué)生群體初始化,隨機(jī)設(shè)置每一名學(xué)生,將此時(shí)各個(gè)學(xué)生作為極性,通過(guò)列表技術(shù)分別對(duì)各個(gè)極性進(jìn)行轉(zhuǎn)化,得到各個(gè)極性下的fprm電路的xor/and展開(kāi)式,采用步驟①-2和步驟①-3的方法計(jì)算得到各個(gè)極性下fprm電路的面積和延時(shí);
③-3根據(jù)學(xué)生群體中的每位學(xué)生的學(xué)習(xí)成績(jī)a及學(xué)習(xí)成績(jī)d,確定學(xué)生群體中的所有精英學(xué)生,選擇所有精英學(xué)生放入外部精英檔案庫(kù),外部精英檔案庫(kù)大小為m,m=40;
③-4通過(guò)輪盤賭的方式,從外部精英檔案庫(kù)中提取一名精英學(xué)生作為教師;
③-5計(jì)算學(xué)生群體中所有學(xué)生的學(xué)習(xí)成績(jī)a的平均值,以及每一名學(xué)生的學(xué)習(xí)成績(jī)a與學(xué)習(xí)成績(jī)a的平均值之間的差值,計(jì)算學(xué)生群體中所有學(xué)生的學(xué)習(xí)成績(jī)d的平均值,以及每一名學(xué)生的學(xué)習(xí)成績(jī)d與學(xué)習(xí)成績(jī)d的平均值之間的差值,選擇學(xué)習(xí)成績(jī)a與學(xué)習(xí)成績(jī)a的平均值之間的差值與學(xué)習(xí)成績(jī)d與學(xué)習(xí)成績(jī)d的平均值之間的差值之和最小的學(xué)生作為中等學(xué)生;
③-6利用教師和中等學(xué)生對(duì)學(xué)生群體中的每一名學(xué)生進(jìn)行修正更新,將更新后的各個(gè)學(xué)生作為極性,通過(guò)列表技術(shù)分別對(duì)各個(gè)極性進(jìn)行轉(zhuǎn)化,得到各個(gè)極性下的fprm電路的xor/and展開(kāi)式,采用步驟①-2和步驟①-3的方法計(jì)算得到各個(gè)極性下fprm電路的面積和延時(shí);
③-7將學(xué)生種群中更新前的學(xué)生與其更新后的學(xué)生進(jìn)行對(duì)比,如果學(xué)生群體中更新后的學(xué)生能夠支配其更新前的學(xué)生,則利用更新后的學(xué)生替換其更新前的學(xué)生,反之不變,由此得到更新后的學(xué)生群體;
③-8令③-7中更新后的學(xué)生群體中的每一名學(xué)生隨機(jī)選擇一名其他學(xué)生,對(duì)自己進(jìn)行學(xué)習(xí)更新,再次得到更新后的學(xué)生群體,將此時(shí)更新后的學(xué)生群體的各個(gè)學(xué)生作為極性,通過(guò)列表技術(shù)分別對(duì)各個(gè)極性進(jìn)行轉(zhuǎn)化,得到各個(gè)極性下的fprm電路的xor/and展開(kāi)式,采用步驟①-2和步驟①-3的方法計(jì)算得到各個(gè)極性下fprm電路的面積和延時(shí);
③-9對(duì)步驟③-7得到的更新后的學(xué)生群體再次進(jìn)行更新:將步驟③-8更新后的學(xué)生群體中的學(xué)生與步驟③-7得到更新后的學(xué)生群體中的該學(xué)生進(jìn)行對(duì)比,如果步驟③-8更新后的學(xué)生能夠支配其更新前的學(xué)生,則采用該學(xué)生替換其更新前的學(xué)生,反之則保留更新前的學(xué)生;
③-10將外部精英檔案庫(kù)中所有精英學(xué)生和步驟③-9更新后的學(xué)生群體中的所有學(xué)生組成新的學(xué)生集合,計(jì)算得到該學(xué)生集合中的精英學(xué)生;
③-11將存在于學(xué)生集合中但不存在于外部精英檔案庫(kù)中的精英學(xué)生作為新的精英學(xué)生,統(tǒng)計(jì)該學(xué)生集合中所有新的精英學(xué)生的數(shù)量,若當(dāng)前外部精英檔案庫(kù)中的所有精英學(xué)生的數(shù)量和新的精英學(xué)生數(shù)量之和小于外部精英檔案庫(kù)規(guī)模,則將新的精英學(xué)生放入外部精英檔案庫(kù)中,得到更新后的外部精英檔案庫(kù);否則,將外部精英檔案庫(kù)內(nèi)的所有精英學(xué)生清空,按照擁擠度距離稀疏優(yōu)先原則,從該學(xué)生集合中的所有精英學(xué)生中隨機(jī)抽取40個(gè)精英學(xué)生放入外部精英檔案庫(kù)中,得到更新后的外部精英檔案庫(kù);
③-12重復(fù)步驟③-4~③-11,直至學(xué)生群體更新次數(shù)達(dá)到最大迭代次數(shù),最大迭代次數(shù)為150,此時(shí)更新后的外部精英檔案庫(kù)中的所有精英學(xué)生即為精英學(xué)生群體。該方法通過(guò)教師對(duì)學(xué)生的教學(xué)過(guò)程以及學(xué)生之間的學(xué)習(xí)過(guò)程來(lái)獲取fprm電路面積與延時(shí)的pareto最優(yōu)極性解集,由于增加了極性搜索過(guò)程的多樣性,綜合考慮了全局探索及局部收斂的雙重要求,因此其獲取的pareto最優(yōu)極性解集具有更好的分布均勻性及更高的求解精度。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于通過(guò)建立fprm電路面積與延時(shí)估算模型,然后建立p極性下的fprm電路與多目標(biāo)教學(xué)優(yōu)化算法的關(guān)系映射,先采用面積和延時(shí)作為目標(biāo)對(duì)象定義精英學(xué)生,接著采用多目標(biāo)教學(xué)優(yōu)化算法搜索群體精英學(xué)生,所有群體精英學(xué)生組成fprm電路的pareto最優(yōu)極性解集,最后計(jì)算得到pareto最優(yōu)極性解集中各極性下的fprm電路的面積與延時(shí),本發(fā)明的方法有效地解決了多目標(biāo)約束下大規(guī)模fprm電路的極性綜合優(yōu)化問(wèn)題,解決了傳統(tǒng)處理方法(如加權(quán)函數(shù)法)存在的對(duì)權(quán)重系數(shù)敏感、權(quán)重設(shè)置較難適用于不同類型的電路等問(wèn)題,可以搜索到在不同需求條件下的電路面積與延時(shí)的pareto最優(yōu)解集。而且與其他多目標(biāo)智能優(yōu)化方案相比,本發(fā)明提出的方案具有更好的收斂性和分布均勻性,且優(yōu)化結(jié)果精度更高。
具體實(shí)施方式
以下結(jié)合實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。
實(shí)施例一:一種fprm電路面積與延時(shí)優(yōu)化方法,包括以下步驟:
③建立fprm電路面積與延時(shí)估算模型:
①-1將fprm電路用fprm邏輯表達(dá)式表示為:
其中,n為函數(shù)fp(xn-1,xn-2,…,x0)的輸入變量的數(shù)量;xn-1,xn-2,…,x0表示函數(shù)fp(xn-1,xn-2,…,x0)的n個(gè)輸入變量;
①-2p極性下的fprm電路的xor/and展開(kāi)式包含多輸入與項(xiàng)和多輸入異或項(xiàng),多輸入與項(xiàng)又可稱為多輸入and門,多輸入異或項(xiàng)又可稱為多輸入xor門,即p極性下的fprm電路的xor/and展開(kāi)式由多輸入and門和多輸入xor門這兩種多輸入門組成,將p極性下fprm電路的xor/and展開(kāi)式中包含的多輸入門分解為二輸入門,得到二輸入and門和二輸入xor門,其具體分解過(guò)程為:
把多輸入門的第一個(gè)輸入變量與第二個(gè)輸入變量作為第一個(gè)二輸入門的輸入變量,得到第一個(gè)二輸入門的輸出變量;把第一個(gè)二輸入門的輸出變量與多輸入門的第三個(gè)輸入變量作為第二個(gè)輸入門的輸入變量,得到第二個(gè)二輸出門的輸出變量;把第二個(gè)二輸入門的輸出變量和多輸入門的第四個(gè)輸入變量作為第三個(gè)輸入門的輸入變量,得到第三個(gè)二輸入門的輸出變量;以此類推,直至所有的多輸入門的輸入變量作為二輸入門的輸入變量;
將p極性下的fprm電路的xor/and展開(kāi)式中的多輸入and門分解后得到多個(gè)二輸入and門,將p極性下二輸入and門的數(shù)量記為no._of_andp;將p極性下的fprm電路的xor/and展開(kāi)式的多輸入xor門分解后得到多個(gè)二輸入xor門,將p極性下二輸入門的xor門的數(shù)量記為no._of_xorp;
①-3將分解好的p極性下的fprm電路的xor/and展開(kāi)式中,從電路輸入到電路輸出的所有路徑中延時(shí)最長(zhǎng)的那一條路徑作為p極性下的fprm電路的關(guān)鍵路徑,將該關(guān)鍵路徑包含的所有二輸入門的傳輸延時(shí)之和作為fprm電路的延時(shí),將p極性下fprm電路的延時(shí)記為d(p),將分解好的p極性下的fprm電路的xor/and展開(kāi)式中二輸入and門的數(shù)量記為no._of_andp,將分解好的p極性下的fprm電路的xor/and展開(kāi)式中二輸入xor門的數(shù)量記為no._of_xorp,將p極性下fprm電路的面積記為a(p),其中:
a(p)=no._of_andp+no._of_xorp;
④建立p極性下的fprm電路與多目標(biāo)教學(xué)優(yōu)化算法的映射關(guān)系:
多目標(biāo)教學(xué)優(yōu)化算法中包括以下幾個(gè)關(guān)鍵要素:學(xué)生、學(xué)生學(xué)習(xí)空間、學(xué)習(xí)成績(jī)a、學(xué)習(xí)成績(jī)d、教師、中等學(xué)生、精英學(xué)生群體;
fprm電路面積與延時(shí)優(yōu)化包括以下幾個(gè)關(guān)鍵要素:極性、極性對(duì)應(yīng)的面積大小、極性對(duì)應(yīng)的延時(shí)大小、可選擇極性的空間、最優(yōu)極性、pareto最優(yōu)極性解集;
將學(xué)生表示為極性;學(xué)生學(xué)習(xí)空間表示為可選擇極性的空間;學(xué)習(xí)成績(jī)a表示為極性對(duì)應(yīng)的面積大?。粚W(xué)習(xí)成績(jī)d表示為極性對(duì)應(yīng)的延時(shí)大??;教師表示為最優(yōu)極性;中等學(xué)生表示為在學(xué)生群體中面積大小與延時(shí)大小處于平均水平的極性;精英學(xué)生群體表示為pareto最優(yōu)極性解集;
③采用多目標(biāo)教學(xué)優(yōu)化算法確定精英學(xué)生群體,該精英學(xué)生群體即為fprm電路的pareto最優(yōu)極性解集,按照步驟①-3的方法計(jì)算得到pareto最優(yōu)極性解集中各極性下的fprm電路的面積和延時(shí)。
實(shí)施例二:一種fprm電路面積與延時(shí)優(yōu)化方法,包括以下步驟:
⑤建立fprm電路面積與延時(shí)估算模型:
①-1將fprm電路用fprm邏輯表達(dá)式表示為:
其中,n為函數(shù)fp(xn-1,xn-2,…,x0)的輸入變量的數(shù)量;xn-1,xn-2,…,x0表示函數(shù)fp(xn-1,xn-2,…,x0)的n個(gè)輸入變量;
①-2p極性下的fprm電路的xor/and展開(kāi)式包含多輸入與項(xiàng)和多輸入異或項(xiàng),多輸入與項(xiàng)又可稱為多輸入and門,多輸入異或項(xiàng)又可稱為多輸入xor門,即p極性下的fprm電路的xor/and展開(kāi)式由多輸入and門和多輸入xor門這兩種多輸入門組成,將p極性下fprm電路的xor/and展開(kāi)式中包含的多輸入門分解為二輸入門,得到二輸入and門和二輸入xor門,其具體分解過(guò)程為:
把多輸入門的第一個(gè)輸入變量與第二個(gè)輸入變量作為第一個(gè)二輸入門的輸入變量,得到第一個(gè)二輸入門的輸出變量;把第一個(gè)二輸入門的輸出變量與多輸入門的第三個(gè)輸入變量作為第二個(gè)輸入門的輸入變量,得到第二個(gè)二輸出門的輸出變量;把第二個(gè)二輸入門的輸出變量和多輸入門的第四個(gè)輸入變量作為第三個(gè)輸入門的輸入變量,得到第三個(gè)二輸入門的輸出變量;以此類推,直至所有的多輸入門的輸入變量作為二輸入門的輸入變量;
將p極性下的fprm電路的xor/and展開(kāi)式中的多輸入and門分解后得到多個(gè)二輸入and門,將p極性下二輸入and門的數(shù)量記為no._of_andp;將p極性下的fprm電路的xor/and展開(kāi)式的多輸入xor門分解后得到多個(gè)二輸入xor門,將p極性下二輸入門的xor門的數(shù)量記為no._of_xorp;
①-3將分解好的p極性下的fprm電路的xor/and展開(kāi)式中,從電路輸入到電路輸出的所有路徑中延時(shí)最長(zhǎng)的那一條路徑作為p極性下的fprm電路的關(guān)鍵路徑,將該關(guān)鍵路徑包含的所有二輸入門的傳輸延時(shí)之和作為fprm電路的延時(shí),將p極性下fprm電路的延時(shí)記為d(p),將分解好的p極性下的fprm電路的xor/and展開(kāi)式中二輸入and門的數(shù)量記為no._of_andp,將分解好的p極性下的fprm電路的xor/and展開(kāi)式中二輸入xor門的數(shù)量記為no._of_xorp,將p極性下fprm電路的面積記為a(p),其中:
a(p)=no._of_andp+no._of_xorp;
⑥建立p極性下的fprm電路與多目標(biāo)教學(xué)優(yōu)化算法的映射關(guān)系:
多目標(biāo)教學(xué)優(yōu)化算法中包括以下幾個(gè)關(guān)鍵要素:學(xué)生、學(xué)生學(xué)習(xí)空間、學(xué)習(xí)成績(jī)a、學(xué)習(xí)成績(jī)d、教師、中等學(xué)生、精英學(xué)生群體;
fprm電路面積與延時(shí)優(yōu)化包括以下幾個(gè)關(guān)鍵要素:極性、極性對(duì)應(yīng)的面積大小、極性對(duì)應(yīng)的延時(shí)大小、可選擇極性的空間、最優(yōu)極性、pareto最優(yōu)極性解集;
將學(xué)生表示為極性;學(xué)生學(xué)習(xí)空間表示為可選擇極性的空間;學(xué)習(xí)成績(jī)a表示為極性對(duì)應(yīng)的面積大?。粚W(xué)習(xí)成績(jī)d表示為極性對(duì)應(yīng)的延時(shí)大??;教師表示為最優(yōu)極性;中等學(xué)生表示為在學(xué)生群體中面積大小與延時(shí)大小處于平均水平的極性;精英學(xué)生群體表示為pareto最優(yōu)極性解集;
③采用多目標(biāo)教學(xué)優(yōu)化算法確定精英學(xué)生群體,該精英學(xué)生群體即為fprm電路的pareto最優(yōu)極性解集,按照步驟①-3的方法計(jì)算得到pareto最優(yōu)極性解集中各極性下的fprm電路的面積和延時(shí)。
本實(shí)施例中,步驟③中采用多目標(biāo)教學(xué)優(yōu)化算法搜索精英學(xué)生群體的具體過(guò)程為:
③-1定義精英學(xué)生:設(shè)學(xué)生xa及學(xué)生xb是學(xué)生群體中的任意兩名學(xué)生,若學(xué)生xa的學(xué)習(xí)成績(jī)a不低于學(xué)生xb的學(xué)習(xí)成績(jī)a,并且學(xué)生xa的學(xué)習(xí)成績(jī)d不低于學(xué)生xb的學(xué)習(xí)成績(jī)d,且學(xué)生xa的學(xué)習(xí)成績(jī)a和學(xué)習(xí)成績(jī)d中至少有一門學(xué)習(xí)成績(jī)高于學(xué)生xb的對(duì)應(yīng)學(xué)習(xí)成績(jī),則稱學(xué)生xa優(yōu)于學(xué)生xb,也稱學(xué)生xa支配學(xué)生xb;如果學(xué)生xa不被學(xué)生群體中其他任何學(xué)生支配,則學(xué)生xa為精英學(xué)生;
③-2設(shè)置學(xué)生群體大小為n,n=40,將學(xué)生群體初始化,隨機(jī)設(shè)置每一名學(xué)生,將此時(shí)各個(gè)學(xué)生作為極性,通過(guò)列表技術(shù)分別對(duì)各個(gè)極性進(jìn)行轉(zhuǎn)化,得到各個(gè)極性下的fprm電路的xor/and展開(kāi)式,采用步驟①-2和步驟①-3的方法計(jì)算得到各個(gè)極性下fprm電路的面積和延時(shí);
③-3根據(jù)學(xué)生群體中的每位學(xué)生的學(xué)習(xí)成績(jī)a及學(xué)習(xí)成績(jī)d,確定學(xué)生群體中的所有精英學(xué)生,選擇所有精英學(xué)生放入外部精英檔案庫(kù),外部精英檔案庫(kù)大小為m,m=40;
③-4通過(guò)輪盤賭的方式,從外部精英檔案庫(kù)中提取一名精英學(xué)生作為教師;
③-5計(jì)算學(xué)生群體中所有學(xué)生的學(xué)習(xí)成績(jī)a的平均值,以及每一名學(xué)生的學(xué)習(xí)成績(jī)a與學(xué)習(xí)成績(jī)a的平均值之間的差值,計(jì)算學(xué)生群體中所有學(xué)生的學(xué)習(xí)成績(jī)d的平均值,以及每一名學(xué)生的學(xué)習(xí)成績(jī)d與學(xué)習(xí)成績(jī)d的平均值之間的差值,選擇學(xué)習(xí)成績(jī)a與學(xué)習(xí)成績(jī)a的平均值之間的差值與學(xué)習(xí)成績(jī)d與學(xué)習(xí)成績(jī)d的平均值之間的差值之和最小的學(xué)生作為中等學(xué)生;
③-6利用教師和中等學(xué)生對(duì)學(xué)生群體中的每一名學(xué)生進(jìn)行修正更新,將更新后的各個(gè)學(xué)生作為極性,通過(guò)列表技術(shù)分別對(duì)各個(gè)極性進(jìn)行轉(zhuǎn)化,得到各個(gè)極性下的fprm電路的xor/and展開(kāi)式,采用步驟①-2和步驟①-3的方法計(jì)算得到各個(gè)極性下fprm電路的面積和延時(shí);
③-7將學(xué)生種群中更新前的學(xué)生與其更新后的學(xué)生進(jìn)行對(duì)比,如果學(xué)生群體中更新后的學(xué)生能夠支配其更新前的學(xué)生,則利用更新后的學(xué)生替換其更新前的學(xué)生,反之不變,由此得到更新后的學(xué)生群體;
③-8令③-7中更新后的學(xué)生群體中的每一名學(xué)生隨機(jī)選擇一名其他學(xué)生,對(duì)自己進(jìn)行學(xué)習(xí)更新,再次得到更新后的學(xué)生群體,將此時(shí)更新后的學(xué)生群體的各個(gè)學(xué)生作為極性,通過(guò)列表技術(shù)分別對(duì)各個(gè)極性進(jìn)行轉(zhuǎn)化,得到各個(gè)極性下的fprm電路的xor/and展開(kāi)式,采用步驟①-2和步驟①-3的方法計(jì)算得到各個(gè)極性下fprm電路的面積和延時(shí);
③-9對(duì)步驟③-7得到的更新后的學(xué)生群體再次進(jìn)行更新:將步驟③-8更新后的學(xué)生群體中的學(xué)生與步驟③-7得到更新后的學(xué)生群體中的該學(xué)生進(jìn)行對(duì)比,如果步驟③-8更新后的學(xué)生能夠支配其更新前的學(xué)生,則采用該學(xué)生替換其更新前的學(xué)生,反之則保留更新前的學(xué)生;
③-10將外部精英檔案庫(kù)中所有精英學(xué)生和步驟③-9更新后的學(xué)生群體中的所有學(xué)生組成新的學(xué)生集合,計(jì)算得到該學(xué)生集合中的精英學(xué)生;
③-11將存在于學(xué)生集合中但不存在于外部精英檔案庫(kù)中的精英學(xué)生作為新的精英學(xué)生,統(tǒng)計(jì)該學(xué)生集合中所有新的精英學(xué)生的數(shù)量,若當(dāng)前外部精英檔案庫(kù)中的所有精英學(xué)生的數(shù)量和新的精英學(xué)生數(shù)量之和小于外部精英檔案庫(kù)規(guī)模,則將新的精英學(xué)生放入外部精英檔案庫(kù)中,得到更新后的外部精英檔案庫(kù);否則,將外部精英檔案庫(kù)內(nèi)的所有精英學(xué)生清空,按照擁擠度距離稀疏優(yōu)先原則,從該學(xué)生集合中的所有精英學(xué)生中隨機(jī)抽取40個(gè)精英學(xué)生放入外部精英檔案庫(kù)中,得到更新后的外部精英檔案庫(kù);
③-12重復(fù)步驟③-4~③-11,直至學(xué)生群體更新次數(shù)達(dá)到最大迭代次數(shù),最大迭代次數(shù)為150,此時(shí)更新后的外部精英檔案庫(kù)中的所有精英學(xué)生即為精英學(xué)生群體。