课表编排的问题

(表一)

课程       指定教室编号 人数限制

高等数学       R 1         7

大学物理       R2          8

数字电路       R2          6

数据库原理     R3          6

操作系统       R3          7

工程制图       R2          8

大学语文       R3          7

英语精读       R 1         9


( 表二 )

课程                学生列表

高等数学         1 、 2 、 3 、 4 、 6 、 7 、 8 、 9、15

大学物理         1 、 6 、 8 、 10 、 11 、 12 、 13 、 14 、 15 、 16

数字电路         2 、 3 、 4 、 7 、 9 、 12 、 13 、 15 、 16

数据库原理       3 、 5 、 6 、 8 、 9 、 11 、 14 、 18

操作系统         2 、 4 、 5 、 6 、 7 、 11 、 13 、 16 、 17 、 20

工程制图         1 、 3 、 5 、 8 、 9 、 7 、 11 、 15 、 18 、 19

大学语文         4 、 6 、 7 、 10、12 、 13 、 18 、 19 、 20 、 16

英语精读         1 、 2 、 5 、 7 、 9 、 11 、 12 、 13 、 15 、 16 、 18 、 19 、 20


&  有三间教室 R1 、 R2 、 R3 ,三个上课时间 T1 、 T2 、 T3 ,课程指定的教室和容纳人数见表一,课程只能安排在指定的教室上课。

&  共有 20 名学生,编号从 1 至 20 ,预选了 8 门课程。学生选课情况见表二。

&  同一学生在同一时间只能上一门课程。

&  同一个教室同一时间只能安排一门课程。

&  高等数学需要占用两个时间

问题:

1 、为这八门课程安排上课时间和上该课程的学生,使得总的上课人次数最多。

2.请在一周时间内提交可执行文件和源代码 ( 打包成一个 rar 文件 )。