成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

達(dá)爾文派單局:遺傳算法實(shí)現(xiàn)自動(dòng)派單

人工智能
在遺傳算法的選擇階段,系統(tǒng)會(huì)根據(jù)適應(yīng)度函數(shù)評(píng)估結(jié)果,采用特定的選擇策略從當(dāng)前種群中篩選出優(yōu)質(zhì)個(gè)體作為父代。這些被選中的父代個(gè)體將通過后續(xù)的交叉和變異操作產(chǎn)生新一代子代,從而推動(dòng)種群向更優(yōu)解進(jìn)化。

1 引言

2 業(yè)務(wù)背景

3 問題模型

4 算法選擇

5 遺傳算法介紹

5.1 遺傳算法原理

5.2 遺傳算法應(yīng)用

5.3 收斂過程演示

6 總結(jié)

       6.1 業(yè)務(wù)收益

       6.2 技術(shù)選型

1.引言

假設(shè)有4位上門工程師24個(gè)待派訂單,如何分配訂單,使得:

  • 工程師同一時(shí)間段只能履約一個(gè)訂單,即訂單時(shí)間窗口不能重復(fù)。
  • 工程師通行總通行時(shí)間最低。
  • 工程師訂單盡量均衡。

如下圖,紅色點(diǎn)為工程師,藍(lán)色點(diǎn)為用戶訂單,藍(lán)色點(diǎn)上方數(shù)字為上門時(shí)間,例:14-16表示該訂單履約時(shí)間為14點(diǎn)到16點(diǎn)。

圖片圖片

派單之后,每個(gè)工程師路線圖:

圖片圖片

每位工程師的訂單數(shù)量分配比較均衡,且訂單地理位置集中在工程師服務(wù)半徑內(nèi),使得通行成本得到控制。

2.業(yè)務(wù)背景

奢侈品回收業(yè)務(wù)的初期,上門訂單的派發(fā)完全依賴人工。開放的十多個(gè)上門城市都是人工規(guī)劃路線。

人工派單需要綜合考量多種因素,主要包括:

  • 準(zhǔn)時(shí)履約確保工程師能在每個(gè)訂單開始時(shí)間前到達(dá),并且訂單結(jié)束時(shí),有足夠時(shí)間到達(dá)下一單。
  • 路線最優(yōu)盡量保證工程師整體的通行成本是最低的。
  • 訂單均衡盡量保證工程師分配的訂單數(shù)量均衡。

基于上述因素,人工決策和主觀判斷需要反復(fù)嘗試、調(diào)整派單方案,不僅效率低下,而且容易陷入局部最優(yōu),難以實(shí)現(xiàn)全局最優(yōu)的派單方案。

另外,奢侈品上門回收派單方式有兩種:


當(dāng)日訂單

次日訂單

派單方式

實(shí)時(shí)派單

批量派單

訂單處理

實(shí)時(shí)匹配并派發(fā)合適工程師

當(dāng)晚規(guī)劃并批量分配次日訂單

實(shí)時(shí)派單通過規(guī)則的方式實(shí)現(xiàn),這里不再贅述。接下來,將重點(diǎn)對(duì)批量派單進(jìn)行詳細(xì)介紹。

3.問題模型

要通過算法求解最優(yōu)的派單方案,首先需要確定問題模型,自動(dòng)派單可以被認(rèn)為是VRPTW模型(帶時(shí)間窗口的車輛路徑問題,VRP變種問題)。

圖片圖片

VRPTW模型中,約束條件如下:

  • 時(shí)間窗約束工程師必須在履約時(shí)間范圍內(nèi)到達(dá)并完成服務(wù)。
  • 訂單約束一個(gè)工程師可以分配多個(gè)訂單,一個(gè)訂單只屬于一個(gè)工程師。
  • 起始約束工程師從起點(diǎn)出發(fā),最終回到起點(diǎn)。
  • 順序約束工程師按照訂單的開始時(shí)間順序履約。

基于以上約束條件,問題模型的目標(biāo)是:

  • 最低通行成本確保工程師的總體通行成本最小化。
  • 訂單均衡均衡分配每位工程師的訂單數(shù)量。

解決這類問題的核心是在解空間搜索不同的組合方式,通過嘗試不同組合并打分,可以確定最優(yōu)或近似最優(yōu)的派單方案。

4.算法選擇

確定問題模型之后,下一步選擇合適的算法或方案。

圖片圖片

我們分析一下不同算法模型的優(yōu)劣。

精確算法

  • 優(yōu)勢暴力搜索全量解空間,枚舉所有組合,能得到理論最優(yōu)解。
  • 劣勢計(jì)算復(fù)雜度指數(shù)級(jí)增長(NP-Hard問題),m個(gè)工程師n個(gè)訂單, 時(shí)間復(fù)雜度為O(mn)。
  • 使用場景用于驗(yàn)證其他算法的有效性。適合小規(guī)模訂單派發(fā)。

經(jīng)過實(shí)驗(yàn),在5名工程師和30個(gè)訂單的場景下,即使CPU資源被完全占用,耗時(shí)10分鐘,最終也未能搜索到最優(yōu)解。

近似算法

  • 優(yōu)勢計(jì)算速度快,實(shí)現(xiàn)簡單。
  • 劣勢每次只關(guān)注下一單的最優(yōu)分配,無法關(guān)注到整體最優(yōu),短視問題導(dǎo)致解的質(zhì)量差,易陷入局部最優(yōu)解。
  • 使用場景配合其他算法做初始解生成。一般和派單規(guī)則結(jié)合,適合小規(guī)模流式訂單派發(fā)。

目前,我們的實(shí)時(shí)派單功能就是結(jié)合近似算法派單規(guī)則的方式實(shí)現(xiàn)。

強(qiáng)化學(xué)習(xí)

  • 優(yōu)勢通過試錯(cuò)自主學(xué)習(xí),獎(jiǎng)勵(lì)函數(shù)反饋不斷優(yōu)化派單方案。適合高維復(fù)雜問題(多目標(biāo)、多動(dòng)態(tài)約束)。
  • 劣勢初期缺乏數(shù)據(jù)支撐,有冷啟動(dòng)問題。派單方案解釋性差,對(duì)業(yè)務(wù)來說是”黑盒“。依賴高算力,成本高。
  • 使用場景擁有海量的歷史派單數(shù)據(jù)可用于訓(xùn)練。適合訂單量級(jí)大、實(shí)時(shí)要求較高、能投入高成本的場景。

美團(tuán)、Uber等公司實(shí)時(shí)調(diào)度系統(tǒng)采用強(qiáng)化學(xué)習(xí)。

元啟發(fā)式算法

  • 優(yōu)勢既能避免組合爆炸的問題,又能夠全面兼顧全局搜索能力。適合高維復(fù)雜問題(多目標(biāo)、多動(dòng)態(tài)約束)。耗時(shí)低,秒級(jí)結(jié)果輸出。無需高算力。
  • 劣勢不一定能搜索到絕對(duì)最優(yōu)解,但能搜索到近似最優(yōu)解(最優(yōu)解的95%~100%)。算法參數(shù)調(diào)優(yōu)依賴實(shí)驗(yàn)驗(yàn)證。
  • 使用場景不需要追求絕對(duì)最優(yōu)解的組合優(yōu)化。無需額外成本。

在綜合考慮業(yè)務(wù)體量與人效成本的情況下,就批量派單方式而言,元啟發(fā)式算法是最佳的選擇。

5.遺傳算法介紹

遺傳算法是一種模擬自然選擇和遺傳機(jī)制的優(yōu)化算法。它通過模擬生物進(jìn)化過程中的選擇交叉變異等操作產(chǎn)生子代,逐步淘汰劣勢個(gè)體,保留優(yōu)勢個(gè)體。經(jīng)過多輪迭代和優(yōu)勝劣汰,最終存活的個(gè)體往往是較為優(yōu)秀的,這些個(gè)體即可視為問題的最優(yōu)解或近似最優(yōu)解。

5.1 遺傳算法原理

前置

了解染色體中交叉變異操作。

圖片圖片

  • 交叉交叉是指通過將兩個(gè)父代個(gè)體的部分基因進(jìn)行交換,生成新的子代個(gè)體的過程。
  • 變異變異是指通過隨機(jī)改變個(gè)體基因序列,為種群引入新的多樣性。

交叉和變異操作的核心在于,在保留父代優(yōu)良基因的基礎(chǔ)上,進(jìn)一步探索更優(yōu)的個(gè)體。

舉例

為了更好的理解思想,這里舉個(gè)淺顯的例子,假設(shè)我們要組建一支『閃電小隊(duì)』。

圖片圖片

這個(gè)簡單案例揭示了遺傳算法的基本原理:通過多代選擇適應(yīng)度較高的個(gè)體,使這些優(yōu)勢個(gè)體在遺傳過程中保留優(yōu)良基因,并通過交叉變異等操作產(chǎn)生更加優(yōu)秀的后代,從而逐步逼近問題的最優(yōu)解,最終收斂到最優(yōu)解。

5.2 遺傳算法應(yīng)用

遺傳算法思想平移到自動(dòng)派單,該如何設(shè)計(jì)呢?接下來會(huì)重點(diǎn)講解核心步驟:

圖片圖片

初始化種群

首先說明個(gè)體種群的概念和關(guān)系。

  • 個(gè)體一種派單方案被認(rèn)為是一個(gè)個(gè)體,例如,有工程師A和B,有訂單1、2、3、4,那么一個(gè)個(gè)體可以表示為:

工程師A:訂單1、訂單3工程師B:訂單2、訂單4

也可以是:

工程師A:訂單1工程師B:訂單2、訂單3、訂單4

  • 種群

若干個(gè)個(gè)體組成種群

  • 初始化

種群初始化是遺傳算法的首要步驟,核心是生成具有多樣性的初始解集合。

圖片圖片

可以根據(jù)問題規(guī)模設(shè)置種群大小,比如種群大小設(shè)置100,即初始化100個(gè)個(gè)體。

適應(yīng)度函數(shù)

適應(yīng)度函數(shù)是遺傳算法中評(píng)估個(gè)體優(yōu)劣的關(guān)鍵指標(biāo)。在自動(dòng)派單中,我們?cè)O(shè)計(jì)的適應(yīng)度函數(shù)主要優(yōu)化兩個(gè)目標(biāo):最短工程師通行時(shí)間最均衡訂單分配。表現(xiàn)越好的個(gè)體(派單方案),其適應(yīng)度評(píng)分越高。

歸一化之后的適應(yīng)度函數(shù):

圖片圖片

  • :當(dāng)前個(gè)體的工程師通行總時(shí)間
  • :種群中最大通行總時(shí)間
  • :訂單分配均衡性的標(biāo)準(zhǔn)差
  • :成功派單數(shù)
  • :訂單總數(shù)
  • , , 為優(yōu)化目標(biāo)權(quán)重系數(shù),通過業(yè)務(wù)訴求和實(shí)驗(yàn)確定具體值。

選擇

在遺傳算法的選擇階段,系統(tǒng)會(huì)根據(jù)適應(yīng)度函數(shù)評(píng)估結(jié)果,采用特定的選擇策略從當(dāng)前種群中篩選出優(yōu)質(zhì)個(gè)體作為父代。這些被選中的父代個(gè)體將通過后續(xù)的交叉和變異操作產(chǎn)生新一代子代,從而推動(dòng)種群向更優(yōu)解進(jìn)化。

列舉兩種最常用的選擇策略:

圖片圖片

建議兩種方式組合使用,只選擇精英保留可能會(huì)導(dǎo)致“近親繁殖”問題,種群多樣性快速下降,陷入局部最優(yōu);只選擇輪盤賭,可能會(huì)存在適應(yīng)度相近時(shí)選擇壓力不足。

交叉

交叉是遺傳算法中最關(guān)鍵的進(jìn)化操作,它通過模擬生物染色體片段交換的方式,將父代個(gè)體的優(yōu)良特征傳遞給子代。

常見交叉策略有:

圖片圖片

這里以多點(diǎn)交叉舉例,假設(shè)從種群中選擇了兩個(gè)個(gè)體作為父代。(A:1 2 3 代表工程師A分配了訂單[1,2,3])

  • 父代1A:1 2 3 4 5 6


  • 父代2A:6 4 5 2 1 3
  • 片段選擇從父代1中選定基因片段[3,4,5]。
  • 基因重組移除父代2中與選定片段沖突的基因[3,4,5]。將父代1的片段[3,4,5]插入父代2的末端。
  • 產(chǎn)生子代
  • 子代A:6 2 1 3 4 5

示例僅展示基因重組原理,實(shí)際還需要考慮訂單時(shí)間窗口沖突問題。

變異

如果交叉理解為在解空間中大踏步尋找最優(yōu)解,那么變異就是在解空間小踏步尋找最優(yōu)解。

上述通過交叉操作產(chǎn)生的子代,采用保守的變異概率(推薦5%±2%),在保持種群多樣性和保護(hù)優(yōu)良基因之間取得平衡。

變異操作最常用的是打亂重組的基因片段,例如,將[3,4,5]打亂得到[5,3,4],則經(jīng)過交叉變異后得到的子代是:

  • 子代A:6 2 1 5 3 4

優(yōu)勝劣汰

優(yōu)勝劣汰模擬生物進(jìn)化中的自然選擇過程,其核心原則是保留適應(yīng)度較高的個(gè)體,同時(shí)淘汰掉適應(yīng)度較低的個(gè)體,從而推動(dòng)種群整體向更優(yōu)解方向進(jìn)化。

圖片圖片

至此,種群完成一次進(jìn)化(迭代),整體解的質(zhì)量要高于上一代。

5.3 收斂過程演示

工程師嚴(yán)格按照預(yù)約開始時(shí)間履約,所以最終收斂的路線規(guī)劃結(jié)果不可避免地會(huì)出現(xiàn)折返情況。

圖片圖片

6.總結(jié)

6.1 業(yè)務(wù)收益

算法代替人工后,單日人力耗時(shí)從6人時(shí)/日降至10分鐘/日,效率提升約97.22%,釋放2人力。

6.2 技術(shù)選型

最終采用遺傳算法實(shí)現(xiàn)自動(dòng)派單系統(tǒng),其優(yōu)勢包括:

  • 魯棒性即使問題規(guī)模擴(kuò)大,計(jì)算量仍能保持合理增長,能規(guī)避組合爆炸風(fēng)險(xiǎn)。
  • 秒級(jí)響應(yīng)中、大規(guī)模批量派單場景下仍能實(shí)現(xiàn)秒級(jí)響應(yīng)。
  • 業(yè)務(wù)匹配精準(zhǔn)適配當(dāng)前業(yè)務(wù)體量與派單模式,以最優(yōu)成本實(shí)現(xiàn)效率最大化。

關(guān)于作者

蔣韜,轉(zhuǎn)轉(zhuǎn)回收技術(shù)部的后端工程師

責(zé)任編輯:武曉燕 來源: 轉(zhuǎn)轉(zhuǎn)技術(shù)
相關(guān)推薦

2017-11-16 15:25:54

Go語言算法代碼

2025-01-16 07:10:00

2025-05-20 09:00:04

SpringGeoHash派單

2024-07-03 08:00:00

2021-03-16 11:30:33

2020-06-11 08:32:50

Python遺傳算法代碼

2016-08-02 11:25:46

易維幫助臺(tái)

2021-03-10 15:49:20

人工智能遺傳算法

2017-09-22 15:03:08

Python遺傳算法GAFT框架

2009-08-14 09:41:03

C#遺傳算法

2024-09-12 10:06:21

2017-07-12 14:23:25

遺傳算法java自然選擇

2017-08-21 10:00:23

遺傳算法Python生物學(xué)

2017-08-03 10:05:01

Python遺傳算法GAFT

2019-03-31 08:00:02

樹莓派更新樹莓派 Linux

2020-10-26 13:42:28

Python算法垃圾

2019-03-24 20:30:18

樹莓派Linux

2017-10-17 14:25:56

機(jī)器學(xué)習(xí)算法優(yōu)化

2014-11-28 16:08:33

射頻識(shí)別RFID

2022-07-14 23:32:25

元宇宙虛擬分身Web3.0
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产美女高潮 | wwwxxx国产| 夜夜草 | 久久99精品国产 | 欧美在线色 | 亚洲精品久久久久中文字幕欢迎你 | www.天堂av.com | 91精品国产美女在线观看 | 亚洲精品影院 | 另类专区成人 | 97国产爽爽爽久久久 | 亚洲欧美久久 | 国产成人99久久亚洲综合精品 | 久久久久久国产精品三区 | 91久久精| 欧美精品一区久久 | 亚洲综合在线播放 | 综合自拍 | 中文字幕在线免费观看 | 午夜精品久久 | 久久精品一区 | 亚洲精品二区 | 欧美日韩久 | 免费观看成人性生生活片 | 欧美激情精品久久久久久变态 | 国产一区中文字幕 | 日韩中文字幕 | 黄频免费| 欧美亚洲综合久久 | 亚洲精精品 | 中文字幕在线精品 | 亚洲精品久久久一区二区三区 | 国产九九九| 久久成人精品 | 天天干天天爱天天爽 | 在线免费观看日本 | 亚洲欧美日韩精品久久亚洲区 | 欧美日韩一 | 宅女噜噜66国产精品观看免费 | 欧美日在线| 99热都是精品|