




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
年4月19日網絡考試系統的設計與實現文檔僅供參考,不當之處,請聯系改正。考號:姓名:〔內容摘要〕隨著計算機科學與互聯網技術的發展,網絡考試顯示出其廣闊前景。由于考試本身所具有的公正性及特殊要求再加之技術原因,在線考試系統一直未得到提倡。本系統在分析了傳統考試與在線考試的特點之后,嘗試給出一個包括試卷生成與管理及閱卷與成績管理的在線考試解決方案。本文重點分析了系統實現過程中幾個關鍵問題:將組卷抽象為組合優化問題,并設置試題屬性,依據屬性建立試題庫;采用改進編碼的遺傳算法作為組卷方法,取代傳統二進制編碼,提高了組卷的效率與成功率;閱卷采用計算機閱卷與人工閱卷相結合的方法,減輕教師的負擔;成績自動生成、分析、發布,方便老師和學生。本系統采用B/S三層結構作為系統的開發結構,使用ASP.NET技術進行開發,后臺數據庫使用SQLServer,實現了網絡考試系統。〔關鍵詞〕自動組卷在線考試遺傳算法ASP.NETSQLC#第一章緒論1.1背景當前我校大多數課程進行的考試都采用傳統的考試方式,組織一次考試至少要經過幾個步驟,即人工出題、教研組組長與主管教學的系領導審核批準制卷、試卷打印、考生考試、人工閱卷、成績評定、試卷分析,而且在出試卷時必須要求制作一套完整的試卷(包括A卷和B卷)及相應的評分標準和參考答案,再加上考試教室的安排、監考老師的分配等,使學校消耗大量的人力、物力、財力、時間。顯然,隨著學生人數的增多,考試類型的不斷增加及考試要求的不斷提高,學校的開支越來越大,教師的工作量也將會越來越大,從而嚴重影響學校的工作效率,而且考試本身就是一件十分繁瑣和非常容易出錯的事情,傳統的考試方式已經越來越不能適應現代教學要求,應改變傳統的紙張考試的方式,充分利用計算機和網絡技術,實現計算機考試,從而使考試更加公正、客觀。隨著新校區學生數量越來越大,學校在計算機和網絡方面的投入也越來越大,學生上網越來越方便。因此,本課題擬用學校現有的軟硬件資源設計并開發一個適合我校管理實際,能針對不同課程科目進行考試的網絡考試系統,從而提高學校在考試組織和考務管理方面的工作效率和工作質量,減輕教師和考務人員的工作負擔,降低學校開銷,對推動學校管理機制的進一步完善,充分體現高校管理工作的先進性,具有重要意義。1.2國內外研究狀況計算機網絡考試在美國誕生,歷經多年,在國外得到廣泛的運用。當前,世界上許多國際考試都采用網絡考試的方式,比如微軟認證,思科認證,惠普認證,以及TOFEL,GRE,這些考試都是經過網絡實時進行的。而且國際電氣和電子工程師協會的一些工作小組,開展了相關標準的制定和修訂工作。在中國,將計算機與網絡運用在考試上比較晚,但也有一些投入使用的考試系統,如計算機等級考試,駕駛員理論考試,以及最近投入使用的大學英語四六級考試等。中國教育部于5月推出《現代遠程教育資源建設技術規范》,其中對網絡題庫、考試系統的建設規范進行了定義。教育部組織國內8所重點高校的有關專家成立教育部教育信息化技術標準委員會,開展網絡教育技術標準研制,制定中國現代教育技術標準CELTS。1.3考試系統的設計的目的和意義近幾年來我校教學體制不斷改革,對檢驗教師教學效果和學生學習效果的手段也一直在探討中,可是除了計算機文化基礎之外,其它科目還是利用教師手工出卷――學生答卷的傳統模式進行考試,而且多數情況下對試卷的處理還是沿用傳統的手工處理的方式,雖然傳統的手工方式對處理主觀性試卷有一定的優越性,可是從整個考試環節看,又不可避免的出現以下幾個問題。1.試卷缺乏隨機性:由教師手工編寫具體的試卷,其中每道題均由教師指定,每次考試學生面臨的試卷相同。試卷從老師向學生傳遞的過程中會發生不同程度和形式的泄密,而且考生在考試時難以從技術上避免作弊行為的發生。2.教師工作量極大,負擔重:這主要表現在出卷和閱卷環節上。教師需要花費時間總結、整理本學期課程的內容和知識點,然后還要手工出題組卷。考試完畢后,還需教師評閱,登記,分析。在整個過程中工作量大,效率低。3.考試場所缺乏靈活性:參加同一門考試的學生必須在同一時間內參加考試,需要教務部門專門安排考場和監考人員,這是一筆不小的開銷。相比傳統考試形式,網絡考試系統的主要好處是一方面能夠動態管理各種考試信息,只要準備試題量足夠大、試題足夠標準的試題庫,老師便能夠根據該課程的教學大綱和教學內容制定組卷策略,設計試題的編制要求,計算機則能夠根據一定算法按照要求從題庫中取出滿足條件的試題并生成試卷;另一方面利用該系統考試時間靈活,能夠充分利用網絡無限廣闊的空間,隨時對學生進行考試。簡化傳統考試過程,減輕繁重的考務工作,避免考試過稱中的人為因素,提高考試考核水平和管理水平。另外,網上考試系統閱卷速度快,迅速給出客觀題成績,減輕老師閱卷負擔。當前我校在許多方面都實現了信息化、網絡化,可是期末考試大多數科目仍是傳統考試模式。大量時間浪費在重復勞動上。計算機網絡考試系統不但充分發揮校園網的功能,而且能夠節約考試用紙,是考試方便、靈活,有效防止作弊,提高學校在考試組織和考務方面的工作效率和質量。1.4課題研究的主要內容當前常見的網絡考試系統有兩種,一種是基于客戶機/服務器(即Client/Server,簡稱C/S)模式。另一種是基于瀏覽器/服務器(即Brower/Server,簡稱B/S)模式。采用C/S模式的考試系統,需在考試前在客戶機安裝考試應用程序、對數據庫進行配置,系統維護困難,成本較高。在B/S模式下,用戶界面是經過WWW瀏覽器實現,極少部分事務邏輯在前端(Browser)實現,主要事務邏輯在服務器端(Server)實現,減輕系統維護與升級的成本和工作量。在比較兩種體系結構的優缺點的基礎上,本系統設計采用B/S模式,將SQLServer與ASP.NET2.0技術結合起來,實現系統的主要功能。本課題主要解決問題如下:1.建立標準化試題庫,方便實現試題的數字化管理。所謂題庫就是試題的倉庫,把經過教師認真編制或者仔細挑選出來的題目集合到一起,供試卷編制者隨時查詢和使用的集合,為題目的保存、分類和檢索提供了便利,為試卷編制提供了高效率和低成本的手段。試題庫是網絡考試系統重要組成部分。2.按照科學的策略智能組卷,從而提高出卷效率。網絡考試系統試題庫為依托,系統能夠按照教師制定的組卷策略自動抽題組卷,從而提高出卷效率。3.實現自動組卷、人工閱卷相結合和數據的有效保存。4.實現管理員、老師、學生、試卷的信息管理。管理員維護系統,不同的老師具有不同的權限去查看、修改、添加試題庫,老師能夠批改試卷、管理學生成績,學生能夠查看考試成績。1.5本文章節安排本文包含以下幾個部分:第一章介紹課題選題背景、國內外研究現狀、考試系統設計的目的和意義以及本文的工作內容。第二章對系統所用開發技術進行相關介紹。第三章對系統進行需求分析和總體設計。第四章在線考試系統的實現。第二章系統開發所用的相關技術2.1SQLServer在該考試系統設計中,選擇SQLServer作為后臺數據庫工具。SQLServer是Microsoft公司SQLServer系列產品的第九版即SQLServer9.0。它繼承了SQLServer以前版本的優點,同時又增加了許多功能,如企業數據管理,開發工作效率和商務智能等。與Microsoft公司的其它產品有良好的兼容性。它提供的幾十種向導,覆蓋了幾乎因此的數據庫操作(數據庫的創立、維護、作業、警告、數據復制、轉換等)。SQLServer是微軟公司開發的一個高性能的、多用戶的關系型數據庫管理系統。它是專為客戶服務器計算環境設計的,是當前最流行的數據庫服務器系統之一,它提供的內置數據復制功能、強大的管理工具和開放式的系統體系結構為基于事務的信息管理方案提供了一個卓越的平臺。它是一個全面的數據庫平臺,使用集成的商業智能工具提供了企業級的數據管理。MSSQLServer數據庫引擎為關系型數據和結構化數據提供了更安全可靠的存儲功能,能夠構建和管理用于業務的高可用性和高性能的數據應用程序。它有一套很好的安全性控制機制,能夠保證數據庫和數據庫中數據的安全。采用SQLServer為后臺數據庫,在庫記錄檢索中,用簡單查詢、多條件組合式查詢和基于內容的搜索式查詢;在記錄集顯示中,采用記錄集多頁顯示技術、數據庫訪問直接采用,這方便系統移植,數據庫訪問效率更高。2.2ADO.NET技術ADO.NET對MicrosoftSQLServer和XML等數據源以及經過OLEDB和XML公開的數據源提供一致的訪問。數據共享使用者應用程序能夠使用ADO.NET來連接到這些數據源,并檢索、處理和更新所包含的數據。ADO.NET是.NETFramework的一部分,能夠讓應用更加容易的管理和維護基于文件的或者基于服務器的數據存儲。ADO.NET類在System.Data命名空間下,這些類包括連接到數據源,執行命令,存儲,控制,獲取數據的功能。所用ADO.NET技術如下:ADO.NET對象模型中有五個主要的部件,分別是:Connection物件:Connection對象主要是開啟程序和數據庫之間的連接。沒有利用連接對象將數據庫打開,書無法從數據庫中取得數據的,這個物件在ADO.NET的最底層。Command物件:Command對象主要能夠用來對數據庫發出一些指令(查詢、新增、修改、刪除等)。DataAdapter物件:DataAdapter對象主要是在數據源以及DataSet之間執行數據傳輸工作,她能夠經過Command對象下達命令后,并將取得的數據放入DataSet對象中。這個對象是架構在Command對象上,并提供了許多配合DataSet使用的功能。DataSet物件:DataSet對象能夠視為一個暫存區(Cache),能夠把從數據庫中查詢到的數據保留起來,甚至能夠將這個數據庫顯示出來。Dataset不但能夠存儲多個數據表,而且能夠經過DataAdapter取得數據表的結構,并能夠記錄數據表之間的關聯。DataSet對象是ADO.NET中的重要對象,架構在DataAdapter上。DataReader物件:當只需要讀取數據而不需要其它操作時,使用DataReader對象。DataReader對象一次只讀取一筆數據,而且這些數據是只讀的,不允許其它操作。這樣節約資源,效率很高,而且不用把數據全部傳回,能夠降低網絡負載。2.3ASP.NET技術ASP.NET是一項功能強大的、非常靈活的服務器端技術,她用于創立動態Web頁面。ASP.NET是微軟公司的ASP和.NETFranmework在兩項技術的結合。ASP.NET允許使用.NETFranmework的任何語言(如VB.NET,C#等)創立Web應用程序。與更高級的編程語言相比,一個主要區別是ASP.NET提供了完整的服務器端對象模型,能夠在運行期間使用。ASP.NET能夠在環境中把頁面上的所有控件作為對象來訪問。在服務器端,還能夠訪問其它.NET類,與許多有用的服務集成起來。在頁面上使用的控件有許多功能,實際上能夠完成WindowsForm類的幾乎所有功能,有非常大的靈活性。因此,生成HTML內容的ASP.NET一般稱為Web窗體。ASP.NET提供許多比過去的Web開發模型更加優異的功能。第一,ASP.NET實現了應用程序代碼與HTML分離,產生易于閱讀的代碼模塊。在傳統的ASP頁中兩種代碼是混合在一起的,非常不利于開發人員糾錯和系統后期維護和擴展。ASP.NET已經很好的解決了這個問題,HTML代碼*.aspx文件中,而事件的處理代碼保存在*.aspx.cs中。這樣使前臺后臺分離,同時增加了系統的安全性。第二,ASP.NET是一個編譯式的.NET環境,開發者能夠使用.NETFramework下的語言編寫ASP.NET,從而開發出快速可靠的動態網頁。本設計選擇C#語言。第三,ASP.NET不但能夠享受到.NETFramework運行時在效率上的諸多強化,她本身也是經過重新設計,使其效率大幅超越ASP和其它Web開發平臺。第三章在線考試系統需求和總體設計3.1對系統的綜合要求本系統是一個基于校園網的考試系統,系統設計必須滿足一下要求:1.安全性操作人員進入系統時首先應進行登錄,只有經過身份驗證后才能操作,以防止誤權限的人員進入系統。2.保密性考試系統中的試題是要嚴格保密的,信息不得泄露。這是考試系統最重要的要求。3.完整性考試系統的信息在存儲或傳輸過程中保持不會被修改、不被破壞和不丟失的特性。4.可用性可用性是指系統中的數據可被合法用于訪問并按照要求的特性使用,當操作人員使用時應能夠正常準確無誤地存取。5.可控性可控性是指對在線考試的信息及系統實施安全監控。3.2用戶需求分析要設計一個性能良好的管理系統,明確用戶的應用環境對系統的要求是首要的和基本的。本系統從以下幾個方面對用戶的需求進行了分析:1.用戶的信息需求:考生能查詢有關考試通知、考試成績;系統管理員和教師都能夠查詢題庫信息、系別班級信息、考生成績信息;2.用戶的處理需求:教師能對題庫執行增加、刪除可修改操作,能夠按照一定策略組卷,批改試卷;管理員能對考試科目、試題類型、人員信息進行增加、刪除和修改,能夠設置考試信息,經考試主管領導的審核后就可考試;在考試時,系統根據考試信息的設置自動生成試卷;系統控制考試時間、考試成績自動生成、多功能查詢等。3.對系統的適應性、通用性要求:要求系統能夠不受未來課程設置變化的影響,依然能照常使用。通用性方面,要求系統不但能夠進行計算機考試,而且其它系或專業稍作設置或改動也能使用本系統進行無紙化網絡考試。4.對系統的安全性要求:要求進入系統必須進行口令校驗。3.3系統的功能需求分析本系統的用可分為管理員,教師,學生三類。考慮到系統的安全性,本系統供分為兩個界面:一個界面用于管理員和教師登錄,主要負責進行基本資料、題庫、試卷、成績的管理和查詢等;另一個界面用于考生登錄,主要負責在線考試、成績查詢等。總體上考慮,該考試系統應該實現下列功能:對管理員來說,主要包括管理基本資料(包括教師、學生資料的增、刪、改以及個人資料修改)、控制與分配用戶的訪問權限,保障系統的安全性,防止非法訪問。對教師來說,包括試卷管理、題庫管理、成績管理。1.試卷管理:教師能夠從課程,難度系數,各種題型的數量等方面對某份試卷提出一定要求生成若干份試卷,在學生考試時,由系統根據學生信息隨機選一份試卷分發給學生,不需要手工組卷。同時,教師還能夠對生成的試卷進行修改刪除。2.題庫管理:教師能夠根據教學需求對題庫中進行添加新的考題,刪除舊的考題,修改原有考題,其中試題類型包括判斷題、填空題、單選題、多選題、簡答題、計算題等;對于每種題型,教師能夠設置題干、答案、難度系數、所屬科目、所屬章節、估計答題時間等屬性。3.成績管理:對于計算機無法判斷的主觀題,由人工批閱,然后系統自動將成績統計出來進行分析,包括各個分數段人數、及格人數、不及格人數等。對于學生來說,包括查詢考試信息、在線考試、查詢以往考試成績。1.考生能夠查詢即將開始的考試。2.在線考試:考慮到我院實際情況,學生必須在計算中心集中參加考試,答完一種題型,就將試題答案提交到服務器,不允許返回修改。本系統添加考試計時器,一方面提醒考生注意考試時間,一方面當考試結束時,強制提交試卷。3.查詢以往考試成績:學生能夠在線查詢以前參加過的考試的成績。3.4系統的體系結構本系統的體系結構設計主要采用B/S的三層結構:表示層、應用層、數據層。其中,表示層是客戶端瀏覽器;應用層是具有應用程序擴展功能的Web服務器,包括事物處理邏輯,位于服務器端;數據層即數據庫服務器。這種結構的工作流程是:用戶經過瀏覽器向網絡中的某一Web服務器提出請求,Web服務器對用戶驗明身份后,首先執行相應的擴展應用程序與數據庫聯通,經過SQL語句向數據庫發出數據處理申請,然后將數據庫處理結果交給Web服務器后,在由Web服務器傳送到客戶端瀏覽器。三層體系結構如下圖3-1所示。圖3-1三層體系結構3.5系統的功能模塊劃分本考試系統可分為管理員模塊、教師模塊、學生模塊。系統總體模塊劃分如圖3-2所示。圖3-2系統功能模塊圖下面對本考試系統的主要功能模塊進行詳細介紹。一、管理員模塊1.管理員登錄:管理員經過驗證登錄進入系統管理界面。2.考試信息管理:管理員發布最近一段時間的考試信息,方便考生查詢。3.科目管理:管理員能夠對考試科目進行添加、修改刪除。4.用戶管理:管理員能夠對用戶賬號、用戶信息、用戶權限進行管理。5.題型管理:考慮到本考試系統的通用性,允許添加新的題型,可是需要以管理員身份添加。二、教師模塊1.教師登錄:經過驗證身份,教師進入教師界面。2.題庫管理:教師能夠對試題庫進行添加、編輯、刪除。3.學生管理:教師能夠管理參加考試的學生信息。考生信息包賬號、密碼、姓名、院系等。考生信息來自教務部門,考生無需注冊。4.試卷管理:教師能夠按照一定組卷策略,從試題庫中抽取試題,組成試卷,而且能夠對試卷進行修改和刪除。5.成績管理:包括試卷主觀題批閱功能。系統會將計算機閱卷部分與人工閱卷部分的分值相加,存儲在數據庫中。系統對考試成績進行統計和分析,教師、學生能夠查看成績。三、學生模塊1.學生登錄:首先對考生進行身份驗證,才能進入系統。2.在線考試:學生選擇自己將要參加的的考試科目,到考試時間后,學生開始考試,客戶端時間與服務器時間同步。考試方式為做完一種題型,便將答案提交至服務器,不允許返回修改。考試結束,強制提交試卷。客觀題由系統批閱,主觀題由教師批閱。3.成績查看:閱卷完畢后,考生能夠查看考試成績信息。3.6數據庫設計網絡考試系統的數據庫功能主要體現在對各種信息的提供、保存、更新和查詢上,包括用戶信息、試題信息、試卷信息、學生成績信息等。本文參與設計的數據表如下:一、題目表(problem)3-1:表3-1題目表字段名數據類型字段說明鍵引用備注problemidint題目編號PK主鍵(自動增1)problemvarchar()題干chooseavarchar(100)選項Achoosebvarchar(100)選項Bchoosecvarchar(100)選項Cchoosedvarchar(100)選項Danswervarchar()參考答案diffleveldouble難度系數estimatetimesmallint估計答題時間scoresmallint分值chapteridsmallint章節problemtypeidsmallint試題類型號FK引用試題類型表的problemtypeidcourseidsmallint科目FK引用課程表的courseid二、考生答題表(stuproblemscore)3-2:表3-2考生答題表字段名數據類型字段說明鍵引用備注indexnointPK主鍵(自動增1)stuidint學生號FK引用學生表的stuidproblemidint題目編號FK引用題目表的problemidstuanswervarchar()學生答案papernamevarchar(10)試卷名稱stugetscoresmallint應得分數problemtypeidsmallint試題類型FK引用試題類型表的problemtypeidanswervarchar()參考答案ifchangebit標志是否批改scoresmallint分值problemvarchar()題干courseidsmallint科目FK引用科目表的courseid三、試卷信息表(paperinformation)3-3:表3-3試卷信息表字段名數據類型字段說明鍵引用備注papernamevarchar(10)試卷名稱PK主鍵courseidsmallint課程號FK引用課程表的courseidmaketimedatetime制作時間tarttimedatetime開始考試時間studepartmentnchar(20)院系參加考試考生的院系papertypenchar(20)試卷類型testtypenachar(20)測試方式endtimedatetime考試結束時間stumajornchar(20)考生專業diffleveldouble難度系數ifchangebit標志此卷是否批改ifcommisionbit標志此卷是否批準使用coursenamevarchar(20)課程名稱四、學生成績表(studentscore)3-4:表3-4學生成績表字段名數據類型字段說明鍵引用備注stuidint學生號PK,FK引用學生表的stuidcourseidsmallint課程號PK,FK引用課程表的courseidscoresmallint分數五、題目類型表(problemtype)3-5:表3-5題目類型表字段名數據類型字段說明鍵引用備注problemtypeidsmallint試題類型號PK主鍵(自動增1)problemnamevarchar(20)試題類型名稱六、試卷表(temper)3-6表3-6試卷表字段名數據類型字段說明鍵引用備注numberintPK主鍵(自動增1)papernamevarchar(10)試卷名稱FK引用試卷信息表的papernameproblemidint試題編號FK引用題目表的problemidproblemvarchar()題目chooseavarchar(100)選項Achoosebvarchar(100)選項Bchoosecvarchar(100)選項Cchoosedvarchar(100)選項Danswervarchar()參考答案scoresmallint分值problemnamevarchar(20)試題類型名稱diffleveldouble難度系數estimatetimesmallint估計答題時間chapteredsmallint章節problemtypeidsmallint題目類型FK引用試題類型表的problemtypeidcourseidsmallint課程號FK引用課程表的courseid3.7數據表的邏輯結構在本系統中,設計到多個數據表的操作,其中有些表會與多個表有關聯,各表的邏輯結構見圖3-3所示。第四章在線考試系統的實現4.1在線考試子系統功能實現在線考試子系統的主要功能:考生登錄。考生在線作答試題。系統計時并在考試臨近結束時給出提示。考生提交試卷。這里考生提交試卷實現為:做完一種題型就將本題型所有試題提交,若要返回修改,則需要重新作答。若考生掉線,則返回重新登錄,已經提交的試題則會保存起來,未提交的試題,則需要重新作答。在線考試子系統流程圖如圖4-1所示。圖3-3數據表邏輯結構圖圖4-1在線考試子系統流程圖學生登錄考試系統后,進入考試界面,點擊“開始考試”,則本次考試出現的大題類型將進入下拉框,沒有將所有題型一次列舉出來,是因為考慮到系統擴展性,每次考試題型能夠不同。學生選擇相應題型之后,點擊“確定”,則該大題所有小題將出現。做完本大題之后,點擊提交,則學生所做答案將提交至服務器。考試界面顯示考生信息、服務器時間等。在線考試界面如圖4-2所示。圖4-2在線考試界面4.2試卷管理子系統功能實現教師登錄系統后,選擇進入出題規則界面,制定試卷總體控制參數,如總分、難度系數、章節、分值以及題量等。設定設置后,點擊“確定”后,系統采用遺傳算法出題,試題將放入試卷表中,試卷信息將放入試卷信息表中。出題規則界面如圖4-3所示。圖4-3出題規則界面4.3成績管理子系統的實現學生提交的答案將保存在考生答題表中。教師進入成績管理子系統時,點擊“計算機閱卷”之后,系統自動判閱客觀題。系統將計算機不能判閱的題目以及其參考答案、標準答案、分值顯示出來,供教員判閱。最后生成考試成績。閱卷管理界面如圖4-4所示。圖4-4閱卷管理界面生成成績后,教師能夠進入查詢界面查看學生成績。同時本次考試不及格人數、不及格人員的姓名、各分數段人數等獎顯示出來,供教師參考,同時能夠生成考試分析報告格式,部分內容由教師親自填寫。成績查詢分析界面如圖4-5所示。圖4-5成績查詢分析界面4.4遺傳算法的實現基于遺傳算法的組卷方法在實現時,首先選擇出符合出卷人要求章節、題型的試題,設定試題號、試題難度系數、章節號、題目類型號、估計時間、分值等屬性作為參數,然后對各項數據進行處理。算法編碼采用C#語言。一、數據的獲取遺傳算法進行操作時,需要用到試題號、試題難度系數、章節號、題目類型號、估計時間、分值。這些屬性需要導入內存,遺傳算法才能運行。試題庫中的題量是巨大的,因此,先選擇出符合出卷人所要求的章節、題型的試題,再將這些屬性導入內存,才能提高效率。數據獲取的流程如圖4-6所示。圖4-6數據獲取流程圖二、數據處理數據處理步驟如下:數據預處理由于染色體編碼采用整數編碼,因此對內存中的記錄進行重新編號后,才能使用隨機函數。使用ADO.NET技術中的DataTable,增加一列作為主鍵,從1開始,以1為步長增長,并記錄題目總量problemno。這些數據存放在數據集DataSet中的數據表中,表示為ds.Tables[“problem”]。數據預處理部分代碼如下:publicvoidgetproblem()//獲取試題并編號{DataTablefun=newDataTable("problem");DataColumnprimarykey=newDataColumn();primarykey.DataType=System.Type.GetType("System.Int32");primarykey.AutoIncrement=true;primarykey.AutoIncrementSeed=1;primarykey.ColumnName="key";fun.Columns.Add(primarykey);fun.PrimaryKey=newDataColumn[]{fun.Columns["key"]};}2.種群初始化種群初始化就是要構造若干條染色體,每條染色體長度為試卷題目總量questionno,由出卷人指定。染色體中的基因為試題在內存中的編號,在1~problemno中隨機產生。本系統將染色體個數設為20條,并將這些染色體存放在一個DataTable中,表示為gadatattable(“ga”)。種群初始化部分代碼如下:publicvoidinitialize()//種群初始化{Randomra=newRandom();for(intk=0;k<20;k++){DataRowdr=gadatattable.NewRow();for(intj=0;j<question;j++){dr[j]=ra.Next(1,problemno);}gadatattable.Rows.Add(dr);}}3.計算評價值掃描gadatattable(“ga”)中一條染色體的基因,表示為t,然后采用ds.Tables[“problem”].Rows.Find(t)方法從ds.Tables[“problem”]找到相應記錄。將章節號、試題類型號、難度系數、估計時間、分值存入一張DataTable中。一條染色體的屬性需要一張DataTable存儲,表示為temptable。使用方法getchapter、probtype、getdifficult、gettime、scor分別評價該條染色體在章節、試題類型、難度系數、估計時間、分值方面是否達到要求。最后將這些評價值按照各自權重w[i]計算出整卷指標F。評價值計算流程圖如圖4-7所示。圖4-7評價值計算流程圖4.輪盤選擇按照輪盤選擇法,產生新的種群。輪盤選擇流程圖如圖4-8所示。圖4-8輪盤選擇流程圖5.雜交首先根據雜交概率=0.25,隨機產生雜交染色體,染色體個數須為偶數個。然后再隨機產生每對染色體雜交的位置,倆個染色體對該位置之后的片段進行交換。雜交流程圖如圖4-9所示。圖4-9雜交流程圖6.變異種群中每個染色體中的每個基因變異的概率是相等的,產生20*questionno個隨機數,如果
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 產品技術保障管理制度
- 中醫門診湯藥管理制度
- 企業車輛考核管理制度
- 鄉鎮公共服務管理制度
- qc推進考核管理制度
- 企業投資核準管理制度
- 思想政治教育論文發表
- 倉儲職業安全管理制度
- 企業授權體系管理制度
- 企業兼職會計管理制度
- 電大財務大數據分析編程作業4
- 2023年零售藥店醫療器械質量管理制度職責操作規程體系文件
- 4M變更管理培訓
- 新中國史智慧樹知到期末考試答案2024年
- MOOC 電磁場與波-華中科技大學 中國大學慕課答案
- MOOC 創新管理-浙江大學 中國大學慕課答案
- 梨的貯藏特性及保鮮技術
- 2024年人參相關項目實施方案
- 2024年安徽淮河能源控股集團有限責任公司招聘筆試參考題庫含答案解析
- 混合痔術后護理查房
- 建筑材料采購投標方案(技術標)
評論
0/150
提交評論