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

正文內(nèi)容

基于遺傳算法的自動排課系統(tǒng)畢業(yè)設(shè)計(jì)(文件)

2025-07-06 18:05 上一頁面

下一頁面
 

【正文】 字區(qū)分開就可以,比如叫大操場東、大操場1區(qū)等。教室類型和特殊教室信息的教室類型對應(yīng)、并且比特殊教室信息的教室類型多了一項(xiàng)叫普通教室、普通教室的意思就是本班教室、或者沒有教室。教師信息管理窗口如下:圖56教師信息管理窗口班級信息也是自動排課用到的基礎(chǔ)數(shù)據(jù)信息之一。班級信息管理窗口如下:圖57班級信息管理窗口在創(chuàng)建班級信息時(shí),隱藏的還有一個(gè)自動處理,會根據(jù)班級信息和學(xué)期課程計(jì)劃,自動生成班級課程信息。學(xué)校在管理上都是有課程計(jì)劃的,什么時(shí)候該學(xué)什么課程,基本的課程都是有計(jì)劃的。學(xué)期課程計(jì)劃管理窗口如下:圖58學(xué)期課程計(jì)劃管理窗口在這里特別說明的是,系統(tǒng)中學(xué)期概念有兩個(gè),一個(gè)是學(xué)期(年級),一個(gè)是學(xué)期(時(shí)間),學(xué)期計(jì)劃中的學(xué)期是學(xué)期(年級),其他地方都是學(xué)期(時(shí)間)學(xué)期(年級)是我們通常說的 “一年級上學(xué)期,一年級下學(xué)期”,而學(xué)期(時(shí)間)是“某年上半年,某年下半年”。這樣編碼的好處是,可以將學(xué)期課程計(jì)劃中的以數(shù)字表示的學(xué)期TermNum(年級16)方便的轉(zhuǎn)化為學(xué)期(時(shí)間)TermId,轉(zhuǎn)化的公式為:TermId = 班級入學(xué)年*10 +(TermNum/2)*10 +TermNum%2 (注:/ 為整除,%為求余)。班級課程及任課教師信息是自動排課用到的主要數(shù)據(jù),對應(yīng)的數(shù)據(jù)庫表為班級課程信息表 ClCo,自動排課時(shí)就是通過逐條處理滿足條件的ClCo表的數(shù)據(jù)來進(jìn)行的。上面兩個(gè)存儲過程都是通過逐條讀取學(xué)期課程計(jì)劃信息,按照班級入學(xué)年份自動計(jì)算出學(xué)期(時(shí)間),然后將相應(yīng)數(shù)據(jù)添加到班級課程表中。更新存儲過程usp_ClCoUpdateByClassId的sql創(chuàng)建腳本如下:CREATE PROCEDURE [dbo].[usp_ClCoUpdateByClassId]( ClassId int )ASBEGINdeclare CourseId int, TermId int, TermNum int, WeekCount int, InYear intBEGIN DECLARE CR CURSOR FOR( SELECT CourseId ,TermNum ,WeekCount ,(select InYear from ClassTb where ClassId=ClassId) InYear FROM TermPlan )ENDOPEN CRFETCH NEXT FROM CR INTO CourseId, TermNum,WeekCount,InYearWHILE FETCH_STATUS 1 BEGIN set TermId =(InYear * 10) +(TermNum/2 )*10 +TermNum%2 IF not EXISTS (SELECT * FROM ClCo WHERE ClassId =ClassId AND CourseId=CourseId and TermId=TermId ) BEGIN INSERT INTO [dbo].[ClCo] ([ClassId] ,[CourseId] ,[TermId] ,[WeekCount] ,CcType) values ( ClassId ,CourseId ,TermId ,WeekCount ,39。另外下面首先介紹的第一個(gè)小節(jié)(),其實(shí)本應(yīng)該處于數(shù)據(jù)庫設(shè)計(jì)之前,也將其放在這里。課表的編排必須精心組織,準(zhǔn)確無誤,實(shí)現(xiàn)科學(xué)化、合理化,必須充分發(fā)揮時(shí)間、空間、人力、物力的效益,以保證教學(xué)過程的正常運(yùn)轉(zhuǎn)。排課的課表是按照時(shí)間概念周來進(jìn)行的,在一個(gè)學(xué)期中每周的課表是一個(gè),即我們所排出的課表是周課表。一門課程在一周內(nèi)有多節(jié)課時(shí)安排是,一般應(yīng)選擇隔天,不安排在同一天。課程所使用的教室是有類型要求的,如有的課程需要在多媒體教室上課,有的課程需要在計(jì)算機(jī)機(jī)房上課。每個(gè)教室都是有教室類型的,普通教室的教室類型就是普通教室。班級開設(shè)的課程通常都是與專業(yè)的課程計(jì)劃一致的,所以可以通過制定專業(yè)課程計(jì)劃,管理班級的開設(shè)課程。一個(gè)教師可以給多個(gè)班級代課,但在同一時(shí)間只能上一門課程。教師集合公式51: T={T1,T2,……Tt} t為教師總數(shù),某教師可以表示為Tx,1=x=t。課表時(shí)間片集合公式55: P={{P11,P12,P13,P14,P15,}……{P71,P72,P73,P74,P75,} }某時(shí)間片可以表示為Pmn,m為星期幾的數(shù)學(xué)表示1=m=5,n為每天的節(jié)次數(shù)1=n=7。自動排課的處理過程就是在滿足約束的條件下確定每個(gè)任務(wù)對應(yīng)的組合CyKwTx在一周內(nèi)與于剩下的兩個(gè)元素Rz和Pmn如何進(jìn)行組合。硬性約束條件4(教室總數(shù)要大于同一時(shí)間安排的課程總數(shù)),用數(shù)學(xué)來表示就是對于任意的Pmn時(shí)間片,教室總數(shù)r大于CyKwTxRz組合的數(shù)量。軟性約束條件2(一周內(nèi)課次多于2次以上的多課時(shí)課程,在時(shí)間安排上要求盡量隔天安排),用數(shù)學(xué)來表示就是當(dāng)排課任務(wù)CyKwTx在一周內(nèi)的次數(shù)大于2時(shí),在組合成CyKwTxRzPmn時(shí),每次的m盡量不同。通過以上的數(shù)學(xué)分析,我們將數(shù)據(jù)庫排課信息表CourseInfoTb的結(jié)構(gòu)定義為(代理主鍵,院系系統(tǒng)Id,學(xué)期Id,班級系統(tǒng)Id,課程系統(tǒng)Id,教師系統(tǒng)Id,教室系統(tǒng)Id,星期,節(jié)次,排課狀態(tài))。系統(tǒng)進(jìn)行排課時(shí),具體算法描述如下:1)編碼一條染色體中應(yīng)包含所有排課DNA分子,每個(gè)排課DNA分子又包含班級課程信息、老師信息、教室信息和時(shí)間信息,以及院系和學(xué)期信息。M表示星期,N表示每天課節(jié)數(shù)。一門課在一周內(nèi)應(yīng)分散安排,既不應(yīng)間隔時(shí)間太長,也不應(yīng)間隔時(shí)間太近,這樣可以為學(xué)生提供消化學(xué)習(xí)時(shí)間。兩課時(shí)間差333346 、2222922511222311111120期望值表52 課程離散度期望值檢測每一門課程的每一次上課的位置,計(jì)算出時(shí)間的差值,然后對所有時(shí)間的差值所對應(yīng)的期望值Fls(i)=(i=1,2,3,……35)求和。檢測自習(xí)課的期望值,即讀取教師編碼為空的時(shí)間片,對期望求和。檢測每一個(gè)班的難度大、費(fèi)思考的課程(理論課)的位置,即檢測在課程表中的教師編碼的課程特點(diǎn)代碼是否為“l(fā)”(扣除教師編碼中的教師名和課程序號),如是則讀取其時(shí)間片,從而對應(yīng)出它的期望值Fnx(i)(i=1,2,3,4.....35),然后對所有的期望值求和。對于每一個(gè)期望值及其在總的期望值中的比例,我們都可以根據(jù)每一所學(xué)校的具體情況進(jìn)行必要的調(diào)整,以便更加實(shí)用、有效。消除同一時(shí)間,同一個(gè)教師同時(shí)上一門以上課程的沖突:對第一個(gè)課程表二維數(shù)組KB(35,BJS),讀取它的第一行、第一列的教師號。讀取該行、第二列的教師號,重復(fù)步驟。直到這個(gè)二維數(shù)組的所有行中最多只有一個(gè)元素的教師編碼中的最后一個(gè)字符為“j”;②對每一個(gè)二維數(shù)組,判斷它的每一行是否有多個(gè)元素的教師編碼中的最后一個(gè)字符為“y”,如有則在第二個(gè)元素所在的列隨機(jī)地找一個(gè)教師碼中的最后一個(gè)字符不是“s”元素進(jìn)行數(shù)值互換。使用這一算法可以大大提高遺傳算法的效率。 sql += where TermId= + termId 。 try { ResultSet rs = (sql)。 } } catch (SQLException e) { ()。 if (tryCount 100 ){ if( j 0 amp。 } if(CourseType==CType_JaoNan){ byJc=Jc15[(2)]。 byJc = (7) + 1。 }}private void BianYiXq(Random rd){ byXq = (5) + 1。 break。i3。amp。 }else{ byJc = (7) + 1。 jCount 6 ){ BianYiXq(rd)。 }選擇運(yùn)算和變異運(yùn)算是系統(tǒng)生成下一代種群的方式和方法,通過有限次的選擇運(yùn)算和變異運(yùn)算找到最優(yōu)解。amp。 sql += and LessonOrders= + jc 。String sql =select LessonOrders,Weeks,ClassId,TeacherId,ClassRoomId 。這樣,我們便消除了所有的沖突了。讀取課程表二維數(shù)組KB(35,BJS)的第二行、第一列的教師號,重復(fù)3,直到每一行的所有元素的教師號不相同,即沒有同一時(shí)間,一個(gè)教師同時(shí)上一門以上課程的沖突。如相同,則隨機(jī)產(chǎn)生一個(gè)1一35之間的整數(shù)Z,判斷這一行、第Z列的基因編碼中的最后字符是否為“s”,即特定教學(xué)時(shí)間,如是則重新產(chǎn)生隨機(jī)數(shù)Z,否則將兩個(gè)數(shù)組元素的值互換。因?yàn)閷τ谕粫r(shí)間,同一個(gè)班級或同一個(gè)教室同時(shí)上一門以上課程的硬沖突,在編碼的過程中己經(jīng)避免,不會發(fā)生。這樣,我們就有了沖突檢測、消除和適應(yīng)度函數(shù)。對特殊課程所有的期望值求和,定義函數(shù)如下:Fts=∑(Fx(i)+Fz(i))盡量把難度大、費(fèi)思考的課程(理論課)安排在好的教學(xué)日、教學(xué)時(shí)間點(diǎn)(如上午比下午好)。在這種定義下我們所涉及的35個(gè)時(shí)間片的期望值就確定下來了。T1與T20的時(shí)間差是19)來描述這種離散度,根據(jù)測試給出相應(yīng)的期望值。所有的約束條件的滿足情況就是對應(yīng)的適應(yīng)度。在前面的數(shù)學(xué)分析中我們將排課任務(wù)表示為CyKwTx,在進(jìn)行排課是初始化種群中的個(gè)體就是用隨機(jī)函數(shù)生成染色體中的RzMN的組合。在前面的數(shù)學(xué)分析中我們將課表組合表示為CyKwTxRzPmn,這里將Pmn拆分為MN,則可將染色體表示為CyKwTxRzMN。在這種數(shù)據(jù)結(jié)構(gòu)的支持下,我們很容易將這些約束轉(zhuǎn)化為實(shí)際的函數(shù)和方法去處理。軟性約束條件4(體育課后盡量避免直接排課),用數(shù)學(xué)來表示就是任意的課表組合CyKwTxRzPmn,如果課程Kw是體育課時(shí),Pmn的節(jié)次n為q,則最好不要再出現(xiàn)n為q+1的課表組合CyKwTxRzPmn。硬性約束條件6(課程要安排在它需要的類型教室中),用數(shù)學(xué)來表示就是對于任意的課表組合CyKwTxRzPmn,課程Kw所要求的教室類型必須與教室Rz的類型一致。硬性約束條件2(同一教師在同一時(shí)間只能安排一門課程),用數(shù)學(xué)來表示就是TxPmn的組合是唯一的,有且只能有一個(gè)。在自動排課前,需要進(jìn)行班級課程設(shè)置、班級課程任課教師設(shè)置,這些設(shè)置就是為了確定Cy、Kw、Tx三者的關(guān)系。教室集合公式53: R={R1,R2,……Rr} r為教室總數(shù),某教室可以表示為Tz,1=z=r。這個(gè)原則就是,課表要有利于教學(xué)設(shè)備的充分利用,要符合教學(xué)規(guī)律。5) 排課問題的教師因素。4) 排課問題的班級因素。每個(gè)教室都有教室編號、名稱、類型、容納人數(shù)、所屬校區(qū)、所屬院系。每個(gè)課程都有自己的編號、名稱、課程類型、教師類型和難以程度。每天有四到五個(gè)時(shí)間段,即上午2個(gè)、下午2個(gè)、晚上一個(gè),也可能晚上沒有)。在一個(gè)學(xué)校的有機(jī)整體中,通過認(rèn)真的分析與調(diào)研,可以從解決沖突和矛盾的角度,將排課所涉及的因素歸納如下:1) 排課問題的時(shí)間因素。編排課表的整個(gè)過程中,充滿了沖突和矛盾,其中包括上課班級、所開課程、任課教師、上課時(shí)間、上課地點(diǎn)等方面在排列組合中所發(fā)生的沖突和矛盾。 )。所有新加的數(shù)據(jù)排課狀態(tài)都是“未排”。班級課程信息ClCo表的數(shù)據(jù)大部分是班級創(chuàng)建時(shí)通過觸發(fā)器調(diào)用存儲過程usp_ClCoCreateByClassId自動生成的。 “某年上半年,某年下半年”和TermId的對應(yīng)關(guān)系數(shù)據(jù)在學(xué)期信息表Term,這樣的學(xué)期可以適用在所有時(shí)間的整個(gè)學(xué)校。學(xué)期(時(shí)間)保存的數(shù)據(jù)庫是TermId(2000020501)。學(xué)期課程計(jì)劃信息包括課程、學(xué)期、周課時(shí)數(shù)。觸發(fā)器tri_ClassInsert代碼如下:ALTER TRIGGER [tri_ClassInsert] ON [dbo].[ClassTb] AFTER INSERTAS BEGINdeclare newClassId intselect newClassId=ClassIdfrom insertedexec usp_ClCoCreateByClassId newClassIdEND觸發(fā)器tri_ClassInsert 將調(diào)用存儲過程usp_ClCoCreateByClassId,自動生成班級課程信息。需要說明的是入學(xué)年份是系統(tǒng)一個(gè)關(guān)鍵的數(shù)據(jù),系統(tǒng)會根據(jù)入學(xué)年份按課程計(jì)劃生成班級課程信息。教師信息包括教師編號、教師名稱、性別、年齡、職稱、任課信息。課程信息包括課程編號、課程名稱、課程類型、課時(shí)、教室類型。教室類型必須符合課程對教室類型的要求,這也是排課的硬性約束。這部分內(nèi)容是自動排課的基礎(chǔ)數(shù)據(jù)準(zhǔn)備。用戶在登陸后進(jìn)入主頁面,通過選擇菜單進(jìn)入相應(yīng)功能。 列名數(shù)據(jù)類型說明CInfoIdint代理主鍵DepartmentIdint院系系統(tǒng)IdTermIdint學(xué)期IdClassIdint班級系統(tǒng)IdCourseIdint課程系統(tǒng)IdTeacherIdint教師系統(tǒng)Id ClassRoomIdint教室系統(tǒng)IdWeeksint星期LessonOrdersint節(jié)次CInfoTypevarchar(50)排課類型Cr
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1