CEE 510 Transportation Network Analysis: Lecture 1: Introduction

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

CEE 510 Transportation Network Analysis

Lecture 1: Introduction

Avinash Unnikrishnan

Department of Civil and Environmental Engineering


Portland State University

April 4, 2017
Overview of Lecture

Syllabus

Network Analysis

Algorithm

Course Content
Syllabus
Regarding the Course

• Course Website:
http://avinashu.com/courses/ce510S2017/home.html
• Course Website: Go to http://avinashu.com/
• Office Hours: Wednesday 1:00 PM - 3PM and by
Appointment
• Office Location: EB 301D
• Pre-requisite
• Undergrad Student - CE 463 or Instructor consent
• Graduate Student (If you have not taken CE 463 you will have
to do extra work)
Grading

• Homeworks 30 %
• Exams (2) 50 %
• Exam 1 (tentatively April 27, 2017)
• Exam 2 (tentatively June 1, 2017)
• Course Project 20%
• Apply network flow modeling or nonlinear optimization
algorithms and solve an infrastructure operations, design, or
planning problem
• Focus on solving problems with network structure
• Due June 8, 2017
Reference Textbook

• No required textbook
• Ravindra K. Ahuja, Thomas L. Magnanti, James B. Orlin.
Network Flows: Theory, Algorithms, and Applications.
Pearson,1 edition, 1993.
• Yosef Sheffi. Equilibrium Analysis with Mathematical
Programming Methods. Prentice Hall, NJ, 1985. Available at:
http://sheffi.mit.edu/urban-transportation
• Course notes, websites, and useful videos available online
Network Analysis
Networks

• Networks are ubiquitous


• Most infrastructures have an underlying network structure
• Communication
• Freight
• Airline
• Power
• Water
Networks

Commodities are moved from


• origins to estinations
• sources to sinks
at
• minimum cost
• maximum efficiency
along the network.

Network flow and optimization


Mathematical models which capture the flow of commodities on
networks and solution algorithms
Defining a Network

Identify Nodes and Arcs


Defining a Network

Arcs
• Commodities are
transported along arcs
• Links, Edges

Nodes
• Endpoints of links
• Vertices
Defining a Network

Same intersection can be abstracted differently depending on


application
Defining a Network
Defining a Network

Infrastructure Nodes Arcs


Transportation Intersection, Transit stops Roadway segments, Transit route segments
Freight Plants, Warehouses, Depots Freight route segments
Communication Computers, Routers Communication channels
Power Networks Coal Plants, Transformers, Houses Transmission lines
Arc Parameters

Costs
• Arc costs can correspond to travel time, travel costs, transit
fare, shipping costs, tolls, etc.
• Arc cost is independent of flow
• Arc cost experienced by each unit of flow depends on the arc
flow

Capacity

• Arc has no capacity restriction


• Hard capacity: Arc flow must be lesser than capacity
• Soft capacity: Arc flow can be higher than capacity
Algorithm
What is an Algorithm

An algorithm is a sequential and clear set of instructions to solve a


problem or accomplish a task.
• Initialization
• Body
• When to stop

A good algorithm

• Clarity of Instructions
• Correctness
• Efficiency
Hershey Brownie Recipe
Pseudo Code

Happy medium between English and programming language

Initialize:
A: Set, list, or array containing the n numbers
max value ← −∞
for i ← 1 to n do
if A[i] > max value then
max value ← A[i]
end if
end for
Efficiency of Algorithms

• Let us say there are two algorithms A and B to solve a


problem. How do we determine which one is more efficient?
• Implement the algorithms in a programming language and
compare run times for large number of inputs
• Issues
• Operating System
• Programming Language
• Skill of Programmer
• Computer Hardware
Efficiency of Algorithms

Computational Complexity

• Counting number of basic operations in the worst case


• Studying how the worst case number of basic operations
scales up in relation to the problem size

Basic Operations

• arithmetic operation such as addition, multiplication


• conditional testing
• assignment operation
Finding Max Value

How many basic operations as a function of n, the input size in the


worst case?

Initialize:
A: Set, list, or array containing the n numbers
max value ← −∞
for i ← 1 to n do
if A[i] > max value then
max value ← A[i]
end if
end for
Big O Notation

• Worst case running time or number of basic operations


represented using Big O notation.
• 4n + 1 operations =⇒ O(n)
• 7n3 + 3n2 number of basic operations, complexity is O(n3 )
• Only take the dominating term and neglect the constant
associated with the dominating term
If there is time..Bubble Sort Computational Complexity

Initialize:
A: Set, list, or array containing the n numbers
for i ← 1 to n − 1 do
for j ← 1 to n − i do
if A[j] > A[j + 1] then
temp ← A[j]
A[j] ← A[j + 1]
A[j + 1] ← temp
end if
end for
end for
Common Computational Complexities

• O(1) - constant time


• O(logn) - logarithmic or sublinear
• O(n) - linear time
• O(n2 ) - quadratic
• O(n3 ), O(n4 ), . . . - polynomial.
• O(nc ) for any constant c - polynomial.
• O(nlogn ) - polynomial.
• O(2n ) - exponential
Shortest Path

Given
• Network - Nodes and Arcs
• Cost on each arc
• Origin and Destination
• Find the shortest cost route between origin and desintion

Potential Algorithm

• List all possible routes between origin and destination


• Find route with least travel time
• Is this efficient?
Course Content
Network Algorithms

Algorithms which exploit the network structure

• Minimum Spanning Tree


• Search Algorithms
• Shortest Path
• Minimum Cost Flow
Nonlinear Optimization

min f (x) x ∈ X
where f (x): nonlinear function
X : feasible region
Traffic Assignment

• Given a highway network, origins and destinations, demands


• If all users make least cost route decisions, what will be the
flows on the various links in the network
• Mathematical formulation
• Solution Algorithm
• Shortest Path Network Algorithm + Nonlinear Optimization
Python Next Class

• Go to the webpage:
http://www.gurobi.com/downloads/get-anaconda
• There are two common variants of Python - Python 2.X and
Python 3.X
• Download Anaconda for Python 3.X for your operating system
• Run the installation file
• Bring your laptop to class.

You might also like