【資源調度】2-如何解決資源調度問題?

導讀:本期是全網最全【資源調度】系列推文的第2期(共50期左右)。上期我們在《何為調度?》中,對調度的定義與作用、計劃與調度的關系、調度問題的拆解做了詳細介紹。從本期開始,我們選擇【客服調度】場景作為【資源調度】問題的具象化代表,為大家展開后續一系列推文。本期將為大家詳細介紹 【客服調度】的業務背景、問題抽象、技術路徑和解決方案等內容。


作者1:張哲銘,某互聯網大廠算法專家
作者2:向杜兵,某制造業龍頭算法專家


大家好!我們是IndustryOR團隊,致力于分享業界落地的OR+AI技術。歡迎關注微信公眾號/知乎/CSDN【運籌匠心】

誠邀大家 【加入粉絲群】,群里經常分享硬核內容,且大佬多多,說不定你未來的leader就在其中!【加群方式附在文章結尾】~~

本篇文章共分為5個部分,依次為:
01 業務背景
02 問題抽象
03 技術路徑
04 解決方案
05 小結


01 業務背景

當今的企業普遍面臨客戶服務的挑戰,特別是在高度競爭和不斷變化的市場環境下。為了提供卓越的客戶體驗和滿意度,有效的客服調度成為關鍵。隨著業務規模的由小到大,客服調度技術也隨之由易到難。對于一些超大型toC企業,可以說客服調度技術的成熟與否直接影響了其業務發展,甚至決定企業的生死存亡。


02 問題抽象

1)問題描述

在客服調度場景中,一個客戶的需求從產生到滿足的業務流程可被拆解為以下4步:

  • 請求發起:客戶通過電話咨詢、工單填報等方式向調度系統發出請求,希望自身的某些需求能被滿足。
  • 調度決策:調度系統或通過人工、或通過規則、或通過算法為客戶請求分配最合適的客服人員。
  • 需求履約:客服人員為客戶提供服務,直至用戶需求被滿足。
  • 用戶反饋:客戶對客服的服務進行評價反饋。

由于客戶請求隨時隨地都有可能產生,因此客服調度場景的業務流程就是在時間上連續且并行的重復這個過程。

2)調度本質

我們在《何為調度?》的中已經為【資源調度】問題的本質做出了定義,即:調度問題的本質就是求解供給和需求在時空上的最優匹配,【客服調度】問題也是如此。

  • 供給方面:客服調度場景中的供給通常是指提供服務的人,如:接線員、售后專家、家政阿姨、機場地勤等服務人員。客服人員通常具備用戶需要的一些職業技能,以便解決客戶需求的問題,同時同一行業不同經驗的人往往具有不同的技能熟練度

  • 需求方面:客服調度場景中的需求一般指是用戶的需求,通常以任務的形式出現,如:接線任務、售后任務、保潔任務、地勤任務等。任務通常具有任務類型、最早/最晚開始(結束)時刻、任務時長等屬性,需要具有匹配技能的人去執行

  • 匹配方面:客服調度一般是指人去完成任務,即服務客戶。線上場景的業務重點關注人和任務在時間上的最優匹配,如:接線、售后咨詢等場景;線上場景的業務需同時關注人和任務在時間和空間上的最優匹配,如:上門保潔、地勤保障等場景

3)調度目標

最優匹配是定性的概念,需要調度目標的方式定量表示。場景不同,調度目標也有很大不同,我們可以將調度目標歸納為以下5類:

  • (系統)成本型指標:周期內(年/月/周/日),最少用工人數、最少資源消耗等;
  • (系統)效率型指標:周期內(年/月/周/日),最大工時利用率、最短完工時間、最大服務任務數、最快響應時間、最快服務時間等;
  • (客戶)體驗型指標:周期內(年/月/周/日),最高客戶滿意度、最少投訴率等;
  • (客服)公平型指標:周期內(年/月/周/日),服務時長公平、休息天數公平、早晚班公平、服務任務數公平、服務任務難度公平、薪資水平公平等;
  • (系統)安全型指標:周期內(年/月/周/日),最高系統可用率、最低系統故障率等(這一部分屬于調度系統穩健性方面的內容,與調度算法關系不大);

小到幾乎所有的調度問題,大到整個社會的治理問題,都是緊緊圍繞 “如何平衡成本、效率、體驗、公平、安全等多目標之間的關系” 而展開的。

4)調度規則

調度需要在一定的業務規則下進行。與調度目標類似,盡管不同場景下的調度規則千差萬別,但我們也可以將其歸納為以下4類:

  • 數值類規則:周期內(年/月/周/日),在崗時長上下限、服務時長/任務數上下限、休息天數上下限、特種任務服務時長/次數上下限等
  • 時間類規則:用餐時間窗、間休時間窗、請假日等
  • 空間類規則:任務間地點銜接、人與任務地點匹配、人隨任務空間位移相關要求等
  • 技能類規則
    • 匹配類規則:人與任務之間的技能匹配,即具備某些技能的人才能服務特定的任務。
    • 搭配類規則:人與人之間的技能搭配,即服務某些特定任務需要不同技能的人相互配合。

03 技術路線

實際生產中的客戶調度問題通常屬于NP-Hard問題,其需求(甚至是供給)一般呈現強隨機性特征,其核心的矛盾是:問題的復雜性與調度的實時性之間的矛盾,其落地技術大致需要經歷以下迭代過程:

  • 業務初期:這個階段業務剛開始起步試點,業務規模小且復雜程度低,粗放式管理即可滿足當時的發展需求,最緊迫的任務是基于人工規則實現業務的自動化運轉,在此之上能有些許的OR技術應用即可。
  • 業務發展期:隨著業務的擴張,業務精細化管理的需求逐漸顯露出來,OR相關的技術和人員儲備也跟了上來。此時,便是傳統OR技術大顯身手的時候。但這個時期由于信息化、數字化基建設施尚未建設完成,導致數據積累不足,還無法采用數據驅動的方法解決問題。
  • 業務成熟期:隨著業務數據的不斷積累以及數據治理能力的不斷提升,業務被海量的數據精準量化,數據驅動的智能決策技術開始逐步應用,該階段會融合OR、ML、DL、RL等各類算法技術解決該問題。

因此,我們【客服調度】系列推文的內容也將圍繞上圖的技術路徑展開,力爭還原整個技術路徑的發展。


04 解決方案

1)方案設計

由于沒有真實業務場景,且人手有限,因此整個解決方案不會以還原線上系統為目標,而是緊緊圍繞我們最關注的調度算法展開。除了講解最核心的調度算法外,我們還將講解調度衍生問題、指標檢驗系統以及仿真系統等內容,方案圖如下:

下面分模塊介紹一下各模塊及其之間的關系:

  • 仿真系統模塊
    • 數據仿真模塊:主要負責生成歷史數據和實時數據,歷史數據用于調度算法迭代測試,實時數據用于模擬真實調度場景,為調度仿真提供輸入。
    • 調度仿真模塊:只進行數據仿真,不進行物理世界仿真(成本太高,也沒必要)。模擬真實調度場景,調度算法運行在仿真系統中,以便于對比不同版本算法間的效果。
  • 調度算法模塊
    • 靜態問題求解算法模塊:這是整個調度算法模塊中最重要的部分。盡管從整體上看,調度問題是實時的動態問題,但從局部上看(每一個調度決策的時間段內),調度問題是靜態的,也就是說求解動態的實時調度問題可以看成是一連串靜態調度問題的序列決策過程,上個時間段的調度決策執行結果是下個時間段調度決策的輸入,即整個調度決策過程可以看做是 馬爾可夫決策過程(Markov Decision Process, MDP) 。因此靜態問題求解算法效果好壞對線上實時調度的效果影響很大。該模塊的作用主要就是指導實時調度算法設計,使其不斷逼近最優調度。
    • 實時調度算法模塊:該算法是真正在線上發揮作用的算法,其算法形態與靜態問題求解算法相同。與靜態問題求解算法更偏重于求解質量不同,實時調度算法更關注求解質量與求解效率之間的平衡。
  • 指標檢驗模塊:該模塊屬于調度算法的外圍模塊,主要用于算法上線前業務指標和技術指標的檢驗。
  • 衍生問題模塊:該模塊包含的問題主要是調度算法依賴的上游問題,如:需求預測問題、資源規劃問題、人員排班問題等。

2)推進節奏

為了便于讀者理解,我們對各模塊的內容進行的適當的編排,按照由淺入深、由易到難的建設節奏有序推進,詳情如下:


05 小結

上篇(何為調度?):我們對調度的定義與作用、計劃與調度的關系、調度問題的拆解做了詳細介紹,使大家對【資源調度】問題有了一個整體的認識。

本篇(如何解決資源調度問題?):我們選擇【客服調度】場景作為【資源調度】問題的具象化代表,為大家詳細介紹了該問題的 業務背景、問題抽象、技術路徑和解決方案等內容。

下篇(問題領域建模):我們將對【客服調度】進行領域建模,為后續的數據仿真的算法建設奠定基礎。敬請期待~~~


06 加群方式

請加管理員微信進群:IndustryOR

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/44569.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/44569.shtml
英文地址,請注明出處:http://en.pswp.cn/web/44569.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

51單片機(STC8H8K64U/STC8051U34K64)_RA8889_8080參考代碼(v1.3)

硬件:STC8H8K64U/STC8051U34K64 RA8889開發板 硬件跳線變更為并口8080模式,PS00x,R143,R142不接,R141無關 8080接口電路連接圖: 實物連接圖: RA8889開發板外接MCU連接器之引腳定義&…

IMS架構中的注冊與會話流程:RTPEngine集成及消息路由詳解

目錄 S-CSCF 調用 RTPengine 整體路由 注意 IMS 注冊流程 和 IMS 會話流程 的區別 IMS注冊流程 IMS會話流程(如INVITE請求) 這種設計的原因 P-CSCF 調用 RTPengine S-CSCF 調用 RTPengine 整體路由 UA a生成SDP offer,發送SIP INVITE請求(包含SDP offer)&…

核密度估計KDE和概率密度函數PDF(深入淺出)

目錄 1. 和密度估計(KDE)核密度估計的基本原理核密度估計的公式核密度估計的應用Python中的KDE實現示例代碼 結果解釋解釋結果 總結 2. 概率密度函數(PDF)概率密度函數(PDF)是怎么工作的:用圖畫…

RDNet實戰:使用RDNet實現圖像分類任務(二)

文章目錄 訓練部分導入項目使用的庫設置隨機因子設置全局參數圖像預處理與增強讀取數據設置Loss設置模型設置優化器和學習率調整策略設置混合精度,DP多卡,EMA定義訓練和驗證函數訓練函數驗證函數調用訓練和驗證方法 運行以及結果查看測試完整的代碼 在上…

ubuntu顯卡驅動重啟后失效的解決辦法

寫在前方:ubuntu系統,顯卡重啟后驅動失效,顯卡不可用。網上沖浪之后得以有效解決,以下是解決方案 查看顯卡nvidia-smi;驅動失效消息: (base) rootnode:~# nvidia-smi NVIDIA-SMI has failed because it c…

AI大模型走進汽車車機,智駕將是未來

車機里的AI大模型在汽車行業中的應用越來越廣泛,主要體現在智能座艙和自動駕駛系統的深度融合上。通過將AI大模型應用于車機系統,可以實現更高智能化的人車交互體驗。AI大模型作為人工智能發展的核心引擎,正在成為汽車智能化發展的關鍵之一。…

基于顏色模型和邊緣檢測的火焰識別FPGA實現,包含testbench和matlab驗證程序

目錄 1.算法運行效果圖預覽 2.算法運行軟件版本 3.部分核心程序 4.算法理論概述 5.算法完整程序工程 1.算法運行效果圖預覽 (完整程序運行后無水印) 將FPGA仿真結果導入到matlab顯示結果: 測試樣本1 測試樣本2 測試樣本3 2.算法運行軟件版本 vivado2019.2 …

MySQL配置數據庫的連接命令

MySQL配置數據庫連接命令 在MySQL中,配置數據庫連接的命令涉及創建用戶、授予權限、配置主從復制等多個方面。以下是常用的命令及其用途: 創建用戶 創建一個新的數據庫用戶并為其設置密碼: CREATE USER usernamehost IDENTIFIED BY passwo…

mysql中的存儲過程

存儲過程的作用:有助于提高應用程序的性能。存儲過程可以不必發送多個冗長的SQL語句 廢話不說多,直接實操 ##實現num的相加 delimiter $$ CREATE PROCEDURE test1 () begindeclare num int default 0; -- 聲明變量,賦默認值為0select num20;end $$ delimiter ; …

計算機網絡高頻面試題

從輸入URL到展現頁面的全過程: 用戶在瀏覽器中輸入URL。瀏覽器解析URL,確定協議、主機名和路徑。瀏覽器查找本地DNS緩存,如果沒有找到,向DNS服務器發起查詢請求。DNS服務器解析主機名,返回IP地址。瀏覽器使用IP地址建立…

Kafka配置SASL認證

Kafka加密 Kafka認證方式 在本博客中我們使用SASL/PLAIN的方式來進行Kafka加密 環境準備 Kafka集群環境 請參考之前的Kafka集群搭建 kafka-broker1kafka-broker2 集群配置SASL/PLAIN認證 用戶校驗 修改server.properties 讓其支持Kafka的認證(每一個broker節點都需要修改這…

jail內部ubuntu apt升級失敗問題解決

在FreeBSD jail 里安裝啟動Ubuntu jammy系統,每次裝好執行jexec ubjammy sh進入Ubuntu系統后,執行apt update報錯。 這個問題困惑了好久,突然有一天仔細去看報錯信息,查看了(man 5 apt.conf) ,才搞定問題。簡單來說就是…

MySQL 數據庫(基礎)- 函數

MySQL 數據庫(基礎)- 函數 介紹 函數 是指一段可以被另一段程序調用的程序或代碼。也意味著,這一段程序或代碼在 MySQL 中已經給我們提供了,我們需要做的就是在合適的業務場景調用對應的函數,完成對應的業務需求即可…

python的簡單爬取

需要的第三方模塊 requests winr打開命令行輸入cmd 簡單爬取的基本格式(爬取百度logo為例) import requests url"http://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png" resprequests.get(url)#回應 #保存到本地 with open(&…

中國物流信息軟件系統(WMS等)行業概覽,2027年將達到235.1億元

導語 大家好,我是社長,老K。專注分享智能制造和智能倉儲物流等內容。 新書《智能物流系統構成與技術實踐》人俱樂部 完整版文件和更多學習資料,請球友到知識星球【智能倉儲物流技術研習社】自行下載 這份文件是《2023年中國物流信息軟件系統行…

【Python】下載與安裝

目錄 一、 下載安裝Python 1. 配置環境變量 2. 檢查是否配置成功 一、 下載安裝Python 在我上傳的資源可以免費下載!!! https://download.csdn.net/download/m0_67830223/89536665?spm1001.2014.3001.5501https://download.csdn.net/dow…

淺談后置處理器之JSON提取器

淺談后置處理器之JSON提取器 JMeter 的 JSON 提取器(JSON Extractor)是一個強大的后置處理器,它允許用戶從HTTP響應、數據庫查詢或其他類型的響應中提取JSON數據,并將這些數據存儲為變量,以便在后續的請求中重用。這對…

Mojo AI編程語言(三)數據結構:高效數據處理

目錄 1. Mojo AI編程語言簡介 2. 數據結構在數據處理中的重要性 3. Mojo AI中的基礎數據結構 3.1 數組 3.2 列表 3.3 字典 4. 高效數據結構的實現與優化 4.1 哈希表 4.2 樹結構 4.3 圖結構 5. 高效數據處理技術 5.1 并行處理 5.2 內存優化 5.3 數據壓縮 6. 實戰…

【Redis】哨兵(sentinel)

文章目錄 一、哨兵是什么?二、 哨兵sentinel文件參數三、 模仿主機redis宕機四、哨兵運行流程和選舉原理SDOWN主觀下線ODOWN客觀下線 五、 使用建議 以下是本篇文章正文內容 一、哨兵是什么? 哨兵巡查監控后臺master主機是否故障,如果故障了…

js項目生產環境中移除 console

1、terser-webpack-plugin webpack 構建的項目中安裝使用 安裝: npm install terser-webpack-plugin --save-dev 配置 在webpack.config.js文件中 new TerserPlugin({terserOptions: {output: {comments: false, // 去除注釋},warnings: false, // 去除黃色警告,co…