1.一种基于物联网技术的无人机配送网络优化模型,其特征在于建模过程如下:
1)基于无人机配送网络中,对无人机配送中的状态参数以及变量进行定义,参数符号定义如下:K={1,2,3,…,k}:无人机编号集合;
P={k+1,k+2,…,k+n}:无人机取货节点集合;
D={k+n+1,k+n+2,…,k+2n}:无人机送货节点集合;
K'={1,2,3,…,k}:无人机初始位置节点集合;
S={k+2n+1}:无人机最终汇总节点集合;
N={K',P,D,S}:所有节点集合;
A={(i,j)|i∈N\{k+2n+1},j∈N\K',i≠j}:节点连接弧;
G=(N,A):节点图;
n:订单数;
Z:网络中无人站节点集合;
qi:无人机网络节点i的载重需求;
di:无人机网络节点i的服务时间;
[ai,bi]:无人机网络节点i的服务时间窗;
Q:无人机的最大载重,kg;
W:无人机空载起飞重量,kg;
v:无人机飞行速度,m/s;
cij:无人机从节点i到节点j的飞行成本;
tij:无人机从节点i到节点j的飞行时间,s;
Δt:无人机自动换电所消耗的时间,s;
σ:无人机锂电池满电能量,kwh;
α:无人机锂电池能量密度,kw/kg;
:如果无人机k从节点i飞到节点j,那么 否则zi:如果无人机在节点i进行换电操作,那么zi=1,否则zi=0;
Bi:无人机离开节点i的时间;
Qi:无人机离开节点i的载重量;
:无人机到达节点i的累计耗电量;
:无人机离开节点i的累计耗电量;
2)确定无人机配送网络优化模型的目标函数:
建模中无人机完成所有订单的时间总和最小,使得无人机在配送中能够均匀服务每一个顾客并且使得总体服务时间最小化,目标函数表达式如下:上述目标函数为最小化所有配送节点完成的时间和,使得在求解时算法不会只专注于某一个订单,算法会在求解过程中均匀对待每一个需要配送的订单,使得总体配送时间最短;
3)模型需满足如下约束条件:
首先是每个节点的流入流出约束,对于无人机初始位置节点i∈k',这些节点只存在流出的弧,流向的节点是取货节点P或者终点S;
对于无人机最终汇总节点,这些节点只存在流入的弧;
对于取货节点和送货节点而言,必须满足流平衡约束,即流入的弧等于流出的弧,且取货对应的取货节点需在送货节点之前被同一架无人机访问,由此在无人机配送网络中,一个顾客的订单是由同一架无人机服务的,并且满足先去取货再去送货,模型建立过程中的约束公式如下:表达式(2)表示每一个顾客的服务都有且只有一架无人机进行服务;
表达式(3)表示一组取货节点和送货节点必须由同一架无人机进行服务;
表达式(4)表示每一架无人机都只从一个初始位置节点出发;
表达式(5)表示对于取货节点和送货节点必须满足流平衡约束,即流入的弧等于流出的弧;
表达式(6)表示每一架无人机最后回到最终汇总点;
模型建模的过程中,还包括无人机进行换电的约束过程,由于无人机到一个节点后需要考虑当前无人机剩余可用电量是否能满足无人机下一个路程的飞行,如果无人机下一个飞行路程所需要的电量大于当前可用电量,那么无人机就需要在该节点进行换电操作,此时就会出现节点电量突变的现象,对此换电约束的建模方式是:在每一个节点都由到达该节点的耗电量 和离开该节点的耗电量 表示,当无人机不需要在当前节点进行换电操作时, 当无人机需要在该节点进行换电操作时, 用 来对应当前节点之前的耗电量;具体模型建立过程中进行换电的约束公式如下:表达式(7)表示无人机网络节点上的时间逻辑约束公式;
表达式(8)表示无人机网络节点上的载重逻辑约束公式;
表达式(9)表示无人机必须先去取货才能去对应节点送货;
表达式(10)表示无人机到达网络节点的耗电量约束公式;
表达式(11)表示换电后无人机网络节点的耗电量约束公式;
表达式(12)表示换电前后无人机网络节点的耗电量约束公式;
表达式(13)表示无人机离开节点的耗电量和到达节点时的耗电量之间的关系;
表达式(14)表示换电后对下一无人机网络节点耗电量的约束公式;
表达式(15)表示对于所有无人机起始节点的耗电量约束公式;
表达式(16)表示无人机网络节点的时间窗约束公式;
表达式(17)表示无人机网络节点的载重约束公式;
表达式(18)表示对于无人机起始节点和终点的换电和载重约束公式;
表达式(19)‑(20)均表示变量的类型。
2.如权利要求1所述的一种基于物联网技术的无人机配送网络优化模型的求解算法,其特征在于采用遗传算法对模型进行求解,包括以下过程:
1)确定染色体特征:
染色体的编码方式选择为二进制编码,每个基因位由二进制数0和1表示,其中0表示该基因位不被访问,1表示该基因位被访问;确定好染色体的编码方式后需确定染色体的长度,算法中染色体的长度会根据订单数量n、无人机数量k和换电站数量Z来确定,染色体长度L的计算公式为:L=(K+2n+Z+1)*K,Z=2n;
2)初始化种群操作和选择:
设计种群规模的数值大小,在初始化种群时,根据订单数量自动生成染色体矩阵;在初始化过程中,先给每一架无人机按照订单顺序进行随机分配,在分配中必须满足取货节点和对应的送货节点的无人机是同一架,并默认所有无人机的取货节点和送货节点都不进行换电操作,所有换电节点的基因数值为0;每一架无人机最多只能分配给一个订单,当订单的数量小于无人机数量时,后面的无人机就不需要完成任何订单的配送,只需要从起始节点直接到终点即可;初始化完成后自动生成数量等于种群规模数的矩阵;
3)染色体基因位变异操作:
完成种群的初始化操作后,进行染色体的变异操作:染色体变异基因片段是取货节点和送货节点并且变异过程中必须满足一一对应的关系,也就是一个取货节点 由0变异为1后,对应的送货节点n+i,i∈P也需要从0变异为1;变异完成后需要将该无人机的路线进行耗电量计算,如果中途需要换电,那么对应的换电节点的数值也会由原来的0变成1,并且变异的基因位的所在的列只能存在一个不为0的位置,其余均变成0,最终生成一条合法的染色体;
4)染色体交叉操作:
染色体交叉操作是指两两条染色体的对应基因位置的信息进行交叉,交叉后就会得出新的染色体,如果新的染色体的适应度好于父代,那么新的染色体就会被保留;在此步骤中,染色体的交叉是在取货节点和送货节点片段内,交叉满足一一对应关系,交叉完后所在其余数值均为0,具体过程如下:设有父代染色体Parent1和Parent2,POX交叉法产生子代染色体Children1和Children2,POX交叉的具体流程如下:(1)随机产生无人机和订单节点及换电节点{0,1,2,3,…,k+4n+1}的两个非空集合Parent1和Parent2;
(2)在Parent1和Parent2中的{k+1,…,k+2n+1}片段进行交叉,交叉后将产生Children1和Children2;
(3)将Children1和Children2中交叉对应位置进行一一对应,满足配送节点和取货节点同步交叉,使得对应节点必须由同一架无人机服务;
(4)将Children1和Children2中染色体矩阵的各列其余基因位信息进行检查,满足每一列只有一个基因位等于1的子代被保留;
(5)检查子代Children染色体的适应度函数,如果大于父代Parent,那么对应的父代Parent就会被删除;如果子代Children的适应值小于父代Parent,那么从新生成新的子代Children;
5)适应度函数的确定:
在遗传算法的机制中,适应度指越高那么被选中的概率也就越大,所以需要最大化的适应度函数,并且又要满足模型中最小化的配送时间,基于最小化各个配送节点的完成时间和的适应度函数f(x)的运算公式如下:
6)算法终止准则的设置:
求解算法中的终止条件满足下列之一:算法的运行时间小于设定值T,或者算法的迭代次数达到最大求解迭代次数的设定值C,即运算结算。