Stochastic simulation optimization method, equipment and medium for road network signal control integrating safety considerations

By combining MATLAB, VISSIM and SSAM in road network signal control, using collapse balls and NSGAII algorithms to optimize traffic efficiency and safety indicators, the problem of ignoring safety and high costs in the existing technology is solved, and the more it is achieved Compatible with actual requirements and higher security levels.

CN114036748BActive Publication Date: 2024-12-10CENT SOUTH UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202111317107.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-09
Publication Date
2024-12-10
Estimated Expiration
2041-11-09

AI Technical Summary

Technical Problem

The existing road network signal control optimization technology ignores traffic safety, simulation optimization is expensive, and it is difficult to match actual traffic demand, especially in the presence of a large number of unpredictable random factors.

Method used

Using a road network information control random simulation optimization method that integrates safety considerations, the micro-traffic simulation control platform combines MATLAB, VISSIM and SSAM, uses the collapsed ball method and NSGAII algorithm to optimize traffic efficiency and safety indicators with dual goals to build an agent model , reduce the cost of simulation calculation and consider the influence of random factors in the road network.

Benefits of technology

It has realized a information control solution that optimizes traffic efficiency and safety at the same time, matches actual traffic needs, reduces simulation computing costs and manpower and material investment, and significantly improves the safety level of road networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114036748B_ABST
    Figure CN114036748B_ABST
Patent Text Reader

Abstract

The present invention discloses a random simulation optimization method, device and medium for road network signal control integrating safety considerations, and determines an initial joint potential area P0 according to the value range of the signal control scheme; k Sampling, and the current iteration sampling obtains the sampling set Λ k , all historical iterations are sampled to obtain the sampling set V k ; Use the microscopic traffic simulation control platform to k The traffic efficiency index and safety index are calculated according to the simulation results; the traffic efficiency index and safety index are used as dual objectives, and the collapse ball method is used to evaluate Λ k The dual-objective expected value of each sample in V k And the corresponding dual-objective expected value, establish the proxy model corresponding to the indicator, and solve the non-dominated solution set Π of the current iteration k ; Based on Π k Build P k+1 , used for sampling the signal control scheme for the k+1th iteration; repeat the above process and output the optimal signal control scheme. The signal control scheme obtained by the present invention is more in line with the actual traffic operation status.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of traffic simulation optimization, and in particular to a road network signal control random simulation optimization method integrating safety considerations. Background Art

[0002] How to alleviate urban road traffic congestion and safety issues by optimizing intersection signal control schemes has attracted great attention.

[0003] The traditional intersection signal control mode based on experience and field survey data only focuses on traffic efficiency and ignores safety performance, and consumes a lot of manpower and material resources, making it difficult to adapt to current needs and be widely promoted. Traffic simulation technology can use mathematical models to simulate the changes of traffic movement over time and space. Traffic simulation software based on this has become an important tool for continuous simulation control of traffic systems and can be used to solve real-life traffic problems. However, since the existing signal control optimization technology based on traffic simulation requires a large number of simulation times, it generates huge simulation calculation costs and is difficult to generate effective signal control solutions in a short period of time. In addition, there are a large number of unpredictable random factors in the road traffic system (such as road traffic and driver behavior). These traffic simulation optimization technologies lack consideration of these random factors, resulting in the final signal control solution being difficult to match actual traffic needs. Summary of the invention

[0004] In view of the problem that the existing road network signal control optimization technology ignores traffic safety and the simulation optimization cost is high, the present invention provides a road network signal control random simulation optimization method integrating safety considerations.

[0005] In order to achieve the above technical objectives, the present invention adopts the following technical solutions:

[0006] A road network signal control random simulation optimization method integrating safety considerations, comprising:

[0007] Step 1, determining the initial joint potential area according to the value range of the signal control scheme;

[0008] Step 2: sampling in the joint potential area, and all the signal control solution samples obtained by the current iteration sampling constitute the current sampling set, and all the signal control solution samples obtained by all the historical iteration sampling constitute the historical sampling set;

[0009] Step 3: Use the microscopic traffic simulation control platform to simulate each signal control solution sample in the current sampling set, and calculate the traffic efficiency index and safety index corresponding to each sample based on the simulation results;

[0010] Step 4: Taking the traffic efficiency index and the safety index as dual objectives, the collapsed ball method is used to evaluate the dual objective expected value of each sample in the current sampling set;

[0011] Step 5: Based on all samples in the historical sampling set and their corresponding dual-objective expected values, two proxy models corresponding to the traffic efficiency index and the safety index are established, and the non-dominated solution set of the current iteration is obtained by solving the model.

[0012] Step 6: construct a new joint potential region based on the non-dominated solution set of the current iteration for sampling the signal control solution of the next iteration;

[0013] Step 7, determine whether the termination condition is met, if not, return to step 2, if yes, terminate the loop and output the optimal signal control solution.

[0014] Furthermore, the traffic efficiency index is the number of passing vehicles, and the safety index is the collision energy.

[0015] Furthermore, the microscopic traffic simulation control platform integrates MATLAB, VISSIM and SSAM, with MATLAB as the main control engine, calling the VISSIM COM interface to control VISSIM, and calling the M2X Connector software to control SSAM; VISSIM simulates the signal control scheme and outputs vehicle trajectory data and vehicle driving data; SSAM performs a safety assessment on the vehicle trajectory data and obtains a conflict analysis report; and finally, MATLAB calculates the number of passing vehicles of the signal control scheme based on the vehicle driving data, and calculates the collision energy based on the conflict analysis report.

[0016] Furthermore, the signal control scheme is a signal control scheme based on a dual-loop phase structure, including phase sequence, signal cycle, boundary duration, green light time and phase difference.

[0017] Furthermore, the method for evaluating the expected value of the sample dual objectives in step 4 is:

[0018] According to the collapse sphere radius parameter r of the current iteration k k Determine the collapse sphere space range B(x, r k ), calculate the historical sampling set V k and is located on the collapse sphere B(x,r k ) for the average simulation estimate of the evaluation index i And calculate the current sampling set Λ k and is located on the collapse sphere B(x,r k ) for the average simulation estimate of the evaluation index i

[0019]

[0020] Among them, y refers to the signal control scheme in the set, h i(y) represents the simulation evaluation value of signal control scheme y for evaluation index i; evaluation index i represents the traffic efficiency index or safety index;

[0021] according to and Calculate the collapsed ball evaluation value of the sample x to be evaluated for the evaluation index i, that is, the expected value

[0022]

[0023] In the formula, α k is the weight factor parameter based on historical samples.

[0024] Furthermore, step 5 uses the NSGAII method to solve the two proxy models to obtain the non-dominated solution set Π of the current iteration k k .

[0025] Furthermore, in step 6, the expression of constructing a new joint potential region based on the non-dominated solution set of the current iteration is:

[0026]

[0027] In the formula, Π k is the set of non-dominated solutions for the current iteration k, is the non-dominated solution set Π k The signal control scheme in V k is the historical sampling set, x is the historical sampling set V k The signal control scheme in the code; y refers to the solution space of the signal control scheme In the signal control scheme, q(y,x) represents the Euclidean distance between x and y; P k+1 The joint potential area optimized for the k+1th iteration simulation.

[0028] Furthermore, in step 2, the Markov chain sampling technique is used to extract samples in the joint potential area.

[0029] An electronic device comprises a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor implements the method described in any one of the above technical solutions.

[0030] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the method described in any of the above technical solutions.

[0031] Beneficial effects of the present invention: The present invention simultaneously considers the two indicators of traffic efficiency and safety to simulate and optimize the road network signal control scheme, making up for the deficiency of the existing technology that rarely considers road safety, and the obtained signal control scheme is more in line with the actual traffic demand. The present invention fully utilizes the advantages of computer simulation, considers the influence of random factors in the road network, reduces the simulation calculation cost and the investment of manpower and material resources, and obtains a signal control scheme that can effectively improve the safety level of the road network. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] Figure 1 A flowchart of the method for the random simulation optimization technology of road network signal control integrating safety considerations in the present invention;

[0033] Figure 2 It is a schematic diagram of the structure of the VISSIM-SSAM-MATLAB simulation platform in the present invention;

[0034] Figure 3 It is a schematic diagram of the operating environment of the VISSIM-SSAM-MATLAB simulation platform in the present invention;

[0035] Figure 4 It is a framework diagram for executing the dual-objective potential area search algorithm based on the proxy model in the present invention;

[0036] Figure 5 It is a geographical location map and a VISSIM simulation road network schematic diagram of a specific embodiment of the present invention;

[0037] Figure 6 It is a comparison diagram of signal control schemes of specific embodiments of the present invention under consideration of the influence of random factors. DETAILED DESCRIPTION

[0038] The following is a detailed description of an embodiment of the present invention. This embodiment is based on the technical solution of the present invention, and provides a detailed implementation method and a specific operation process to further explain the technical solution of the present invention.

[0039] This embodiment provides a random simulation optimization method for road network signal control that integrates safety considerations, such as Figure 1 As shown, the following steps are included:

[0040] Step 1: Determine the initial joint potential area according to the value range of the signal control solution.

[0041] The present invention takes traffic efficiency and safety as optimization goals at the same time, uses VISSIM micro simulator as an evaluation tool, and optimizes the road network signal control scheme. In the road network signal control scheme, in order to combine phases more flexibly, the signal control scheme in the present invention, that is, the road network signal control method, applies a dual-loop phase structure, and considers the coordinated control of phase sequence and trunk signals. Among them, the coordinated control is achieved by setting the common signal cycle and the absolute phase difference. The absolute phase difference is to select a certain intersection as the standard intersection, set the phase difference of the intersection to 0, and the time difference between the green light start time of other intersections and the intersection. Therefore, the decision variables composed of the signal control scheme of the present invention include five parts, namely phase sequence, signal cycle, boundary duration, green light duration and phase difference. Among them, the phase sequence design in this embodiment is to distinguish the conflicting phases in the primary and secondary roads according to the dual-loop phase structure, and use binary variables to represent the phase sequence.

[0042] According to the respective value ranges of the phase sequence, signal period, boundary duration, green light duration and phase difference in the signal control scheme, this step 1 determines the initial joint potential area as the sampling space of the subsequent signal control scheme.

[0043] Step 2: sampling in the joint potential area, and all signal control solution samples obtained by current iterative sampling constitute the current sampling set, and all signal control solution samples obtained by all historical iterative sampling constitute the historical sampling set.

[0044] Step 3: Use the microscopic traffic simulation control platform to simulate each signal control scheme sample in the current sampling set, and calculate the traffic efficiency index and safety index corresponding to each sample based on the simulation results.

[0045] In this embodiment, the micro-traffic simulation control platform is mainly composed of three parts: MATLAB, VISSIM and SSAM. Among them, MATLAB is the main control engine, VISSIM is used for micro-traffic simulation, and SSAM is used for road network traffic safety evaluation. Before using the micro-traffic simulation control platform to simulate the signal control solution, VISSIM software is first used to build a simulated road network, configure traffic flow information, path information, signal light information, and driver behavior parameters, etc., to form a micro-traffic simulation model and generate the simulation configuration .inp file of VISSIM.

[0046] Specifically, MALTAB calls the VISSIM COM interface, sets the random seed, traffic demand, signal control scheme, simulation time and other traffic simulation parameters in VISSIM, and controls the VISSIM simulator to perform continuous simulation steps, generating the vehicle driving data file .fzp and trajectory data file .trj during the simulation process. Then, the M2X Connector automatic control software is called to control the SSAM software to import the generated trajectory data file .trj, perform traffic safety assessment based on the proxy safety index, and generate the corresponding safety assessment report file .csv. Finally, MATLAB reads the vehicle driving data file .fzp and the safety assessment report file .csv to calculate the vehicle collision energy and the number of vehicles passing on the road, and evaluate the impact of the signal control scheme on traffic safety and efficiency.

[0047] Among them, when the MATLAB main control engine calculates the vehicle collision energy based on the safety assessment report file .csv, it first determines the speed and collision angle of the leading vehicle and the following vehicle in each potential collision event. For different collision types at each moment, different formulas are used to calculate the potential collision energy at time t (PCE(t)):

[0048] Rear-end collision:

[0049] Frontal and lateral collisions:

[0050] Side impact:

[0051] Where m i With m j , and v i With v j , respectively represent the mass and speed of the leading vehicle i and the following vehicle j in a potential collision.

[0052] Then calculate the average potential collision energy of all vehicles:

[0053]

[0054] Where N c represents the number of collision events, t n Indicates the time when the nth collision event occurs, N v Represents the total number of vehicles in the simulation.

[0055] Finally, the relative collision energy index Characterizes the traffic safety level of the road network, where S0 represents the average potential collision energy under the comparison scheme (signal control scheme in the actual road network).

[0056] In addition, the traffic efficiency index in the present invention, namely, the ability to travel, is calculated as follows:

[0057]

[0058] Where C0 represents the number of vehicles passing through the road network simulation period under the comparison scheme (signal control scheme in the actual road network), and C v It indicates the number of vehicles passing through the signal control scheme during the road network simulation period.

[0059] Step 4: Taking the traffic efficiency index and the safety index as dual objectives, the collapsed ball method is used to evaluate the dual objective expected value of each sample in the current sampling set. The method for evaluating the dual objective expected value of the sample is:

[0060] According to the collapse sphere radius parameter r of the current iteration k k Determine the collapse sphere space range B(x, r k ), calculate the historical sampling set V k and is located on the collapse sphere B(x,r k ) for the average simulation estimate of the evaluation index i And calculate the current sampling set Λ k and is located on the collapse sphere B(x,r k ) for the average simulation estimate of the evaluation index i

[0061]

[0062] Among them, y refers to the signal control scheme in the set, h i (y) represents the simulation evaluation value of signal control scheme y for evaluation index i; evaluation index i represents the traffic efficiency index or safety index;

[0063] according to and Calculate the collapsed ball evaluation value of the sample x to be evaluated for the evaluation index i, that is, the expected value

[0064]

[0065] In the formula, α k is the weight factor parameter based on historical samples.

[0066] Step 5: Based on all samples in the historical sampling set and their corresponding dual-objective expected values, two proxy models corresponding to the traffic efficiency index and the safety index are established, and the non-dominated solution set of the current iteration is obtained by solving the model.

[0067] That is, for the traffic efficiency index, a proxy model is established based on the samples in the historical sampling set and the corresponding calculated dual-objective expected values; for the safety index, another proxy model is established based on the samples in the historical sampling set and the corresponding calculated dual-objective expected values.

[0068] In this embodiment, the NSGAII method is specifically used to solve the two proxy models to obtain the non-dominated solution set Π of the current iteration k k .

[0069] Step 6: construct a new joint potential region based on the non-dominated solution set of the current iteration for signal control solution sampling in the next iteration. The construction expression of the new joint potential region is:

[0070]

[0071] In the formula, Π k is the set of non-dominated solutions for the current iteration k, is the non-dominated solution set Π k The signal control scheme in V k is the historical sampling set, x is the historical sampling set V k The signal control scheme in the code; y refers to the solution space of the signal control scheme In the signal control scheme, q(y,x) represents the Euclidean distance between x and y; P k+1 The joint potential area optimized for the k+1th iteration simulation.

[0072] Step 7, determine whether the termination condition is met, if not, return to step 2, if yes, terminate the loop and output the optimal signal control solution.

[0073] The technical solution of the present invention is described in detail below in conjunction with specific embodiments, taking the coordinated control of signal at an intersection of a main road in a city as an example. Figure 5 As shown, the city's main road (Ganjiang Middle Avenue) intersects with Huizhan Road, Lvyin Road, Chunhui Road and Feihong Road to form four continuous T-shaped intersections. The road network adopts a signal coordination control method. It is necessary to design a reasonable signal control plan to control these four intersections so that the traffic efficiency and traffic safety of the intersections can be effectively improved.

[0074] For this example problem, a trunk signal coordination control micro-simulation model is established in the traffic simulation platform proposed in the present invention. First, the VISSIM simulator is used to build the trunk simulation road network of the four consecutive T-intersections, which mainly includes (1) adding road sections and connectors; (2) configuring road attributes; (3) configuring intersection signal lights; (4) setting vehicle recording parameters. Subsequently, the traffic flow information is configured according to the actual traffic OD data (as shown in Table 1), which mainly includes: (1) setting the traffic flow composition; (2) setting the traffic flow input method; (3) configuring the traffic flow path; (4) setting the driver behavior parameters, etc. Finally, the VISSIM simulation configuration .inp file is generated, and its VISSIM simulation road network model is as follows. Figure 5 shown.

[0075] Table 1 Mean and standard deviation of OD demand

[0076]

[0077] Note: Ganjiang Middle Avenue has 6 starting and ending points, such as Figure 5 As shown, there are 36 OD pairs in total. The first data in each OD pair cell in the table is the mean, and the second data is the standard deviation.

[0078] The MATLAB master control engine calls the VISSIM COM interface to load the simulation configuration .inp file, configure the SIMULATION property in VISSIM, set the simulation accuracy and simulation random seed, and initialize the intersection double-ring phase structure signal control parameters, import it into the VISSIM simulator, and perform traffic simulation. Call the EVALUATION property in VISSIM COM for simulation evaluation, and export the vehicle driving data file and vehicle trajectory data file. Subsequently, the MATLAB master control engine calls the M2XConnector automatic control software to control SSAM to read the vehicle trajectory file, perform traffic safety evaluation based on the proxy safety index, and generate the corresponding safety analysis file. The generated vehicle driving data file and safety analysis file are imported into the MATLAB master control engine, and the function method library is called to calculate the average potential collision energy and the number of vehicles passing on the road, and the two are imported into the algorithm module as the dual-objective simulation evaluation values ​​under the current signal control parameters.

[0079] The dual-objective potential area search algorithm based on the proxy model is executed through the MATLAB main control engine to coordinate and optimize the trunk signal control scheme. First, the collapsed ball method is used to evaluate all the collected sample points and establish a dual-objective proxy model. Then, the NSGAII method is used to solve the fitted proxy model to obtain the current non-dominated solution set. Subsequently, the range of the joint potential area is determined based on the obtained non-dominated solution, and the Markov chain sampling technology is used to sample and determine the new candidate signal control scheme. The signal control scheme is updated by calling the VISSIM COM interface to modify the SignalController property in NET. Finally, if the algorithm termination condition is met, the final optimization scheme is output.

[0080] Through the above-described technical solution, the signal scheme of the main road intersection in the city was simulated and optimized, and finally 7 non-dominated trunk coordinated signal control schemes (ASP1-ASP7) were obtained, including phase sequence, green light timing, phase difference and signal cycle duration (as shown in Table 2). Table 3 shows the comparison details of schemes ASP1 to ASP7 and the actual signal control scheme RSP after a single simulation experiment. It can be seen that the 7 non-dominated trunk coordinated signal control schemes obtained by this optimization technology are significantly better than the actual signal scheme, and the traffic safety index and efficiency index are improved by up to 46.91% and 87.66% respectively. From signal control scheme ASP1 to ASP7, the absolute percentage change index of collision energy The absolute percentage change index of the number of vehicles passing through This shows that increasing the number of vehicles passing through the main road will sacrifice certain safety performance, and vice versa. Traffic managers need to make a trade-off between the two. In addition, considering the influence of random factors in the simulation, Figure 6 The comparison results of 100 simulation experiments under different schemes are given. Compared with the median values ​​of the dual objectives, the seven non-dominated trunk coordinated signal control schemes are still better than the actual signal scheme RSP, which shows that the proposed optimization technology can effectively deal with the signal control problem with random factors.

[0081] In summary, the road network signal control random simulation optimization technology that integrates safety considerations in this embodiment can improve the phase sequence, signal cycle duration, green light timing and phase difference in urban road signal control. In the presence of random noise, it can improve the traffic efficiency of the main roads while ensuring the road safety level, and is effective and feasible in practical applications.

[0082] Table 2 Actual signal control scheme and the obtained non-dominated optimized trunk coordinated signal control scheme

[0083]

[0084]

[0085] Table 3 Comparison of the coordinated signal control schemes for non-dominated trunk lines

[0086]

[0087] Note: and It represents the comparison with the actual signal control scheme, namely S r =1.0,C r =1.0), the absolute percentage changes of the relative collision energy index and the relative passing vehicle number index of the 7 non-dominated solutions were obtained.

[0088] The above embodiments are preferred embodiments of the present application. Ordinary technicians in this field can also make various changes or improvements on this basis. Without departing from the overall concept of the present application, these changes or improvements should fall within the scope of protection required by the present application.

Claims

1. A random simulation optimization method for road network signal control integrating safety considerations, characterized in that: include: Step 1, determining the initial joint potential area according to the value range of the signal control scheme; Step 2: sampling in the joint potential area, and all the signal control solution samples obtained by the current iteration sampling constitute the current sampling set, and all the signal control solution samples obtained by all the historical iteration sampling constitute the historical sampling set; Step 3: Use the microscopic traffic simulation control platform to simulate each signal control solution sample in the current sampling set, and calculate the traffic efficiency index and safety index corresponding to each sample based on the simulation results; Step 4: Taking the traffic efficiency index and the safety index as dual objectives, the collapsed ball method is used to evaluate the dual objective expected value of each sample in the current sampling set; Step 4 The method for evaluating the expected value of the sample dual objectives is: According to the collapse sphere radius parameter r of the current iteration k k Determine the collapse sphere space range B(x, r k ), calculate the historical sampling set V k and is located on the collapse sphere B(x,r k ) for the average simulation estimate of the evaluation index i And calculate the current sampling set Λ k and is located on the collapse sphere B(x,r k ) for the average simulation estimate of the evaluation index i Among them, y refers to the signal control scheme in the set, h i (y) represents the simulation evaluation value of signal control scheme y for evaluation index i; evaluation index i represents the traffic efficiency index or safety index; according to and Calculate the collapsed ball evaluation value of the sample x to be evaluated for the evaluation index i, that is, the expected value In the formula, α k is the weight factor parameter based on historical samples; Step 5: Based on all samples in the historical sampling set and their corresponding dual-objective expected values, two proxy models corresponding to the traffic efficiency index and the safety index are established, and the non-dominated solution set of the current iteration is obtained by solving the model. Step 6: construct a new joint potential region based on the non-dominated solution set of the current iteration for sampling the signal control solution of the next iteration; Step 6: The expression of constructing a new joint potential region based on the non-dominated solution set of the current iteration is: In the formula, Π k is the set of non-dominated solutions for the current iteration k, is the non-dominated solution set Π k The signal control scheme in V k is the historical sampling set, x is the historical sampling set V k The signal control scheme in the code; y refers to the solution space of the signal control scheme In the signal control scheme, q(y,x) represents the Euclidean distance between x and y; P k+1 The joint potential area optimized for the k+1th iteration simulation; Step 7, determine whether the termination condition is met, if not, return to step 2, if yes, terminate the loop and output the optimal signal control solution.

2. The method according to claim 1, characterized in that The traffic efficiency index is the number of passing vehicles, and the safety index is the collision energy.

3. The method according to claim 2, characterized in that The microscopic traffic simulation control platform integrates MATLAB, VISSIM and SSAM, with MATLAB as the main control engine, calling the VISSIM COM interface to control VISSIM, and calling the M2XConnector software to control SSAM; And VISSIM simulates the signal control scheme and outputs vehicle trajectory data and vehicle driving data; SSAM performs a safety assessment on the vehicle trajectory data and obtains a conflict analysis report; finally, MATLAB calculates the number of passing vehicles of the signal control scheme based on the vehicle driving data and calculates the collision energy based on the conflict analysis report.

4. The method according to claim 1, characterized in that: The signal control scheme is a signal control scheme based on a dual-loop phase structure, including phase sequence, signal cycle, boundary duration, green light time and phase difference.

5. The method according to claim 1, characterized in that Step 5 Use the NSGAII method to solve the two proxy models and obtain the non-dominated solution set Π for the current iteration k k .

6. The method according to claim 1, characterized in that In step 2, Markov chain sampling technique is used to extract samples in the joint potential area.

7. An electronic device comprising a memory and a processor, wherein a computer program is stored in the memory, wherein: When the computer program is executed by the processor, the processor is caused to implement the method according to any one of claims 1 to 6.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.