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

正文內容

畢業(yè)設計-基于遺傳算法的自動排課系統(tǒng)設計-資料下載頁

2025-06-06 16:08本頁面
  

【正文】 要說明的任課信息是指可擔任的課程,是描述性信息。 教師信息管理窗口如下: 圖 56 教師信息管理窗口 第五章自動排課系統(tǒng)的設計與實現 31 班級信息管理 模塊實現 班級 信息也是自動排課用到的基礎數據信息之一。 班級 信息包括 班級 編號、班級 名稱、 班級人數 和 入學年份 。 需要說明的是入學年份是系統(tǒng) 一個關鍵的數據,系統(tǒng)會根據入學年份按課程計劃生成班級課程信息,具體參見 和 。 班級人數在排課時,會和特殊教室的容量進行對比,教室容量大于班級人數才可以使用。 班級信息管理窗口如下: 圖 57 班級信息管理窗口 在創(chuàng)建班級信息時,隱藏的還有一個自動處理,會根據班級信息和學期課程計劃,自動生成班級課程 信息 。實現的方法是在數據庫中 ClassTb 表上添加觸發(fā)器。觸發(fā)器 tri_ClassInsert 代碼如下: ALTER TRIGGER [tri_ClassInsert] ON [dbo].[ClassTb] AFTER INSERT AS BEGIN declare @newClassId int select @newClassId=ClassId from inserted exec usp_ClCoCreateByClassId @newClassId END 觸發(fā)器 tri_ClassInsert 將調用存儲過程 usp_ClCoCreateByClassId,自動生成班級 課程 信息。 生成方法參見后面的 和 。 畢業(yè)設計論文 32 排課設置管理 模塊設計 基礎 信息管理 模塊 由兩個部分組成,包括 學期 課程計劃管理和班級課程及任課教師管理。學校 在管理上都是有 課程計劃的 ,什么時候該學什么課程,基本的課程都是有計劃的 。有了 學期 課程計劃,當一個班級創(chuàng)建時,根據班級的專業(yè)就可以知道該班級要開設的課程 ,以及 開 設的時間 。 學期 課程計劃管理 模塊實現 學期課程計劃 信息 包括課程、學期、周課時數。 學期 課程計劃 信息是 輔助生成班級課程信息的 。 學期 課程計劃管理窗口如下: 圖 58 學期 課程計劃 管理窗口 在這里特別說明的是,系統(tǒng)中學期概念有兩個,一個是學期(年級),一個是學期(時間 ),學期計劃中的學期是學期(年級),其他地方都是學期(時間) 學期(年級)是我們通常說的 “一年級上學期,一年級下學期”,而學期(時間)是“某年上半年,某年下半年”。學期(年級)保存到數據庫是 TermNum(16)的數字。學期(時間)保存的數據庫是 TermId(2021020501)。 TermId 采用“年份 +0 或 1”的數字編碼。這樣編碼的好處是,可以將學期課程計劃中的以數字表示的學期 TermNum(年級 16)方便的轉化為學期(時間) TermId,轉化的公式為: TermId = 班級入學年 *10 +(TermNum/2)*10 +TermNum%2 (注: / 為整除, %為求余)。 系統(tǒng)之所以要用學期(時間),是 因為系統(tǒng)不是給單獨一個班級進行排課的,也不是單獨一屆學生排課的,而是針對整個學校進行排課的。 “某年上半年,第五章自動排課系統(tǒng)的設計與實現 33 某年下半年” 和 TermId 的對應關系數據在學期信息表 Term, 這樣的學期可以適用在所有時間的整個學校。 在這里這是個關鍵數據,類似 的還有一些非關鍵的如班級名稱,你可以錄入“某年級某班”,但你第二年就要去把所有的班級名稱改一個遍,如果你錄入“某某級某班”,可能 100 年后你才需要改,而“某某某某級某班”永遠都不用改,實際上“某某級某班”就夠用了。 班級課程及任課教師管理 模塊實現 班級課程及任課教師 信息是 自動排課用到的主要數據,對應的數據庫表為 班級課程信息表 ClCo,自動排課時就是通過逐條處理 滿足條件的 ClCo 表的數據來進行的 。 ClCo 表 包括 字段班級系統(tǒng) Id、 課程 系統(tǒng) Id、 教師系統(tǒng) Id、 學期 Id、每周課節(jié)數、排課狀態(tài) 和 計劃類型 。 班級課程信息 ClCo 表的數據大部分是班級創(chuàng)建時通過觸發(fā)器調用存儲過程usp_ClCoCreateByClassId 自動生成的。 在圖 511 中可以看到有一個按 鈕“ 按課程計劃更 新班級課程”,該按鈕在 課程 計劃有變動時使用,通過調用 usp_ClCoUpdateByClassId 來實現更新。 上面兩個存儲過程都是通過 逐條讀取學期 課程計劃信息 ,按照班級入學年份自動計算出學期(時間),然后將相應數據 添加 到班級課程表中 。這兩種方式添加的數據的計劃類型都是計劃內,只有在圖 511 中通過點擊添加按鈕手動添加的數據,計劃類型才是計劃外。 所有新加的數據排課狀態(tài)都是“未排”。 班級課程及任課教師 管理窗口如下: 圖 59 班級課程及任課教師 管理窗口 對自動生成計劃內的 ClCo 表數據, 創(chuàng)建和更新的兩個存儲過程大致相同,區(qū)別僅在于跟新時檢查對應數據是否存在,如果不存在才添加,而創(chuàng)建時不檢查畢業(yè)設計論文 34 直接添加。更新存儲過程 usp_ClCoUpdateByClassId 的 sql 創(chuàng)建腳本如下: CREATE PROCEDURE [dbo].[usp_ClCoUpdateByClassId]( @ClassId int ) AS BEGIN declare @CourseId int, @TermId int, @TermNum int, @WeekCount int, @InYear int BEGIN DECLARE CR CURSOR FOR ( SELECT CourseId ,TermNum ,WeekCount ,(select InYear from ClassTb where ClassId=@ClassId) InYear FROM TermPlan ) END OPEN CR FETCH NEXT FROM CR INTO @CourseId, @TermNum,@WeekCount,@InYear WHILE @@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。計劃內 39。 )。 End FETCH NEXT FROM CR INTO @CourseId, @TermNum,@WeekCount,@InYear end END 第五章自動排課系統(tǒng)的設計與實現 35 基于遺傳算法的 自動 排課設計 在前面 2 小結中介紹了基礎信息管理模塊和排課設置模塊,這 2 大模塊都是排課的前期準備工作,接下來就要可以開始自動排課的設計,自動排課模塊是隸屬于排課管理大模塊的,但因為它是整個系統(tǒng)的核心,所以將其單獨提出來進行介紹。 另外下面首先介紹的第一個小節(jié)( 排課問題的分析),其實本應該處于數據庫設計之前,也將其放在這里。 排課問題的分析 在排課問題中,我們的主要任務是將班級、老師、課程、教室安排在一周內某一不發(fā)生沖突的時間。編排課表的整個過程中 , 充滿了 沖突和 矛 盾,其中包括上課班級、所開課程、任課教師、上課時間、上課地點等方面在排列組合中所發(fā)生的沖突和矛盾。課表編排本身就是一項處理教學環(huán)節(jié)中的各種矛盾、特別是恰當的解決教師與學生雙邊活動的結合部、推動教學工作向前發(fā)展的有效工作。課表的編排必須精心組織,準確無誤,實現科學化、合理化,必須充分發(fā)揮時間、空間、人力、物力的效益,以保證教學過程的正常運轉。 排課問題 所涉及的 因素 是全面的 。 在一個學校的有機整體中,通過認真的分析與調研,可以從解決沖突和矛盾的角度,將排課所涉及的因素歸納如下: 1) 排課問題的 時間 因素。排課問題 的時間因素包括學年、學期、周、天、時段、節(jié)等時間概念。 排課的課表是按照時間概念周來進行的,在一個學期中每周的課表是一個,即我們所排出的課表是周課表。 每周分為 N 天 (N7)。每天 有四 到五 個時間段 ,即 上午 2 個、下午 2 個 、晚上一個,也可能晚上沒有 )。每個時間段 有 2 個小課時 , 但 2 個小課時在排課時通常都是上的同一門課程 ,所以排課時可以不考慮小課時,按照大的時間段來排課,系統(tǒng)中節(jié)課就是指的一個時間段,即包含 2 小節(jié)的一個大課時。一門課程 在一周內 有多節(jié)課時安排是 , 一般 應選擇隔天, 不安排在同一天。 2) 排課問題的 課程 因素。 每個課程都有自己的編號、名稱 、課程類型、教師類型和難以程度 。每 門 課程 被某班級開課后,需要 指定的 授課 教師。課程 所使用的 教室 是有 類型 要求的 , 如 有的課程需要在 多媒體教室 上課,有的課程需要在計算機機房上課 。 3) 排課問題的教室因素。 每個教室都有 教室 編號、名稱 、類型、容納人數、所屬校區(qū)、所屬院系 。每個教室都隸屬于某個 校區(qū) 。每個教室 都是有 教室類型 的,畢業(yè)設計論文 36 普通教室的教室類型就是普通教室 。 一個教室在同一時間內只能有一個課程安排 ,并且教室容量應該大于等于 上課的班級 的人數。 4) 排課問題的班級因素。每個班級都有所屬院系、所屬專 業(yè)。班級開設的課程通常都是與專業(yè)的課程計劃一致的,所以可以通過制定專業(yè)課程計劃,管理班級的開設課程。 每個班級同一時間只能上一門課程。 5) 排課問題的教師因素。 一個教師的信息包括編號、姓名、性別等。 一 個教師 可以給多個班級代課,但在 同一時間只能上一門課程。 排課 約束 通過上一小節(jié)的分析,我們知道 編排課表牽涉的因素很多,但是其中仍然有原則可以遵循。這個原則就是,課表要有利于教學設備的充分利用,要符合教學規(guī)律。將這個原則進行細化、清晰化, 可以 歸納為以下 6 項 硬約束和 6 項軟約束 : 硬約束: 1) 同一班級在同一 時間只能安排一門課程; 2) 同一教師在同一時間只能安排一門課程; 3) 同一教室在同一時間只能安排一門課程; 4) 教室總數要大于同一時間安排的課程總數; 5) 教室容量必須大于上課學生人數; 6) 課程要安排在它需要的類型教室中; 軟約束: 1) 優(yōu)先安排全校公共基礎課; 2) 一周內課次多于 2 次以上的多課時課程,在時間安排上要求盡量隔天安排; 3) 較難課程應安排在上午第一節(jié)或下午第一節(jié); 4) 體育課后盡量避免直接排課; 5) 同一門課程盡量安排在固定的教室; 排課 問題的數學分析 首先我需要將排課中的主要元素用數學的代數方法來表示出來。 教師集合 公式 51: T={T1, T2,?? Tt} 第五章自動排課系統(tǒng)的設計與實現 37 t 為教師總數,某教師可以表示為 Tx, 1=x=t。 班級集合公式 52: C={C1, C2,?? Cc} c 為班級總數,某班級可以表示為 Cy, 1=y=c。 教室 集合公式 53: R={R1, R2,?? Rr} r 為教室總數,某 教室 可以表示為 Tz, 1=z=r。 課程集合公式 54: K={K1, K2,?? Kk} k 為教室總數,某教室可以表示為 Kw, 1=w=k。 課表時間片 集合公式 55: P={{P11, P12, P13, P14, P15, } ?? {P71, P72, P73, P74, P75, } } 某時間片可以表示為 Pmn, m 為星期幾的數學表示 1=m=5, n 為每天的節(jié)次數 1=n=7。 課表時間片可以 直觀的表示為 表 51: 時間 一 二 三 四 五 第一節(jié) P11 P12 P13 P14 P15 第二節(jié) P21 P22 P23 P24 P25 第三節(jié) P31 P32 P33 P34 P35 第四節(jié) P41 P42 P43 P44 P45 中午 第五節(jié) P51 P52 P53 P54 P55 第六節(jié) P61 P62 P63 P64 P65 第七節(jié) P71 P72 P73 P74 P75
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1