1.一种在单个边缘计算服务器场景下基于线性搜索的移动区块链优化算力分配方法,其特征在于,所述方法包括以下步骤:(1)在单个边缘计算服务器的覆盖范围下总共有n个移动终端,移动终端用集合I={1,
2,...,n}表示,移动用户从边缘计算服务器获得算力,其中边缘计算服务器提供的算力上限表示为C1,tot;
在保证不超过边缘计算服务器提供的算力上限的条件下,最大化系统总收益的优化问题描述为如下所示的优化TRO问题:TRO:
Variables:
下面将问题中的各个变量做一个说明,如下:移动终端自身的算力;
边缘服务器提供的算力;
R:系统提供的固定奖励;
r:可变奖励系数;
ti:区块的大小;
λ:泊松分布的中间到达率;
p1:边缘服务器提供单位算力的价格;
通过引入一个辅助变量求解优化TRO问题;
(2)优化TRO问题表示如下:TRO:
s.t. constraint(1-1)Variables:
优化TRO问题是在给定边缘计算服务器算力上限C1,tot的情况下找到最优的算力分配和最大的系统收益,定义一个变量μ,如下:在给定μ的前提下,优化TRO问题等价为TRO-sub问题,如下:TRO-sub:
s.t. constraint(2-1)Variable:
表示TRO-sub问题中的最优值,取决于给定的μ的值,在TRO-sub中Ai,Bi均为给定的常数,表示如下:求解TRO-sub问题的思路是:在给定μ的情况下,TRO-sub是一个严格的凸优化问题,因此可以使用KKT条件来计算最优的解决方案,分为以下三种情况;
i)如果对于任意的i∈I,Ai<0且 那么不存在满足条件的可行解;
ii)如果对于任意的i∈I,Ai<0且 那么我们定义Ci=-Ai,TRO-sub问题进一步转化为TRO-sub-I:TRO-sub-I:
Variables:
TRO-sub-I问题可以用拉格朗日函数求解,拉格朗日函数表达式如下:基于KKT条件,可以得到最优解为:iii)如果存在i∈I,Ai<0,TRO-sub问题可以分为以下两种情况:(a)对于满足Ai<0的那一部分i,令(b)对于满足Ai>0的那一部分i,可以组成一个集合:Isub={i∈I|Ai>0} (2-9)TRO-sub问题进一步转化为TRO-sub-II:TRO-sub-II:
Variables:
同理TRO-sub-II问题可以用拉格朗日函数求解,拉格朗日函数表达式如下:基于KKT条件,可以得到最优解为:(3)算法TRO-Algorithm用来计算最优 μ*, 过程如下:步骤3.1:输入初始数据边缘服务器允许提供的算力上界C1,tot和步长Δ=10-7;
步骤3.2:设置当前最优值CBV=0,当前最优解步骤3.3:μ从Δ到服务器允许提供的算力上界C1,tot,以Δ为步长进行枚举;
步骤3.3:判断对于任意的i∈I,Ai<0是否成立,若成立,则执行步骤3.4,否则,执行步骤3.8;
步骤3.4:判断 是否成立,若成立,执行步骤3.5,否则,执行步骤3.6;
步骤3.5:输出问题不可行;
步骤3.6:使用对分法找到满足 的λ*;
步骤3.7:设定
步骤3.8:设定Isub={i∈I|Ai>0};
步骤3.9:判断i∈Isub是否成立,若成立,执行步骤3.10,否则,执行步骤3.11;
步骤3.10:设定
*
步骤3.11:使用对分法找到满足 的λ;
步骤3.12:设定
步骤3.13:
步骤3.14:判断 是否成立,若成立执行步骤3.15;
步骤3.15:设定
步骤3.16:结束循环;
步骤3.17:输出
最后,算法TRO-Algorithm输出的 代表P1问题所求的系统最大收益。