您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页自动排课系统算法的分析与设计概要

自动排课系统算法的分析与设计概要

来源:华佗小知识


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 科技情报开发与经济

SCI-TECH INFORMATION DEVELOPMENT &ECONOMY 2007年 第 17卷 第 34期

吞吐量后才实施 , 不可轻易控制流量导致不必要的吞吐量下降。流量控 制后必须及时解除流量控制。

(2 技术流控手段和业务流控手段相结合。

(3 流控点设立于系统与外系统接口层和一级调度层 , 其他各层不 设立流控点。

对银行前端发起的联机请求做流量控制 , 以防止后台出现堵塞 , 流 控点的设置见表 1。

从技术流控和业务流控的角度实现系统的流量控制如下 :

第一 , 为预防系统内出现堵塞 , 在系统交易入口即分中心控制总线 上 , 建立预防性流控机制 ; 第二 , 建立系统状态主动探测机制 , 系统主动

探测服务队列状态 , 发现系统繁忙或服务队列深度超过设定阀值 , 将启 动相应的流控 ; 第三 , 可以根据管理需要 , 设定特定业务品种交易、

特定 分中心交易或特定服务的交易流量阀值 , 进行流量控制。如在交易繁忙 时段 , 可以采取部分查询交易等手段确保系统的稳定运行。

(责任编辑 :戚米莎

─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─

第一作者简介 :刘焱军 , 男 , 1975年 4月生 , 2001年毕业于太原理工 大学计算机专业

(硕士 , 中国建设银行厦门开发中心 , 福建省厦门市鹭 江道 98号建行大厦 , 361012.

Research on the Application of Bus Control Technology in Securities System of Bank

LIU Yan-jun

ABSTRACT:This paper introduces the application of bus control technology in securities system of bank, and probes into

the implementation of the flow control.

KEY WORDS:bus technology of trade control; securities system of bank; flow control

教学排课可以说是教学管理的一个中心 , 它直接关系到教学计划和 教学质量。而排课的过程也是一个复杂的推理思考过程 , 我们通过对排 课逻辑原理的分析和排课系统操作流程的总结 , 研究出一套排课算法 , 通过该排课系统的实现 , 可以大大减少教务管理员的工作量 , 并给教务 信息管理带来方便。迄今为止 , 对课程表的研究工作已有 40多年 , 取得 了丰硕的成果 , 但仍存在许多不足之处 , 例如规模大、 约束 (条件 复杂以 及规律不断变化等 , 因此排课问题至今仍未完全解决。

虽然目前很多系统中都包含了排课子系统 , 但是由于各个学校的教 学情况不同 , 这些排课系统不一定适合各院的实情。下面根据我校的教 学安排情况 , 对排课系统的算法进行探讨。

1自动排课系统的优势和目前存在的问题

课程表的编排是一个涉及多种因素的组合规划问题 , 它要保证在课

程安排中教师、 学生、 教室不能产生冲突 , 并且要满足教师的要求和资源 等约束条件。 目前 , 国内的大部分高中仍然采用手工排课的方法。 手 工排课工作的主要手段是 “摆牌” , 就是在一个画有空课表的版面上将有 课名的小牌摆在适当的位置上 , 边摆、 边观察、 边调整 , 凭借经验将各门 课摆在合理的位置上 , 最后形成一个有效的课程表。这种办法没有一定 的规律性 , 没有理论指导 , 更没有数据模型 , 具有很大的盲目性。 所以 , 要 为上千名学生和上百名教师安排出合理的课程表 , 往往需要花费教务处 人员很多的时间 , 工作量大 , 且排出的课程表不宜调整。 随着中国教育体 制改革的不断深入 , 学生人数的不断上升 , 课程设置不断向深度和广度 发展 , 手工排课的缺点也越来越突出。 由于计算机具有运算速度快、 处理 能力强等特点 , 很自然地就进入这一应用领域中。用计算机进行排课能 够快速地得到满足约束条件的可行结果 , 具有排课时间短、 省人力和质 量高的优点 , 不但能使教务人员从繁杂的排课任务中解脱出来 , 而且对 于推动教学的发展也起到了非常重要的作用。 但由于大学排课工作的主 观性较强 , 目前仍无完善的自动排课系统可以实现排课工作的全面自动 化。 遇到高等数学、 大学英语等全校规模的通道课 , 系统仍然无法自动处 理。在一些课程的排课时间、 顺序上 , 系统也无法达到人工的识别水平 , 即使给出较为细分的优先级 , 也不能完全合理、 人性化地排出课表。 目前 的排课系统自动排出的课表不经过手工调整往往是不能直接投入运行 的。系统与人工相结合也还有许多问题有待改进。如何使高校的课程表 安排工作更加科学合理 , 适合 “以人为本” 的新时期教育思想 , 仍是值得 探讨的问题。

2排课系统流程分析

课程安排的流程跟教务工作的顺序有很大的关系 , 被安排的课程的

信息来源主要是前期很多教务工作的总结。其基本流程见图 1。 2.1整理课程信息

整理本学期需要安排课程的基本信息 , 包括课程类型

(选修、 必修、 实验课、 室外课、 普通教室课、 多媒体教室课等 , 讲课老师 (任课教师对 上课提出的要求、 上课时间段和上课用教室 , 听课的班级 (各班人数、 总 人数等 。

2.2课程分类

根据整理出的课程需求 , 我们对每门课程根据情况进行优先级别分 文章编号 :1005-6033

(2007 34-0217-03收稿日期 :2007-10-24 自动排课系统算法的分析与设计 陈 静

(义乌工商学院计算机工程系 , 浙江义乌 , 322000

摘 要 :分析了自动排课系统的优势和存在的问题 , 并对自动排课系统算法进行了探

讨。

关键词 :自动排课系统 ; 算法 ; 教学管理 中图分类号 :G434 文献标识码 :A 图 1

课程安排流程

217

类 , 作为排课队列的顺序。 2.3获取可安排的教室

教室是根据每个系的情况进行分配的 , 部分特殊教室的使用也是有 的 , 因此在排课前必须获得所有能够安排课程的教室情况。

2.4排课

根据课程的优先级别按顺序再依据规则依次对课程进行时间和教 室的安排 , 在这里重点是规则的定义和在上课时间和教室空间纵横轴组 成的二维空间中对每个课单元的排课许可。 排课的过程是一个搜索的过 程 , 当最后的课程搜索不到位置时 , 表示课程安排有冲突 , 可通过回溯的 方法通过改变前一门课的定位来增加可选的机会 , 当最后仍然出现课程 冲突时 , 可列出所有与该课冲突的信息 , 以便教务管理员分析和重新对 某些属性进行设定。

2.5生成课表

将排好课的节次时间和教室空间纵横轴组成的二维表的每个单元 数据存入数据库。通过各种检索可以生成课表。

3排课算法详解

排课系统的实现主要在于排课系统的算法。 下面笔者将对该算法的 实现进行详解。

3.1基本对象的定义

通过分析课程表我们可以看到 , 无外乎教室使用空间问题和每周安 排课程的占用时间问题 (这里根据本学校的情况 , 时间以周来算 。我们 把这两个问题放到一个二维表格里面 , 分别定义为空间轴和时间轴。而 空间的每个单元我们可以简单地称为教室元 , 每个时间单元我们称为节 次元。

教室元 , 主要是每间教室的类型 , 可容纳的人数等信息。 在教室的空 间轴上依次排列。排列的顺序的设定在一定程度上影响着排课的效率 , 所以必须根据教室的属性分类一次排序。

节次元 , 主要是以一周的时间为时间轴 , 每天按节次分为 6次课 , 上 午 3次 , 下午 2次 , 晚上 1次。

由时间和空间轴组成的二维数组存储课程信息后的安排表见表 1。 这里我们把可安排课程的单元格称为排课单元。 3.2对每门课程的教室元进行预设定

排课前 , 每门课程必须有自己选择教室的范围。这里我们为了简化 操作 , 安排课程时在空间轴上的设定如下 :

(1 总体教室元的范围设定。 对于本学院 , 主要设置为系别、 专业、 班 级。一般教室的使用有一定的系部范围 , 特别的专业有相关的专业范围 教室或者还有特殊的班级范围。 我们可以从范围上从大到小地对各自属 性的排课进行教室区域范围的划分 , 使在各范围内班级的排课范围都预 设定好 , 避免了对每门课程具体设置的复杂过程。

(2 各门课程教室的范围设定。总体教室元的范围设定并不能完全 解决排课的特殊逻辑需求 , 对各门课程都要进行教室元范围的设定。这 主要是根据各门课程的属性自动设置完成的 , 当然也有一些需要管理员 手动设定。

最后综合两种设定 , 每门课程都有针对本课在课程表安排时需要的 空间轴上教室元的许可设定。我们假设总体教室元的范围设定为序列 ArrayT , 各课程教室范围设定序列为 ArrayC 。通过 ArrayC ∩ ArrayT (i 来 求得最终的各课程表的教室范围。其中 ArrayT (i 为所有与 ArrayC 课程 相关的总体教室元的范围设定序列。 3.3对每门课程节次时间元的预设定

针对每门课程的类型和任课教师的部分特殊要求 , 比如必修课的英 语必须安排在上午等条件 , 对每门课程同样要设置其节次元。基本方法 同课程教室范围的设定 , 如假设对于该课程的节次设定序列有 i 个要求 的 ArrayS (i , 那么通过各 ArrayS (i 的交集求得一确定的序列便是该课 程的节次时间元的预设定。

3.4综合设定表

最后 , 将各门课程教室的教室元范围设定 ArrayC 和课程的节次元 设定 ArrayT 进行运算 :CourseT (i =ArrayC (i ×ArrayT (i , 求 得 二 维 课 表 CourseT 课程安排矩阵表 , 该表每个单元的值表示的便是该课程在此排 课单元上的使能。在后面的排课操作中便可以此为基准进行排课搜寻。 除此之外 , 为了细分 , 我们还需要根据现有教室范围进行选取 , 将邻 近教室范围的设定分成相关区域 , 并成多个课程安排矩阵表 , 以便 于邻近表教室之间的操作。

3.5课程优先级的设定

在排课之前还有一个重要的工作 , 那便是对所有排课进行优先级的 设定。由于后面采用的是队列的算法来实现 , 所以一定的课程排课的顺 序也决定了课程表能否成功安排。

3.6排课规则

在排课的过程中 , 排课规则主要是用来协调选择性排课单元的搜 索 , 使课程的定位更具人性化和合理性。 这里我们列举如下几点 :同一个 课程元不能连续在一天上两次 ; 同一个课程元最好不要连续上两天 ; 同 一老师同一天两次连续的课时间上最好不连续 , 比如一次在上午 , 一次 在下午 ; 一天内同一班级的课程最好教室距离不要太远。

规则定义好了 , 主要还是看算法的实现。基于前面几个步骤的准备 工作 , 规则基本实现逻辑如下 :

(1 取得现阶段课程安排矩阵表中关于本次课程元安排的相关信息 , 并存储该信息到 Mes (i 。假定此时的课程安排矩阵表状态为 CourseT (i 。 (2 根据 Mes (i 进行处理 , 取得课程安排矩阵表中新的限定控制状 态表 Control (i 。

(3 通过求交集 , 取得新的课程安排矩阵表状态为 CourseT (i+1 。

(4 从 CourseT (i+1 寻找该课程元的位置 , 更新 CourseT (i+1 。 比如规则 “同一个课程元不能连续在一天上两次” 的实现。一般同

表 1课程安排二维表 项目

合班 教室 多媒体 教室 … 周一 1, 2节 安排 课程 安排 课程 … 周一 3, 4节 安排 课程

安排 课程 … 周一 第 5节 安排 课程 安排 课程 … 周一 6, 7节 安排 课程 安排 课程 … 周一 8, 9节

安排 课程 安排 课程 … … … … … 周二 1, 2节 安排 课程 安排 课程 … … … …

表 2某课程元第一次课 表 3某课程元第二次课 周一 1 … 周二 1 1 1 1 1 … 周三 1 1 1 1 1 … 周四

1 1 1 1 1 … 周五 1 1 1 1 1 … 周一 1 … 周二 … 周三

1 1 1 1 1 … 周四 1 1 1 1 1 …

周五 1 1 1 1 1…

图 2排课过程控制流程图

陈 静 自动排课系统算法的分析与设计 本刊 E-mail:bjb@mail.sxinfo.net 信息技术

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 科技情报开发与经济

SCI-TECH INFORMATION DEVELOPMENT &ECONOMY 2007年 第 17卷 第 34期

Analysis on and Design of the Algorithm of the Auto-arranging Curriculum System CHEN Jing

ABSTRACT:This paper analyzes the advantages of and problems existing in the auto-arranging curriculum system, and

probes into the algorithm of the auto-arranging curriculum system.

KEY WORDS:auto-arranging curriculum system; algorithm; teaching management 一课程元在一周可能有 2~3次 , 为了控制该课程元下一次在课程安排矩 阵表中间选择位置时不与该规则冲突 , 则必须对原课程安排矩阵表中限 定在上次该课程课次当天的下一天的所有位置为不能 , 使新的一次选择 在合理的范围内进行操作。

具体课程安排矩阵表中值的修改 , 见表 2和表 3的操作例。 3.7排课过程的控制

排课过程控制主要采用回溯的方法来求解 , 而回溯主要采用的是使 用栈控制的方式实现。其基本流程描述见图 2。

其中保存或显示冲突信息采用的方式是输出最终不能回溯时的课 程安排矩阵表详细信息和要求安排的课程元需求安排信息。

4结语

自动排课系统一直是高校教务管理中难以解决的问题 , 涉及整数规 划、 图论、 分支定界技术及模拟退化法等方法和技术 , 国内外很多研究人

员仍在从事这方面的研究工作。本文分析和设计了高校自动排课系统 中的算法 , 在排课过程中主要采用回溯的方法来控制 , 算法中对于课程 部分合班、 部分分班情况等考虑欠缺 , 还有待于进一步改进。

参考文献

[1]陆 峰 , 李 新 . 自 动 排 课 系 统 算 法 的 设 计 与 实 现 [J ]. 微 机 发 展 , 2005(11 :60-63.

[2]陈谊 , 扬怡 , 张国龙 , 等 . 基于优先级自动排课算法 PCSA 的设计与实 现方案

[J ]. 北京工商大学学报 , 2000(2 :33-35. [3]

唐洪英 , 周敏 . 基于分层分次、 贪心算法的排课系统的设计与实现 [J ]. 软件时空 , 2006(22 :237-240. (责任编辑 :邱娅男

─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ 第一作者简介 :陈

静 , 女 , 1981年 1月生 , 2007年毕业于杭州电子

科 技 大 学 (硕 士 , 助 教 , 义 乌 工 商 学 院 计 算 机 工 程 系 , 浙 江 省 义 乌 市 ,

322000.

数字视频处理技术是把来自摄像机或其他视频输入装置的视频或 图像信号 , 经过数字变换后得到数字视频信息 , 再由数字处理系统进行 处理。 随着计算机技

术、 网络技术和多媒体技术的飞速发展 , 数字视频处 理技术正在迅猛发展 , 逐步取代了模拟视频处理技术。

1方案概述

一种基于高速数字信号处理器 (DSP 的脱机视频监控系统 , 采用 TI

公司的高速数字信号处理器作为主控芯片 , 解码后的视频信号被放入帧 缓存中 , 由 DSP 进行信号采集。系统中的视频解码芯片控制接口为 I 2C 总线 , 文中针对 DSP 芯片的具体情况 , 设计了 DSP 芯片同 I 2C 总线的硬 件接口和适于本系统的 I 2C 总线通信程序 , 来完成对解码芯片的配置和 通信。本文采用了一种利用 FIFO 的帧中断管理方法来解决视频信号的 采集问题

(连续视频信号、 数据量大、 采样频率高 , 同时针对 DSP 芯片片 内资源的不足 , 使用扩展方法来满足系统的需求。

2系统组成及原理

DSP 之硬件处理是一个视频图像的采集过程 , 图像目标具体处理的 实现是在 DSP 中进行的

(见图 1 。视频图像信号经摄像头 CCD 输入后 , 分两路进行视频预处理 , 对信号进行放大。从预处理电路出来的信号分 别进入 A/D 转换电路和视频同步分离电路中。 A/D 转换器由视频同步分 离器控制其采样 , 将模拟 图 像 信 号 转 换 成 256级 数 字 图 像 信 号 AD0~AD7。 AD0~AD7与 D0~D7(二值化图像的闭值 经过可编程器件中的比 较器比较 , 对灰度图像信号进行二值化。二值化后的数据进入移位寄存 器进行锁存 , 待进入的数据够 16位时 , 在移位时钟的控制下移出数据 , 生成数据位 AD-D0~AD-D15。视频信号经同步分离电路分离出行、 场等 同步信号 , 同步信号进入可编程器件后 , 通过计数电路产生双口 RAM 的 地址信号。锁相倍频电路控制视频信号行方向的同步 , 场方向的同步由 可编程器件控制。另外 , A/D 转换器的时钟信号、 清零信号 , 双口 RAM 的 写信号 , 两块 RAM 的片选信号 , DSP 的数据

选通等都由可编程器件产 生。图像信号二值化后进入数据 RAM , 两块 RAM 交替工作 , 形成乒乓结 构 , 进 行 图 像 数 据 的 存 取 。 因 为 图 像 信 号 数 据 量 大 , DSP 内 部 的 数 据

RAM 较小 , 所以外部挂有数据缓存 RAM :DSP 的执行程序放在外部程序 文章编号 :1005-6033

(2007 34-0219-02收稿日期 :2007-10-24 数字视频监控系统 王 娜 , 赵轶彦

(太原理工大学 , 山西太原 , 030024 摘

要 :采用通用高速数字信号处理器 (DSP 和可编程逻辑器件 (CPLD 设计了视频图

像目标快速识别与跟踪系统。 关键词 :DSP ; CPLD ; 视频图像信号 中图分类号 :TN949.197

文献标识码 :

A 219

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务