第一卷 少年游 第五十六章盲点(2/5)
唐岑没有给他们继续争的机会。
她把任务拆成三块:林沛去补教务现场反馈,她自己把已有规则画成流程,原既白负责把“人工规则为什么会失效”和“未来怎样升级成更系统的方法”整理出来。
原既白听到最后一项时,心里更不舒服,因为这几乎等于承认自己从主方案退成了补充说明。
他想说再给二十分钟,也许能把动态模型至少做出一个简化版本,可抬头看见墙上的倒计时,最终什么都没说。
二十分钟后,他们第一次拿着那套粗糙规则去找教务老师。
老师看了一遍,第一句话就是:“这个第二步不行。”原因很简单:同年级同课程并不意味着老师可以互换,因为有的班进度快两节,有的慢一节,临时换老师反而容易出问题。
林沛立刻把“同课程互换”改成“优先同教师跨班调整”,唐岑问这种调整最常见的代价是什么,老师说是两门课互相挪位置以后,可能把某个老师一天压成连续五节。
三个人又回去修改。
原既白站在一旁,看着一条规则在十分钟里被现实推翻、改掉,再拿回来重新测试,心里忽然出现一种奇怪的感觉:这套东西没有高层结构,甚至可以说相当笨,可它在动。
距离展示十三分钟时,林沛又发现一个漏洞:如果临时请假的正好是毕业班主课老师,所谓“最小调整”未必是最重要目标,因为学校可能宁愿多动几节副科,也要优先保住毕业班课程。
于是他们又把优先级加进去。
原既白这时终于插手,把散乱规则重新整理成一个层级结构:先确定不可违反的硬约束,再按照学校自己给出的优先级处理软约束,最后在剩余可行方案里最小化改动。
林沛看完以后立刻说这个有用,唐岑也把流程图重画了一遍。
原既白第一次在这两个小时里真正感到顺了一点,却同时意识到一件让他更加不舒服的事——这个高层结构不是他一开始“想出来”的,是在几十分钟的现场修补以后才从下面长出来的。
展示开始时,他们小组抽到第三。
第一组做校园食堂排队,第二组研究实验室预约,都有完整数据。
轮到原既白他们时,唐岑先讲场景,没有从模型开始,而是直接放出一张“早上七点四十分,老师临时请假”的模拟通知,然后问台下,如果你只有二十分钟重新排课,第一步会做什么。
几个人很快给出不同答案,有人说找代课,有人说换课,有人说整班自习。
唐岑这才把他们问来的真实限制一条条放出来:场馆临时失效、实验室维护、教师接送孩子、毕业班优先、不同班级进度差异。
原来题目给出的数据只是地图的一部分,真正的地形要走进去才知道。
林沛负责讲那套“难看”的规则。
他没有包装成算法,只说这是一套他们一个多小时内不断被教务老师驳回、重新修改出来的临时决策流程。
台下有人立刻问为什么不直接做优化模型,林沛看了一眼原既白,把话递给他。
原既白站起来时,有半秒钟很想从自己最初那张网络图开始讲。
最后没有。
他说他们一开始确实这么做,而且自己尤其相信应该先建立统一模型,把静态排课和动态调整一起解决。
可是两个小时不够,真实学校的约束又比题目给出的多得多。
与其提交一个结构漂亮却没验证过的“最优模型”,他们最后决定先建立可用规则,再把这些规则逐步抽象成硬约束、软约束和调整代价。
以后如果真做系统,可以在这个基础上进入约束优化,而不是一开始就假设自己已经知道所有约束。
评委席上一个老师问:“所以你认为第一版的模型错了吗?”
原既白停了一下。
“不是完全错。”
“那为什么不用?”
“因为它现在还不能解决这个学校明天早上七点四十分的问题。”
台下没有笑。
那位老师又问:“如果给你一个月呢?”
本章未完,请翻下一页继续阅读.........