[发明专利]一种基于生成对抗网络的优化模型方法及应用有效
申请号: | 201910250457.0 | 申请日: | 2019-03-29 |
公开(公告)号: | CN110097185B | 公开(公告)日: | 2021-03-23 |
发明(设计)人: | 谭营;史博 | 申请(专利权)人: | 北京大学 |
主分类号: | G06N3/08 | 分类号: | G06N3/08;G06Q10/08 |
代理公司: | 北京万象新悦知识产权代理有限公司 11360 | 代理人: | 黄凤茹 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 生成 对抗 网络 优化 模型 方法 应用 | ||
1.一种基于生成对抗网络的物流分配优化模型方法,称为GAN-O,其特征是,包括如下步骤:
A1)将物流分配应用表示为函数优化问题;
优化目标是物流速度或效率最优,使得总物流速度达到最快或总配送时间最少;条件是利用现有的基础设施;具体地:
现有一个配送站共有M个配送员负责配送货物,每个配送员的配送速度一样,该配送站需要配送的地址有N处,配送的地址两两之间的距离为矩阵T,其中T(i,j)表示配送员从地址i去到地址j所需花费的时间;将物流分配问题表示为一个离散的函数优化问题具体包括如下操作:
S1:设计解的编码方式,形成解的编码,记作xi∈||N||,i=1,2,...,M;具体包括:
S1a)将每个配送员分配到的地址依次排列,形成一串数字的编码,记作xi∈||N||,i=1,2,...,M;xi即表示第i个配送员分配到的地址的编码;M为配送员的总个数;xi的维度最大为||N||;若某个配送员的配送地址不足N个,则在不足的位置补0,表示不需配送;
S1b)连接M个配送员的编码,形成完整的解:x=[x1,x2,...,xM];
S2:确定解空间即定义域,包括:
S2a)解的维度等于每个配送员的送货编码之和,即||x||=N*M;
S2b)xi的取值是0到N之间的一个数字,其中0表示不用配送,1到N的数字表示配送到该数字表示的地址;同时该数字在这个解的所有维上只能出现一次;用公式表示解的维度为:
xi∈Z+,0≤xi≤N,for i=1,2,…,N*M,
其中,Z+表示正整数集合,N为地址的个数,M为配送员的个数;
S3:确定目标函数即测试函数:
M个配送员同时进行配货,总的配送时间为最后配送完毕的配送员所花费的时间,即目标函数表示为:
其中:
式中,k,l分别为xi*N+j,xi*N+j+1;
A2)根据函数优化问题的测试函数和测试维度,基于生成对抗网络建立函数优化模型,包括基于生成对抗网络构建生成器G和判别器D;
建立判别器的网络结构和损失函数,判别器D的输入为两个向量,向量大小与测试维度相同;输出为标量,表示后一个向量是否会优于前一个向量,取值为1或0;判别器D接收两个输入的解,记作x1和x2,输出记作D(x1,x2),所述输出表示了x2的适应度值与x1的适应度值之间的比较;具体包括如下操作:
2a)对于输入的两个解x1和x2,使用一个四层的全连接网络Df提取特征;Df的输入层维度为解的维度,即测试维度;第二层的维度为64维,第三层的维度为64维,第四层的维度为10维;每一层的激活函数均为线性整流函数Relu;即通过Df接收x1和x2,提取特征得到两个10维的向量,分别作为x1和x2对应的特征;
2b)对两个解提取到的特征向量做减法;
2c)对相减后的向量再通过一个3层的全连接网络Dc;Dc的输入层维度为10,第二层的维度为10,第三层的维度为1;其中第二层的激活函数为线性整流函数Relu,输出层的激活函数为Sigmoid激活函数;即通过Dc最终输出一个0到1之间的标量;
2d)判别器的输出表示为:
D(x1,x2)=Dc(Df(x2)-Df(x1));
建立生成器的网络结构和损失函数,生成器的输入为一个向量,向量大小为测试维度加噪声维度;输出为一个表示引导方向的向量,向量大小与测试维度相同;生成器G接受的输入包括:当前解xcur、噪声z和步长L;输出记作G(xcur,z,L),称为移动向量;具体包括如下操作:
3a)将输入的当前解xcur和噪声z连接起来得到一个连接向量,该向量的维度等于测试维度和噪声向量维度之和;
3b)将连接向量经过一个三层的全连接网络Gd,输出一个和解向量相同维度的方向向量,用于指导后续的移动方向;
Gd的输入层维度为解向量维度和噪声向量维度之和,第二层的维度为64,输出层的维度为解向量维度;第二层的激活函数为线性整流函数Relu,输出层的激活函数为双曲正切函数Tanh;
3c)将3b)得到的方向向量与输入的步长点乘,得到移动向量,作为整个生成器的最终输出;移动向量表示具体移动的方向和距离,用于引导当前解如何移动以获得更优的适应度值;
3d)生成器的输出表示为:
G(xcur,z,L)=L·Gd([xcurT,zT]T);
训练函数优化模型,包括训练判别器和训练生成器,得到训练好的函数优化模型;
训练函数优化模型和利用训练好的模型进行迭代计算,具体执行如下操作:
5)生成训练判别器的数据集TD:
5a)分别采用生成器生成方法GE、局部随机搜索方法LS和全局随机搜索方法GS,从当前解集合Scur选取的当前解xcur,生成新的解xgen,并计算xgen的适应度值;
把生成的新解xgen和生成它的当前解xcur相配对,并根据适应度值的大小打上标签,当xgen的适应度值大于xcur的适应度值时打上标签1,否则打上标签0,作为后续训练判别器的数据;
5b)合并三种方法生成的解,得到新生成解,并计算其适应度值;
5c)将5b)得到的新生成解与生成它的当前解相配对组成数据对,比较两者的适应度值:若新生成解的适应度值小于对应当前解的适应度值,则将该数据对标记为1,否则标记为0;
5d)生成训练数据TD表示为:
TD={(xcur,xgen,1if F(xgen)≤F(xcur)else 0)} 式4
其中,xgen~GS(xgs),GE(xcur),LS(xcur),xcur∈Scur;
6)用训练数据集TD训练判别器:
6a)依次批量从训练集TD里拿出m条训练数据计算损失函数,表示为式5:
其中,D表示判别器,表示输入为和时判别器的输出;
6b)根据损失函数计算梯度gD,表示为式6:
其中,θD表示判别器的网络参数;
6c)使用批量的Adam算法更新判别器的网络参数:
其中:μ为学习步长;δ为用于数值稳定的小常数;为修正一阶矩的偏差;为修正二阶矩的偏差;
7)训练生成器,执行如下操作:
7a)将判别器的网络参数设置为不可训练,并将其与生成器相连接,得到一个整体的网络C,C的输入为生成器的输入,输出为判别器的输出,具体的连接方法如下:
步骤1:向生成器输入当前解、噪声和步长,并运行生成器;
步骤2:将生成器生成的移动向量与当前解相加得到生成解;
步骤3:将当前解与步骤2得到的生成解作为判别器的输入,将判别器的输出作为整个网络C的输出,表示为式8:
C(xcur,z,L)=D(xcur,xcur+G(xcur,z,L)) 式8
7b)从Scur批量采样当前解、随机高斯采样噪声,和步长一起作为C的输入,运行C,得到输出C(xcur,z,L);
7c)计算网络C的损失函数,表示为式9:
其中,m为每次采样的数量;
7d)C的网络参数即为生成器的网络参数;根据损失函数计算梯度gG,表示为式10:
其中,θG表示生成器的网络参数;
7e)更新生成器G的网络参数,表示为式11:
8)选取并保留当前解,执行如下步骤:
8a)合并当前解集合和生成解集合,形成候选解集合,记作Scandidate;
8b)为候选解集合中的每个解,根据适应度值在所有候选解中的排序计算其留存概率,表示为式12:
其中,Pretain(x)为解x的留存概率;rF(x)表示解x的适应度值在所有候选解中的从小到大的顺序;||Scandidate||表示候选解集合的大小;α是控制概率分布的参数;
8c)根据每个解的留存概率,选取并保留被选解,更新Scur;
9)缩减步长L,具体执行如下步骤:
9a)比较当前Scur里的最优解x*的适应度值与Lbest_F之间相差是否小于一个足够小的常数,即:
其中,ε为一个足够小的常数;
若是,则进入9b);否则,将步长控制器中的计数器Lcnt置为0,转入执行9c);
9b)将Lcnt自增1,并检测Lcnt是否大于一个设定的阈值T;若是,则给步长L乘以一个衰减系数γ;
9c)将Lbest_F更新为当前Scur里的最优解x*的适应度值F(x*);
10)判定当前迭代次数是否达到最大迭代次数,若是,则输出当前最优解;否则,返回步骤5);
通过上述步骤,针对物流分配应用问题实现基于生成对抗网络的优化求解。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910250457.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:信息处理方法以及信息处理系统
- 下一篇:一种神经网络异构量化训练方法