案例分享:用模型輔助解決排考算法

0 評論 2844 瀏覽 16 收藏 6 分鐘

本文筆者將通過一個(gè)案例,來向大家展示:如何利用模型來解決多考生、多考站的排考需求?

2018年至今,在產(chǎn)品規(guī)劃的路徑上,遇到了若干需要使用算法模型來輔助業(yè)務(wù)需求講解的案例,為了更好地跟研發(fā)團(tuán)隊(duì)溝通,我用圖形、Excel表格等工具,配合產(chǎn)品原型為研發(fā)團(tuán)隊(duì)做了算法的說明。

本案例是一個(gè)多考生,多考站的排考需求,大致邏輯如下:

  1. 明確考站數(shù)量N和考生數(shù)量n;
  2. 每個(gè)考生在這場考試中需完成這N個(gè)考站的考試;
  3. 明確每個(gè)考站的單站考試時(shí)間、換站時(shí)間.

由于場地(考站)和評分老師數(shù)量的限制,每批次進(jìn)站考試的學(xué)生規(guī)模有限,比如:總共8個(gè)考站,那么同一批進(jìn)站考試的學(xué)生,最大人數(shù)上限就是8名。

根據(jù)需求描述,整理單批次的模型如下:

模型的輸入?yún)?shù)(黃色單元格):單站時(shí)長、換站時(shí)長、考站數(shù)量,三者決定了單批次時(shí)長,具體關(guān)系是:

單站合計(jì)時(shí)長=單站時(shí)長+換站時(shí)長

單批次時(shí)長=單站合計(jì)時(shí)長*考站數(shù)量-換站時(shí)長

對于每一個(gè)批次來說,總共有兩個(gè)部分組成,總站內(nèi)時(shí)長和總換站時(shí)長,其中:

總站內(nèi)時(shí)長=考站數(shù)量*單站時(shí)長

總換站時(shí)長=(考站數(shù)量-1)*換站時(shí)長

在一個(gè)批次的內(nèi)部,每位學(xué)生進(jìn)行輪轉(zhuǎn)的順序示意圖如下:

在此基礎(chǔ)上,補(bǔ)充換批次時(shí)長的概念,模型擴(kuò)展如下:

換批次時(shí)長可以理解為批次間隔的等待時(shí)間,可以讓參與考試的老師、學(xué)生們有個(gè)休息調(diào)整的時(shí)間。

在單批次參數(shù)基礎(chǔ)上,結(jié)合總?cè)藬?shù)和換批次時(shí)長可以得到:

  1. 批次總數(shù)的算法為:總?cè)藬?shù)/考站數(shù),在余數(shù)為0的情況下直接取整,在余數(shù)不為0的情況下取整后+1;
  2. 計(jì)算總時(shí)長的邏輯與前面利用單站時(shí)長和換站時(shí)長求解單批次時(shí)長的邏輯類似:總時(shí)長=(單批次時(shí)長+換批次時(shí)長)*批次總數(shù)-換批次時(shí)長;
  3. 根據(jù)數(shù)據(jù)顯示需要,將計(jì)算得到的分鐘數(shù),折算為X小時(shí)Y分鐘這樣符合常人閱讀習(xí)慣的表示方式。

至此,一個(gè)總時(shí)長估算的算法就完成了。但是業(yè)務(wù)需求還有延伸,比如:

  1. 案例中估算的8小時(shí)45分鐘,如果分為上午、下午兩場,應(yīng)該如何設(shè)置休息時(shí)間;
  2. 若由于其他參數(shù)的變化導(dǎo)致考試時(shí)間必須跨天,又有哪些參數(shù)需要設(shè)置;
  3. 除了每站時(shí)間相等的邏輯之外,還會(huì)有長短站、關(guān)聯(lián)站的邏輯,應(yīng)該如何計(jì)算;

主要的分類包括:

  1. 時(shí)間相同,無關(guān)聯(lián)站;
  2. 時(shí)間相同,有關(guān)聯(lián)站(可進(jìn)一步細(xì)分為:僅有1組關(guān)聯(lián),存在多組關(guān)聯(lián)——鏈條長度相等(2,2)或鏈條長度不等(2,3)的情況)
  3. 長短站,無關(guān)聯(lián)站;
  4. 長短站,有關(guān)聯(lián)站;
  5. 各站時(shí)長均不等,有無關(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è)長短站(長站的單站時(shí)間=兩倍短站時(shí)間)的例子,當(dāng)長站時(shí)長為短站時(shí)長的雙倍時(shí),系統(tǒng)通過增加一個(gè)相同項(xiàng)目的長站來解決擁堵的問題,示意圖如下:

【關(guān)聯(lián)站】:必須先進(jìn)行某站考試,才可進(jìn)入關(guān)聯(lián)的另一站;

【長短站】:特定的站點(diǎn)時(shí)長是其他站點(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é)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!