趙杰
摘要:組卷問題需要在特定的約束條件下對多個目標(biāo)參數(shù)進行科學(xué)的優(yōu)化,應(yīng)用傳統(tǒng)的數(shù)學(xué)方法將十分困難。針對自動組卷系統(tǒng)而言,其應(yīng)用效率與試題庫設(shè)計和題目抽取算法有著直接的關(guān)系,遺傳算法體現(xiàn)出較大的優(yōu)勢,遺傳算法是一種通過模擬生物界自然選擇和遺傳變異的機制來求解復(fù)雜問題的隨機搜索和優(yōu)化的方法。本文結(jié)合遺傳算法的原理,對自定組卷問題的數(shù)學(xué)模型進行了分析,提出了系統(tǒng)設(shè)計和實現(xiàn)方法。
關(guān)鍵詞:自動組卷 遺傳算法 研究和應(yīng)用
中圖分類號:TP311.52 文獻識別碼:A 文章編號:1007-9416(2016)05-0000-00
1 遺傳算法的原理
遺傳算法應(yīng)用,以自然遺傳學(xué)為基礎(chǔ),結(jié)合群體進化理論,對群體中所有備選解進行最優(yōu)選擇,通過交叉和變異等迭代運算,尋找滿意解,每一次迭代稱為一代,之后對函數(shù)進行評價后保留一部分染色體進入到下一代,借助遺傳算子補充染色體,最后得出最優(yōu)的群體,實現(xiàn)問題的求解。[1]
2 自動組卷的數(shù)學(xué)模型
自動組卷過程中需要從相應(yīng)的試題庫中找出滿足約束條件的試題組成試卷。例如一份試卷中有m道試題,不同的試題有n個屬性,生成試卷過程矩陣為m×n即:
其中S表示目標(biāo)矩陣,S必須滿足以下約束條件:
試卷總分約束,即,其中ai2表示第i道試題的分值,S為總分,默認(rèn)試卷滿分100分。
題型分值約束,,其中Tt表示第t中題型的分?jǐn)?shù),C1i表示單項選擇、多項選擇或者計算等題型,t表示題型號。
章節(jié)分值約束,,其中Zt表示第t章中要求的分?jǐn)?shù),t表示章節(jié)號。
知識點分值約束,,其中ZSt表示第t個知識點的分值,t表示知識點號。
難度約束,,其中ai4表示第i道試題的難度,S′表示試卷的總分值。
3 群體初始化
結(jié)合試卷內(nèi)容和不同題型的數(shù)量,保證一份試卷中知識點不重復(fù),之后隨即生成初始群體p(0),群體規(guī)模為P,P值取為50-100,方案如下。
public class Unit
{
public Unit()
{
ID = 0;
AdaptationDegree = 0.00;
KPCoverage = 0.00;
ProblemList = new List
}
public double Difficulty
{
get
{
double diff = 0.00;
ProblemList.ForEach(delegate(Problem p)
{
diff += p.Difficulty * p.Score;
});
return diff / SumScore;
}
}
///
public int ProblemCount
{
get
{
return ProblemList.Count;
}
}
///
public int SumScore
{
get
{
int sum = 0;
ProblemList.ForEach(delegate(Problem p)
{
sum += p.Score;
});
return sum;
}
}
public double KPCoverage { get; set; }
///
public List
}
4結(jié)語
自動組卷問題需要滿足多個約束條件,是一種的典型的多目標(biāo)求解問題,將組卷系統(tǒng)應(yīng)用于實際教學(xué),有利于解決組卷難題,獲得良好的教學(xué)效果。
參考文獻
[1]陳曉東.一種基于改進遺傳算法的組卷算法[J].哈爾濱工業(yè)大學(xué)學(xué)報,2014,37(9):117.
[2]魏平,熊偉清.用遺傳算法解組卷問題的設(shè)計與實現(xiàn)[J].微電子學(xué)與計算機,2011,19(4):48.