通過OptaPlanner優化 COVID-19 疫苗接種預約安排(1) - 無視頻版

近兩年來的冠疫情使得社會工作生活備受影響。接種疫苗是其中一種有效減緩疫情的途徑之一,但病毒的傳染性,疫苗接種的規律性,及接種人羣數量及分佈等特性,對接種活動的計劃安排提出了巨大挑戰。面對大量的接種數據和複雜的接種安排,人工編制接種計劃明顯會影響工作效率,並降低接種安排的合理性。本文將接種計劃視作一個規劃問題,通過開源規劃引擎OptaPlanner,自動生成一個符合接種規範、提高工作效率、降低社會運行成本的接種計劃方案。

本文章譯自Paul Brown先生,一位開源社區的資深貢獻者。以下爲原文:https://www.optaplanner.org/blog/2021/03/04/OptimizingCovid19VaccinationScheduling.html

  事實證明,COVID-19 疫苗接種預約安排是一項全球性挑戰。儘管多次嘗試,有資格接種疫苗的人仍無法獲得預約。那些預定和接種疫苗的人,有時到達疫苗接種中心後才得知他們的預約已被取消。有些人發現,與他們同在一個疫苗接種時間窗口的有數百人,必須排隊等候數小時才能接種。但是,情況並非必須如此混亂。你可以參考 OptaPlanner快速入門案例中的【疫苗接種預約】程序,來開發排程系統,從而生成一個既高效又公平的接種時間表。【疫苗接種預約調度程序】使用人工智能 (AI) 來確定人員的優先級,並根據多個約束和優先級分配時間段。該示例是OptaPlanner 快速入門系列的一部分,在 GitHub 上提示。

系統自動分配預約調度系統的好處

  安排預約有兩種主要方式,一種是預約者從系統中選擇一個預約空檔(即用戶選擇),另一種是系統分配一個檔期並告訴這個人何時何地參加(即由系統自動分配)。
以下是兩種方法的快速比較:

用戶選擇

  這種方法類似於用於音樂會票務網站(如 Ticketmaster™)的方法。這是大多數音樂會門票的銷售方式。人們相互競爭固定數量的門票或預約。


該方法的特點:

  • 預約以先到先得的方式提供.
  • 一個人從一系列可用的約會中選擇心儀的約會時間和地點.

這種方法的挑戰:

  • 先到先得的方式可能不公平.
  • 當過多人同時進行預約時,系統過載反覆讓將網速較慢的人無法預約.
  • 當多人嘗試同時預約同一個時段時,只有一個人預約成功其他人都無法預約,導致用戶體驗不佳。有些人可能會徹底放棄嘗試預約;而另一方面,一些非黃金時間的空檔無人問津.
  • 根據優先級、年齡或第二次劑量狀態等標準進行排序變得很棘手.
  • 用戶選擇的預約內,可能無法提供所需的疫苗類型(輝瑞™、Moderna™、阿斯利康™).


  可以說,用戶選擇方式不是疫苗接種計劃的最有效方法。人們可以選擇最近的疫苗接種中心,但該中心的容量可能不是最大的。對於個人有利方式,對於整個羣體來說並不一定是最佳的。系統無法將每一個人引導同時滿足個人需求,同時容量可滿足所有人需求的中心。此外,這種方法很容易讓系統出現過載。

系統自動分配

  使用這種基於推送的方法,人們將他們的信息提供給系統,由系統來分配一個預約。


這種方法的特點:

  • 預約的空檔是根據優先級分配的.
  • 系統根據預先設定的計劃約束,分配最佳預約時間和地點。

這種方法的挑戰:

  • 人們分得的時間段可能不可行(例如時間衝突)。
  • 人們可能更偏向重新預約。

  系統自動分配方式比用戶選擇方式更易於人們使用,更公平;並且對於疫苗接種預約安排更高效。

第二劑挑戰

  大多數 COVID-19 疫苗需要接種兩劑。爲了獲得最佳效果,第二劑必須在與第一劑相隔特定時間範圍內接種,並使用相同的疫苗類型。最重要的是,不同的疫苗有不同的第二劑時間間隔。在這些時間範圍內,有一個最早可接種日期(可以接種第二劑的第一天)、一個理想日期(接種第二劑的最佳日期)和一個最後期限(接種第二劑的最後日期)。例如,輝瑞第二劑的理想日期是第一劑後 21 天,但 Moderna 疫苗第二劑的理想日期是第一劑後 28 天。
  因此,假設你從人們接種 Moderna 疫苗開始算,4 周後你仍在給人們接種第一劑;但此時已經是一些接種了輝瑞疫苗第一劑的人接種第二劑的時候了。您必須決定是預約需要第二劑的人還是預約人接受第一劑。這可能看起來很簡單,但這種情況有潛在的複雜性。假設在接種疫苗的第一週,你爲高優先級的人接種了疫苗,同時也爲普通優先級的人們也接種了,因爲你會發現在這個時間你完成了高優先級人羣接種後,還有額外剩餘的疫苗,而你又不能浪費掉這個時間。四個星期後,你必須決定,預約此時的預約優先分給第一劑高優先級的人,還是分配給需要接種第二劑的低優先級的人。
  一種解決方案是在接受第一劑和第二劑的人之間平等地共享預約,但這樣做可能會導致需要第二劑的人積壓。如果你繼續給予接種第一劑的人預約,而不優先給需要第二劑的人預約,最終等待接種第二劑的需求量將出現滾雪球式的積壓;從而導致第二劑疫苗實際接種日期將與理想日期相距甚遠,甚至可能超過接種窗口期,這將使第一劑疫苗接種的效果大大降低。
因此,無論首劑患者的優先級高低,都應優先提供給第二劑接種者預約。

解決疫苗接種預約調度問題

  OptaPlanner 疫苗接種預約調度程序使用系統自動分配的方法,通過使用規劃約束爲每個人創建一個接種分值來解決儘可能多的人的疫苗接種問題。各人的接種分值決定了他們何時獲得預約。一個人的接種分值越高,他們獲得更早約會的機會就越大。約束分爲硬約束、中等約束的或軟約束的:

  • 硬約束不能被打破。如果任何硬約束被破壞,則計劃不可行且無法執行。包含以下硬約束:
  1. 接種能力(容量):在任何時間、任何地點,發放的預約量均不可超疫苗可用量。
  2. 疫苗最大年齡:如果一種疫苗有最大年齡限制,不能將它分配給接種第一針時,年齡已超過限制的接種者;以確保爲人們提供適合其年齡的疫苗類型。例如,不要爲 75 歲的人分配最高年齡限制爲 65 歲的疫苗預約。
  3. 所需的疫苗類型限制:限制所使用的疫苗類型。例如,第二劑疫苗必須與第一劑的疫苗類型相同。
  4. 準備日期:確保在指定日期或之後接種疫苗。例如,如果一個人接受了第二劑疫苗,請不要在針對特定疫苗類型的建議最早可能的疫苗接種日期之前(例如第一劑疫苗後 26 天)進行接種。
  5. 截止日期:在指定日期或之前接種疫苗。例如,如果一個人接受了第二劑疫苗,需要在特定疫苗的推薦疫苗接種最終到期日之前接種(例如第一劑疫苗後三個月)。
  6. 限制最大旅行距離:將每個人分配到離他們住所最近的一組疫苗接種中心之一。這通常是三個中心之一。此限制是根據旅行時間而非距離計算的,因此居住在城市地區的人通常比農村人的最大旅行距離更短。
  • 當沒有足夠的能力爲每個人分配約會時,中等約束決定誰沒有得到約會。這稱爲過度約束規劃:
  1. 安排第二劑疫苗接種:除非理想的接種日期不在計劃時間段內,否則不要遺漏任何未分配的第二劑疫苗接種預約。
  2. 根據優先級安排人員:每個人都有一個優先級。通常是以年齡作爲參考,但如果是醫療工作者,則可能會更高。只留下優先級最低的人未分配,他們將在下一次規劃中被分配。此約束比先前的(第二劑約束)更低,因爲第二劑接種的重要性高。
  • 不違反壞軟約束(除非逼不得已):
  1. 首選的疫苗接種中心:如果某人有首選疫苗接種中心,則將其分配到該中心。
  2. 距離:最小化一個人必須前往指定的疫苗接種中心的距離。
  3. 理想日期:儘可能在指定日期或接近指定日期接種疫苗。例如,如果某人接受了第二劑疫苗,請在特定疫苗的理想日期(例如第一劑疫苗後 28 天)進行接種。注意:這個約束應比距離約束要軟,以避免將人們到處分配全國各地,只是爲了離他們的理想約會更近一天。即爲了更接近理想接種一天時間,而將一個人分配到跨省接種,是不可取的。
  4. 優先級:越接近(第二針)理想接種時間的人員的優先越高。此約束級別比距離約束更低,以避免將人們到處分配全國各地,因爲他們只是接近理相接種日期,並未到達該日期。該約束也比理想的日期約束更低,因爲第二劑的優先級高於優先級。

  在相同的約束類型裏,有些硬約束與其它硬約束進行對比裏,需要一定的加權。軟約束亦然。然而,無論它們各自的權重如何,在進行評分運算時,硬約束高於中等約束,中等約束高於軟約束。當排隊預約的人多於預約可分配量時,所以你需要做出艱難的決定。必須首先分配第二劑預約,以避免形成後續時間裏,這些第二劑的預約積累,對後面的工作形成壓力。然後才根據優先級分配預約。每個人都以他們的年齡作爲優先級,這樣可以令老年人優先於年輕人接種。之後,處於特定優先級組中的人會獲得幾百個額外優先級積分,以提高他們的優先級,積分多少取決於他們組的優先級。例如,護士可能會獲得額外的 1000 分;在此基礎上,年長護士又優先於年輕護士,年輕護士優先於非護士。下表說明了這個概念:

年齡工作優先級
60 護士 1060
33 護士 1033
71 退休 71
52 辦公室職員 53

表 1. 優先等級表

(譯者:第一篇先完成該安全的業務分配部分,在第二篇將會翻譯其技術實現部分,敬請期待)

 

 

 

本系列文章在公衆號不定時連載,請關注公衆號(讓APS成爲可能)及時接收,二維碼:

 


如需瞭解更多關於Optaplanner的應用,請發電郵致:[email protected]
或到討論組發表你的意見:
若有需要可添加本人微信(13631823503)或QQ(12977379)實時溝通,但因本人日常工作繁忙,通過微信,QQ等工具可能無法深入溝通,較複雜的問題,建議以郵件或討論組方式提出。(討論組屬於google郵件列表,國內網絡可能較難訪問,需自行解決)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章