我们在大学的讲座上有大约1000个免费座位,需要大约2000个座位(可能500名学生要求各4个席位)。
我正在使用CakePHP开发一个webapp,它允许学生制作一个愿望清单并在每个块中输入4个讲座,优先级从1到4.(然后进入MySQL数据库)
现在,Web前端已完成,管理操作(添加讲座,添加讲师等)已完成..唯一剩下的就是编写分发算法。
我该如何做到最好? MySQL脚本似乎很有用,但是当涉及到循环和if-constructs时,mysql不是很友好,是吗? 将数据导出到某处并让其他语言处理问题是否明智?
编辑:dnagirl请求有关该算法的更多信息: 我们没有该算法的业务规则。我们从另一所大学的其他人那里调整了一个现有的(非常昂贵的)应用程序,该应用程序有我们刚刚适应的规则 他正在做什么(以及我想要克隆的,以节省每学期的大笔费用),是这样的:
我知道这个算法不是最好的解决方案,但我认为我现在只是克隆它,之后可能会改进逻辑/可能性。
答案 0 :(得分:4)
你可能想要某种遗传算法:
你必须进行一些测试并调整得分权重才能做到正确。
MySQL并不是非常适合这种情况;你最好用PHP解决这个问题,然后坚持一下。如果性能不够好,您甚至可以考虑在C ++中实现它,但我建议您首先尝试PHP并查看它是否足够快。这不像你每2秒钟就要运行一次。