嗨,我正在構建一個程序,其中學生正在報名參加在全國多個城市進行的考試。在註冊學生的同時,他們按照他們的喜好提供了他們希望參加考試的三個城市的名單。所以一個學生可能會說他的首選考試中心是紐約,其次是芝加哥,其次是波士頓。解決資源分配問題的算法
現在請記住,由於考試中心的能力有限,他們無法容納每個學生的第一選擇。然而,我們會盡可能地爲儘可能多的學生提供他們的第一或第二選擇中心,並儘可能避免學生不得不給第三個選擇中心的學生
現在任何想法的排序算法,這將使這個過程更有效率。簡單的方法來做到這一點將首先通過第一選擇的學生分配儘可能多然後可以通過第二選擇和分配清單。然而,這可能會導致名單上第一名的學生獲得他們的第一中心,而最後的學生獲得他們的第三選擇或更差的選擇。任何可以提高效率的東西
我的直覺是,一個「完美」的算法將是NP完全問題,你會不得不接受的近似值。 –
爲什麼不把優先考慮的第一批學生註冊?無論如何,你必須對它們進行辨別。 – alexpirine
問題是我們已被客戶特別告知不要採用先到先得的方式。原因在於,不同地點的學生填寫考試表格的日期不同。因此,填補表格的時間要晚於其他時間,這並非他們的錯。 – user992010