郝劍媛
摘要:在計算機技術高速發展的今天,充分利用計算機技術提升學校排課系統效率。本文說明人工智能的遺傳算法的全局尋優與收斂速度快的優點,遵循課表編排的一般原則與教師學生需求,設計一種科學的課程編排算法,有效提升課程編排效率與合理性。
關鍵詞:課程編排;遺傳算法;基本原則;效率
現在的高等學校教學課表安排工作極為困難,主要由于學生數目龐大、教師每年的情況各有不同,因此每年的課表安排都需要做一定的改變,工作量極大。現代排課中,主要運用計算機算法對課程進行安排,需要滿足大量的制約條件,并且解決教師與學生的時間沖突問題,因此如何設計一個滿足需求的課表安排算法對于高校教務管理工作的效率提升具有重要作用,此外通過科學的課程安排,可以提升學生的學習效率,方便學生安排自身的課余生活。
一、遺傳算法概述
遺傳算法是能夠并行處理的一種優化算法,可以有效解決一些極為復雜的計算問題。其運行機制如下:首先是對求解問題進行編碼,再就可行區域隨機選擇一組為進化起點,計算起點的每一個目標函數值,即編碼適應度。在模仿遺傳學原理,在編碼組中隨機選擇繁殖代碼,并且淘汰一部分適應度較小的編碼組,而進一步的繁殖中還需要運用交叉與變異算子進行樣本交換,在不斷重復上述選擇與繁殖的過程中,得到最滿足篩選條件的最優解,而這就是繁殖的最后一代結果。
二、課表編排的設計思想和基本原則
(一)課表編排的基本原則
課表的安排需要遵循一定的原則,也就是代碼進化的選擇條件。主要分為兩種:剛性約束條件與彈性約束條件,利用一定的算法,將約束條件寫入算法語句中。此外,在必要的情況下,需要進行人工干預,以確保算法的最終運行結果滿足排課需求,生成科學合理的課程表。在進行課表編排時,需要注意的因素主要是:學生、教師、課程、班級、教室以及時間。
下面對課表編排的主要約束進行介紹:第一,鋼性約束條件,這是在課表安排中都要遵守的條件,主要是以下幾點:教師在同一時間只能安排一門課程,每一個班級或者學生個體在同一個時間也只能有一門課程安排,課程的上課人數與上課教室的容量要一致,按照學分需求安排課程,不重復安排也不能遺漏。第二,彈性安排,這是為了給學生較好的學習體驗,主要有以下幾點:早上的課程不安排自習課,相鄰課程的教室盡量安排在附近,主干課程安排在上午,保證學生精力,預留選修課與班會課時間等等。
(二)課表編排的設計思想
在進行課表編排時需要注意以下兩點:第一,便利性思想,課表安排是為了更好幫助學生進行課程學習,因此在課程安排是要保證學生能夠及時趕到教室,可以充分利用課間時間與教師交流,而不是浪費在相鄰課程的教室轉換中。第二,以人為本的思想,課程安排的主體因素,教師與學生都是人,因此在進行課程安排時要充分考慮人的感受,例如,將復雜、重要、難度大的課程安排在學生與教師精神狀態都普遍較好的上午,避免在晚上等時間安排主干課程,給學生自主時間豐富大學生活。
三、遺傳算法課表編排數學原理
(一)班級課表的染色體編碼
本文的課表編排數學模型以班級為排課單位,因此需要首先明確班級課表的染色體編碼,明確班級信息表與本學期課程信息表的對應關系,再以此為基礎進行課程安排處理,例如,一周按照五天進行基礎課程安排,該班級每周可以安排60個課時,一節課兩個課時,而每天有三個時段可以安排,需要將15節課程安排到這五天中去,將課程單元變量定義為Tn,則每周的課程安排T應當小于30個,也就是小于等于30節課,選中時間為1,未選中賦值為0,進行初步的時段安排。為了進一步簡化算法,可以將班級與教室作為同一個變量進行考慮,而課程與教師也具有一一對應的性質,可以作為同一個變量。將五變量數學模型變為三變量,對這一關系進行編碼,課時為T、教室(班級)為W、教師與課程為K,進行進化起點編碼編輯。要注意同一個課程教師可以在一周內重復出現,但是在橫向對比時不能出現同時出現。
(二)最優解的選擇
遺傳算法的最終結果是一個最優解而不是唯一解,因此,如何進行優劣判斷是課程安排算法的一個重要難點,即適應值函數的選取,通過適應值來反應課表排列的優劣程度,作為篩選標準。類比于遺傳學中的環境適應性,個體的適應值越高,就更加符合課表安排的需求。對于任何一個階段的算法求解,都會出現滿足剛性約束條件的可行解,但是最終評價最優解則需要在可行解中選出滿足最多彈性需求的課表,如教師不會長時間連續上課,兩節相鄰課程的教師安排相距不遠,這一過程可以另設篩選函數進行選擇,也可以直接在可行解中進行人為干預。
結語:
本文對于課表安排主要是以班級為單位,同時也可以以教師為單位進行課程安排,而適應值函數的選擇則可以簡化為班級教師間距和教師連續上課時長,通過遺傳算法可以高效進行課表安排,得到一個較為適宜的課表安排方案,希望對于教務人員工作效率提升有一定的參考價值。
參考文獻:
[1]馬小姝,李海蕓.遺傳算法在高校排課系統中的應用研究[J].信息與電腦(理論版),2018(8).
[2]宋岐.基于遺傳算法的排課系統開發探究[J].電子測試,2016(z1):55-56.