A multi-criteria multi-commodity flow model for analysing transportation networks

This article proposes a novel multi-criteria multi-commodity network flow (MCMCNF) model to help transport planners and other analysts holistically assess different types of transportation systems (TS). This model provides a tool to autonomously analyse the effect of expansions, tolls, different levels of congestion and accidents leading to potential insights into a network's resilience and vulnerability, emissions distribution and risk. Unlike the mono criterion network flow models used for some time, we propose the application of multiple objectives. In this article we investigate the application of two objectives. The first maximises the flow of commodities and the second minimises travel related costs. The travel cost is modelled generically and may include the distance travelled, travel time and access charges. The considered cost function is non-linear, so different linearization strategies are suggested. These permit the model to be solved efficiently using Separable Programming techniques and the ɛ-constraint method (ECM). We have applied the proposed model to a variety of case studies and demonstrate how different forms of sensitivity analysis can be performed. The numerical investigations have highlighted the specific features of the Pareto frontiers and the resilience and flexibility of the networks considered.


Introduction
Transportation systems are vital for moving passengers and freight, also called commodities, between different locations, either positioned locally, nationally, or internationally. There are many different systems; the most numerous are bulk material flow (i.e. coal, ores, grain, etc), urban transportation of passengers, mail and parcels, and transportation of goods and freight in containers between ports and major urban locations [4].
In this article the assessment of transportation system flow (a.k.a. capacity) is re-considered and an improved multi-criteria multi-commodity network flow model (MCMCNF) is proposed. This article's MCMCNF is generic and can be applied to many types of systems. This model is an extension of those found in Bevrani et al. [ [4], [5]]. In that article the virtues and merits of capacity models and how/when they should be used has been motivated.
The primary objective of the model is to determine the maximum flows of commodities that a network can sustain. Commodities are transported between specific pairs of locations, traditionally called origin-destination pairs (ODP). As a by-product, the model provides a complete description of the routes that need to be taken in order to attain maximum flow. There are however many alternative solutions with completely different flows on each arc and for each ODP, but similar if not equal "total" flows. There are also many routes, which can be assigned to commuters and commodities. To choose those routes, the travel time and travel cost of commuters and commodities should be incorporated; but to our knowledge this was not done in past network flow models. Those costs are directly affected by route, congestion and the presence of access charges and other fees. There are many different costs. Travel time is perhaps one of the most important as, i) commuters are highly sensitive to the time it takes to reach their destination and ii) people are highly sensitive of the time to obtain their goods and other commodities. The emissions produced by vehicles within transportation systems can also be viewed as a type of cost. The reduction or dispersal of emissions has gained significant attention in recent years due to current environmental concerns [19].
The inclusion of travel and access costs is an innovation but necessitates the presence of a second objective in network flow models https://doi.org/10.1016/j.orp.2020.100159 Received 29 July 2019; Received in revised form 21 April 2020; Accepted 22 June 2020 and the application of a multi-criteria optimization approach. The solution of the MCMCNF provides Pareto optimal capacity solutions. The obtained solutions are non-dominated. This means that there are no other solutions that are superior in terms of both objectives. In contrast, prior capacity models with single objectives provide solutions that are non-optimal with respect to a variety of other metrics, i.e. they provide dominated solutions.
This article's MCMCNF model is required for a variety of reasons. There is evidence to suggest that upgrading and reconfiguring TS in a timely fashion to meet rising demands is difficult to accomplish. TS are a constantly evolving; as urban areas become denser and more populated, there is a need to transport more people and freight. To meet the increasing demands, TS must be reconfigured and expanded shrewdly else they become increasingly large and complex. Determining how to increase capacity is a tricky task, particularly when changes cannot be evaluated in an unprejudiced and scientifically consistent and accurate way. Designing TS is problematic because good intentions can backfire. Planners lack clarity on how to improve the system and good intentions without adequate scientific evidence often results in unexpected outcomes. For instance, adding extra arcs can decrease the networks capacity and cause added congestion (i.e. Braes paradox).
In the next section, background information and prior research is discussed. The main technical developments are then introduced in Section 3. Solution techniques are discussed in Section 4 and numerical testing follows in Section 5. Our numerical investigations are provided to demonstrate the efficacy of the MCMCNF model for analysing different types of TS.

Literature review
TS have been a topic of research for a long time. Recent topics of interest include multi-objective models, congestion modelling, and travel cost modelling. The following papers demonstrate multi-objective approaches: Yang et al. [32], Ghoseiri et al. [20], Zhou and Zhong [33], Cantarella and Vitetta [13], Burdett [8], Burdett [7], Ghaderi et al [18]. For example, Zhou and Zhong [33] demonstrated the potential of using multi-objective scheduling methods for generating Pareto solutions and for railroad timetable planning applications purposes. Their proposed model can optimise and balance the travel and waiting times of existing trains. They also consider both acceleration and deceleration in their model. In Bevrani et al. [4] a multi-modal transportation capacity assessment model was developed. This model can integrate various transportation modes while maximizing the flow of MMTS. The model chooses how to move commodities between different origin destination pairs to attain maximum flow. Their follow-up article (i.e. Bevrani et al. [5]) added flow reduction functions on arcs to incorporate congestion and user behaviour. Burdett [7] also considered, in a railway capacity identification approach, different forms of competition, namely, service versus service, train versus train, and corridor versus corridor. A variety of multi-objective models and techniques were implemented and then tested on a case study. Cantarella and Vitetta [13] proposed a multi-criteria approach for an urban network design problem (UDP). The UDP problem is NP-hard and hence they determine the optimal configuration with respect to a set of criteria using a Genetic algorithm. Simulation of route choice has been considered in their approach using a local optimisation of signals (LOSS) approach. In their numerical instances, total travel time and CO emissions are predominantly minimised. Number of users that change their mode and the number of vehicles that park outside a desired destination are also considered. Despite the comprehensiveness of their approach, it is only suited to road network scenarios and not general TS scenarios, as is considered in this article. In Szeto et al. [29] a sustainable road network design and land-use problem was considered. The social, economic, and environmental impact to commuters was considered using a multi-objective bi-level optimization model. Their numerical testing indicates that all objectives cannot increase together and trade-offs must be carefully chosen between objectives.
Despite significant research on individual modes, there is still a need for techniques that evaluate the capacity of the whole transportation system that jointly considers all the modes [ [2], [23], [27]]. Effective planning of MMTS network and trains services has been considered in the literature on regular occasions. MMTS traffic management is an important criterion for dispatchers whose primary concern is conflict detection and resolution. Corman et al. [14] introduced a bi-objective model to minimise the consecutive delays between trains and to maximise the total value of satisfied connections. They observed that small changes in a limited set of connections could have a serious impact on delay time.
Traffic congestion in transportation networks has been studied frequently. Congestion may be alleviated in many ways and various policies have been suggested to manage and manipulate demand on specific links [ [3], [6], [8], [12], [15], [16], [31]]. To date it is most popular to tackle traffic congestion with infrastructure expansion and to add capacity to a network where it is needed. Changing signalisation and traffic light timings at intersections can also affect congestion and system capacity. Furthermore, changing speed limits on links can dramatically affect flow. Improving public transport services and encouraging the usage of public transport by introducing a credit scheme or more affordable fees for commuters could decrease the usage of private car usage within an urban TS and significantly reduce congestion.
Another alternative is to divert traffic where possible, from heavily congested links, to less congested links. Access charges and tolling however may be necessary to accomplish this in practice. Tolling is an artificial mechanism to persuade road users to consider alternative paths. Tolls may be placed on new or on existing road links. In the former case, revenue generation is a significant objective, but in the latter, the objective is the alleviation of congestion. Revenues from tolling can be used for a variety of actions, i.e. capacity expansion, safety upgrades, maintenance, etc. Hence, tolls can collectively increase the welfare of all transport users. The success of tolling is not guaranteed [17]. The extent of the charge is highly influential. If alternative routes are not available, then tolling is pointless, as commuters have no other choice. Tolling is imposed to manipulate and alter people's daily route choice. Some people find it acceptable to pay tolls and save time, while others may prefer to travel an alternate route that is longer in terms of travel time if it is free. Tolling may disrupt individual road users but has universal benefits. There has been debate that congestion pricing may negatively impact poorer people in terms of time management and cost, while it will not influence richer people [ [3], [31]]. On the other hand, congestion pricing may increase the flow, alleviate congestion on specific links and the tolls can be used to improve the system to the benefit of all. Wu, et al. [31] developed an optimization approach for designing an equitable congestion pricing and tradable credit schemes for MMTS. Their pricing scheme is a strategy for tolling roads and adjusting fares on transit lines. The tradable scheme is a credit that the government will distribute to eligible travellers free of charge. Their model maximises the social benefit and the income-based equity simultaneously. They used existing solution algorithm (i.e. derivative-free algorithms) to solve the model. They concluded that there is a trade-off between pricing and credit scheme. A more equitable and progressive tradable credit scheme can be obtained by considering lower toll revenues.
Public transport is considered as one of the best approaches to deal with traffic congestion in urban TS. Tirachini et al. [30] developed a multi-modal social welfare maximisation model with disaggregated demand in a system that commuters have multiple travel alternatives. They focused on optimising the design of urban bus routes including pricing decisions for both bus and car. They reported the existence of a trade-off between the level of congestion inside buses (i.e. number of passengers in the bus) and the level of congestion on the road. Their analysis indicates that either buses should have the maximum number of seats possible or they have to increase the frequency of their services B. Bevrani, et al. Operations Research Perspectives 7 (2020) 100159 to deal with the demand for the discomfort imposed on public transport users. Dynamic traffic assignment (DTA) is facilitated by this article's model and is another approach to deal with traffic congestion and emissions. The purpose of DTA is to direct commuters, vehicles and commodities to use links that are less congested or polluted. To perform DTA it is necessary to provide up to date costs for each link. Mahmassani et al. [24] introduced a bi-criteria time-dependent shortest path problem to simultaneously minimise two common path characteristics, namely travel time and travel cost. They proposed both exact and heuristic approximation methods to determine efficient timedependent shortest paths, which is a critical component for solving the proposed model. Their proposed approximation scheme is described as computationally efficient for large-scale bi-objective time-dependent shortest path applications. Nace et al. [25] considered how flows can be distributed fairly in a telecommunications network in contrast to prior scenarios that maximise flows globally. Their approach consists of a linear programming based formulation and an iterative lexicographic algorithm. Issues on fairness are reported as a key concern in numerous studies inspired from applications in the telecommunications area such as congestion and flow control, load-balancing or fair routing. Our work is similar but concentrates upon a different domain and includes more test cases and the introduction of Pareto concepts. Rétvári et al. [28] considered the fair and feasible allocation of user throughputs in capacitated networks. A geometric approach is developed that generalizes several throughput allocation strategies. They show that the set of throughput configurations realizable in a capacitated network makes up a polyhedron, which gives rise to a max-min fair allocation. Ogryczak et al. [26] reviewed fair optimization models and their application to location problems and resource allocation problems in communication networks. They found that this topic is underexplored. In addition, there are few approaches that consider multi-attribute outcomes. Goes et al. [19] propose a network vulnerability framework and assess traffic reassignment and emissions. They describe network vulnerability assessment as a process of searching for vulnerable links and then disrupting those links before performing a more detailed analysis. They also comment upon another approach whereby all links are separately disrupted and the network is scanned to find which links are most critical. The motivation for further research on traffic reassignment and greenhouse gas (GHG) mitigation is identified. Our proposed MCMCNF model provides a means of maximising flow and minimising emissions. Emissions can be added as either a separate independent cost or an additional cost.
In summary, the capacity of TS depends on many different parameters and criteria. TS capacity analysis under these circumstances can be facilitated by multi-objective optimisation models. In retrospection, the majority of recent analytical models focus upon a single objective in their models. These cannot capture the effect of multiple competing objectives. There is an increasing recognition that more than one objective should be included in capacity planning models. As the number of objectives is potentially numerous, the development of advanced solution techniques may be necessary. Our literature review shows that there are a variety of different costs and access charges that need to be added to assessments of TS and relatively few methods do this.

The model
In this section, the MCMCNF model is introduced for capacity assessment and capacity planning activities. The MCMCNF is essentially a mixed integer programming model (MIP) model with several objectives. A summary of all the notations used in our model are listed in Table 1.

Decisions
The purpose the MCMCNF is to determine Pareto optimal solutions that simultaneously maximise the flow (a.k.a. the system capacity) and minimise the cost for commuters and other commodities in a specified time period T. Pareto frontiers are pre-computed to facilitate the evaluation of different preferences later. Once the Pareto frontier has been obtained, solutions can be selected by decision makers in a variety of ways; the specific shape of the frontier can influence that choice. It is important to mention that we do not propose a minimum cost flow model that finds the lowest cost solution amongst all max flow solutions.
As there are many commodity types, it is necessary to determine the number of each type, denoted by Γ k , and to determine how that number is distributed across the different ODP, denoted γ k, p . On each arc the flows of commodities will be divided amongst the different ODP. This flow is described by the variable  p a k , , . The flow across each arc however is restricted by the capacity of the arc, namely c a . As commodities are transported within vehicles and do not move on their own accord, the capacity of an arc is the maximum number of vehicles. The decision variables are assumed real-valued but enforceable as integer should the need arise.

Objectives
The MCMCNF model has two objectives. The first is to maximise the total weighted flow. The second is to minimise the costs of travel incurred by the commodities. The two objective functions are as follows: In the first objective the number of commodities is defined as and the flow of commodities on ODP p is γ p, k . The importance of each commodity type is governed by parameter ω k . In the second objective, the cost of travel on each arc is aggregated. Further details of the cost GC a will be described later.
To solve the MCMCNF a method such as the epsilon-constraint method (ECM) can be used. In order to use ECM, a single objective is selected and an``ɛ -constraint" is added to regulate the second objective. To determine the Pareto frontier the following model is repeatedly solved (i.e. N times): Maximise OBJ 1 subject to: + the regular constraints of the model The parameter ɛ 2 [n] describes the value of the second objective required in the nth solve where = … n N 1, , . When more steps are chosen (i.e. as N → ∞) the Pareto frontier becomes larger and more detailed. It is important to note that OBJ 2 ∈ [LB 2 , . The upper and lower bounds for each objective, namely LB z , UB z are computed in a preliminary analysis for z ∈ {1, 2},. The model must be solved four times to determine these values.

Constraints
The necessary constraints to enforce correct flows are as follows: The total number of commodities of each type (i.e. Γ k ) is determined across all origin destination pairs (i.e. ODP) as shown in Eq. (2). Constraint (3) and (4) define the number of commodities that can be moved between the origin and destination of each ODP. In those equations  p a k , , represents the number of commodities of type k using arc a for ODP p. Constraint (5) has been formulated to ensure the conservation of commodity flow at each node. It is only applied to nodes, which are not origins or destinations of ODP's. Constraint (6) and (7) are needed at the origin and destination of ODP. At those nodes, it is necessary to enforce either outflows or inflows respectively. Constraint (8) provides the necessary linkage between vehicle and commodity flows on each arc. The number of vehicles on arc a for ODP p is p a , , and the number of commodities per vehicle is ℧ a k , . Positivity of vehicle and commodity flows is enforced by constraint (12).
The intended flow of vehicles f a must be less than or equal to the capacity of the arc, namely c a . That condition is specified in constraint (9). The arc capacity is a function of the number of lanes τ a , the time period T, and arc specific attributes. For more details about that function we refer the reader to Bevrani et al. [4]. Multiple vehicle types can be accommodated if need be. The mix of vehicles must however be defined. That mix can then be used to compute a more accurate arc capacity. The parameter, ℧ a k , is affected by the mix and can be updated appropriately, for instance as a weighted average of the number of commodities transported by all the different vehicle types.
Function in constraint (10) is introduced as a corrective device to reduce an intended flow to a reduced flow. It is used to model the effects of different forms of congestion, delay and user behaviour on flows that may be present on different arcs. Without any form of flow reduction, the intended flow is simply In all other circumstances Eq. (10) is required. It restricts the sum of the vehicle flows to the value of the corrected intended flow, namely f ( ) a . Specific demands for commodity flows on different ODP, denoted  p k , , can be enforced by the model if need be. As a hard constraint, constraint (11) is required to be added. When constraint (11) is added, two things can happen. First, the model may solve and will report flows over and above the specified demands. Otherwise, the model will not solve. In that event, one or more demands will not be met. If specific demands are a soft constraint, an alternative approach would be to penalise the objective by adding the term where ω p, k is the importance of meeting demand of commodity k on ODP p.

Costs
Without loss of generality, it is appropriate to define the general cost on each arc as a function of the total number of vehicles using that arc and the cost incurred by each vehicle. The following equation is suggested: The cost incurred by each vehicle on arc a (i.e. cpv a ) can include a variety of things such as the travel time across arc a (i.e. TT a ) and tolls or other charges incurred by using arc a (i.e. toll a ). Three typical options are as follows a . The toll may include fixed charges that are static, or variable charges, which are to be determined, i.e. = + toll toll toll a a a f v . As toll a is a monetary value, it is necessary to convert the travel time in the third scenario to a monetary value. To do this we multiply the travel time by a value of time parameter. The value of time is the cost assigned for every minute of travelling time. It reflects the importance of time either generally (e.g. vot) or specific to each arc (e.g. vot a ) and therefore influenced by the mode of travel. If a vot mechanism is not used, then it is necessary to define multiple objectives to regulate travel time and toll trade-offs. When the cost per vehicle is not fixed (i.e. is a function of assigned flow), Eq. (13) is a non-linear expression of two continuous decision variables. To avoid non-linear programming methods, this can be linearized by introducing two new variables x a and y a according to [1]: The difference of the squares is an alternative way to compute GC a because: The two terms in the left hand side of Eq. (16) are non-linear but can be approximated efficiently using piecewise linear functions (PLF) and Separable Programming techniques. It is noteworthy to mention that it is not possible to define a PLF for the product of the two continuous decision variables in Eq. (13). Separable Programming permits a convex nonlinear program to be approximated by an equivalent linear programming model. It is important to note that GC a , y a 2 and x a 2 are all convex functions. It is easy to show that the Hessian matrix of each function is positive semi-definite (see Appendix).
Each non-linear term is replaced with a piecewise linear approximation, PLF(ψ, ℘) → ℘(ψ). Practically speaking, each PLF must be specified in terms of an array of breakpoints and gradients. Using specified lower and upper bounds ψ ψ [ ,¯] and a prescribed number of break-points M, these arrays are computed as follows: The following equations may then be added to the model: A PLF is also required to determine the travel time. This will be discussed further in Section 3.5. The lower and upper bounds for the number of vehicles and the costs are as follows: The free flow travel time on arc a is at least t a when there is no congestion. The domains described at (22) are used when evaluating the left and right hand sides in (23) and (24). The over and under bar are used to describe the lower and upper bounds. The aforementioned ranges are required when generating the PLF.
As this approach involves three approximations per arc, the computational overhead may be large for networks with many arcs and could perform poorly.
A second approach involving logarithms may be used to linearize Eq. (13). It is possible to define GC a as a decision variable and to add the following condition: This condition can be used because a . The log terms can be approximated by PLF but are undefined at zero, which is problematic as the number of vehicles and costs may also be zero. To resolve this, a small value Θ is added and two additional variables are introduced: It is important to note that ′ > v 0 a and cp′v a > 0. Hence the general cost is computed as follows: We can introduce a decision variable ζ a for the product a a a a and: Eq. (30) can be evaluated using PLF as follows: It is unnecessary to introduce ′ v a and cp′v a explicitly; they can be substituted from all the equations.

Travel Time
The travel time on each arc is an important piece of information used in the capacity assessment of an MMTS. The BPR function [21] is often used to model the travel time of vehicles. The equation considers the number of vehicles on the road and scales the free flow travel time t a in the following way: The parameter  ∈ β a describes the effect of congestion. The value of β a is traditionally selected as 0.15 but can be calibrated empirically. For instance, consider a 1 km lane of road with a speed of 100 km/h. At that speed the travelling time is observed to be 36 seconds (i.e. 60 × 1/ 100). At high density when the number of vehicles approaches the theoretical capacity (say 1000), the speed drops to 60 km/h and leads to a travel time of 60 seconds. The value of β is hence 0.66 (i.e. 60 = 36 (1 +β)). The BPR travel time function for that situation is shown in Fig. 1.
The general cost to commuters previously described at (13) can be partitioned in terms of the travelling time and the tolls incurred by vehicles as follows: . An expansion of the first cost term using the BPR function provides the following:  It is worthwhile pointing out that the following alternative cost can be used: The (u a ) 5 term is approximated by a piecewise linear function and we replace (u a ) 5 with u u PLF( , ) a a 5 : a a a aa aa a a a 1 5 The travel time is also computed in terms of u a : where u u PLF( , ) a a 4 is a piecewise linear function for (u a ) 4 . As a final remark, it should be noted that if the toll is a decision variable then cost a 2 must be handled using one of the approaches suggested in Section 3.4.

Further remarks
Scenarios where the VOT value is not a static parameter are foreseeable. It may depend solely upon the commodity type and not the arc travelled across. In that situation it may be necessary to define vot k or vot a, k . The general cost may need to be redefined as follows: The cost for commodities of type k is either cpk k or cpk a, k . Those costs can be defined in a variety of ways and will involve the use of vot k or vot a, k . That extension is outside the scope of this article and could warrant further investigation and consideration.
The vot function may be used as a mechanism to penalize excessive travel times and delays. Hence it is plausible for the VOT to be a function of the travel time. Consequently, vot a should be replaced with a non-decreasing function vot(a, TT a ). If the vot is independent of the arc travelled upon, a general function vot(TT a ) may be defined. The relevance of a vot function of this nature is grounded in reality. Some perishable goods should not have excessive travel times. Commuters are also averse to excessive travel times. Another practical example originates from Burdett et al. [ [10], [11]]. They consider the arrival of trains and ships that unload and load coal respectively in a coal export terminal. There is no penalty for train departures occurring within two hours of arrival. Departures occurring from two to three hours are penalised by a small amount, after which departures are heavily penalised. Without loss of generality, the cost may be defined as follows: Predominantly vot(a, TT a ) would be piecewise linear or slightly non-linear. The product vot(a, TT a ) × TT a may be aggregated into a single function H(a, TT a ). The cost is then evaluated as follows: The function vot(a, TT a ) maps a real valued travel time to a dollar per minute amount. Function H(a, TT a ) in contrast maps the travel time to a dollar value. As Eqs. (40) and (41) involves products of two unknowns, one of the approaches suggested in Section 3.2 should be adopted.
If the vot function is linear then the substitution = a TT m TT vot( , ) a a a can be made. It is important that the VOT represents the correct value at the minimal travel time t a , and that it increases at a specific rate (based on economic analysis) for values TT a > t a .
Substituting the BPR function for travel time, Eq. (40) can be rewritten as follows: The non-linear terms in (42) may be approximated by PLF. We can then replace (u a ) 5 with u u PLF( , )

Numerical testing
In this section, our novel MCMCNF is applied to different scenarios to demonstrate how it is used and how flexible it is for assessing MMTS. Important nuances and intricacies of capacity assessment are highlighted. All numerical experiments have been run on a quad core Dell personal computer (PC) with a 2.6 Ghz processor and 16 GB memory under Windows 7.
An important component of multi-objective optimization is the utopia point. This is an ideal solution where each objective attains its best value. How close Pareto optimal solutions are to that ideal point is important when choosing a solution. It is important to note that the solution closest to the ideal is shown in many of our charts and may not look geometrically closest due to figure scaling and differences in units of measurement but are nonetheless correct.
The number of search points used in the ECM is = N 100, but more can be used if additional solutions are required. The time period for the capacity analysis is 60 min, the value of time is assumed constant at $1 per minute of travelling time and the BPR parameter β a is 0.15. The PLF for u 5 and u 4 have breakpoints every 0.001. Different spacing like 0.01, 0.005, 0.1, 0.25, and 0.5, were investigated however only minor differences in value and computing time were observed. To use Separable Programming, IBM's ILOG CPLEX optimization studio 12.7 and C++ concert technology was utilised. Each PLF requires a vector of the breakpoints and gradients and the variable that is input to the function, i.e. PLF(dvar, b, g). All MCMCNF instances were solved to optimality.

Ring road example
The network in Fig. 2a  where = IO {2, 3, 4, 5, 6, 7, 8}. Set IO is an abbreviation for "input-output" and records the nodes of the network where flows can originate and terminate. Initially one lane is assumed in each direction and the speed limit is 70 km/h. The capacity per lane is 1296.3 vehicles and is computed using a headway of 50 m and the methodology from Bevrani et al [4]. The number of commodities per vehicle is assumed one. The ECM was applied, and Fig. 3 displays the trade-off between flows and travel time cost. This frontier was obtained within a couple of minutes of computing time.

Operations Research Perspectives 7 (2020) 100159
solution is characterised by paths with shorter distance in order to satisfy the second objective. This is what we would expect in real life. The flows by ODP are shown in Table 3. Some arcs have not been assigned flows in Table 2. Predominantly however, the flows occur on shorter arcs. Flows on the longest arcs have been avoided completely or else are made as small as they can be. The highest flow of 2592.59 from node 5 to 6 is achieved by sending flow over arc (5,1) first and then diverting that flow to (1,6). Similarly the high flow between node 6 and 7 is achieved by sending traffic on (6, 1) first and then on (1,7). It is interesting to note that the solution with the highest capacity level has a cost of 160,118. The flow by ODP is very similar to the solution shown in Tables 2 and 3. That information is summarised in Table 4. The same ODP have been given precedence albeit with higher flow.

Analysis of congestion
A sensitivity analysis of the BPR value β a has been performed to see what effect congestion would have on the capacity of the system. Incremental changes on the range [0.15, 1] were analysed. The results are shown in Fig. 4. It shows significant differences at high flow solutions.

Analysis of lanes
The number of lanes greatly affects capacity and hence a sensitivity analysis of that number has been performed. Five scenarios were tested. In the first three scenarios all arcs have 1, 2, or 3 lanes. In scenario four,   the inner arcs have one lane and two lanes are present on the outer arcs. The last scenario inverts the situation in scenario four, i.e. each inner arc has two lanes and the outer ones have one lane. Fig. 5 demonstrates that higher capacity levels can be obtained if higher travel costs are incurred. In addition, the same level of capacity can be achieved with different scenario, but those scenarios with more lanes can achieve that   capacity with less travel time cost. Scenario 5 is very similar to Scenario 1. Scenario 5 however does provide higher capacity if a total travel time cost of about 18,000 or more is incurred. In contrast, Scenario 1 cannot achieve higher levels as the system's absolute capacity has been reached. A similar relationship occurs between Scenario 4 and 2.
Clearly, the three-lane scenario outperforms the others.

Meeting demands
In the previous analysis the model was permitted to choose the flows assigned to each ODP. Static minimum demands are now considered for each ODP, to see how much latent capacity exists and whether the frontier changes in any way. Three scenarios were investigated. The first and second has a demand of 200 and 500 respectively for each ODP. The third scenario is customized and has demands of (1500,1000,2200,750) for ODP [2,4,3,7,6,2,8,5] respectively. The total demand for each scenario is hence (8400, 21,000, 5450) respectively. The ECM was then applied to each. The results are shown in Table 5. Fig. 6 summarises these results and demonstrates that the frontier becomes smaller and more linear as the demands are increased. The frontier in (b) is quite small and is only a little curved. The range of the flow and costs are 1296.3 and 14,220 respectively. In (a) the frontier is much larger. The range of the flow and costs is 18,222.2 and 123,871.7 respectively. The range for (c) is largest as the demand is lowest.

Expansion scenario
The second case study that has been considered is shown in Fig. 7. The ODP are {(1,7), (7,1)}. Table 6 describes the arc lengths, number of lanes, and the speeds. The capacity per lane is computed using a headway of 50 m and the methodology from Bevrani et al. [4]. The number of commodities per vehicle is assumed one. The ECM was applied, and Fig. 8 displays the trade-off between vehicle flows and the travel time cost. The CPU times were again minimal to achieve the presented results.
Before expansion, the upper bound for flow is 4814 and the upper bound for cost is 215,577. After expansion, the upper bound is 7777 and the upper bound for cost is 319,113. Hence, the network's flow can increase by adding the additional arcs. The first part of the frontier is very linear and indicates a constant increase in cost as capacity is increased. Later on, the cost starts to increase more greatly due to congestion, for instance when flows exceed 4000 in the first network and 6000 in the second.
The ideal solutions are shown by the red and blue triangles at the bottom of the chart in Fig. 8. Along the frontiers, the solutions closest to those utopia points are the red and blue marked rectangles. The solution at the red rectangle is (3728.75, 79,763.6) with a scaled Euclidean distance of 0.43. The solution at the blue rectangle is (5955.64, 118,072) with a scaled Euclidean distance of 0.4379. The solutions shown in Tables 7 and 8 (and graphically in Fig. 9) have pushed vehicles along the shortest path possible and to arcs with the highest capacity. In Table 8's solution, additional vehicles are routed from node 2 to node 3 and node 6 via node 5 to attain additional flows. There are many solutions to this test instance with the same maximum flow of 7777.8. We need to be careful not to choose a dominated solution, which has a high travel time cost to commuters. This example demonstrates how a multi-criteria approach is better suited for the capacity analysis of that network. A traditional approach would have provided a dominated solution.

Effect of tolling
In the remainder of our analysis we investigate the effect of adding tolls to the new arcs (2,5) and (5,6). In Fig. 10, the effect of tolls in the range [1, 100] is displayed. Evidently as the tolls are increased so too does the cost. At higher toll levels the vertical part of the frontier increases in size. This indicates that the number of solutions achieving maximum flow is very large. In other words, there are many more routes that are promising, that would not have been considered if there were no tolls. Our analysis here demonstrates what commuters would have to do to avoid paying tolls.
In Table 9, the flows on the network's arcs are shown. That solution occurs closest to the ideal solution on the Toll@$100 frontier. It is worth mentioning that flows on arc (5, 6) have been avoided because a toll is present. Flows are however placed on arc (5, 6) when tolls are less (see Table 8). When arc (5, 6) is taken, the path to node 7 is longer. In  Table 8 Flows for solution (5966.64, 118072). contrast the path through (5, 3) is considerably shorter.

Effect of VOT
A linear vot function was also investigated. We assumed that When m a is one, the cost is $1 if the travel time is one minute, and the cost is $n if the travel time is n minutes. The value of function H is therefore (TT a ) 2 . The results of our analysis are shown in Fig. 11. That chart shows a considerable difference between the frontiers and the costs involved. This difference highlights how influential the vot function is on the type of analysis we have proposed. The costs are significantly higher when = m 1 a and it is much more expensive to accommodate vehicle flows. The frontier is also much more curved, and ends with a significant vertical segment.

Double ring road example
The third case study that has been considered is an extension of the first. It is shown in Fig. 12.
The length of each arc is shown. The ODP for this scenario are ⋃ ′ ∀ ′∈ ≠ ′ n n ( , ) n n IO n n , | where = IO {1, 9, 11, 13, 15, 17, 19, 21}. In this scenario, the main roads are shown by the thick arcs. They have two lanes in both directions. Movement between main roads is facilitated by a variety of connecting roads, which have one lane in each direction. Two scenarios are considered. In the first there are no specific demands for each ODP but in the second, demands of 500 between all ODP's except those that originate or conclude at node 1 are imposed. The results are summarised in Fig. 13. A small vertical segment is evident; this is the boundary of the Pareto frontier. Fig. 13 demonstrates that there is some flexibility to move traffic around in different ways. For example, there are alternative paths, which do not use the main roads. Some congestion however cannot be avoided and this is shown by the increased curvature at flows greater than 40,000 or thereabouts. In Tables 10 and  11, the flows on different ODP are shown for the solutions closest to the ideal. The main roads are most heavily utilised and move traffic from the outer IO points. High flows are also made along the outside arcs. Only demands above 500 are shown in Table 11.

Vulnerability assessment
A real-life example is now considered. This transportation network is in the south-east corner of Brisbane (Australia) and connects the airport and CBD with the southern suburbs. Commuters in Brisbane travel between these major zones daily. The six ODP are ((1, 15), (15,1), (1,19), (19,1), (15,19), (19,15)). We also consider one type of commodity (i.e. passengers) travelling in cars. The number of lanes and length of each arc are written on the arcs in Fig. 14.
The vulnerability of the network and its capability to respond to accidents is investigated. Our capacity analysis is performed for a one hour "peak" period. The vulnerability of a network can be seen as a  problem of reduced accessibility [19]. On the two main highways, namely ODP (1,15) and (1,19), we analyse a reduction in the current number of lanes to one and use a BPR value of 4 to highlight a 5 time increase in travel time across the "damaged" arc. The two ODP are analysed separately "in isolation" as the model would otherwise assign flows to other parts of the network, and to other ODP's. Adding specific flow demands is not helpful in this analysis because when accidents occur, those demands are unlikely to be achievable within the given time period.  Fig. 16 similarly summarises the effect of accidents in six locations. By comparing Figs. 14 and 15, it is evident that the cost of travel for ODP (1,19) is much higher. That ODP has a length of 28km in contrast to (1,15) which has distance 17 km. Fig. 15 shows that accidents have a larger effect on the ODP's capacity and the commuters travel time. In Fig. 16, the accidents have a lesser effect and hence the network has adaptive capacity for ODP (1,19) [22]. Accidents on arc (2,3) have the biggest impact, as there are no alternative routes for commuters to take. A similar situation occurs on (18,19).

Mixed-mode example
The preceding examples considered the movement of passengers in an urban system. In contrast, this example considers the movement of containers in a freight network where there are road and rail links over which trucks and trains travel. In this scenario, trucks are assigned one container, travel at 100 km/h and are separated by 100 m. Trains travel at 60 km/h and carry 100 containers. The network is shown in Fig. 17; there are 12 ODP and these involve node 1, 2, 3, and 5.
In Fig. 17 there is a single-track railway line punctuated by sidings at equidistant positions. Each section of track permits a single train at any moment in time. Trains however may travel in either direction in an alternating fashion. As our model requires the network to have directed arcs and not undirected, the rail links are translated as shown in Fig. 18.
By dividing the flow on those rail links into two flows (i.e. one up and one down), the conservation of commodity flows can be maintained and special undirected and bi-directional arc constructs need not be devised. The two flows however are associated with a single piece of infrastructure and hence an additional constraint must be added to the model to apportion flows in each direction.  A separate analysis of the road and rail networks was first performed. The number of containers transportable across each ODP in isolation is shown in Table 12. It is interesting to note that more trucks can travel between ODP (2,3), (2,5) and (3,5) than ODP (1,2), (1,3) and (1,5). This is because there are two independent routes. Hence twice as much flow is achievable.
Jointly 2166 containers can be moved across the rail network. This is achieved by transporting 459 containers on ODP (1,5), 868 on (2,1), 418 on (3,1) and 419 on (3,5). This would require 24 trains. If equal numbers of containers are to be transported on each ODP, the maximum flow is 1308 (i.e. 109 per ODP) and would require 24 trains. Some additional capacity however exists on ODP (1,2), (5,1) and (5,3) and can be exploited to increase the flow to 1713 containers with 27 trains (see Table 13).
The whole network was analysed and a maximum flow of 9308 containers was identified. The flows for each ODP are shown in Table 14.
It is possible to add restrictions on the number of vehicles of each type, for instance the trucks. The following constraint can be added:  Fig. 19. The frontiers are more piecewise linear than those obtained for earlier examples. There are five very distinct segments with fairly constant gradients within each segment.
For 100 containers per train, the best solution is (5779, 71,309). This solution is interesting as ODP flows are achieved by combinations of road and rail usage. The exact details are shown in Table 17. This solution demonstrates how the model is very capable of achieving flows at minimum cost by using different modes to best effect. The addition of  eight extra road arcs between (4,6), (8,9), (9,3), (3,10) with distances (10,5,12,27) km respectively was then considered. With ODP demands from Table 17 and an upper bound on cost of 71,309, the model was resolved. The new flow was 5802, i.e. an increase of 24 containers. The finer details of the flows and paths are shown in Table 18.
The multi-criteria analysis was re-applied for a truck fleet size of 1000 and 2000 respectively. The results are summarised in Fig. 20. This chart indicates that with an increased truck fleet, extra arcs and routes may be useful. These facilitate increased flow to an extent. The size of the vertical segment on the boundary of the Pareto frontier indicates the presence of many paths that incur long travelling times, and the need to carefully select routes of shorter duration.

Conclusions
This article has introduced a novel optimisation approach for the assessment of different transportation systems. Our multi-criteria multicommodity flow model maximises the flow of commodities and vehicles but also simultaneously minimises the incurred cost of travel for those commodities. To our knowledge this feature is not present in other approaches. This multi criteria approach addresses an inherent weakness of traditional commodity flow models. Traditional commodity flow models determine the maximum flow but ignore the paths that commodities need to take, and the costs incurred for commodities.
Commodities may be forced to travel longer distances and incur more travelling time, thus limiting the actual number of commodities that may be transported over time. In contrast, our approach ensures that commodities take paths with less travelling time and cost.
A sensitivity analysis of flow and travel cost is facilitated by our approach and a set of candidate solutions (i.e. a Pareto frontier) is provided. These are non-dominated solutions in contrast to the dominated solution provided by a traditional single objective model. The Pareto frontier clearly describes the trade-off between increased flow and cost of travel. Different costs may be integrated and two methods are suggested. The first is generic and the second is a simplification that utilizes the well-known BPR function.
Numerical testing highlights that our approach is very versatile and flexible. The squared terms in the non-linear cost expressions are modelled very well by piecewise linear functions. Many breakpoints are not required; and when they were used, we only saw minor differences in the objective function values and in the observed computing times. Hence scalability is no issue.
Our testing highlights that a linear Pareto frontier occurs when a network's flow can be steadily increased without incurring congestion. In these situations, the network may have underutilised arcs for which extra flows can be assigned. In networks with less flexibility, congestion must be endured. The Pareto frontier is then quite curved. In Example 1, there are fewer ways to get around efficiently as opposed to Example 2. Hence the Pareto frontier for Example 1 is more curved, and the Pareto frontier for example 2 is quite linear. When specific demands are placed upon a network, our numerical investigations demonstrate that the size of the Pareto frontier and the curvature is much reduced. The effect of adding additional arcs or lanes is normally an increase in capacity. In some situations however, the capacity does not increase, but the travel time of commuters can be shown to decrease (i.e. in Example 2 and 5). Many of the frontiers had a vertical segment at the end. The length of this segment has a direct relationship with how many alternative paths can be taken, as well as the presence of arcs and paths that do not necessarily facilitate increased flow. The size of the vertical segments describes the presence of many paths that incur long travelling times, and the need to carefully select routes of shorter duration. The numerical testing also demonstrates that our approach is effective on mixed mode scenarios like the freight network example. Example 5 demonstrated how our approach can be used to analyse a network with two modes of travel.
In future research, additional objectives may be considered. Which objectives need to be added is worth investigating. Furthermore, the idea of specifying emissions as an additional cost has not been fully  developed and investigated. Emissions may be appended to the current cost function or introduced as a third "independent" objective. It is not evident without further analysis which option is best. When there are more than two objectives the complexity of the Pareto analysis increases greatly [9] and it is not a trivial matter to apply the ECM. The

Table 12
Maximum container flow on individual ODP.
ECM is potentially slow and more sophisticated approaches should be applied. Further testing of our approach on other freight and mixed mode networks seems warranted. Scenarios with passenger and freight and multiple modes should be further investigated. The resilience of a network is a metric, which is important to explicitly measure. Further research into the quantification of resilience seems warranted. This article's approach however can provide some insights into a network's resilience to accidents or any other incidents that reduce flow. Accidents on specific arcs were considered and the vulnerability and resilience of the network was analysed. Accidents however cause effects on other arcs at the same time and further analysis and testing is required to capture the effect of this. Accidents directly affect the traffic that passes through an arc and the associated ODP flows. Accidents however may affect traffic flows further away on different ODP because they force traffic to be diverted to other parts of the network. The diverted flows reduce the capacity to transport commuters on other ODP's. An analysis that considers and quantifies the whole network and the knock on effects should be further investigated.
CRediT authorship contribution statement . Let us also define: ) .