高校排课的数学模型

2023-10-30

一、高校排课面临的主要问题

1.1问题的提出

课程表问题又称时间表问题,课表编排是一个多指标的优化决策冋题,是组合规划中的典型题。课程表的编排就是解决对时间和空间资源争夺而引起的冲突。

20世纪60年代末,国外就有人开始研究课表编排问题。1962年,Gotlieb曾提出了一个课表问题的数学模型,之后人们对课表问题的算法,以及解的存在性等问题做了很多深入探讨。但是大多数文献所用的数学模型都是Gotlieb的数学模型到的简化或补充。Mihoc和Balas将课表公式化为一个优化问题,,Krawczk则提出一种线性编程的方法。Junginger将课表问题简化为三维运输问题,而Tripathy则把课表问题视作整数线性编程问题并提岀了课表的数学模型。

20世纪70年代中期,s·Eveo等人论证了课表问题是NP完全类问题,之后很多人尝试采用各种方法对此问题求解但由于课表问题所涉及的信息较多,并且求课表问题最佳解的时间复杂性是课表规模的指数级,所以对于有一定规模的课表问题,一般采用求较佳解的算法。

1.2面临的主要问题

高等学校排课系统具有其固有复杂性,其本质上是一个多资源分配的复杂问题,这些资源包括教师、时间、教室、班级、课程等等,而这些资源的数量是有限的。在排课系统中,对资源的占有均要求满足一定的约束条件:如教师在同一时间段内只能上ー个班级的某一门课程,在某一段时间内不能跨校区上课:某种类型的教室只能满足某一类课程和某一种班级类型的上课要求等等。本文通过对排课系统中教学资源的分类及其应该满足的约束条件进行系统分析,提出排课问题的线性规划模型在此基础上通过变量和决策变量的选择,用Lingo软件对两个排课案例进行求解。同时提出列生成算法与排课问题相结合,对求解进行优化,提高求解效率。实际结果表明,该模型能很好表示课问题以及排课结果,表明算法是有效的。

二、模型构建

2.1 模型假设

在实际设计中我们要考虑的有:

  1. 教师的要求
  2. 教室的要求
  3. 班级的要求
  4. 课程的要求

针对不同的要求我们要在设计中考虑仝面,使得资源的要求能够满足,并且各个资源之间免于发生冲突。

典型的约束和约束如表2.1所示:

(2.1)

序号

硬约束

软约束

1

教室不冲突:每一个班级每一节课程只能安排一门科目

课程根据类别和性质的不同,某些课程需要安排在限定的时间段,例如高等数学、运筹学、大学英语等重要课程安排在上午等

2

教室课表不冲突:每位老师,每一时间段内只能教一门课程

限定某些时间段不能安排课程,如:每周三下午不安排课程

3

课程安排要求1:一门课程每天只能安排一次

课程尽量安排在教学效果较好的节次。通过长期的观察表明课程上课的效果与上课的节次有一定的关系‚一般来说一、二节教学效果最好‚上午时间比下午时间好。所以在排课的时候中应尽量将难度大的课程安排到教学效果较好的节次以确保有一定的教学效果

4

课程安排要求2:本学期所有专业的全部课程都得到安排

多学时课程的周次安排要尽量错开。在排课时中‚为了保证有较好的教学效果对于每周不只教授一次的课程‚都要尽量将其隔一天或隔一天以上安排

5

教室容量要求:教室的容量大于参加课程的班级的总人数

班级课程表在星期上尽量分布均匀指一个班级上课时间要均匀不能周一周二每天上节课周三以后每天就上次课或是没有课了。尽量做到每天上课节次都差不多。或者是前半学期课程安排比较满,后半学期几乎不安排课

6

同一个班级的所有学生将参相同的课程

一周课表中的每个时间有一定优度对一周中的每天都设置一个优先度数值。然后在排课是按照设定的优先度数进行分配

7

……

教师对上课时间存在一定的喜好对于某些对上课时间有一定要求的老师可以做到人性化处理

8

班级相邻上课地点尽可能距离较近避免出现教师及学生在一、二节与三、四节的课间无法到下一堂课上课教室的问题

9

不推荐教师上连堂课。主要是避免出现教师疲劳,导致教学效果不佳的问题

约束必须满足,从而产生可行的解决方案。而的满足会使得排课结果更加具有人性化。

软约束是受主观因素和客观条件的影响,根据不同的要求进行限定,关于其建立的数学模型将在具体实例中完成。

2.2 决策变量

我们把排课系统看成是一个线性规划问题,从而建立一个线性规划模型来实现该排课系统。排课系统需要对教师、课程、班级、时间、教室这五个资源的合理分配我们可以定义五个资源的集合为:

  1. 教师集合为T={t1,t2,…,tn}(n∈N),教师t∈T每周上课的最大天数为ht
  2. 课程集合为S={s1,s2,…,sm}(m∈N),一周中每个课程s上课的课时是ns
  3. 班级集合为C={c1,c2,…,cl}(l∈N),
  4. 时间段集合为P={p1,p2,…,p28},定义每天的上课时间段可以分成4个,分别是8:00-9:50,10:20-12:10,14:30-16:20,16:30-18:20。每周上课7天,因此一周的时间段共有28个。Ps表示课程s要求的时间段。
  5. 教室集合为R={r1,r2…,rq}(q∈N)。Rs表示课程s要求的教室,Rt表示教师要求的教室。
  6. 天数集合为D={d1,d2,,d7}一周总共有7天。ncmim和ncmax分别表示每个班级c在每天上课时间的最小数和最大数。

下面我们来定义排课系统的决策变量,具体如下:

x_{spr}=1,课程s在时间段p安排在教室r,s∈S,p∈P,r∈R

y_{td}=1,教师t在某一天d是上课时间,t∈T,d∈D

z_{sc}=1,课程s属于班级c的课程,s∈S,c∈C

2.3 目标函数

排课系统变成一个线性规划问题,其目标函数可以叙述为使得那些需要特殊安排的课程能够符合条件达到最大的数量即课程安排的最大值。

目标函数:

2.4 约束条件

 

目标函数(1)是表示难度大的课程安排的最大值即难度值越大的课程安排的越多越好。

约束条件(2)要求一周中每个课程s上课的课时是n

约束条件(3)要求一个教室r不能在一个时间段p安排多门课程

约束条件(4)要求每个班级c不能在同一时间段p安排多门课程

约束条件(5)要求每个老师t不能在同一时间段教授多门课程

约束条件(6)要求每个班级c的每门课程s在一天d中只能安排一次课程

约束条件(7)要求如果课程s安排在d天(假设z_{sc}=1),班级c每天上课的时间在n_{min}^{c}n_{max}^{c}之间。

约束条件(8)要求个班级c的课程s应该在同一天d安排在同一个教室r

约束条件(9)(10)是减少每个教师每周上课的天数(ht表示教师t每周上课的最多天数)。

三、其他分析

3.1合班问题

某年级共有M个班,它们都需要上X,Y两门课。用xi表示课程X的第i个讲台,也表示这个讲台班数的容量(i=1,2,…n);yj表示课程Y的第j个讲台,也表示这个讲台班数的容量(j=1,2…m)。设aijk=1表示第k个班级即在xi上课又在yj上课。

得到二维合班问题的0-1规划模型:

3.2跨校区问题

多校区排课比单校区从硬约束多了一条,即一个教师 半天内只能出现在一个校区。那么硬性要求有以下 4 个:

(1)一个教师同一时间只能上一门课程;

(2)一个班级同一时间只能上一门课程;

(3)一个教室同一时间只能上一门课程;

(4)一个教师半天内只能出现在一个校区。

同时在优化目标上即软约束也多了一条,即一个教师同一天内只出现在一个校区。那么软要求有以下 4 个:

(1)当某一门课程一周要上多次时,课程的安排比较分散,如高等数学一周上 3次课,上课时间安排为每周的星期一、星期三、星期五为佳;

(2)体育课安排在下午;

(3)繁难课程(如高等数学)安排在上午;

(4)一个教师同一天内只能出现在一个校区。

通过分析,要达到的目标为:

(1)满足硬性要求;

(2)满足软要求

4 参考文献

【1】龚莎.基于回溯法的自动排课算法[j].技术应用.2020

【2】池春姬.合班问题的0-1规划数学模型[j].哈尔滨职业技术学院学报.2007

【3】胡培成.高校课程表编排理论研究概述[j].科普教育.2015年06

【4】苏明杰.基于线性规划模型的高校排课系统[j].软件时空.2022

【5】张春梅.课表的多指标数学模型及解决方法[j]内蒙古大学学报(自然科学版).2004

【6】陶滔,谢卫星.课表模型及排课算法应用[j].计算机系统应用.2011

【7】王志丹.课程安排管理系统分析与设计[j].计算机系统应用

【8】GUY DESAULNffiRS GERAD and Ecole Polytechnique de Montreal.Column generation[M].Spriringer.2005

【9】谢凡荣.求解排课表问题的一个启发式数值算法[j].运筹与管理.2005.10

【10】李彬,李枫.基于 Lingo 软件的高校排课问题研究[j].佛山科学技术学院学报(自然科学版).2021年3月

【11】陈辉,何军.排课问题的数学模型研究[j].沈阳工程学院学报(自然科学版).2017年7月

【12】杨金龙,党小超.基于Lingo软件求解大学医学实验课程排课问题[j].甘肃高师学报.2016

【13】彭涛.课程数据分析的Markov链模型[j].清华大学学报.2005年5月

【14】朱冠宇.利用遗传算法求解中学课表安排问题[j].计算机工程与应用.2020

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

高校排课的数学模型 的相关文章

  • 国内远程控制市场竞争激烈 TeamViewer一马当先

    近年来 疫情的反复给很多行业带来了负面影响 但是远程控制软件却因为远程办公的流行而备受众多企业的青睐 远程控制2022年市场也将高达30亿元 在此大好形势下 多款远程控制软件纷纷争夺国内市场 其中表现非常出色的当属TeamViewer 据埃

随机推荐

  • 卷(三)C++___二刷

    Chapter 13 Basic Object oriented Programming 13 1 Welcome to object oriented programming Object oriented programming OOP
  • 您不是订单管理的定向开发者_全面升级投放和营销能力 华为应用市场商业推广助力开发者高效增长...

    9月10日 2020华为开发者大会在东莞松山湖盛大开幕 9月11日下午 在 共舟前行 创新未来 华为应用市场商业推广分论坛上 华为应用市场商业推广产品部部长与现场开发者及合作伙伴分享过去半年取得的成绩 并共同探讨了合作伙伴如何加速获量成长以
  • DNS部署与安全

    1 DNS Domain Name Service 域名服务 作用 为客户机提供域名解析服务器 2 域名组成 2 1 域名组成概述 如 www sina com cn 是一个域名 从严格意义讲 sina com cn 才被称为域名 全球唯一
  • GBDT 梯度提升树(Gradient Boosting Decision Tree)(万字全解)

    目录 一 相关基础知识 二 调用sklearn实现GBDT 1 梯度提升回归树 2 梯度提升分类树 三 参数 属性详解 1 迭代过程涉及的参数 1 n estimators 迭代次数 2 learning rate 学习率参数 3 init
  • Simon Video Course Task 2

    Lesson 01 The tasks This an IELTS training course training has five steps Understand the task what we need to do Break t
  • python硬币识别_OpenCV硬币检测和自动结果检查

    我正在做一个硬币识别项目 我遇到的第一件事就是从图像中正确提取硬币 即使是从非常简单的图像中 有很多很好的硬币检测工作方法 但我认为所有这些都需要人工检查后应用 我测试了其中两种 HoughCircles和threshold及其后的find
  • 智能交通系统调研

    背景 随着微电子技术系统 MEMS 和低功耗的信息交互技术的快速发展 如今已经能够部署大规模无线传感器网络 无线传感器网络是在需要被监视的地点附近或是内部随机地 密集地部署大量的无线传感器结点 传感器网络的应用是多种多样的 不同于传统的无线
  • linux怎么将命令变成汉语,在Linux系统中把firefox火狐游览器转成中文语言的两种方法...

    如果你的Linux操作系统中firefox火狐游览器不是中文语言 你现在要把它们改成中文语言 有两种方法可以实现 其中第二种方法适合所有的Linux发行版 第一种方法 采用系统命令处理 如果所用的Linux系统是Ubuntu Deepin等
  • 什么是原型、原型链?原型和原型链的作用(有图方便理解)

    原型 JS声明构造函数 用来实例化对象的函数 时 会在内存中创建一个对应的对象 这个对象就是原函数的原型 构造函数默认有一个prototype属性 prototype的值指向函数的原型 同时原型中也有一个constructor属性 cons
  • Python数值分析(杜普伊特-福希海默方法)一维固定透射率河流畜水层

    杜普伊特 福希海默方法 所有地下水流量都是三维的 但出于建模目的 流量可以近似为一维或二维 在区域尺度上 与面积相比 大多数含水层相对较薄 因此被称为浅层含水层 在这样的含水层中 流动主要是水平的 并且可以近似为水平面上的二维 水平流量由流
  • 【C语言】结构体的大小是如何计算的?(结构体对齐)

    目录 一 使用sizeof计算结构体的大小 二 影响结构体大小的因素 1 结构体成员的类型 2 结构体成员的对齐方式 3 结构体成员的顺序 三 利用结构体对齐规律计算结构体大小 1 结构体的对齐规则 2 结构体对齐的原因 1 gt 平台原因
  • 使用元学习来进行少样本图像分类

    点击上方 AI公园 关注公众号 选择加 星标 或 置顶 作者 Etienne 编译 ronghuaiyang 导读 你并不总是有足够的图像来训练一个深度神经网络 下面是教你如何通过几个样本让模型快速学习的方法 你并不总是有足够的图像来训练一
  • Mac实践--MAC搭建FTP服务器

    2019独角兽企业重金招聘Python工程师标准 gt gt gt Mac os 搭建FTP SFTP服务器 由于mac拥有自带的FTP工具 因此其实不需要借助其他工具 搭建更加方便 如果你访问过较新版本的Mac OS X中的 共享首选项
  • rockchip-rockxxdemo编译说明

    bin bash ARM编译器路径 20210708 1 修改为安装好路径 2 也可以修改为rv1126本身安装的编译器路径 GCC COMPILER PATH opts gcc arm 8 3 2019 03 x86 64 arm lin
  • Java Map和Set

    1 Map Map是一个接口 该类没有继承自Collection 该类中存储的是
  • 【OSS】阿里云对象存储OSS入门使用 JAVA SDK上传与下载 简单测试案例

    本文包括阿里云对象存储OSS入门使用 上传与下载以及简单测试案例的实现 首先 在阿里云中找到对象存储OSS 点击侧边栏的Bucket列表 创建Bucket列表 根据需求选择配置 创建完成后 点击进入查看概览 找到对应的Endpoint 在后
  • 【Python】JSON模块的使用

    JSON的基本使用 1 内置库 不需要额外安装 json模块是python内置的库 不需要额外安装就可以导入运行 json模块的主要功能是将序列化数据从文件里读取出来或者存入文件 四个函数 json模块的操作使用相对较为简单 该模块只有四个
  • vue3+ts极简教程

    一 依次执行以下四步 即可极速创建项目 跟着敲一次 你会放下2 x 1 npm init vitejs app my vite vue 2 cd my vite vue 3 npm install 4 npm run dev 二 通过两种不
  • 自定义控件——轮播图 ImageCycleView

    1 ImageCycleView Android 轮播图菜单 Huzz 出品 主要是对图片的循环播放 默认播放时间3秒 可以点击控制播放 添加JAR包 android smart image view 1 0 0 jar包 1 自定义类 i
  • 高校排课的数学模型

    一 高校排课面临的主要问题 1 1问题的提出 课程表问题又称时间表问题 课表编排是一个多指标的优化决策冋题 是组合规划中的典型问题 课程表的编排就是解决对时间和空间资源争夺而引起的冲突 20世纪60年代末 国外就有人开始研究课表编排问题 1