以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]排课间隔问题思路求解 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=83349) |
-- 作者:pcxjxjhkw -- 发布时间:2016/4/6 22:06:00 -- [求助]排课间隔问题思路求解 主题:排课间隔 问题描述:一周上5天课,星期一至星期五。A学科每周3节课,将3节课排到星期一至星期五,达到较为均匀(不能出现连续三天上完了,其它时间就没该课)可能出现的限制条件:能排A课的可能只有4天,如星期一,其他课已排完了。 基本思路:能排A学科的星期集合(可能为5天,也可能为4天)——》排第1节——》排第2节——》排第3节 达到的效果:3节课中至少其中两节课间隔1天。 研究了很久,一直没找到一个好的思路,在此求助大家,谢谢。
|
-- 作者:大红袍 -- 发布时间:2016/4/6 22:26:00 -- 说一个偷懒的方法,类似洗牌的,随机洗乱,然后看看是否合理,然后微调,不行就再洗一次。
Dim cnt As Integer = Tables("表A").Rows.Count For i As Integer = 0 To cnt -1 |
-- 作者:pcxjxjhkw -- 发布时间:2016/4/6 22:33:00 -- 还有其他思路吗? |
-- 作者:大红袍 -- 发布时间:2016/4/6 22:34:00 -- 没有。 |