freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于遺傳算法的自動排課系統(tǒng)畢業(yè)設(shè)計-閱讀頁

2025-07-03 18:05本頁面
  

【正文】 mentIdint院系系統(tǒng)IdMajorIdint專業(yè)系統(tǒng)IdDescribevarchar(200)說明DeleteFlagchar(1)刪除標(biāo)志InYearint入學(xué)年份表44班級信息表的結(jié)構(gòu) TermPlan學(xué)期課程計劃表TermPlan用來保存學(xué)期課程計劃信息的。 列名數(shù)據(jù)類型說明TermPlanIdint系統(tǒng)生成IdCourseIdint課程系統(tǒng)IdTermNumint學(xué)期號WeekCountint每周節(jié)次表45專業(yè)課程計劃表的結(jié)構(gòu) ClCo班級課程信息表 ClCo用來保存班級課程及任課教師信息的。 列名數(shù)據(jù)類型說明ClCoIdint系統(tǒng)生成IdClassIdint班級系統(tǒng)IdCourseIdint課程系統(tǒng)IdTermIdint學(xué)期IdTeacherIdint教師系統(tǒng)IdWeekCountint每周課時CcStatusnvarchar(10)排課狀態(tài)CcTypenvarchar(10)計劃類型表46班級課程信息表的結(jié)構(gòu) Term學(xué)期信息表 Term是常量學(xué)期信息。主鍵為TermId。主鍵為CIId,序列生成。根據(jù)登陸的用戶名和密碼,確定用戶權(quán)限,分為管理員,和一般用戶兩個權(quán)限。網(wǎng)站的整體布局全部采用的百分比,可以根據(jù)瀏覽器窗口大小,自動調(diào)整分布,適應(yīng)各種分辨率的使用環(huán)境。菜單項與系統(tǒng)總體結(jié)構(gòu)基本一致。其主要功能是對相應(yīng)的數(shù)據(jù)庫表進行維護,具體功能主要有檢索、添加、修改、刪除。特殊教室信息是自動排課用到的基礎(chǔ)數(shù)據(jù)信息之一。在自動排課中,教室容納人數(shù)必須比要在此教室上課的班級的人數(shù)大,這是排課的硬性約束。教室類型分為音樂教室、體育場地、計算機機房、物理實驗室和化學(xué)實驗室。特殊教室信息管理頁面如下:圖54特殊教室信息管理窗口課程信息也是自動排課用到的基礎(chǔ)數(shù)據(jù)信息之一。這里需要說明的是課程類型信息,它是為了實現(xiàn)軟約束條件3(較難課程應(yīng)安排在上午第一節(jié)或下午第一節(jié))和條件4(體育課后盡量避免直接排課),所做的數(shù)據(jù)準(zhǔn)備.。課程信息管理窗口如下:圖55課程信息管理窗口教師信息也是自動排課用到的基礎(chǔ)數(shù)據(jù)信息之一。這里需要說明的任課信息是指可擔(dān)任的課程,是描述性信息。班級信息包括班級編號、班級名稱、班級人數(shù)和入學(xué)年份。班級人數(shù)在排課時,會和特殊教室的容量進行對比,教室容量大于班級人數(shù)才可以使用。實現(xiàn)的方法是在數(shù)據(jù)庫中ClassTb表上添加觸發(fā)器。基礎(chǔ)信息管理模塊由兩個部分組成,包括學(xué)期課程計劃管理和班級課程及任課教師管理。有了學(xué)期課程計劃,當(dāng)一個班級創(chuàng)建時,根據(jù)班級的專業(yè)就可以知道該班級要開設(shè)的課程,以及開設(shè)的時間。學(xué)期課程計劃信息是輔助生成班級課程信息的。學(xué)期(年級)保存到數(shù)據(jù)庫是TermNum(16)的數(shù)字。TermId采用“年份+0或1”的數(shù)字編碼。系統(tǒng)之所以要用學(xué)期(時間),是因為系統(tǒng)不是給單獨一個班級進行排課的,也不是單獨一屆學(xué)生排課的,而是針對整個學(xué)校進行排課的。在這里這是個關(guān)鍵數(shù)據(jù),類似的還有一些非關(guān)鍵的如班級名稱,你可以錄入“某年級某班”,但你第二年就要去把所有的班級名稱改一個遍,如果你錄入“某某級某班”,可能100年后你才需要改,而“某某某某級某班”永遠都不用改,實際上“某某級某班”就夠用了。ClCo表包括字段班級系統(tǒng)Id、課程系統(tǒng)Id、教師系統(tǒng)Id、學(xué)期Id、每周課節(jié)數(shù)、排課狀態(tài)和計劃類型。在圖511中可以看到有一個按鈕“按課程計劃更新班級課程”,該按鈕在課程計劃有變動時使用,通過調(diào)用usp_ClCoUpdateByClassId來實現(xiàn)更新。這兩種方式添加的數(shù)據(jù)的計劃類型都是計劃內(nèi),只有在圖511中通過點擊添加按鈕手動添加的數(shù)據(jù),計劃類型才是計劃外。班級課程及任課教師管理窗口如下:圖59班級課程及任課教師管理窗口對自動生成計劃內(nèi)的ClCo表數(shù)據(jù),創(chuàng)建和更新的兩個存儲過程大致相同,區(qū)別僅在于跟新時檢查對應(yīng)數(shù)據(jù)是否存在,如果不存在才添加,而創(chuàng)建時不檢查直接添加。計劃內(nèi)39。 End FETCH NEXT FROM CR INTO CourseId, TermNum,WeekCount,InYear endEND在前面2小結(jié)中介紹了基礎(chǔ)信息管理模塊和排課設(shè)置模塊,這2大模塊都是排課的前期準(zhǔn)備工作,接下來就要可以開始自動排課的設(shè)計,自動排課模塊是隸屬于排課管理大模塊的,但因為它是整個系統(tǒng)的核心,所以將其單獨提出來進行介紹。在排課問題中,我們的主要任務(wù)是將班級、老師、課程、教室安排在一周內(nèi)某一不發(fā)生沖突的時間。課表編排本身就是一項處理教學(xué)環(huán)節(jié)中的各種矛盾、特別是恰當(dāng)?shù)慕鉀Q教師與學(xué)生雙邊活動的結(jié)合部、推動教學(xué)工作向前發(fā)展的有效工作。排課問題所涉及的因素是全面的。排課問題的時間因素包括學(xué)年、學(xué)期、周、天、時段、節(jié)等時間概念。每周分為N天(N7)。每個時間段有2個小課時,但2個小課時在排課時通常都是上的同一門課程,所以排課時可以不考慮小課時,按照大的時間段來排課,系統(tǒng)中節(jié)課就是指的一個時間段,即包含2小節(jié)的一個大課時。2) 排課問題的課程因素。每門課程被某班級開課后,需要指定的授課教師。3) 排課問題的教室因素。每個教室都隸屬于某個校區(qū)。一個教室在同一時間內(nèi)只能有一個課程安排,并且教室容量應(yīng)該大于等于上課的班級的人數(shù)。每個班級都有所屬院系、所屬專業(yè)。每個班級同一時間只能上一門課程。一個教師的信息包括編號、姓名、性別等。通過上一小節(jié)的分析,我們知道編排課表牽涉的因素很多,但是其中仍然有原則可以遵循。將這個原則進行細化、清晰化,可以歸納為以下6項硬約束和6項軟約束:硬約束:1) 同一班級在同一時間只能安排一門課程;2) 同一教師在同一時間只能安排一門課程;3) 同一教室在同一時間只能安排一門課程;4) 教室總數(shù)要大于同一時間安排的課程總數(shù);5) 教室容量必須大于上課學(xué)生人數(shù);6) 課程要安排在它需要的類型教室中;軟約束:1) 優(yōu)先安排全校公共基礎(chǔ)課;2) 一周內(nèi)課次多于2次以上的多課時課程,在時間安排上要求盡量隔天安排;3) 較難課程應(yīng)安排在上午第一節(jié)或下午第一節(jié);4) 體育課后盡量避免直接排課;5) 同一門課程盡量安排在固定的教室;首先我需要將排課中的主要元素用數(shù)學(xué)的代數(shù)方法來表示出來。班級集合公式52: C={C1,C2,……Cc} c為班級總數(shù),某班級可以表示為Cy,1=y=c。課程集合公式54: K={K1,K2,……Kk} k為教室總數(shù),某教室可以表示為Kw,1=w=k。課表時間片可以直觀的表示為表51:時間一二三四五第一節(jié)P11P12P13P14P15第二節(jié)P21P22P23P24P25第三節(jié)P31P32P33P34P35第四節(jié)P41P42P43P44P45中午第五節(jié)P51P52P53P54P55第六節(jié)P61P62P63P64P65第七節(jié)P71P72P73P74P75表51 課表時間片在排課問題中某學(xué)院某學(xué)期課表的數(shù)據(jù)模型就是CyKwTxRzPmn的組合。設(shè)定好它們的就得到了要進行排課的任務(wù),每一個排課任務(wù)就對應(yīng)一個CyKwTx的組合。下面用數(shù)學(xué)的方法來分析排課的約束條件:硬性約束條件1(同一班級在同一時間只能安排一門課程),用數(shù)學(xué)來表示就是CyPmn的組合是唯一的,有且只能有一個。硬性約束條件3(同一教室在同一時間只能安排一門課程),用數(shù)學(xué)來表示就是RzPmn的組合是唯一的,有且只能有一個。硬性約束條件5(教室容量必須大于上課學(xué)生人數(shù)),用數(shù)學(xué)來表示就是對于任意的CyKwTxRzPmn組合,教室Rz容量必須大于班級Cy的人數(shù)。軟性約束條件1(優(yōu)先安排全校公共基礎(chǔ)課),用數(shù)學(xué)來表示就是排課任務(wù)CyKwTx具有較高的優(yōu)先級,要優(yōu)先進行安排。軟性約束條件3(較難課程應(yīng)安排在上午第一節(jié)或下午第一節(jié)),用數(shù)學(xué)來表示就是任意的課表組合CyKwTxRzPmn,如果課程Kw是較難的課程時,Pmn的節(jié)次n最好是1或3。軟性約束條件5(同一門課程盡量安排在固定的教室),用數(shù)學(xué)來表示就是當(dāng)排課任務(wù)CyKwTx在一周內(nèi)的次數(shù)大于2時,在組合成CyKwTxRzPmn時,每次的Rz盡量相同。4個數(shù)據(jù)庫字段“班級系統(tǒng)Id,課程系統(tǒng)Id,教師系統(tǒng)Id,教室系統(tǒng)Id”分別對應(yīng)Cy、Kw、Tx、Rz,“星期,節(jié)次”2個數(shù)據(jù)庫字段分別對應(yīng)Pmn中的m、n。遺傳算法是模擬達爾文的遺傳選擇和自然淘汰的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優(yōu)解的方法。由于院系和學(xué)期在處理中是提前設(shè)定好的,在每次處理時都是一個給定的值,所以在染色體中可以不考慮他們。Cy、Kw、Tx、Rz都用他們所對應(yīng)的字段Id的值來表示。2)初始種群采用系統(tǒng)的隨機數(shù),生成初始種群。確定適應(yīng)度,首先對一條染色體中的每個DNA分子計算適應(yīng)度,然后計算一條染色體中所有DNA分子適應(yīng)度之和,將該值作為個體適應(yīng)度。其中最主要的有檢測班級、教師和教室三者的時間沖突,對應(yīng)硬性條件的3(同一班級在同一時間只能安排一門課程;同一教師在同一時間只能安排一門課程;同一教室在同一時間只能安排一門課程;)。而且對于硬性約束條件,系統(tǒng)要求必須滿足,這也就對應(yīng)的要求個體的適應(yīng)度必須達到硬性約束對適應(yīng)度的要求。系統(tǒng)使用編號相同的兩課的時間差(如:Tl與T2的時間差是1。如表42所示。即定義課程的離散度期望值函數(shù)為[19]:對于特殊的課程(體育課、自習(xí)課)應(yīng)安排在適當(dāng)?shù)慕虒W(xué)時間點,所以我們對一天的三個時段分別給出了期望值:上午12節(jié)課的期望值為0;上午34節(jié)課的期望值為5;下午567節(jié)課的期望值為10。檢測體育課的位置,即檢測在課程表中的教師編碼的課程特點代碼是否為“t”(扣除教師編碼中的教師名和課程序號),如是則讀取其時間片,從而對應(yīng)出它的期望值Fx(i)(i=1,2,3,4.....35),并對期望求和。Fz(i)(i=1,2,3,4.....35)。對于每一個班級來說,一學(xué)期的所有課程中總有幾門課是比較難的課程,我們把難度大、費思考的課程設(shè)法安排在較好的時間點。即定義函數(shù)Fnx=∑Fnx(i);基于以上排課目標(biāo)的分析,我們采用如下適應(yīng)度函數(shù):F=K1*Fls+K2*Fts+K3*Fnx=K1*∑Fls(i)+K2*∑(Fx(i)+Fz(i))+K3*∑Fnx(i)K1,K2,K3為用于控制上述各種期望值對總期望值的影響參數(shù)。在進化過程中,沖突必須完全消除;而適應(yīng)度函數(shù)越大,則課程表的安排越合理、有效。對每一個課程表二維數(shù)組KB(35,BJS),進行沖突檢測,然后用自動定位變異算子消除沖突。因此,我們只要對同一時間,同一個教師同時上一門以上課程的沖突進行檢測和消除。與二維數(shù)組同一行、下一列的教師號比較。再重新比較,直到無相同元素為止。直到第一行的所有元素的教師號不相同。其次,我們消除同一時間,一個實驗室(計算機房、語音室等)同時有一個以上的班級上課的沖突:①對每一個二維數(shù)組,判斷它的每一行是否有多個元素的教師編碼中的最后一個字符為“j”,如有則在第二個元素所在的列隨機地找一個教師編碼中的最后一個字符不是“s”元素進行數(shù)值互換。直到這個二維數(shù)組的所有行中最多只有一個元素的教師編碼中的最后一個字符為“y”。這里我們使用的是自動定位變異算法,在檢測的過程中如有沖突存在,則確定其位置,并消除這一沖突。系統(tǒng)中檢查硬性條件3的函數(shù)ClassThRmNoBusy負責(zé)檢測班級老師教室在給定的時間片是否沖突,其代碼如下:public boolean ClassThRmNoBusy(int xq,int jc,int rmid,int termId,int thid,int pclassid){boolean nobusy=true。 sql +=from CourseInfoTb 。 sql += and Weeks= + xq 。 sql += and (TeacherId= + thid + or ClassRoomId= + rmid + or ClassId= + pclassid + ) 。 if (rs !=nullamp。()) { nobusy = false。 } return nobusy。系統(tǒng)中這部分的主要代碼為:private void BianYiXqJc(int pclassid,Random rd){ tryCount = tryCount + 1。amp。 }else{ byXq = (5) + 1。 }else if(CourseType==CType_TiYu){ byJc=Jc47[(2)]。 } }else{ byXq = (5) + 1。 } if(ClassList[(byJc1)*5 + byXq 1]==pclassid amp。 tryCount 200){ BianYiXqJc(pclassid, rd)。 for(int i=0。i++){ if(XqOld[i]==byXq){ BianYiXq(rd)。 } }}否
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1