Traffic flow dynamic planning balanced distribution method containing non-additive path utility
By constructing a traffic flow dynamic programming method with non-additive path utility, the problem that existing models cannot characterize the overall structure of the path is solved, enabling accurate modeling and optimization of user behavior, and improving the applicability and computational efficiency of traffic flow dynamic programming.
Patent Information
- Application Number
- CN202511287762.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-10
- Publication Date
- 2026-01-23
AI Technical Summary
Existing traffic flow dynamic programming models cannot accurately characterize the non-additivity and nonlinear structural dependencies in user path selection, making it difficult to achieve accurate modeling and optimization solutions in dynamic behavior decision-making and time-segmented work arrangements.
A traffic flow dynamic programming method based on non-additive path utility is constructed. By defining a path utility function and introducing a dynamic programming optimal path solution method, combined with the Frank-Wolfe method, accurate modeling and optimized solution of user behavior decisions are achieved.
It improves the applicability and computational efficiency of modeling complex user behavior decisions, and can achieve optimal path selection and network traffic allocation under the condition of structural preferences and constraints, which is consistent with the actual user behavior characteristics.
Smart Images

Figure CN121390489A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of traffic control and traffic management, and particularly relates to a traffic flow dynamic programming equilibrium distribution method containing non-additive path utility. BACKGROUND
[0002] In traffic system modeling and path selection behavior research, user equilibrium model as a core theoretical tool is widely used in traveler behavior modeling and traffic flow distribution optimization. The traditional user equilibrium model usually assumes that the user's path selection only depends on the additive utility of the path, that is, the total cost of each path is the simple addition of the individual cost of the constituent edges. Based on this assumption, most existing algorithms use the shortest path search method such as Dijkstra algorithm and A* algorithm, which is embedded in the Frank-Wolfe type iterative solution framework, to gradually approach the equilibrium state of the network. However, in many real behavior scenarios, the user's path selection is not only affected by the individual link benefit, but also disturbed or stimulated by the overall structural characteristics of the path, for example: continuously passing through multiple bottleneck links in the path, containing too many link numbers in the path, etc. Such influences make the path utility have non-additive and nonlinear structural dependence, which cannot be accurately described by the traditional additive benefit modeling method of the total utility of the path, thereby making the optimal path solving process face significant challenges.
[0003] In addition, in application backgrounds such as dynamic behavior decision-making and time-of-day scheduling, it is necessary to construct a network structure that accurately describes the user's behavior decision selection in different states. However, similarly, these network structures are mostly used for scheduling or optimal path problems under linear additive utility, and there is no general method system suitable for non-additive path utility modeling and solving. SUMMARY
[0004] The present application aims to overcome the shortcomings and deficiencies of the prior art, and proposes a traffic flow dynamic programming equilibrium distribution method containing non-additive path utility, which breaks through the limitations of the existing model that is only applicable to additive path utility and is difficult to describe structural preferences and overall path influences, and realizes accurate modeling and optimization solving of complex user behavior decision mechanisms.
[0005] To achieve the above-mentioned purpose, the technical scheme provided by the present application is as follows: a traffic flow dynamic programming equilibrium distribution method containing non-additive path utility, comprising the following steps:
[0006] S1: Construct a network model describing the user behavior decision-making process, which is represented as a directed graph composed of nodes and edges, the nodes represent the user's behavior state at each time point, and the edges represent the user's behavior choice from one state to another state, if the user chooses an edge, add a unit of flow to the edge, the user's choice of an edge constitutes the edge flow of the edge, and the edge flow of all edges constitutes the flow distribution result of the network model, i.e. network flow; define the edge utility of each edge as the benefit obtained by the user's behavior choice under the current network flow, and realize the conversion of the user's behavior decision-making problem to the network flow distribution problem; define the edge utility of each edge in the network model as the basis for modeling the subsequent user equilibrium model;
[0007] S2: Define the utility function of the path, which is used to calculate the utility value of the feasible path in the network model, including the additive path utility part obtained by the cumulative edge utility of each edge constituting the path and the non-additive path utility part composed of the punishment or preference related to the overall structure of the path;
[0008] S3: Construct a user equilibrium model based on path utility maximization, which is used to realize the equilibrium distribution of traffic flow, the user equilibrium model is characterized by each user tending to choose the feasible path with the maximum utility when choosing a path in the network model in step S1; in the equilibrium state, for an arbitrary pair of origin-destination pairs, i.e. OD pair, the utility value of all feasible paths actually assigned with positive flow is not less than the utility value of any feasible path not assigned with flow for the OD pair;
[0009] S4: On the basis of Frank-Wolfe method, introduce an optimal path dynamic programming solving method containing non-additive path utility, which is used as a direction search sub-problem module, construct an improved iterative solving framework based on Frank-Wolfe method, which is used to solve the user equilibrium model proposed in step S3; the Frank-Wolfe method converts the user equilibrium problem into a path utility maximization problem on a convex set, in each iteration, a linear approximation direction is constructed according to the current edge utility, i.e. the optimal path under the current flow is solved, and then a convex combination update is performed between the existing solution and the direction, so as to gradually approach the user equilibrium state, and finally converge to the equilibrium solution; the direction search sub-problem module is an optimal path solving method based on dynamic programming, which is used to solve the optimal path problem containing non-additive path utility in the path utility, through the state transition function, the additive path utility with cumulative characteristics and the non-additive path utility with structure are calculated in each path selection state in turn, and finally the optimal path is output under the condition of meeting the set path selection constraint, realizing direction search and obtaining the direction search solution;
[0010] S5: According to the step size strategy of the Frank-Wolfe method, update the path allocation traffic vector until the convergence criterion is met, and obtain the network traffic allocation result under the user equilibrium state; the step size strategy is used to perform convex combination update between the current solution and the direction search solution. It uses a fixed step size, optimal step size or Armijo line search method to determine the update coefficient of the current iteration. By adjusting the current traffic to the optimal path, the path traffic is gradually transferred under the drive of users pursuing the maximization of individual interests.
[0011] Furthermore, in step S1, the network model constructed is as follows:
[0012] The user's behavioral decision-making process is constructed as a directed graph G = (N, A) consisting of a node set N and an edge set A. Each user needs to make a behavioral decision from the starting point O to the ending point D, forming a complete path in the network model. The paths formed by the behavioral decisions of all users together constitute the equilibrium state of the network model. In the network model, the edge utility function u a (x a Let x be the number of users who choose edge a. a The relevant function is the flow x along edge a. a Changes can be incorporated into the design by taking into account user behavior and preferences.
[0013] Furthermore, in step S2, the utility function of the path is used to characterize the user's preference for choosing a complete path, that is, the user's decision preference for the overall behavior, which consists of two components:
[0014] a. The additivity path utility component is obtained by summing the edge utilities of all edges included in the path, that is, the user's perception of the total benefit of all edges included in the entire behavioral decision, expressed by the following formula:
[0015]
[0016] In the formula, U linear (p) denotes the additivity of path p, where a∈p means that edge a belongs to path p;
[0017] b. The non-additive path utility component, used to characterize the reward or penalty resulting from the user's choice of this behavior in relation to the overall structural features of the path, cannot be decomposed into a form using continuous edges and needs to be modeled as a global function, as follows:
[0018] U struct (p)=Φ(p)
[0019] In the formula, Φ(p) represents a non-additive path utility part of the path p, is defined as a utility function determined by the path overall structure, is calculated by a discrete nonlinear term, has path overall correlation and non-additive calculation characteristics, and the discrete nonlinear term has a specific edge total number, a continuous length of a specific edge, and an overall path length; the non-additive path utility part is defined as negative utility brought by the continuous length of the specific attribute edge selected by the user, and the longer the continuous length of the specific attribute edge selected by the user, the greater the negative utility, and the specific attribute edge is specifically represented by the following formula:
[0020]
[0021] In the formula, χ p m represents the continuous length of the mth continuous specific attribute edge on the path p; θ is a continuous length judgment threshold value of the continuous specific attribute edge generating the non-additive utility, that is, when the continuous length of the specific attribute edge is greater than θ, the non-additive negative utility is generated to the path selected by the user; b is a model parameter, representing a nonlinear influence of accumulation of the continuous length of the specific attribute edge; and σ is a model parameter, representing a basic value of the negative utility.
[0022] According to the above, the utility function of the path in the user equilibrium model is represented as:
[0023]
[0024] In the formula, U(p) represents the utility of the path.
[0025] Further, in step S3, the user equilibrium model describes an individual utility optimization principle followed by the user in the behavior decision as follows: each user tends to select a feasible path with the maximum path utility under the current edge benefit condition when facing the next behavior decision; from the network model structure, when the equilibrium state is reached, for any OD pair, the path utility value of all paths actually allocated with positive flow is not less than the utility value of any feasible path not allocated with flow for the OD pair, that is, the following condition is met:
[0026]
[0027] In the formula, P represents a set of all feasible paths of the OD pair (o, d), o represents a starting node, and d represents a terminal node, represents the flow allocated to the path p.
[0028] Further, in step S4, the specific steps of solving the user equilibrium model by the improved iterative solution framework are as follows:
[0029] S41: initialization of flow allocation state: according to the given directed graph G=(N, A), the link utility function u a (x a ), initialize the iteration counter k=0, and initialize the edge flow vector x (0) under the path flow allocation of the 0th iteration in the network model, and calculate the corresponding edge utility u a (k) (x a (k) ) of the network model under the path flow allocation of the kth iteration;
[0030] S42: calculation of optimal utility path and auxiliary edge flow based on current edge utility: in each iteration, for any OD pair (o, d) in the network model, take the current edge utility u a (k) (x a (k) ) as the edge weight of the network model, calculate the path utility of each feasible path of the OD pair, and then obtain the optimal path and allocate all the demand of the OD pair to the optimal path, update the edge flow of each edge according to the current path flow allocation result and the edge-path flow mapping relationship, which is calculated according to the following formula:
[0031]
[0032] In the formula, is an indication variable of edge-path inclusion relationship, which takes the value of 1 when the path p contains the edge a, otherwise 0, and the auxiliary edge flow y (k) of the current iteration round is obtained after updating the flow according to the edge-path flow mapping relationship;
[0033] S43: calculation of descent direction vector: according to the difference between the current edge flow x (k) and the auxiliary edge flow y (k) , construct the descent direction vector d (k) :
[0034] d (k) =y (k) -x (k)
[0035] S44: according to the convex combination update rule, linearly combine the current edge flow x (k) and the descent direction vector d (k) to obtain the edge flow x (k+1) of the k+1th iteration round:
[0036] x (k+1) =x (k)+ a k d (k)
[0037] where a k is the search step size;
[0038] S45: Iteration convergence judgment: according to the updated edge flow x (k+1) , the gap function value G(x (k+1) ) used to evaluate the accuracy of the solution in the improved iterative solution framework is calculated:
[0039]
[0040] where p od (x (k+1) ) represents the path utility of the optimal path between the OD pair (o, d) at the k+1 round when the edge flow is x (k+1) , u a (x a (k+1) ) represents the edge utility when the flow on edge a is x a (k+1) , and q od represents the total demand between the OD pair (o, d), i.e., the total number of users who need to make decisions between the OD pair (o, d); it is judged whether G(x (k+1) ) is less than a given convergence judgment threshold e, if the convergence condition G(x (k+1) )<e is met, the iteration is terminated, otherwise k=k+1 is set and the next round of iteration is returned to step S42.
[0041] Further, in step S4, the direction search sub-problem module acts on the link of solving the optimal path in each round of iteration in step S42, and the output result of the direction search sub-problem module constitutes the descent direction vector d (k) of the current iteration; in order to adapt to the feature that the path utility contains non-additive structure, the dynamic programming idea is introduced to construct a solution method for the optimal path , and the specific steps are as follows:
[0042] S42-1: Construct node state space: construct the multi-dimensional state variable (i, l, c, s) of the user at each node, and each variable represents: the current node index i, the total length of the selected specific attribute edge l, the continuous length of the specific attribute edge c, and the judgment flag s of whether it is in the continuous state; where s e {0, 1} represents whether the last state is a specific attribute state, 1 represents that the specific attribute edge is being continuously selected, and 0 represents non-continuous; in the direction search sub-problem module, the cumulative total length of the specific attribute edge is limited to be maximum L, so as to depict the optimal behavior decision-making process of the user under the condition that the total number of specific attribute edges is limited;
[0043] S42-2: initialize the dynamic programming state value function: build the dynamic programming state value function DP(i, l, c, s) representing the maximum cumulative path utility brought by the behavior decision made by the user up to the current node i in the corresponding state (i, l, c, s); the initialization condition is set as DP(-1, 0, 0, 0) = 0; since the optimal path is the path with the maximum total benefit, the state values of other states are initialized as negative infinity;
[0044] S42-3: set the state transition rule and calculate the dynamic programming state function value of each state: when the user arrives at node i after making a behavior decision, the current state of node i is transferred from the previous state, and the dynamic programming state value function DP(i, l, c, s) of the current state is calculated based on the previous state. The possible states of node i and the specific state transition rule are as follows:
[0045] a. not selecting a specific attribute edge to arrive at node i: when the user does not select a specific attribute edge, the state at node i is (i, l, 0, 0), and the state transition function DP(i, l, 0, 0) is:
[0046]
[0047] wherein, i pre represents a node directly connected to node i as the last state node at node i; P(c) represents the non-additive utility generated when the continuous length of the specific attribute edge is c, which is consistent with the calculation method of the non-additive path utility part Φ(p) in the path utility function:
[0048] P(c) = σ(max{0, (c - θ)}) b
[0049] 1 {s=1} is defined as a Boolean indicator function, when node i pre is the maximum cumulative utility DP(i pre , l, c, s) corresponding to the state of continuously selecting a specific attribute edge, i.e., s = 1, and the state corresponding to the current calculation of the dynamic programming function value DP(i, l, 0, 0) at node i is the non-continuous selection of the specific attribute edge state, the negative utility brought by the continuous selection of the specific attribute edge is calculated;
[0050] b. selecting a specific attribute edge and continuously selecting a specific attribute edge to arrive at node i: the state at node i is (i, l + 1, c + 1, 1), and the state transition function DP(i, l + 1, c + 1, 1) is:
[0051]
[0052] In the formula, is the connecting node i pre and the edge benefit of the specific attribute edge of node i, indicating the positive benefit brought to the user by selecting the specific attribute edge in the corresponding period;
[0053] c, the state at node i when the specific attribute edge is selected and the specific attribute edge is not continuously selected to reach node i is (i, l+1, 1, 1), and the state transition function DP(i, l+1, 1, 1) is:
[0054]
[0055] S42-4: Optimal value backtracking: for any OD pair (o, d), the maximum value is selected as the path benefit value of the optimal path in the OD pair when the end state (d, L, c, s) is reached, and path backtracking is performed, and the optimal path of the OD pair is output, and the path benefit value ans of the optimal path is specifically represented as follows:
[0056]
[0057] In the formula, DP(d, L, c, s) represents the maximum cumulative path utility when the end state is (d, L, c, s);
[0058] Through the above steps S42-1 to S42-4, the direction search sub-problem module can calculate the optimal path utility in the case of including the non-additive part in the path utility, solve the optimal path selection problem, and provide the direction search optimal solution for solving the user equilibrium problem.
[0059] Compared with the prior art, the present application has the following advantages and beneficial effects:
[0060] 1. The present application proposes a method based on user behavior decision modeling, which can finely depict the behavior state transition process of the user in a dynamic environment by abstracting the user behavior process as path selection in a network model and combining the design of edge utility, effectively reflects the preference and response of the user to path selection under different traffic conditions, improves the expression ability and modeling applicability of the complex behavior decision path, and provides a unified and flexible model basis for subsequent network equilibrium analysis and traffic distribution.
[0061] 2. The present application introduces a non-additive path utility part in the path utility function, which can accurately describe the influencing factors of the overall structure of the path on the user selection, such as the fatigue negative utility caused by continuous work, and makes up for the deficiency of the traditional path utility model in modeling structural preference.
[0062] 3. This invention designs an optimal path solution method based on dynamic programming, which can solve the optimal path in the case of complex path utilities with non-additivity, and breaks through the limitation of traditional path algorithms such as Dijkstra's algorithm and A* algorithm that are only applicable to additivity path utilities.
[0063] 4. This invention introduces a dynamic programming solution method for optimal paths with non-additive path utilities into the Frank-Wolfe method, treating it as a sub-problem module for direction search. This breaks through the dependence of traditional user equilibrium models on the assumption of path additivity, and realizes efficient optimal path search and approximation of user equilibrium solutions under the existence of structural preference constraints. Attached Figure Description
[0064] Fig. 1 This is a schematic diagram of the main steps of the method of the present invention.
[0065] Fig. 2 A schematic diagram of a clock-extended network model.
[0066] Fig. 3 This is a schematic diagram of the improved iterative solution framework based on the Frank-Wolfe method proposed in this invention. Detailed Implementation
[0067] The present invention will be further described in detail below with reference to the embodiments and accompanying drawings, but the embodiments of the present invention are not limited thereto.
[0068] like Figs. 1-3 As shown, this embodiment discloses a traffic flow dynamic programming equilibrium allocation method with non-additive path utility. The application background is set as follows: each ride-hailing driver needs to make autonomous decisions about their working hours within a 24-hour period. The decision-making process is influenced by the expected benefits at different times and fatigue from continuous work. In this model, the working hours choices of all ride-hailing drivers in the entire market constitute a user equilibrium state, meaning that the working path chosen by each driver under the current system conditions is either optimal or unimprovable in terms of utility. To model this behavioral decision-making process, a network model describing the user's behavioral decision-making process is constructed. The driver's choice of whether to work at different times is abstracted as a path in the network model, thus transforming the individual behavior optimization problem into a user equilibrium model. The proposed traffic flow dynamic programming equilibrium allocation method with non-additive path utility is used to solve this model. Finally, the working situation of all drivers in each time period is obtained under the condition that each driver maximizes their own benefits. The solution includes the following steps:
[0069] 1) Construct a network model describing the user's behavioral decision-making process, as follows:
[0070] The driver's work and rest behavior decisions in different time periods are abstracted as a time-based directed graph G=(N, A) composed of a node set N and an edge set A, which is presented as a clock expansion network model with 24 rows and 2 columns, as shown in FIG. 1. Fig. 2 A natural day is divided into 24 time periods of equal length, each row represents a specific time period, and two nodes are set under each time period, corresponding to the work state node and the rest state node respectively, forming two columns of nodes. In addition, in order to ensure the integrity of the network, a pair of virtual unified starting point O and ending point D are set. For each driver, he needs to complete the behavior decision from O to D every day, which constitutes a complete path in the network. The behavior decision paths of all drivers together form the user equilibrium state of the clock expansion network model.
[0071] In the clock expansion network model, all nodes are connected through the following edge set A: w A represents the edge set of continuous work state, connecting the work column nodes of adjacent two rows; r A represents the edge set of continuous rest state, connecting the rest column nodes of adjacent two rows; wr A represents the edge set of work and rest state switching, corresponding to the nodes between the two columns in the same row, used to model the state transition of the user; o A represents the starting point connection edge set, indicating that the user enters any initial time state node from the unified starting point; d A represents the ending point connection edge set, indicating that the user exits from the current state after any time period ends and connects to the unified ending point D; wherein, w and A r A represents the time-consuming edge, on which the user experiences the actual time; wr , A o , A d A represents the zero-time-consuming virtual edge, which is only used to represent state switching or boundary connection.
[0072] The user can only obtain the time period utility on the work state edge set A w , which constitutes the final behavior decision total utility benefit, i.e., the user only obtains the benefit in the work state. The time period utility function, i.e., the edge utility function in the clock expansion network model is a function related to the flow of choosing work on the edge a w , which can be designed in combination with the user behavior preference factors; in this example, the edge utility is defined as the average benefit of the time period, as follows:
[0073]
[0074] wherein, is the edge a wthe benefits of the user. In this example The specific values of the are: (2, 2, 2, 2, 4, 4, 12, 12, 12, 4, 4, 6, 6, 4, 4, 4, 4, 12, 12, 12, 4, 4, 4, 4) x 100;
[0075] 2) Define the utility function of the path:
[0076]
[0077] In the formula, is the additivity path utility obtained by accumulating the utility values of all edges contained in the path p, is the non-additivity path utility of the path p, mainly composed of the negative utility of fatigue brought by the continuous working period, represents the continuous length of the mth segment of the continuous working state edge on the path p; is the judgment threshold of the continuous working edge length that produces the negative utility of fatigue, that is, when the length of the continuous working period is greater than the negative utility of fatigue will be generated on the path selected by the user; is a model parameter, representing the non-linear effect of the accumulation of continuous working length; is a model parameter, representing the basic value of the negative utility of fatigue. In this example, the value of the above parameter is
[0078] 3) Solve the user equilibrium network of the driver's time-period working behavior decision, and the specific steps are as follows:
[0079] a, initialize the traffic allocation state:
[0080] According to the given directed graph G=(N, A), the link utility function Initialize the iteration counter k=0, and initialize the edge flow vector x (0) in the network model in the path flow allocation of the 0th iteration, calculate the edge utility corresponding to the clock expansion network model in the path flow allocation of the kth iteration In this example, the initialized edge flow vector takes the value: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
[0081] b, calculate the optimal utility path and auxiliary edge flow based on the current edge utility: in each iteration, the uniform virtual OD pair (O, D) set in the clock expansion network model takes the current edge utility value as the edge weight of the clock expansion network model, calculates the path utility of each feasible path of the OD pair, and further obtains the optimal path And the demand of the OD pair is allocated to the optimal path entirely, according to the current path flow allocation result, the flow of each edge is updated through the edge-path flow mapping relationship, which is calculated according to the following formula:
[0082]
[0083] Wherein, is the indication variable of edge-path inclusion relation, which is 1 when path p contains edge a, otherwise 0, the auxiliary edge flow y of the current iteration round is obtained after updating the flow according to the edge-path flow mapping relationship (k) ;
[0084] For the optimal path The optimal path dynamic programming solving method with non-additive path utility is used to solve, which is as follows:
[0085] b-1, constructing node state space: constructing multi-dimensional state variables of users at each node Respectively represent the current node index i, the total length of the selected edge in the working state The length of the edge in the continuous working state And the judgment flag whether in continuous state Wherein, Indicates whether the last state is in working state, 1 indicates that the edge in working state is being continuously selected, 0 indicates that the edge in working state is not being continuously selected; In the direction search sub-problem module, the total length of the edge in working state is limited to 10 at most, so as to depict the optimal behavior decision-making process of users under the condition of maximum working time limit;
[0086] b-2, initialize dynamic programming state value function: construct dynamic programming state value function Indicates the maximum cumulative path utility of the behavior decision of the user up to the current node i under the corresponding state; The initialization condition is set as DP(-1, 0, 0, 0) = 0; Since the optimal path is the path with the maximum total benefit, the state value functions of other states are initialized to negative infinity;
[0087] b-3, set state transition rule and calculate the dynamic programming state function value of each state: when the user arrives at node i after making a behavior decision, the current state of node i All come from state transition based on the last state, and the dynamic programming state value function of the current state is calculated based on the last state The possible states of node i and the specific state transition rules are as follows:
[0088] ① No edge in working state is selected to arrive at node i: when no edge in working state is selected by the user, the state at node i is The state transition function is
[0089]
[0090] Where, i pre denotes the node directly connected with node i by an edge, and is the last state node of the state at node i; denotes continuous work The fatigue negative utility generated in 1 hour is consistent with the calculation method of the non-additive part of the path utility function:
[0091]
[0092] is defined as a Boolean indicator function, when node i pre The maximum cumulative utility corresponding state is continuously selecting the edge in the working state, that is And the current calculation of the dynamic programming function value corresponding state is not continuously selecting the edge in the working state, and the negative utility from fatigue is calculated;
[0093] ② Select the edge in the working state, and when the continuously selected edge in the working state reaches node i, the state transition function is:
[0094]
[0095] Where, is the edge benefit of the working edge connecting node i pre and node i, indicating the positive income brought to the user by selecting the edge in the working state in the corresponding period;
[0096] ③ Select the edge in the working state, and when the non-continuously selected edge in the working state reaches node i, the state transition function is:
[0097]
[0098] b-4, optimal value backtracking: traverse all end states Select the maximum value as the global optimal target value, and perform path backtracking to output the optimal path and the global optimal value Specifically represented as follows:
[0099]
[0100] Where, denotes that the virtual terminal end state is the maximum cumulative path utility at the time.
[0101] c. Calculate the descent direction vector: according to the current edge flow x (k) and the difference between the auxiliary edge flow y (k) , construct the descent direction vector d (k) :
[0102] d (k) = y (k) - x (k)
[0103] d. Linearly combine the current edge flow x (k) and the descent direction vector d (k) according to the convex combination update rule to obtain the edge flow of the next round of iteration:
[0104] x (k+1) = x (k) + a k d (k)
[0105] In the formula, a k is the search step size;
[0106] e. Iterative convergence judgment: according to the updated edge flow x (k+1) , calculate the gap function value G(x (k+1) ) used to evaluate the accuracy of the solution in the improved iterative solution framework:
[0107]
[0108] where p OD (x (k+1) ) represents the path utility of the optimal path between the virtual starting and ending points (O, D) under the edge flow x (k+1) , and q od represents the total demand between (O, D), i.e., the total number of drivers who need to make a decision on whether to do work between (O, D), in this example, q OD = 200; judge whether G(x (k+1) ) is less than a given convergence judgment threshold e, if the convergence condition G(x (k+1) ) < e is met, terminate the iteration, otherwise let k = k + 1, and return to step b to start the next round of iteration;
[0109] According to the above steps, iterative solution is performed until the convergence criterion is met, and the network flow allocation result under the user equilibrium state in this example is obtained as: (4, 2, 3, 7, 66, 55, 183, 165, 176, 62, 75, 135, 132, 57, 58, 53, 40, 191, 172, 191, 40, 53, 53, 53).
[0110] The observation result can find that the time period with higher income will attract a large number of drivers to choose to work, and the number of drivers choosing to work at noon and early morning is obviously reduced, but there is no situation that all drivers concentrate in the high-income time period and the number of drivers in the low-income time period is 0. This is because the total working time is limited in the clock expansion network model constructed in the example, and even if the income of some time period is higher, the driver must make a choice and allocation in the whole day time period, and cannot cover all peak periods, so as to form the driver's optimal strategy in different time periods. And the non-additive negative utility of the continuous working time in the clock expansion network model leads to the fact that the driver needs to bear additional loss when choosing to work in continuous multiple time periods, so the network traffic allocation result under the user equilibrium state will not appear a large number of drivers choosing to work from early to late, but will be biased towards the intermittent strategy, that is, the high-efficiency time period is more obviously concentrated in work, and the low-efficiency or high-fatigue risk time period is avoided, so as to alleviate the punishment of the non-additive utility.
[0111] The network traffic allocation result fully embodies the advantages of the method of the present application: under the joint action of the total working time limit and the fatigue punishment mechanism caused by continuous work, the driver tends to actively avoid the path structure of continuous long time period work, and turns to concentrate on choosing the time period with higher income and lower fatigue effect to work online, so as to form a work arrangement strategy that is more in line with the actual operation situation of the driver and the individual profit-seeking behavior characteristics in the expression of the model on the driver's behavior decision. The result can more realistically reflect the rational decision-making process of each driver under the complex utility structure and group game environment, and finally form a user equilibrium state with structural stability and reasonable behavior.
[0112] Further, the present application breaks through the dependence of the traditional user equilibrium model on the assumption of additive path utility, and realizes the optimal path selection and network traffic allocation result calculation under the existence of structural preference or constraint condition. The method not only has good calculation efficiency and convergence, but also significantly improves the explanatory power and applicability of the user equilibrium model in actual complex behavior modeling, and has outstanding theoretical innovation and engineering application value.
[0113] The above embodiments are the preferred embodiments of the present application, but the embodiments of the present application are not limited by the above embodiments, and any changes, modifications, substitutions, combinations and simplifications made without departing from the spirit and principles of the present application shall be equivalent replacement modes, and all shall be included in the protection scope of the present application.
Claims
1. A dynamic programming equilibrium allocation method for traffic flow containing non-additive path utilities, characterized in that, Includes the following steps: S1: Construct a network model describing the user's behavioral decision-making process, representing it as a directed graph consisting of nodes and edges. Nodes represent the user's behavioral state at each time point, and edges represent the user's behavioral choices when transitioning from one state to another. If a user chooses an edge, one unit of flow is added to that edge. All user choices for a given edge constitute the edge flow of that edge, and the edge flow of all edges constitutes the flow allocation result of the network model, i.e., network flow. Define the edge utility for each edge, which represents the benefit gained by the user's choice of that edge under the current network flow, thus transforming the user's behavioral decision-making problem into a network flow allocation problem. Define the edge utility of each edge in the network model as the basis for subsequent user equilibrium model modeling. S2: Define a utility function for paths to calculate the utility value of feasible paths in the network model, including an additive path utility component obtained by summing the edge utilities of each edge constituting the path and a non-additive path utility component composed of penalties or preferences related to the overall structure of the path. S3: Construct a user equilibrium model based on maximizing path utility to achieve balanced traffic flow allocation. The characteristic of the user equilibrium model is that each user tends to choose the feasible path with the highest utility when selecting a path in the network model described in step S1. In the equilibrium state, for any pair of origin and destination, i.e., OD pair, the utility value of all feasible paths that are actually allocated positive traffic is not less than the utility value of any feasible path that is not allocated traffic under that OD pair. S4: Based on the Frank-Wolfe method, an optimal path dynamic programming solution method with non-additive path utility is introduced, which is used as a direction search subproblem module to construct an improved iterative solution framework based on the Frank-Wolfe method for solving the user equilibrium model proposed in step S3. The Frank-Wolfe method transforms the user equilibrium problem into a path utility maximization problem on a convex set. In each iteration, a linear approximate direction is constructed based on the current edge utility, i.e., the optimal path under the current flow conditions is solved. Then, a convex combination update is performed between the existing solution and the direction, thereby gradually approaching the user equilibrium state and finally converging to the equilibrium solution. The direction search subproblem module is a dynamic programming-based optimal path solution method used to solve optimal path problems where path utility includes non-additive path utility. Through a state transition function, it calculates the additivity path utility with accumulative properties and the non-additive path utility with structural properties under each path selection state. Finally, under the condition of satisfying the set path selection constraints, it outputs the optimal path, realizes the direction search, and obtains the direction search solution. S5: According to the step size strategy of the Frank-Wolfe method, update the path allocation traffic vector until the convergence criterion is met, and obtain the network traffic allocation result under the user equilibrium state; the step size strategy is used to perform convex combination update between the current solution and the direction search solution. It uses a fixed step size, optimal step size or Armijo line search method to determine the update coefficient of the current iteration. By adjusting the current traffic to the optimal path, the path traffic is gradually transferred under the drive of users pursuing the maximization of individual interests.
2. The traffic flow dynamic programming equilibrium allocation method with non-additive path utility as described in claim 1, characterized in that, In step S1, the network model constructed is as follows: The user's behavioral decision-making process is constructed as a directed graph G = (N, A) consisting of a node set N and an edge set A. Each user needs to make a behavioral decision from the starting point O to the ending point D, forming a complete path in the network model. The paths formed by the behavioral decisions of all users together constitute the equilibrium state of the network model. In the network model, the edge utility function u a (x a Let x be the number of users who choose edge a. a The relevant function is the flow x along edge a. a Changes can be incorporated into the design by taking into account user behavior and preferences.
3. The traffic flow dynamic programming equilibrium allocation method with non-additive path utility as described in claim 2, characterized in that, In step S2, the utility function of the path is used to characterize the user's preference for choosing a complete path, that is, the user's decision preference for the overall behavior, which consists of two components: a. The additivity path utility component is obtained by summing the edge utilities of all edges included in the path, that is, the user's perception of the total benefit of all edges included in the entire behavioral decision, expressed by the following formula: In the formula, U linear (p) denotes the additivity of path p, where a∈p means that edge a belongs to path p; b. The non-additive path utility component, used to characterize the reward or penalty resulting from the user's choice of this behavior in relation to the overall structural features of the path, cannot be decomposed into a form using continuous edges and needs to be modeled as a global function, as follows: IN struct (p)=Φ(p) In the formula, Φ(p) represents the non-additive path utility of path p, defined as a utility function determined by the overall path structure, calculated by discrete nonlinear terms, and possessing the characteristics of overall path correlation and non-additive computation. The discrete nonlinear terms include the total number of specific edges, the continuous length of specific edges, and the overall path length. The non-additive path utility is defined as the negative utility resulting from the continuous length of edges with specific attributes selected by the user. The longer the continuous length of edges with specific attributes selected by the user, the greater the negative utility, specifically expressed by the following formula: In the formula, χ p m denoted by , m represents the continuous length of the m-th consecutive edge with a specific attribute on path p; θ is the threshold for determining the continuous length of an edge with a specific attribute that produces non-additive utility, meaning that only when the continuous length of an edge with a specific attribute is greater than θ will it produce non-additive negative utility on the path selected by the user; b is a model parameter that characterizes the nonlinear effect brought about by the accumulation of the continuous length of edges with specific attributes; σ is a model parameter that represents the basic value of negative utility. In summary, the utility function of the path in the user equilibrium model is expressed as: In the formula, U(p) represents the utility of the path.
4. The traffic flow dynamic programming equilibrium allocation method with non-additive path utility as described in claim 3, characterized in that, In step S3, the user equilibrium model characterizes the principle of optimal individual utility followed by users in their behavioral decisions as follows: when facing the next behavioral decision, each user tends to choose the feasible path with the highest path utility under the current edge benefit conditions; from the perspective of network model structure, when an equilibrium state is reached, for any pair of OD pairs, the path utility value of all paths actually allocated positive traffic is not less than the utility value of any feasible path under that OD pair that has not been allocated traffic, that is, it satisfies the following condition: In the formula, This represents the set of all feasible paths for the OD pair (o, d), where o represents the starting node and d represents the ending node. This represents the traffic allocated to path p.
5. The traffic flow dynamic programming equilibrium allocation method with non-additive path utility as described in claim 4, characterized in that, In step S4, the specific steps of the improved iterative solution framework in solving the user equilibrium model are as follows: S41: Initialize traffic allocation state: Based on the given directed graph G=(N,A), the segment utility function u a (x a Initialize the iteration counter k = 0, and initialize the edge flow vector x, which consists of the flows on all edges in the network model under the path flow allocation of the 0th iteration. (0) Calculate the edge utility u corresponding to the path flow allocation of the network model at the k-th iteration. a (k) (x a (k) ); S42: Calculate the optimal utility path and auxiliary edge flow based on the current edge utility: In each iteration, for any OD pair (o,d) in the network model, calculate the optimal utility path and auxiliary edge flow based on the current edge utility u. a (k) (x a (k) Using the edge weights of the network model, the path utility of the OD (Optical Distribution) for each feasible path is calculated, thus obtaining the optimal path. The demand for the OD pair is then allocated entirely to the optimal path. Based on the current path traffic allocation result, the edge traffic of each edge is updated through the edge-path traffic mapping relationship, which is specifically calculated according to the following formula: In the formula, Let be an indicator variable for the edge-path containment relationship. For an OD pair (o,d), 'y' takes a value of 1 when path p contains edge a, and 0 otherwise. Based on the edge-path flow mapping relationship, the auxiliary edge flow y for the current iteration is obtained after updating the flow. (k) ; S43: Calculate the descent direction vector: based on the current edge flow x (k) With auxiliary edge flow y (k) The difference is used to construct the descent direction vector d. (k) : d (k) =y (k) -x (k) S44: According to the convex combination update rule, change the current edge flow x (k) With the descent direction vector d (k) By performing a linear combination, we obtain the edge flow x in the (k+1)th iteration. (k+1) : x (k+1) =x (k) +a k d (k) In the formula, α k This is the search step size; S45: Iterative convergence judgment: Based on the updated edge flow x (k+1) Calculate the gap function value G(x) used to evaluate the accuracy of the solution in the improved iterative solution framework. (k+1) ): In the formula, π od (x (k+1) () indicates that in the (k+1)th round, the edge flow is x. (k+1) When, the path utility of the optimal path between OD and (o,d), u a (x a (k+1) () indicates that in the (k+1)th round, the flow on edge a is x. a (k+1) The side utility of time, q od G(x) represents the total demand between OD pairs (o,d), i.e., the total number of users who need to make decisions between OD pairs (o,d); G(x) is used to determine the total demand between OD pairs (o,d). (k+1) If G(x) is less than the given convergence threshold ε, then the convergence condition G(x) is satisfied. (k+1) If k < ε, then terminate the iteration; otherwise, let k = k + 1 and return to step S42 to start the next iteration.
6. The traffic flow dynamic programming equilibrium allocation method with non-additive path utility as described in claim 5, characterized in that, In step S4, the direction search sub-problem module is used to solve for the optimal path in each iteration of step S42. In this stage, the output of the direction search subproblem module constitutes the descent direction vector d for the current iteration. (k) To accommodate the non-additive structure in path utility, the optimal path... We introduce the concept of dynamic programming to construct a solution method, and the specific steps are as follows: S42-1: Constructing the Node State Space: Construct a multi-dimensional state variable (i, l, c, s) for the user at each node. Each variable represents: the current node index i, the total length l of the currently selected specific attribute edges, the continuous length c of the specific attribute edges, and the judgment flag s indicating whether the state is continuous. Wherein, s∈{0,1} indicates whether the previous state was a specific attribute state, 1 indicates that specific attribute edges are being selected continuously, and 0 indicates that they are not continuous. In the direction search subproblem module, the maximum cumulative total length of specific attribute edges is limited to L, so as to characterize the user's optimal behavior decision-making process under the condition that the total number of specific attribute edges is limited. S42-2: Initialize the dynamic programming state value function: Construct the dynamic programming state value function DP(i,l,c,s), which represents the maximum cumulative path utility brought about by the user's behavioral decisions up to the current node i in the corresponding state (i,l,c,s); the initialization condition is set to DP(-1,0,0,0)=0; since the optimal path is the path that maximizes the total benefit, the state values of other states are initialized to negative infinity; S42-3: Set state transition rules and calculate the dynamic programming state function value for each state: When the user reaches node i after making a behavioral decision, the current state of node i is derived from the previous state through state transition, and the dynamic programming state value function DP(i,l,c,s) of the current state is calculated based on the previous state. The possible states of node i and the specific state transition rules are as follows: a) Reaching node i without selecting a specific attribute edge: When the user does not select a specific attribute edge, the state of node i is (i, l, 0, 0), and its state transition function DP(i, l, 0, 0) is: In the formula, i pre Let P(c) represent the node directly connected to node i by an edge, serving as the previous state node of node i; P(c) represents the non-additive utility generated when the continuous length of an edge with a specific attribute is c, which is calculated in the same way as the non-additive path utility part Φ(p) in the path utility function: P(c)=σ(max{0,(c-θ)}) b 1 {s=1} Defined as a Boolean indicator function, when node i pre Maximum cumulative utility DP(i) pre When the state corresponding to node i is continuously selecting a specific attribute edge (i.e., s = 1), and the state corresponding to node i's current dynamic programming function value DP(i, l, 0, 0) is not continuously selecting a specific attribute edge, the negative utility brought about by continuously selecting a specific attribute edge is calculated. b. When selecting edges with specific attributes, and these edges are selected consecutively to reach node i, the state of node i is (i, l+1, c+1, 1), and its state transition function DP(i, l+1, c+1, 1) is: In the formula, For connecting node i pre The edge benefit of a specific attribute edge of node i represents the positive benefit that choosing a specific attribute edge brings to the user within the corresponding time period; c. When selecting edges with specific attributes, and these edges are not consecutive, the state of node i is (i, l+1, 1, 1), and its state transition function DP(i, l+1, 1, 1) is: S42-4: Optimal Value Backtracking: For any OD pair (o,d), iterate to the final state (d,L,c,s), select the maximum value as the path benefit value of the optimal path in the OD pair, perform path backtracking, and output the optimal path of the OD pair. The path benefit value ans of the optimal path is specifically represented as follows: In the formula, DP(d,L,c,s) represents the maximum cumulative path utility when the final state of the endpoint is (d,L,c,s); Through the above steps S42-1 to S42-4, the direction search subproblem module can calculate the optimal path utility when the path utility includes a non-additive part, solve the optimal path selection problem, and provide the optimal solution for direction search for solving the user equilibrium problem.
