本說明書一個(gè)或多個(gè)實(shí)施例涉及計(jì)算機(jī)領(lǐng)域,尤其涉及針對非平穩(wěn)請求的在線分配方法和裝置。
背景技術(shù):
1、在線分配問題(online?allocation?problem)或在線匹配問題(online?matchingproblem),是當(dāng)前各類業(yè)務(wù)中常見的問題,也就是說,如何在有限資源下做出決策的問題。比如,在搜索、推薦、廣告等業(yè)務(wù)領(lǐng)域,在線決策一方面需要考慮點(diǎn)擊率、轉(zhuǎn)化率等偏好指標(biāo),另一方面可能會遇到資金、成本、流量方面的限制。如何在有限資源的前提下,對在線用戶的請求進(jìn)行實(shí)時(shí)決策,實(shí)現(xiàn)整體決策系統(tǒng)roi的最大化。決策時(shí)可能會涉及隱私數(shù)據(jù)的利用。
2、平穩(wěn)請求是指假設(shè)用戶請求的到達(dá)是獨(dú)立的,即在整個(gè)在線分配的過程中,每個(gè)時(shí)間點(diǎn)到達(dá)的請求數(shù)量、請求的收益和資源的消耗是同分布的。不滿足這種情況的情況被稱為非平穩(wěn)請求。
3、現(xiàn)有技術(shù)中,針對非平穩(wěn)請求的在線分配,常常無法保證在請求的各種可能的分布下都有比較好的效果,也就是說,分配的魯棒性不佳。
技術(shù)實(shí)現(xiàn)思路
1、本說明書一個(gè)或多個(gè)實(shí)施例描述了一種針對非平穩(wěn)請求的在線分配方法和裝置,能夠保證在請求的各種可能的分布下都有比較好的效果,也就是說,分配的魯棒性佳。
2、第一方面,提供了一種針對非平穩(wěn)請求的在線分配方法,方法包括:
3、獲取當(dāng)前在線分配的預(yù)設(shè)參數(shù);
4、將n個(gè)在線請求對應(yīng)的總時(shí)長分成t個(gè)時(shí)段,每個(gè)時(shí)段分割為探索階段和利用階段;
5、在探索階段,基于歷史數(shù)據(jù)計(jì)算的當(dāng)前時(shí)段的資源先驗(yàn)分配向量和所述預(yù)設(shè)參數(shù),對當(dāng)前時(shí)段的前n0個(gè)在線請求進(jìn)行決策,得到是否接受該請求的決策結(jié)果,同時(shí)收集該階段的n0個(gè)在線請求樣本;
6、在利用階段,基于收集到的n0個(gè)在線請求樣本,計(jì)算當(dāng)前時(shí)段的資源后驗(yàn)分配向量,同時(shí)根據(jù)當(dāng)前時(shí)段之前的各個(gè)時(shí)段的累積資源和估計(jì)的累積資源,對當(dāng)前時(shí)段的資源后驗(yàn)分配向量進(jìn)行更新,得到目標(biāo)資源分配向量,所述估計(jì)的累積資源基于當(dāng)前時(shí)段之前的各個(gè)時(shí)段的資源后驗(yàn)分配向量而確定,基于目標(biāo)資源分配向量和所述預(yù)設(shè)參數(shù)對剩余的在線請求進(jìn)行決策,得到是否接受該請求的決策結(jié)果。
7、在一種可能的實(shí)施方式中,所述預(yù)設(shè)參數(shù)至少包括資源上界向量;每個(gè)在線請求具有分別帶來的收益和資源消耗向量;所述決策結(jié)果對應(yīng)的在線分配目標(biāo)為,最大化在線決策后接受的各個(gè)請求的總收益,同時(shí)使得接受的各個(gè)請求的總的資源消耗向量滿足資源上界向量的約束。
8、進(jìn)一步地,所述基于歷史數(shù)據(jù)計(jì)算的當(dāng)前時(shí)段的資源先驗(yàn)分配向量和所述預(yù)設(shè)參數(shù),對當(dāng)前時(shí)段的前n0個(gè)在線請求進(jìn)行決策,包括:
9、根據(jù)資源上界向量、當(dāng)前的第j個(gè)在線請求對應(yīng)的對偶變量、收益、資源消耗向量和第j個(gè)請求時(shí)的累積資源量,對第j個(gè)在線請求進(jìn)行決策,得到是否接受該請求的決策結(jié)果;
10、根據(jù)該決策結(jié)果,更新第j+1個(gè)請求時(shí)的累積資源量;
11、基于歷史數(shù)據(jù)計(jì)算的當(dāng)前時(shí)段的資源先驗(yàn)分配向量和該決策結(jié)果,對第j個(gè)在線請求對應(yīng)的對偶變量進(jìn)行更新,得到第j+1個(gè)在線請求對應(yīng)的對偶變量。
12、在一種可能的實(shí)施方式中,所述基于收集到的n0個(gè)在線請求樣本,計(jì)算當(dāng)前時(shí)段的資源后驗(yàn)分配向量,包括:
13、確定收集到的n0個(gè)在線請求樣本的在線分布;
14、基于當(dāng)前時(shí)段的歷史分布和在線分布進(jìn)行加權(quán)求和,得到當(dāng)前時(shí)段的更新分布;
15、根據(jù)當(dāng)前時(shí)段的更新分布、當(dāng)前時(shí)段之前的各個(gè)時(shí)段的更新分布和當(dāng)前時(shí)段之后的各個(gè)時(shí)段的歷史分布,得到每個(gè)時(shí)段的資源期望分配向量;
16、將當(dāng)前時(shí)段的資源期望分配向量作為當(dāng)前時(shí)段的資源后驗(yàn)分配向量。
17、在一種可能的實(shí)施方式中,所述根據(jù)當(dāng)前時(shí)段之前的各個(gè)時(shí)段的累積資源和估計(jì)的累積資源,對當(dāng)前時(shí)段的資源后驗(yàn)分配向量進(jìn)行更新,包括:
18、根據(jù)估計(jì)的累積資源分配向量與實(shí)際的累積資源分配向量二者的大小關(guān)系,確定輸出分配策略;
19、根據(jù)當(dāng)前時(shí)段的資源后驗(yàn)分配向量、輸出分配策略和預(yù)先設(shè)定的模糊集半徑,確定目標(biāo)資源分配向量。
20、在一種可能的實(shí)施方式中,所述根據(jù)當(dāng)前時(shí)段之前的各個(gè)時(shí)段的累積資源和估計(jì)的累積資源,對當(dāng)前時(shí)段的資源后驗(yàn)分配向量進(jìn)行更新,包括:
21、根據(jù)估計(jì)的累積資源分配向量與實(shí)際的累積資源分配向量二者的大小關(guān)系,確定輸出分配策略和模糊集半徑的乘積;
22、根據(jù)當(dāng)前時(shí)段的資源后驗(yàn)分配向量、該乘積,確定目標(biāo)資源分配向量。
23、進(jìn)一步地,所述基于目標(biāo)資源分配向量和所述預(yù)設(shè)參數(shù)對剩余的在線請求進(jìn)行決策,包括:
24、根據(jù)資源上界向量、當(dāng)前的第j個(gè)在線請求對應(yīng)的對偶變量、收益、資源消耗向量和第j個(gè)請求時(shí)的累積資源量,對第j個(gè)在線請求進(jìn)行決策,得到是否接受該請求的決策結(jié)果;
25、根據(jù)該決策結(jié)果,更新第j+1個(gè)請求時(shí)的累積資源量;
26、基于當(dāng)前時(shí)段的實(shí)際資源分配向量和該決策結(jié)果,對第j個(gè)在線請求對應(yīng)的對偶變量進(jìn)行更新,得到第j+1個(gè)在線請求對應(yīng)的對偶變量。
27、第二方面,提供了一種針對非平穩(wěn)請求的在線分配裝置,裝置包括:
28、獲取單元,用于獲取當(dāng)前在線分配的預(yù)設(shè)參數(shù);
29、劃分單元,用于將n個(gè)在線請求對應(yīng)的總時(shí)長分成t個(gè)時(shí)段,每個(gè)時(shí)段分割為探索階段和利用階段;
30、第一處理單元,用于在探索階段,基于歷史數(shù)據(jù)計(jì)算的當(dāng)前時(shí)段的資源先驗(yàn)分配向量和所述預(yù)設(shè)參數(shù),對當(dāng)前時(shí)段的前n0個(gè)在線請求進(jìn)行決策,得到是否接受該請求的決策結(jié)果,同時(shí)收集該階段的n0個(gè)在線請求樣本;
31、第二處理單元,用于在利用階段,基于所述第一處理單元收集到的n0個(gè)在線請求樣本,計(jì)算當(dāng)前時(shí)段的資源后驗(yàn)分配向量,同時(shí)根據(jù)當(dāng)前時(shí)段之前的各個(gè)時(shí)段的累積資源和估計(jì)的累積資源,對當(dāng)前時(shí)段的資源后驗(yàn)分配向量進(jìn)行更新,得到目標(biāo)資源分配向量,所述估計(jì)的累積資源基于當(dāng)前時(shí)段之前的各個(gè)時(shí)段的資源后驗(yàn)分配向量而確定,基于目標(biāo)資源分配向量和所述預(yù)設(shè)參數(shù)對剩余的在線請求進(jìn)行決策,得到是否接受該請求的決策結(jié)果。
32、第三方面,提供了一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,當(dāng)所述計(jì)算機(jī)程序在計(jì)算機(jī)中執(zhí)行時(shí),令計(jì)算機(jī)執(zhí)行第一方面的方法。
33、第四方面,提供了一種計(jì)算設(shè)備,包括存儲器和處理器,所述存儲器中存儲有可執(zhí)行代碼,所述處理器執(zhí)行所述可執(zhí)行代碼時(shí),實(shí)現(xiàn)第一方面的方法。
34、通過本說明書實(shí)施例提供的方法和裝置,首先獲取當(dāng)前在線分配的預(yù)設(shè)參數(shù);然后將n個(gè)在線請求對應(yīng)的總時(shí)長分成t個(gè)時(shí)段,每個(gè)時(shí)段分割為探索階段和利用階段;接著在探索階段,基于歷史數(shù)據(jù)計(jì)算的當(dāng)前時(shí)段的資源先驗(yàn)分配向量和所述預(yù)設(shè)參數(shù),對當(dāng)前時(shí)段的前n0個(gè)在線請求進(jìn)行決策,得到是否接受該請求的決策結(jié)果,同時(shí)收集該階段的n0個(gè)在線請求樣本;最后在利用階段,基于收集到的n0個(gè)在線請求樣本,計(jì)算當(dāng)前時(shí)段的資源后驗(yàn)分配向量,同時(shí)根據(jù)當(dāng)前時(shí)段之前的各個(gè)時(shí)段的累積資源和估計(jì)的累積資源,對當(dāng)前時(shí)段的資源后驗(yàn)分配向量進(jìn)行更新,得到目標(biāo)資源分配向量,所述估計(jì)的累積資源基于當(dāng)前時(shí)段之前的各個(gè)時(shí)段的資源后驗(yàn)分配向量而確定,基于目標(biāo)資源分配向量和所述預(yù)設(shè)參數(shù)對剩余的在線請求進(jìn)行決策,得到是否接受該請求的決策結(jié)果。由上可見,本說明書實(shí)施例,結(jié)合了歷史數(shù)據(jù)和在線數(shù)據(jù)的信息,進(jìn)行在線分配決策,其中,在非平穩(wěn)的環(huán)境下,歷史數(shù)據(jù)一定程度上可以指導(dǎo)未來決策,在線數(shù)據(jù)可以更正基于先驗(yàn)的決策偏差,從而能夠保證在請求的各種可能的分布下都有比較好的效果,也就是說,分配的魯棒性佳。