Navigation Menu

Search code, repositories, users, issues, pull requests..., provide feedback.

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly.

To see all available qualifiers, see our documentation .

  • Notifications

Transportation Networks for Research

bstabler/TransportationNetworks

Folders and files, repository files navigation, transportation networks.

Transportation Networks is a networks repository for transportation research.

If you are developing algorithms in this field, you probably asked yourself more than once: where can I get good data? The purpose of this site is to provide an answer for this question! This site currently contains several examples for the traffic assignment problem. Suggestions and additional data are always welcome.

Many of these networks are for studying the Traffic Assignment Problem, which is one of the most basic problems in transportation research. Theoretical background can be found in “The Traffic Assignment Problem – Models and Methods” by Michael Patriksson, VSP 1994, as well as in many other references.

This repository is an update to Dr. Hillel Bar-Gera's TNTP . As of May 1, 2016, data updates will be made only here, and not in the original website.

How To Download Networks

Each individual network and related files is stored in a separate folder. There are a number of ways to download the networks and related files:

  • Click on a file, click view as Raw, and then save the file
  • Clone the repository to your computer using the repository's clone URL. This is done with a Git tool such as TortoiseGit . Cloning will download the entire repository to your computer.

How To Add Networks

There are two ways to add a network:

  • Create a GitHub account if needed
  • Fork (copy) the repo to your account
  • Make changes such as adding a new folder and committing your data
  • Issue a pull request for us to review the changes and to merge your changes into the master
  • Create an issue, which will notify us. We will then reply to coordinate adding your network to the site.

Make sure to create a README in Markdown for your addition as well. Take a look at some of the existing README files in the existing network folders to see what is expected.

All data is currently donated. Data sets are for academic research purposes only. Users are fully responsible for any results or conclusions obtained by using these data sets. Users must indicate the source of any dataset they are using in any publication that relies on any of the datasets provided in this web site. The Transportation Networks for Research team is not responsible for the content of the data sets. Agencies, organizations, institutions and individuals acknowledged in this web site for their contribution to the datasets are not responsible for the content or the correctness of the datasets.

How to Cite

Transportation Networks for Research Core Team. Transportation Networks for Research . https://github.com/bstabler/TransportationNetworks . Accessed Month, Day, Year.

This repository is maintained by the Transportation Networks for Research Core Team. The current members are:

  • Ben Stabler
  • Hillel Bar-Gera
  • Elizabeth Sall

This effort is also associated with the TRB Network Modeling Committee . If you are interested in contributing in a more significant role, please get in touch. Thanks!

Any documented text-based format is acceptable. Please include a README.MD that describes the files, conventions, fields names, etc. It is best to use formats that can be easily read in with technologies like R, Python, etc. Many of the datasets on TransportationNetworks are in TNTP format.

TNTP Data format

TNTP is tab delimited text files, with each row terminated by a semicolon. The files have the following format:

  • First lines are metadata; each item has a description. An important one is the <FIRST THRU NODE> . In the some networks (like Sioux-Falls) it is equal to 1, indicating that traffic can move through all nodes, including zones. In other networks when traffic is not allow to go through zones, the zones are numbered 1 to n and the <FIRST THRU NODE> is set to n+1.
  • Comment lines start with ‘~’.
  • Link travel time = free flow time * ( 1 + B * (flow/capacity)^Power ).
  • Link generalized cost = Link travel time + toll_factor * toll + distance_factor * distance
  • The network files also contain a "speed" value for each link. In some cases the "speed" values are consistent with the free flow times, in other cases they represent posted speed limits, and in some cases there is no clear knowledge about their meaning. All of the results reported below are based only on free flow travel times as described by the functions above, and do not use the speed values.
  • Free Flow Time
  • Speed limit
  • Trip tables (must be named <network>_trips.tntp ) – An Origin label and then Origin node number, followed by Destination node numbers and OD flow

Import scripts

The networks' formatting has been harmonized to facilitate programatic imports, and import scripts are provided inside the folder _scripts :

Summary of Networks

Publications.

A partial list of publications where datasets from this repository have been used. All website users are kindly requested to add their publications to this list.

  • Bar-Gera, H.(2002), Origin-based algorithm for the traffic assignment problem, Transportation Science 36(4), 398-417. Bar-Gera, H. & Boyce, D. (2003), Origin-based algorithms for combined travel forecasting models, Transportation Research Part B - Methodological 37 (5), 405-422.
  • Boyce, D. & Bar-Gera, H. (2003), Validation of urban travel forecasting models combining origin-destination, mode and route choices, Journal of Regional Science, 43, 517-540.
  • Boyce, D., Ralevic-Dekic, B. & Bar-Gera, H. (2004), Convergence of Traffic Assignments: How Much Is Enough? The Delaware Valley Region Case Study, ASCE Journal of Transportation Engineering, 130 (1), 49-55.
  • Boyce, D. & Bar-Gera, H. (2004), Multiclass Combined Models for Urban Travel Forecasting, Networks and Spatial Economics, 4 (1), 115-124.
  • Bar-Gera, H. & Boyce D. (2006), Solving a non-convex combined travel forecasting model by the Method of Successive Averages with constant step sizes, Transportation Research Part B - Methodological, 40 (5), 351-367.
  • Bar-Gera, H. (2006), Primal Method for Determining the Most Likely Route Flows in Large Road Networks, Transportation Science, 40 (3), 269-286.
  • Bar-Gera, H., Mirchandani, P.B. & Wu, F.ST (2006), Evaluating the assumption of independent turning probabilities, Transportation Research Part B - Methodological, 40 (10), 903-916.
  • Bar-Gera, H. & Luzon, A. (2007), Differences among route flow solutions for the user-equilibrium traffic assignment problem, ASCE Journal of Transportation Engineering, 133 (4), 232-239.
  • Bar-Gera, H. & Luzon, A. (2007), Non-unique route flow solutions for user-equilibrium assignments. Traffic Engineering and Control, 48 (9), 408-412.
  • Bar-Gera, H. (2010), Traffic assignment by paired alternative segments, Transportation Research Part B - Methodological, 44 (8-9), 1022-1046.
  • Bar-Gera, H., Boyce, D. & Nie, Y. (2012), User-equilibrium route flows and the condition of proportionality. Transportation Research Part B - Methodological 46 (3), 440–462.
  • Bar-Gera, H., Hellman, F. & Patriksson, M. (2013), Efficient design and pricing of equilibrium traffic networks precise calculations of equilibria and sensitivities. Transportation Research Part B - Methodological, 57, 485-500.
  • Rey, D.PI, Bar-Gera, H.PI, Dixit, V.PI, Waller, S.T.PI (2019). A Branch and Price Algorithm for the Work-zone Scheduling Problem. Accepted for publication in Transportation Science.

Other Related Projects

  • TRB Network Modeling Committee
  • InverseVIsTraffic is an open-source repository that implements some inverse Variational Inequality (VI) formulations proposed for both single-class and multi-class transportation networks. The package also implements algorithms to evaluate the Price of Anarchy in real road networks. Currently, the package is maintained by Jing Zhang .
  • Frank-Wolfe algorithm that demonstrates how to read these data formats and runs a FW assignment. The header file "stdafx.h" is for Microsoft Visual C (MSVC) compiler. On Unix and other compilers it can be simply omitted.
  • seSue is an open source tool to aid research on static path-based Stochastic User Equilibrium (SUE) models. It is designed to carry out experiments to analyze the effects of (1) different path-based SUE models associated with different underlying discrete choice models (as well as hybrid models), and (2) different route choice set generation algorithms on the route choice probabilities and equilibrium link flows. For additional information, contact Ugur Arikan
  • TrafficAssignment.jl is an open-source, Julia package that implements some traffic assignment algorithms. It also loads the transportation network test problem data in vector/matrix forms. The packages is maintained by Changhyun Kwon .
  • DTALite-S - Simplified Version of DTALite for Education and Research
  • NeXTA open-source GUI for visualizing static/dynamic traffic assignment results
  • Transit Network Design Instances - transit network design instances for research repository
  • Fast-Trips - open source dynamic transit assignment software, data standards, and research project
  • AMS Data Hub is an FHWA research project to develop a prototype data hub and data schema for transportation simulation models
  • GTFS-PLUS - GTFS-based data transit network data standard suitable for dynamic transit modeling
  • Open matrix - Open matrix standard for binary matrix data management that is supported by the major commercial travel demand modeling packages and includes code for R, Python, Java, C#, and C++.
  • AequilibraE - Python package for transportation modeling
  • General Modeling Network Specification - GMNS defines a common human and machine readable format for sharing routable road network files. It is designed to be used in multi-modal static and dynamic transportation planning and operations models.

Contributors 13

@bstabler

  • Jupyter Notebook 100.0%

TF Resource

Network assignment

What is Network Assignment?

Role of Network Assignment in Travel Forecasting

Overview of Methods for Traffic Assignment for Highways

All-or-nothing Assignments

Incremental assignment

Brief History of Traffic Equilibrium Concepts

Calculating Generalized Costs from Delays

Challenges for Highway Traffic Assignment

Transit Assignment

Latest Developments

Page categories

Topic Circles

Trip Based Models

More pages in this category:

# what is network assignment.

In the metropolitan transportation planning and analysis, the network assignment specifically involves estimating travelers’ route choice behavior when travel destinations and mode of travel are known. Origin-destination travel demand are assigned to a transportation network in order to estimate traffic flows and network travel conditions such as travel time. These estimated outputs from network assignment are compared against observed data such as traffic counts for model validation .

Caption:Example for a network assignment showing link-level truck volumes

Network assignment is a mathematical problem which is solved by a solution algorithm through the use of computer. It is usually resolved as a travel cost optimization problem for each origin-destination pair on a model network. For every origin-destination pair, a path is selected that typically minimizes travel costs. The simplest kind of travel cost is travel time from beginning to end of the trip. A more complex form of travel cost, called generalized cost, may include combinations of other costs of travel such as toll cost and auto operating cost on highway networks. Transit networks may include within generalized cost weights to emphasize out-of-vehicle time and penalties to represent onerous tasks. Usually, monetary costs of travel, such as tolls and fares, are converted to time equivalent based on an estimated value of time. The shortest path is found using a path finding algorithm .

The surface transportation network can include the auto network, bus network, passenger rail network, bicycle network, pedestrian network, freight rail network, and truck network. Traditionally, passenger modes are handled separately from vehicular modes. For example, trucks and passenger cars may be assigned to the same network, but bus riders often are assigned to a separate transit network, even though buses travel over roads. Computing traffic volume on any of these networks first requires estimating network specific origin-destination demand. In metropolitan transportation planning practice in the United States, the most common network assignments employed are automobile, truck, bus, and passenger rail. Bicycle, pedestrian, and freight rail network assignments are not as frequently practiced.

# Role of Network Assignment in Travel Forecasting

The urban travel forecasting process is analyzed within the context of four decision choices:

  • Personal Daily Activity
  • Locations to Perform those Activities
  • Mode of Travel to Activity Locations, and
  • Travel Route to the Activity Locations.

Usually, these four decision choices are named as Trip Generation , Trip Distribution , Mode Choice , and Traffic Assignment. There are variations in techniques on how these travel decision choices are modeled both in practice and in research. Generalized cost, which is typically in units of time and is an output of the path-choice step of the network assignment process, is the single most important travel input to other travel decision choices, such as where to travel and by which mode. Thus, the whole urban travel forecasting process relies heavily on network assignment. Generalized cost is also a major factor in predicting socio-demographic and spatial changes. To ensure consistency in generalized cost between all travel model components in a congested network, travel cost may be fed back to the earlier steps in the model chain. Such feedback is considered “best practice” for urban regional models. Outputs from network assignment are also inputs for estimating mobile source emissions as part of a review of metropolitan area transportation plans, a requirement under the Clean Air Act Amendments of 1990 for areas not in attainment of the National Ambient Air Quality Standard.

transportation network assignment problem

# Overview of Methods for Traffic Assignment for Highways

This topic deals principally with an overview of static traffic assignment. The dynamic traffic assignment is discussed elsewhere.

There are a large number of traffic assignment methods, but they all have at their core a procedure called “all-or-nothing” (AON) traffic assignment. All-or-nothing traffic assignment places all trips between an origin and destination on the shortest path between that origin and destination and no trips on any other possible path (compare path finding algorithm for a step-by-step introduction). Shortest paths may be determined by a well-known algorithm by Dijkstra; however, when there are turn penalties in the network a different algorithm, called Vine building , must be used instead.

# All-or-nothing Assignments

The simplest assignment algorithm is the all-or-nothing traffic assignment. In this algorithm, flows from every origin to every destination are assigned using the path finding algorithm , and travel time remains unchanged regardless of travel volumes.

All-or-nothing traffic assignment may be used when delays are unimportant for a network. Another alternative to the user-equilibrium technique is the stochastic traffic assignment technique, which assumes variation in link level travel time.

One of the earliest, computationally efficient stochastic traffic assignment algorithms was developed by Robert Dial. [1] More recently the k-shortest paths algorithm has gained popularity.

The biggest disadvantage of the all-or-nothing assignment and the stochastic assignment is that congestion cannot be considered. In uncongested networks, these algorithms are very useful. In congested conditions, however, these algorithm miss that some travelers would change routes to avoid congestion.

# Incremental assignment

The incremental assignment method is the simplest way to (somewhat rudimentary) consider congestion. In this method, a certain share of all trips (such as half of all trips) is assigned to the network. Then, travel times are recalculated using a volume-delay function , or VDF. Next, a smaller share (such as 25% of all trips) is assigned based using the revised travel times. Using the demand of 50% + 25%, travel times are recalculated again. Next, another smaller share of trips (such as 10% of all trips) is assigned using the latest travel times.

A large benefit of the incremental assignment is model runtime. Usually, flows are assigned within 5 to 10 iterations. Most user-equilibrium assignment methods (see below) require dozens of iterations, which increases the runtime proportionally.

In the incremental assignment, the first share of trips is assigned based on free-flow conditions. Following iterations see some congestion, on only the very last trip to be assigned will consider true congestion levels. This is reasonable for lightly congested networks, as a large number of travelers could travel at free-flow speed.

The incremental assignment works unsatisfactorily in heavily congested networks, as even 50% of the travel demand may lead to congestion on selected roads. The incremental assignment will miss the fact that a portion of the 50% is likely to select different routes.

# Brief History of Traffic Equilibrium Concepts

Traffic assignment theory today largely traces its origins to a single principle of “user equilibrium” by Wardrop [2] in 1952. Wardrop’s “first” principle simply states (slightly paraphrased) that at equilibrium not a single driver may change paths without incurring a greater travel impedance . That is, any used path between an origin and destination must have a shortest travel time between the origin and destination, and all other paths must have a greater travel impedance. There may be multiple paths between an origin and destination with the same shortest travel impedance, and all of these paths may be used.

Prior to the early 1970’s there were many algorithms that attempted to solve for Wardrop’s user equilibrium on large networks. All of these algorithms failed because they either did not converge properly or they were too slow computationally. The first algorithm to be able to consistently find a correct user equilibrium on a large traffic network was conceived by a research group at Northwestern University (LeBlanc, Morlok and Pierskalla) in 1973. [3] This algorithm was called “Frank-Wolfe decomposition” after the name of a more general optimization technique that was adapted, and it found the minimum of an “objective function” that came directly from theory attributed to Beckmann from 1956. [4] The Frank-Wolfe decomposition formulation was extended to the combined distribution/assignment problem by Evans in 1974. [5]

A lack of extensibility of these algorithms to more realistic traffic assignments prompted model developers to seek more general methods of traffic assignment. A major development of the 1980s was a realization that user equilibrium traffic assignment is a “variational inequality” and not a minimization problem. [6] An algorithm called the method of successive averages (MSA) has become a popular replacement for Frank-Wolfe decomposition because of MSA’s ability to handle very complicated relations between speed and volume and to handle the combined distribution/mode-split/assignment problem. The convergence properties of MSA were proven for elementary traffic assignments by Powell and Sheffi and in 1982. [7] MSA is known to be slower on elementary traffic assignment problems than Frank-Wolfe decomposition, although MSA can solve a wider range of traffic assignment formulations allowing for greater realism.

A number of enhancements to the overall theme of Wardop’s first principle have been implemented in various software packages. These enhancements include: faster algorithms for elementary traffic assignments, stochastic multiple paths, OD table spatial disaggregation and multiple vehicle classes.

# Calculating Generalized Costs from Delays

Equilibrium traffic assignment needs a method (or series of methods) for calculating impedances (which is another term for generalized costs) on all links (and nodes) of the network, considering how those links (and nodes) were loaded with traffic. Elementary traffic assignments rely on volume-delay functions (VDFs), such as the well-known “BPR curve” (see NCHRP Report 365), [8] that expressed travel time as a function of link volume and link capacity. The 1985 US Highway Capacity Manual (and later editions through 2010) made it clear to transportation planners that delays on large portions of urban networks occur mainly at intersections, which are nodes on a network, and that the delay on any given intersection approach relates to what is happening on all other approaches. VDFs are not suitable for situations where there is conflicting and opposing traffic that affects delays. Software for implementing trip-based models are now incorporating more sophisticated delay relationships from the Highway Capacity Manual and other sources, although many MPO forecasting models still use VDFs, exclusively.

# Challenges for Highway Traffic Assignment

Numerous practical and theoretical inadequacies pertaining to Static User Equilibrium network assignment technique are reported in the literature. Among them, most widely noted concerns and challenges are:

  • Inadequate network convergence;
  • Continued use of legacy slow convergent network algorithm, despite availability of faster solution methods and computers;
  • Non-unique route flows and link flows for multi-class assignments and for assignment on networks that include delays from opposing and conflicting traffic;
  • Continued use of VDFs , when superior delay estimation techniques are available;
  • Unlikeness of a steady-state network condition;
  • Impractical assumption that all drivers have flawless route information and are acting without bias;
  • Every driver travels at the same congested speed, no vehicle traveling on the same link overtakes another vehicle;
  • Oncoming traffic does not affect traffic flows;
  • Interruptions, such as accidents or inclement weather, are not represented;
  • Traffic does not form queues;
  • Continued use of multi-hour time periods, when finer temporal detail gives better estimates of delay and path choice.

# Transit Assignment

Most transit network assignment in implementation is allocation of known transit network specific demand based on routes, vehicle frequency, stop location, transfer point location and running times. Transit assignments are not equilibrium, but can be either all-or-nothing or stochastic. Algorithms often use complicated expressions of generalized cost which include the different effects of waiting time, transfer time, walking time (for both access and egress), riding time and fare structures. Estimated transit travel time is not directly dependent on transit passenger volume on routes and at stations (unlike estimated highway travel times, which are dependent on vehicular volumes on roads and at intersection). The possibility of many choices available to riders, such as modes of access to transit and overlaps in services between transit lines for a portion of trip segments, add further complexity to these problems.

# Latest Developments

With the increased emphasis on assessment of travel demand management strategies in the US, there have been some notable increases in the implementation of disaggregated modeling of individual travel demand behavior. Similar efforts to simulate travel route choice on dynamic transportation network have been proposed, primarily to support the much needed realistic representation of time and duration of roadway congestion. Successful examples of a shift in the network assignment paradigm to include dynamic traffic assignment on a larger network have emerged in practice. Dynamic traffic assignments are able to follow UE principles. An even newer topic is the incorporation of travel time reliability into path building.

# References

Dial , Robert Barkley, Probabilistic Assignment; a Multipath Traffic Assignment Model Which Obviates Path Enumeration, Thesis (Ph.D.), University of Washington, 1971. ↩︎

Wardrop, J. C., Some Theoretical Aspects of Road Traffic Research, Proceedings, Institution of Civil Engineers Part 2, 9, pp. 325–378. 1952. ↩︎

LeBlanc, Larry J., Morlok, Edward K., Pierskalla, William P., An Efficient Approach to Solving the Road Network Equilibrium Traffic Assignment Problem, Transportation Research 9, 1975, 9, 309–318. ↩︎

(opens new window) ) ↩︎

Evans, Suzanne P., Derivation and Analysis of Some Models for Combining Trip Distribution and Assignment, Transportation Research, Vol 10, pp 37–57 1976. ↩︎

Dafermos, S.C., Traffic Equilibrium and Variational Inequalities, Transportation Science 14, 1980, pp. 42-54. ↩︎

Powell, Warren B. and Sheffi, Yosef, The Convergence of Equilibrium Algorithms with Predetermined Step Sizes, Transportation Science, February 1, 1982, pp. 45-55. ↩︎

(opens new window) ). ↩︎

← Mode choice Dynamic Traffic Assignment →

This site uses cookies to learn which topics interest our readers.

Network flow problem

Author: Aaron Wheeler, Chang Wei, Cagla Deniz Bahadir, Ruobing Shui, Ziqiu Zhang (ChemE 6800 Fall 2020)

  • 1 Introduction
  • 2.1.1 The Assignment Problem
  • 2.1.2 The Transportation Problem
  • 2.1.3 The Shortest-Path Problem
  • 2.1.4 Maximal Flow Problem
  • 2.2.1 Ford–Fulkerson Algorithm
  • 3.1 Formulation of the Problem
  • 3.2 Solution of the Problem
  • 4.1 The Minimum Cost Flow Problem
  • 4.2 The Assignment Problem
  • 4.3 The Shortest Path Problem
  • 5 Conclusion
  • 6 References

Introduction

Network flow problems arise in several key instances and applications within society and have become fundamental problems within computer science, operations research, applied mathematics, and engineering. Developments in the approach to tackle these problems resulted in algorithms that became the chief instruments for solving problems related to large-scale systems and industrial logistics. Spurred by early developments in linear programming, the methods for addressing these extensive problems date back several decades and they evolved over time as the use of digital computing became increasingly prevalent in industrial processes. Historically, the first instance of an algorithmic development for the network flow problem came in 1956, with the network simplex method formulated by George Dantzig. [1] A variation of the simplex algorithm that revolutionized linear programming, this method leveraged the combinatorial structure inherent to these types of problems and demonstrated incredibly high accuracy. [2] This method and its variations would go on to define the embodiment of the algorithms and models for the various and distinct network flow problems discussed here.

Theory, Methodology, and Algorithms

The network flow problem can be conceptualized as a directed graph which abides by flow capacity and conservation constraints. The vertices in the graph are classified into origins (source Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle X} ), destinations (sink Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle O} ), and intermediate points and are collectively referred to as nodes ( Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N} ). These nodes are different from one another such that Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N_i \neq X,O,\ldots N_j} . [3] The edges in the directed graph are the directional links between nodes and are referred to as arcs ( Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle A} ). These arcs are defined with a specific direction Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle (i, j)} that corresponds to the nodes they are connecting. The arcs Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle A\subseteq (i,j)} are also defined by a specific flow capacity Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle c(A)>0} that cannot be exceeded. The supply and demand of units Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \Sigma_i u_i=0~for~i\in N} are formulated by negative and positive flow notation, and are defined such that sources equate to positive values (supply) and sinks equate to negative values (demand). Intermediate nodes have no net supply or demand. Figure 1 illustrates this general definition of the network.

transportation network assignment problem

Additional constraints of the network flow optimization model place limits on the solution and vary significantly based on the specific type of problem being solved. Historically, the classic network flow problems are considered to be the maximum flow problem and the minimum-cost circulation problem, the assignment problem, bipartite matching problem, transportation problem, and the transshipment problem. [2] The approach to these problems become quite specific based upon the problem’s objective function but can be generalized by the following iterative approach: 1. determining the initial basic feasible solution; 2. checking the optimality conditions (i.e. whether the problem is infeasible, unbounded over the feasible region, optimal solution has been found, etc.); and 3. constructing an improved basic feasible solution if the optimal solution has not been determined. [3]

General Applications

The assignment problem.

Various real-life instances of assignment problems exist for optimization, such as assigning a group of people to different tasks, events to halls with different capacities, rewards to a team of contributors, and vacation days to workers. All together, the assignment problem is a bipartite matching problem in the kernel. [3] In a classical setting, two types of objects of equal amount are  bijective (i.e. they have one-to-one matching), and this tight constraint ensures a perfect matching. The objective is to minimize the cost or maximize the profit of matching, since different items of two types have distinct affinity.

transportation network assignment problem

A classic example is as follows: suppose there are Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n } people (set Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle P } ) to be assigned to Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n } tasks (set Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle T } ). Every task has to be completed and each task has to be handled by only one person, and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle c_{ij} } , usually given by a table, measures the benefits gained by assigning the person Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i } (in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle P } ) to the task Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle j } (in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle T } ). [4] The natural objective here is to maximize the overall benefits by devising the optimal assignment pattern. A graph of the general assignment problem and a table of preference are depicted as Figure 2 and Table 2.

Figure 2 can be viewed as a network. The nodes represent people and tasks, and the edges represent potential assignments between a person and a task. Each task can be completed by any person. However, the person that actually ends up being assigned to the task will be the lone individual who is best suited to complete. In the end, the edges with positive flow values will be the only ones represented in the finalized assignment. [5]

To approach this problem, the binary variable Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{ij} } is defined as whether the person Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i } is assigned to the task Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle j } . If so, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{ij} } = 1, and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{ij} } = 0 otherwise.

The concise-form formulation of the problem is as follows [3] :

max Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle z=\sum_{i=1}^n\sum_{j=1}^n c_{ij}x_{ij}}

Subject to:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{j=1}^n x_{ij}=1~~\forall i\in [1,n] }

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{I=1}^n x_{ij}=1~~\forall j\in [1,n] }

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{ij}=0~or~1~~\forall i,j\in [1,n] }

The first constraint captures the requirement of assigning each person  to a single task. The second constraint indicates that each task must be done by exactly one person. The objective function sums up the overall benefits of all assignments.

To see the analogy between the assignment problem and the network flow, we can describe each person supplying a flow of 1 unit and each task demanding a flow of 1 unit, with the benefits over all “channels” being maximized. [3]

A potential issue lies in the branching of the network, specifically an instance where a person splits its one unit of flow into multiple tasks and the objective remains maximized. This shortcoming is allowed by the laws that govern the network flow model, but are unfeasible in real-life instances. Fortunately, since the network simplex method only involves addition and subtraction of a single edge while transferring the basis, which is served by the spanning tree of the flow graph, if the supply (the number of people here) and the demand (the number of tasks here) in the constraints are integers, the solved variables will be automatically integers even if it is not explicitly stated in the problem. This is called the integrality of the network problem, and it certainly applies to the assignment problem. [6]

The Transportation Problem

People first came up with the transportation problem when distributing troops during World War II. [7] Now, it has become a useful model for solving logistics problems, and the objective is usually to minimize the cost of transportation.

Consider the following scenario:

There are 2 chemical plants located in 2 different places: Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle M } and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N } . There are  3 raw material suppliers in other 3 locations: Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle F } , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G } , and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle H } . The amount of materials from a supplier can be arbitrarily divided into two parts and shipped to two factories. Supplier Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle F } , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G } , and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle H } can provide Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle S_1 } , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle S_2 } , and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle S_3 } amounts of materials respectively. The chemical plants located at Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle M } and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N } have the material demand of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle D_1 } and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle D_2 } respectively. Each transportation route, from suppliers to chemical plants, is attributed with a specific cost. This model raises the question: to keep the chemical plants running, what is the best way to arrange the material from the suppliers so that the transportation cost could be minimized?

transportation network assignment problem

Several quantities should be defined to help formulate the frame of the solution:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle S_{i} } = the amount of material provided at the supplier Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i }

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle D_{j} } = the amount of material being consumed at the chemical plant Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle j }

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{ij} } = the amount of material being transferred from supplier Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i } to chemical plant Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle j }

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle C_{ij} } = the cost of transferring 1 unit of material from supplier Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i } to chemical plant Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle j }

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{ij} } Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle C_{ij} } = the cost of the material transportation from Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i } to Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle j }

Here, the amount of material being delivered and being consumed is bound to the supply and demand constraints:

(1): The amount of material shipping from supplier Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i } cannot exceed the amount of material available at supplier Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i } .

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_j^n x_{ij}\ \leq S_{i} \qquad \forall i\in I=[1,m] }

(2): The amount of material arrived at chemical plant Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle j } should at least fulfill the demand at chemical plant Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle j } .

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_i^m x_{ij}\ \geq D_{j} \qquad \forall j\in J=[1,n] }

The objective is to find the minimum cost of transportation, so the cost of each transportation line should be added up, and the total cost should be minimized.

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_i^m \sum_j^n x_{ij}\ C_{ij} }

Using the definitions above, the problem can be formulated as such:

min Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \quad z = \sum_i^m \sum_j^n x_{ij}\ C_{ij} }

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle s.t. \quad\ \sum_j^n x_{ij}\ \leq S_{i} \qquad \forall i\in I=[1,m] }

However, the problem is not complete at this point because there is no constraint for Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{ij} } , and that means Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{ij} } can be any number, even negative. In order for Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{ij} } to make sense physically, a lower bound of zero is mandatory, which corresponds to the situation where no material was transported from Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i } to Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle j } . Adding the last constraint will complete this formulation as such:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{ij}\ \geq 0 }

The problem and the formulation is adapted from Chapter 8 of the book: Applied Mathematical Programming by Bradley, Hax and Magnanti. [3]

The Shortest-Path Problem

The shortest-path problem can be defined as finding the path that yields the shortest total distance between the origin and the destination. Each possible stop is a node and the paths between these nodes are edges incident to these nodes, where the path distance becomes the weight of the edges. In addition to being the most common and straightforward application for finding the shortest path, this model is also used in various applications depending on the definition of nodes and edges. [3] For example, when each node represents a different object and the edge specifies the cost of replacement, the equipment replacement problem is derived. Moreover, when each node represents a different project and the edge specifies the relative priority, the model becomes a project scheduling problem.

transportation network assignment problem

A graph of the general shortest-path problem is depicted as Figure 4:

In the general form of the shortest-path problem, the variable Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{ij} } represents whether the edge Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle (i,j) } is active (i.e. with a positive flow), and the parameter Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle c_{ij} } (e.g. Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle c_{12} } = 6) defines the distance of the edge Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle (i,j) } . The general problem is formulated as below:

min Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle z=\sum_{i=1}^n \sum_{j=1}^n c_{ij}x_{ij}}

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{j=1}^n x_{ij} - \sum_{k=1}^n x_{ki} = \begin{cases} 1 & \text{if }i=s\text{ (source)} \\ 0 & \text{otherwise} \\ -1 & \text{if }i=t \text{ (sink)} \end{cases}}

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{ij}\geq 0~~\forall (i,j)\in E}

The first term of the constraint is the total outflow of the node i, and the second term is the total inflow. So, the formulation above could be seen as one unit of flow being supplied by the origin, one unit of flow being demanded by the destination, and no net inflow or outflow at any intermediate nodes. These constraints mandate a flow of one unit, amounting to the active path, from the origin to the destination. Under this constraint, the objective function minimizes the overall path distance from the origin to the destination.

Similarly, the integrality of the network problem applies here, precluding the unreasonable fractioning. With supply and demand both being integer (one here), the edges can only have integer amount of flow in the result solved by simplex method. [6]

In addition, the point-to-point model above can be further extended to other problems. A number of real life scenarios require visiting multiple places from a single starting point. This “Tree Problem” can be modeled by making small adjustments to the original model. In this case, the source node should supply more units of flow and there will be multiple sink nodes demanding one unit of flow. Overall, the objective and the constraint formulation are similar. [4]

Maximal Flow Problem

This problem describes a situation where the material from a source node is sent to a sink node. The source and sink node are connected through multiple intermediate nodes, and the common optimization goal is to maximize the material sent from the source node to the sink node. [3]

transportation network assignment problem

The given structure is a piping system. The water flows into the system from the source node, passing through the intermediate nodes, and flows out from the sink node. There is no limitation on the amount of water that can be used as the input for the source node. Therefore, the sink node can accept an unlimited amount of water coming into it. The arrows denote the valid channel that water can flow through, and each channel has a known flow capacity. What is the maximum flow that the system can take?

transportation network assignment problem

For any intermediate node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle j } in the system, it receives water from adjacent node(s) Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i } , and sends water to the adjacent node(s) Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle k } . The node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i } and k are relative to the node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle j } .

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i } = the node(s) that gives water to node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle j }

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle j } = the intermediate node(s)

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle k } = the node(s) that receives the water coming out of node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle j }

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{ij} } = amount of water leaving node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i } and entering node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle j }   ( Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i } and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle j } are adjacent nodes)

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{jk} } = amount of water leaving node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle j } and entering node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle k }   ( Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i } and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle k } are adjacent nodes)

For the source and sink node, they have net flow that is non-zero:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle m } = source node

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle n } = sink node

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{in} } = amount of water leaving node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i } and entering sink node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle n } ( Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i } and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle n } are adjacent nodes)

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_{mk} } = amount of water leaving source node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle m } and entering node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle k } ( Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle m } and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle k } are adjacent nodes)

Flow capacity definition is applied to all nodes (including intermediate nodes, the sink, and the source):

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle C_{ab} } = transport capacity between any two nodes Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle a } and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle b } ( Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle a } Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \neq } Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle b } )

The main constraints for this problem are the transport capacity between each node and the material conservation:

(1): The amount of water flowing from any node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle a } to node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle b } should not exceed the flow capacity between node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle a } to node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle b } .

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle 0\leq x_{ab} \leq C_{ab} }

(2): The intermediate node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle j } does not hold any water, so the amount of water that flows into node Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\textstyle j } has to exit the node with the exact same amount it entered with.

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_i^px_{ij}- \sum_k^r x_{jk} =0 \qquad \begin{cases} \forall i\in I=[1,p] \\ \forall j\in J=[1,q]\\ \forall k\in K=[1,r] \end{cases} }

Overall, the net flow out of the source node has to be the same as the net flow into the sink node. This net flow is the amount that should be maximized.

Using the definitions above:

transportation network assignment problem

min Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \quad z = \sum_k^r x_{uk} } (or Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_i^p x_{iv} } )

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle s.t. \quad\ \sum_i^px_{ij}- \sum_k^r x_{jk} =0 \qquad \begin{cases} \forall i\in I=[1,p] \\ \forall j\in J=[1,q]\\ \forall k\in K=[1,r] \end{cases} }

This expression can be further simplified by introducing an imaginary flow from the sink to the source.

By introducing this imaginary flow, the piping system is now closed. The mass conservation constraint now also holds for the source and sink node, so they can be treated as the intermediate nodes. The problem can be rewritten as the following: 

min Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \quad z = x_{vu} }

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle s.t. \quad\ \sum_i^px_{ij}- \sum_k^r x_{jk} =0 \qquad \begin{cases} \forall i\in I=[1,p] \\ \forall j\in J=[1,q+2]\\ \forall k\in K=[1,r] \end{cases} }

The problem and the formulation are derived from an example in Chapter 8 of the book: Applied Mathematical Programming by Bradley, Hax and Magnanti. [3]

Ford–Fulkerson Algorithm

A broad range of network flow problems could be reduced to the max-flow problem. The most common way to approach the max-flow problem in polynomial time is the Ford-Fulkerson Algorithm (FFA). FFA is essentially a greedy algorithm and it iteratively finds the augmenting s-t path to increase the value of flow. The pathfinding terminates until there is no s-t path present. Ultimately, the max-flow pattern in the network graph will be returned. [8]

Typically, FFA is applied to flow networks with only one source node s and one sink node t. In addition, the capacity conditions and the conservation conditions, which are two properties defining the flow, must be satisfied. [9] The capacity conditions require that each edge carry a flow that is no more than its capacity, or Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle 0\leq f(e)\leq c_{e},\forall e\in E} , where function f returns the flow on a certain edge. The conservation conditions require all nodes except the source and the sink to have a net flow of 0, or , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{e~into~v}f(v)= \sum_{e~out~of~v}f(v),\forall v\in V-{s,t} } .

FFA introduces the concept of residue graph based on the original graph Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G} to allow backtracking, or pushing backward on edges that are already carrying flow. [9] The residue graph Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G_{f} } is defined as the following:

1. Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G_{f}} has exactly the same node set as Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G} .

2. For each edge Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle e = (u,v)} with a nonnegative flow Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle f( e)} in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G} , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G_{f}} has the edge e with the capacity Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle c(e)_{f} = c_{e} - f(e)} , and also Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G_f} has the edge Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle e' = (v,u)} with the capacity Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle c(e')_{f} = f(e)} .

Note that initially, the Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G_{f} } is identical to Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G} since there is no flow present in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G} .

The steps of FFA are as below. [10] Essentially, the method repeatedly finds a path with positive flow in the residue graph, and updates the flow graph and residue graph until Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle s} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle t} become disjoint in the residue graph.

1. Set Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle f(e) = 0, \forall e\in E} in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G} , and create a copy as Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G_{f}} .

2. While there is still a Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle s, t} path Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle p} in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G_{f}} :

transportation network assignment problem

An example of running the FFA is as below. The flow graph Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G} and residue graph Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G_{f}} at the initial phase is depicted in Figure 8, where the number of each edge in the flow graph is the flow units on the edge, whereas it is the updated edge capacity in the residue graph.

In the residue graph, an Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle s-t} path can be found in the residue graph tracing the edge Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle s\rightarrow A\rightarrow B\rightarrow t} with the flow of two units. After augmenting the path on both graphs, the flow graph and the residue graph look like the Figure 9.

transportation network assignment problem

At this stage, there is still Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle s,t} -path in the residue graph Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle s\rightarrow B\rightarrow A\rightarrow t} with a flow of one unit. After augmenting the path on both graphs, the flow graph and the residue graph look like the Figure 10.

transportation network assignment problem

At this stage, there is no more Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle s,t} -path in the residue graph, so FFA terminates and the maximum flow can be read from the flow graph as 3 units.

Numerical Example and Solution

A Food Distributor Company is farming and collecting vegetables from farmers to later distribute to the grocery stores. The distributor has specific agreements with different third-party companies to mediate the delivery to the grocery stores. In a particular month, the company has 600 ton vegetables to deliver to the grocery store. They have agreements with two third-party transport companies A and B, which have different tariffs for delivering goods between themselves, the distributor, and the grocery store. They also have limits on transport capacity for each path. These delivery points are numbered as shown below, with path 1 being the transport from the Food Distributor Company to the transport company A. The limits and tariffs for each path can be found in the Table 2 below, and the possible transportation connections between the distributor company, the third-party transporters, and the grocery store are shown in the figure below. The distributor companies cannot hold any amount of food, and any incoming food should be delivered to an end point. The distributor company wants to minimize the overall transport cost of shipping 600 tons of vegetables to the grocery store by choosing the optimal path provided by the transport companies. How should the distributor company map out their path and the amount of vegetables carried on each path to minimize cost overall?

transportation network assignment problem

This question is adapted from one of the exercise questions in chapter 8 of the book: Applied Mathematical Programming by Bradley, Hax and Magnanti [3] .

Formulation of the Problem

The problem can be formulated as below where variables Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_1, x_2, x_3,..., x_6} denote the tons of vegetables carried in paths 1 to 6. The objective function stated in the first line is to minimize the cost of the operation, which is the summation of the tons of vegetables carried on each path multiplied by the corresponding tariff: Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{i=1}^6 x_i t_i} .

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{array}{lcl} \min z = 10x_1 + 12.5x_2 + 5x_3 + 7.5x_4 + 10x_5 + 20x_6 \\ s.t. \qquad x_5 = x_1 - x_3 + x_4 \\ \ \ \ \quad \qquad x_6 = x_2 + x_3 - x_4 \\ \ \ \ \quad \qquad x_5 + x_6 = 600 \\ \ \ \ \quad \qquad x_1 + x_2 = 600 \\ \ \ \ \quad \qquad x_1 \leq 250 \\ \ \ \ \quad \qquad x_2 \leq 450 \\ \ \ \ \quad \qquad x_3 \leq 350 \\ \ \ \ \quad \qquad x_4 \leq 200 \\ \ \ \ \quad \qquad x_5 \leq 300 \\ \ \ \ \quad \qquad x_6 \leq 500 \\ \ \ \ \quad \qquad x_1, x_2, x_3, x_4, x_5, x_6 \geq 0\\\end{array} }

The second step is to write down the constraints. The first constraint ensures that the net amount present in the Transport Company A, which is the deliveries received from path 1 and path 2 minus the transport to Transport Company B should be delivered to the grocery store with path 5. The second constraint ensures this for the Transport Company B. The third and fourth constraints are ensuring that the total amount of vegetables shipping from the Food Distributor Company and the total amount of vegetables delivered to the grocery store are both 600 tons. The constraints 5 to 10 depict the upper limits of the amount of vegetables that can be carried on paths 1 to 6. The final constraint depicts that all variables are non-negative.

Solution of the Problem

This problem can be solved using Simplex Algorithm [11] or with the CPLEX Linear Programming solver in GAMS optimization platform. The steps of the solution using the GAMS platform is as follows:

The first step is to list the variables, which are the tons of vegetables that will be transported in routes 1 to 6. The paths can be denoted as Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x_1, x_2, x_3,..., x_6} . The objective function is the overall cost: z.

variables x1,x2,x3,x4,x5,x6,z;

The second step is to list the equations which are the constraints and the objective function. The objective function is a summation of the amount of vegetables carried in path i, multiplied with the tariff of path i for all i:   Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{i=1}^6 x_i t_i} . The GAMS code for the objective function is written below:

obj.. z=e= 10*x1+12.5*x2+5*x3+7.5*x4+10*x5+20*x6;

Overall, there are 10 constraints in this problem. The constraints 1, and 2 are equations for the paths 5 and 6. The amount carried in path 5 can be found by summing the amount of vegetables incoming to Transport Company A from path 1 and path 4, minus the amount of vegetables leaving Transport Company A with path 3. This can be attributed to the restriction that barrs the companies from keeping any vegetables and requires them to eventually deliver all the incoming produce. The equality 1 ensures that this constraint holds for path 5 and equation 2 ensures it for path 6. A sample of these constraints is written below for path 5:

c1.. x5 =e=x1-x3+x4;

Constraint 3 ensures that the sum of vegetables carried in path 1 and path 2 add to the total of 600 tons of vegetables that leave the Food Distributor Company. Likewise, the constraint 4 ensures that the sum amount of food transported in paths 5 and 6 adds up to 600 tons of vegetables that have to be delivered to the grocery store. A sample of these constraints is written below for the total delivery to the grocery store:

c3.. x5+x6=e=600;

Constraints 5 to 10 should ensure that the amount of food transported in each path should not exceed the maximum capacity depicted in the table. A sample of these constraints is written below for the capacity of path 1:

c5.. x1=l=250;

After listing the variables, objective function and the constraints, the final step is to call the CPLEX solver and set the type of the optimization problem as lp (linear programming). In this case the problem will be solved with a Linear Programming algorithm to minimize the objective (cost) function.

The GAMS code yields the results below:

x1 = 250, x2 = 350, x3 = 0, x4 = 50, x5 = 300, x6 = 300, z =16250.

Real Life Applications

Network problems have many applications in all kinds of areas such as transportation, city design, resource management and financial planning. [6]

There are several special cases of network problems, such as the shortest path problem, minimum cost flow problem, assignment problem and transportation problem. [6] Three application cases will be introduced here.

The Minimum Cost Flow Problem

transportation network assignment problem

Minimum cost flow problems are pervasive in real life, such as deciding how to allocate temporal quay crane in container terminals, and how to make optimal train schedules on the same railroad line. [12]

R. Dewil and his group use MCNFP to assist traffic enforcement. [13] Police patrol “hot spots”, which are areas where crashes occur frequently on highways. R. Dewil studies a method intended to estimate the optimal route of hot spots. He describes the time it takes to move the detector to a certain position as the cost, and the number of patrol cars from one node to next as the flow, in order to minimize the total cost. [13]

Dung-Ying Lin studies an assignment problem in which he aims to assign freights to ships and arrange transportation paths along the Northern Sea Route in a manner which yields maximum profit. [14] Within this network  composed of a ship subnetwork and a cargo subnetwork( shown as Figure 12 and Figure 13), each node corresponds to a port at a specific time and each arc represents the movement of a ship or a cargo. Other types of assignment problems are faculty scheduling, freight assignment, and so on.

The Shortest Path Problem

Shortest path problems are also present in many fields, such as transportation, 5G wireless communication, and implantation of the global dynamic routing scheme. [15][16][17]

Qiang Tu and his group studies the constrained reliable shortest path (CRSP) problem for electric vehicles in the urban transportation network. [15] He describes the reliable travel time of path as the objective item, which is made up of planning travel time of path and the reliability item. The group studies the Chicago sketch network consisting of 933 nodes and 2950 links and the Sioux Falls network consisting of 24 nodes and 76 links. The results show that the travelers’ risk attitudes and properties of electric vehicles in the transportation network can have a great influence on the path choice. [15] The study can contribute to the invention of the city navigation system.

Since its inception, the network flow problem has provided humanity with a straightforward and scalable approach for several large-scale challenges and problems. The Simplex algorithm and other computational optimization platforms have made addressing these problems routine, and have greatly expedited efforts for groups concerned with supply-chain and other distribution processes. The formulation of this problem has had several derivations from its original format, but its overall methodology and approach have remained prevalent in several of society’s industrial and commercial processes, even over half a century later. Classical models such as the assignment, transportation, maximal flow, and shortest path problem configurations have found their way into diverse settings, ranging from streamlining oil distribution networks along the gulf coast to arranging optimal scheduling assignments for college students amidst a global pandemic. All in all, the network flow problem and its monumental impact, have made it a fundamental tool for any group that deals with combinatorial data sets. And with the surge in adoption of data-driven models and applications within virtually all industries, the use of the network flow problem approach will only continue to drive innovation and meet consumer demands for the foreseeable future.

1. Karp, R. M. (2008). George Dantzig’s impact on the theory of computation . Discrete Optimization, 5(2), 174-185.

2. Goldberg, A. V. Tardos, Eva, Tarjan, Robert E. (1989). Network Flow Algorithms, Algorithms and Combinatorics . 9. 101-164.

3. Bradley, S. P. Hax, A. C., & Magnanti, T. L. (1977). Network Models. Applied mathematical programming (p. 259). Reading, MA: Addison-Wesley.

4. Chinneck, J. W. (2006). Practical optimization: a gentle introduction. Systems and Computer Engineering . Carleton University, Ottawa. 11.

5. Roy, B. V. Mason, K.(2005). Formulation and Analysis of Linear Programs, Chapter 5 Network Flows .

6. Vanderbei, R. J. (2020). Linear programming: foundations and extensions (Vol. 285) . Springer Nature.

7. Sobel, J. (2014). Linear Programming Notes VIII: The Transportation Problem .

8. Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2001). "Section 26.2: The Ford–Fulkerson method". Introduction to Algorithms (Second ed.). MIT Press and McGraw–Hill.

9. Jon Kleinberg; Éva Tardos (2006). "Chapter 7: Network Flow". Algorithm Design. Pearson Education.

10. Ford–Fulkerson algorithm . Retrieved December 05, 2020.

11. Hu, G. (2020, November 19). Simplex algorithm . Retrieved November 22, 2020.

12. Altınel, İ. K., Aras, N., Şuvak, Z., & Taşkın, Z. C. (2019). Minimum cost noncrossing flow problem on layered networks . Discrete Applied Mathematics, 261, 2-21.

13. Dewil, R., Vansteenwegen, P., Cattrysse, D., & Van Oudheusden, D. (2015). A minimum cost network flow model for the maximum covering and patrol routing problem . European Journal of Operational Research, 247(1), 27-36.

14. Lin, D. Y., & Chang, Y. T. (2018). Ship routing and freight assignment problem for liner shipping: Application to the Northern Sea Route planning problem . Transportation Research Part E: Logistics and Transportation Review, 110, 47-70.

15. Tu, Q., Cheng, L., Yuan, T., Cheng, Y., & Li, M. (2020). The Constrained Reliable Shortest Path Problem for Electric Vehicles in the Urban Transportation Network . Journal of Cleaner Production, 121130.

16. Guo, Y., Li, S., Jiang, W., Zhang, B., & Ma, Y. (2017). Learning automata-based algorithms for solving the stochastic shortest path routing problems in 5G wireless communication . Physical Communication, 25, 376-385.

17. Haddou, N. B., Ez-Zahraouy, H., & Rachadi, A. (2016). Implantation of the global dynamic routing scheme in scale-free networks under the shortest path strategy . Physics Letters A, 380(33), 2513-2517.

  • Pages with math errors
  • Pages with math render errors

Navigation menu

Data-Driven Traffic Assignment: A Novel Approach for Learning Traffic Flow Patterns Using Graph Convolutional Neural Network

  • Published: 24 July 2023
  • Volume 5 , article number  11 , ( 2023 )

Cite this article

transportation network assignment problem

  • Rezaur Rahman 1 &
  • Samiul Hasan 1  

509 Accesses

3 Citations

Explore all metrics

We present a novel data-driven approach of learning traffic flow patterns of a transportation network given that many instances of origin to destination (OD) travel demand and link flows of the network are available. Instead of estimating traffic flow patterns assuming certain user behavior (e.g., user equilibrium or system optimal), here we explore the idea of learning those flow patterns directly from the data. To implement this idea, we have formulated the traditional traffic assignment problem (from the field of transportation science) as a data-driven learning problem and developed a neural network-based framework known as Graph Convolutional Neural Network (GCNN) to solve it. The proposed framework represents the transportation network and OD demand in an efficient way and utilizes the diffusion process of multiple OD demands from nodes to links. We validate the solutions of the model against analytical solutions generated from running static user equilibrium-based traffic assignments over Sioux Falls and East Massachusetts networks. The validation results show that the implemented GCNN model can learn the flow patterns very well with less than 2% mean absolute difference between the actual and estimated link flows for both networks under varying congested conditions. When the training of the model is complete, it can instantly determine the traffic flows of a large-scale network. Hence, this approach can overcome the challenges of deploying traffic assignment models over large-scale networks and open new directions of research in data-driven network modeling.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price includes VAT (Russian Federation)

Instant access to the full article PDF.

Rent this article via DeepDyve

Institutional subscriptions

transportation network assignment problem

Similar content being viewed by others

transportation network assignment problem

Modeling Urban Traffic Data Through Graph-Based Neural Networks

transportation network assignment problem

Predicting Taxi Hotspots in Dynamic Conditions Using Graph Neural Network

transportation network assignment problem

MTGCN: A Multitask Deep Learning Model for Traffic Flow Prediction

Data availability.

The data that support the findings of this study are available from the corresponding author, [[email protected]], upon reasonable request.

Abdelfatah AS, Mahmassani HS (2002) A simulation-based signal optimization algorithm within a dynamic traffic assignment framework 428–433. https://doi.org/10.1109/itsc.2001.948695

Alexander L, Jiang S, Murga M, González MC (2015) Origin-destination trips by purpose and time of day inferred from mobile phone data. Transp Res Part C Emerg Technol 58:240–250. https://doi.org/10.1016/j.trc.2015.02.018

Article   Google Scholar  

Atwood J, Towsley D (2015) Diffusion-convolutional neural networks. Adv Neural Inf Process Syst. https://doi.org/10.5555/3157096.3157320

Ban XJ, Liu HX, Ferris MC, Ran B (2008) A link-node complementarity model and solution algorithm for dynamic user equilibria with exact flow propagations. Transp Res Part B Methodol 42:823–842. https://doi.org/10.1016/j.trb.2008.01.006

Bar-Gera H (2002) Origin-based algorithm for the traffic assignment problem. Transp Sci 36:398–417. https://doi.org/10.1287/trsc.36.4.398.549

Article   MATH   Google Scholar  

Barthélemy J, Carletti T (2017) A dynamic behavioural traffic assignment model with strategic agents. Transp Res Part C Emerg Technol 85:23–46. https://doi.org/10.1016/j.trc.2017.09.004

Ben-Akiva ME, Gao S, Wei Z, Wen Y (2012) A dynamic traffic assignment model for highly congested urban networks. Transp Res Part C Emerg Technol 24:62–82. https://doi.org/10.1016/j.trc.2012.02.006

Billings D, Jiann-Shiou Y (2006) Application of the ARIMA Models to Urban Roadway Travel Time Prediction-A Case Study. Systems, Man and Cybernetics, 2006. SMC’06. IEEE International Conference on 2529–2534

Boyles S, Ukkusuri SV, Waller ST, Kockelman KM (2006) A comparison of static and dynamic traffic assignment under tolls: a study of the dallas-fort worth network. 85th Annual Meeting of 14

Brandes U (2001) A faster algorithm for betweenness centrality. J Math Sociol 25:163–177. https://doi.org/10.1080/0022250X.2001.9990249

Cai P, Wang Y, Lu G, Chen P, Ding C, Sun J (2016) A spatiotemporal correlative k-nearest neighbor model for short-term traffic multistep forecasting. Transp Res Part C Emerg Technol 62:21–34. https://doi.org/10.1016/j.trc.2015.11.002

Chien SI-J, Kuchipudi CM (2003) Dynamic travel time prediction with real-time and historic data. J Transp Eng 129:608–616. https://doi.org/10.1061/(ASCE)0733-947X(2003)129:6(608)

Cui Z, Henrickson K, Ke R, Wang Y (2018a) Traffic graph convolutional recurrent neural network: a deep learning framework for network-scale traffic learning and forecasting. IEEE Trans Intell Transp Syst. https://doi.org/10.1109/TITS.2019.2950416

Cui Z, Ke R, Pu Z, Wang Y (2018b) Deep bidirectional and unidirectional LSTM recurrent neural network for network-wide traffic speed prediction. International Workshop on Urban Computing (UrbComp) 2017

Cui Z, Lin L, Pu Z, Wang Y (2020) Graph Markov network for traffic forecasting with missing data. Transp Res Part C Emerg Technol 117:102671. https://doi.org/10.1016/j.trc.2020.102671

Defferrard M, Bresson X, Vandergheynst P (2016) Convolutional neural networks on graphs with fast localized spectral filtering. Adv Neural Inf Process Syst 3844–3852

Deshpande M, Bajaj PR (2016) Performance analysis of support vector machine for traffic flow prediction. 2016 International Conference on Global Trends in Signal Processing, Information Computing and Communication (ICGTSPICC) 126–129. https://doi.org/10.1109/ICGTSPICC.2016.7955283

Elhenawy M, Chen H, Rakha HA (2014) Dynamic travel time prediction using data clustering and genetic programming. Transp Res Part C Emerg Technol 42:82–98. https://doi.org/10.1016/j.trc.2014.02.016

Foytik P, Jordan C, Robinson RM (2017) Exploring simulation based dynamic traffic assignment with large scale microscopic traffic simulation model

Friesz TL, Luque J, Tobin RL, Wie BW (1989) Dynamic network traffic assignment considered as a continuous time optimal control problem. Oper Res 37:893–901. https://doi.org/10.2307/171471

Article   MathSciNet   MATH   Google Scholar  

Gundlegård D, Rydergren C, Breyer N, Rajna B (2016) Travel demand estimation and network assignment based on cellular network data. Comput Commun 95:29–42. https://doi.org/10.1016/j.comcom.2016.04.015

Guo S, Lin Y, Feng N, Song C, Wan H (2019) Attention based spatial-temporal graph convolutional networks for traffic flow forecasting. Proceed AAAI Conf Artif Intell 33:922–929. https://doi.org/10.1609/aaai.v33i01.3301922

Guo K, Hu Y, Qian Z, Sun Y, Gao J, Yin B (2020) Dynamic graph convolution network for traffic forecasting based on latent network of Laplace matrix estimation. IEEE Trans Intell Transp Syst 23:1009–1018. https://doi.org/10.1109/tits.2020.3019497

Guo K, Hu Y, Qian Z, Liu H, Zhang K, Sun Y, Gao J, Yin B (2021) Optimized graph convolution recurrent neural network for traffic prediction. IEEE Trans Intell Transp Syst 22:1138–1149. https://doi.org/10.1109/TITS.2019.2963722

Hammond DK, Vandergheynst P, Gribonval R (2011) Wavelets on graphs via spectral graph theory. Appl Comput Harmon Anal 30:129–150. https://doi.org/10.1016/j.acha.2010.04.005

He X, Guo X, Liu HX (2010) A link-based day-to-day traffic assignment model. Transp Res Part B 44:597–608. https://doi.org/10.1016/j.trb.2009.10.001

Huang Y, Kockelman KM (2019) Electric vehicle charging station locations: elastic demand, station congestion, and network equilibrium. Transp Res D Transp Environ. https://doi.org/10.1016/j.trd.2019.11.008

Innamaa S (2005) Short-term prediction of travel time using neural networks on an interurban highway. Transportation (amst) 32:649–669. https://doi.org/10.1007/s11116-005-0219-y

Jafari E, Pandey V, Boyles SD (2017) A decomposition approach to the static traffic assignment problem. Transp Res Part b Methodol 105:270–296. https://doi.org/10.1016/j.trb.2017.09.011

Janson BN (1989) Dynamic traffic assignment for urban road networks. Transp Res Part B Methodol 25:143–161

Ji X, Shao C, Wang B (2016) Stochastic dynamic traffic assignment model under emergent incidents. Procedia Eng 137:620–629. https://doi.org/10.1016/j.proeng.2016.01.299

Jiang Y, Wong SC, Ho HW, Zhang P, Liu R, Sumalee A (2011) A dynamic traffic assignment model for a continuum transportation system. Transp Res Part b Methodol 45:343–363. https://doi.org/10.1016/j.trb.2010.07.003

Kim H, Oh JS, Jayakrishnan R (2009) Effects of user equilibrium assumptions on network traffic pattern. KSCE J Civ Eng 13:117–127. https://doi.org/10.1007/s12205-009-0117-5

Kim TS, Lee WK, Sohn SY (2019) Graph convolutional network approach applied to predict hourly bike-sharing demands considering spatial, temporal, and global effects. PLoS ONE 14:e0220782. https://doi.org/10.1371/journal.pone.0220782

Kipf TN, Welling M (2016) Semi-supervised classification with graph convolutional networks. 5th International Conference on Learning Representations, ICLR 2017- Conference Track Proceedings

LeBlanc LJ, Morlok EK, Pierskalla WP (1975) An efficient approach to solving the road network equilibrium traffic assignment problem. Transp Res 9:309–318. https://doi.org/10.1016/0041-1647(75)90030-1

Lee YLY (2009) Freeway travel time forecast using artifical neural networks with cluster method. 2009 12th International Conference on Information Fusion 1331–1338

Leon-Garcia A, Tizghadam A (2009) A graph theoretical approach to traffic engineering and network control problem. 21st International Teletraffic Congress, ITC 21: Traffic and Performance Issues in Networks of the Future-Final Programme

Leurent F, Chandakas E, Poulhès A (2011) User and service equilibrium in a structural model of traffic assignment to a transit network. Procedia Soc Behav Sci 20:495–505. https://doi.org/10.1016/j.sbspro.2011.08.056

Li Y, Yu R, Shahabi C, Liu Y (2018) Diffusion convolutional recurrent neural network: Data-driven traffic forecasting. 6th International Conference on Learning Representations, ICLR 2018-Conference Track Proceedings 1–16

Li G, Knoop VL, van Lint H (2021) Multistep traffic forecasting by dynamic graph convolution: interpretations of real-time spatial correlations. Transp Res Part C Emerg Technol 128:103185. https://doi.org/10.1016/j.trc.2021.103185

Lin L, He Z, Peeta S (2018) Predicting station-level hourly demand in a large-scale bike-sharing network: a graph convolutional neural network approach. Transp Res Part C 97:258–276. https://doi.org/10.1016/j.trc.2018.10.011

Liu HX, Ban X, Ran B, Mirchandani P (2007) Analytical dynamic traffic assignment model with probabilistic travel times and perceptions. Transp Res Record 1783:125–133. https://doi.org/10.3141/1783-16

Liu Y, Zheng H, Feng X, Chen Z (2017) Short-term traffic flow prediction with Conv-LSTM. 2017 9th International Conference on Wireless Communications and Signal Processing, WCSP 2017-Proceedings. https://doi.org/10.1109/WCSP.2017.8171119

Lo HK, Szeto WY (2002) A cell-based variational inequality formulation of the dynamic user optimal assignment problem. Transp Res Part b Methodol 36:421–443. https://doi.org/10.1016/S0191-2615(01)00011-X

Luo X, Li D, Yang Y, Zhang S (2019) Spatiotemporal traffic flow prediction with KNN and LSTM. J Adv Transp. https://doi.org/10.1155/2019/4145353

Ma X, Tao Z, Wang Y, Yu H, Wang Y (2015) Long short-term memory neural network for traffic speed prediction using remote microwave sensor data. Transp Res Part C Emerg Technol 54:187–197. https://doi.org/10.1016/j.trc.2015.03.014

Ma X, Dai Z, He Z, Ma J, Wang Y, Wang Y (2017) Learning traffic as images: a deep convolutional neural network for large-scale transportation network speed prediction. Sensors 17:818. https://doi.org/10.3390/s17040818

Mahmassani HaniS (2001) Dynamic network traffic assignment and simulation methodology for advanced system management applications. Netw Spat Econ 1:267–292. https://doi.org/10.1023/A:1012831808926

Merchant DK, Nemhauser GL (1978) A model and an algorithm for the dynamic traffic assignment problems. Transp Sci 12:183–199. https://doi.org/10.1287/trsc.12.3.183

Mitradjieva M, Lindberg PO (2013) The stiff is moving—conjugate direction Frank-Wolfe methods with applications to traffic assignment * . Transp Sci 47:280–293. https://doi.org/10.1287/trsc.1120.0409

Myung J, Kim D-K, Kho S-Y, Park C-H (2011) Travel time prediction using k nearest neighbor method with combined data from vehicle detector system and automatic toll collection system. Transp Res Record 2256:51–59. https://doi.org/10.3141/2256-07

Nie YM, Zhang HM (2010) Solving the dynamic user optimal assignment problem considering queue spillback. Netw Spat Econ 10:49–71. https://doi.org/10.1007/s11067-007-9022-y

Peeta S, Mahmassani HS (1995) System optimal and user equilibrium time-dependent traffic assignment in congested networks. Ann Oper Res. https://doi.org/10.1007/BF02031941

Peeta S, Ziliaskopoulos AK (2001) Foundations of dynamic traffic assignment: the past, the present and the future. Netw Spat Econ 1:233–265

Peng H, Wang H, Du B, Bhuiyan MZA, Ma H, Liu J, Wang L, Yang Z, Du L, Wang S, Yu PS (2020) Spatial temporal incidence dynamic graph neural networks for traffic flow forecasting. Inf Sci (n y) 521:277–290. https://doi.org/10.1016/j.ins.2020.01.043

Peng H, Du B, Liu M, Liu M, Ji S, Wang S, Zhang X, He L (2021) Dynamic graph convolutional network for long-term traffic flow prediction with reinforcement learning. Inf Sci (n y) 578:401–416. https://doi.org/10.1016/j.ins.2021.07.007

Article   MathSciNet   Google Scholar  

Polson NG, Sokolov VO (2017) Deep learning for short-term traffic flow prediction. Transp Res Part C Emerg Technol 79:1–17. https://doi.org/10.1016/j.trc.2017.02.024

Primer A (2011) Dynamic traffic assignment. Transportation Network Modeling Committee 1–39. https://doi.org/10.1016/j.trd.2016.06.003

PyTorch [WWW document], 2016. URL https://pytorch.org/ . Accessed 10 Jun 2020

Rahman R, Hasan S (2018). Short-term traffic speed prediction for freeways during hurricane evacuation: a deep learning approach 1291–1296. https://doi.org/10.1109/ITSC.2018.8569443

Ran BIN, Boyce DE, Leblanc LJ (1993) A new class of instantaneous dynamic user-optimal traffic assignment models. Oper Res 41:192–202

Sanchez-Gonzalez A, Godwin J, Pfaff T, Ying R, Leskovec J, Battaglia PW (2020) Learning to simulate complex physics with graph networks. 37th International Conference on Machine Learning, ICML 2020 PartF16814, 8428–8437

Shafiei S, Gu Z, Saberi M (2018) Calibration and validation of a simulation-based dynamic traffic assignment model for a large-scale congested network. Simul Model Pract Theory 86:169–186. https://doi.org/10.1016/j.simpat.2018.04.006

Sheffi Y (1985) Urban transportation networks. Prentice-Hall Inc., Englewood Cliffs. https://doi.org/10.1016/0191-2607(86)90023-3

Book   Google Scholar  

Tang C, Sun J, Sun Y, Peng M, Gan N (2020) A General traffic flow prediction approach based on spatial-temporal graph attention. IEEE Access 8:153731–153741. https://doi.org/10.1109/ACCESS.2020.3018452

Teng SH (2016) Scalable algorithms for data and network analysis. Found Trends Theor Comput Sci 12:1–274. https://doi.org/10.1561/0400000051

Tizghadam A, Leon-garcia A (2007) A robust routing plan to optimize throughput in core networks 117–128

Transportation Networks for Research Core Team (2016) Transportation Networks for Research [WWW Document]. 2016. URL https://github.com/bstabler/TransportationNetworks (Accessed 8 Jul 2018)

Ukkusuri SV, Han L, Doan K (2012) Dynamic user equilibrium with a path based cell transmission model for general traffic networks. Transp Res Part b Methodol 46:1657–1684. https://doi.org/10.1016/j.trb.2012.07.010

Waller ST, Fajardo D, Duell M, Dixit V (2013) Linear programming formulation for strategic dynamic traffic assignment. Netw Spat Econ 13:427–443. https://doi.org/10.1007/s11067-013-9187-5

Wang HW, Peng ZR, Wang D, Meng Y, Wu T, Sun W, Lu QC (2020) Evaluation and prediction of transportation resilience under extreme weather events: a diffusion graph convolutional approach. Transp Res Part C Emerg Technol 115:102619. https://doi.org/10.1016/j.trc.2020.102619

Wardrop J (1952) Some theoretical aspects of road traffic research. Proc Inst Civil Eng Part II 1:325–378. https://doi.org/10.1680/ipeds.1952.11362

Watling D, Hazelton ML (2003) The dynamics and equilibria of day-to-day assignment models. Netw Spat Econ. https://doi.org/10.1023/A:1025398302560

Wu CH, Ho JM, Lee DT (2004) Travel-time prediction with support vector regression. IEEE Trans Intell Transp Syst 5:276–281. https://doi.org/10.1109/TITS.2004.837813

Yasdi R (1999) Prediction of road traffic using a neural network approach. Neural Comput Appl 8:135–142. https://doi.org/10.1007/s005210050015

Yu B, Song X, Guan F, Yang Z, Yao B (2016) k-nearest neighbor model for multiple-time-step prediction of short-term traffic condition. J Transp Eng 142:4016018. https://doi.org/10.1061/(ASCE)TE.1943-5436.0000816

Yu B, Yin H, Zhu Z (2018) Spatio-temporal graph convolutional networks: a deep learning framework for traffic forecasting, in: Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence. International Joint Conferences on Artificial Intelligence Organization, California pp. 3634–3640. https://doi.org/10.24963/ijcai.2018/505

Zhang Y, Haghani A (2015) A gradient boosting method to improve travel time prediction. Transp Res Part C Emerg Technol 58:308–324. https://doi.org/10.1016/j.trc.2015.02.019

Zhang S, Tong H, Xu J, Maciejewski R (2019) Graph convolutional networks: a comprehensive review. Comput Soc Netw. https://doi.org/10.1186/s40649-019-0069-y

Zhao L, Song Y, Zhang C, Liu Y, Wang P, Lin T, Deng M, Li H (2020) T-GCN: a temporal graph convolutional network for traffic prediction. IEEE Trans Intell Transp Syst 21:3848–3858. https://doi.org/10.1109/TITS.2019.2935152

Zhou J, Cui G, Zhang Z, Yang C, Liu Z, Wang L, Li C, Sun M (2020) Graph neural networks: a review of methods and applications. AI Open.  https://doi.org/10.1016/j.aiopen.2021.01.001

Download references

This study was supported by the U.S. National Science Foundation through the grant CMMI #1917019. However, the authors are solely responsible for the facts and accuracy of the information presented in the paper.

Author information

Authors and affiliations.

Department of Civil, Environmental, and Construction Engineering, University of Central Florida, Orlando, FL, USA

Rezaur Rahman & Samiul Hasan

You can also search for this author in PubMed   Google Scholar

Contributions

The authors confirm their contribution to the paper as follows: study conception and design: RR, SH; analysis and interpretation of results: RR, SH; draft manuscript preparation: RR, SH. All authors reviewed the results and approved the final version of the manuscript.

Corresponding author

Correspondence to Rezaur Rahman .

Ethics declarations

Conflict of interest.

The authors declare that they have no conflict of interest.

Additional information

Publisher's note.

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix A: modeling traffic flows using spectral graph convolution

In spectral graph convolution, a spectral convolutional filter is used to learn traffic flow patterns inside a transportation network in response to travel demand variations. The spectral filter is derived from spectrum of the Laplacian matrix, which consists of eigenvalues of the Laplacian matrix. So to construct the spectrum, we must calculate the eigenvalues of` the Laplacian matrix. For a symmetric graph, we can compute the eigenvalues using Eigen decomposition of the Laplacian matrix. In this problem, we consider the transportation network as a symmetric-directed graph, same number of links getting out and getting inside a node, which means the in-degree and out-degree matrices of the graph are similar. Thus, the Laplacian matrix of this graph is diagonalizable as follows using Eigen decomposition

where \(\boldsymbol{\Lambda }\) is a diagonal matrix with eigenvalues, \({\lambda }_{0},{\lambda }_{1},{\lambda }_{2}, . . . ,{\lambda }_{N}\) and \({\varvec{U}}\) indicates the eigen vectors, \({u}_{0},{u}_{1},{u}_{2}, . . . ,{u}_{N}\) . Eigen values represent characteristics of transportation network in terms of strength of a particular node based on its position, distance between adjacent nodes, and dimension of the network. The spectral graph convolution filter can be defined as follows:

where \(\theta\) is the parameter for the convolution filter shared by all the nodes of the network and \(K\) is the size of the convolution filter. Now the spectral graph convolution over the graph signal ( \({\varvec{X}})\) is defined as follows:

According to spectral graph theory, the shortest path distance i.e., minimum number of links connecting nodes \(i\) and \(j\) is longer than \(K\) , such that \({L}^{K}\left(i, j\right) = 0\) (Hammond et al. 2011 ). Consequently, for a given pair of origin ( \(i\) ) and destination ( \(j)\) nodes, a spectral graph filter of size K has access to all the nodes on the shortest path of the graph. It means that the spectral graph convolution filter of size \(K\) captures flow propagation through each node on the shortest path. So the spectral graph convolution operation can model the interdependency between a link and its \(i\) th order adjacent nodes on the shortest paths, given that 0 ≤  i  ≤  K .

The computational complexity of calculating \({{\varvec{L}}}_{{\varvec{w}}}^{{\varvec{k}}}\) is high due to K times multiplication of \({L}_{w}\) . A way to overcome this challenge is to approximate the spectral filter \({g}_{\theta }\) with Chebyshev polynomials up to ( \(K-1\) )th order (Hammond et al. 2011 ). Defferrard et al. (Defferrard et al. 2016 ) applied this approach to build a K -localized ChebNet, where the convolution is defined as

in which \(\overline{{\varvec{L}} }=2{{\varvec{L}}}_{{\varvec{s}}{\varvec{y}}{\varvec{m}}}/{{\varvec{\uplambda}}}_{{\varvec{m}}{\varvec{a}}{\varvec{x}}}-{\varvec{I}}\) . \(\overline{{\varvec{L}} }\) represents a scaling of graph Laplacian that maps the eigenvalues from [0, \({\uplambda }_{max}\) ] to [-1,1]. \({{\varvec{L}}}_{{\varvec{s}}{\varvec{y}}{\varvec{m}}}\) is defined as symmetric normalization of the Laplacian matrix \({{{\varvec{D}}}_{{\varvec{w}}}}^{-1/2}{{\varvec{L}}}_{{\varvec{w}}}{{\boldsymbol{ }{\varvec{D}}}_{{\varvec{w}}}}^{-1/2}.\) \({T}_{k}\) and θ denote the Chebyshev polynomials and Chebyshev coefficients. The Chebyshev polynomials are defined recursively by \({T}_{k}\left(\overline{{\varvec{L}} }\right)=2x{T}_{k-1}\left(\overline{{\varvec{L}} }\right)-{T}_{k-2}\left(\overline{{\varvec{L}} }\right)\) with \({T}_{0}\left(\overline{{\varvec{L}} }\right)=1\) and \({T}_{1}\left(\overline{{\varvec{L}} }\right)=\overline{{\varvec{L}} }\) . These are the basis of Chebyshev polynomials. Kipf and Welling (Kipf and Welling 2016 ) simplified this model by approximating the largest eigenvalue \({\lambda }_{max}\) of \(\overline{L }\) as 2. In this way, the convolution becomes

where Chebyshev coefficient, \(\theta ={\theta }_{0}=-{\theta }_{1}\) , All the details about the assumptions and their implications of Chebyshev polynomial can be found in (Hammond et al. 2011 ). Now the simplified graph convolution can be written as follows:

Since \({\varvec{I}}+{{{\varvec{D}}}_{{\varvec{w}}}}^{-1/2}{{\varvec{A}}}_{{\varvec{w}}}{{\boldsymbol{ }{\varvec{D}}}_{{\varvec{w}}}}^{-1/2}\) has eigenvalues in the range [0, 2], it may lead to exploding or vanishing gradients when used in a deep neural network model. To alleviate this problem, Kipf et al. (Kipf and Welling 2016 ) use a renormalization trick by replacing the term \({\varvec{I}}+{{{\varvec{D}}}_{{\varvec{w}}}}^{-1/2}{{\varvec{A}}}_{{\varvec{w}}}{{\boldsymbol{ }{\varvec{D}}}_{{\varvec{w}}}}^{-1/2}\) with \({{\overline{{\varvec{D}}} }_{{\varvec{w}}}\boldsymbol{ }\boldsymbol{ }}^{-1/2}{\overline{{\varvec{A}}} }_{{\varvec{w}}}{{\boldsymbol{ }\overline{{\varvec{D}}} }_{{\varvec{w}}}}^{-1/2}\) , with \({\overline{{\varvec{A}}} }_{{\varvec{w}}}={{\varvec{A}}}_{{\varvec{w}}}+{\varvec{I}}\) , similar to adding a self-loop. Now, we can simplify the spectral graph convolution as follows:

where \({\varvec{\Theta}}\in {{\varvec{R}}}^{{\varvec{N}}\times {\varvec{N}}}\) indicates the parameters of the convolution filter to be learnt during training process. From Eq. 21 , we can observe that spectral graph convolution is a special case of diffusion convolution (Li et al. 2018 ), but the only difference is that in spectral convolution, we symmetrically normalized the adjacency matrix.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Rahman, R., Hasan, S. Data-Driven Traffic Assignment: A Novel Approach for Learning Traffic Flow Patterns Using Graph Convolutional Neural Network. Data Sci. Transp. 5 , 11 (2023). https://doi.org/10.1007/s42421-023-00073-y

Download citation

Received : 21 May 2023

Revised : 09 June 2023

Accepted : 13 June 2023

Published : 24 July 2023

DOI : https://doi.org/10.1007/s42421-023-00073-y

Share this article

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

  • Traffic assignment problem
  • Data-driven method
  • Deep learning
  • Graph convolutional neural network
  • Find a journal
  • Publish with us
  • Track your research

Logo image

Transportation Networks

3.1. transportation networks #.

Keywords: transportation, assignment, cbc usage

This notebook demonstrates the solution of transportation network problems using Pyomo and GLPK. The problem description and data are adapted from Chapter 5 of Johannes Bisschop, “AIMMS Optimization Modeling”, AIMMS B. V., 2014 .

3.1.1. Imports #

3.1.2. background #.

The prototypical transportation problem deals with the distribution of a commodity from a set of sources to a set of destinations. The object is to minimize total transportation costs while satisfying constraints on the supplies available at each of the sources, and satisfying demand requirements at each of the destinations.

Here we illustrate the transportation problem using an example from Chapter 5 of Johannes Bisschop, “AIMMS Optimization Modeling”, Paragon Decision Sciences, 1999. In this example there are two factories and six customer sites located in 8 European cities as shown in the following map. The customer sites are labeled in red, the factories are labeled in blue.

TransportationNetworksMap.png

Transportation costs between sources and destinations are given in units of €/ton of goods shipped, and list in the following table along with source capacity and demand requirements.

3.1.2.1. Table of transportation costs, customer demand, and available supplies #

The situation can be modeled by links connecting a set nodes representing sources to a set of nodes representing customers.

TransportNet.png

For each link we can have a parameter \(T[c,s]\) denoting the cost of shipping a ton of goods over the link. What we need to determine is the amount of goods to be shipped over each link, which we will represent as a non-negative decision variable \(x[c,s]\) .

The problem objective is to minimize the total shipping cost to all customers from all sources.

Shipments from all sources can not exceed the manufacturing capacity of the source.

Shipments to each customer must satisfy their demand.

3.1.3. Pyomo model #

3.1.3.1. data file #, 3.1.3.2. model file #, 3.1.4. solution #.

The solution has the interesting property that, with the exception of Utrecht, customers are served by just one source.

TransportNet_soln.png

3.1.5. Sensitivity analysis #

3.1.5.1. analysis by source #.

The ‘marginal’ values are telling us how much the total costs will be increased for each one ton increase in the available supply from each source. The optimization calculation says that only 650 tons of the 700 available from Gouda should used for a minimum cost solution, which rules out any further cost reductions by increasing the available supply. In fact, we could decrease the supply Gouda without any harm. The marginal value of Gouda is 0.

The source at Arnhem is a different matter. First, all 550 available tons are being used. Second, from the marginal value we see that the total transportations costs would be reduced by 0.2 Euros for each additional ton of supply.

The management conclusion we can draw is that there is excess supply available at Gouda which should, if feasible, me moved to Arnhem.

Now that’s a valuable piece of information!

3.1.5.2. Analysis by customer #

Looking at the demand constraints, we see that all of the required demands have been met by the optimal solution.

The marginal values of these constraints indicate how much the total transportation costs will increase if there is an additional ton of demand at any of the locations. In particular, note that increasing the demand at Berlin will increase costs by 2.7 Euros per ton. This is actually greater than the list price for shipping to Berlin which is 2.5 Euros per ton. Why is this?

To see what’s going on, let’s resolve the problem with a one ton increase in the demand at Berlin.

We see the total cost has increased from 1715.0 to 1717.7 Euros, an increase of 2.7 Euros just as predicted by the marginal value assocated with the demand constraint for Berlin.

Now let’s look at the solution.

Here we see that increasing the demand in Berlin resulted in a number of other changes. This figure shows the changes shipments.

TransportNet_sens.png

Shipments to Berlin increased from 175 to 176 tons, increasing costs for that link from 437.5 to 440.0, or a net increase of 2.5 Euros.

Since Arnhem is operating at full capacity, increasing the shipments from Arnhem to Berlin resulted in decreasing the shipments from Arhhem to Utrecht from 150 to 149 reducing those shipping costs from 120.0 to 119.2, a net decrease of 0.8 Euros.

To meet demand at Utrecht, shipments from Gouda to Utrecht had to increase from 75 to 76, increasing shipping costs by a net amount of 1.0 Euros.

The net effect on shipping costs is 2.5 - 0.8 + 1.0 = 2.7 Euros.

The important conclusion to draw is that when operating under optimal conditions, a change in demand or supply can have a ripple effect on the optimal solution that can only be measured through a proper sensitivity analysis.

3.1.6. Exercises #

Move 50 tons of supply capacity from Gouda to Arnhem, and repeat the sensitivity analysis. How has the situation improved? In practice, would you recommend this change, or would you propose something different?

What other business improvements would you recommend?

  • Share full article

Advertisement

Supported by

How MSNBC’s Leftward Tilt Delivers Ratings, and Complications

NBC’s leaders have been forced to grapple with how to square its cable news network’s embrace of progressive politics with the company’s straight-news operation.

In a collage of images, President Biden and Comcast’s headquarters are on the left and Ronna McDaniel and an NBC camera operator are on the right. The collage is torn through the middle.

By Jim Rutenberg and Michael M. Grynbaum

MSNBC placed a big bet on becoming comfort TV for liberals. Then it doubled down.

Time slots on the cable network once devoted to news programming are now occupied by Trump-bashing opinion hosts. The channel has become a landing spot for high-profile alumni of President Biden’s administration like Jen Psaki, who went from hosting White House press briefings to hosting her own show. On Super Tuesday, when producers aired a portion of a live speech by former President Donald J. Trump, Rachel Maddow chastised her bosses on the air.

The moves have been a hit with viewers. MSNBC has leapfrogged past its erstwhile rival CNN in the ratings and has seen viewership rise over the past year, securing second place in cable news behind the perennial leader, Fox News.

But MSNBC’s success has had unintended consequences for its parent company, NBC, an original Big Three broadcaster that still strives to appeal to a mass American audience.

NBC’s traditional political journalists have cycled between rancor and resignation that the cable network’s partisanship — a regular target of Mr. Trump — will color perceptions of their straight news reporting. Local NBC stations between the coasts have demanded, again and again, that executives in New York do more to preserve NBC’s nonpartisan brand, lest MSNBC’s blue-state bent alienate their red-state viewers.

Even Comcast, NBC’s corporate owner, which is loath to intervene in news coverage, took the rare step of conveying its concern to MSNBC’s leaders when some hosts and guests criticized Israel as the Hamas attack was unfolding on Oct. 7, according to three people with knowledge of the discussions. An abrupt course correction to that coverage followed.

This account of the tensions roiling NBC and its corporate overseers is based on interviews with more than two dozen people with knowledge of the company’s inner workings, almost all of whom insisted on anonymity to share details of internal discussions.

NBC declined to make its top executives available for interviews. The chairman of the NBCUniversal News Group, Cesar Conde, has said he wants his division — which encompasses MSNBC, CNBC, a digital streaming service, Telemundo and journalistic stalwarts like “Nightly News,” “Meet the Press” and “Today” — to be a big tent.

Yet his recent efforts to include more conservative voices on the airwaves generated newsroom suspicion and ultimately led to an embarrassing rebellion over the hiring of Ronna McDaniel, a former Republican Party chair who aided Mr. Trump’s attempt to overturn his 2020 election loss.

MSNBC hosts, for their part, view their role in the political debate as more important than ever. They dismiss the accusation that MSNBC is a “Fox News for Democrats” and say their message — that Mr. Trump’s candidacy represents a unique and clear threat to democracy — is an urgent one for the electorate to hear.

And executives inside NBC’s corporate suites at Rockefeller Center say they are confident that viewers know the differences between the company’s various news brands. Any related challenges, they argue, are of a high-class sort — because their cable channels give NBC an advantage in relevance and revenue over its original Big Three competitors, ABC and CBS, which have no cable presence.

“Our strategy is built on our distinct, complementary brands including NBC News, CNBC, NBC News Now, MSNBC and Telemundo,” the NBCUniversal News Group said in a statement. “That has driven our performance as the nation’s leading news organization with the largest reach.” (Comcast does not disclose the news division’s earnings in its reports to Wall Street.)

The tensions inside NBC are, in some ways, a microcosm of the challenges facing many traditional news organizations as the country hurtles toward a tense presidential election: how to maintain trust and present neutral, fact-based reporting in a fractionalized era when partisanship carries vast financial and cultural rewards.

But the company’s challenge is also unique. It must juggle a broadcast news operation bound by traditional standards of impartiality and a cable channel increasingly bound by the partisan preferences of an intensely loyal viewership. How NBC navigates these dueling imperatives will have important implications for Comcast, a Philadelphia-based conglomerate known for its aversion to the political spotlight.

It will also have consequences for coverage of the presidential campaign. Where MSNBC’s cable news opinion-makers sustain and galvanize the Democratic faithful, the NBC broadcast network reaches millions of the potentially persuadable voters critical to both parties, which have sought to turn NBC’s internal tensions to their own advantage.

Left, Right, Left

MSNBC has caused corporate headaches since its inception.

NBC formed the channel as a joint venture with Microsoft in 1996 with the hope that it would thrust “all the value of NBC News into the cable world,” as Tom Rogers, a former NBC executive who helped found the cable network, described it in an interview.

But critics mocked the new 24-hour channel for its informal approach to news, mixing NBC’s biggest stars with younger personalities on a set reminiscent of Central Perk on “Friends.” It was almost immediately outflanked by Fox News, which followed MSNBC to market that same year and rose to the top of the cable news ratings as the first 24-hour TV channel with an overt political appeal.

MSNBC struggled with its identity. It moved to the left ahead of the Iraq war — and later moved right by hiring new hosts like the former Republican congressman Joe Scarborough. Soon it shifted leftward again, as the host Keith Olbermann hit a nerve with his strident anti-Bush — and often anti-Fox — commentary.

But when Andrew Lack, a veteran producer, took over NBC’s news division in 2015, he decided the channel needed to tone down its partisan image. Under Mr. Lack — who oversaw MSNBC’s creation in an earlier NBC stint — the cable network bumped the Rev. Al Sharpton from the weekday schedule, hired the former Fox anchor Greta Van Susteren and added more straightforward news programs, including a daily version of “Meet the Press,” NBC’s flagship political show, with Chuck Todd.

Mr. Todd was game — but would come to believe that his MSNBC duties ultimately hurt the “Meet the Press” franchise, several people at NBC said in interviews. The daily version of the show fell increasingly out of step with MSNBC’s partisan slant even as Republicans used its association with the liberal cable network to deny interview requests from the flagship Sunday edition of “Meet the Press.”

Then, Mr. Trump’s ascent shocked the Democratic base and spiked viewership of Ms. Maddow and other left-leaning hosts, whose programs became a kind of televised safe space. MSNBC’s ratings surged .

Conde Faces the Messiness

Mr. Conde succeeded Mr. Lack in spring 2020. A Wharton-trained business executive who sits on the boards of Walmart and PepsiCo, he came up through the corporate side of news, having led a turnaround at Telemundo after serving as the president of Univision Networks. Accordingly, Mr. Conde was expected to impose a more disciplined and neater corporate sensibility to the division.

He was almost immediately confronted by the messiness he had inherited.

Within a few weeks of Mr. Conde’s ascension, Mr. Trump attacked NBC when it announced the hiring of a new contributor: Lisa Page, a former F.B.I. lawyer who became a lightning rod on the right for her role in the investigation into his campaign ties to Russia. After an initial MSNBC appearance she did not show up again.

A few months later, NBC faced criticism from the other direction when it booked Mr. Trump for a prime-time interview on the night of a presidential debate that he had boycotted. (Mr. Biden was appearing at the same time on ABC.) Ms. Maddow chastised her bosses about it on the air.

That sort of partisan tumult has often riled another important constituency for Mr. Conde: NBC’s affiliated regional stations, which the company relies on to carry its major news programs to markets throughout the country.

The stations tend to be deeply embedded — and deeply trusted — in their communities. Many of them operate in red states or counties and chafed whenever MSNBC, which Mr. Trump regularly calls “MSDNC,” drew conservative ire.

Over the years the affiliates, many of which would have been thrilled to see MSNBC’s leftward tilt abandoned entirely, increasingly urged NBC executives to better distinguish its content from the NBC journalism like “Today” and “Nightly News” that they carried on their stations.

At one point after Mr. Conde took over, executives talked about the possibility of doubling down on partisanship and stripping MSNBC of news altogether, defining it as a pure opinion channel. The company would use the new NBC News Now streaming service, started under Noah Oppenheim when he was NBC News president, for 24-hour news, according to two people with knowledge of the conversations.

That idea fizzled. Mr. Conde was not prepared to entirely abandon news, but he began to better distinguish the various parts of his news division — which effectively moved MSNBC and NBC News further apart.

In the Lack era, Mr. Oppenheim of NBC News and Phil Griffin, the longtime chief of MSNBC, often worked closely as they managed a collection of stars who worked for both networks, like Mr. Todd, Craig Melvin and Hallie Jackson.

Creating more distance between the cable and broadcast outlets, Mr. Conde and Mr. Griffin’s successor, Rashida Jones, moved Mr. Todd, Ms. Jackson and Mr. Melvin off MSNBC to work exclusively at NBC News and NBC News Now. MSNBC’s daytime block of hard news shrank to six hours from eight, as the cable network extended by an hour each two opinion shows with loyal followings: “Morning Joe” featuring Mr. Scarborough and his wife Mika Brzezinski, and “Deadline: White House” with Nicolle Wallace as host.

Nothing did more to signal that MSNBC was more tightly embracing its partisan direction than Ms. Jones’s decision to hire Ms. Psaki and another Biden aide, Symone D. Sanders, straight from the White House.

It was the kind of revolving-door hiring that liberal pundits used to criticize when it happened with Fox News and the Trump administration.

It also created an awkward situation for the NBC News White House team, which was caught off guard when word that Ms. Psaki was in talks for the job leaked while she was still serving as White House press secretary.

A tense, televised confrontation followed in the White House briefing room when Kristen Welker, then NBC News’s co-chief White House correspondent, asked her future colleague: “How is it ethical to have these conversations with media outlets while you continue to have a job standing behind that podium?”

Chasing a Broad Appeal

At the same time, NBC News was going through its own changes.

Early last year, Mr. Oppenheim left his post running NBC News, and Mr. Conde split his job in three. In a jigsaw-like structure, one executive now oversaw “Today,” another “Nightly News” and NBC News Now, and a third “Meet the Press,” “Dateline” and news coverage across numerous shows and platforms.

Mr. Conde said the new setup would provide “growth opportunities,” with each show acting like its own megafranchise. “Today,” for instance, includes an e-commerce business and online sites dedicated to cooking, wellness and books.

He gave his deputies another brief: making additional efforts to ensure that news coverage reflected a wider range of political viewpoints.

Mr. Conde wanted to get Republicans back onto shows.

That was in line with an industrywide recalibration. After four years of combat between the press and Mr. Trump, media companies have sought better ways to reach Trump supporters who feel alienated from mainstream news. Television executives were also concerned that Republican elected officials were shunning their shows in favor of the congenial confines of right-wing media.

It was especially thorny for NBC, as Mr. Trump continued to yoke NBC News to MSNBC while accusing them, along with Comcast, of committing “Country Threatening Treason.”

A chance for a fresh start seemed to come last September when Ms. Welker succeeded Mr. Todd as the moderator of “Meet the Press.”

According to several people with knowledge of the internal discussions, Mr. Conde and Ms. Welker agreed that she should make booking both Mr. Trump and Mr. Biden for interviews a priority. Mr. Biden declined; Mr. Trump accepted.

But when Mr. Conde said she should schedule the Trump interview for her debut episode, Ms. Welker disagreed. Questioning the mendacious former president can be a high-wire act for even the most experienced TV interviewers, and Ms. Welker did not think it was a wise way to introduce herself to viewers. She acquiesced only after coaxing from Mr. Conde and several of his deputies.

Ms. Welker worked to fact-check Mr. Trump in real time while also eliciting an admission that he ignored his own campaign lawyers when they told him there was no evidence the 2020 presidential election results were rigged. Mr. Trump steamrolled ahead with a litany of lies nonetheless. The interview was panned on social media — complete with a “#boycottmeetthepress” campaign — but was deemed a success by Mr. Conde.

Mr. Conde and Rebecca Blumenstein, a former editor at The New York Times whom Mr. Conde hired as one of his top deputies, also worked aggressively to secure a Republican primary debate in fall 2023, pitching Ms. McDaniel and other Republican officials in person.

They succeeded, but only after accepting terms that unsettled some journalists within the company. NBC agreed to include a moderator from a right-wing media company, Salem Radio, and stream the debate live on Rumble, a video site that frequently hosts pro-Nazi and other extremist content. (NBC executives have defended the decision, noting that Rumble was already the party’s official streamer and had no editorial input.)

The debate received good marks in the press. And in general, red-state affiliates felt that Mr. Conde was doing a better job of bringing balance to NBC News, according to an executive at one company that owns affiliates.

Reverberations Continue

Each network was now set on its own distinct course: MSNBC toward more partisan and progressive opinion, and NBC News toward Mr. Conde’s commitment to “presenting our audiences with a widely diverse set of viewpoints and experiences,” as he put it.

But each tripped over the limits of its approach in an election landscape already littered with ideological tripwires.

When Hamas staged its terror attack against Israel on Oct. 7, MSNBC mixed breaking news of the attacks with discussions about the historical backdrop of Israel’s treatment of Palestinians. The coverage reflected views on the left — and presaged the pro-Palestinian demonstrations that would soon grow in number — but it struck many others as discordant, or even offensive, given that the violence was still coming into view.

“I love this network, but I’ve got to ask: Who’s writing your scripts? Hamas?” Jonathan Greenblatt, the Anti-Defamation League chief executive, asked two days later on “Morning Joe.”

Some of the blowback came from within.

In a call with Mr. Conde, Michael Cavanagh, the president of Comcast, who oversees NBC, shared concerns about that initial coverage, according to three people with knowledge of the discussions. Mr. Conde harbored the same concerns, according to a person briefed on their conversation, and he directed MSNBC to be more circumspect and to focus on facts, not opinions, in those initial days.

Five months later, Mr. Conde thought he had achieved a milestone at NBC News in his efforts to integrate right-wing perspectives into its programming. At the recommendation of Ms. Blumenstein and Carrie Budoff Brown, who oversees political coverage, Mr. Conde hired Ms. McDaniel, the former Republican Party chair, as a contributor who could offer on-air commentary.

If the hiring was in service of Mr. Conde’s goal of adding balance, it came as an unwelcome surprise to NBC’s ranks of correspondents, hosts and anchors. Ms. Welker had booked Ms. McDaniel for her next episode of “Meet the Press” — as a guest, not as a colleague. In the interview, she grilled Ms. McDaniel about her role in Mr. Trump’s effort to overturn the 2020 election result, actions that many at NBC and MSNBC viewed as disqualifying for a job there.

Mr. Todd, appearing as a guest on that day’s episode, unleashed a live, on-air denunciation of his bosses after the interview that left the control room in stunned silence. His rebellion carried over the next day on MSNBC, from “Morning Joe” up through “The Rachel Maddow Show.” Under pressure, Mr. Conde broke the deal with Ms. McDaniel, a move that only served to upset the Republicans he was trying to attract.

In the aftermath, NBC’s public stumble turned into a point of contention on the presidential campaign trail. The Republican Party said it was weighing an attempt to restrict NBC News at this summer’s convention, while Mr. Trump yet again bashed “Fake News NBC.”

Aides to Mr. Biden were also perturbed about the McDaniel hire, viewing it as part of a broader attempt by NBC News to overcompensate for MSNBC’s decidedly pro-Biden stance. In private conversations with NBC correspondents, Biden aides have argued that “Nightly News,” whose huge audience is of critical political importance to the campaign, was taking it easy on Mr. Trump and treating Mr. Biden too harshly.

Executives at NBC dismissed these complaints, saying the partisan brickbats simply come with the territory. They believe that each campaign will use anything at its disposal to pressure news organizations for more favorable coverage.

The company pointed to comments made by Mr. Conde after the McDaniel imbroglio: “We will redouble our efforts to seek voices that represent different parts of the political spectrum.” It also shared data intended to show strong performance across its cable, broadcast and online operations.

The message was clear. Regardless of any turbulence, NBC has no plans to change course.

Jim Rutenberg is a writer at large for The Times and The New York Times Magazine and writes most often about media and politics. More about Jim Rutenberg

Michael M. Grynbaum writes about the intersection of media, politics and culture. He has been a media correspondent at The Times since 2016. More about Michael M. Grynbaum

IMAGES

  1. Transportation Problem Optimal Solution with MODI Method

    transportation network assignment problem

  2. PPT

    transportation network assignment problem

  3. What Is Transportation Problem

    transportation network assignment problem

  4. Solving Transportation Problem using Linear Programming in Python

    transportation network assignment problem

  5. PPT

    transportation network assignment problem

  6. PPT

    transportation network assignment problem

VIDEO

  1. Transportation & assignment problem

  2. Assignment problem |Introduction

  3. AACS2034 Fundamentals of Computer Network Presentation by Joel Wong and Ooi Chin Ping

  4. AACS2034 Fundamental of Computer Network Assignment Provided By Sia Keng Loon And Tan Yee Hui

  5. AACS 2034 Fundamental Of Computer Network

  6. AACS2034 FUNDAMENTALS OF COMPUTER NETWORK ASSIGNMENT

COMMENTS

  1. PDF Transportation Network Design

    Therefore, currently the network designis thought of as supply demand problem or leader-follower game.The system designer leads, taking into account how the user follow. The core of all network design problems is how a user chooses his route of travel. The class of traffic assignment problem tries to model these behaviour.

  2. GitHub

    Bar-Gera, H.(2002), Origin-based algorithm for the traffic assignment problem, Transportation Science 36(4), 398-417. Bar-Gera, H. & Boyce, D. (2003), Origin-based algorithms for combined travel forecasting models, Transportation Research Part B - Methodological 37 (5), 405-422. ... It also loads the transportation network test problem data in ...

  3. Network assignment

    Origin-destination travel demand are assigned to a transportation network in order to estimate traffic flows and network travel conditions such as travel time. These estimated outputs from network assignment are compared against observed data such as traffic counts for model validation. Network assignment is a mathematical problem which is ...

  4. Assignment problem

    The assignment problem is a fundamental combinatorial optimization problem. In its most general form, the problem is as follows: ... The assignment problem is a special case of the transportation problem, ... Network Optimization: Continuous and Discrete Models. Athena Scientific.

  5. Traffic Assignments to Transportation Networks

    Section 3.1 introduces the assignment problem in transportation as the distribution of traffic in a network considering the demand between locations and the transport supply of the network. Four trip assignment models relevant to transportation are presented and characterized. Section 3.2 covers traffic assignment to uncongested networks based ...

  6. Traffic assignment in urban transportation network problem with

    Traffic assignment in urban transport planning is the process of allocating traffic flows in a network. Traditionally, traffic assignment can reduce travel time or travel costs. As the number of vehicles increases and congestion causes increased emissions, environmental issues in transportation are gaining more and more attention. The main objective of this study is to address the issue of ...

  7. Traffic Assignments to Transportation Networks 3

    systems. Section 3.1 introduces the assignment problem in transportation as the distribution of traffic in a network considering the demand between locations and the transport supply of the network. Four trip assignment models relevant to transportation are presented and characterized. Section 3.2 covers traffic assign-

  8. Large-scale multimodal transportation network models and algorithms

    A more comprehensive multimodal urban transportation network is built, which includes three basic travel modes and two P&R modes. • We develop ageneral fixed-point (FP) model to formulate the combined mode split and traffic assignment (CMSTA) problem.

  9. A review of urban transportation network design problems

    This paper presents a comprehensive review of the definitions, classifications, objectives, constraints, network topology decision variables, and solution methods of the Urban Transportation Network Design Problem (UTNDP), which includes both the Road Network Design Problem (RNDP) and the Public Transit Network Design Problem (PTNDP). The current trends and gaps in each class of the problem ...

  10. PDF Transportation Network Analysis

    This introductory chapter lays the groundwork for tra c assignment, providing some overall context for transportation planning in Section 1.1. Some examples of networks in transportation are given in Section 1.2. The key idea in traf- c assignment is the notion of equilibrium, which is presented in Section 1.3.

  11. The Traffic Assignment Problem for Multiclass-User Transportation

    The Traffic Assignment Problem for Multiclass-User Transportation Networks. S. Dafermos. Published 1 February 1972. Engineering. Transportation Science. TLDR. It is shown that this model is also capable of handling the case of several classes of users in the same transportation network each of which has an individual cost function and, at the ...

  12. Network flow problem

    Network problems have many applications in all kinds of areas such as transportation, city design, resource management and financial planning. [6] There are several special cases of network problems, such as the shortest path problem, minimum cost flow problem, assignment problem and transportation problem. [6]

  13. The Traffic Assignment Problem for Multiclass-User Transportation

    Abstract. In a recent paper a traffic assignment model has been constructed in which the cost on a link may depend not only on its load, but also on the loads on other links of the network. In this paper it is shown that this model is also capable of handling the case of several classes of users in the same transportation network each of which ...

  14. An efficient approach to solving the road network equilibrium traffic

    This paper presents a solution technique for large scale road network equilibrium assignment and related flow problems with nonlinear costs. It is shown that this nonlinear network problem can be solved without explicitly considering any of the constraints—they are satisfied automatically in the procedure developed—and without storing all of the individual decision variables.

  15. PDF Traffic assignment problem for a general network

    The Traffic Assignment Problem for a General Network*. Stella C. Dafermos 1 and Frederick T. Sparrow:2. (February 18, 1969) A transportation network is considered. The traffic demands associated wit h pairs of nodes and the (convex) traveling cost functions associated with the links a re assumed given.

  16. Data-Driven Traffic Assignment: A Novel Approach for ...

    The traffic assignment problem (TAP) is one of the key components of transportation planning and operations. It is used to determine the traffic flow of each link of a transportation network for a given travel demand based on modeling the interactions among traveler route choices and the congestion that results from their travel over the network (Sheffi 1985).

  17. PDF 4 UNIT FOUR: Transportation and Assignment problems

    4 UNIT FOUR: Transportation and Assignment problems. 4.1 Objectives. By the end of this unit you will be able to: formulate special linear programming problems using the transportation model. de ne a balanced transportation problem develop an initial solution of a transportation problem using the Northwest Corner Rule use the Stepping Stone ...

  18. 3.1. Transportation Networks

    Transportation Networks — ND Pyomo Cookbook. 3.1. Transportation Networks #. Keywords: transportation, assignment, cbc usage. This notebook demonstrates the solution of transportation network problems using Pyomo and GLPK. The problem description and data are adapted from Chapter 5 of Johannes Bisschop, "AIMMS Optimization Modeling ...

  19. The Transportation and Assignment Problems

    The Simplex Method for Transportation Problems. Illustrative Examples and a Note on Degeneracy. The Simplex Tableau Associated with a Transportation Tableau. The Assignment Problem: (Kuhn's) Hungarian Algorithm. Alternating Path Basis Algorithm for Assignment Problems. A Polynomial-Time Successive Shortest Path Approach for Assignment Problems

  20. PDF Transportation, Assignment, and Transshipment Problems

    Slide 1 Transportation, Assignment, and Transshipment Problems Transportation Problem •Network Representation and LP Formulation •Transportation Simplex Method •Transportation Algorithms North-West Corner Method Least Cost Method Vogel's Approximation Method Optimality Test : Modified Distribution Method

  21. PDF CHAPTER 15 TRANSPORTATION AND ASSIGNMENT PROBLEMS

    7. Identify the relationship between assignment problems and transportation problems. 8. Formulate a spreadsheet model for an assignment problem from a description of the problem. 9. Do the same for some variants of assignment problems. 10. Give the name of an algorithm that can solve huge assignment problems that are well

  22. PDF Transportation, and Assignment Problems

    Transportation Problem •The transportation problem seeks to minimize the total shipping costs of transporting goods from m origins or sources (each with a supply s i) to n destinations (each with a demand d j), when the unit shipping cost from source, i, to a destination, j, is c ij. •The network representation for a transportation

  23. Transportation problems and their solutions: literature review

    In the transport task, the vertices are cities, and the edges represent available roads. 2. Review of transportation problems 2.1. Basic transportation problem This is the simplest form of the transportation problem, where the goal is to find the cheapest way to transport a given amount of goods from a set of sources to a set of destinations.

  24. Top Story

    Catch the top stories of the day on ANC's 'Top Story' (18 May 2024)

  25. How MSNBC's Leftward Tilt Delivers Ratings, and Complications

    Under Mr. Lack — who oversaw MSNBC's creation in an earlier NBC stint — the cable network bumped the Rev. Al Sharpton from the weekday schedule, hired the former Fox anchor Greta Van ...