Position determination method, position determination device, electronic device and readable storage medium
The differential evolution algorithm is used to process individual candidate locations and automatically determine the location of the self-service teller machine outlets, solving the problem of time-consuming and cost-effectiveness of manually determining the location in the prior art, and achieving the effect of automation, saving time and reducing costs.
Patent Information
- Application Number
- CN202110508198.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-05-10
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2041-05-10
AI Technical Summary
In the prior art, the determination of the location of the self-service teller machine outlets depends on labor, which leads to a long time and high cost.
A differential evolution algorithm is used to process a group of candidate location individuals, and the location of the target individual as a self-help teller outlet is determined through iterative termination conditions.
Automation of self-talk machine outlet location determination is achieved, saving time and reducing costs.
Smart Images

Figure CN113095943B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the financial field or the computer technology field, and more specifically, to a position determination method, a position determination device, an electronic device, a computer-readable storage medium, and a computer program product. Background Art
[0002] The problem of determining the location of ATM outlets can be achieved manually.
[0003] In the process of realizing the concept of the present disclosure, the inventors discovered that there are at least technical problems in the related technology that require a long time and high costs. Summary of the invention
[0004] In view of this, embodiments of the present disclosure provide a position determination method, a position determination device, an electronic device, a computer-readable storage medium, and a computer program product.
[0005] One aspect of an embodiment of the present disclosure provides a location determination method, including: obtaining a location determination request for determining the location of an ATM network; in response to the location determination request, obtaining a first population, wherein the first population includes M individuals, each of which is used to represent a candidate location of the ATM network, and M≥3; processing the first population using a differential evolution algorithm to obtain a target individual, wherein the target individual is an individual obtained when an iteration termination condition of the differential evolution algorithm is satisfied; and determining the candidate location represented by the target individual as the target location of the ATM network.
[0006] According to an embodiment of the present disclosure, the above-mentioned use of the differential evolution algorithm to process the above-mentioned first population to obtain the target individual includes: when it is determined that the iteration termination condition of the above-mentioned differential evolution algorithm is not met, using a mutation operator to process part or all of the individuals in the above-mentioned first population to obtain a mutant population, wherein the above-mentioned iteration termination condition includes that the number of iterations reaches the maximum number of iterations or the coverage distance of the individual satisfies a preset condition, and the above-mentioned coverage distance is determined according to the candidate positions represented by the above-mentioned individuals and the positions of N settlements, N≥1; using a crossover operator to process the above-mentioned first population and the above-mentioned mutant population to obtain a crossover population; using a selection operator to process the above-mentioned first population and the above-mentioned crossover population to obtain a second population; when it is determined that the iteration termination condition of the above-mentioned differential evolution algorithm is not met, continuing to perform the operation of determining the next generation population until the above-mentioned iteration termination condition is met; and determining the individuals in the population that meet the iteration termination condition of the above-mentioned differential evolution algorithm as the above-mentioned target individuals.
[0007] According to an embodiment of the present disclosure, the above-mentioned first population and the above-mentioned crossover population are processed by the selection operator to obtain the second population, including: for the same individual in the above-mentioned first population and the above-mentioned crossover population, determining the coverage distance of the above-mentioned individual in the above-mentioned first population; determining the coverage distance of the above-mentioned individual in the above-mentioned crossover population; in the case where it is determined that the coverage distance of the above-mentioned individual in the above-mentioned first population is less than or equal to the coverage distance of the above-mentioned individual in the above-mentioned crossover population, determining the above-mentioned individual in the above-mentioned first population as an individual in the above-mentioned second population; and in the case where it is determined that the coverage distance of the above-mentioned individual in the above-mentioned first population is greater than the coverage distance of the above-mentioned individual in the above-mentioned crossover population, determining the above-mentioned individual in the above-mentioned crossover population as an individual in the above-mentioned second population.
[0008] According to an embodiment of the present disclosure, the above-mentioned coverage distance is determined based on the candidate position represented by the above-mentioned individual and the N settlement locations, including: the above-mentioned coverage distance is the maximum distance among the N distances determined based on the candidate position represented by the above-mentioned individual and the N settlement locations; or, the above-mentioned coverage distance is the average distance of the N distances determined based on the candidate position represented by the above-mentioned individual and the N settlement locations.
[0009] According to an embodiment of the present disclosure, it also includes: acquiring a settlement network topology map, wherein the settlement network topology map includes T settlement locations; and determining the N settlement locations from the T settlement locations.
[0010] According to an embodiment of the present disclosure, it also includes: acquiring target map information, wherein the target map information includes an area location corresponding to each residential area in a plurality of residential areas; determining a settlement point location corresponding to the residential area based on the area location; and constructing a settlement point network topology map based on the settlement point location.
[0011] According to an embodiment of the present disclosure, the above-mentioned obtaining of target map information includes: using a crawler tool to obtain the above-mentioned target map information from a map application.
[0012] According to an embodiment of the present disclosure, the method further includes: acquiring initial map information; and performing data cleaning on the initial map information to obtain the target map information.
[0013] Another aspect of the present disclosure provides a position determination device, including: a first acquisition module, used to obtain a position determination request for determining the position of an ATM network; a second acquisition module, used to respond to the above-mentioned position determination request and obtain a first population, wherein the above-mentioned first population includes M individuals, each of which is used to represent a candidate position of the ATM network, and M≥3; an algorithm processing module, used to process the above-mentioned first population using a differential evolution algorithm to obtain a target individual, wherein the above-mentioned target individual is an individual obtained when the iteration termination condition of the above-mentioned differential evolution algorithm is satisfied; and a first determination module, used to determine the candidate position represented by the above-mentioned target individual as the target position of the above-mentioned ATM network.
[0014] Another aspect of an embodiment of the present disclosure provides an electronic device, including: one or more processors; and a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method described above.
[0015] Another aspect of an embodiment of the present disclosure provides a computer-readable storage medium storing computer-executable instructions, which are used to implement the method described above when executed.
[0016] Another aspect of an embodiment of the present disclosure provides a computer program product, which includes computer executable instructions, and the instructions are used to implement the above method when executed.
[0017] According to the embodiments of the present disclosure, since a technical means is adopted to obtain the target location of the ATM outlets by processing the first population using a differential evolution algorithm, it at least partially overcomes the technical problem in the related art of manually determining the location of the ATM outlets, which is time-consuming and costly, thereby achieving the technical effect of saving time and reducing costs. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The above and other objects, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:
[0019] Figure 1 An exemplary system architecture to which the method and apparatus for determining a position according to an embodiment of the present disclosure can be applied is schematically shown;
[0020] Figure 2 A flowchart of a method for determining a position according to an embodiment of the present disclosure is schematically shown;
[0021] Figure 3A flowchart schematically shows a method of processing a first population using a differential evolution algorithm to obtain a target individual according to an embodiment of the present disclosure;
[0022] Figure 4 A flowchart schematically illustrates a method of processing a first population and a crossover population using a selection operator to obtain a second population according to an embodiment of the present disclosure;
[0023] Figure 5 A flowchart for determining the locations of N residential points according to an embodiment of the present disclosure is schematically shown;
[0024] Figure 6 A flowchart of obtaining a network topology map of a residential area according to an embodiment of the present disclosure is schematically shown;
[0025] Figure 7 Schematically shows a flow chart of obtaining target map information according to an embodiment of the present disclosure;
[0026] Figure 8 A block diagram schematically shows a position determination device according to an embodiment of the present disclosure; and
[0027] Fig. 9 A block diagram of an electronic device suitable for implementing the method described above according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION
[0028] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.
[0029] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise", "include", etc. used herein indicate the existence of features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.
[0030] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification, and should not be interpreted in an idealized or overly rigid manner.
[0031] In this document, it should be understood that the terms involved may be technical means for implementing a part of the present disclosure or other summary technical terms. For example, the term may include:
[0032] Differential evolution algorithm: Differential evolution algorithm is a heuristic search algorithm based on population. Its basic idea is: starting from a randomly generated initial population, a new individual is generated by summing the vector difference between any two individuals in the population and the third individual, and then the new individual is compared with the corresponding individual in the contemporary population. If the fitness of the new individual is better than that of the current individual, the new individual is used to replace the old individual in the next generation, otherwise the old individual is still preserved. Through continuous evolution, good individuals are retained, and inferior individuals are eliminated, guiding the search to approach the optimal solution.
[0033] Individual: A vector representing the solution space in the differential evolution algorithm. Each individual represents a solution in the solution space in the differential evolution algorithm.
[0034] Population: A term in differential evolution algorithm, multiple individuals constitute a population.
[0035] Network topology diagram: refers to the way things are connected, consisting of nodes and edges, with each node connected by edges.
[0036] In the case of using expressions such as "at least one of A, B, and C, etc.", it should generally be interpreted in accordance with the meaning of the expression generally understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.). In the case of using expressions such as "at least one of A, B, or C, etc.", it should generally be interpreted in accordance with the meaning of the expression generally understood by those skilled in the art (for example, "a system having at least one of A, B, or C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).
[0037] The embodiments of the present disclosure provide a location determination method, which is applied to the financial field, the computer technology field or other fields. The method includes obtaining a location determination request for determining the location of an ATM network point; in response to the location determination request, obtaining a first population, wherein the first population includes M individuals, each individual is used to characterize a candidate location of the ATM network point, M≥3; using a differential evolution algorithm to process the first population to obtain a target individual, wherein the target individual is an individual obtained when the iteration termination condition of the differential evolution algorithm is satisfied; and determining the candidate location represented by the target individual as the target location of the ATM network point. The present disclosure also provides a location determination device, an electronic device, a computer-readable storage medium and a computer program product.
[0038] Figure 1 The exemplary system architecture 100 to which the method and apparatus for determining a position according to an embodiment of the present disclosure can be applied is schematically shown. It should be noted that: Figure 1 What is shown is merely an example of a system architecture to which the embodiments of the present disclosure can be applied, in order to help those skilled in the art understand the technical content of the present disclosure, but it does not mean that the embodiments of the present disclosure cannot be used in other devices, systems, environments or scenarios.
[0039] like Figure 1 As shown, the system architecture 100 according to this embodiment may include terminal devices 101, 102, 103, a network 104 and a server 105. The network 104 is used to provide a medium for communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired and / or wireless communication links, etc.
[0040] Users can use terminal devices 101, 102, 103 to interact with server 105 through network 104 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 101, 102, 103, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients and / or social platform software, etc. (only as examples).
[0041] The terminal devices 101 , 102 , and 103 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, and desktop computers.
[0042] The server 105 may be a server that provides various services, such as a background management server that provides support for websites browsed by users using the terminal devices 101 , 102 , and 103 (only an example).
[0043] For example, the background management server can respond to the obtained location determination request to obtain a first population, the first population includes M individuals, each individual is used to represent the candidate location of the ATM network, M ≥ 3, and use the differential evolution algorithm to process the first population to obtain the target individual, the target individual is the individual obtained when the iteration termination condition of the differential evolution algorithm is met, and the candidate location represented by the target individual is determined as the target location of the ATM network.
[0044] It should be noted that the location determination method provided in the embodiment of the present disclosure can generally be executed by the terminal device 101, 102, or 103, or can also be executed by other terminal devices different from the terminal device 101, 102, or 103. Accordingly, the location determination device provided in the embodiment of the present disclosure can also be set in the terminal device 101, 102, or 103, or in other terminal devices different from the terminal device 101, 102, or 103.
[0045] The location determination method provided in the embodiment of the present disclosure may also be executed by the server 105. Accordingly, the location determination device provided in the embodiment of the present disclosure may generally be arranged in the server 105. The location determination method provided in the embodiment of the present disclosure may also be executed by a server or server cluster that is different from the server 105 and can communicate with the terminal devices 101, 102, 103 and / or the server 105. Accordingly, the location determination device provided in the embodiment of the present disclosure may also be arranged in a server or server cluster that is different from the server 105 and can communicate with the terminal devices 101, 102, 103 and / or the server 105. .
[0046] It should be understood that Figure 1 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to the implementation requirements.
[0047] Figure 2 The flowchart of the position determination method according to the embodiment of the present disclosure is schematically shown.
[0048] like Figure 2 As shown, the method includes operations S201 to S204.
[0049] In operation S201, a location determination request for determining a location of an ATM network point is obtained.
[0050] According to the embodiments of the present disclosure, those skilled in the art can reasonably expand the method provided by the embodiments of the present disclosure to other fields besides the financial field. For example, in addition to ATM outlets, the method provided by the embodiments of the present disclosure can also be applied to the location determination of other types of service outlets, such as retail stores, restaurants or large supermarkets.
[0051] In operation S202, in response to a location determination request, a first population is obtained, wherein the first population includes M individuals, each individual is used to characterize a candidate location of an ATM network point, and M≥3.
[0052] In operation S203, the first population is processed using a differential evolution algorithm to obtain a target individual, wherein the target individual is an individual obtained when an iteration termination condition of the differential evolution algorithm is satisfied.
[0053] In operation S204, the candidate location represented by the target individual is determined as the target location of the ATM network point.
[0054] According to the embodiment of the present disclosure, a mathematical model for the location determination problem of the self-service teller machine outlets is established, and the mathematical model is solved by using the differential evolution algorithm to obtain a target location suitable for setting up the self-service teller machine outlets. Since the differential evolution algorithm has strong search capability and robustness, a target location suitable for setting up the self-service teller machine outlets can be selected from multiple candidate locations.
[0055] According to the embodiments of the present disclosure, since a technical means is adopted to obtain the target location of the ATM outlets by processing the first population using a differential evolution algorithm, it at least partially overcomes the technical problem in the related art of manually determining the location of the ATM outlets, which is time-consuming and costly, thereby achieving the technical effect of saving time and reducing costs.
[0056] Reference below Figure 3 to Figure 7 , combined with specific embodiments Figure 2 The method shown is further explained.
[0057] Figure 3 The flowchart schematically shows how to process the first population using the differential evolution algorithm to obtain the target individual according to an embodiment of the present disclosure.
[0058] like Figure 3 As shown, the method includes operations S301 to S303.
[0059] In operation S301, does the iteration termination condition of the differential evolution algorithm not meet? If yes, then execute operation S302; if no, then execute operation S303.
[0060] In operation S302, a mutation operator is used to process part or all of the individuals in the first population to obtain a mutant population, and operation S304 is performed.
[0061] According to an embodiment of the present disclosure, the iteration termination condition includes that the number of iterations reaches the maximum number of iterations or the coverage distance of the individual meets a preset condition, and the coverage distance is determined based on the candidate location represented by the individual and N settlement locations, N≥1.
[0062] In operation S303, individuals in the population that meet the iteration termination condition of the differential evolution algorithm are determined as target individuals.
[0063] In operation S304, a crossover operator is used to process the first population and the mutation population to obtain a crossover population.
[0064] In operation S305, the first population and the crossover population are processed by using the selection operator to obtain a second population, and the process returns to execute operation S301.
[0065] According to an embodiment of the present disclosure, the g-th population can be represented by X(g). The i-th individual in the g-th population can be represented by X i (g) = (x i,1 (g), x i,2 (g), ..., x i,j (g), ..., x i,n-1 (g), x i,n (g)). Wherein, i = 1, 2, ..., M-1, M, M represents the number of individuals included in the first population. g represents the number of generations of the population. j = 1, 2, ..., n-1, n, n represents the dimension of the individual.
[0066] According to the embodiments of the present disclosure, a mutation operator may be used to process some or all individuals selected from the first population X (g=1) to obtain a mutant population. The individual X in the first population X (g=1) may be processed in the manner provided by the following formula (1): i (g=1) to obtain individual H in the mutant population H(g=1) i (g=1).
[0067] H i (g=1)=X r1 (g=1)+λ(X r2 (g=1)-X r3 (g=1)) (1)
[0068] Among them, r1≠r2≠r3≠i, X r1 (g=1),X r2 (g = 1) and X r3 (g=1) respectively represent the first population X(g=1) different from individual X i (g=1) individuals. λ represents the scaling factor. H(g) represents the g-th mutant population.
[0069] According to an embodiment of the present disclosure, the x in the first population X (g=1) can be processed in the manner provided by the following formula (2): i,j (g=1) and h in the mutant population H(g=1) i,j (g=1), and obtain v in the crossover population V(g=1) i,j (g=1).
[0070]
[0071] Where V(g) represents the g-th crossover population. i,j (g) represents the j-th dimension vector of the i-th individual in the g-th crossover population. cr represents the crossover probability, cr∈[0,1]. rand(0,1) represents a random number that follows a uniform distribution on [0,1].
[0072] According to an embodiment of the present disclosure, by using a crossover operator to process the first population and the mutant population to obtain a crossover population, the diversity of the population can be increased, thereby improving the accuracy of determining the location of the ATM outlets.
[0073] Figure 4 The flowchart of using a selection operator to process a first population and a crossover population to obtain a second population according to an embodiment of the present disclosure is schematically shown.
[0074] like Figure 4 As shown, the method includes operations S401 to S404.
[0075] In operation S401 , for the same individual in the first population and the cross population, a coverage distance of the individual in the first population is determined.
[0076] In operation S402, the coverage distance of individuals in the crossover population is determined.
[0077] In operation S403, is the coverage distance of the individuals in the first population less than or equal to the coverage distance of the individuals in the cross population? If so, perform operation S404; if not, perform operation S405.
[0078] In operation S404, individuals in the first population are determined as individuals in the second population.
[0079] In operation S405, the individuals in the crossover population are determined as individuals in the second population.
[0080] According to the embodiment of the present disclosure, the individual X in the first population X (g=1) can be processed by the following formula (3): i (g=1) and individuals V in the crossover population V(g=1) i (g=1), we get the individual X in the second population X (g=2)i (g=2).
[0081]
[0082] Where f() represents the coverage distance.
[0083] According to an embodiment of the present disclosure, the coverage distance of an individual in the second population is less than or equal to the coverage distance of the same individual in the first population.
[0084] According to an embodiment of the present disclosure, the coverage distance may be the maximum distance among N distances determined based on the candidate location represented by the individual and the N residential location locations.
[0085] According to an embodiment of the present disclosure, the distance between the candidate location represented by the individual and each of the N residential location locations can be determined to obtain N distances. The largest distance among the N distances is determined as the coverage distance.
[0086] For example, a spherical area that can cover all settlements can be made with the candidate location represented by the individual as the center of the sphere, and the radius of the spherical area can be the coverage distance. The radius of the spherical area is the maximum distance between the candidate location and each settlement.
[0087] According to an embodiment of the present disclosure, the coverage distance may be an average distance of N distances determined between a candidate location represented by an individual and N residential locations.
[0088] According to an embodiment of the present disclosure, the distance between the candidate position represented by the individual and each of the N residential position can be determined to obtain N distances. The average distance of the N distances is determined, and the average distance is used as the coverage distance, wherein the average distance can represent the average situation of the candidate position from each residential position.
[0089] According to an embodiment of the present disclosure, since the average distance can characterize the average situation of the candidate location from each residential location, using the average distance as the coverage distance can make the distance between the selected candidate location and each residential location more appropriate, thereby maximizing the service quality of the ATM outlets.
[0090] Figure 5 A flowchart for determining the locations of N settlements according to an embodiment of the present disclosure is schematically shown.
[0091] like Figure 5 As shown, the method includes operations S401 to S404 and operations S501 to S502. Figure 4 The described methods are the same or similar and will not be repeated here.
[0092] In operation S501, a settlement network topology map is obtained, wherein the settlement network topology map includes T settlement locations.
[0093] In operation S502, N settlement point locations are determined from the T settlement point locations.
[0094] According to the embodiment of the present disclosure, both T and N are positive integers. The embodiment of the present disclosure does not specifically limit the size relationship between T and N. For example, N may be equal to T, but is not limited thereto, and N may also be less than T.
[0095] Figure 6 The flowchart of obtaining a network topology map of a settlement according to an embodiment of the present disclosure is schematically shown.
[0096] like Figure 6 As shown, the method includes operations S501-S502 and operations S601-S603. Among them, operations S501-S502 are similar to the above Figure 5 The described methods are the same or similar and will not be repeated here.
[0097] In operation S601, target map information is acquired, wherein the target map information includes an area location corresponding to each of a plurality of residential areas.
[0098] According to an embodiment of the present disclosure, a residential area may be, for example, a district-level administrative unit, such as District B of City A, but is not limited thereto. A residential area may also be, for example, a preset range in a map. The preset range may include a coverage distance range of 50 meters, 200 meters or 500 meters, or a block with an area of about 5 kilometers or 10 kilometers.
[0099] In operation S602, a location of a residential area corresponding to a residential area is determined according to the area location.
[0100] According to an embodiment of the present disclosure, the residential area may be a residential community, but is not limited thereto, and may also be a place with dense traffic such as a shopping mall.
[0101] In operation S603, a settlement network topology map is constructed according to the settlement locations.
[0102] According to an embodiment of the present disclosure, for example, when a settlement is a residential community, the position of the geometric center of each residential community on the map can be used as the location of the settlement. After determining the location of the settlement, all settlements are connected to each other with lines, and the line between two settlements is used as an edge. Then, the straight-line distance between every two settlements among all settlements is determined, and the straight-line distance between the two settlements is marked on the edge connecting the two settlements. Thus, a settlement network topology map can be obtained, in which each point in the settlement network topology map represents a settlement, and the straight-line distance between any two settlements is marked on the line connecting the two settlements.
[0103] According to an embodiment of the present disclosure, the straight-line distance between two settlements may be obtained by actual measurement or acquired from target map information.
[0104] According to an embodiment of the present disclosure, operation S601 may include the following operations.
[0105] Use crawler tools to obtain from map applications.
[0106] According to an embodiment of the present disclosure, a crawler tool may be used to obtain longitude and latitude information of a residential area from a map application, and then target map information may be determined based on the longitude and latitude information of the residential area.
[0107] For example, the longitude and latitude information of settlement A and settlement B are crawled using a crawler tool. The coordinates of settlement A are (X1, Y1), and the coordinates of settlement B are (X2, Y2), where X1 and X2 represent longitude, and Y1 and Y2 represent latitude. Then the distance between settlement A and settlement B is calculated using the following equation (4).
[0108] d=R*arcos[cos(Y1)*cos(Y2)*cos(X1-X2)+sin(Y1)*sin(Y2)] (4)
[0109] Among them, X1 represents the longitude of settlement A, and Y1 represents the latitude of settlement A. X2 represents the longitude of settlement B, and Y2 represents the latitude of settlement B. d represents the distance between settlement A and settlement B. R represents the radius of the earth, R = 6371.0 km.
[0110] Figure 7 The flowchart of obtaining target map information according to an embodiment of the present disclosure is schematically shown.
[0111] like Figure 7 As shown, the method includes operations S501-S502, operations S601-S603 or operation S6011 and operations S701-S702. Figure 5 The method described is the same or similar, and operations S601 to S603 are the same as Figure 6 The described methods are the same or similar and will not be repeated here.
[0112] In operation S701, initial map information is acquired.
[0113] In operation S702, data cleaning is performed on the initial map information to obtain target map information.
[0114] According to an embodiment of the present disclosure, data cleaning may refer to the process of re-examining and verifying data, with the aim of deleting duplicate data, deleting excess data, deleting or correcting incomplete data and erroneous data, thereby obtaining data with higher consistency.
[0115] According to an embodiment of the present disclosure, data processing may be performed on initial settlement points in initial map information to obtain target map information.
[0116] According to the embodiments of the present disclosure, some initial settlement points may have certain repetitiveness among the multiple initial settlement points. For example, there may be several initial settlement points that are relatively close in location, that is, only one settlement point needs to be determined from these initial settlement points that are relatively close in location. Thus, these initial settlement points that are relatively close in location can be merged into one settlement point, but it is not limited thereto, and an initial settlement point can also be selected from these initial settlement points that are relatively close in location as a settlement point.
[0117] According to an embodiment of the present disclosure, it is possible to determine whether several initial settlements that are relatively close in location can be merged into one settlement based on the location information of the initial settlements. For example, it is possible to determine whether the distance between at least two initial settlements meets the preset merging condition based on the location information of each initial settlement. If so, several initial settlements that are relatively close in location can be merged into one settlement. If not, several initial settlements that are relatively close in location cannot be merged into one settlement.
[0118] For example, the preset merging condition can be set to a distance of less than 20 meters, that is, among several initial settlements that are relatively close in location, it is determined whether the distance between each initial settlement is less than 20 meters. If there are two initial settlements whose distance is less than 20 meters, it is determined that these two initial settlements can be merged. However, it is not limited to this, and there may be three or more initial settlements whose distances meet the preset merging condition, that is, the distances between the two initial settlements among these three or more initial settlements are all less than 20 meters, then it is determined that this group of three or more initial settlements can be merged.
[0119] Figure 8 A block diagram of a position determination device according to an embodiment of the present disclosure is schematically shown.
[0120] like Figure 8 As shown, the position determination device 800 may include a first acquisition module 810 , a second acquisition module 820 , an algorithm processing module 830 and a first determination module 840 .
[0121] The first acquisition module 810 is used to acquire a location determination request for determining the location of an ATM network point.
[0122] The second acquisition module 820 is used to acquire a first population in response to a location determination request, wherein the first population includes M individuals, each individual is used to represent a candidate location of an ATM network point, and M≥3.
[0123] The algorithm processing module 830 is used to process the first population using the differential evolution algorithm to obtain a target individual, wherein the target individual is an individual obtained when the iteration termination condition of the differential evolution algorithm is satisfied.
[0124] The first determination module 840 is used to determine the candidate location represented by the target individual as the target location of the ATM network point.
[0125] According to the embodiments of the present disclosure, since a technical means is adopted to obtain the target location of the ATM outlets by processing the first population using a differential evolution algorithm, it at least partially overcomes the technical problem in the related art of manually determining the location of the ATM outlets, which is time-consuming and costly, thereby achieving the technical effect of saving time and reducing costs.
[0126] According to an embodiment of the present disclosure, the algorithm processing module 830 may include a first algorithm processing unit, a second algorithm processing unit, a third algorithm processing unit, an iteration unit, and a first determination unit.
[0127] The first algorithm processing unit is used to use a mutation operator to process part or all of the individuals in the first population to obtain a mutant population when it is determined that the iteration termination condition of the differential evolution algorithm is not met, wherein the iteration termination condition includes that the number of iterations reaches a maximum number of iterations or the coverage distance of the individual meets a preset condition, and the coverage distance is determined based on the candidate position represented by the individual and the positions of N settlements, and N≥1.
[0128] The second algorithm processing unit is used to process the first population and the mutation population using a crossover operator to obtain a crossover population.
[0129] The third algorithm processing unit is used to process the first population and the crossover population using the selection operator to obtain the second population.
[0130] The iteration unit is used to continue running the first algorithm processing unit until the iteration termination condition is met when it is determined that the iteration termination condition of the differential evolution algorithm is not met.
[0131] The first determining unit is used to determine an individual in the population that meets the iteration termination condition of the differential evolution algorithm as a target individual.
[0132] According to an embodiment of the present disclosure, the third algorithm processing unit may include a first determining subunit, a second determining subunit, a third determining subunit, and a fourth determining subunit.
[0133] The first determination subunit is used to determine the coverage distance of the individuals in the first population for the same individuals in the first population and the cross population.
[0134] The second determination subunit is used to determine the coverage distance of individuals in the cross population.
[0135] The third determination subunit is used to determine the individual in the first population as an individual in the second population when it is determined that the coverage distance of the individual in the first population is less than or equal to the coverage distance of the individual in the cross population.
[0136] The fourth determination subunit is used to determine the individual in the cross population as the individual in the second population when it is determined that the coverage distance of the individual in the first population is greater than the coverage distance of the individual in the cross population.
[0137] According to an embodiment of the present disclosure, the coverage distance is determined based on the candidate location represented by the individual and the locations of N residential areas, and may include the following operations.
[0138] The coverage distance is the maximum distance among the N distances determined between the candidate location represented by the individual and the N residential locations.
[0139] The coverage distance is the average distance of N distances determined based on the candidate location represented by the individual and the locations of N settlements.
[0140] According to an embodiment of the present disclosure, the above-mentioned position determination device 800 may further include a third acquisition module and a second determination module.
[0141] The third acquisition module is used to obtain a settlement network topology map, wherein the settlement network topology map includes T settlement locations.
[0142] The second determination module is used to determine N settlement point locations from T settlement point locations.
[0143] According to an embodiment of the present disclosure, the above-mentioned position determination device 800 may further include a fourth acquisition module, a third determination module and a construction module.
[0144] The fourth acquisition module is used to acquire target map information, wherein the target map information includes an area location corresponding to each residential area in the plurality of residential areas.
[0145] The third determination module is used to determine the location of the settlement corresponding to the residential area according to the regional location.
[0146] The construction module is used to construct a settlement network topology map based on the location of the settlement.
[0147] According to an embodiment of the present disclosure, the fourth acquisition module may include an acquisition unit.
[0148] The acquisition unit is used to acquire target map information from a map application using a crawler tool.
[0149] According to an embodiment of the present disclosure, the above-mentioned position determination device 800 may further include a fourth acquisition module and a data cleaning module.
[0150] The fourth acquisition module is used to acquire initial map information.
[0151] The data cleaning module is used to clean the initial map information to obtain the target map information.
[0152] According to the modules, units, and sub-units of the embodiments of the present disclosure, any multiple or at least part of the functions of any multiple thereof can be implemented in one module. According to the modules, units, and sub-units of the embodiments of the present disclosure, any one or more can be split into multiple modules for implementation. According to the modules, units, and sub-units of the embodiments of the present disclosure, any one or more can be at least partially implemented as a hardware circuit, such as a field programmable gate array (Field Programmable Gate Array, FPGA), a programmable logic array (Programmable Logic Arrays, PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or can be implemented by hardware or firmware of any other reasonable way of integrating or encapsulating the circuit, or implemented in any one of the three implementation modes of software, hardware, and firmware or in any appropriate combination of any of them. Alternatively, according to the modules, units, and sub-units of the embodiments of the present disclosure, one or more can be at least partially implemented as a computer program module, and when the computer program module is run, the corresponding function can be performed.
[0153] For example, any multiple of the first acquisition module 810, the second acquisition module 820, the algorithm processing module 830, and the first determination module 840 can be combined in one module / unit / sub-unit for implementation, or any one of the modules / units / sub-units can be split into multiple modules / units / sub-units. Alternatively, at least part of the functions of one or more of these modules / units / sub-units can be combined with at least part of the functions of other modules / units / sub-units and implemented in one module / unit / sub-unit. According to an embodiment of the present disclosure, at least one of the first acquisition module 810, the second acquisition module 820, the algorithm processing module 830, and the first determination module 840 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or by any one of the three implementation methods of software, hardware, and firmware, or by a suitable combination of any of them. Alternatively, at least one of the first acquisition module 810 , the second acquisition module 820 , the algorithm processing module 830 and the first determination module 840 may be at least partially implemented as a computer program module, and when the computer program module is executed, a corresponding function may be performed.
[0154] It should be noted that the position determination device part in the embodiment of the present disclosure corresponds to the position determination method part in the embodiment of the present disclosure. The description of the position determination device part specifically refers to the position determination method part, which will not be repeated here.
[0155] Fig. 9 A block diagram of an electronic device suitable for implementing the method described above according to an embodiment of the present disclosure is schematically shown. Fig. 9 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0156] like Fig. 9As shown, the electronic device 900 according to an embodiment of the present disclosure includes a processor 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage part 908 to a random access memory (RAM) 903. The processor 901 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or a related chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 901 may also include an onboard memory for caching purposes. The processor 901 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.
[0157] In RAM 903, various programs and data required for the operation of electronic device 900 are stored. Processor 901, ROM 902 and RAM 903 are connected to each other via bus 904. Processor 901 performs various operations of the method flow according to the embodiment of the present disclosure by executing the program in ROM 902 and / or RAM 903. It should be noted that the program can also be stored in one or more memories other than ROM 902 and RAM 903. Processor 901 can also perform various operations of the method flow according to the embodiment of the present disclosure by executing the program stored in the one or more memories.
[0158] According to an embodiment of the present disclosure, the electronic device 900 may further include an input / output (I / O) interface 905, which is also connected to the bus 904. The electronic device 900 may further include one or more of the following components connected to the I / O interface 905: an input portion 906 including a keyboard, a mouse, etc.; an output portion 907 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage portion 908 including a hard disk, etc.; and a communication portion 909 including a network interface card such as a LAN card, a modem, etc. The communication portion 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to the I / O interface 905 as needed. A removable medium 911, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 910 as needed, so that a computer program read therefrom is installed into the storage portion 908 as needed.
[0159] According to an embodiment of the present disclosure, the method flow according to an embodiment of the present disclosure can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable storage medium, and the computer program contains a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 909, and / or installed from the removable medium 911. When the computer program is executed by the processor 901, the above-mentioned functions defined in the system of the embodiment of the present disclosure are executed. According to an embodiment of the present disclosure, the system, equipment, device, module, unit, etc. described above can be implemented by a computer program module.
[0160] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present disclosure is implemented.
[0161] According to an embodiment of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium. For example, it may include, but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM (Erasable Programmable Read Only Memory, EPROM) or flash memory), a portable compact disk read-only memory (Computer Disc Read-Only Memory, CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, an apparatus or a device.
[0162] For example, according to an embodiment of the present disclosure, the computer-readable storage medium may include the ROM 902 and / or the RAM 903 described above and / or one or more memories other than the ROM 902 and the RAM 903 .
[0163] An embodiment of the present disclosure also includes a computer program product, which includes a computer program, and the computer program contains a program code for executing the method provided by the embodiment of the present disclosure. When the computer program product runs on an electronic device, the program code is used to enable the electronic device to implement the position determination method provided by the embodiment of the present disclosure.
[0164] When the computer program is executed by the processor 901, the above functions defined in the system / device of the embodiment of the present disclosure are executed. According to the embodiment of the present disclosure, the system, device, module, unit, etc. described above can be implemented by a computer program module.
[0165] In one embodiment, the computer program may rely on tangible storage media such as optical storage devices, magnetic storage devices, etc. In another embodiment, the computer program may also be transmitted and distributed in the form of signals on a network medium, and downloaded and installed through the communication part 909, and / or installed from a removable medium 911. The program code contained in the computer program may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
[0166] According to an embodiment of the present disclosure, the program code for executing the computer program provided by the embodiment of the present disclosure can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level process and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, Java, C++, python, "C" language or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on the remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (e.g., using an Internet service provider to connect through the Internet).
[0167] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram may represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box may also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions. It can be understood by those skilled in the art that the features recorded in the various embodiments and / or claims of the present disclosure can be combined and / or combined in a variety of ways, even if such a combination or combination is not explicitly recorded in the present disclosure. In particular, without departing from the spirit and teaching of the present disclosure, the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways. All of these combinations and / or combinations fall within the scope of the present disclosure.
[0168] The embodiments of the present disclosure are described above. However, these embodiments are only for illustrative purposes and are not intended to limit the scope of the present disclosure. Although the embodiments are described above separately, this does not mean that the measures in the various embodiments cannot be used in combination to advantage. The scope of the present disclosure is defined by the attached claims and their equivalents. Without departing from the scope of the present disclosure, those skilled in the art may make a variety of substitutions and modifications, which should all fall within the scope of the present disclosure.
Claims
1. A method for determining a position, comprising: Obtain a location determination request for determining a location of an ATM branch; In response to the location determination request, obtaining a first population, wherein the first population includes M individuals, each of which is used to represent a candidate location of an ATM network point, and M≥3; Processing the first population using a differential evolution algorithm to obtain a target individual, wherein the target individual is an individual obtained under the condition of satisfying an iteration termination condition of the differential evolution algorithm, wherein the iteration termination condition includes that the number of iterations reaches a maximum number of iterations or that the coverage distance of the individual satisfies a preset condition, and the coverage distance includes an average distance of N distances determined based on a candidate position represented by the individual and the positions of the N settlements, N≥1, wherein the N settlements are determined based on a settlement network topology map, the settlement network topology map includes T settlement positions and a straight-line distance between any two settlements, T is a positive integer, and the settlement determination method includes merging the at least two initial settlements into one settlement when the distance between the at least two initial settlements meets a preset merging condition; and The candidate location represented by the target individual is determined as the target location of the ATM network point.
2. The method according to claim 1, wherein: The using a differential evolution algorithm to process the first population to obtain a target individual includes: When it is determined that the iteration termination condition of the differential evolution algorithm is not satisfied, using a mutation operator to process part or all of the individuals in the first population to obtain a mutant population; Processing the first population and the mutant population using a crossover operator to obtain a crossover population; Processing the first population and the crossover population using a selection operator to obtain a second population; In the case where it is determined that the iteration termination condition of the differential evolution algorithm is not satisfied, continuing to perform the operation of determining the next generation population until the iteration termination condition is satisfied; and An individual in the population that meets the iteration termination condition of the differential evolution algorithm is determined as the target individual.
3. The method according to claim 2, wherein: The step of processing the first population and the crossover population by using a selection operator to obtain a second population includes: For the same individual in the first population and the cross population, determining a coverage distance of the individual in the first population; determining the coverage distance of the individuals in the crossover population; In a case where it is determined that the coverage distance of the individual in the first population is less than or equal to the coverage distance of the individual in the cross population, determining the individual in the first population as an individual in the second population; and In the case where it is determined that the coverage distance of the individual in the first population is greater than the coverage distance of the individual in the cross population, the individual in the cross population is determined as the individual in the second population.
4. The method according to claim 3, further comprising: Acquire a settlement network topology map, wherein the settlement network topology map includes T settlement locations; and The N settlement location are determined from the T settlement location.
5. The method according to claim 4, further comprising: Acquiring target map information, wherein the target map information includes an area location corresponding to each residential area of the plurality of residential areas; Determining the location of a residential area corresponding to the residential area according to the regional location; and A network topology map of the settlement is constructed according to the location of the settlement.
6. The method according to claim 5, wherein: The obtaining of target map information includes: The target map information is obtained from a map application using a crawler tool.
7. The method according to any one of claims 4 to 6, further comprising: Get initial map information; as well as The initial map information is cleaned to obtain the target map information.
8. A position determination device, comprising: A first acquisition module, used to acquire a location determination request for determining the location of an ATM network point; A second acquisition module is configured to acquire a first population in response to the location determination request, wherein the first population includes M individuals, each of which is used to represent a candidate location of an ATM network point, and M≥3; an algorithm processing module, configured to process the first population using a differential evolution algorithm to obtain a target individual, wherein the target individual is an individual obtained under the condition of satisfying an iteration termination condition of the differential evolution algorithm, wherein the iteration termination condition includes that the number of iterations reaches a maximum number of iterations or that the coverage distance of the individual satisfies a preset condition, and the coverage distance includes an average distance of N distances determined based on a candidate position represented by the individual and the positions of the N settlements, where N≥1, wherein the N settlements are determined based on a settlement network topology map, wherein the settlement network topology map includes T settlement positions and a straight-line distance between any two settlements, where T is a positive integer, and wherein the settlement determination method includes merging the at least two initial settlements into one settlement when the distance between the at least two initial settlements meets a preset merging condition; and The first determination module is used to determine the candidate location represented by the target individual as the target location of the ATM network point.
9. An electronic device, comprising: one or more processors; a memory for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 7.
10. A computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, enables the processor to implement the method according to any one of claims 1 to 7.
11. A computer program product, comprising a computer program, wherein the computer program is used to implement the method according to any one of claims 1 to 7 when executed by a processor.