组合式双向拍卖在众包传感任务分配中的应用
问题描述
在相关工作中,一个应用由多个任务组成,这些任务可在拍卖模型中进行划分并分配到多个移动设备上进行并行计算。分布式计算的额外成本表示为 $e_i = a \times t_i + b$,其中 $a$ 和 $b$ 为常数。
设 $M$ 表示 D2D 云中的任务集合,$|M| = m$;$N$ 表示 D2D 云中的移动设备集合,$|N| = n$。接入点(AP)会形成一个分配矩阵 $X$,它是一个 $M \times N$ 的矩阵,记为 $x_{mn}$。矩阵 $X$ 中的每个元素可表示为:
[
x_{ij} =
\begin{cases}
1, & \text{如果设备 } j \text{ 卸载第 } i \text{ 个任务的一部分} \
0, & \text{否则}
\end{cases}
]
由于任务被卸载到每个设备,请求资源的总和不能超过设备的最大资源,即:
[
\sum_{k = 1}^{m} m_{kj} \leq w_j, \quad j \in {1, 2, \ldots, n}
]
同时,每个任务需要从多个设备获得足够的资源,因此:
[
\sum_{k = 1}^{n} x_{ik} \times s_k \geq h_i, \quad i \in {1, 2, \ldots, m}
]
设 $trade\ price_i$ 表示第 $i$ 个任务的最终支付,$trade\ price_j$ 表示第 $j$ 个设备的最终支付。则买家(任务)和卖家(设备)的效用分别为:
买家(第 $i$ 个任务)的效用:
[
utility_{b_i} =
\begin{cases}
(v_i - e_i) - trade\ price_i, & \text{如果第 } i \text{ 个任务赢得拍卖} \
0, & \text{如果第 } i \text{ 个任务输掉拍卖}
\end{cases}
]
卖家(第 $j$ 个设备)的效用:
[
utility_{s_j} =
\begin{cases}
trade\ price_j - \sum_{k = 1}^{m} x_{kj} \times c_j, & \text{如果第 } j \text{ 个设备赢得拍卖} \
0, & \text{如果第 } j \text{ 个设备输掉拍卖}
\end{cases}
]
给定任务和设备的出价,接入点(AP)首先需要确定分配矩阵 $X$,通过该矩阵可以得到买家和卖家的支付和费用。确定 $X$ 的问题可以表述为:
[
\max \left( \sum_{i = 1}^{m} utility_{b_i} + \sum_{j = 1}^{n} utility_{s_j} \right)
]
约束条件为:
[
\sum_{i = 1}^{m} x_{ij} \leq w_j, \quad \forall d_j \in D
]
[
\sum_{j = 1}^{n} x_{ij} \times s_j \geq h_i, \quad \forall t_i \in T
]
[
x_{ij} \in {0, 1}, \quad i \in {1, 2, \ldots, m} \text{ 且 } j \in {1, 2, \ldots, n}
]
该确定分配矩阵的问题是一个 NP 难问题,无法在多项式时间内获得最优解。此问题具有容量约束和截止日期限制,与传统双向拍卖模型不同,多种组合的使用增加了复杂性和难度。
经济属性
目标是设计一个组合式双向拍卖机制,该机制能够在多项式时间内实现三个经济属性:个体理性、预算平衡和真实性。
-
个体理性
:如果没有赢家的效用为负,则组合拍卖是个体理性的。
-
预算平衡
:拍卖商的收入非负,此属性用于激励拍卖商参与拍卖。
-
真实性
:每个买家和卖家提交的出价应该是真实的,没有人可以通过提交虚假出价获得更多效用。
-
计算效率
:所提出的机制或算法应能在多项式时间内求解。
贪心分配机制
为了解决上述 NP 难问题,提出了一种贪心算法。虽然 NP 难问题的最优解无法在多项式时间内得到,但可以得到近似最优解。使用出价密度来推动出价以实现高效分配,出价密度必须是单调函数,它应反映子任务和资源的价值,是关于 $v$ 或 $c$ 的函数。与以往不同,任务和设备的出价密度定义如下:
任务的出价密度:
[
bd_{task_i} = \sqrt{\sum_{j = 1}^{k} h_{i,j}^2 + v_i^2}, \quad i \in {1, 2, \ldots, m}
]
设备的出价密度:
[
bd_{device_j} = \sqrt{\sum_{j = 1}^{k} \frac{1}{s_{i,j}^2} + c_j^2}, \quad j \in {1, 2, \ldots, n}
]
因此有:
[
\sqrt{v_1^2 + \sum_{j = 1}^{k} h_{1,j}^2} \geq \sqrt{v_2^2 + \sum_{j = 1}^{k} h_{2,j}^2} \geq \cdots \geq \sqrt{v_m^2 + \sum_{j = 1}^{k} h_{m,j}^2}
]
[
\sqrt{c_1^2 + \sum_{j = 1}^{k} \frac{1}{s_{1,j}^2}} \geq \sqrt{c_2^2 + \sum_{j = 1}^{k} \frac{1}{s_{2,j}^2}} \geq \cdots \geq \sqrt{c_n^2 + \sum_{j = 1}^{k} \frac{1}{s_{n,j}^2}}
]
设计的分配模型和定价模型的复杂度均为 $O(mn)$,并证明了定价和分配模型满足多个经济属性。
分配模型
分配模型是一个确定将哪个任务分配给哪个设备的算法。在 D2D 云中,任务和移动设备的出价会提交给接入点(AP)。AP 根据出价密度的定义对出价进行升序和降序排序,然后通过贪心策略确定分配矩阵。
定价模型
定价模型用于确定买家的支付和卖家的收费。当分配矩阵固定时,每个买家赢得的资源也固定:
[
resource_i = \sum_{j = 1}^{n} x_{ij} \times s_j, \quad i \in {1, 2, \ldots, m}
]
资源的单位价格定义如下:
任务的单位价格:
[
perprice_{task_i} = \frac{v_i}{\sum_{j = 1}^{n} x_{ij} \times s_j}, \quad i \in {1, 2, \ldots, m}
]
设备的单位价格:
[
perprice_{device_j} = \frac{c_j}{\sum_{j = 1}^{n} s_j}, \quad j \in {1, 2, \ldots, n}
]
接下来,根据上述单位价格的平均值计算平均价格矩阵 $P$,然后使用相应算法计算对应的支付,拍卖商将支付和收费发送给买家和卖家。
算法分析和拍卖属性
对分配和定价模型的属性进行分析,包括计算效率、个体理性、预算平衡和真实性。
-
时间复杂度分析
:分配模型的时间复杂度为 $O(m \log m + n \log n + mn)$,定价模型的时间复杂度为 $O(mn)$。
-
个体理性
:每个买家和卖家的效用非负。
-
预算平衡
:拍卖商在拍卖中实现预算平衡。
-
真实性
:贪心分配和定价机制是真实的。
模拟设置和实验结果
为了评估算法的性能,采用了以下评估指标:
1. 应用程序和移动设备的个体理性。
2. 服务用户的百分比,即获胜参与者数量与总参与者数量的比率,以及任务和设备的(平均)效用。
为了进行比较,还实现了随机分配方法和最大匹配算法。假设在一个 D2D 云中存在六个传感应用和五个设备,每个任务可分为两种不同类型的子任务。任务数量和相应出价如下表所示:
| 任务 | 任务 1 ($h_1$) | 任务 2 ($h_2$) | $v$ | 出价密度 |
| — | — | — | — | — |
| T1 | 30 | 30 | 13 | 1.732051 |
| T2 | 30 | 20 | 12 | 1.563472 |
| T3 | 25 | 25 | 12 | 1.545603 |
| T4 | 30 | 20 | 11 | 1.511530 |
| T5 | 15 | 15 | 10 | 1.092906 |
| T6 | 10 | 15 | 9 | 0.961047 |
移动设备的未使用资源及相关信息如下表:
| 设备 | 资源 1 | 资源 2 | $W$ | $v$ | 出价密度 |
| — | — | — | — | — | — |
| D1 | 3 | 6 | 6 | 1 | 0.885689 |
| D2 | 5 | 5 | 6 | 1.2 | 0.958458 |
| D3 | 8 | 6 | 6 | 1.5 | 1.283333 |
| D4 | 10 | 8 | 5 | 2 | 1.670366 |
| D5 | 9 | 9 | 4 | 2 | 1.676305 |
使用 Python 3.6 实现 CDA 算法进行性能测试,运行程序 1000 次并计算每种条件下的平均值。
个体理性性能
第一个实验观察到任务(买家)提交的出价高于最终支付,移动设备(卖家)提交的出价低于最终支付。卖家和买家都获得了正效用,说明所提出的算法能够实现个体理性。
服务百分比和总效用
将模型与双向拍卖模型、随机分配方案和最大匹配方案在服务百分比、总效用和平均效用方面进行比较。结果表明,CDA 模型的服务百分比优于双向拍卖模型。在 CDA 模型中,六个买家和五个卖家赢得拍卖,而双向拍卖模型中只有五个买家和五个卖家赢得拍卖。随机分配模型运行两千次后,平均有 3.686 个任务和 3.074 个设备获得任务卸载。最大匹配方案也无法充分利用任务或设备。
总效用和平均效用呈比例关系,其比例为卖家和买家的总数。CDA 模型比 DA 模型和最大匹配机制分别有 26.3% 和 15.8% 的收益。在 CDA 模型中,一个任务可分为多个子任务并卸载到不同设备执行,一个设备也能同步卸载多个任务,这加速了拍卖过程并提高了设备效率。
综上所述,CDA 模型在 D2D 云中能够高效地分配任务。
组合式双向拍卖在众包传感任务分配中的应用
实验流程总结
为了更清晰地展示整个实验过程,下面用 mermaid 流程图来呈现:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px
A([开始]):::startend --> B(定义问题和参数):::process
B --> C(设计组合式双向拍卖机制):::process
C --> D(确定经济属性):::process
D --> E(提出贪心分配机制):::process
E --> F(设计分配模型和定价模型):::process
F --> G(分析算法属性):::process
G --> H(设置模拟实验):::process
H --> I(评估算法性能):::process
I --> J{是否满足预期?}:::decision
J -->|是| K([结束]):::startend
J -->|否| E
从这个流程图可以看出,整个实验是一个不断迭代优化的过程。如果算法性能不满足预期,就需要重新回到贪心分配机制这一步进行调整。
不同模型性能对比总结
为了更直观地对比不同模型的性能,下面以表格形式进行总结:
| 模型 | 服务百分比 | 总效用优势 | 设备利用率 |
| — | — | — | — |
| CDA 模型 | 六个买家和五个卖家赢得拍卖 | 比 DA 模型和最大匹配机制分别有 26.3% 和 15.8% 的收益 | 一个任务可分多个子任务卸载到不同设备,一个设备能同步卸载多个任务 |
| 双向拍卖模型 | 五个买家和五个卖家赢得拍卖 | - | - |
| 随机分配方案 | 平均 3.686 个任务和 3.074 个设备获得任务卸载 | - | 无法充分利用任务或设备 |
| 最大匹配方案 | - | - | 无法充分利用任务或设备 |
从这个表格可以清晰地看出,CDA 模型在服务百分比、总效用和设备利用率方面都具有明显优势。
贪心分配机制操作步骤总结
贪心分配机制是整个算法的核心,下面详细总结其操作步骤:
1.
定义出价密度
:
- 任务的出价密度:$bd_{task_i} = \sqrt{\sum_{j = 1}^{k} h_{i,j}^2 + v_i^2}, \quad i \in {1, 2, \ldots, m}$
- 设备的出价密度:$bd_{device_j} = \sqrt{\sum_{j = 1}^{k} \frac{1}{s_{i,j}^2} + c_j^2}, \quad j \in {1, 2, \ldots, n}$
2.
排序出价
:接入点(AP)根据出价密度对任务和设备的出价进行升序和降序排序。
3.
确定分配矩阵
:AP 通过贪心策略确定分配矩阵。
4.
计算资源和单位价格
:
- 每个买家赢得的资源:$resource_i = \sum_{j = 1}^{n} x_{ij} \times s_j, \quad i \in {1, 2, \ldots, m}$
- 任务的单位价格:$perprice_{task_i} = \frac{v_i}{\sum_{j = 1}^{n} x_{ij} \times s_j}, \quad i \in {1, 2, \ldots, m}$
- 设备的单位价格:$perprice_{device_j} = \frac{c_j}{\sum_{j = 1}^{n} s_j}, \quad j \in {1, 2, \ldots, n}$
5.
计算平均价格矩阵和支付
:根据单位价格的平均值计算平均价格矩阵 $P$,然后使用相应算法计算对应的支付,拍卖商将支付和收费发送给买家和卖家。
结论
在众包传感任务分配中,组合式双向拍卖机制通过贪心分配算法,在 D2D 云环境下展现出了良好的性能。该机制不仅在理论上满足个体理性、预算平衡和真实性等经济属性,而且在实际模拟实验中也证明了其高效性和优势。
通过与传统的双向拍卖模型、随机分配方案和最大匹配方案对比,CDA 模型在服务百分比、总效用和设备利用率方面都表现出色。它能够更合理地分配任务,提高设备的使用效率,加速拍卖过程,为众包传感任务分配提供了一种有效的解决方案。
未来,可以进一步研究如何在更复杂的场景下优化该机制,例如考虑更多的约束条件、动态变化的任务和设备资源等,以适应不断发展的众包传感应用需求。
超级会员免费看
910

被折叠的 条评论
为什么被折叠?



