本发明涉及旅行商问题求解,尤其涉及一种基于可控概率器件的旅行商问题求解方法及装置。
背景技术:
1、旅行商问题(travelling salesman problem,tsp)是一种经典的组合优化问题。即给定一系列城市和每对城市之间的距离,求解访问每一座城市一次并回到起始城市的最短回路。它是组合优化中的一个非确定性多项式(non deterministic polynominal,np)难问题,在运筹学和理论计算机科学中非常重要。
2、对于组合优化问题,经典计算机通常难以在短时间内有效率地求解。量子算法虽然可以在短时间内求解组合优化问题,但在硬件上有诸多限制,例如基于低温超导系统的量子退火设备至今难以维持特大规模的量子相干,而基于传统电路的量子启发式算法虽然可以应对大规模组合优化问题,但有硬件成本过高、设备内存要求过大等问题存在。同时组合优化问题在规模巨大的情况下,存在收敛困难、耗时长、精度低等问题。
3、目前用于解决旅行商问题的启发式算法主要依赖生成随机数进行搜索和优化过程,同时需要进行参数调优。这些方法存在一些问题,如:由于搜索过程基于随机性,存在陷入局部最优解的概率;选择适当的参数值需要一定的经验和实验,不同问题可能需要不同的参数设置;初始解的选择对算法性能有显著影响;由于算法的随机性,多次运行同一算法可能导致不同结果,使得结果的稳定性和可复现性变得困难,进而影响算法的准确性和稳定性。
4、由此可见,目前求解旅行商问题的过程存在计算过程复杂、硬件消耗较大且准确性偏低的问题。
技术实现思路
1、本发明提供一种基于可控概率器件的旅行商问题求解方法及装置,用以解决现有技术中旅行商问题求解的存在计算过程复杂、硬件消耗较大且准确性偏低的缺陷,实现简化旅行商问题的计算过程、降低硬件消耗以及提升准确性的目的。
2、本发明提供一种基于可控概率器件的旅行商问题求解方法,所述可控概率器件包括阵列排布的多个可控概率单元,多个可控概率单元中的每个可控概率单元在接收到电平信号的情况下根据电平信号的大小以对应的概率发生翻转;该方法包括如下步骤。
3、获取旅行商问题的多个城市序列和多个城市坐标;根据多个城市序列和多个城市坐标,获得qubo矩阵;根据qubo矩阵、以及开始求解旅行商问题后在本地存储的上一次n个设定周期内的可控概率器件中各可控概率单元的自旋状态,获得模拟电平数值;其中,自旋状态包括:发生翻转或未发生翻转;n为正整数;根据多个可控概率单元的位置随机选择目标数量的目标可控概率单元的位置;其中,目标数量的目标可控概率单元两两不相邻,目标数量为多个城市坐标的数量;根据目标可控概率单元的位置,将模拟电平数值对应的模拟电平信号输入目标可控概率单元;每隔设定周期缓存可控概率器件中所有可控概率单元的自旋状态,每缓存n个设定周期后将所缓存的可控概率器件中所有可控概率单元的自旋状态存储在本地;根据本地存储的本次n个设定周期以及上一次n个设定周期内可控概率器件中所有可控概率单元的自旋状态,判断可控概率器件中所有可控概率单元的自旋能量是否不再发生变化;在确定自旋能量发生变化的情况下,重新执行根据多个可控概率单元的位置随机选择目标数量的目标可控概率单元的位置及其后续步骤;在确定自旋能量不再发生变化的情况下,在本地存储的共m次n个设定周期中,根据第k次n个设定周期内可控概率器件中可控概率单元的自旋状态,获得自旋状态阵列;其中,第k次n个设定周期内可控概率器件中所有可控概率单元的自旋能量小于m次中其他次序的n个设定周期内可控概率器件中所有可控概率单元的自旋能量;m和k为正整数,m大于1,k小于或等于m;根据自旋状态阵列获得城市访问顺序。
4、根据本发明提供的一种基于可控概率器件的旅行商问题求解方法,所述根据本地存储的本次n个设定周期内以及上一次n个设定周期内可控概率器件中所有可控概率单元的自旋状态,判断可控概率器件中所有可控概率单元的自旋能量是否不再发生变化,包括:根据本次n个设定周期内各可控概率单元的自旋状态,计算第一自旋能量;根据上一次n个设定周期各可控概率单元的自旋状态,计算第二自旋能量;在第一自旋能量与第二自旋能量相等的情况下,确定自旋能量不再发生变化;以及,在第一自旋能量与第二自旋能量不相等的情况下,确定自旋能量发生变化。
5、根据本发明提供的一种基于可控概率器件的旅行商问题求解方法,n大于或等于16。
6、本发明还提供一种基于可控概率器件的旅行商问题求解装置,所述可控概率器件包括阵列排布的多个可控概率单元,多个可控概率单元中的每个可控概率单元在接收到电平信号的情况下根据电平信号的大小以对应的概率发生翻转;该装置包括如下模块:
7、获取模块,用于获取旅行商问题的多个城市序列和多个城市坐标;
8、qubo矩阵计算模块,用于根据多个城市序列和多个城市坐标,获得qubo矩阵;
9、电平数值计算模块,用于根据qubo矩阵、以及开始求解旅行商问题后在本地存储的上一次n个设定周期内的可控概率器件中各可控概率单元的自旋状态,获得模拟电平数值;其中,自旋状态包括:发生翻转或未发生翻转;n为正整数;
10、选择模块,用于根据多个可控概率单元的位置随机选择目标数量的目标可控概率单元的位置;其中,目标数量的目标可控概率单元两两不相邻,目标数量为多个城市坐标的数量;
11、电平输入模块,用于根据目标可控概率单元的位置,将模拟电平数值对应的模拟电平信号输入目标可控概率单元;
12、缓存模块,用于每隔设定周期缓存可控概率器件中所有可控概率单元的自旋状态,以及每缓存n个设定周期后将所缓存的可控概率器件中所有可控概率单元的自旋状态存储在本地;存储模块,用于存储来自缓存模块的n个设定周期内的可控概率器件中各可控概率单元的自旋状态;
13、判断模块,用于根据本地存储的本次n个设定周期内以及上一次n个设定周期内可控概率器件中所有可控概率单元的自旋状态,判断可控概率器件中所有可控概率单元的自旋能量是否不再发生变化;以及,
14、处理模块,用于在确定自旋能量发生变化的情况下,再次执行选择模块、电平输入模块、缓存模块及判断模块中的过程;
15、处理模块,还用于在确定自旋能量不再发生变化的情况下,在本地存储的共m次n个设定周期中,根据第k次n个设定周期内可控概率器件中可控概率单元的自旋状态,获得自旋状态阵列;其中,第k次n个设定周期内可控概率器件中所有可控概率单元的自旋能量小于m次中其他次序的n个设定周期内可控概率器件中所有可控概率单元的自旋能量;m和k为正整数,m大于1,k小于或等于m;
16、求解模块,用于根据自旋状态阵列获得城市访问顺序。
17、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如上述任一种基于可控概率器件的旅行商问题求解方法。
18、本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种基于可控概率器件的旅行商问题求解方法。
19、本发明还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述任一种基于可控概率器件的旅行商问题求解方法。
20、本发明提供的基于可控概率器件的旅行商问题求解方法及装置,通过获取旅行商问题的多个城市序列和多个城市坐标,根据多个城市序列和多个城市坐标,获得qubo矩阵,根据qubo矩阵以及上一次n个设定周期内的可控概率器件中各可控概率单元的自旋状态获得模拟电平数值,以及根据多个可控概率单元的位置随机选择目标数量的目标可控概率单元的位置,根据目标可控概率单元的位置,将模拟电平数值对应的模拟电平信号输入目标可控概率单元,在所有的可控概率单元的自旋能量不再变化的情况下,获得自旋状态阵列并根据自旋状态阵列获得城市访问顺序。实现简化旅行商问题的计算过程、降低硬件消耗以及提升准确性的目的。
1.一种基于可控概率器件的旅行商问题求解方法,其特征在于,所述可控概率器件包括阵列排布的多个可控概率单元,所述多个可控概率单元中的每个可控概率单元在接收到电平信号的情况下根据所述电平信号的大小以对应的概率发生翻转;所述方法包括:
2.根据权利要求1所述的基于可控概率器件的旅行商问题求解方法,其特征在于,所述根据本地存储的本次n个所述设定周期以及上一次n所述个设定周期内所述可控概率器件中所有所述可控概率单元的自旋状态,判断所述可控概率器件中所有所述可控概率单元的自旋能量是否不再发生变化,包括:
3.根据权利要求1所述的基于可控概率器件的旅行商问题求解方法,其特征在于,n大于或等于16。
4.一种基于可控概率器件的旅行商问题求解装置,其特征在于,所述可控概率器件包括阵列排布的多个可控概率单元,所述多个可控概率单元中的每个可控概率单元在接收到电平信号的情况下根据电平信号的大小以对应的概率发生翻转;所述装置包括:
5.一种旅行商问题求解装置,其特征在于,包括:可控概率器件、以及如权利要求4所述的基于可控概率器件的旅行商问题求解装置;
6.根据权利要求5所述的旅行商问题求解装置,其特征在于,所述可控概率单元包括:电阻、晶体管、磁隧道结、正压供电端、负压供电端、比较器以及参考电压端;
7.根据权利要求5所述的旅行商问题求解装置,其特征在于,所述阵列排布的多个可控概率单元中,每一行的所述可控概率单元的数量和每一列的所述可控概率单元的数量均为n,n为正整数且n大于或等于2。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任一项所述的基于可控概率器件的旅行商问题求解方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的基于可控概率器件的旅行商问题求解装置方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的基于可控概率器件的旅行商问题求解装置方法。