CN115759306B - 模拟游走方法、装置、电子设备及存储介质 - Google Patents
模拟游走方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115759306B CN115759306B CN202211425970.7A CN202211425970A CN115759306B CN 115759306 B CN115759306 B CN 115759306B CN 202211425970 A CN202211425970 A CN 202211425970A CN 115759306 B CN115759306 B CN 115759306B
- Authority
- CN
- China
- Prior art keywords
- honeycomb
- time
- idle
- time slice
- driver
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000007704 transition Effects 0.000 claims abstract description 187
- 239000011159 matrix material Substances 0.000 claims abstract description 91
- 238000004088 simulation Methods 0.000 claims abstract description 47
- 238000005295 random walk Methods 0.000 claims abstract description 35
- 241000264877 Hippospongia communis Species 0.000 claims description 119
- 238000012546 transfer Methods 0.000 claims description 40
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供一种模拟游走方法、装置、电子设备及存储介质,通过预先建立状态转移矩阵,在进行模拟游走时,获取模拟系统的当前时间和空闲司机的当前位置;确定所述当前时间对应的时间片和所述当前位置对应的蜂巢;基于所述当前时间对应的时间片和所述当前位置对应的蜂巢,从预先建立的空闲司机的状态转移矩阵中确定所述空闲司机的第一转移概率,基于所述第一转移概率模拟所述空闲司机进行随机游走,能够提升运营模拟系统的准确性。
Description
技术领域
本申请涉及网约车运营模拟领域,特别地涉及一种模拟游走方法、装置、电子设备及存储介质。
背景技术
网约车运营模拟系统是对网约车运营提供决策的重要支撑工具,其可以模拟城市车辆的运营情况,辅助计算司机与流水的关系,预估运营活动的投入产出比,从而帮助公司做出运营决策。为了使得运营模拟系统中的派单尽可能逼近真实世界的派单,需要关注两个核心环节,一是司机和乘客的匹配策略要尽可能与真实系统相同,二是大量空闲司机的随机行走轨迹要尽可能贴近现实。在现实世界中,空闲司机会的活动轨迹有以下特点:1)网约车司机在空闲状态下需要通过不断移动或者停留在固定位置等待平台订单分配。2)在平台为司机派发网约车订单过程中空闲司机当前位置与订单接驾位置间的距离往往是派单的重要依据,空闲司机通过不断移动位置能大幅提高与可能产生的订单匹配概率。3)在现实环境中空闲司机的位置移动具有往往具有高度的不确定性。如何准确的模拟出空闲司机的行动轨迹,是设计运营模拟系统的重点,目前没有特别成熟的模拟方案。为了贴近真实世界的空闲司机分布情况,简单的方案是定期将空闲司机按照真实世界的地理分布打乱重排。即,将一天时间划分为多个时间片,将城市划分为多个六边形格网(后面简称蜂巢),统计每个时间片、每个蜂巢内的空闲司机比例,在运营模拟系统模拟派单的过程中定期地将空闲司机按照这个比例重新进行地理位置分配,从而达到模拟系统与真实世界的空闲司机分布一致的情况。但这种过于简单的方案损害了真实性的原则,因为有的空闲司机会直接从A点被分配到10km以外的B点,也就是位置跳变,这在真实世界中是不可能的。
发明内容
针对上述相关技术中的问题,本申请提供一种模拟游走方法、装置、电子设备及存储介质。
本申请提供了一种模拟游走方法,包括:
获取模拟系统的当前时间和空闲司机的当前位置;
确定所述当前时间对应的时间片和所述当前位置对应的蜂巢;
所述时间片是将一段时间划分得到的;
基于所述当前时间对应的时间片和所述当前位置对应的蜂巢,所述蜂巢是使用六边形蜂巢形状的网格将预设区域划分为若干网格,从预先建立的空闲司机的状态转移矩阵中确定所述空闲司机的第一转移概率:以当前时间对应的时间片和所述当前位置对应的蜂巢为检索条件,在状态转移矩阵中进行检索,从而确定所述空闲司机的第一转移概率,其中,所述状态转移矩阵包括:各个时间片内空闲司机在各个蜂巢间进行转移的转移概率;所述状态转移矩阵基于预设历史时长内空闲司机的GPS数据来建立的;将所有时间片所有蜂巢的转移概率计算出来,存储成一个矩阵中,称为状态转移矩阵;状态转移矩阵是一个三维矩阵,最外层的维度是时间片,内层的二维矩阵其行和列均是蜂巢id,矩阵里第i行第j列的值表示在该时间片到下一时间片空闲司机从蜂巢i转移到蜂巢j的转移概率;
基于所述第一转移概率模拟所述空闲司机进行随机游走:随机游走模拟当前时间对应的时间片之后的下一个时间片空闲司机的位置,基于第一转移概率模拟所述空闲司机进行随机游走;通过预先建立状态转移矩阵,在进行模拟游走时,获取模拟系统的当前时间和空闲司机的当前位置;确定所述当前时间对应的时间片和所述当前位置对应的蜂巢;基于所述当前时间对应的时间片和所述当前位置对应的蜂巢,从预先建立的空闲司机的状态转移矩阵中确定所述空闲司机的转移概率,基于所述转移概率模拟所述空闲司机进行随机游走。
在一些实施例中,所述方法还包括:
获取预设历史时长内空闲司机的GPS数据;
将所述GPS数据中的坐标点映射到预设半径的六边形的蜂巢中;
对每个蜂巢以每个时间片对空闲司机进行计数,得到各个时间片内每个蜂巢的统计值;
基于各个时间片内每个蜂巢的统计值计算各个时间片内空闲司机在各个蜂巢间转移的统计值;
基于各个时间片内空闲司机在各个蜂巢间转移的统计值计算各个时间片内空闲司机在各个蜂巢间进行转移的转移概率,以得到状态转移矩阵。
在一些实施例中,所述基于各个时间片内空闲司机在各个蜂巢间转移的统计值计算各个时间片内空闲司机在各个蜂巢间进行转移的转移概率,包括:
基于各个时间片内空闲司机在各个蜂巢间转移的统计值采用计算式计算各个时间片内空闲司机在各个蜂巢间进行转移的转移概率,其中,所述计算式为:
其中,P(ht gi|ht-1 g0)表示在t-1时间片g0蜂巢的空闲司机在t时间片走到gi蜂巢的概率,dt-1 g0→dt gi表示根据上一时间片t-1,和所处蜂巢g0,在t时间片从g0蜂巢移动到gi蜂巢的空闲司机的统计值,gi为蜂巢编号,g0相邻的六个蜂巢编号分别为g1、g2、g3、g4、g5、g6。
在一些实施例中,所述基于所述第一转移概率模拟所述空闲司机进行随机游走,包括:
基于所述第一转移概率将所述空闲司机转移至目标蜂巢内;
在所述目标蜂巢内选取一个点作为所述空闲司机游走的目的地坐标。
在一些实施例中,所述第一转移概率包括:转移至相邻的蜂巢的第二转移概率和不转移蜂巢的第三转移概率,所述基于所述第一转移概率将所述空闲司机转移至目标蜂巢内,包括:
比较各个第二转移概率、第三转移概率的大小关系;
将最大转移概率对应的蜂巢确定为目标蜂巢;
将所述空闲司机转移至目标蜂巢内。
在一些实施例中,当所述第三转移概率最大的情况下,所述目标蜂巢为所述当前位置对应的蜂巢,在各个第二转移概率存在大于第三转移概率的情况下,所述目标蜂巢为与所述当前位置对应的蜂巢相邻的蜂巢。
在一些实施例中,所述方法还包括:
基于所述目标蜂巢和当前时间对应的时间片之后的时间片从状态转移矩阵中确定所述空闲司机的第四转移概率;
基于所述第四转移概率模拟所述空闲司机进行随机游走。
本申请实施例提供一种模拟游走装置,包括:
第一获取模块,用于获取模拟系统的当前时间和空闲司机的当前位置;
第一确定模块,用于确定所述当前时间对应的时间片和所述当前位置对应的蜂巢;
第二确定模块,用于基于所述当前时间对应的时间片和所述当前位置对应的蜂巢,所述时间片是将一段时间划分得到的,所述蜂巢是使用六边形蜂巢形状的网格将预设区域划分为若干网格,从预先建立的空闲司机的状态转移矩阵中确定所述空闲司机的第一转移概率:以当前时间对应的时间片和所述当前位置对应的蜂巢为检索条件,在状态转移矩阵中进行检索,从而确定所述空闲司机的第一转移概率,其中,所述状态转移矩阵包括:各个时间片内空闲司机在各个蜂巢间进行转移的转移概率;所述状态转移矩阵基于预设历史时长内空闲司机的GPS数据来建立的;将所有时间片所有蜂巢的转移概率计算出来,存储成一个矩阵中,称为状态转移矩阵;状态转移矩阵是一个三维矩阵,最外层的维度是时间片,内层的二维矩阵其行和列均是蜂巢id,矩阵里第i行第j列的值表示在该时间片到下一时间片空闲司机从蜂巢i转移到蜂巢j的转移概率;
模拟模块,用于基于所述第一转移概率模拟所述空闲司机进行随机游走;随机游走模拟当前时间对应的时间片之后的下一个时间片空闲司机的位置,基于第一转移概率模拟所述空闲司机进行随机游走;通过预先建立状态转移矩阵,在进行模拟游走时,获取模拟系统的当前时间和空闲司机的当前位置;确定所述当前时间对应的时间片和所述当前位置对应的蜂巢;基于所述当前时间对应的时间片和所述当前位置对应的蜂巢,从预先建立的空闲司机的状态转移矩阵中确定所述空闲司机的转移概率,基于所述转移概率模拟所述空闲司机进行随机游走。
计算模块,用于基于各个时间片内空闲司机在各个蜂巢间转移的统计值计算各个时间片内空闲司机在各个蜂巢间进行转移的转移概率,以得到状态转移矩阵。
本申请实施例提供一种电子设备,包括:包括存储器和处理器,所述存储器上存储有计算机程序,该计算机程序被所述处理器执行时,执行如上述所述的模拟游走方法。
本申请实施例提供一种存储介质,该存储介质存储的计算机程序,能够被一个或多个处理器执行,能够用来实现上述所述的模拟游走方法。
本申请实施例提供一种模拟游走方法、装置、电子设备及存储介质,通过预先建立状态转移矩阵,在进行模拟游走时,获取模拟系统的当前时间和空闲司机的当前位置;确定所述当前时间对应的时间片和所述当前位置对应的蜂巢;基于所述当前时间对应的时间片和所述当前位置对应的蜂巢,从预先建立的空闲司机的状态转移矩阵中确定所述空闲司机的第一转移概率,基于所述转移概率模拟所述空闲司机进行随机游走,能够提升运营模拟系统的准确性。
附图说明
在下文中将基于实施例并参考附图来对本申请进行更详细的描述。
图1为本申请实施例提供的一种模拟游走方法的实现流程示意图;
图2为本申请实施例提供的另一种模拟游走方法的实现流程示意图;
图3为本申请实施例中空闲司机转移终点及对应的转移概率示意图;
图4为本申请实施例提供的一种模拟游走装置的结构示意图;
图5为本申请实施例提供的电子设备的组成结构示意图。
在附图中,相同的部件使用相同的附图标记,附图并未按照实际的比例绘制。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
如果申请文件中出现“第一\第二\第三”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
实施例一:
基于相关技术中存在的问题,本申请实施例提供一种模拟游走方法,所述方法应用于电子设备,所述电子设备具体可以为手机、平板电脑、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、手持计算机、上网本、服务器等,本申请实施例对此不做任何限制。所述服务器可以是网约车平台的服务器。本申请实施例提供的模拟游走方法所实现的功能可以通过电子设备的处理器调用程序代码来实现,其中,程序代码可以保存在计算机存储介质中。图1为本申请实施例提供的一种模拟游走方法的实现流程示意图,如图1所示,包括:
步骤S101,获取模拟系统的当前时间和空闲司机的当前位置。
本申请实施例中,电子设备可以直接读取模拟系统的当前时间,模拟系统的当前时间可以进行设置,模拟系统的当前时间可以和电子设备中的当前时间不同。本申请实施例中,空闲司机的当前位置可以通过输入设备的输入获取,在一些实施例中,也可以直接从网约车平台中获取空闲司机的当前位置。
步骤S102,确定所述当前时间对应的时间片和所述当前位置对应的蜂巢。
本申请实施例中,可以预先将一段时间划分成多个时间片,所述一段时间可以是一天,也可以是1小时等。本申请实施例中,所述时间片可以进行配置,例如,可以配置为3分钟至7分钟中的任意时间。
示例性地,以一段时间为一天为例,时间片为5分钟,则可以将24小时分成288个时间片,每五分钟一个时间片,时间片编号用t表示,t∈(0,1,…,288)。
本申请实施例中,每个时间片对应有时间范围,当获取到当前时间后,即可以确定当前时间对应的时间片。示例性地,当前时间为0点01分,则对应编号0的时间片。
本申请实施例中,可以预先将一个区域划分为多个蜂巢。所述区域可以是一个城市,可以以预设半径的六边形的蜂巢来对一个区域进行划分。
本申请实施例中,不同的蜂巢对应有不同的位置点。在确定了当前位置后,就可以当前位置的坐标点确定属于哪个蜂巢。
步骤S103,基于所述当前时间对应的时间片和所述当前位置对应的蜂巢,从预先建立的空闲司机的状态转移矩阵中确定所述空闲司机的第一转移概率。
本申请实施例中,所述状态转移矩阵包括:各个时间片内空闲司机在各个蜂巢间进行转移的转移概率。
本申请实施例中,所述状态转移矩阵可以基于预设历史时长内空闲司机的GPS数据来建立的。
本申请实施例中,可以以当前时间对应的时间片和所述当前位置对应的蜂巢为检索条件,在状态转移矩阵中进行检索,从而确定所述空闲司机的第一转移概率。
步骤S104,基于所述第一转移概率模拟所述空闲司机进行随机游走。
本申请实施例中,随机游走可以模拟当前时间对应的时间片之后的下一个时间片空闲司机的位置,如此可以基于第一转移概率模拟所述空闲司机进行随机游走。
本申请实施例提供一种模拟游走方法,通过预先建立状态转移矩阵,在进行模拟游走时,获取模拟系统的当前时间和空闲司机的当前位置;确定所述当前时间对应的时间片和所述当前位置对应的蜂巢;基于所述当前时间对应的时间片和所述当前位置对应的蜂巢,从预先建立的空闲司机的状态转移矩阵中确定所述空闲司机的转移概率,基于所述转移概率模拟所述空闲司机进行随机游走,能够提升运营模拟系统的准确性。
在一些实施例中,步骤S104可以通过以下步骤实现:
步骤S1041,基于所述第一转移概率将所述空闲司机转移至目标蜂巢内。
本申请实施例中,所述目标蜂巢可以是当前位置对应的蜂巢,也可以是当前位置对应的蜂巢的相邻的蜂巢。
本申请实施例中,所述第一转移概率包括:转移至相邻的蜂巢的第二转移概率和不转移蜂巢的第三转移概率。
本申请实施例中,当所述第三转移概率最大的情况下,所述目标蜂巢为所述当前位置对应的蜂巢,在各个第二转移概率存在大于第三转移概率的情况下,所述目标蜂巢为与所述当前位置对应的蜂巢相邻的蜂巢。
步骤S1042,在所述目标蜂巢内选取一个点作为所述空闲司机游走的目的地坐标。
在一些实施例中,在步骤S104之后,所述方法还包括:
步骤S105,基于所述目标蜂巢和当前时间对应的时间片之后的时间片从状态转移矩阵中确定所述空闲司机的第四转移概率;
步骤S106,基于所述第四转移概率模拟所述空闲司机进行随机游走。
本申请实施例提供的一种模拟游走方法,考虑了空闲司机移动轨迹的连续型,避免司机位置跳变情况发生。
实施例二:
基于前述的各个实施例,本申请实施例再提供一种模拟游走方法,图2为本申请实施例提供的一种模拟游走方法的实现流程示意图,如图2所示,所述方法包括:
步骤S201,获取预设历史时长内空闲司机的GPS数据。
本申请实施例中,预设历史时长可以进行配置,示例性地,可以配置预设历史时长为1个月。本申请实施例中,电子设备可以和网约车平台通信连接,从网约车平台获取预设历史时长内空闲司机的GPS数据。本申请实施例中,GPS数据用于表征空闲司机的移动轨迹。
步骤S202,将所述GPS数据中的坐标点映射到预设半径的六边形的蜂巢中。
本申请实施例中,可以预先将一个区域划分为多个蜂巢。所述区域可以是一个城市,可以以预设半径的六边形的蜂巢来对一个区域进行划分。示例性地,所述预设半径和时间片存在关系,如果预设半径比较大,则时间片对应的时长也更长。示例性地,预设半径为1.5KM,时间片为5分钟,如果预设半径为3KM,则时间片可以是10分钟,也就是说,预设半径越大,则时间片越长。
本申请实施例中,不同的蜂巢对应有不同的位置点。在确定了GPS数据中的坐标点后,就可以将GPS数据中的坐标点分别确定属于哪个蜂巢。
步骤S203,对每个蜂巢以每个时间片对空闲司机进行计数,得到各个时间片内每个蜂巢的统计值。
步骤S204,基于各个时间片内每个蜂巢的统计值计算各个时间片内空闲司机在各个蜂巢间转移的统计值。
本申请实施例中,可以基于相邻的两个时间片内每个蜂巢的统计值计算一个时间片内空闲司机在各个蜂巢间转移的统计值,从而可以确定各个时间片内各个时间片内空闲司机在各个蜂巢间转移的统计值。
步骤S205,基于各个时间片内空闲司机在各个蜂巢间转移的统计值计算各个时间片内空闲司机在各个蜂巢间进行转移的转移概率,以得到状态转移矩阵。
本申请实施例中,可以将各个时间片内空闲司机在各个蜂巢间进行转移的转移概率存储成一个矩阵,从而得到状态转移矩阵。状态转移矩阵可以是一个三维矩阵,最外层的维度是时间片,示例性地,一天288个时间片共有288个二维矩阵。内层的二维矩阵其行和列均是蜂巢id,矩阵里第i行第j列的值表示在该时间片到下一时间片空闲司机从蜂巢i转移到蜂巢j的转移概率。
步骤S206,获取模拟系统的当前时间和空闲司机的当前位置。
本申请实施例中,电子设备可以直接读取模拟系统的当前时间,模拟系统的当前时间可以进行设置,模拟系统的当前时间可以和电子设备中的当前时间不同。本申请实施例中,空闲司机的当前位置可以通过输入设备的输入获取,在一些实施例中,也可以直接从网约车平台中获取空闲司机的当前位置。
步骤S207,确定所述当前时间对应的时间片和所述当前位置对应的蜂巢。
本申请实施例中,可以预先将一段时间划分成多个时间片,所述一段时间可以是一天,也可以是1小时等。本申请实施例中,所述时间片可以进行配置,例如,可以配置为3分钟至7分钟中的任意时间。
示例性地,以一段时间为一天为例,时间片为5分钟,则可以将24小时分成288个时间片,每五分钟一个时间片,时间片编号用t表示,t∈(0,1,…,288)。
本申请实施例中,每个时间片对应有时间范围,当获取到当前时间后,即可以确定当前时间对应的时间片。示例性地,当前时间为0点01分,则对应编号0的时间片。
本申请实施例中,可以预先将一个区域划分为多个蜂巢。所述区域可以是一个城市,可以以预设半径的六边形的蜂巢来对一个区域进行划分。
本申请实施例中,不同的蜂巢对应有不同的位置点。
本申请实施例中,在确定了当前位置后,就可以当前位置的坐标点确定属于哪个蜂巢。
步骤S208,基于所述当前时间对应的时间片和所述当前位置对应的蜂巢,从预先建立的空闲司机的状态转移矩阵中确定所述空闲司机的第一转移概率。
本申请实施例中,所述状态转移矩阵包括:各个时间片内空闲司机在各个蜂巢间进行转移的转移概率。
本申请实施例中,所述状态转移矩阵可以基于预设历史时长内空闲司机的GPS数据来建立的。
本申请实施例中,可以以当前时间对应的时间片和所述当前位置对应的蜂巢为检索条件,在状态转移矩阵中进行检索,从而确定所述空闲司机的第一转移概率。
步骤S209,基于所述第一转移概率模拟所述空闲司机进行随机游走。
本申请实施例中,随机游走可以模拟当前时间对应的时间片之后的下一个时间片空闲司机的位置,如此可以基于第一转移概率模拟所述空闲司机进行随机游走。
本申请实施例提供一种模拟游走方法,通过历史数据建立状态转移矩阵,在进行模拟游走时,获取模拟系统的当前时间和空闲司机的当前位置;确定所述当前时间对应的时间片和所述当前位置对应的蜂巢;基于所述当前时间对应的时间片和所述当前位置对应的蜂巢,从预先建立的空闲司机的状态转移矩阵中确定所述空闲司机的第一转移概率,基于所述转移概率模拟所述空闲司机进行随机游走,能够减小模拟系统内空闲司机位置与历史数据间的差异,提高了模拟系统内空闲司机位置数据与历史数据间的贴合度,能够更好地贴合真实世界,从而能够提升运营模拟系统的准确性。
实施例三:
基于前述的各个实施例,本申请实施例再提供一种模拟游走方法,所述方法考虑了司机轨迹的连续性,避免司机位置跳变情况发生,且考虑了真实世界中司机位置分布和移动,能够更好地贴合真实世界,提升运营模拟系统的准确性。
本申请实施例中,设定空闲司机转移符合马尔可夫性,即假设司机在下一时刻出现的位置,仅与该司机的当前位置有关,与该司机之前从哪开过来的无关。,图3为本申请实施例中空闲司机转移终点及对应的转移概率示意图,如图3所示,空闲司机转移的终点为本蜂巢和6个邻居蜂巢。其中,马尔可夫性为当一个随机过程在给定现在状态及所有过去状态的情况下,其未来状态的条件概率分布仅依赖于当前状态。
本申请实施例中,在进行模拟游走时,先确定模拟系统的当前时间和空闲司机的位置,将当前时间转换为时间片,将位置坐标转换为蜂巢,用时间片和蜂巢查询状态转移矩阵(同上述实施例中的状态转移矩阵)中的转移概率,依据概率随机将司机转移至邻居蜂巢内,并在终点蜂巢内随机选取一个点作为司机游走的目的地坐标点。
本申请实施例中,状态转移矩阵的建立的具体方法为:1、取过去一个月内的空闲司机GPS数据。2、对所有数据进行处理,将坐标点映射到1.5km半径的六边形蜂巢中。3、划分时间片,每五分钟为一组,记录司机在五分钟内的初始蜂巢和终点蜂巢。4、对每个蜂巢,每个时间片内的空闲司机进行计数,获取司机在各个蜂巢间进行转移的统计值。5、计算每个时间片内所有蜂巢的转移概率,存为状态转移矩阵。
本申请实施例中,转移概率的计算方式为:
对于每个空闲司机,根据上一时间片t-1,和所处蜂巢g0,根据条件概率P(ht gi|ht -1 g0),i∈(0,1,2,3,4,5,6)进行随机移动,移动终点为相邻蜂巢或者保持不动。遍历所有空闲司机,得到每个空闲司机的移动终点,从而得到本时间片全部空闲司机的位置。使用大量司机位置数据,可以用司机历史转移频率计算得到司机转移概率,公式如下
将所有时间片所有蜂巢的转移概率计算出来,存储成一个矩阵中,称为状态转移矩阵。这是一个三维矩阵,最外层的维度是时间片,即一天288个时间片共有288个二维矩阵。内层的二维矩阵其行和列均是蜂巢id,矩阵里第i行第j列的值表示在该时间片到下一时间片,司机从蜂巢i转移到蜂巢j的转移概率。
本申请实施例提供的一种随机游走方法,通过基于状态转移矩阵的方式来对模拟系统中的空闲司机进行随机游走,有效的减小了模拟系统内空闲司机位置与历史数据间的差异,提高了模拟系统内空闲司机位置数据与历史数据间的贴合度,提高模拟系统的性能。
实施例四:
基于前述的实施例,本申请实施例提供一种模拟游走装置,该装置包括的各模块、以及各模块包括的各单元,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central ProcessingUnit)、微处理器(MPU,Microprocessor Unit)、数字信号处理器(DSP,Digital SignalProcessing)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等。
本申请实施例提供了一种模拟游走装置,图4为本申请实施例提供的一种模拟游走装置的结构示意图,如图4所示,模拟游走装置400包括:
第一获取模块401,用于获取模拟系统的当前时间和空闲司机的当前位置;
第一确定模块402,用于确定所述当前时间对应的时间片和所述当前位置对应的蜂巢;
第二确定模块403,用于基于所述当前时间对应的时间片和所述当前位置对应的蜂巢,从预先建立的空闲司机的状态转移矩阵中确定所述空闲司机的第一转移概率,其中,所述状态转移矩阵包括:各个时间片内空闲司机在各个蜂巢间进行转移的转移概率;
模拟模块404,用于基于所述第一转移概率模拟所述空闲司机进行随机游走。
在一些实施例中,所述模拟游走装置还包括:
第二获取模块,用于获取预设历史时长内空闲司机的GPS数据;
映射模块,用于将所述GPS数据中的坐标点映射到预设半径的六边形的蜂巢中;
第一统计模块,用于对每个蜂巢以每个时间片对空闲司机进行计数,得到各个时间片内每个蜂巢的统计值;
第二统计模块,用于基于各个时间片内每个蜂巢的统计值计算各个时间片内空闲司机在各个蜂巢间转移的统计值;
计算模块,用于基于各个时间片内空闲司机在各个蜂巢间转移的统计值计算各个时间片内空闲司机在各个蜂巢间进行转移的转移概率,以得到状态转移矩阵。
在一些实施例中,所述基于各个时间片内空闲司机在各个蜂巢间转移的统计值计算各个时间片内空闲司机在各个蜂巢间进行转移的转移概率,包括:
基于各个时间片内空闲司机在各个蜂巢间转移的统计值采用计算式计算各个时间片内空闲司机在各个蜂巢间进行转移的转移概率,其中,所述计算式为:
其中,P(ht gi|ht-1 g0)表示在t-1时间片g0蜂巢的空闲司机在t时间片走到gi蜂巢的概率,dt-1 g0→dt gi表示根据上一时间片t-1,和所处蜂巢g0,在t时间片从g0蜂巢移动到gi蜂巢的空闲司机的统计值,gi为蜂巢编号,g0相邻的六个蜂巢编号分别为g1、g2、g3、g4、g5、g6。
在一些实施例中,所述基于所述第一转移概率模拟所述空闲司机进行随机游走,包括:
基于所述转移概率将所述空闲司机转移至目标蜂巢内;
在所述目标蜂巢内选取一个点作为所述空闲司机游走的目的地坐标。
在一些实施例中,所述第一转移概率包括:转移至相邻的蜂巢的第二转移概率和不转移蜂巢的第三转移概率,所述基于所述第一转移概率将所述空闲司机转移至目标蜂巢内,包括:
比较各个第二转移概率、第三转移概率的大小关系;
将最大转移概率对应的蜂巢确定为目标蜂巢;
将所述空闲司机转移至目标蜂巢内。
在一些实施例中,当所述第三转移概率最大的情况下,所述目标蜂巢为所述当前位置对应的蜂巢,在各个第二转移概率存在大于第三转移概率的情况下,所述目标蜂巢为与所述当前位置对应的蜂巢相邻的蜂巢。
在一些实施例中,模拟游走装置400还用于:
基于所述目标蜂巢和当前时间对应的时间片之后的时间片从状态转移矩阵中确定所述空闲司机的第四转移概率;
基于所述第四转移概率模拟所述空闲司机进行随机游走。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的模拟游走方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,ReadOnly Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
相应地,本申请实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供模拟游走方法中的步骤。
本申请实施例提供一种电子设备;图5为本申请实施例提供的电子设备的组成结构示意图,如图5所示,所述电子设备900包括:一个处理器901、至少一个通信总线902、用户接口903、至少一个外部通信接口904、存储器905。其中,通信总线902配置为实现这些组件之间的连接通信。其中,用户接口903可以包括显示屏,外部通信接口904可以包括标准的有线接口和无线接口。所述处理器901配置为执行存储器中存储的模拟游走方法程序,以实现以上述实施例提供的模拟游走方法中的步骤。
以上电子设备和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请计算机设备和存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台控制器执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种模拟游走方法,其特征在于,包括:
获取模拟系统的当前时间和空闲司机的当前位置;
确定所述当前时间对应的时间片和所述当前位置对应的蜂巢;
所述时间片是将一段时间划分得到的;
基于所述当前时间对应的时间片和所述当前位置对应的蜂巢,所述蜂巢是使用六边形蜂巢形状的网格将预设区域划分为若干网格,从预先建立的空闲司机的状态转移矩阵中确定所述空闲司机的第一转移概率:以当前时间对应的时间片和所述当前位置对应的蜂巢为检索条件,在状态转移矩阵中进行检索,从而确定所述空闲司机的第一转移概率,其中,所述状态转移矩阵包括:各个时间片内空闲司机在各个蜂巢间进行转移的转移概率;所述状态转移矩阵基于预设历史时长内空闲司机的GPS数据来建立的;将所有时间片所有蜂巢的转移概率计算出来,存储成一个矩阵中,称为状态转移矩阵;状态转移矩阵是一个三维矩阵,最外层的维度是时间片,内层的二维矩阵其行和列均是蜂巢id,矩阵里第i行第j列的值表示在该时间片到下一时间片空闲司机从蜂巢i转移到蜂巢j的转移概率;
基于所述第一转移概率模拟所述空闲司机进行随机游走:随机游走模拟当前时间对应的时间片之后的下一个时间片空闲司机的位置,基于第一转移概率模拟所述空闲司机进行随机游走;通过预先建立状态转移矩阵,在进行模拟游走时,获取模拟系统的当前时间和空闲司机的当前位置;确定所述当前时间对应的时间片和所述当前位置对应的蜂巢;基于所述当前时间对应的时间片和所述当前位置对应的蜂巢,从预先建立的空闲司机的状态转移矩阵中确定所述空闲司机的转移概率,基于所述转移概率模拟所述空闲司机进行随机游走。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取预设历史时长内空闲司机的GPS数据;
将所述GPS数据中的坐标点映射到预设半径的六边形的蜂巢中;
对每个蜂巢以每个时间片对空闲司机进行计数,得到各个时间片内每个蜂巢的统计值;
基于各个时间片内每个蜂巢的统计值计算各个时间片内空闲司机在各个蜂巢间转移的统计值;
基于各个时间片内空闲司机在各个蜂巢间转移的统计值计算各个时间片内空闲司机在各个蜂巢间进行转移的转移概率,以得到状态转移矩阵。
3.根据权利要求2所述的方法,其特征在于,所述基于各个时间片内空闲司机在各个蜂巢间转移的统计值计算各个时间片内空闲司机在各个蜂巢间进行转移的转移概率,包括:
基于各个时间片内空闲司机在各个蜂巢间转移的统计值采用计算式计算各个时间片内空闲司机在各个蜂巢间进行转移的转移概率,其中,所述计算式为:
其中,P(ht gi|ht-1 g0)表示在t-1时间片g0蜂巢的空闲司机在t时间片走到gi蜂巢的概率,dt-1 g0→dt gi表示根据上一时间片t-1,和所处蜂巢g0,在t时间片从g0蜂巢移动到gi蜂巢的空闲司机的统计值,gi为蜂巢编号,g0相邻的六个蜂巢编号分别为g1、g2、g3、g4、g5、g6。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一转移概率模拟所述空闲司机进行随机游走,包括:
基于所述第一转移概率将所述空闲司机转移至目标蜂巢内;
在所述目标蜂巢内选取一个点作为所述空闲司机游走的目的地坐标。
5.根据权利要求4所述的方法,其特征在于,所述第一转移概率包括:转移至相邻的蜂巢的第二转移概率和不转移蜂巢的第三转移概率,所述基于所述第一转移概率将所述空闲司机转移至目标蜂巢内,包括:
比较各个第二转移概率、第三转移概率的大小关系;
将最大转移概率对应的蜂巢确定为目标蜂巢;
将所述空闲司机转移至目标蜂巢内。
6.根据权利要求5所述的方法,其特征在于,当所述第三转移概率最大的情况下,所述目标蜂巢为所述当前位置对应的蜂巢,在各个第二转移概率存在大于第三转移概率的情况下,所述目标蜂巢为与所述当前位置对应的蜂巢相邻的蜂巢。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
基于所述目标蜂巢和当前时间对应的时间片之后的时间片从状态转移矩阵中确定所述空闲司机的第四转移概率;
基于所述第四转移概率模拟所述空闲司机进行随机游走。
8.一种模拟游走装置,其特征在于,包括:
第一获取模块,用于获取模拟系统的当前时间和空闲司机的当前位置;
第一确定模块,用于确定所述当前时间对应的时间片和所述当前位置对应的蜂巢;
第二确定模块,用于基于所述当前时间对应的时间片和所述当前位置对应的蜂巢,所述时间片是将一段时间划分得到的,所述蜂巢是使用六边形蜂巢形状的网格将预设区域划分为若干网格,从预先建立的空闲司机的状态转移矩阵中确定所述空闲司机的第一转移概率:以当前时间对应的时间片和所述当前位置对应的蜂巢为检索条件,在状态转移矩阵中进行检索,从而确定所述空闲司机的第一转移概率,其中,所述状态转移矩阵包括:各个时间片内空闲司机在各个蜂巢间进行转移的转移概率;所述状态转移矩阵基于预设历史时长内空闲司机的GPS数据来建立的;将所有时间片所有蜂巢的转移概率计算出来,存储成一个矩阵中,称为状态转移矩阵;状态转移矩阵是一个三维矩阵,最外层的维度是时间片,内层的二维矩阵其行和列均是蜂巢id,矩阵里第i行第j列的值表示在该时间片到下一时间片空闲司机从蜂巢i转移到蜂巢j的转移概率;
模拟模块,用于基于所述第一转移概率模拟所述空闲司机进行随机游走;随机游走模拟当前时间对应的时间片之后的下一个时间片空闲司机的位置,基于第一转移概率模拟所述空闲司机进行随机游走;通过预先建立状态转移矩阵,在进行模拟游走时,获取模拟系统的当前时间和空闲司机的当前位置;确定所述当前时间对应的时间片和所述当前位置对应的蜂巢;基于所述当前时间对应的时间片和所述当前位置对应的蜂巢,从预先建立的空闲司机的状态转移矩阵中确定所述空闲司机的转移概率,基于所述转移概率模拟所述空闲司机进行随机游走。
9.一种电子设备,其特征在于,包括:包括存储器和处理器,所述存储器上存储有计算机程序,该计算机程序被所述处理器执行时,执行如权利要求1至7任意一项所述模拟游走方法。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被计算机运行时执行如权利要求1至7任意一项所述模拟游走方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211425970.7A CN115759306B (zh) | 2022-11-14 | 2022-11-14 | 模拟游走方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211425970.7A CN115759306B (zh) | 2022-11-14 | 2022-11-14 | 模拟游走方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115759306A CN115759306A (zh) | 2023-03-07 |
CN115759306B true CN115759306B (zh) | 2023-11-24 |
Family
ID=85371143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211425970.7A Active CN115759306B (zh) | 2022-11-14 | 2022-11-14 | 模拟游走方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115759306B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014229001A (ja) * | 2013-05-21 | 2014-12-08 | 株式会社東芝 | 設備運用方策判定方法、設備運用方策判定装置、設備運用方策判定プログラム、及び設備運用方策判定システム |
CN111832602A (zh) * | 2020-04-13 | 2020-10-27 | 北京嘀嘀无限科技发展有限公司 | 基于地图的特征嵌入方法、装置、存储介质和电子设备 |
CN111832768A (zh) * | 2019-08-13 | 2020-10-27 | 北京嘀嘀无限科技发展有限公司 | 一种poi特征的生成方法、装置、电子设备和存储介质 |
CN112016834A (zh) * | 2020-08-28 | 2020-12-01 | 中国平安财产保险股份有限公司 | 异常驾驶行为检测方法、装置、设备及存储介质 |
CN112614336A (zh) * | 2020-11-19 | 2021-04-06 | 南京师范大学 | 一种基于量子随机游走的交通流模态拟合方法 |
CN114648433A (zh) * | 2022-03-21 | 2022-06-21 | 南京师范大学 | 一种基于量子游走的网约车流量多尺度特征解析方法 |
-
2022
- 2022-11-14 CN CN202211425970.7A patent/CN115759306B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014229001A (ja) * | 2013-05-21 | 2014-12-08 | 株式会社東芝 | 設備運用方策判定方法、設備運用方策判定装置、設備運用方策判定プログラム、及び設備運用方策判定システム |
CN111832768A (zh) * | 2019-08-13 | 2020-10-27 | 北京嘀嘀无限科技发展有限公司 | 一种poi特征的生成方法、装置、电子设备和存储介质 |
CN111832602A (zh) * | 2020-04-13 | 2020-10-27 | 北京嘀嘀无限科技发展有限公司 | 基于地图的特征嵌入方法、装置、存储介质和电子设备 |
CN112016834A (zh) * | 2020-08-28 | 2020-12-01 | 中国平安财产保险股份有限公司 | 异常驾驶行为检测方法、装置、设备及存储介质 |
CN112614336A (zh) * | 2020-11-19 | 2021-04-06 | 南京师范大学 | 一种基于量子随机游走的交通流模态拟合方法 |
CN114648433A (zh) * | 2022-03-21 | 2022-06-21 | 南京师范大学 | 一种基于量子游走的网约车流量多尺度特征解析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115759306A (zh) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109541634B (zh) | 一种路径规划方法、装置和移动设备 | |
CN111836358B (zh) | 定位方法、电子设备和计算机可读存储介质 | |
CN104731963B (zh) | 一种基于车联网的网格化路径推荐方法及系统 | |
CN109636032B (zh) | 基于多模式集成的降水预报方法、系统、终端及存储介质 | |
CN111417066B (zh) | 定位方法、装置、电子设备和计算机可读存储介质 | |
CN109426886A (zh) | 一种气候预测系统 | |
CN115988421A (zh) | 一种基于时间权重聚类的职住地估计方法及装置 | |
Yang et al. | Multiagent reinforcement learning-based taxi predispatching model to balance taxi supply and demand | |
CN104750716A (zh) | 一种社交网站好友推荐方法及装置 | |
CN112884319A (zh) | 一种任务分配方法、装置、计算机设备以及存储介质 | |
CN108337685A (zh) | 基于分簇dgm的无线传感器网络数据融合方法 | |
CN113887704A (zh) | 交通信息预测方法、装置、设备及存储介质 | |
CN111861017A (zh) | 一种基于现网数据的充电站网络优化方法 | |
CN115759306B (zh) | 模拟游走方法、装置、电子设备及存储介质 | |
CN114625162A (zh) | 基于混合算法的无人机最优路径规划方法、系统及介质 | |
Chen et al. | Dynamic simulation of land use changes in Port city: A case study of Dalian, China | |
CN116703132B (zh) | 共享车辆动态调度的管理方法、装置及计算机设备 | |
CN103729696B (zh) | 基于拥塞博弈模型的参与式感知数据系统及其方法 | |
CN115328210B (zh) | 路径规划方法、装置、终端设备以及存储介质 | |
CN110674134A (zh) | 一种地理信息数据存储方法、查询方法及装置 | |
CN116450958A (zh) | 检测点选址方法、装置、电子设备及可读存储介质 | |
CN112529311B (zh) | 一种基于图卷积分析的道路流量预测方法和装置 | |
CN110146102B (zh) | 路径规划方法、装置、设备和存储介质 | |
CN110059880B (zh) | 一种服务发现方法及装置 | |
CN105989022A (zh) | 数据排重方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |