案例分享:用模型輔助解決排考算法
本文筆者將通過一個(gè)案例,來向大家展示:如何利用模型來解決多考生、多考站的排考需求?
2018年至今,在產(chǎn)品規(guī)劃的路徑上,遇到了若干需要使用算法模型來輔助業(yè)務(wù)需求講解的案例,為了更好地跟研發(fā)團(tuán)隊(duì)溝通,我用圖形、Excel表格等工具,配合產(chǎn)品原型為研發(fā)團(tuán)隊(duì)做了算法的說明。
本案例是一個(gè)多考生,多考站的排考需求,大致邏輯如下:
- 明確考站數(shù)量N和考生數(shù)量n;
- 每個(gè)考生在這場(chǎng)考試中需完成這N個(gè)考站的考試;
- 明確每個(gè)考站的單站考試時(shí)間、換站時(shí)間.
由于場(chǎng)地(考站)和評(píng)分老師數(shù)量的限制,每批次進(jìn)站考試的學(xué)生規(guī)模有限,比如:總共8個(gè)考站,那么同一批進(jìn)站考試的學(xué)生,最大人數(shù)上限就是8名。
根據(jù)需求描述,整理單批次的模型如下:
模型的輸入?yún)?shù)(黃色單元格):?jiǎn)握緯r(shí)長(zhǎng)、換站時(shí)長(zhǎng)、考站數(shù)量,三者決定了單批次時(shí)長(zhǎng),具體關(guān)系是:
單站合計(jì)時(shí)長(zhǎng)=單站時(shí)長(zhǎng)+換站時(shí)長(zhǎng)
單批次時(shí)長(zhǎng)=單站合計(jì)時(shí)長(zhǎng)*考站數(shù)量-換站時(shí)長(zhǎng)
對(duì)于每一個(gè)批次來說,總共有兩個(gè)部分組成,總站內(nèi)時(shí)長(zhǎng)和總換站時(shí)長(zhǎng),其中:
總站內(nèi)時(shí)長(zhǎng)=考站數(shù)量*單站時(shí)長(zhǎng)
總換站時(shí)長(zhǎng)=(考站數(shù)量-1)*換站時(shí)長(zhǎng)
在一個(gè)批次的內(nèi)部,每位學(xué)生進(jìn)行輪轉(zhuǎn)的順序示意圖如下:
在此基礎(chǔ)上,補(bǔ)充換批次時(shí)長(zhǎng)的概念,模型擴(kuò)展如下:
換批次時(shí)長(zhǎng)可以理解為批次間隔的等待時(shí)間,可以讓參與考試的老師、學(xué)生們有個(gè)休息調(diào)整的時(shí)間。
在單批次參數(shù)基礎(chǔ)上,結(jié)合總?cè)藬?shù)和換批次時(shí)長(zhǎng)可以得到:
- 批次總數(shù)的算法為:總?cè)藬?shù)/考站數(shù),在余數(shù)為0的情況下直接取整,在余數(shù)不為0的情況下取整后+1;
- 計(jì)算總時(shí)長(zhǎng)的邏輯與前面利用單站時(shí)長(zhǎng)和換站時(shí)長(zhǎng)求解單批次時(shí)長(zhǎng)的邏輯類似:總時(shí)長(zhǎng)=(單批次時(shí)長(zhǎng)+換批次時(shí)長(zhǎng))*批次總數(shù)-換批次時(shí)長(zhǎng);
- 根據(jù)數(shù)據(jù)顯示需要,將計(jì)算得到的分鐘數(shù),折算為X小時(shí)Y分鐘這樣符合常人閱讀習(xí)慣的表示方式。
至此,一個(gè)總時(shí)長(zhǎng)估算的算法就完成了。但是業(yè)務(wù)需求還有延伸,比如:
- 案例中估算的8小時(shí)45分鐘,如果分為上午、下午兩場(chǎng),應(yīng)該如何設(shè)置休息時(shí)間;
- 若由于其他參數(shù)的變化導(dǎo)致考試時(shí)間必須跨天,又有哪些參數(shù)需要設(shè)置;
- 除了每站時(shí)間相等的邏輯之外,還會(huì)有長(zhǎng)短站、關(guān)聯(lián)站的邏輯,應(yīng)該如何計(jì)算;
主要的分類包括:
- 時(shí)間相同,無關(guān)聯(lián)站;
- 時(shí)間相同,有關(guān)聯(lián)站(可進(jìn)一步細(xì)分為:僅有1組關(guān)聯(lián),存在多組關(guān)聯(lián)——鏈條長(zhǎng)度相等(2,2)或鏈條長(zhǎng)度不等(2,3)的情況)
- 長(zhǎng)短站,無關(guān)聯(lián)站;
- 長(zhǎng)短站,有關(guān)聯(lián)站;
- 各站時(shí)長(zhǎng)均不等,有無關(guān)聯(lián)站未知,
在上述邏輯基礎(chǔ)上,增加一個(gè)帶關(guān)聯(lián)站的邏輯:
實(shí)際業(yè)務(wù)中,大多數(shù)情況是多個(gè)批次先后進(jìn)入考站進(jìn)行考試,而且,效率最高的排考方案一定是充分利用每個(gè)考站的可用時(shí)間,杜絕“浪費(fèi)”。上圖所示的邏輯中增加了多個(gè)批次學(xué)員(色塊代表新批次的學(xué)員),可以看見第1次換站時(shí)補(bǔ)充了一名學(xué)員H;第8次換站時(shí),補(bǔ)充了7名學(xué)員I~O,第9次換站時(shí),又補(bǔ)充了一名學(xué)員P。
舉一個(gè)長(zhǎng)短站(長(zhǎng)站的單站時(shí)間=兩倍短站時(shí)間)的例子,當(dāng)長(zhǎng)站時(shí)長(zhǎng)為短站時(shí)長(zhǎng)的雙倍時(shí),系統(tǒng)通過增加一個(gè)相同項(xiàng)目的長(zhǎng)站來解決擁堵的問題,示意圖如下:
【關(guān)聯(lián)站】:必須先進(jìn)行某站考試,才可進(jìn)入關(guān)聯(lián)的另一站;
【長(zhǎng)短站】:特定的站點(diǎn)時(shí)長(zhǎng)是其他站點(diǎn)的2倍、3倍等;
年初在跟某位產(chǎn)品新人交流時(shí),她驚訝地問:你們產(chǎn)品要做到這么細(xì)啊?
當(dāng)時(shí)我回答她:產(chǎn)品早期考慮得越充分,研發(fā)階段要填的坑就越少。
本文由@海盜 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash, 基于CC0協(xié)議
- 目前還沒評(píng)論,等你發(fā)揮!