快好知 kuaihz订阅观点

 

案例分享:用模型辅助解决排考算法

本文笔者将通过一个案例,来向大家展示:如何利用模型来解决多考生、多考站的排考需求?

2018年至今,在产品规划的路径上,遇到了若干需要使用算法模型来辅助业务需求讲解的案例,为了更好地跟研发团队沟通,我用图形、Excel表格等工具,配合产品原型为研发团队做了算法的说明。

本案例是一个多考生,多考站的排考需求,大致逻辑如下:

明确考站数量N和考生数量n;

每个考生在这场考试中需完成这N个考站的考试;

明确每个考站的单站考试时间、换站时间.

由于场地(考站)和评分老师数量的限制,每批次进站考试的学生规模有限,比如:总共8个考站,那么同一批进站考试的学生,最大人数上限就是8名。

根据需求描述,整理单批次的模型如下:

模型的输入参数(黄色单元格):单站时长、换站时长、考站数量,三者决定了单批次时长,具体关系是:

单站合计时长=单站时长+换站时长

批次时长=单站合计时长*考站数量-换站时长

对于每一个批次来说,总共有两个部分组成,总站内时长和总换站时长,其中:

总站内时长=考站数量*单站时长

总换站时长=(考站数量-1)*换站时长

在一个批次的内部,每位学生进行轮转的顺序示意图如下:

在此基础上,补充换批次时长的概念,模型扩展如下:

批次时长可以理解为批次间隔的等待时间,可以让参与考试的老师、学生们有个休息调整的时间。

在单批次参数基础上,结合总人数和换批次时长可以得到:

批次总数的算法为:总人数/考站数,在余数为0的情况下直接取整,在余数不为0的情况下取整后+1;

计算总时长的逻辑与前面利用单站时长和换站时长求解单批次时长的逻辑类似:总时长=(单批次时长+换批次时长)*批次总数-换批次时长

根据数据显示需要,将计算得到的分钟数,折算为X小时Y分钟这样符合常人阅读习惯的表示方式。

至此,一个总时长估算的算法就完成了。但是业务需求还有延伸,比如:

案例中估算的8小时45分钟,如果分为上午、下午两场,应该如何设置休息时间;

若由于其他参数的变化导致考试时间必须跨天,又有哪些参数需要设置;

除了每站时间相等的逻辑之外,还会有长短站、关联站的逻辑,应该如何计算;

主要的分类包括:

时间相同,无关联站;

时间相同,有关联站(可进一步细分为:仅有1组关联,存在多组关联——链条长度相等(2,2)或链条长度不等(2,3)的情况)

长短站,无关联站;

长短站,有关联站;

各站时长均不等,有无关联站未知,

在上述逻辑基础上,增加一个带关联站的逻辑:

实际业务中,大多数情况是多个批次先后进入考站进行考试,而且,效率最高的排考方案一定是充分利用每个考站的可用时间,杜绝“浪费”。上图所示的逻辑中增加了多个批次学员(色块代表新批次的学员),可以看见第1次换站时补充了一名学员H;第8次换站时,补充了7名学员I~O,第9次换站时,又补充了一名学员P。

举一个长短站(长站的单站时间=两倍短站时间)的例子,当长站时长为短站时长的双倍时,系统通过增加一个相同项目的长站来解决拥堵的问题,示意图如下:

【关联站】:必须先进行某站考试,才可进入关联的另一站;

【长短站】:特定的站点时长是其他站点的2倍、3倍等;

年初在跟某位产品新人交流时,她惊讶地问:你们产品要做到这么细啊?

当时我回答她:产品早期考虑得越充分,研发阶段要填的坑就越少。

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:算法  算法词条  辅助  辅助词条  模型  模型词条  案例  案例词条  解决  解决词条  
设计

 [雷军说]Elon Musk是个...

上个月,我又去了趟美国,为了在硅谷举办的GMIC大会。GMIC是全球移动互联网大会,近年来,移动互联网一直是全球互联网产业的热点。不过到了硅谷,你会发现,当下最...(展开)

设计

 七种不同色系的网站设计效果体验

网站建设中的色彩搭配是大有讲究的,它可以在无形中为一个网站添加各种信息,包括网站主题、情感、氛围的表达等,网站设计色彩的搭配牵动着用户的体验,不同行业对网站色调...(展开)

设计

 大神带你了解iOS7设计的利与弊

几块钱评论:文章让我收获颇多的点:设计激发用户行为。大家可以仔细阅读下,从文章中理解设计是如何影响用户判断和采取行动的。相信你一定会有收获哦。原作者Luke W...(展开)