12.07.2015 Views

Modeling and Optimization of Traffic Flow in Urban Areas - Czech ...

Modeling and Optimization of Traffic Flow in Urban Areas - Czech ...

Modeling and Optimization of Traffic Flow in Urban Areas - Czech ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Czech</strong> Technical University <strong>in</strong> PragueFaculty <strong>of</strong> Electrical Eng<strong>in</strong>eer<strong>in</strong>gDepartment <strong>of</strong> Control Eng<strong>in</strong>eer<strong>in</strong>g<strong>Model<strong>in</strong>g</strong> <strong>and</strong> <strong>Optimization</strong><strong>of</strong> <strong>Traffic</strong> <strong>Flow</strong> <strong>in</strong> <strong>Urban</strong> <strong>Areas</strong>Doctoral ThesisMichal KutilPrague, January 2010Ph.D. Programme: Electrical Eng<strong>in</strong>eer<strong>in</strong>g <strong>and</strong> Information TechnologyBranch <strong>of</strong> study: Control Eng<strong>in</strong>eer<strong>in</strong>g <strong>and</strong> RoboticsSupervisor: Doc. Dr. Ing. Zdeněk Hanzálek


CopyrightbyMichal Kutil2010


This thesis is dedicated to my wife<strong>and</strong> family members, with love.


AcknowledgementsI would like to give my great thanks to my thesis advisor Zdeněk Hanzálekfor his patient support throughout the years it has taken me to create thisthesis. I would also like to express my thanks to all my colleagues help<strong>in</strong>g tocreate a friendly atmosphere. I would also like to thank to many anonymousreviewers <strong>of</strong> journals <strong>and</strong> <strong>in</strong>ternational conferences where prelim<strong>in</strong>ary versions<strong>of</strong> this thesis were submitted. Their comments significantly contributed tothe quality <strong>of</strong> this thesis. Last, but not least, thanks belongs to all my family.This work was supported by the M<strong>in</strong>istry <strong>of</strong> Education <strong>of</strong> the <strong>Czech</strong>Republic under project 1M0567.<strong>Czech</strong> Technical University <strong>in</strong> PragueJanuary 2010Michal Kutil


Nomenclatureα|β|γ Graham <strong>and</strong> B̷lażewicz notationα s→d distribution rate from the source street s to the dest<strong>in</strong>ation da uv cost <strong>of</strong> edge from node u to node vA l<strong>in</strong>ear state space matrixb i dem<strong>and</strong> <strong>of</strong> commodity iB, B h l<strong>in</strong>ear state space matricesc j completion time—time when the execution <strong>of</strong> the task is f<strong>in</strong>ishedcap uv capacity <strong>of</strong> edge from node u to node vC i set <strong>of</strong> transitions Pi◦ <strong>in</strong>dexesC <strong>in</strong>tersection cycle timeC i <strong>in</strong>tersection i-th cycle timeCP length <strong>of</strong> the critical pathδ maximal allowed difference <strong>of</strong> t swd dest<strong>in</strong>ation <strong>in</strong>dex <strong>of</strong> streetd j due date—time limit by which the task should be completed˜d j deadl<strong>in</strong>e—time limit by which the task has to be completedd s→d time for which one vehicle flows throw the <strong>in</strong>tersectionD matrix <strong>of</strong> communication delayD j tard<strong>in</strong>essɛ small constantE set <strong>of</strong> graph edgesE mean value <strong>of</strong> wait<strong>in</strong>g timesE ◦ mean value <strong>of</strong> wait<strong>in</strong>g times <strong>in</strong> equilibrium po<strong>in</strong>tE i mean value <strong>of</strong> wait<strong>in</strong>g times <strong>in</strong> i-th queuef i (u, v) flow <strong>of</strong> commodity i from node u to node vF non-l<strong>in</strong>ear functionG graphh <strong>in</strong>com<strong>in</strong>g vehicle flowh vector <strong>of</strong> <strong>in</strong>com<strong>in</strong>g vehicles flowsh ◦ <strong>in</strong>com<strong>in</strong>g vehicle flow <strong>in</strong> equilibrium po<strong>in</strong>tv


viNomenclatureh i <strong>in</strong>com<strong>in</strong>g vehicle flow <strong>in</strong>to the i-th queuei,j <strong>in</strong>dexesJ objective cost functionk <strong>in</strong>dex (especially used for discrete time)K i i-th commodityl <strong>in</strong>dexl uv number <strong>of</strong> lanes <strong>in</strong> the street from the <strong>in</strong>tersection u to the vl uv length <strong>of</strong> the unit vehicle <strong>in</strong>clud<strong>in</strong>g the distance between themL j lateness <strong>of</strong> task jµ m<strong>in</strong>imal duration <strong>of</strong> the phase splitM 0 <strong>in</strong>itial mark<strong>in</strong>gn number <strong>of</strong> vehicles <strong>in</strong> the queue—queue lengthn ◦ number <strong>of</strong> vehicles <strong>in</strong> the queue <strong>in</strong> equilibrium po<strong>in</strong>tn i number <strong>of</strong> vehicles <strong>in</strong> the i-th queueO asymptotic time complexityπ i priority <strong>of</strong> transition T ip i process<strong>in</strong>g time—time necessary for execution <strong>of</strong> task iP Petri net set <strong>of</strong> placesP i i-th Petri net place◦ P i set <strong>of</strong> <strong>in</strong>put transitions <strong>of</strong> P iPi◦ set <strong>of</strong> output transitions <strong>of</strong> P iP ost Petri net postcondition matrixP re Petri net precondition matrixq vehicles flow rateq vehicles flow vectorq ◦ vehicles flow <strong>in</strong> equilibrium po<strong>in</strong>tq i i-th vehicles flowqimax maximum feasible flowρ densityr j release date—time at which a task becomes ready for executionR total number <strong>of</strong> processorsR Petri net sextuple


NomenclatureviiR 0+ set <strong>of</strong> non-negative real numberss source <strong>in</strong>dex <strong>of</strong> streets j start times<strong>in</strong>k i i-th s<strong>in</strong>k node <strong>of</strong> graphsource i i-th source node <strong>of</strong> graphS maximum number <strong>of</strong> time unitsS sum <strong>of</strong> the wait<strong>in</strong>g times <strong>of</strong> all vehicles currently <strong>in</strong> the queueτ ik split—time <strong>in</strong>terval <strong>of</strong> phase k for which the vehicle flow can gothrough the <strong>in</strong>tersection it timet sw switch<strong>in</strong>g time—time to pass from one phase to the other phaset s→d vehicle travel time from the s street to d streetT Petri net set <strong>of</strong> transitionsT i i-th Petri net transition◦ T i set <strong>of</strong> <strong>in</strong>put places <strong>of</strong> T iTi◦ set <strong>of</strong> output places <strong>of</strong> T iT ph NMPC prediction horizonT i task iuv unit vehicleu, v graph nodesv i speed <strong>of</strong> cont<strong>in</strong>uous Petri net transition T ivimax maximum permissible speed <strong>of</strong> cont<strong>in</strong>uous transitions T ivis sum <strong>of</strong> the speeds supply<strong>in</strong>g the place P iV set <strong>of</strong> graph nodesV vector <strong>of</strong> maximal fir<strong>in</strong>g speedsV i maximal speed <strong>of</strong> transition T iV s→d maximum vehicle speed from the street s to dV s→ common maximum speed from the street sw vehicle speedw s→d vehicle speed cross<strong>in</strong>g the <strong>in</strong>tersection from the street s to dW uv maximal alloved vehicle speedx state vector <strong>of</strong> extended queue model


viiiNomenclaturex i state vector <strong>of</strong> extended i-th queue modelx c state vector <strong>of</strong> complete queue modelx M simple <strong>in</strong>tersection state space vectorx i number <strong>of</strong> vehicles that have been wait<strong>in</strong>g for i time unitsx ijk b<strong>in</strong>ary variable <strong>of</strong> SAT schedul<strong>in</strong>gϕ ij <strong>of</strong>fset—time delay between phases <strong>of</strong> two <strong>in</strong>tersections (i, j)ψ number <strong>of</strong> commodities


AbbreviationsCCPN Constant speed Cont<strong>in</strong>uous Petri NetCNF Conjunctive Normal FormDSP Digital Signal Process<strong>in</strong>gHPN Hybrid Petri NetITS Intelligent Transportation SystemILP Integer L<strong>in</strong>ear Program<strong>in</strong>gLP L<strong>in</strong>ear Programm<strong>in</strong>gLQR L<strong>in</strong>ear Quadratic RegulatorMMCF M<strong>in</strong>imum cost Multi-Commodity <strong>Flow</strong>NMPC Nonl<strong>in</strong>ear Model Predictive ControllerPN Petri NetSAT SATisfiability <strong>of</strong> boolean expression problemTORSCHE TORSCHE Schedul<strong>in</strong>g Toolbox for MatlabUML Unified <strong>Model<strong>in</strong>g</strong> LanguageZOH Zero-Order Holdix


<strong>Model<strong>in</strong>g</strong> <strong>and</strong> <strong>Optimization</strong><strong>of</strong> <strong>Traffic</strong> <strong>Flow</strong> <strong>in</strong> <strong>Urban</strong> <strong>Areas</strong>Ing. Michal Kutil<strong>Czech</strong> Technical University <strong>in</strong> Prague, 2010Thesis Advisor: Doc. Dr. Ing. Zdeněk HanzálekThis thesis presents models <strong>of</strong> simple <strong>and</strong> general traffic <strong>in</strong>tersections. Thesimple <strong>in</strong>tersection model is based on the new queue model, where the statevariables represent the queue lengths <strong>and</strong> the mean wait<strong>in</strong>g times <strong>in</strong> thequeues. The general traffic <strong>in</strong>tersection model is based on a constant speedcont<strong>in</strong>uous Petri net. The cont<strong>in</strong>uous Petri net tool <strong>of</strong>fers more flexibility <strong>of</strong>model<strong>in</strong>g general <strong>in</strong>tersections <strong>and</strong> possibility <strong>in</strong>terconnects them to the complexurban traffic region model <strong>in</strong> future. The Model is <strong>in</strong>novative, firstly, bythe free space model<strong>in</strong>g together with the opposite direction <strong>of</strong> the vehicularflow, secondly by the cont<strong>in</strong>uous Petri net use only lead<strong>in</strong>g to a smaller statespace. For this purpose, we show a new method for conflict resolution <strong>in</strong> acont<strong>in</strong>uous Petri net based on the maximal speed proportion. The control <strong>of</strong><strong>in</strong>tersections is prosed firstly for simple <strong>in</strong>tersection, where the wait<strong>in</strong>g times<strong>of</strong> the <strong>in</strong>dividual vehicles <strong>in</strong> the various streets <strong>of</strong> the <strong>in</strong>tersection are taken<strong>in</strong>to account to some degree. Secondly for the urban traffic region model,where the schedul<strong>in</strong>g is used to f<strong>in</strong>d an optimal control <strong>of</strong> light controlled<strong>in</strong>tersections. The performance <strong>of</strong> all depicted models <strong>and</strong> their control wasevaluated <strong>in</strong> simulations <strong>and</strong> compared with real data from the traffic <strong>in</strong>Prague.x


Goals <strong>and</strong> ObjectivesThis thesis will focus on model<strong>in</strong>g <strong>and</strong> optimization techniques to improveefficiency <strong>of</strong> light controlled <strong>in</strong>tersections <strong>in</strong> urban area. The objective <strong>of</strong> thisoptimization is to decrease congestions, accidents <strong>and</strong> environmental load.From this purpose the goals <strong>of</strong> this work were set as follows:1. Describe urban traffic <strong>in</strong>tersection <strong>and</strong> propose the modern controlmethod to optimize controll<strong>in</strong>g <strong>of</strong> <strong>in</strong>tersection with regards to driverswait<strong>in</strong>g time balanc<strong>in</strong>g.2. Make a model <strong>of</strong> general light controlled <strong>in</strong>tersection based on constantspeed cont<strong>in</strong>uous Petri net.3. Improve control <strong>of</strong> light controlled <strong>in</strong>tersection traffic region.xi


xii


ContentsGoals <strong>and</strong> Objectivesxi1 Introduction 11.1 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Outl<strong>in</strong>e <strong>and</strong> Contribution . . . . . . . . . . . . . . . . . . . . 42 Simple Light Controled Intersection Model 52.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Extended Queue Model . . . . . . . . . . . . . . . . . . . . . 62.2.1 Geometrical Interpretation . . . . . . . . . . . . . . . 72.2.2 Extended Queue Model Evaluation . . . . . . . . . . . 82.2.3 Extended Queue Model Equilibrium . . . . . . . . . . 92.3 Simple Intersection Model . . . . . . . . . . . . . . . . . . . . 102.3.1 L<strong>in</strong>ear model . . . . . . . . . . . . . . . . . . . . . . . 102.4 Control <strong>of</strong> The Simple Intersection Model . . . . . . . . . . . 112.4.1 L<strong>in</strong>ear Quadratic Regulator . . . . . . . . . . . . . . . 122.4.2 Non-L<strong>in</strong>ear Model Predictive Controller . . . . . . . . 132.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 General Light Controlled Intersection Model 193.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.2 Cont<strong>in</strong>uous Petri Net . . . . . . . . . . . . . . . . . . . . . . . 203.2.1 Conflict Resolution . . . . . . . . . . . . . . . . . . . . 213.2.2 L<strong>in</strong>ear Programm<strong>in</strong>g for Conflict Resolution . . . . . . 223.3 Light Controlled Intersection Model . . . . . . . . . . . . . . 253.3.1 Cont<strong>in</strong>uous Petri Net Intersection Model . . . . . . . . 28xiii


xivContents3.4 Performance Evaluation . . . . . . . . . . . . . . . . . . . . . 303.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 TORSCHE Schedul<strong>in</strong>g Toolbox for Matlab 354.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.2 Tool Architecture <strong>and</strong> Basic Notation . . . . . . . . . . . . . 374.2.1 Schedul<strong>in</strong>g Part . . . . . . . . . . . . . . . . . . . . . . 374.2.2 Graph Part . . . . . . . . . . . . . . . . . . . . . . . . 414.3 Implemented Algorithm . . . . . . . . . . . . . . . . . . . . . 444.3.1 List Schedul<strong>in</strong>g Algorithm . . . . . . . . . . . . . . . . 444.3.2 SAT Based Schedul<strong>in</strong>g Algorithm . . . . . . . . . . . . 484.3.3 M<strong>in</strong>imum Cost Multi-commodity <strong>Flow</strong> Problem . . . . 504.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 <strong>Traffic</strong> <strong>Flow</strong> <strong>Optimization</strong> 535.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535.2 <strong>Traffic</strong> Region Model . . . . . . . . . . . . . . . . . . . . . . . 555.3 Tasks Def<strong>in</strong>ition for Intersection . . . . . . . . . . . . . . . . 575.4 Schedul<strong>in</strong>g with Communication Delay . . . . . . . . . . . . . 595.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606 Conclusions 636.1 Summary <strong>and</strong> Contributions . . . . . . . . . . . . . . . . . . . 636.2 Future Research . . . . . . . . . . . . . . . . . . . . . . . . . 64A List <strong>of</strong> TORSCHE Algorithms 67A.1 Schedul<strong>in</strong>g Algorithms . . . . . . . . . . . . . . . . . . . . . . 67A.2 Graph Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 68A.3 Other <strong>Optimization</strong> Algorithms . . . . . . . . . . . . . . . . . 68Bibliography 75Index 77Curriculum Vitae 79List <strong>of</strong> Author’s Publications 81


List <strong>of</strong> Tables2.1 <strong>Traffic</strong> data for the l<strong>in</strong>earization <strong>of</strong> the <strong>in</strong>tersection model. . . 112.2 NMPC complexity <strong>in</strong> number <strong>of</strong> iterations . . . . . . . . . . . 163.1 Intersection parameters . . . . . . . . . . . . . . . . . . . . . 273.2 Intersection parameters . . . . . . . . . . . . . . . . . . . . . 325.1 Required traffic region multi-commodity flow <strong>in</strong>stances . . . . 565.2 Multi-commodity flow assignment . . . . . . . . . . . . . . . . 575.3 Process<strong>in</strong>g time <strong>of</strong> tasks <strong>and</strong> <strong>of</strong>fset for <strong>in</strong>tersections 6,7,8 . . . 57xvii


xviii


Chapter 1IntroductionThe urban traffic is significantly <strong>in</strong>creas<strong>in</strong>g <strong>in</strong> the large cities. Fig. 1.1 showsthe progress <strong>of</strong> registered vehicles <strong>in</strong> Prague dur<strong>in</strong>g this decade [Prag 09]. Asthe number <strong>of</strong> vehicles <strong>in</strong> the street (given by the density ρ) is <strong>in</strong>creas<strong>in</strong>g, theaverage speed w is decreas<strong>in</strong>g. Similar to computer networks, from a certa<strong>in</strong>state <strong>in</strong>creas<strong>in</strong>g density ρ decreases the traffic flow rate q, which correspondsto a throughput <strong>of</strong> vehicles through the city. The cut-<strong>of</strong>f po<strong>in</strong>t is given by thetraffic stream model [Haef 98] describ<strong>in</strong>g relationships among these parameters.See Fig. 1.2, where the fundamental diagram (graphical representation<strong>of</strong> traffic stream model) <strong>of</strong> real data from the Prague street “Zborovská” isshown. Large number <strong>of</strong> vehicles <strong>and</strong> traffic flow decreas<strong>in</strong>g to zero br<strong>in</strong>gsnumber <strong>of</strong> vehicles10 x 105 9.598.587.576.562001 2002 2003 2004 2005 2006 2007 2008 2009 yearFig. 1.1: Number <strong>of</strong> registered vehicles <strong>in</strong> Prague (different methodology was used<strong>in</strong> the years between 2004 <strong>and</strong> 2008)1


2 Chapter 1 Introduction-1q [uv s ]0.30.20.100 0.05 0.1(a) flow rate — density-1½ [uv m ]-1w [m s ]3020100-10 0.05 0.1 ½ [uv m ](b) speed — densityFig. 1.2: Fundamental diagram <strong>of</strong> real data measured <strong>in</strong> Prague streetmore congestion, accidents, longer delays <strong>and</strong> <strong>in</strong>creas<strong>in</strong>g environmental load.Described negative effects led to the study <strong>of</strong> <strong>in</strong>telligent transportationsystems (ITS) [Figu 01], dated back to the 1980s. ITS make use <strong>of</strong> lead<strong>in</strong>gedge <strong>in</strong>formation <strong>and</strong> telecommunication technologies to provide traffic<strong>and</strong> transport <strong>in</strong>formation. It <strong>in</strong>creases the efficiency <strong>of</strong> traffic management,improves the overall capacity <strong>of</strong> the road system, enhances roadsafety <strong>and</strong> reduces vehicle wear, transportation times, <strong>and</strong> fuel consumption.ITS encompasses traffic control <strong>and</strong> surveillance, public transport <strong>in</strong>formation,electronic tool collection, fleet management, car navigation systems,etc. [Man 00].1.1 Related WorkA lot <strong>of</strong> work has been done on <strong>in</strong>telligent transportation systems. Review<strong>of</strong> road traffic control strategies, <strong>in</strong>clud<strong>in</strong>g the traffic model<strong>in</strong>g, road trafficcontrol <strong>and</strong> freeway traffic control was summarized by Markos Papageorgiouet al. [Papa 03].


1.1 Related Work 3<strong>Traffic</strong> stream models [Cast 96], [Masu 07] consider traffic flow as a heterogeneoussystem which can be described from a macroscopic or microscopicpo<strong>in</strong>t <strong>of</strong> view [Tolb 05]. The macroscopic po<strong>in</strong>t <strong>of</strong> view is described by globalvariables as the flow rate, the flow density <strong>and</strong> the flow average velocity[Gazi 02]. On the other h<strong>and</strong>, microscopic po<strong>in</strong>t <strong>of</strong> view focuses on the <strong>in</strong>dividualvehicles behavior on the road [Nage 03].The light controlled <strong>in</strong>tersections are characterized by several parameters:the number <strong>of</strong> light phases, phase split <strong>and</strong> <strong>of</strong>fset time [Gube 08]. The termphase means the state <strong>of</strong> traffic lights on the <strong>in</strong>tersection. Phase split def<strong>in</strong>esthe time <strong>in</strong>terval <strong>of</strong> phase for which the vehicle flow can go through the <strong>in</strong>tersection.The <strong>of</strong>fset is a certa<strong>in</strong> time delay between phases <strong>of</strong> two successive<strong>in</strong>tersections [Papa 03].The control <strong>of</strong> a s<strong>in</strong>gle <strong>in</strong>tersection (belong<strong>in</strong>g to the class <strong>of</strong> road trafficcontrol) is usually based on a fixed-time strategy or on a traffic-responsestrategy. In a fixed-time strategy (see, e.g., the TRANSYT tool [Robe 69]),the light control phases are scheduled <strong>of</strong>fl<strong>in</strong>e. This approach is optimal only<strong>in</strong> the case <strong>of</strong> the under-saturated <strong>in</strong>tersections. The light control phases arederived from the historical data measured for a given <strong>in</strong>tersection. Thereare typically several light control phases for each <strong>in</strong>tersection, depend<strong>in</strong>gon the given time <strong>of</strong> the day [Febb 06]. The traffic-response strategies arebased on feedback from the current state <strong>of</strong> the traffic (e.g. the SCOTT tool[Hunt 82]).The optimization <strong>of</strong> the traffic flow over several light controlled <strong>in</strong>tersections<strong>in</strong> urban traffic region can be improved by the synchronization <strong>of</strong> lights.The three ma<strong>in</strong> synchronization strategies are: synchronized, green wave <strong>and</strong>r<strong>and</strong>om strategy [He 06, Naga 07]. In the synchronized traffic light strategy,all traffic lights switch from red (green) to green (red) simultaneously. In thegreen wave traffic light strategy, the lights switch with a certa<strong>in</strong> time delaybetween two successive lights. In the r<strong>and</strong>om switch<strong>in</strong>g traffic lights strategy,all traffic lights change <strong>in</strong>dependently <strong>in</strong> an allowed range.


4 Chapter 1 Introduction1.2 Outl<strong>in</strong>e <strong>and</strong> ContributionThis thesis describes use <strong>of</strong> appropriate model<strong>in</strong>g <strong>and</strong> optimization techniquesto improve efficiency <strong>of</strong> light controlled <strong>in</strong>tersections <strong>in</strong> urban area. The ma<strong>in</strong>contributions are:• Simple traffic <strong>in</strong>tersection model (extended by the mean wait<strong>in</strong>g time)used for balanc<strong>in</strong>g <strong>of</strong> wait<strong>in</strong>g time (Section 2.3).• General light controlled <strong>in</strong>tersection model based on a constant speedcont<strong>in</strong>uous Petri net. The model is <strong>in</strong>novative:– first, by the use <strong>of</strong> cont<strong>in</strong>uous Petri net lead<strong>in</strong>g to a smaller statespace (Subsection 3.3.1).– second, by the model<strong>in</strong>g <strong>of</strong> free space together with the oppositedirection <strong>of</strong> the vehicle flow (Subsection 3.3.1),• New method for conflict resolution <strong>in</strong> a cont<strong>in</strong>uous Petri net based onthe maximal speed proportion (Subsection 3.2.1) used to improve thebehavior <strong>of</strong> the <strong>in</strong>tersection model.• Design <strong>of</strong> a tool architecture for development <strong>of</strong> schedul<strong>in</strong>g <strong>and</strong> optimizationalgorithms <strong>in</strong> the Matlab environment (Section 4.2)• Orig<strong>in</strong>al algorithm for schedul<strong>in</strong>g <strong>of</strong> light controlled <strong>in</strong>tersections (Section5.3, Section 5.4).This thesis is organized as follows: Chapter 2 presents a dynamic model<strong>of</strong> a simple traffic <strong>in</strong>tersection, where the vehicles wait<strong>in</strong>g time is balanced bythe NMPC <strong>and</strong> LQR use. The Chapter 3 proposes a general light controlled<strong>in</strong>tersection model based on a constant speed cont<strong>in</strong>uous Petri net. In contrast<strong>of</strong> previous chapter the cont<strong>in</strong>uous Petri net tool gives us more flexibility<strong>of</strong> model<strong>in</strong>g general <strong>in</strong>tersections. The next two chapters <strong>of</strong> thesis describethe optimization <strong>of</strong> the traffic flow control <strong>in</strong> urban traffic region made by theoperation research theory use. The TORSCHE Schedul<strong>in</strong>g Toolbox for Matlab,presented <strong>in</strong> Chapter 4, is used to f<strong>in</strong>d the optimal <strong>of</strong>fset <strong>and</strong> the split<strong>of</strong> the light controlled <strong>in</strong>tersections <strong>in</strong> the urban traffic region (Chapter 5).The Chapter 6 concludes the thesis.


Chapter 2Simple Light ControledIntersection ModelThis chapter presents a novel dynamical model <strong>of</strong> a simple traffic <strong>in</strong>tersection,where the state variables represent the queue lengths <strong>and</strong> the mean wait<strong>in</strong>gtimes <strong>in</strong> the queues. Includ<strong>in</strong>g the mean wait<strong>in</strong>g times <strong>in</strong> the model allows fora more fair traffic control, where the wait<strong>in</strong>g times <strong>of</strong> the <strong>in</strong>dividual vehicles <strong>in</strong>the various streets <strong>of</strong> the <strong>in</strong>tersection are taken <strong>in</strong>to account to some degree.The model is l<strong>in</strong>earized <strong>and</strong> its parameters are estimated us<strong>in</strong>g real trafficdata measured dur<strong>in</strong>g one day <strong>in</strong> Prague. For the balanc<strong>in</strong>g <strong>of</strong> the wait<strong>in</strong>gtimes, two different controllers are considered: a l<strong>in</strong>ear quadratic regulator<strong>and</strong> a nonl<strong>in</strong>ear model predictive controller. The controllers are evaluated <strong>in</strong>simulations where real traffic data is used for the <strong>in</strong>com<strong>in</strong>g flows.2.1 IntroductionIn urban traffic control, it is common to decompose the traffic <strong>in</strong>frastructure<strong>in</strong>to microregions that describe particular streets <strong>and</strong> <strong>in</strong>tersections. Thischapter focuses on a dynamic model <strong>of</strong> a simple <strong>in</strong>tersection, describ<strong>in</strong>g theevolution <strong>of</strong> the traffic situation by nonl<strong>in</strong>ear difference equations. The ma<strong>in</strong>idea <strong>in</strong> this model is to <strong>in</strong>troduce a simplification that allows a mathematicaldescription <strong>of</strong> the traffic flow without the use <strong>of</strong> discrete variables. This simplifiesthe description <strong>of</strong> the system state space <strong>and</strong> opens up the possibilityto use optimization <strong>and</strong> st<strong>and</strong>ard control algorithms.5


6 Chapter 2 Simple Light Controled Intersection ModelThe objective is to develop controllers for balanc<strong>in</strong>g the vehicle wait<strong>in</strong>gtimes <strong>in</strong> the different streets <strong>of</strong> the <strong>in</strong>tersection. For this purpose, we use realtraffic data from Prague [Homo 05] to tune the <strong>in</strong>tersection model <strong>and</strong> thendevelop two controllers: a l<strong>in</strong>ear quadratic regulator (LQR) <strong>and</strong> a nonl<strong>in</strong>earmodel predictive controller (NMPC).Those controllers are <strong>of</strong>fen used to control the number <strong>of</strong> vehicles <strong>in</strong>the queues—see the traffic-response strategies OPAC [Gart 83], PRODYN[Henr 83], RHODES [Sen 97], <strong>and</strong> TUC [Diak 02].We use real data from detectors placed approximately 100 m <strong>in</strong> front <strong>of</strong>the <strong>in</strong>tersection. In order to derive the <strong>in</strong>com<strong>in</strong>g flow we process these datavia Kalman filter [Homo 05], s<strong>in</strong>ce this approach enables to estimate thequeues <strong>of</strong> the length superior to 100 m. In addition to the classical store-<strong>and</strong>forwardstrategies [Gazi 63, Abou 09] our model also <strong>in</strong>corporates the vehiclewait<strong>in</strong>g time [Bonn 95], which is a crucial <strong>in</strong>put to the controllers designed<strong>in</strong> this chapter. A similar approach was taken <strong>in</strong> [Henr 04], where non-l<strong>in</strong>eardifference state equations were used to model <strong>and</strong> control web server traffic.2.2 Extended Queue ModelClassical traffic control strategies use the s<strong>in</strong>gle variable n—the number <strong>of</strong>vehicles <strong>in</strong> the queue, measured <strong>in</strong> unit vehicles [uv]—as an <strong>in</strong>put to thecontrol law with the objective to m<strong>in</strong>imize this value. If we want to <strong>in</strong>creasethe quality <strong>of</strong> the traffic control from the driver’s po<strong>in</strong>t <strong>of</strong> view, we can addanother objective: the wait<strong>in</strong>g time. The wait<strong>in</strong>g time is the time spent bythe vehicle <strong>in</strong> the queue.Let us first assume that we are able to track every vehicle <strong>and</strong> its wait<strong>in</strong>gtime <strong>in</strong> the queue. This will be referred to as the complete queue model. Thestate vector <strong>of</strong> this model can be written <strong>in</strong> the formx c = (x 1 , x 2 , . . . , x i ) T (2.1)where x i denotes the number <strong>of</strong> vehicles that have been wait<strong>in</strong>g <strong>in</strong> the queuefor i time units. The disadvantages <strong>of</strong> this model are the state equationcomplexity <strong>and</strong> the unbounded state vector. In fact, the complexity <strong>of</strong> themodel prohibits the application <strong>of</strong> st<strong>and</strong>ard control techniques.We next consider an approximate queue model with only two state variables.The first variable, n, is the number <strong>of</strong> vehicles <strong>in</strong> the queue, while


2.2 Extended Queue Model 72 E( k)AB1CDq( k)n( k)n( k+1)h( k)Fig. 2.1: Extended queue model evolutionthe second variable, E [s], is the mean value <strong>of</strong> wait<strong>in</strong>g times. E is given byS/n, where S is the sum <strong>of</strong> the wait<strong>in</strong>g times <strong>of</strong> all vehicles currently <strong>in</strong> thequeue. The state vector <strong>of</strong> this model is written <strong>in</strong> the form x = (n, E) T .This model will be referred to as the extended queue model.2.2.1 Geometrical InterpretationWe here derive difference state equations for evolution <strong>of</strong> the extended queuemodel. The extended queue model evolution is dependent on the vehiclesflows <strong>and</strong> the length <strong>of</strong> the time unit. We assume there is an (time-vary<strong>in</strong>g)<strong>in</strong>com<strong>in</strong>g vehicle flow h [uv·s −1 ] <strong>and</strong> an outgo<strong>in</strong>g flow q [uv·s −1 ] <strong>of</strong> vehiclesleav<strong>in</strong>g the queue.A geometrical <strong>in</strong>terpretation <strong>of</strong> the extended queue model is given <strong>in</strong>Fig. 2.1. The current state at time k is given by the bold triangle, wherethe base represents the queue length n <strong>and</strong> the height represents the longestwait<strong>in</strong>g time <strong>in</strong> the queue. The longest wait<strong>in</strong>g time is assumed to be twicethe mean wait<strong>in</strong>g time E. The area <strong>of</strong> the bold triangle represents the sum<strong>of</strong> wait<strong>in</strong>g times over all vehicles: S = E · n.Next, we consider the evolution <strong>of</strong> the state from time k to k + 1. The<strong>in</strong>com<strong>in</strong>g flow dur<strong>in</strong>g this time <strong>in</strong>terval is assumed to be h(k), while theoutgo<strong>in</strong>g flow is q(k). Study<strong>in</strong>g Fig. 2.1, we have the follow<strong>in</strong>g geometrical<strong>in</strong>terpretation <strong>of</strong> the state evolution.


8 Chapter 2 Simple Light Controled Intersection Model1. The outgo<strong>in</strong>g flow q(k) corresponds to the removal <strong>of</strong> the polygon Afrom the ma<strong>in</strong> triangle. The rema<strong>in</strong><strong>in</strong>g vehicles are thus given by thetriangle B.2. All vehicles stay<strong>in</strong>g <strong>in</strong> the queue <strong>in</strong>crease their wait<strong>in</strong>g time by 1 unit.This corresponds to the addition <strong>of</strong> the rectangle C.3. The <strong>in</strong>com<strong>in</strong>g flow h(k) is represented by the addition <strong>of</strong> the triangle D.Notice that the quantisation error is zero, when we ussume a constant<strong>in</strong>com<strong>in</strong>g flow <strong>of</strong> vehicles from discrete time k to time k + 1.The new area (B+C+D) is equivalent to S(k +1), i.e., the sum <strong>of</strong> wait<strong>in</strong>gtimes over all vehicles at time k + 1:S(k + 1) = E(k)(n(k)−q(k))2n(k)} {{ }B+ n(k)−q(k)} {{ }C+ h(k)2}{{}D(2.2)F<strong>in</strong>ally, us<strong>in</strong>g the fact E(k) = S(k)/n(k), we arrive at the follow<strong>in</strong>g discretetimestate equations:n(k + 1) = n(k) − q(k) + h(k) (2.3)E(k + 1) =E(k)(n(k)−q(k)) 2n(k)+ n(k) − q(k) + h(k)2n(k) − q(k) + h(k)(2.4)These equations are valid only for n(k) > 0 <strong>and</strong> n(k) > q(k) − h(k). Thismeans that there must be some vehicles <strong>in</strong> the queue, otherwise E(k + 1) isequal to zero.2.2.2 Extended Queue Model EvaluationTo evaluate the extended queue model, we compared its ability to predictthe mean wait<strong>in</strong>g times to that <strong>of</strong> the complete queue model. (While thecomplete queue model has a complex mathematical description, its behaviorcan be simulated for a bounded number <strong>of</strong> vehicles.) As <strong>in</strong>put data to bothmodels we used <strong>in</strong>put traffic flows taken from a real traffic region [Homo 05].The result is shown <strong>in</strong> Fig. 2.2. It is seen that the extended queue modelcaptures the mean wait<strong>in</strong>g times <strong>of</strong> the vehicles quite well, justify<strong>in</strong>g its use.


2.2 Extended Queue Model 9E [s]40003500300025002000150010005000Complete queue modelExtended queue model0 1 2 3 4 5 6 7 x 10 4Fig. 2.2: Queue model evaluationt [s]2.2.3 Extended Queue Model EquilibriumFor the purposes <strong>of</strong> l<strong>in</strong>earization <strong>and</strong> further control synthesis, we want t<strong>of</strong><strong>in</strong>d the equilibrium po<strong>in</strong>ts, i.e., the po<strong>in</strong>ts where x(k) = x(k + 1). Theequilibrium po<strong>in</strong>ts for our model must satisfy the conditionsSolution <strong>of</strong> these equations impliesn(k) = n(k + 1) (2.5)E(k) = E(k + 1) (2.6)q ◦ (k) = h ◦ (k) (2.7)2E ◦ (k) = n◦ (k)q ◦ (k)(2.8)(The circle mark means that the value <strong>of</strong> a given variable is the value <strong>in</strong>the equilibrium.) The condition (2.7) means that the <strong>in</strong>com<strong>in</strong>g flow h mustbe equal to the outgo<strong>in</strong>g flow q. The condition (2.8) implies that the meanvalue <strong>of</strong> the wait<strong>in</strong>g times is proportional to the queue length <strong>and</strong> <strong>in</strong>verselyproportional to the vehicle flow. This is the well known Little’s law [Litt 61].In our term<strong>in</strong>ology, the condition says that “the average number <strong>of</strong> vehicles<strong>in</strong> a stable queue (over some time <strong>in</strong>terval) is equal to their average <strong>in</strong>com<strong>in</strong>gflow, multiplied by their average time <strong>in</strong> the queue.”


10 Chapter 2 Simple Light Controled Intersection Modelphase 2phase 1Fig. 2.3: Simple <strong>in</strong>tersection model2.3 Simple Intersection ModelThe queue model described above will now be used to construct a simple<strong>in</strong>tersection model (see Fig. 2.3). The <strong>in</strong>tersection consists <strong>of</strong> two streets(i.e., two queues) <strong>and</strong> one cross<strong>in</strong>g area (which is a shared resource). Theoutgo<strong>in</strong>g flow q for each queue is controlled by the <strong>in</strong>tersection lights.The simple <strong>in</strong>tersection model is described byx M (k + 1) = F (x M (k), q(k), h(k)) , (2.9)where x M (k) = (x 1 (k), x 2 (k)) T conta<strong>in</strong>s the state vectors <strong>of</strong> the two queues.The full <strong>in</strong>tersection state vector is hence given byx M (k) = (n 1 (k), E 1 (k), n 2 (k), E 2 (k)) T (2.10)Here, F is a non-l<strong>in</strong>ear function given by (2.3) <strong>and</strong> (2.4). The vector q(k) =(q 1 (k), q 2 (k)) T represents the outgo<strong>in</strong>g flow for the queues <strong>and</strong> the vectorh(k) = (h 1 (k), h 2 (k)) T represents the <strong>in</strong>com<strong>in</strong>g flow.2.3.1 L<strong>in</strong>ear modelA l<strong>in</strong>ear model is constructed via l<strong>in</strong>earization <strong>of</strong> the function F around anequilibrium po<strong>in</strong>t (Subsection 2.2.3). The equilibrium po<strong>in</strong>t was selected


2.4 Control <strong>of</strong> The Simple Intersection Model 11Table 2.1: <strong>Traffic</strong> data for the l<strong>in</strong>earization <strong>of</strong> the <strong>in</strong>tersection model.queue1 queue2q ◦ = h ◦ 0.028 0.042n ◦ 20 50E ◦ = n◦2q(2.8) ◦ 360 600as an average po<strong>in</strong>t <strong>in</strong> the real traffic situation, described by the data <strong>in</strong>Table 2.1.The l<strong>in</strong>earized model can be written asx M (k + 1) = Ax M (k) + Bq(k) + B h h(k) (2.11)where A, B, <strong>and</strong> B h are given by⎡⎤1 0 0 0A = ⎢0.05 0.99 0 0⎥⎣ 0 0 1 0 ⎦ ,0 0 0.02 0.99⎡ ⎤ ⎡ ⎤−1 01 0B = ⎢−17 0⎥⎣ 0 −1 ⎦ , B h = ⎢−17 0⎥⎣ 0 1 ⎦ .0 −110 −112.4 Control <strong>of</strong> The Simple Intersection ModelThe goal <strong>of</strong> the control is to f<strong>in</strong>d an optimal switch<strong>in</strong>g time for the trafficlights <strong>in</strong> the <strong>in</strong>tersection, such that the difference <strong>in</strong> average wait<strong>in</strong>g timesbetween the two queues is m<strong>in</strong>imized. In this section, two controllers will bedesigned <strong>and</strong> compared.In general, an <strong>in</strong>com<strong>in</strong>g flow <strong>of</strong> vehicles arriv<strong>in</strong>g at an <strong>in</strong>tersection must beseparated <strong>in</strong>to several phases. The phase separation, designed by the trafficeng<strong>in</strong>eers, determ<strong>in</strong>es a direction <strong>of</strong> vehicles driv<strong>in</strong>g through the <strong>in</strong>tersection.A repetitive sequence <strong>of</strong> phases form a cycle time. The phases have fixed


12 Chapter 2 Simple Light Controled Intersection Modelorder <strong>in</strong> the cycle time <strong>and</strong> our goal is to f<strong>in</strong>d their optimal split. The splitτ vj def<strong>in</strong>es the time <strong>in</strong>terval <strong>of</strong> phase j for which the vehicle flow can gothrough the <strong>in</strong>tersection v from one or more streets [Papa 03].The simple <strong>in</strong>tersection model def<strong>in</strong>ed above <strong>in</strong>cludes the two controlphases. Each phase allows vehicles to flow only from one street, see Fig. 2.3.Our control algorithms consider a constant sum <strong>of</strong> the phase splits, i.e. constantcycle time C. In this section, the cycle time is assumed to be 90 s.The time when the first phase passes to the second one will be denoted theswitch<strong>in</strong>g time t sw . The switch<strong>in</strong>g time can be used to def<strong>in</strong>e a control lawfor the model (2.9) as follows:q(k) ={(q1 max , 0) T if k ∈ 〈iC, iC + t sw ),(0, q2 max ) T if k ∈ 〈iC + t sw , (i + 1)C),(2.12)Here, q maxj is the maximum feasible outgo<strong>in</strong>g flow from queue j <strong>and</strong> i =0, 1, 2, 3, . . . is the <strong>in</strong>dex <strong>of</strong> the cycle time.2.4.1 L<strong>in</strong>ear Quadratic RegulatorIn this subsection, a l<strong>in</strong>ear quadratic regulator (LQR) (e.g.,[Kwak 72],[Astr 97]) will be used for the <strong>in</strong>tersection control. The objectiveis to m<strong>in</strong>imize the difference <strong>in</strong> the wait<strong>in</strong>g times <strong>of</strong> the vehicles. Thismeans that a vehicle enter<strong>in</strong>g a queue should wait the same time, regardless<strong>of</strong> which queue it is enter<strong>in</strong>g. This can be expressed as m<strong>in</strong>imization <strong>of</strong> thecost functionJ = ∑ (E 1 (k) − E 2 (k)) 2 . (2.13)kUs<strong>in</strong>g (2.10), the cost function can be rewritten asJ = ∑ kx M (k) T Qx M (k) (2.14)where:⎡⎤0 0 0 0Q = ⎢0 1 0 −1⎥⎣0 0 0 0 ⎦ .0 −1 0 1


2.4 Control <strong>of</strong> The Simple Intersection Model 13w(k)q(k)Simple <strong>in</strong>tersection modelx M(k)t swq q 0 t swZOHC∙Fig. 2.4: LQR control loopAssum<strong>in</strong>g a control law <strong>in</strong> the formq ′ (k) = (q ′ 1(k), q ′ 2(k)) T = κ x M (k) (2.15)<strong>and</strong> solv<strong>in</strong>g the LQR Riccati equation gives the optimal feedback ga<strong>in</strong>[ ]−0.001 −0.020 0.000 −0.012κ =0.001 0.016 −0.001 −0.062This control law produces a potentially unbounded result q ′ (k), whichcannot be directly applied to the <strong>in</strong>tersection traffic control. Instead, fromthis result we compute the switch<strong>in</strong>g time t sw ast sw (k) = Tq ′ 1 (k)q ′ 1 (k) + q′ 2 (k) (2.16)The f<strong>in</strong>al control law q(k) is obta<strong>in</strong>ed by comb<strong>in</strong><strong>in</strong>g this expression <strong>and</strong> (2.12).The control law is computed at the start <strong>of</strong> the cycle time <strong>and</strong> is held for thewhole cycle time. Control loop schema is shown on Fig. 2.4.The LQR was applied to the simple <strong>in</strong>tersection model control (2.9). Thesimulated response to real <strong>in</strong>put data dur<strong>in</strong>g one day (i.e. 86400 seconds) isshown <strong>in</strong> Fig. 2.5(a). The result<strong>in</strong>g average wait<strong>in</strong>g times <strong>in</strong> the two queuesare significantly different, the error caused by the l<strong>in</strong>earization <strong>of</strong> the model.2.4.2 Non-L<strong>in</strong>ear Model Predictive ControllerNext, we consider controll<strong>in</strong>g the wait<strong>in</strong>g times <strong>in</strong> the simple <strong>in</strong>tersectionmodel us<strong>in</strong>g a non-l<strong>in</strong>ear model predictive controller (NMPC) [F<strong>in</strong>d 02,


14 Chapter 2 Simple Light Controled Intersection ModelE [s]16001200Queue 1Queue 280040000 1 2 3 4 5 6 7 x 10 4(a) LQRt [s]E [s]16001200Queue 1Queue 280040000 1 2 3 4 5 6 7 x 10 4 t [s](b) NMPCFig. 2.5: Mean wait<strong>in</strong>g timesMagn 03]. The same cost function (2.13) was used as an objective function.For the NMPC algorithm we must select a control horizon <strong>and</strong> a predictionhorizon. The prediction horizon T ph is a time <strong>in</strong>terval that the controlleruses for simulat<strong>in</strong>g the nonl<strong>in</strong>ear model. The control horizon is a time <strong>in</strong>tervalover which the controller optimizes the control signal. In our case, bothhorizons were set to the 90 s, which is equal to the cycle time C. Controlloop schema is shown on Fig. 2.6.For convex problems, the NMPC can f<strong>in</strong>d an optimal switch<strong>in</strong>g time t swby convex optimization [Boyd 04]. Our optimization problem is not convex,however. Instead, we f<strong>in</strong>d the optimal t sw by enumerat<strong>in</strong>g all t sw ∈ (0, C)<strong>and</strong> simulat<strong>in</strong>g the response. The simulated <strong>in</strong>tersection model responsewhen apply<strong>in</strong>g the NMPC control law is shown on the Fig. 2.5(b).NMPC allows tun<strong>in</strong>g <strong>of</strong> the control law to be modified <strong>in</strong> a number <strong>of</strong>


2.4 Control <strong>of</strong> The Simple Intersection Model 15w( k)q( k)Simple <strong>in</strong>tersection modelx M( k)NMPC( C , T ph , ± , ¹ )w( k, k+ T ph)Fig. 2.6: NMPC control loop§J10 810 710 610 510 410 9 LQ RegulatorNMPC (unknown <strong>in</strong>com<strong>in</strong>g traffic)NMPC (known <strong>in</strong>com<strong>in</strong>g traffic)0 1 2 3 4 5 6 7 x 10 4t [s]Fig. 2.7: Evolution <strong>of</strong> accumulated objective functionways. For example, we can extend the controller by tak<strong>in</strong>g <strong>in</strong>to accountfuture <strong>in</strong>com<strong>in</strong>g flow. In practice, we can measure this traffic <strong>in</strong> a previous,neighbor<strong>in</strong>g <strong>in</strong>tersection (as shown by [Lei 01]) <strong>and</strong> forward this <strong>in</strong>formationto the next <strong>in</strong>tersection controller. In this way, the predictive controller canprepare a much better control action. Try<strong>in</strong>g this approach on the simple<strong>in</strong>tersection model, add<strong>in</strong>g feedforward traffic <strong>in</strong>formation to the NMPC isable to reduce the cost function J by about 37%. The accumulative value <strong>of</strong>the cost function J for different controllers is depicted <strong>in</strong> Fig. 2.7. We can seethat the NMPC yields much better results than LQR, <strong>and</strong> that feedforwardfrom the <strong>in</strong>com<strong>in</strong>g traffic improves the result even further.To evaluate the sensitivity <strong>of</strong> the NMPC to the <strong>in</strong>com<strong>in</strong>g flow, the fol-


16 Chapter 2 Simple Light Controled Intersection Modellow<strong>in</strong>g experiment was performed. In addition to the orig<strong>in</strong>al <strong>in</strong>com<strong>in</strong>g flow,Queue 2 was subjected to one additional vehicle per second from time 30000 sto time 30100 s. Fig. 2.8(a) shows that the <strong>in</strong>crease <strong>in</strong> the number <strong>of</strong> vehicles<strong>in</strong> Queue 1 is partially compensated by the NMPC, which leads to an <strong>in</strong>crease<strong>in</strong> the number <strong>of</strong> vehicles <strong>in</strong> Queue 2. From the pr<strong>in</strong>ciple (see Equation 2.3)the number <strong>of</strong> vehicles <strong>in</strong> Fig. 2.8(a) holds for both models. The mean value<strong>of</strong> the wait<strong>in</strong>g times <strong>in</strong> the extended queue model (shown <strong>in</strong> Fig. 2.8(b)) isused to calculate the switch<strong>in</strong>g time t sw by the NMPC. The same t sw is appliedto the complete queue model (see Fig. 2.8(c)) show<strong>in</strong>g that E <strong>in</strong> bothqueues is quite well balanced.Table 2.2 shows the complexity <strong>of</strong> the NMPC calculations <strong>in</strong> terms <strong>of</strong>the number iterations for the one-day experiment. The left half <strong>of</strong> the tableshows the complexity results for a prediction horizon <strong>of</strong> 90 s. The first row<strong>in</strong> the first column refers to the complexity <strong>of</strong> experiments reported up tonow. In general, the control performance can be <strong>in</strong>creased by prolongation <strong>of</strong>the predictive horizon. In the right half <strong>of</strong> the table, the complexity resultsfor a predictive horizon <strong>of</strong> 180 s is shown. In all cases, the time complexityis negligible with respect to the cycle time. Nevertheless, we propose twosimple approaches for reduc<strong>in</strong>g the problem complexity. First, the t sw doesnot need to be an <strong>in</strong>teger variable (as assumed <strong>in</strong> the first row <strong>in</strong> Table 2.2),but can be assumed to achieve a value divisible by 2 (the second row) or by5 (the third row). Second, for practical reasons, t sw (k + 1) does not need tovary from 0 to 90 s (as assumed <strong>in</strong> the columns with δ = 90, µ = 0), but couldbe allowed to vary only from max{t sw (k) − δ, µ} to m<strong>in</strong>{t sw (k) + δ, 90 − µ}where δ st<strong>and</strong>s for maximal allowed difference <strong>of</strong> t sw <strong>and</strong> µ def<strong>in</strong>es a m<strong>in</strong>imalTable 2.2: NMPC complexity <strong>in</strong> number <strong>of</strong> iterationspredictive horizon 90 s predictive horizon 180 sδ = 90 δ = 30 δ = 5 δ = 90 δ = 30 δ = 5µ = 0 µ = 10 µ = 10 µ = 0 µ = 10 µ = 101 87451 41328 9905 7958041 1980255 1106212 45167 21927 5995 2122849 548138 393165 19220 10055 3587 384400 113237 13724


2.4 Control <strong>of</strong> The Simple Intersection Model 17n [uv]100806040200Queue 1Queue 20 1 2 3 4 5 6 7 x 10 4 t [s](a) Number <strong>of</strong> vehicles <strong>in</strong> the queueE [s]1400120010008006004002000Queue 1Queue 20 1 2 3 4 5 6 7 x 10 4 t [s](b) Mean wait<strong>in</strong>g times <strong>in</strong> the extended queue modelE [s]16001400120010008006004002000Queue 1Queue 20 1 2 3 4 5 6 7 x 10 4 t [s](c) Mean wait<strong>in</strong>g times <strong>in</strong> the complete queue modelFig. 2.8: NMPC with extra vehicles at t = 3 · 10 4 s


18 Chapter 2 Simple Light Controled Intersection Modelphase split. Both approaches lead to a significant reduction <strong>of</strong> the searchspace for the NMPC.2.5 SummaryIn chapter, a new model for traffic queues has been presented. The extendedqueue model is described by the number <strong>of</strong> vehicles <strong>in</strong> the queue <strong>and</strong> themean value <strong>of</strong> wait<strong>in</strong>g time. The model is based on non-l<strong>in</strong>ear differencestate equations. We have shown that the equilibrium po<strong>in</strong>t <strong>of</strong> the nonl<strong>in</strong>earmodel conforms with the Little’s law.Further, we have used the extended queue model to derive the parameters<strong>of</strong> the controllers for a simple <strong>in</strong>tersection model with two queues. Twocontrollers were applied to the <strong>in</strong>tersection model. First, we designed a l<strong>in</strong>earquadratic regulator based on a l<strong>in</strong>earization <strong>of</strong> the state equations aroundan equilibrium po<strong>in</strong>t. Second, we proposed the use <strong>of</strong> a nonl<strong>in</strong>ear modelpredictive controller. The advantages <strong>and</strong> disadvantages <strong>of</strong> the controllerswere discussed, <strong>and</strong> their performance was evaluated <strong>in</strong> simulations us<strong>in</strong>greal traffic data.


Chapter 3General Light ControlledIntersection ModelThis chapter proposes a light controlled <strong>in</strong>tersection model based on a constantspeed cont<strong>in</strong>uous Petri net. In contrast <strong>of</strong> previous chapter the cont<strong>in</strong>uousPetri net tool gives us more flexibility <strong>of</strong> model<strong>in</strong>g general <strong>in</strong>tersections.The Model is <strong>in</strong>novative, firstly, by the free space model<strong>in</strong>g together withthe opposite direction <strong>of</strong> the vehicular flow, secondly by the cont<strong>in</strong>uous Petr<strong>in</strong>et use only lead<strong>in</strong>g to a smaller state space. For this purpose, we show anew method for conflict resolution <strong>in</strong> a cont<strong>in</strong>uous Petri net based on themaximal speed proportion. The model is compared with <strong>in</strong>tersection modelbased on a classical discrete Petri net <strong>and</strong> it is evaluated <strong>in</strong> the simulationwhere real traffic data is used for the <strong>in</strong>com<strong>in</strong>g flow.3.1 Introduction<strong>Traffic</strong> stream models consider traffic flow as a heterogeneous system whichcan be described from a macroscopic or microscopic po<strong>in</strong>t <strong>of</strong> view, [Tolb 05].On one h<strong>and</strong>, the macroscopic po<strong>in</strong>t <strong>of</strong> view is described by global variablesas the flow rate, the flow density <strong>and</strong> the flow average velocity, [Gazi 02]. Onthe other h<strong>and</strong>, microscopic po<strong>in</strong>t <strong>of</strong> view focuses on the <strong>in</strong>dividual vehiclesbehavior on the road.The traffic flow model based on a discrete Petri net (PN), [Wang 93] issuitable for a microscopic description. On the other side, the model based on19


20 Chapter 3 General Light Controlled Intersection Modela cont<strong>in</strong>uous Petri net is suitable for macroscopic description, [Tolb 01]. Thecomb<strong>in</strong>ation <strong>of</strong> both concepts gives us model that consists <strong>of</strong> a cont<strong>in</strong>uouspart <strong>in</strong> the street <strong>and</strong> a discrete part <strong>in</strong> the <strong>in</strong>tersection. Hybrid Petri nets(HPN), [Davi 01], are used to describe these complex models, [Febb 04]. Thema<strong>in</strong> disadvantage <strong>of</strong> this concept based on HPN is a discrete part <strong>of</strong> thePetri net used for traffic flow, [Tolb 03] or a discrete part <strong>of</strong> the PN used for<strong>in</strong>tersection control, [Febb 01], [Julv 05] which subsequently discretizes trafficflow. In these cases, the cont<strong>in</strong>uous flow is cut to the different flow levels bythe <strong>in</strong>tersection part, which is further processed by a cont<strong>in</strong>uous part <strong>of</strong> theHPN. Due to discrete part, process<strong>in</strong>g such models is not efficient.The aim <strong>of</strong> this chapter is to develop a new light controlled <strong>in</strong>tersectionmodel based on the Constant speed Cont<strong>in</strong>uous Petri Net (CCPN), [Davi 98].This model divides the cont<strong>in</strong>uous traffic flow <strong>in</strong> consequence <strong>of</strong> the <strong>in</strong>tersectionstructure <strong>and</strong> control without cutt<strong>in</strong>g the flow to different flow levels.Moreover, free space modell<strong>in</strong>g together with the opposite direction <strong>of</strong> vehicleflow is considered. For this goal, we show a new method for conflictresolution <strong>in</strong> the CCPN based on maximal speed proportion. As a result,we show that the simulation based on our model is faster than based on theconventional approach.3.2 Cont<strong>in</strong>uous Petri NetA constant speed cont<strong>in</strong>uous Petri net is def<strong>in</strong>ed as a sextuple R =〈P, T , V, P re, P ost, M 0 〉, where the def<strong>in</strong>ition <strong>of</strong> P, T , P re, P ost are similarto those <strong>of</strong> the discrete Petri nets, as well as ◦ T i , Ti ◦,◦ P i , Pi◦ notationfor predecessor <strong>and</strong> successor places <strong>and</strong> transitions, both described, for example,by [Davi 04]. M 0 is the <strong>in</strong>itial mark<strong>in</strong>g. V : T → R 0+ ∪ {∞} is avector <strong>of</strong> maximal fir<strong>in</strong>g speeds. V j denotes the maximal speed <strong>of</strong> transitionT j . Further more v j (t) denotes the speed <strong>of</strong> transition T j at time t. The value<strong>of</strong> v j (t) is bounded by the <strong>in</strong>terval 〈0, V j 〉. Transition T j is strongly enabledat time t if all places P i <strong>of</strong> ◦ T j are marked. Place P i is supplied at timet if there is at least one transition T j <strong>in</strong> ◦ P i , which is enabled (strongly orweakly). Transition T j is weakly enabled at time t if there is place P i ∈ ◦ T j ,which is not marked <strong>and</strong> is supplied, <strong>and</strong> the rema<strong>in</strong><strong>in</strong>g places <strong>of</strong> ◦ T j are eithermarked or supplied. For more <strong>in</strong>formation, see [Hanz 03]. The follow<strong>in</strong>gextensions <strong>of</strong> the CCPN will be used: the mark<strong>in</strong>g <strong>of</strong> cont<strong>in</strong>uous place can


3.2 Cont<strong>in</strong>uous Petri Net 21take the value <strong>of</strong> 0+ <strong>and</strong> Inhibitor arcs there can be. Both <strong>of</strong> these conceptsare described by [Davi 04].3.2.1 Conflict ResolutionIn a cont<strong>in</strong>uous Petri net, there is an actual conflict among k transitions <strong>in</strong>a set {T 1 , T 2 , . . . , T k }, if the speed <strong>of</strong> at least one <strong>of</strong> them has to be less thanthe maximal speed due to the speeds <strong>of</strong> the other transitions <strong>in</strong> this set.When there is an actual conflict between two or more transitions, thenthe priority rule can be used. Another alternative is to use a conflict resolutionmethod based on the maximal speed proportion. The maximal speedproportion means that the flow which runs through the place is divided <strong>in</strong>tothe subsequent transitions <strong>in</strong> proportion to their maximal speeds, if it is feasible<strong>in</strong> regard to other constra<strong>in</strong>ts. The method is based on a flow shar<strong>in</strong>grule, observ<strong>in</strong>g the maximum fir<strong>in</strong>g speed described by [Hanz 03] <strong>and</strong> can beused only <strong>in</strong> simple Petri nets. A simple Petri net is a net <strong>in</strong> which eachtransition can only be concerned with one conflict at most.In order to illustrate the conflict resolution method we have shown anexample <strong>in</strong> Fig. 3.1. There are three places P 1 , P 2 <strong>and</strong> P 3 with zero mark<strong>in</strong>g.These places are supplied by the transitions T 1 , T 2 <strong>and</strong> T 3 with a speedv 1 = 35, v 2 = 40 <strong>and</strong> v 3 = 18, respectively. Place P 2 is supplied with asmaller speed than the sum <strong>of</strong> the maximal speed <strong>of</strong> the transitions P2◦ i.e.v 2 < V 4 + V 5 . Therefore, there is an actual conflict between transitions T 4<strong>and</strong> T 5 .A geometrical <strong>in</strong>terpretation <strong>of</strong> the conflict resolution is given <strong>in</strong> Fig. 3.2.Fig. 3.1: Cont<strong>in</strong>uous Petri net example with actual conflict


22 Chapter 3 General Light Controlled Intersection ModelThe axes show the speeds <strong>of</strong> transitions T 4 <strong>and</strong> T 5 . A gray polygon boundsthe area where the possible speed v 4 <strong>and</strong> v 5 can be placed. This polygonis bounded by v 1 , v 2 <strong>and</strong> v 3 from one side <strong>and</strong> by the axes from the otherside. All comb<strong>in</strong>ations <strong>of</strong> the speeds v 4 <strong>and</strong> v 5 which are <strong>in</strong> proportion to themaximal speed V 4 <strong>and</strong> V 5 are located on the l<strong>in</strong>e λ. Po<strong>in</strong>t A, <strong>in</strong> Fig. 3.2(a),is where v 4 <strong>and</strong> v 5 are at a maximum <strong>and</strong> are located on l<strong>in</strong>e λ. The conflictresolution is given by this po<strong>in</strong>t A <strong>and</strong> the speed transitions for T 4 <strong>and</strong> T 5are v 4 = 30 <strong>and</strong> v 5 = 10, respectively.Let us consider the modification <strong>of</strong> speed v 1 from v 1 = 35 to v 1 = 25(see Fig. 3.2(b)). This situation corresponds to po<strong>in</strong>t B where v 4 <strong>and</strong> v 5 areat a maximum <strong>and</strong> are located closest to l<strong>in</strong>e λ. The conflict resolution isgiven by this po<strong>in</strong>t <strong>and</strong> the speed <strong>of</strong> the transitions T 4 <strong>and</strong> T 5 is v 4 = 25<strong>and</strong> v 5 = 15, respectively. Note that the speed is not <strong>in</strong> proportion to themaximal speed V 4 <strong>and</strong> V 5 , but it is the maximum fir<strong>in</strong>g speed comb<strong>in</strong>ation.Let us assume v 1 to be equal to 15 (see Fig. 3.2(c)). This situationcorresponds to po<strong>in</strong>t C where v 4 <strong>and</strong> v 5 are at a maximum <strong>and</strong> are locatedclosest to l<strong>in</strong>e λ. The conflict resolution is given by this po<strong>in</strong>t <strong>and</strong> the speed<strong>of</strong> the transitions T 4 <strong>and</strong> T 5 is v 4 = 15 <strong>and</strong> v 5 = 18, respectively. Note thatthere is no actual conflict <strong>in</strong> this case.We can generalize that the conflict resolution corresponds to the po<strong>in</strong>tlocated on the l<strong>in</strong>e segment DE closest to l<strong>in</strong>e λ. In the special case whenpo<strong>in</strong>t D is equal to E i.e. |DE| = 0 the transition speed is placed to thispo<strong>in</strong>t, see Fig. 3.2(c) for po<strong>in</strong>t C.This geometrical <strong>in</strong>terpretaion <strong>of</strong> speed comput<strong>in</strong>g can be formulated asfollow: consider place P i <strong>and</strong> the set <strong>of</strong> transitions Pi◦ hav<strong>in</strong>g a conflict.The set <strong>of</strong> transitions Pi◦ <strong>in</strong>dexes is denoted as C i . Variable vi s (t) denotesthe sum <strong>of</strong> the speeds supply<strong>in</strong>g the place P i at time t. For each transitionT j where j ∈ C i <strong>in</strong>itialize maximum permissible transition speed vjmax (t) asa m<strong>in</strong>imum from the maximal speed V j <strong>and</strong> separately sum the speed <strong>of</strong>transitions which supplied the place from ◦ T j with zero mark<strong>in</strong>g. Set thetransition speed v j (t) = 0 <strong>and</strong> modify it by the iterative Algorithm 3.1.3.2.2 L<strong>in</strong>ear Programm<strong>in</strong>g for Conflict ResolutionThis subsection shows how l<strong>in</strong>ear programm<strong>in</strong>g (LP) can be used for conflictresolution computation. At first, we will use the example <strong>in</strong> Fig. 3.1 to showhow a conflict resolution can be solved by l<strong>in</strong>ear programm<strong>in</strong>g at time t. In


3.2 Cont<strong>in</strong>uous Petri Net 23v 5V 5vD¸15A105Ev 2V040 10 20 30 v 1 40 50 v 4(a) Proportional resolutionv 5V 5v D3B´E ¸15105v 2V040 10 20 v 1 30 40 50 v 4(b) Resolution close to proportionv 5v 3(c) Resolution close to proportion without the transition T 2 effectV 5C´ D´E¸15105v 2V040 10 v 1 20 30 40 50 v 4Fig. 3.2: Geometrical <strong>in</strong>terpretation <strong>of</strong> the conflict resolution


24 Chapter 3 General Light Controlled Intersection ModelAlgorithm 3.1 Transition speed comput<strong>in</strong>gwhile v s i (t) > 0 <strong>and</strong> C i is not empty doC ′ i = C ifor all j such that j ∈ C ′ i dov ′ j (t) = m<strong>in</strong> (v maxj (t) − v j (t), v s i (t) V j ∑k∈C ′ i V kv j (t) = v j (t) + v j ′ (t)if v j (t) = vjmax (t) thenC i = C i \ jend ifend forvi s(t) = vs i (t) − ∑ j∈C i ′ v′ j (t)end while)this example, we are look<strong>in</strong>g for the speed <strong>of</strong> T 4 <strong>and</strong> T 5 with the maximalspeed proportion condition. The LP problem us<strong>in</strong>g the variables def<strong>in</strong>edabove is:(max v 4 (t) + v 5 (t) − ɛ∣ v 5(t) − v 4 (t) V ∣)5 ∣∣∣, (3.1)V 4subject to:v 4 (t) ≥ 0,v 5 (t) ≥ 0,v 4 (t) ≤ V 4 ,v 5 (t) ≤ V 5 ,v 4 (t) ≤ v 1 (t),v 5 (t) ≤ v 3 (t),v 4 (t) + v 5 (t) ≤ v 2 (t),(3.2)where ɛ is a small constant for which 0 < ɛ < m<strong>in</strong>(1, V 4V 5) holds. The fractionV 5V 4is the slope <strong>of</strong> l<strong>in</strong>e λ <strong>in</strong> Fig. 3.2.The objective function (3.1) can be rewritten with the use <strong>of</strong> a new variable.This variable z 45 replaces the absolute value, which <strong>in</strong>cludes the v 4 <strong>and</strong>v 5 variables as follows:max (v 4 (t) + v 5 (t) − ɛz 45 ) , (3.3)


3.3 Light Controlled Intersection Model 25on the assumption that we add two new constra<strong>in</strong>ts:v 5 (t) − v 4 (t) V 5V 4≤ z 45 ,v 5 (t) − v 4 (t) V 5V 4≥ −z 45 .(3.4)This LP problem gives us a solution <strong>in</strong> conformity <strong>of</strong> Fig. 3.2.Moreover, if there is a conflict among more transitions T j where j ∈ C ithen it can be formulated as an LP problem as follows:⎛⎞∑max ⎜⎝ v j (t) − ɛ ∑z kl⎟⎠ , (3.5)j∈C isubject to:k,l∈C ik


26 Chapter 3 General Light Controlled Intersection Model4st1 phase13nd2 phase142 234rd3 phase13(a) Phases direction24th4 phase132streetst1 phasend2 phaserd3 phaseth4 phase12340 40 50 70 100(b) Phases tim<strong>in</strong>gt [s]Fig. 3.3: Intersection descriptioni.e. a constant cycle time C <strong>in</strong> seconds. The next parameter is the distributionrate. The distribution rate α s→d <strong>in</strong>dicates the proportion <strong>of</strong> the vehicleswhich are cross<strong>in</strong>g the <strong>in</strong>tersection from the source street s to the dest<strong>in</strong>ationstreet d, where the variables s <strong>and</strong> d denote the <strong>in</strong>dexes <strong>of</strong> the street numbers.The sum <strong>of</strong> the distribution rates for each <strong>in</strong>put street must be equal toone. For each distribution rate, we consider the real vehicle speed w s→d <strong>in</strong>kilometers per hour. Further more, t s→d denotes the duration how long thevehicles flow with the considered distribution rate.The <strong>in</strong>tersection under consideration <strong>in</strong>cludes four control phases. Thesource <strong>and</strong> dest<strong>in</strong>ation streets are marked <strong>in</strong> Fig. 3.3(a). The duration <strong>of</strong> thevehicle flow through the <strong>in</strong>tersection from a street can be found <strong>in</strong> Fig. 3.3(b).For this <strong>in</strong>tersection, the cycle time C is assumed to be 100 s. The summary<strong>of</strong> all the parameters under consideration is presented <strong>in</strong> the left part <strong>of</strong>Table 3.1.We can see that some <strong>of</strong> the source-dest<strong>in</strong>ation pairs are there twicediffer<strong>in</strong>g <strong>in</strong> duration t s→d . This difference is given by a give way rule <strong>in</strong>addition to the light control. For example, see Fig 3.3(a) where, dur<strong>in</strong>g the3 rd phase the flow from street 2 gives way to the flow from the street 4. Ifthere is a flow from street 4 then the duration is equal to 30 s, otherwise it is


3.3 Light Controlled Intersection Model 27Table 3.1: Intersection parameterss d α s→d w s→d t s→d d s→d V s→d V s→[m·s −1 ] [s] [s/uv] [uv/s] [uv/s]1 2 0.2 8.3 50 0.60 0.831 3 0.8 13.9 50 0.36 1.391.231 2 0.2 8.3 10 0.60 0.171 3 0.8 13.9 10 0.36 0.280.252 3 1 8.3 50 0.60 0.83 0.832 3 1 8.3 30 0.60 0.50 0.503 2 1 5.6 40 0.90 0.44 0.444 2 0.4 13.9 20 0.36 0.564 3 0.6 5.6 20 0.90 0.220.29equal to 50 s.From these <strong>in</strong>tersection parameters, we can compute the parameters necessaryfor the cont<strong>in</strong>uous Petri net. The first one is the delay d s→d , whichdenotes the time for which one vehicle flows throw the <strong>in</strong>tersection <strong>in</strong> secondsper unit vehicle:d s→d =l uv. (3.7)w s→dWhere the constant l uv is the length <strong>of</strong> the unit vehicle <strong>in</strong>clud<strong>in</strong>g the distancebetween the vehicles <strong>in</strong> meters. In this paper, we will consider l uv to be equalto 5 m. The second parameter is the maximum average speed V s→d over theperiod T <strong>in</strong> unit vehicles per second:V s→d = w s→dt s→dl uv C . (3.8)The speeds with a common source can be comb<strong>in</strong>ed with respect to thedistribution rate to one common speed as follows:∑ddα s→dV s→ = ∑ α s→d. (3.9)V s→dThe summary <strong>of</strong> all these parameters is presented <strong>in</strong> the right part <strong>of</strong> Table3.1.


28 Chapter 3 General Light Controlled Intersection Model3.3.1 Cont<strong>in</strong>uous Petri Net Intersection ModelThe cont<strong>in</strong>uous Petri net <strong>in</strong>tersection model described <strong>in</strong> Fig. 3.3 is shown <strong>in</strong>Fig. 3.4. The net is divided to six parts. First, part A <strong>in</strong>cludes eight places,which are used as an <strong>in</strong>terface for the <strong>in</strong>puts <strong>in</strong>to the <strong>in</strong>tersection from thestreets. For each street, there are two places, the first one for vehicles wait<strong>in</strong>g<strong>in</strong> the queue before the <strong>in</strong>tersection (P 101 , P 102 , P 103 , P 104 ), the second onefor the free space <strong>in</strong> the street (P 151 , P 152 , P 153 , P 154 ). The free space denotesthe tokens which represent the available space for the vehicles, which can flow<strong>in</strong>to the street. The free space modell<strong>in</strong>g together with the opposite direction<strong>of</strong> vehicular flow is an <strong>in</strong>novative approach to this model. The distributionrate through the <strong>in</strong>tersection is shown <strong>in</strong> parts B, C, D <strong>and</strong> E, each one forone <strong>in</strong>put street. These parts <strong>of</strong> the network are very similar, thus only partC will be described. The transition T 40 consumes vehicles from street 4 <strong>and</strong>the free space is returned back to the place P 154 . Vehicles are divided up<strong>in</strong>to distribution rate acceptance, to the places P 40 <strong>and</strong> P 43 . The weights <strong>of</strong>the arcs are equal to the distribution rate α 4→2 <strong>and</strong> α 4→3 . From places P 40<strong>and</strong> P 43 , the vehicles flow through the transitions T 42 <strong>and</strong> T 44 to the outputstreets represented by places P 202 <strong>and</strong> P 203 , respectively. The free space fromthe output streets close the loop l 1 (l 2 ) <strong>and</strong> flow to the place P 154 throughtransition T 40 . The speed <strong>of</strong> all the transitions <strong>in</strong> the loop is the same. It isbounded by maximal speed which is taken from Table 3.1, i.e. for example,the maximal speed V 42 <strong>and</strong> V 43 are equal to V 4→2 .Transitions T 12 , T 17 , T 32 , T 42 <strong>and</strong> T 14 , T 19 , T 20 , T 21 , T 44 , respectivelyare <strong>in</strong> conflict (places P 252 <strong>and</strong> P 253 ). This conflict is solved by the abovedescribed (see Subsection 3.2.1) conflict resolution method based on maximalspeed proportion. This method guarantees the same free space distributionas <strong>in</strong> a real traffic <strong>in</strong>tersection.Parts D <strong>and</strong> E <strong>in</strong>clude two parallel similar sub networks. Input transitionsto those sub networks T 10 , T 15 <strong>and</strong> T 20 , T 21 , respectively, are <strong>in</strong> conflict (placesP 101 <strong>and</strong> P 102 ). This conflict is structural but not effective, because only one<strong>of</strong> them may be fired at the same moment. It is given by the arcs <strong>and</strong> the<strong>in</strong>hibitor arcs between places P 103 <strong>and</strong> P 104 respectively <strong>and</strong> the mentionedtransitions.See Fig. 3.3(a) there is no flow <strong>in</strong>to street 2 dur<strong>in</strong>g the 4 th phase. Dur<strong>in</strong>gthis time the free space is accumulated <strong>in</strong> place P 252 . Thirty percent (split <strong>of</strong>the 4 th phase <strong>in</strong> the cycle time C) <strong>of</strong> the free space is saved to the temporary


3.3 Light Controlled Intersection Model 29A0P1030P153P104P154P101P151P102street 3 00 street 4 00 street 1 0street 2T30T40T10T15BV30 = 0.44CV40 = 0.29DV10 = 1.23V15 = 0.25EP32T33V33 = 0.4400P30P42T43V43 = 0.5600.40.4 0.60P430.8l1 l200+P12T13V13 = 0.830P100.20.2 0.80P130.80P140+P17T18V18 = 0.170P150.20.2 0.80P180.80P190+V20 = 0.83T20P31T32V32 = 0.440+T31V31 = ∞π31 = 3P410+P40P44T41T42V41 = ∞ T44V42 = 0.56 π41 = 1 V44 = 0.22P110+T11T12V11 = ∞ T14V12 = 0.83 π11 = 2 V14 = 1.39P160+T16T17V16 = ∞ T19V17 = 0.17 π16 = 2 V19 = 0.28Fstreet 2 00 000 street 3P202T52V52 = ∞P3520.31P252P203P253T4Fig. 3.4: Light controled <strong>in</strong>tersection cont<strong>in</strong>uous Petri net modelP1520T21V21 = 0.5


30 Chapter 3 General Light Controlled Intersection Modelplace P 352 , by the arc from T 4 to P 352 with weight equal to 0.3. Transition T 4is a part <strong>of</strong> the street model. This free space must be utilized dur<strong>in</strong>g the nexttraffic phase. The order <strong>of</strong> the phases is given (see Fig. 3.3(a)) <strong>and</strong> togetherwith the give way rule it designates the priority (π i ) for transitions T 11 , T 16 ,T 31 , T 41 . Those transitions consume mark<strong>in</strong>g from places P 352 <strong>and</strong> P 252 <strong>and</strong>the conflict is solved by the priority.3.4 Performance EvaluationIn this section the performance evaluation <strong>of</strong> the previously described <strong>in</strong>tersectionmodel simulation is shown. Prague <strong>in</strong>tersection <strong>of</strong> “V Botanice”<strong>and</strong> “Zborovská” streets (GPS location: 50 ◦ 4 ′ 31.484 ′′ N, 14 ◦ 24 ′ 27.36 ′′ E) isused as a real system for the simulation. The street “V Botanice” <strong>in</strong>cludesthree traffic lanes <strong>and</strong> the street “Zborovská” <strong>in</strong>cludes two traffic lanes. The<strong>in</strong>tersection scheme <strong>and</strong> control phases are shown <strong>in</strong> Fig. 3.5.The real data for the performance evaluation <strong>of</strong> the simulation is measuredby the <strong>in</strong>ductive loop detectors. Inductive loop detectors monitor the traffic1 21 2 1 210 3 10 3 1098459845987 67 67 6st1 phasend2 phase(a) Phases directionrd3 phase345lanest1 phasend2 phaserd3 phase1,23,4,53,40 20 24 71 76 80 t [s](b) Phases tim<strong>in</strong>gFig. 3.5: Prague <strong>in</strong>tersection diagram


3.4 Performance Evaluation 31-1V[uv s ]0.30.2lane 1detector dataapproximation0.100 1 2 3 4 5 6 7 x10 4t [s]-1V[uv s ]0.30.2lane 4detector dataapproximation0.100 1 2 3 4 5 6 7 x10 4Fig. 3.6: Real data output from the <strong>in</strong>ductive loop detectorst [s]conditions on the road for each lane separately 1 . Data from the detectorsis produced as time-averaged over a 90 s long period. See Fig. 3.6 for anexample <strong>of</strong> the data from the detectors <strong>in</strong> unit vehicles per second dur<strong>in</strong>ga one day period for lane numbers 1 <strong>and</strong> 4 (other lane detectors produce asimilar output). This data from the detectors was subsequently processed bya step-wise filter. The step-wise filter is based on smooth<strong>in</strong>g <strong>and</strong> produces aconstant level <strong>of</strong> the output data dur<strong>in</strong>g the variable time <strong>in</strong>terval (see the“approximation” l<strong>in</strong>e <strong>in</strong> Fig. 3.6). Data from this filter is used as the <strong>in</strong>putfor the simulation dur<strong>in</strong>g one day.The <strong>in</strong>tersection model uses the same pr<strong>in</strong>ciple described <strong>in</strong> Section 3.3.The parameters are summarized <strong>in</strong> Table 3.2. The places which are <strong>in</strong>tendedfor vehicles wait<strong>in</strong>g <strong>in</strong> the queue before the <strong>in</strong>tersection (see to part A <strong>in</strong>Fig. 3.4) are connected by the arc from the new source transitions. Eachsource transition is connected to just one place. The maximal speed <strong>of</strong> thesource transition is set to the value given by the approximation for the cor-1 The detectors distance from the <strong>in</strong>tersection is 35 m for the <strong>in</strong>put lanes <strong>and</strong> 50 m forthe output lanes. This is a sufficient distance to m<strong>in</strong>imize the effect <strong>of</strong> the <strong>in</strong>tersectioncontrol to cont<strong>in</strong>uity flow.


32 Chapter 3 General Light Controlled Intersection ModelTable 3.2: Intersection parameterss d α s→d w s→d t s→d d s→d V s→d V s→[m·s −1 ] [s] [s/uv] [uv/s] [uv/s]1 10 0.21 7.2 20 0.69 0.361 7 0.79 13.9 20 0.36 0.690.582 6 1.0 13.9 20 0.36 0.69 0.693 9 1.0 13.9 52 0.36 1.81 1.814 8 0.77 13.9 52 0.36 1.814 7 0.23 7.8 47 0.64 0.911.815 6 1 7.8 47 0.64 0.91 0.91respondent lane. Thus, the <strong>in</strong>tersection places are supplied by the speedwhich is equivalent to the real data measured <strong>in</strong> the streets. Note that thedata from the step-wise filter is not constant dur<strong>in</strong>g the whole simulationtime. From this po<strong>in</strong>t <strong>of</strong> view, the simulation time must be split <strong>in</strong>to severalshorter <strong>in</strong>tervals dur<strong>in</strong>g which the data is constant. These <strong>in</strong>tervals are simulatedseparately <strong>and</strong> the simulation result <strong>of</strong> the first <strong>in</strong>terval is used as an<strong>in</strong>itial condition for the second <strong>in</strong>terval <strong>and</strong> so on for the whole simulationtime.The result <strong>of</strong> the simulation is shown <strong>in</strong> Fig. 3.7. There are two representativeoutputs from lanes 7 <strong>and</strong> 8 <strong>in</strong> the unit vehicles per second. Thesimulation results for the other lanes are similar, hence they are not shown.Fig. 3.7(a) shows the real data from the detector (th<strong>in</strong> l<strong>in</strong>e) versus the result<strong>of</strong> the CCPN model simulation (thick l<strong>in</strong>e). Fig. 3.7(b) shows the result<strong>of</strong> the CCPN model simulation versus the result <strong>of</strong> the discrete PN model(th<strong>in</strong> l<strong>in</strong>e). The simulation based on the discrete PN uses the same real datawhich is used for preprocess<strong>in</strong>g by the step-wise filter described above. Theparameters <strong>of</strong> both cont<strong>in</strong>uous Petri net models are the same. The delaytime for the discrete PN model is taken from the column d s→d <strong>of</strong> Table 3.2.The figures show that the simulation model corresponds to the real system.The quality <strong>of</strong> the simulation can be analyzed from Fig. 3.7(c), where thesum <strong>of</strong> all the vehicles <strong>in</strong> lane 7 dur<strong>in</strong>g the simulation time is shown. Wecan see that the number <strong>of</strong> vehicles which flow through the <strong>in</strong>tersection issimilar for both models. The model based on the CCPN computes its statecont<strong>in</strong>uously <strong>in</strong> contrast to the discrete PN model where each vehicle <strong>in</strong> the


3.4 Performance Evaluation 33-1V [uv s ]0.30.2lane 7detector dataCCPN simulation result0.100 1 2 3 4 5 6 7 x10 4t [s]-1V [uv s ]0.30.2lane 8detector dataCCPN simulation result0.100 1 2 3 4 5 6 7 x10 4(a) Real data from detector <strong>and</strong> the CCPN simulationt [s]-1V [uv s ]0.30.2lane 7CCPN simulation resultPN simualtion result0.1-1V [uv s ]00 1 2 3 4 5 6 7 x10 4t [s]00 1 2 3 4 5 6 7 x10 4 t [s]0.3lane 8CCPN simulation result0.2PN simualtion result0.1(b) Data from the CCPN simulation <strong>and</strong> the discrete PN simulation§ [uv]10000detaillane 7CCPN simulation resultPN simualtion result500000 1 2 3 4 5 6 7 x10 4(c) Sum <strong>of</strong> all the vehicles dur<strong>in</strong>g the simulation timet [s]Fig. 3.7: Prague <strong>in</strong>tersection simulation results


34 Chapter 3 General Light Controlled Intersection Model<strong>in</strong>tersection <strong>in</strong>itiates the state update, implies the computation performance.The total real simulation time for the model based on the discrete PN is4927 s <strong>and</strong> the model uses 149523 states from the state space. On the otherside, the total real simulation time for the model based on the CCPN is 2 s<strong>and</strong> model uses 34 states. We used st<strong>and</strong>ard PC (Intel Core2 CPU T7200@2.00 GHz, 4GB RAM) for the simulations.3.5 SummaryIn the chapter, a new method for conflict resolution <strong>in</strong> CCPN has been presented.The conflict resolution method is based on the maximal speed proportion.Next, the iterative algorithm for this problem <strong>and</strong> its solution byLP was shown. LP gives us an effective method to solve complex cont<strong>in</strong>uousPetri net models.Furthermore, the described method for conflict resolution was used <strong>in</strong> alight controlled <strong>in</strong>tersection model based on CCPN. The model describes thetraffic flow from the macroscopic po<strong>in</strong>t <strong>of</strong> view. This model is <strong>in</strong>novative,firstly, by the free space model<strong>in</strong>g together with the opposite direction <strong>of</strong>the vehicular flow. Secondly, by the constant speed cont<strong>in</strong>uous Petri net useonly, i.e. without a discrete part for <strong>in</strong>tersection control. The performanceevaluation shows that the real time <strong>of</strong> the simulation is much better than foran equivalent model based on the discrete PN. The accuracy <strong>of</strong> the simulationresults was successfuly compared with real data from traffic <strong>in</strong> Prague.


Chapter 4TORSCHE Schedul<strong>in</strong>gToolbox for MatlabThis chapter presents a Matlab based Schedul<strong>in</strong>g toolbox TORSCHE (Time<strong>Optimization</strong> <strong>of</strong> Resources, SCHEdul<strong>in</strong>g) <strong>in</strong>tended ma<strong>in</strong>ly as an open sourceresearch tool to h<strong>and</strong>le with optimization <strong>and</strong> schedul<strong>in</strong>g problems. Thetoolbox <strong>of</strong>fers a collection <strong>of</strong> data structures that allow the user to formalizevarious schedul<strong>in</strong>g problems. The toolbox algorithms can utilize <strong>in</strong>terfacesfor Integer L<strong>in</strong>ear Programm<strong>in</strong>g or the satisfiability <strong>of</strong> boolean expressionproblem solvers. With respect to the close relationship between the schedul<strong>in</strong>g<strong>and</strong> graph theory, the toolbox provides graph algorithms with uniform<strong>in</strong>terface.4.1 IntroductionTORSCHE (Time <strong>Optimization</strong> <strong>of</strong> Resources, SCHEdul<strong>in</strong>g) Schedul<strong>in</strong>g Toolboxfor Matlab is a freely (GNU GPL) available toolbox developed at the<strong>Czech</strong> Technical University <strong>in</strong> Prague. The toolbox is designed for researches<strong>in</strong> operational research or <strong>in</strong>dustrial eng<strong>in</strong>eer<strong>in</strong>g <strong>and</strong> for undergraduatecourses. The current version <strong>of</strong> the toolbox covers the follow<strong>in</strong>g areas:schedul<strong>in</strong>g on monoprocessor/dedicated processors/parallel processors, openshop/flow shop/job shop schedul<strong>in</strong>g, cyclic schedul<strong>in</strong>g <strong>and</strong> real-time schedul<strong>in</strong>g.Furthermore, particular attention is dedicated to graphs <strong>and</strong> graph algorithmsdue to their large <strong>in</strong>terconnection with the schedul<strong>in</strong>g theory. The35


36 Chapter 4 TORSCHE Schedul<strong>in</strong>g Toolbox for Matlabtoolbox <strong>of</strong>fers a transparent representation <strong>of</strong> the schedul<strong>in</strong>g/graph problems,various schedul<strong>in</strong>g/graph algorithms, a useful graphical editor <strong>of</strong> graphs, <strong>in</strong>terfacesfor mathematical solvers (Integer L<strong>in</strong>ear Programm<strong>in</strong>g, satisfiability<strong>of</strong> the boolean expression) <strong>and</strong> an <strong>in</strong>terface to a MATLAB/Simul<strong>in</strong>kbased simulator <strong>and</strong> a visualization tool. The schedul<strong>in</strong>g problems <strong>and</strong>algorithms are categorized by notation (α|β|γ) proposed by Graham <strong>and</strong>B̷lażewicz [Blaz 83]. This notation, widely used <strong>in</strong> the schedul<strong>in</strong>g community,greatly facilitates the presentation <strong>and</strong> discussion <strong>of</strong> schedul<strong>in</strong>g problems.The toolbox is supplemented by several examples <strong>of</strong> real applications,e.g. the schedul<strong>in</strong>g <strong>of</strong> Digital Signal Process<strong>in</strong>g (DSP) algorithms on ahardware architecture with pipel<strong>in</strong>ed arithmetic units, schedul<strong>in</strong>g the movements<strong>of</strong> hoists <strong>in</strong> a manufactur<strong>in</strong>g environment, schedul<strong>in</strong>g <strong>of</strong> light controlled<strong>in</strong>tersections <strong>in</strong> urban traffic <strong>and</strong> response-time analysis <strong>in</strong> real-timesystems. The toolbox is equipped with sets <strong>of</strong> benchmarks from the researchcommunity (e.g. DSP algorithms, the Quadratic Assignment Problem).TORSCHE is an open source tool available at (http://rtime.felk.cvut.cz/schedul<strong>in</strong>g-toolbox/)In the <strong>of</strong>f-l<strong>in</strong>e schedul<strong>in</strong>g area, some tools for the development <strong>of</strong> schedul<strong>in</strong>galgorithms already exist. The term <strong>of</strong>f-l<strong>in</strong>e schedul<strong>in</strong>g means all parameters<strong>of</strong> the schedul<strong>in</strong>g problem are known a priori [P<strong>in</strong>e 08]. A schedul<strong>in</strong>gsystem developed at the Stern School <strong>of</strong> Bus<strong>in</strong>ess is called LEKIN [P<strong>in</strong>e 02].It was created as an educational tool <strong>and</strong> it provides six basic workspace environments:s<strong>in</strong>gle mach<strong>in</strong>e, parallel mach<strong>in</strong>es, flow shop, flexible flow shop,job shop, <strong>and</strong> flexible job shop. Another tool is LiSA [Andr 03]. It is as<strong>of</strong>tware-package for enter<strong>in</strong>g, edit<strong>in</strong>g <strong>and</strong> solv<strong>in</strong>g <strong>of</strong>f-l<strong>in</strong>e schedul<strong>in</strong>g problemswhile the ma<strong>in</strong> focus is on shop-schedul<strong>in</strong>g <strong>and</strong> one-mach<strong>in</strong>e problems.The graphical user <strong>in</strong>terface is written <strong>in</strong> Tcl/Tk for mach<strong>in</strong>e <strong>and</strong> operat<strong>in</strong>gsystem <strong>in</strong>dependence. All algorithms are implemented externally whilethe parameters are passed through files. The commercial tool ILOG Schedulerfrom the s<strong>of</strong>tware package ILOG CP Optimizer [ILOG 09] is based onconstra<strong>in</strong>ts programm<strong>in</strong>g. It provides extensions for schedul<strong>in</strong>g problems <strong>in</strong>manufactur<strong>in</strong>g, transportation <strong>and</strong> workforce schedul<strong>in</strong>g.There are more tools for on-l<strong>in</strong>e schedul<strong>in</strong>g, where on-l<strong>in</strong>e means theparameters <strong>of</strong> the tasks become known on the task arrival/occur. Oneexample is the MAST tool [Gonz 08] built to ma<strong>in</strong>ly support the tim<strong>in</strong>ganalysis <strong>of</strong> real-time applications. Close to the on-l<strong>in</strong>e schedul<strong>in</strong>g tools


4.2 Tool Architecture <strong>and</strong> Basic Notation 37are tools for real-time schedul<strong>in</strong>g. For example TrueTime [Ande 05] is aMatlab/Simul<strong>in</strong>k-based simulator for real-time control systems. TrueTimefacilitates co-simulation <strong>of</strong> controller task execution <strong>in</strong> real-time kernels, networktransmissions, <strong>and</strong> cont<strong>in</strong>uous plant dynamics.4.2 Tool Architecture <strong>and</strong> Basic NotationTORSCHE Schedul<strong>in</strong>g Toolbox is written <strong>in</strong> Matlab object oriented programm<strong>in</strong>glanguage (backward compatible with Matlab environment version2007) <strong>and</strong> it is used <strong>in</strong> the Matlab environment as a toolbox. The toolbox<strong>in</strong>cludes two complementary parts. The first one is <strong>in</strong>tended for solv<strong>in</strong>g problemsfrom the schedul<strong>in</strong>g theory. Problems from this area or their parts can,very <strong>of</strong>ten, be reformulated to another problem which can be directly solvedby a graph algorithm. For this purpose the second part <strong>of</strong> the toolbox isdedicated to the graph theory algorithms.4.2.1 Schedul<strong>in</strong>g PartThe ma<strong>in</strong> classes <strong>of</strong> schedul<strong>in</strong>g part are Task, PTask, Taskset <strong>and</strong> Problem.The UML class diagram with relationships <strong>in</strong> it is shown <strong>in</strong> Fig. 4.1. A taskrepresented by the class <strong>of</strong> the same name is a unit <strong>of</strong> work to be scheduledon the given set <strong>of</strong> processors. The class <strong>in</strong>cludes task parameters as process<strong>in</strong>gtime, release date, deadl<strong>in</strong>e, etc. The <strong>in</strong>stance <strong>of</strong> the class (variableT1 depicted below) is returned by the constructor method with the follow<strong>in</strong>gsyntax rule:T1 = task([Name,]ProcTime[,ReleaseTime[,Deadl<strong>in</strong>e ...[,DueDate[,Weight[,Processor]]]]])Input variables correspond to the public class properties. Variables conta<strong>in</strong>ed<strong>in</strong>side the square brackets are optional. The class Task provides the follow<strong>in</strong>gproperties (also graphically depicted <strong>in</strong> Fig. 4.2):Process<strong>in</strong>g time (ProcTime, p j ) is time necessary for task execution (alsocalled computation time).


38 Chapter 4 TORSCHE Schedul<strong>in</strong>g Toolbox for MatlabProblemnotation: charmach<strong>in</strong>es_type: charmach<strong>in</strong>es_quantity: doublebetha: structcriterion: charproblem()is()SchedobjNotes: charversion: doubleGrParam: structschedobj()get()set()get_graphic_param()set_graphic_param()Public methodPrivate methodTaskName: charProcTime: doubleReleaseTime: doubleDeadl<strong>in</strong>e: doubleDueDate: doubleWeight: doubleProcessor: doubleUserParam: varschStart: doubleschLength: doubleschProcessor: doubleALAP: doubleASAP: doubletask()plot()get_scht()add_scht()task2node(): NodeSchedul<strong>in</strong>g PartTasksetTasks: TaskPrec: doubleScheduleDesc: charTSUserParam: vartaskset()get_schedule()add_schedule()PTaskPeriod: doubleschPeriod: doubleptask()util()NodeName: CharUserParam: varGraphicParam: structTextParam: structnode()node2task()EdgeName: CharUserParam: varPosition: structL<strong>in</strong>eStyle: charL<strong>in</strong>eWidth: doubleArrow: structTextParam: structUndirected: doubleedge()GraphName: CharN: NodeE: EdgeUserParam: charDataTypes: structEps: doublegraph()addedge()adj()between()<strong>in</strong>c()removeedge()removenode()subgraph()...Graph PartFig. 4.1: TORSCHE architecture by the UML Class DiagramRelease date (ReleaseTime, r j ) is the moment at which a task becomesready for execution (also called the arrival time, ready time, requesttime).Deadl<strong>in</strong>e (Deadl<strong>in</strong>e, ˜d j ) specifies a time limit by which the task has to becompleted, otherwise the schedul<strong>in</strong>g is assumed to fail.Due date (Duedate, d j ) specifies a time limit by which the task should becompleted, otherwise the criterion function is charged by a penalty.Weight (Weight) expresses the priority <strong>of</strong> the task with respect to othertasks (also called the priority).Processor (Processor) specifies the dedicated processors on which thetask must be executed.


4.2 Tool Architecture <strong>and</strong> Basic Notation 39p jL j+ -taskDTjj0 r js jc jd jd jtFig. 4.2: Graphics representation <strong>of</strong> task parametersThe result<strong>in</strong>g schedule is represented by the follow<strong>in</strong>g properties:Start time (schStart, s j ) is the time when the execution <strong>of</strong> the task isstarted.(c j ) is the time when the execution <strong>of</strong> the task is f<strong>in</strong>-Completion timeished.Lateness L j = c j − d j .Tard<strong>in</strong>ess D j = max{c j − d j , 0}.The private properties are ma<strong>in</strong>ly <strong>in</strong>tended for the f<strong>in</strong>al task schedulerepresentation, which are set-up <strong>in</strong>side the schedul<strong>in</strong>g algorithms (e.g. bymethod add_scht). The values from the private properties are used, forexample, by the method plot for the Gantt chart draw<strong>in</strong>g.Class PTask (see Fig. 4.1) is a derived class from the Task class <strong>in</strong> order torepresent a periodic task <strong>in</strong> the on-l<strong>in</strong>e schedul<strong>in</strong>g problems (e.g. <strong>in</strong> responsetimeanalysis). This class extends the Task class with support to store, plot<strong>and</strong> analyze the utilization methods.The <strong>in</strong>stances <strong>of</strong> the classes Task <strong>and</strong> PTask can be aggregated <strong>in</strong>to aset <strong>of</strong> tasks. A set <strong>of</strong> tasks is represented by the class Taskset which can beobta<strong>in</strong>ed as the return value <strong>of</strong> the constructor taskset, for example:TS = taskset(tasks[,prec])where the variable tasks is an array <strong>of</strong> <strong>in</strong>stances <strong>of</strong> the Task class. Furthermore,the relations between the tasks can be def<strong>in</strong>ed by precedence constra<strong>in</strong>ts<strong>in</strong> the optional parameter prec. The parameter prec is an adjacencymatrix def<strong>in</strong><strong>in</strong>g a graph where the nodes correspond to the tasks <strong>and</strong> the


40 Chapter 4 TORSCHE Schedul<strong>in</strong>g Toolbox for Matlabedges are precedence constra<strong>in</strong>ts between these tasks. For simple schedul<strong>in</strong>gproblems, the object Taskset can be directly created from a vector <strong>of</strong>the tasks process<strong>in</strong>g times. In this case, the tasks are created automatically<strong>in</strong>side the object constructor. There are also other ways how to create an<strong>in</strong>stance <strong>of</strong> the set <strong>of</strong> tasks <strong>in</strong> order to simplify the user <strong>in</strong>terface as much aspossible.Another class, Problem, is used for the classification <strong>of</strong> determ<strong>in</strong>isticschedul<strong>in</strong>g problems <strong>in</strong> Graham <strong>and</strong> B̷lażewicz notation [Blaz 83]. This notationconsists <strong>of</strong> three parts (α|β|γ). The first part describes the processorenvironment (e.g. number <strong>and</strong> type <strong>of</strong> processors), the second part describesthe task characteristics <strong>of</strong> the schedul<strong>in</strong>g problem (e.g. precedence constra<strong>in</strong>s,release time). The last part denotes the optimality criterion (e.g. schedulemakespan m<strong>in</strong>imization). The follow<strong>in</strong>g example shows the notation str<strong>in</strong>gused as an <strong>in</strong>put to the class constructor:prob = problem(’P|prec|Cmax’)This <strong>in</strong>stance <strong>of</strong> the class Problem represents the schedul<strong>in</strong>g problem onparallel identical processors where the tasks have precedence constra<strong>in</strong>ts <strong>and</strong>the objective is to m<strong>in</strong>imize the schedule makespan.All <strong>of</strong> the above mentioned classes are designed to be maximally effectivefor users <strong>and</strong> developers <strong>of</strong> schedul<strong>in</strong>g algorithms. The toolbox <strong>in</strong>cludesdozens <strong>of</strong> schedul<strong>in</strong>g algorithmsschedul<strong>in</strong>g algorithm which are stored as Matlabfunctions with at least two <strong>in</strong>put parameters <strong>and</strong> at least one outputparameter. The first <strong>in</strong>put parameter has to be an <strong>in</strong>stance <strong>of</strong> the Tasksetclass conta<strong>in</strong><strong>in</strong>g the tasks to be scheduled. The second one has to be an <strong>in</strong>stance<strong>of</strong> the Problem class describ<strong>in</strong>g the required schedul<strong>in</strong>g problem. Theoutput parameter is an <strong>in</strong>stance <strong>of</strong> the Taskset class conta<strong>in</strong><strong>in</strong>g the result<strong>in</strong>gschedule. A typical syntax <strong>of</strong> the schedul<strong>in</strong>g algorithm call is:TSout = algorithmname(TS,problem[,processors[,parameters]])where:TSout is the <strong>in</strong>stance <strong>of</strong> the Taskset with the result<strong>in</strong>g schedule,algorithmname is the algorithm name,TS is the <strong>in</strong>stance <strong>of</strong> the Taskset to be scheduled,


4.2 Tool Architecture <strong>and</strong> Basic Notation 41problem is the <strong>in</strong>stance <strong>of</strong> the Problem class,processors is the number <strong>of</strong> processors to be used,parameters denotes additional parameters, e.g. algorithm strategy, etc.The typical work-flow <strong>of</strong> schedul<strong>in</strong>g problem solution is shown on an UMLInteraction Overview Diagram (see Fig. 4.3). There are several sequencediagrams (sd) used. The first two “Create Taskset 1” <strong>and</strong> “Create Taskset 2”show the constitution <strong>of</strong> a Taskset <strong>in</strong>stance by both <strong>of</strong> the above describedways. The third one, called “Classification”, shows the constitution <strong>of</strong> aProblem <strong>in</strong>stance. The follow<strong>in</strong>g sequence diagram “Schedul<strong>in</strong>g” presentsthe call <strong>of</strong> the schedul<strong>in</strong>g algorithm. The schedul<strong>in</strong>g algorithm is describedseparately <strong>in</strong> the “Schedul<strong>in</strong>g Algorithm” diagram, which is divided <strong>in</strong>to threeparts. The first one is check<strong>in</strong>g <strong>of</strong> the <strong>in</strong>put parameters (“Read Properties”).The second one is constituted by the solver <strong>of</strong> a schedul<strong>in</strong>g algorithm <strong>and</strong>the f<strong>in</strong>al part stores the result<strong>in</strong>g schedule <strong>in</strong>to the <strong>in</strong>stance <strong>of</strong> the Taskset(“Schedule to the Tasks”). The last diagram “Gantt Chart” presents thef<strong>in</strong>al schedule conversion to a Gantt chart, i.e. the graphical representation<strong>of</strong> a schedule.Furthermore, the toolbox conta<strong>in</strong>s objects to h<strong>and</strong>le problems like openshop, flow shop <strong>and</strong> job shop, it also supports limited buffers <strong>and</strong> transportrobots. For more details please see the toolbox documentation [Kuti 07].4.2.2 Graph PartA lot <strong>of</strong> schedul<strong>in</strong>g problems can be solved with the assistance <strong>of</strong> the graphtheory. Therefore, the second part <strong>of</strong> the toolbox is aimed at graph theoryalgorithms. All algorithms are available as a method <strong>of</strong> the ma<strong>in</strong> class Graphwhich is used to describe the directed graph.There are several different ways to create an <strong>in</strong>stance <strong>of</strong> the class Graph.The graph is generally described by an adjacency matrix. In this case, theGraph object is created by the comm<strong>and</strong> with the follow<strong>in</strong>g syntax:G = graph(’adj’,A)where the variable A is an adjacency matrix. Similarly, it is possible to createthe Graph by an <strong>in</strong>cidence matrix. Another way how to create the Graphobject is based on a matrix <strong>of</strong> edge weights.


42 Chapter 4 TORSCHE Schedul<strong>in</strong>g Toolbox for Matlabsd Schedul<strong>in</strong>g Part <strong>of</strong> Toolbox Usesimple taskset def<strong>in</strong>itioncomplex taskset def<strong>in</strong>itionsd Create Taskset 1taskset()loop:Tasksettask()user at Matlabcomm<strong>and</strong> l<strong>in</strong>e:Tasksd Create Taskset 2loop task():Tasktaskset():Tasksetsd Classificationsd Schedul<strong>in</strong>g Algorithmproblem():Problemvalid <strong>in</strong>put <strong>in</strong>stances<strong>in</strong>valid <strong>in</strong>put<strong>in</strong>stancessd Read Propertiessd Schedul<strong>in</strong>galgorithmname()AlgorithmAlgorithm :Tasksetget()loop get():TaskrefSchedul<strong>in</strong>gAlgorithmsd Gantt Chart:Tasksetplot()loopplot()no-exist schedule:TaskrefSchedul<strong>in</strong>g Algorithm Solversd Schedule to the TasksAlgorithm :Taskset :Taskadd schedule()loop add scht()Fig. 4.3: UML Interaction Overview Diagram <strong>of</strong> a typical toolbox work-flow <strong>of</strong> theschedul<strong>in</strong>g problem solution


4.2 Tool Architecture <strong>and</strong> Basic Notation 43Fig. 4.4: Graphedit (ma<strong>in</strong> w<strong>in</strong>dow, library browser, property editor)The toolbox is equipped with a simple but powerful editor <strong>of</strong> graphs calledGraphedit based on the System H<strong>and</strong>le Graphics <strong>of</strong> Matlab. It allows one toconstruct directed graphs with various user parameters on nodes <strong>and</strong> edges bysimple <strong>and</strong> an <strong>in</strong>tuitive way. Fig. 4.4 shows the Graphedit with a graph withvarious graphical representations <strong>of</strong> nodes, various edge paths <strong>and</strong> two sett<strong>in</strong>gw<strong>in</strong>dows: property editor <strong>and</strong> node library. The constructed graph can beeasily used to create an <strong>in</strong>stance <strong>of</strong> the class Graph which can be exported tothe Matlab workspace or saved to a b<strong>in</strong>ary mat-file. In addition, Grapheditconta<strong>in</strong>s a system <strong>of</strong> plug-<strong>in</strong>s which allow one to extend its functionality bythe user.Moreover, due to the close relationship between the schedul<strong>in</strong>g <strong>and</strong> graphalgorithms, each object Graph can be transformed to an object Taskset <strong>and</strong>vice versa. Obviously, the nodes from the graph are transformed to the tasks<strong>in</strong> the Taskset <strong>and</strong> the edges are transformed to the precedence constra<strong>in</strong>ts<strong>and</strong> vice versa accord<strong>in</strong>g to the user specification.


44 Chapter 4 TORSCHE Schedul<strong>in</strong>g Toolbox for Matlab4.3 Implemented AlgorithmThe biggest part <strong>of</strong> the toolbox is constituted by schedul<strong>in</strong>g algorithms.There are a large variety <strong>of</strong> algorithms (see Appendix A) solv<strong>in</strong>g both simpleproblems (on a s<strong>in</strong>gle processor) <strong>and</strong> practically oriented issues. This sectionshows several <strong>of</strong> them demonstrated on real applications.4.3.1 List Schedul<strong>in</strong>g AlgorithmList Schedul<strong>in</strong>g (LS) is a basic <strong>and</strong> popular comb<strong>in</strong>atorial algorithm <strong>in</strong>tendedfor schedul<strong>in</strong>g <strong>of</strong> set <strong>of</strong> tasks on a s<strong>in</strong>gle <strong>and</strong> parallel processors. In thisalgorithm tasks are fed from a pre-specified list <strong>and</strong>, whenever a processorbecomes idle, the first available task on the list is scheduled <strong>and</strong> removedfrom the list. Where the availability <strong>of</strong> a task means that the task has beenreleased <strong>and</strong> if there are precedence constra<strong>in</strong>ts, all its predecessors havealready been processed [Leun 04]. The algorithm term<strong>in</strong>ates when all tasksfrom the list are scheduled. Its time complexity is O(n). In multiprocessorcase, the processor with m<strong>in</strong>imal time is taken <strong>in</strong> every iteration <strong>of</strong> algorithm<strong>and</strong> the others are relaxed.The fact, which is obvious from the pr<strong>in</strong>ciple <strong>of</strong> algorithm is that, therearen’t any requirements <strong>of</strong> knowledge about past or future <strong>of</strong> content <strong>of</strong> thelist. Therefore, this algorithm is capable to solve <strong>of</strong>fl<strong>in</strong>e as well as onl<strong>in</strong>eno-clairvoyance schedul<strong>in</strong>g problems. There are many strategy algorithmslike the Earliest Start<strong>in</strong>g Time first, the Earliest Completion Time first, theLongest Process<strong>in</strong>g Time first <strong>and</strong> etc., based on simple order<strong>in</strong>g <strong>of</strong> tasks <strong>in</strong>the list by various parameters.Algorithm strategy do not guarantee to f<strong>in</strong>d optimal solutions for any<strong>in</strong>stance <strong>of</strong> an optimization problem. On condition <strong>of</strong> appropriate choose <strong>of</strong>strategy it <strong>of</strong>ten provide acceptable results with very good time <strong>and</strong> memorycomplexity.The Earliest Start<strong>in</strong>g Time first (EST) is a strategy <strong>in</strong> which the tasksare arranged <strong>in</strong> nondecreas<strong>in</strong>g order <strong>of</strong> release time r j before the application<strong>of</strong> List Schedul<strong>in</strong>g algorithm. The time complexity <strong>of</strong> EST is O(n · log(n)).The Earliest Completion Time first (ECT) is a strategy <strong>in</strong> which the tasksare arranged <strong>in</strong> nondecreas<strong>in</strong>g order <strong>of</strong> completion time C j <strong>in</strong> each iteration<strong>of</strong> List Schedul<strong>in</strong>g algorithm. The time complexity <strong>of</strong> ECT is O ( n 2 · log(n) ) .The Longest Process<strong>in</strong>g Time first (LPT) is a strategy <strong>in</strong> which the


4.3 Implemented Algorithm 45tasks are arranged <strong>in</strong> non-<strong>in</strong>creas<strong>in</strong>g order <strong>of</strong> process<strong>in</strong>g time p j before theapplication <strong>of</strong> List Schedul<strong>in</strong>g algorithm. The time complexity <strong>of</strong> LPT isO(n · log(n)).The Shortest Process<strong>in</strong>g Time first (SPT) is a strategy <strong>in</strong> which thetasks are arranged <strong>in</strong> non-decreas<strong>in</strong>g order <strong>of</strong> process<strong>in</strong>g time p j before theapplication <strong>of</strong> List Schedul<strong>in</strong>g algorithm. The time complexity <strong>of</strong> SPT isO(n · log(n)).List Schedul<strong>in</strong>g is implemented <strong>in</strong> TORSCHE Schedul<strong>in</strong>g Toolbox byfunction listsch which also allows to user to use any <strong>of</strong> implemented strategyalgorithms <strong>and</strong> visualize process <strong>of</strong> schedul<strong>in</strong>g step by step <strong>in</strong> text form<strong>in</strong> MABLAB workspace (see Fig 4.5 for flowchart <strong>of</strong> function). Moreover,the last version is able to solve schedul<strong>in</strong>g problems on unrelated parallelprocessors. The syntax <strong>of</strong> listsch function is:TS = listsch(T,problem,processors [,strategy] [,verbose])TS = listsch(T,problem,processors [,option])where:Tis the <strong>in</strong>stance <strong>of</strong> the Taskset class without schedule,TS is the <strong>in</strong>stance <strong>of</strong> the Taskset class with schedule,problem is the <strong>in</strong>stance <strong>of</strong> the Problem class,processors is the number <strong>of</strong> processors,strategy is the strategy (like LPT, SPT, EST, . . . ),verbose is a level <strong>of</strong> verbosity,option is the optimization option sett<strong>in</strong>g.This subsection concludes by the example. The example solves a problem<strong>of</strong> manufactur<strong>in</strong>g <strong>of</strong> a chair by two workers (cab<strong>in</strong>etmakers). Their goal isto make four legs, seat <strong>and</strong> backrest <strong>of</strong> the chair <strong>and</strong> assembly all <strong>of</strong> theseparts with<strong>in</strong> m<strong>in</strong>imal time. Material, which is needed to create backrest,will be available <strong>in</strong> 20 time units <strong>and</strong> assemblage is divided <strong>in</strong>to two stages(assembly 1/2 <strong>and</strong> assembly 2/2 ). Fig. 4.6 shows the representation <strong>of</strong> mentionedproblem by the graph.


46 Chapter 4 TORSCHE Schedul<strong>in</strong>g Toolbox for MatlabStartNoVerification<strong>of</strong> <strong>in</strong>putparametersYesError messageInitializationVerbose 1NoIs number<strong>of</strong> tasks onthe list¸1?F<strong>in</strong>al schedule asan output variableYesCall heuristic ifis requiredVerbose 2Verbose 3Proc:= processor withm<strong>in</strong>imal timeTask := firstavailable task onthe listMove Task to Proc.Remove Task fromthe listVerbose 4Verbose 5EndFig. 4.5: <strong>Flow</strong> chart <strong>of</strong> listsch function


4.3 Implemented Algorithm 47leg 1p=6leg 2p=6leg 3p=6leg 4p=6seatp=15backrestp=25, r=20assembly 1/2p=15assembly 2/2p=15Fig. 4.6: Graph representation <strong>of</strong> chair manufactur<strong>in</strong>gSolution <strong>of</strong> the schedul<strong>in</strong>g problem is shown <strong>in</strong> follow<strong>in</strong>g steps:1. Create desired tasks.>> T1 = task(’leg1’,6)Task "leg1"Process<strong>in</strong>g time: 6Release time: 0>> T2 = task(’leg2’,6);>> T3 = task(’leg3’,6);>> T4 = task(’leg4’,6);>> T5 = task(’seat’,6);>> T6 = task(’backrest’,25,20);>> T7 = task(’assembly1/2’,15);>> T8 = task(’assembly2/2’,15);2. Def<strong>in</strong>e precedence constra<strong>in</strong>ts by precedence matrix prec. Matrix hassize n × n where n is the number <strong>of</strong> tasks.>> prec = [0 0 0 0 0 1 0 0;...0 0 0 0 0 1 0 0;...0 0 0 0 0 1 0 0;...0 0 0 0 0 1 0 0;...0 0 0 0 0 1 0 0;...0 0 0 0 0 0 0 1;...0 0 0 0 0 0 0 1;...0 0 0 0 0 0 0 0];3. Create an object <strong>of</strong> taskset from recently def<strong>in</strong>ed objects.


48 Chapter 4 TORSCHE Schedul<strong>in</strong>g Toolbox for Matlab>> T = taskset([T1 T2 T3 T4 T5 T6 T7 T8],prec)Set <strong>of</strong> 8 tasksThere are precedence constra<strong>in</strong>ts4. Def<strong>in</strong>e solved problem.>> p = problem(’P|prec|Cmax’)P|prec|Cmax5. Call List Schedul<strong>in</strong>g algorithm with taskset <strong>and</strong> problem created recently<strong>and</strong> def<strong>in</strong>e number <strong>of</strong> processors <strong>and</strong> desired heuristic.>> TS = listsch(T,p,2,’SPT’)Set <strong>of</strong> 8 tasksThere are precedence constra<strong>in</strong>tsThere is schedule: List Schedul<strong>in</strong>gSolv<strong>in</strong>g time: 1.1316s6. Visualize the f<strong>in</strong>al schedule by st<strong>and</strong>ard plot function, see Fig. 4.7.>> plot(TS)P 1leg 1leg 3 seat assembly 1/2assembly 2/2P 2Fig. 4.7: The manufacture schedul<strong>in</strong>g <strong>in</strong> the Gantt chart formleg 2leg 4backrest0 10 20 30 40 50 t4.3.2 SAT Based Schedul<strong>in</strong>g AlgorithmThis subsection presents a satisfiability <strong>of</strong> boolean expression based algorithmfor the schedul<strong>in</strong>g problem P |prec|C max , i.e. the schedul<strong>in</strong>g <strong>of</strong>tasks with precedence constra<strong>in</strong>ts on the set <strong>of</strong> parallel identical processorswhile m<strong>in</strong>imiz<strong>in</strong>g the schedule makespan. The ma<strong>in</strong> idea is to formulatethe schedul<strong>in</strong>g problem <strong>in</strong> the form <strong>of</strong> CNF (conjunctive normal form)clauses [Cram 06, Memi 02].In the case <strong>of</strong> the P |prec|C max problem, each CNF clause is a function<strong>of</strong> the Boolean variables <strong>in</strong> the form x ijk . If the task T i is started at time


4.3 Implemented Algorithm 49unit j on the processor k then x ijk = true, otherwise x ijk = false. Foreach task T i , where i = 1 . . . n, there are S × R Boolean variables, where Sdenotes the maximum number <strong>of</strong> time units <strong>and</strong> R denotes the total number<strong>of</strong> processors.The Boolean variables are constra<strong>in</strong>ed by the three follow<strong>in</strong>g rules (modestadaptation <strong>of</strong> [Memi 02]):1. For each task, exactly one <strong>of</strong> the S × R variables has to be equalto true. Therefore two clauses are generated for each task T i . The firstguarantees hav<strong>in</strong>g at most one variable equal to true:(¯x i11 ∨ ¯x i21 ) ∧ · · · ∧ (¯x i11 ∨ ¯x iSR ) ∧ · · · ∧ (¯x i(S−∞)R ∨ ¯x iSR ).The second guarantees hav<strong>in</strong>g at least one variable equal to true: (¯x i11 ∨¯x i21 ∨ · · · ∨ ¯x i(S−∞)R ∨ ¯x iSR ).2. If there are a precedence constra<strong>in</strong>ts such that T u is the predecessor<strong>of</strong> T v , then T v cannot start before the execution <strong>of</strong> T u is f<strong>in</strong>ished. Therefore,x ujk → (¯x v1l ∧ · · · ∧ ¯x vjl ∧ ¯x v(j+1)l ∧ · · · ∧ ¯x v(j+pu−1)l) for all possible comb<strong>in</strong>ations<strong>of</strong> processors k <strong>and</strong> l, where p u denotes the process<strong>in</strong>g time <strong>of</strong> taskT u .3. At any time unit, there is at most one task executed on a givenprocessor. For the couple <strong>of</strong> tasks with a precedence constra<strong>in</strong> this rule isensured already by the clauses <strong>in</strong> the rule number 2. Otherwise the set <strong>of</strong>clauses is generated for each processor k <strong>and</strong> each time unit j for all couplesT u , T v without precedence constra<strong>in</strong>s <strong>in</strong> the follow<strong>in</strong>g form:(x ujk → ¯x vjk ) ∧ (x ujk → ¯x v(j+1)k ) ∧ · · · ∧ (x ujk → ¯x v(j+pu−1)k).The toolbox cooperates with the zChaff solver [Mosk 01] to decidewhether the set <strong>of</strong> clauses is satisfiable. If it is, the schedule with<strong>in</strong> S timeunits is feasible. An optimal schedule is found <strong>in</strong> an iterative manner. First,the List Schedul<strong>in</strong>g algorithm (see 4.3.1) is used to f<strong>in</strong>d the <strong>in</strong>itial value <strong>of</strong> S.Then the algorithm iteratively decreases the value <strong>of</strong> S by one <strong>and</strong> tests thefeasibility <strong>of</strong> the solution. The iterative algorithm f<strong>in</strong>ishes when the solutionis not feasible.An example <strong>of</strong> the P |prec|C max problem can be taken from the digitalsignal process<strong>in</strong>g area. A typical schedul<strong>in</strong>g problem is to optimize thespeed <strong>of</strong> a computation loop, e.g constitut<strong>in</strong>g the Jaumann wave digital filter[Groo 92]. The goal is to m<strong>in</strong>imize the computation time <strong>of</strong> the filterloop, shown as a directed acyclic graph <strong>in</strong> Fig. 4.8. The nodes <strong>in</strong> the graphrepresent the tasks (i.e. operations <strong>of</strong> the loop) <strong>and</strong> the edges represent the


50 Chapter 4 TORSCHE Schedul<strong>in</strong>g Toolbox for Matlab+T 62+T 162+T 102+T 172+T 132*T 143* T +83 T 12*T 93*T 123+T 42+T 152+T 72+T 22+T 112+T 32+T 52process<strong>in</strong>gtime pFig. 4.8: Jaumann wave digital filterprecedence constra<strong>in</strong>ts. The nodes are labeled by the operation type (“+” or“∗”) <strong>and</strong> process<strong>in</strong>g time p i . The example <strong>in</strong> Fig. 4.8 considers two parallelidentical processors, i.e. two general arithmetic units.Fig. 4.9 shows the consecutive steps performed <strong>in</strong> the toolbox. The firststep def<strong>in</strong>es the set <strong>of</strong> the tasks with the precedence constra<strong>in</strong>ts for theschedul<strong>in</strong>g algorithm satsch. The result<strong>in</strong>g schedule is displayed by theplot comm<strong>and</strong>. The optimal schedule is depicted <strong>in</strong> Fig. 4.10.>> procTime = [2,2,2,2,2,2,2,3,3,2,2,3,2,3,2,2,2];>> prec = sparse([6,7,1,11,11,17,3,13,13,15,8,6,2, 9,11,12,17,14,15,2 ,10],...[1,1,2, 2, 3, 3,4, 4, 5, 5,7,8,9,10,10,11,12,13,14,16,16],...[1,1,1, 1, 1, 1,1, 1, 1, 1,1,1,1, 1, 1, 1, 1, 1, 1, 1, 1],17,17);>> TS = taskset(procTime,prec);>> TS = satsch(TS,problem(P|prec|Cmax),2)Set <strong>of</strong> 17 tasksThere are precedence constra<strong>in</strong>tsThere is schedule: SAT solverSUM solv<strong>in</strong>g time: 0.06sMAX solv<strong>in</strong>g time: 0.04sNumber <strong>of</strong> iterations: 2>> plot(TS)Fig. 4.9: Solution <strong>of</strong> the schedul<strong>in</strong>g problem P |prec|C max <strong>in</strong> the toolbox4.3.3 M<strong>in</strong>imum Cost Multi-commodity <strong>Flow</strong> ProblemVarious optimization problems (e.g. rout<strong>in</strong>g) from the graph <strong>and</strong> networkflow theory can be reformulated on the m<strong>in</strong>imum cost multi-commodity flow(MMCF) problem. The objective <strong>of</strong> the MMCF is to f<strong>in</strong>d the cheapest possibleways <strong>of</strong> send<strong>in</strong>g a certa<strong>in</strong> amount <strong>of</strong> flows through the network. Therefore,


4.3 Implemented Algorithm 51P 2P 1 T 6 T 17 T 12 T 1 T 14 T 9 T 5 T 16T 15 T 8 T 7 T 11 T 2 T 3 T 13 T 10 T 40 5 10 15 tFig. 4.10: The optimal schedule <strong>of</strong> the Jaumann filterTORSCHE <strong>in</strong>cludes a multicommodityflow function.The MMCF problem is def<strong>in</strong>ed by a directed flow network graph G(V , E),where the edge (u, v) ∈ E from node u ∈ V to node v ∈ V has a capacitycap uv <strong>and</strong> a cost a uv . There are ψ commodities K 1 , K 2 , . . . , K ψ def<strong>in</strong>edby K i = (source i , s<strong>in</strong>k i , b i ) where source i <strong>and</strong> s<strong>in</strong>k i st<strong>and</strong> for source<strong>and</strong> s<strong>in</strong>k node <strong>of</strong> commodity i, <strong>and</strong> b i is the volume <strong>of</strong> the dem<strong>and</strong>. Theflow <strong>of</strong> commodity i along the edge (u, v) is f i (u, v). The objective isto f<strong>in</strong>d an assignment <strong>of</strong> the flow f i (u, v) which m<strong>in</strong>imizes the total costJ = ∑ (∀(u,v)∈Ea uv · ∑ψ )i=1 f i(u, v) <strong>and</strong> satisfies the follow<strong>in</strong>g constra<strong>in</strong>ts:∑ ψi=1 f i(u, v) ≤ cap uv ∀(u, v) ∈ E,∑u∈V f i(u, w) = ∑ v∈V f i(w, v) w ∈ V \ {source i , s<strong>in</strong>k i },∀i = 1 . . . ψ,∑w∈V f i(source i , w) = ∑ w∈V f i(w, s<strong>in</strong>k i ) = b i ∀i = 1 . . . ψ.(4.1)The function multicommodityflow solves MMCF problem by the transformationto the l<strong>in</strong>ear programm<strong>in</strong>g problem [Kort 06]. Let P be the set <strong>of</strong>all paths from the source node source i to the s<strong>in</strong>k node s<strong>in</strong>k i for all commoditiesi = 1, 2, 3 . . . ψ. Let M be a 0-1-matrix whose columns correspondto the elements p <strong>of</strong> P <strong>and</strong> whose rows correspond to the edges <strong>of</strong> G, whereM (u,v),p = 1 iff (u, v) ∈ p. Similarly, let N be a 0-1-matrix whose columnscorrespond to the elements <strong>of</strong> P <strong>and</strong> whose rows correspond to the commodities,where N i,p = 1 iff source i <strong>and</strong> s<strong>in</strong>k i are the start <strong>and</strong> end nodes <strong>of</strong> pathp. Then the LP problem us<strong>in</strong>g the variables def<strong>in</strong>ed above is:m<strong>in</strong> (a P · y) , (4.2)


52 Chapter 4 TORSCHE Schedul<strong>in</strong>g Toolbox for Matlabsubject to:y ≥ 0,M · y ≤ cap,N · y = b,(4.3)where b is a vector <strong>of</strong> b i , cap is a vector <strong>of</strong> cap i <strong>and</strong> a P is a constant vector <strong>of</strong> apath costs. Each <strong>of</strong> its elements is def<strong>in</strong>ed as a p = ∑ (u,v)∈p a uv. Assignmentf i (u, v) <strong>of</strong> multi-commodity flow to the edge is given by the vector y <strong>and</strong> set<strong>of</strong> paths P.An example <strong>of</strong> m<strong>in</strong>imum cost multi-commodity flow problem for a realapplication is shown <strong>in</strong> the Section 5.2.4.4 SummaryThis chapter presents the TORSCHE Schedul<strong>in</strong>g Toolbox for Matlab cover<strong>in</strong>g:schedul<strong>in</strong>g on monoprocessor/dedicated processors/parallel processors,open shop/flow shop/job shop schedul<strong>in</strong>g, cyclic schedul<strong>in</strong>g <strong>and</strong> realtimeschedul<strong>in</strong>g. The toolbox already has several real applications. It hasbeen used for the development <strong>of</strong> a new method for re-configuration <strong>of</strong> thetasks or a process <strong>in</strong> an embedded avionics application [Muni 09]. Simulations<strong>in</strong> TORSCHE also helped to develop a method optimiz<strong>in</strong>g the jitter<strong>of</strong> tasks <strong>in</strong> a real-time system [Liu 09]. Recently, TORSCHE has becomea part <strong>of</strong> a textbook for courses <strong>in</strong> schedul<strong>in</strong>g “Schedul<strong>in</strong>g: Theory, Algorithms,<strong>and</strong> Systems” written by M. P<strong>in</strong>edo [P<strong>in</strong>e 08]. The actual version<strong>of</strong> the toolbox with documentation <strong>and</strong> screencasts is freely available athttp://rtime.felk.cvut.cz/schedul<strong>in</strong>g-toolbox/.


Chapter 5<strong>Traffic</strong> <strong>Flow</strong> <strong>Optimization</strong>This chapter proposes consecutive steps to f<strong>in</strong>d the optimal <strong>of</strong>fset <strong>and</strong> thesplit <strong>of</strong> the light controlled <strong>in</strong>tersections <strong>in</strong> the urban traffic region. Theoptimization takes <strong>in</strong>to account the street length, number <strong>of</strong> lanes <strong>and</strong> maximalallowed vehicle speed <strong>in</strong> consideration to respect the green wave strategycontrol <strong>and</strong> constant <strong>in</strong>tersection cycle time. The solution <strong>of</strong> this problem isshown on the urban traffic region <strong>in</strong> Prague. The problem is formalized <strong>and</strong>solved by the TORSCHE.5.1 IntroductionThe light controlled <strong>in</strong>tersections are characterized by several parameters:the number <strong>of</strong> light phases, phase split, <strong>of</strong>fset time <strong>and</strong> a list <strong>of</strong> streets fromwhich the vehicles flow [Gube 08]. The term phase means state <strong>of</strong> trafficlights on the <strong>in</strong>tersection. The number <strong>of</strong> phases <strong>and</strong> the list <strong>of</strong> streets arepartially given by the urban architecture <strong>of</strong> the <strong>in</strong>tersection <strong>and</strong> partiallyby the <strong>in</strong>tersection control strategy (i.e. one-way street, directional roadwaymark<strong>in</strong>g). Both <strong>of</strong> these parameters are constant. On the other h<strong>and</strong>, thesplit <strong>and</strong> <strong>of</strong>fset can be changed dynamically dur<strong>in</strong>g a day. The split τ vjdef<strong>in</strong>es the time <strong>in</strong>terval <strong>of</strong> phase j for which the vehicle flow can go throughthe <strong>in</strong>tersection v from one or more streets [Papa 03]. The <strong>of</strong>fset ϕ uv is acerta<strong>in</strong> time delay between phases <strong>of</strong> two successive <strong>in</strong>tersections u <strong>and</strong> v.When the <strong>of</strong>fset is zero, all lights <strong>in</strong> the region turn on <strong>and</strong> <strong>of</strong>f at the sametime. It is called the synchronized strategy. In the green wave strategy, the53


54 Chapter 5 <strong>Traffic</strong> <strong>Flow</strong> <strong>Optimization</strong>Fig. 5.1: <strong>Traffic</strong> region <strong>in</strong> Prague (GPS: 50 ◦ 4 ′ 27.446 ′′ N, 14 ◦ 24 ′ 25.951 ′′ E) [Goog 09]traffic light changes with time delay between the light phases <strong>of</strong> two successive<strong>in</strong>tersections. As a result, signals switch as the green wave [Naga 07].The goal <strong>of</strong> this chapter is to f<strong>in</strong>d the <strong>of</strong>fset ϕ uv respect<strong>in</strong>g the green wavestrategy <strong>and</strong> the split τ vj which m<strong>in</strong>imizes the total time spend on the road<strong>and</strong> considers a constant <strong>in</strong>tersection cycle time C v = ∑ ∀j τ vj <strong>of</strong> <strong>in</strong>tersectionv such that C 1 = C 2 = · · · = C. The problem is formalized <strong>and</strong> solvedby the TORSCHE (Chapter 4). The solution <strong>of</strong> this problem is shown onthe example <strong>of</strong> the light controlled <strong>in</strong>tersections <strong>in</strong> an urban traffic region <strong>in</strong>Prague (see Fig. 5.1) <strong>and</strong> consists <strong>of</strong> the follow<strong>in</strong>g steps:• The model <strong>of</strong> an urban traffic region as the oriented graph made up.• Source <strong>and</strong> dest<strong>in</strong>ation nodes <strong>of</strong> graph mark for requirement trafficflows.• The multi-commodity flow compute, which implies splits τ vj .


5.2 <strong>Traffic</strong> Region Model 5514 1516 17 18 19[ 109 5.6 ] 3 [ 82 8.4 ] 42[ 77 5.6 ]202127[ 44 2.8 ][ 107 2.8 ][ 187 5.6 ]1[ 44 2.8 ]5[ 107 2.8 ]10[ 99 2.8 ][ 103 5.6 ]8[ 99 2.8 ] [ 105 5.6 ] 7[ 89 5.6 ]6[ 81 2.8 ] 22[ 188 2.8 ] [ 200 2.8 ][ 81 5.6 ]9[ 171 2.8 ][ 69 5.6 ][ 102 2.8 ][ 209 2.8 ] 11[ 112 2.8 ]121326252423Fig. 5.2: <strong>Traffic</strong> region model• Offset ϕ uv from the street length <strong>and</strong> vehicle speed compute.• By the schedul<strong>in</strong>g technique f<strong>in</strong>d a schedule for <strong>in</strong>tersection control.5.2 <strong>Traffic</strong> Region ModelIn the first step, a traffic region is modeled as an oriented graph G(V , E).Nodes V <strong>of</strong> the graph represent the <strong>in</strong>tersections <strong>and</strong> edges E represent thestreets. See Fig. 5.2 where the Graphedit tool <strong>of</strong> TORSCHE is utilized toconstruct the graph. S<strong>in</strong>k <strong>and</strong> source nodes are drawn as rectangles. Theedges <strong>in</strong>clude two parameters; the first one is cost a uv <strong>and</strong> the second one iscapacity cap uv <strong>of</strong> the street (u, v). The cost is given by the street length <strong>in</strong>meters. The capacity <strong>of</strong> the street is given by the number <strong>of</strong> lanes l uv <strong>in</strong> thestreet as cap uv = l uv · W uv /l uv where W uv is a maximal allowed vehicle speed


56 Chapter 5 <strong>Traffic</strong> <strong>Flow</strong> <strong>Optimization</strong>Table 5.1: Required traffic region multi-commodity flow <strong>in</strong>stancesK i K 1 K 2 K 3 K 4 K 5 K 6 K 7 K 8source i 14 14 14 14 16 16 16 16s<strong>in</strong>k i 24 17 21 27 24 21 15 27b i [10 −3 s −1 ] 4.9 1.9 3.1 30.1 10.1 12.1 1.2 6.6K i K 9 K 10 K 11 K 12 K 13 K 14 K 15 K 16source i 18 18 18 18 18 20 20 20s<strong>in</strong>k i 24 17 21 15 27 19 24 17b i [10 −3 s −1 ] 32.7 3.3 9.3 2.1 11.3 8.9 13.4 8.1K i K 17 K 18 K 19 K 20 K 21 K 22 K 23 K 24source i 20 20 22 22 22 22 23 23s<strong>in</strong>k i 15 27 19 21 15 27 24 17b i [10 −3 s −1 ] 7.9 41.7 11.7 88.5 4.7 25.1 8.6 4.3K i K 25 K 26 K 27 K 28 K 29 K 30 K 31 K 32source i 23 23 25 25 26 26 26 26s<strong>in</strong>k i 21 27 24 21 24 21 15 27b i [10 −3 s −1 ] 6.5 3.6 9.6 0.4 15.9 1.9 5.7 6.5<strong>in</strong> the street <strong>in</strong> ms −1 <strong>and</strong> l uv is the unit vehicle length <strong>in</strong>clud<strong>in</strong>g distance betweenvehicles. Let us assume that, <strong>in</strong> our case, the speed is W uv = 13.8 ms −1(50 km/h) <strong>and</strong> the unit vehicle length is l uv = 5 m, then the capacity <strong>of</strong> onelane street is 2.8 s −1 . The f<strong>in</strong>al graph is exported from the Graphedit tool tothe Matlab workspace as graph object G.In the second step, the multi-commodity flow method <strong>in</strong> the follow<strong>in</strong>gform is called:>> Gm = multicommodityflow(G,source,s<strong>in</strong>k,b)where the vectors source, s<strong>in</strong>k <strong>and</strong> b def<strong>in</strong>e the required multi-commodityflow as is it described <strong>in</strong> Subsection 4.3.3. These variables are shown <strong>in</strong>Table 5.1. The graph Gm <strong>in</strong>cludes an assignment <strong>of</strong> optimal multi-commodityflow to the edges. We assume the drivers to make their decisions <strong>in</strong> a similarway. Table 5.2 shows a part <strong>of</strong> the assignment f i (u, v) : u = 6 ∨ v = 6. Thecomplete result can be obta<strong>in</strong>ed from the Graph object by the comm<strong>and</strong>:>> F = get(Gm,’edl’)


5.3 Tasks Def<strong>in</strong>ition for Intersection 57Table 5.2: Multi-commodity flow assignmentK i K 2 K 3 K 5 K 6 K 24 K 26 K 30∑ ψi=1 f i(u, v)u v f i (u, v) [10 −3 s −1 ] [10 −3 s −1 ]2 6 0 0 10.1 12.1 0 0 0 22.25 6 1.9 3.1 0 0 0 0 1.9 6.99 6 0 0 0 0 4.3 3.6 0 7.96 2 1.9 0 0 0 4.3 3.6 0 9.86 7 0 3.1 10.1 12.1 0 0 1.9 27.25.3 Tasks Def<strong>in</strong>ition for IntersectionIn the next step, the phase j split τ vj <strong>and</strong> the <strong>of</strong>fset ϕ uv for each light controlled<strong>in</strong>tersection v ∈ V are found. Cont<strong>in</strong>uous vehicle flow from the street(u, v) over a given number <strong>of</strong> <strong>in</strong>tersection phases can be formalized as onetask T uv from the schedul<strong>in</strong>g po<strong>in</strong>t <strong>of</strong> view. For example there exist threetasks T 26 , T 56 <strong>and</strong> T 96 for <strong>in</strong>tersection 6. The number <strong>of</strong> phases is givenby the urban architecture <strong>of</strong> the <strong>in</strong>tersection <strong>and</strong> by the <strong>in</strong>tersection controlstrategy. The <strong>in</strong>tersections are the resources from the schedul<strong>in</strong>g po<strong>in</strong>t <strong>of</strong>view <strong>and</strong> the tasks are dedicated there by the eng<strong>in</strong>eer<strong>in</strong>g skills.The process<strong>in</strong>g time p uv <strong>of</strong> task T uv is calculated by Algorithm 5.1 (Part<strong>of</strong> the Algorithm shows the solution <strong>of</strong> the consecutive steps <strong>in</strong> TORSCHEfor <strong>in</strong>tersection 6). This algorithm computes the process<strong>in</strong>g time from theassignment <strong>of</strong> MMCF f i (u, v), from the cycle time C <strong>and</strong> from the precedenceconstra<strong>in</strong>ts <strong>of</strong> the tasks (def<strong>in</strong>ed by the <strong>in</strong>tersection control strategy).Table 5.3 shows process<strong>in</strong>g time <strong>of</strong> tasks for three <strong>in</strong>tersections (6,7 <strong>and</strong> 8).Table 5.3: Process<strong>in</strong>g time <strong>of</strong> tasks <strong>and</strong> <strong>of</strong>fset for <strong>in</strong>tersections 6,7,8u, v 5,6 2,6 9,6 6,7 3,7 9,7 7,8 22,8p uv 21.3 68.7 24.4 29.6 60.4 7.5 18.4 71.6ϕ uv - - - 9.5 - - 8 -


58 Chapter 5 <strong>Traffic</strong> <strong>Flow</strong> <strong>Optimization</strong>Algorithm 5.1 Process<strong>in</strong>g time computation1. Create tasks T uv , with temporary process<strong>in</strong>g time p ′ uv = ∑ ψi=1 f i(u, v).>> T56 = task(’T(5,6)’, 0.0069)Task "T(5,6)"Process<strong>in</strong>g time: 0.0069Release time: 0>> T26 = task(’T(2,6)’, 0.0222);>> T96 = task(’T(9,6)’,0.0079);2. Group the tasks <strong>in</strong>to a taskset <strong>and</strong> add precedence constra<strong>in</strong>s.>> prec6 = [0 1 1; 0 0 0; 0 0 0];>> TS6 = taskset([T56 T26 T96],prec6);Set <strong>of</strong> 3 tasksThere are precedence constra<strong>in</strong>ts3. Compute a length <strong>of</strong> critical path CP v by the asap (as soon as possible)function.>> TS6.asap;>> asapStart = asap(TS6,’asap’);>> CP6 = max(asapStart + TS6.ProcTime)CP6 =0.02914. From the length <strong>of</strong> the critical path <strong>and</strong> cycle time C we obta<strong>in</strong> process<strong>in</strong>gtime p uv as a l<strong>in</strong>ear proportion <strong>of</strong> flow: p uv = p ′ uv · C/CP v .>> C = 90;>> TS6.ProcTime = TS6.ProcTime * C / CP6;5. We can display <strong>in</strong>tersection phases by the plot function, see toFig. 5.4(b).>> TS6.asap;>> plot(TS6,’asap’,1,’prec’,0)


5.4 Schedul<strong>in</strong>g with Communication Delay 595.4 Schedul<strong>in</strong>g with Communication DelayThe <strong>in</strong>tersection phase <strong>of</strong>fset <strong>and</strong> split is computed for the green wave strategy.The green wave strategy, specified by the eng<strong>in</strong>eer<strong>in</strong>g skills, extends thetasks precedence constra<strong>in</strong>ts by the relationships between successive <strong>in</strong>tersectiontasks. The precedence constra<strong>in</strong>ts must be <strong>in</strong> the out-tree form. Each<strong>of</strong> those relationships def<strong>in</strong>es the <strong>of</strong>fset ϕ uv as a time, which a vehicle needsto pass from <strong>in</strong>tersection u to <strong>in</strong>tersection v. The ϕ uv is given by the streetlength a uv <strong>and</strong> vehicle speed W uv as ϕ uv = a uv /W uv (see Table 5.3).The split can be found by an algorithm for schedul<strong>in</strong>g with a communicationdelay [Chre 95]. The schedul<strong>in</strong>g with communication delay problemextends the precedence constra<strong>in</strong>ts <strong>in</strong> the classical schedul<strong>in</strong>g by the communicationdelay between dependent tasks assigned to dist<strong>in</strong>ct processors.In our case the communication delay is equal to the <strong>of</strong>fset ϕ uv . Let D bea matrix <strong>of</strong> communication delays, where the elements are ϕ uv <strong>in</strong> the casethat the <strong>of</strong>fset between <strong>in</strong>tersections u <strong>and</strong> v is considered, zero otherwise.We can classify our <strong>in</strong>stances as tasks with precedence constra<strong>in</strong>ts <strong>in</strong> an outtreeform, communication delays, unlimited number <strong>of</strong> processors <strong>and</strong> noduplication <strong>of</strong> tasks. In Graham <strong>and</strong> B̷lażewicz notation it can be denoted asP ∞ |out-tree, c jk |C max . This problem can be solved <strong>in</strong> O(n) by the allgorithmpresented <strong>in</strong> [Chre 89] which is implemented <strong>in</strong> the TORSCHE toolbox (seeChapter 4) as a function chretienne.Fig. 5.3 shows the problem solution for three <strong>in</strong>tersections (6, 7 <strong>and</strong> 8).First, the taskset object TSall with eight tasks correspond<strong>in</strong>g to the <strong>in</strong>tersectioncontrol is def<strong>in</strong>ed. The tasks <strong>and</strong> precedence constra<strong>in</strong>ts among themare shown <strong>in</strong> Fig. 5.4(a). The precedence constra<strong>in</strong>ts given by the green-wavestrategy are drawn as solid l<strong>in</strong>es. Consequently, matrix D <strong>and</strong> the notation <strong>of</strong>the problem prob is def<strong>in</strong>ed. F<strong>in</strong>ally, the schedul<strong>in</strong>g problem is solved by thealgorithm chretienne <strong>and</strong> the result<strong>in</strong>g Gantt chart is shown <strong>in</strong> Fig. 5.4(b).The figure shows the tasks for the three considered <strong>in</strong>tersections <strong>in</strong>clud<strong>in</strong>gthe process<strong>in</strong>g time p uv , split τ vj <strong>and</strong> <strong>of</strong>fset ϕ uv . The split is given by theprocess<strong>in</strong>g time <strong>of</strong> the scheduled tasks. The tasks are periodically repeatedwith a cycle time C.


60 Chapter 5 <strong>Traffic</strong> <strong>Flow</strong> <strong>Optimization</strong>>> T56 = task(’T(5,6)’, 21.3);>> T26 = task(’T(2,6)’, 68.7);>> T96 = task(’T(9,6)’, 24.4);>> prec6 = [0 1 1; 0 0 0; 0 0 0];>> TS6 = taskset([T56 T26 T96],prec6);>> T67 = task(’T(6,7)’, 29.6);>> T37 = task(’T(3,7)’, 60.4);>> T97 = task(’T(9,7)’, 7.5);>> prec7 = [0 1 1; 0 0 0; 0 0 0];>> TS7 = taskset([T67 T37 T97],prec7);>> T78 = task(’T(7,8)’, 18.4);>> T228 = task(’T(22,8)’, 71.6);>> prec8 = [0 1; 0 0];>> TS8 = taskset([T78 T228],prec8);>> TSall = [TS6 TS7 TS8];>> TSall.Prec(1,4) = 1;>> TSall.Prec(4,7) = 1;>> D = zeros(size(TSall.Prec));>> D(1,4) = 9.5;>> D(4,7) = 8;>> prob = ...problem(’P<strong>in</strong>f|prec,out-tree,cjk|Cmax’);>> TSall = chretienne(TSall,p,Inf,D);>> plot(TSall);Fig. 5.3: Solution <strong>of</strong> the schedul<strong>in</strong>g problem <strong>in</strong> the toolbox5.5 SummaryIn this chapter, the <strong>of</strong>fset ϕ uv <strong>and</strong> the split τ vj <strong>of</strong> <strong>in</strong>tersections were found.The <strong>of</strong>fset is respect<strong>in</strong>g the green wave strategy <strong>and</strong> the split is optimalunder considered criterion (m<strong>in</strong>imizes the time spend on the road — from theschedul<strong>in</strong>g po<strong>in</strong>t <strong>of</strong> view m<strong>in</strong>imizes C max ). The data from real light controlled<strong>in</strong>tersections <strong>in</strong> an urban traffic region <strong>in</strong> Prague was used to demonstrateconsecutive steps <strong>of</strong> the problem solution.


5.5 Summary 61Intersection 6T 2,6T 9,6T 5,6Intersection 7' 6,7=9.5T 3,7T 9,7T 6,7Intersection 8' 7,8=8T 7,8 T 22,8(a) Precedence constra<strong>in</strong>tsIntersection 6T 2,6T 9,6T 5,6Intersection 7T 3,7T 9,7T 6,7Intersection 8T 7,8¿ 6,1 ¿ 6,2¿ 6,3p 2,6p 5,6p 9,6p 6,7p 9,7' 6,7¿ 7,1¿ 7,2¿ 7,3p 3,7' 7,8¿ 8,1¿ 8,2T 22,8p 7,8p 22,8100 150 200 250 300(b) Gantt chart for vehicle flow <strong>in</strong>clud<strong>in</strong>g split <strong>and</strong> <strong>of</strong>fset markFig. 5.4: The <strong>in</strong>tersections (6, 7 <strong>and</strong> 8) controlt


Chapter 6Conclusions6.1 Summary <strong>and</strong> ContributionsIn this thesis, the model<strong>in</strong>g <strong>and</strong> optimization techniques to improve efficiency<strong>of</strong> light controlled <strong>in</strong>tersections <strong>in</strong> urban area have been studied. The generalprocedures to make <strong>in</strong>tersection models were shown as well optimizationtechniques to their control. All results were verified on real data from Praguetraffic region.The extended queue model based on number <strong>of</strong> vehicles <strong>in</strong> the queue <strong>and</strong>the mean value <strong>of</strong> wait<strong>in</strong>g time was presented. Further, we have used themodel to derive the parameters <strong>of</strong> the controllers for a simple <strong>in</strong>tersectionmodel. The advantages <strong>and</strong> disadvantages <strong>of</strong> the presented controllers werediscussed.General light controlled <strong>in</strong>tersection model was based on CCPN. The newmethod for conflict resolution <strong>in</strong> CCPN has been presented. The conflict resolutionmethod is based on the maximal speed proportion. Next, the iterativealgorithm for this problem <strong>and</strong> its solution by LP was shown. The lightcontrolled <strong>in</strong>tersection model describes the traffic flow from the macroscopicpo<strong>in</strong>t <strong>of</strong> view. This model is <strong>in</strong>novative, firstly, by the free space model<strong>in</strong>gtogether with the opposite direction <strong>of</strong> the vehicular flow. Secondly, by theconstant speed cont<strong>in</strong>uous Petri net uses only.The last part <strong>of</strong> thesis describes the optimization <strong>of</strong> traffic flow <strong>in</strong> urbanregion. The new algorithm for the <strong>of</strong>fset <strong>and</strong> the split <strong>of</strong> <strong>in</strong>tersections waspresented. The <strong>of</strong>fset is respect<strong>in</strong>g the green wave strategy <strong>and</strong> the split is63


64 Chapter 6 Conclusionsoptimal under considered criterion. The solution <strong>of</strong> this problem is solved bythe TORSCHE. The performance <strong>of</strong> all depicted models <strong>and</strong> optimizationstechniques was evaluated <strong>in</strong> simulations <strong>and</strong> compared with real data fromthe traffic <strong>in</strong> Prague.The contributions <strong>of</strong> the thesis are summarized <strong>in</strong> Section 1.2. In ourop<strong>in</strong>ion, the ma<strong>in</strong> contributions are:1. Formalization <strong>of</strong> the traffic <strong>in</strong>tersection model (extended by the meanwait<strong>in</strong>g time) used to drivers wait<strong>in</strong>g time balanc<strong>in</strong>g.2. CCPN based general light controlled <strong>in</strong>tersection model verified on realdata.3. Algorithm for optimization <strong>of</strong> light controlled <strong>in</strong>tersection traffic urbanregion.6.2 Future ResearchCurrent work aims at <strong>in</strong>corporat<strong>in</strong>g several <strong>in</strong>tersections based on CCPN<strong>in</strong>to a complex traffic region model. In order to model the traffic with higherprecision (i.e. <strong>in</strong>corporat<strong>in</strong>g logarithmic stream model captur<strong>in</strong>g the outputflow as non-monotonic function <strong>of</strong> the flow density) we are develop<strong>in</strong>g a modelbased on cont<strong>in</strong>uous Petri Nets. As future work we would like to <strong>in</strong>cludeadditional practical constra<strong>in</strong>ts to the problem (e.g., supervisory systemsperform<strong>in</strong>g high-level optimization on the model).


Appendices65


Appendix ATORSCHE AlgorithmsA.1 Schedul<strong>in</strong>g Algorithmsalgorithm comm<strong>and</strong> problemAlgorithm for 1|r j |C max alg1rjcmax 1|r j |C maxBratley’s Algorithm bratley 1|r j , ˜d j |C maxHorn’s Algorithm horn 1|pmtn, r j |L maxHodgson’s Algorithm alg1sumuj 1|| ∑ U jAlgorithm for 1|| ∑ w j D j alg1sumwjdj 1|| ∑ w j D jAlgorithm for P ||C max algpcmax P ||C maxDynamic Prog. <strong>and</strong> P ||C max algpcmaxdp P ||CmaxMcNaughton’s Algorithm mcnaughtonrule P |pmtn|C maxAlgorithm for P |r j , prec, ˜d j |C max algprjdeadl<strong>in</strong>epreccmax P |r j , prec, ˜d j |C maxHu’s Algorithm hu P |<strong>in</strong>-tree, p j = 1|C maxBrucker’s algorithm brucker76 P |<strong>in</strong>-tree, p j = 1|L maxList Schedul<strong>in</strong>g listsch P |prec|C maxC<strong>of</strong>fman’s <strong>and</strong> Graham’s Algorithm c<strong>of</strong>fmangraham P 2|prec, p j = 1|C maxSAT Schedul<strong>in</strong>g satsch P |prec|C maxJohnson’s Algorithm johnson F 2||C maxGonzales Sahni’s Algorithm gonzalezsahni O2||C maxJackson’s Algorithm jackson J2|n j ≤ 2|C maxAlgorithm cpshopscheduler cpshopscheduler J, F, O||C maxAlg. for F 2, R1|p ij = 1, t j |C max algf2r1pijtjcmax F 2, R1|p ij = 1, t j |C maxAlg. for F ||C max with lim. buffers fslbAlg. for O|p ij = 1| ∑ T i algopij1sumtiF ||C maxO|p i = 1| ∑ T iPositive <strong>and</strong> Negative Time-Lags spntl SP NT LCyclic schedul<strong>in</strong>g (General) cycsch CSCHSAT Schedul<strong>in</strong>g satsch P |prec|C max67


68 Appendix A List <strong>of</strong> TORSCHE AlgorithmsA.2 Graph AlgorithmsalgorithmM<strong>in</strong>imum spann<strong>in</strong>g treeDijkstra’s algorithmFloyd’s algorithmTarjan’s algorithmM<strong>in</strong>imum Cost <strong>Flow</strong>Critical Circuit RatioHamilton circuitChrist<strong>of</strong>idesMWPMMulticommodity flowAll pathK shortest pathCommodity flowGraph color<strong>in</strong>gQuadratic Assignment Problemcomm<strong>and</strong>spann<strong>in</strong>gtreedijkstrafloydtarjanm<strong>in</strong>costflowcriticalcircuitratiohamiltoncircuitchrist<strong>of</strong>idesmwpmmulticommodityflowallpathxbestpathcommodityflowgraphcolor<strong>in</strong>gqapA.3 Other <strong>Optimization</strong> AlgorithmsalgorithmKnapsack problemKnapsack problem graphcomm<strong>and</strong>knapsackknapsack_graph


Bibliography[Abou 09] K. Aboudolas, M. Papageorgiou, <strong>and</strong> E. Kosmatopoulos. “Store<strong>and</strong>-forwardbased methods for the signal control problem <strong>in</strong>large-scale congested urban road networks”. Transportation ResearchPart C: Emerg<strong>in</strong>g Technologies, Vol. 17, No. 2, pp. 163 –174, 2009. Selected papers from the Sixth Triennial Symposiumon Transportation Analysis (TRISTAN VI).[Ande 05] M. Andersson, D. Henriksson, <strong>and</strong> A. Cerv<strong>in</strong>. TrueTime 1.3–Reference Manual. Department <strong>of</strong> Automatic Control, Lund University,Sweden, Lund University, Sweden, 2005.http://www.control.lth.se/truetime/.[Andr 03] M. Andresen, H. Bräsel, F. Engelhardt, <strong>and</strong> F. Werner. LiSA - ALibrary <strong>of</strong> Schedul<strong>in</strong>g Algortihms. Otto-von-Guericke-UniversitätMagdeburg, 2003. http://lisa.math.uni-magdeburg.de/.[Astr 97]K. J. Åström <strong>and</strong> B. Wittenmark. Computer-Controlled Systems:Theory <strong>and</strong> Design. Prentice Hall, November 20 1997.[Blaz 83] J. B̷lażewicz, J. Lenstra, <strong>and</strong> A. R. Kan. “Schedul<strong>in</strong>g subjectto resource constra<strong>in</strong>ts. Classification <strong>and</strong> complexity”. DiscreteApplied Mathematics, Vol. 5, No. 5, pp. 11–24, 1983.[Bonn 95] J. A. Bonneson <strong>and</strong> P. T. Mccoy. “Average duration <strong>and</strong> performance<strong>of</strong> actuated signal phases”. Transportation Research PartA: Policy <strong>and</strong> Practice, Vol. 29, No. 6, pp. 429 – 443, 1995.[Boyd 04] S. Boyd <strong>and</strong> L. V<strong>and</strong>enberghe. Convex <strong>Optimization</strong>. CambridgeUniversity Press, New York, NY, USA, March 2004.69


70 Bibliography[Cast 96][Chre 89][Chre 95]D. J. M. Castillo. “A car-follow<strong>in</strong>g model based on the Lighthill-Whitham Theory”. In: J. Lesort, Ed., Proceed<strong>in</strong>gs <strong>of</strong> the 13thInternational Symposium <strong>of</strong> Transportation <strong>and</strong> <strong>Traffic</strong> Theory,pp. 517–538, 1996.P. Chrétienne. “A Polynomial Algorithm to Optimally ScheduleTasks on a Virtual Distributed System under Tree-like PrecedenceConstra<strong>in</strong>ts”. European Journal <strong>of</strong> Operational Research, Vol. 43,No. 43, pp. 225–230, 1989.P. Chrétienne, E. G. C<strong>of</strong>fman, J. K. Lenstra<strong>and</strong>, <strong>and</strong> Z. Liu.Schedul<strong>in</strong>g theory <strong>and</strong> its applications. John Wiley & Sons Ltd,Baff<strong>in</strong>s Lane, Chichester, West Sussex PO19 1UD, Engl<strong>and</strong>, 1995.[Cram 06] Y. Crama <strong>and</strong> P. L. Hammer. “Boolean Functions: Theory, Algorithms<strong>and</strong> Applications”. 2006.http://www.rogp.hec.ulg.ac.be/Crama/Publications/BookPage.html.[Davi 01][Davi 04][Davi 98][Diak 02][Febb 01][Febb 04]R. David <strong>and</strong> H. Alla. “On Hybrid Petri Nets”. Discrete EventDynamic Systems, Vol. 11, No. 1-2, pp. 9–40, 2001.R. David <strong>and</strong> H. Alla. Discrete, Cont<strong>in</strong>uous, <strong>and</strong> Hybrid PetriNets. Spr<strong>in</strong>ger, November 23 2004.R. David <strong>and</strong> H. Alla. “A model<strong>in</strong>g <strong>and</strong> analysis tool for discreteevents systems: cont<strong>in</strong>uous Petri net”. Performance Evaluation,Vol. 33, pp. 175–199, 1998.C. Diakaki, M. Papageorgiou, <strong>and</strong> K. Aboudolas. “A multivariableregulator approach to traffic-responsive network wide signalcontrol”. Control Eng<strong>in</strong>eer<strong>in</strong>g Practice, Vol. 10, No. 2, pp. 183–195, February 2002.A. D. Febbraro, D. Giglio, <strong>and</strong> N. Sacco. “Modular representation<strong>of</strong> urban traffic systems based on hybridPetri nets”. In: IntelligentTransportation Systems, pp. 866–871, Oakl<strong>and</strong>, CA, USA, 2001.A. D. Febbraro, D. Giglio, <strong>and</strong> N. Sacco. “<strong>Urban</strong> traffic controlstructure based on hybrid Petri nets”. IEEE Transactions onIntelligent Transportation Systems, Vol. 5, pp. 224–237, 2004.


Bibliography 71[Febb 06] A. D. Febbraro <strong>and</strong> D. Giglio. “<strong>Urban</strong> traffic control <strong>in</strong> modular/switch<strong>in</strong>gdeterm<strong>in</strong>istic-timed Petri nets”. In: 11th IFACSymposium on Control <strong>in</strong> Transportation Systems, 2006.[Figu 01]L. Figueiredo, I. Jesus, J. Machado, J. Ferreira, <strong>and</strong> J. Santos.“Towards the development <strong>of</strong> <strong>in</strong>telligent transportation systems”.In: IEEE Intelligent Transportation Systems Proceed<strong>in</strong>gs, p. 29,2001.[F<strong>in</strong>d 02] R. F<strong>in</strong>deisen <strong>and</strong> F. Allgöwer. “An Introduction to Nonl<strong>in</strong>earModel Predictive Control”. In: 21st Benelux Meet<strong>in</strong>g on Systems<strong>and</strong> Control, March 2002.[Gart 83]N. H. Gartner. “OPAC: A dem<strong>and</strong>-responsive strategy for trafficsignal control”. Transportation Research Record, Vol. 906, pp. 75–81, 1983.[Gazi 02] D. C. Gazis. <strong>Traffic</strong> theory. Kluwer, 2002.[Gazi 63]D. C. Gazis <strong>and</strong> R. Potts. “The oversaturated <strong>in</strong>tersection”. In:Proc. 2nd Int. Symp. <strong>Traffic</strong> Theory, pp. 221–237, 1963.[Gonz 08] M. Gonzalez et al. “MAST (<strong>Model<strong>in</strong>g</strong> <strong>and</strong> Analysis Suite forReal-Time Applications)”. http://mast.unican.es/, 2008.[Goog 09] Google. “Prague Google Maps”. http://maps.google.com/, December2009.[Groo 92]S. H. de Groot, S. Gerez, <strong>and</strong> O. Herrmann. “Range-chart-guidediterative data-flow graph schedul<strong>in</strong>g”. Circuits <strong>and</strong> Systems I:Fundamental Theory <strong>and</strong> Applications, IEEE Transactions on,Vol. 39, pp. 351–364, 1992.[Gube 08] S. Guber<strong>in</strong>ić, G. Šenborn, <strong>and</strong> B. Lazić. Optimal <strong>Traffic</strong> Control:<strong>Urban</strong> Intersections. CRC Press, 6000 Broken Sound ParkwayNW, Suite 300, Boca Raton, 2008.[Haef 98]L. E. Haefner <strong>and</strong> M.-S. Li. “<strong>Traffic</strong> <strong>Flow</strong> Simulation for an <strong>Urban</strong>Freeway Corridor”. Transportation Conference Proceed<strong>in</strong>gs, 1998.


72 Bibliography[Hanz 03]Z. Hanzálek. “Cont<strong>in</strong>uous Petri Nets <strong>and</strong> Polytopes”. In: IEEEInternational Conference on Systems Man & Cybernetics, Wash<strong>in</strong>gton,D.C., October 2003.[He 06] H. He, L. Dong, <strong>and</strong> S. Dai. “Simulation <strong>of</strong> traffic flow withtraffic light strategies via a modified cellular automaton model”.Journal <strong>of</strong> Shanghai University (English Edition), Vol. 10, No. 3,pp. 189–191, 2006.[Henr 04][Henr 83]D. Henriksson, Y. Lu, <strong>and</strong> T. F. Abdelzaher. “Improved Predictionfor Web Server Delay Control”. In: ECRTS, pp. 61–68, IEEEComputer Society, 2004.J. J. Henry, J. L. Farges, <strong>and</strong> J. Tuffal. “The PRODYN real timetraffic algorithm”. In: 4th IFAC-IFIP-IFORS Conference on Control<strong>in</strong> Transportation System, BadenBaden, Germany, September1983.[Homo 05]J. Homolová <strong>and</strong> I. Nagy. “<strong>Traffic</strong> Model <strong>of</strong> a Microregion”. In:IFAC World Congress, 2005.[Hunt 82]P. B. Hunt, D. I. Robertson, <strong>and</strong> R. D. Bretherton. “The SCOOTon-l<strong>in</strong>e traffic signal optimization technique”. <strong>Traffic</strong> Eng. Control,Vol. 23, pp. 190–192, 1982.[ILOG 09]ILOG. ILOG CP Optimizer. IBM Corporation, ILOG Europe,9 rue de Verdun, BP 85, 94253 Gentilly Cedex, 2009.http://www.ilog.com/products/cpoptimizer/.[Julv 05] J. Júlvez <strong>and</strong> R. Boel. “Modell<strong>in</strong>g <strong>and</strong> Controll<strong>in</strong>g <strong>Traffic</strong> Behaviourwith Cont<strong>in</strong>uous Petri Nets”. In: 16th IFAC WorldCongress 2005, Elsevier, 07 2005.[Kort 06]B. H. Korte <strong>and</strong> J. Vygen. Comb<strong>in</strong>atorial <strong>Optimization</strong>: Theory<strong>and</strong> Algorithms. Spr<strong>in</strong>ger-Verlag, Berl<strong>in</strong>, Heidelberg, third Ed.,2006.[Kuti 07] M. Kutil, P. Šůcha, M. Sojka, <strong>and</strong> Z. Hanzálek. TORSCHESchedul<strong>in</strong>g Toolbox for Matlab: User’s Guide. Centre for Applied


Bibliography 73[Kwak 72]Cybernetics, Department <strong>of</strong> Control Eng<strong>in</strong>eer<strong>in</strong>g, <strong>Czech</strong> TechnicalUniversity <strong>in</strong> Prague, October 2007.http://rtime.felk.cvut.cz/schedul<strong>in</strong>g-toolbox/.H. Kwakernaak. L<strong>in</strong>ear Optimal Control Systems. John Wiley& Sons, Inc., New York, NY, USA, 1972.[Lei 01][Leun 04]J. Lei <strong>and</strong> U. Ozguner. “Decentralized hybrid <strong>in</strong>tersection control”.In: Proceed<strong>in</strong>gs <strong>of</strong> the 40th IEEE Conference on Decision<strong>and</strong> Control, pp. 1237–1242, 2001.J. Y.-T. Leung. H<strong>and</strong>book <strong>of</strong> Schedul<strong>in</strong>g. Chapman & Hall/CRC,2004.[Litt 61] J. D. C. Little. “A Pro<strong>of</strong> <strong>of</strong> the Queue<strong>in</strong>g Formula L = λW ”.Operations Research, Vol. 9, pp. 383–387, 1961.[Liu 09]Z. Liu, H. Zhao, P. Li, <strong>and</strong> J. Wang. “An <strong>Optimization</strong> Model forIO Jitter <strong>in</strong> Device-Level RTOS”. In: ITNG ’09: Proceed<strong>in</strong>gs <strong>of</strong>the 2009 Sixth International Conference on Information Technology:New Generations, pp. 1528–1533, IEEE Computer Society,Wash<strong>in</strong>gton, DC, USA, 2009.[Magn 03] L. Magni, G. De Nicolao, R. Scattol<strong>in</strong>i, <strong>and</strong> F. Allgwer. “Robustmodel predictive control for nonl<strong>in</strong>ear discrete-time systems.”.Int. J. Robust Nonl<strong>in</strong>ear Control, Vol. 13, No. 3-4, pp. 229–246,2003.[Man 00]I. T. K. Man. “Intelligent Transport Systems”. In: Better airQuality Motor Vehicle Control & Technology Workshop 2000,2000.[Masu 07] S. Masukura, T. Nagatani, K. Tanaka, <strong>and</strong> H. Hanaura. “Theory<strong>and</strong> simulation for jamm<strong>in</strong>g transitions <strong>in</strong>duced by a slow vehicle<strong>in</strong> traffic flow”. Physica A: Statistical Mechanics <strong>and</strong> its Applications,Vol. 379, pp. 263–273, 2007.[Memi 02] S. O. Memik <strong>and</strong> F. Fallah. “Accelerated SAT-based Schedul<strong>in</strong>g<strong>of</strong> Control/Data <strong>Flow</strong> Graphs”. In: ICCD ’02: Proceed<strong>in</strong>gs <strong>of</strong> the2002 IEEE International Conference on Computer Design: VLSI


74 Bibliography<strong>in</strong> Computers <strong>and</strong> Processors, p. 395, IEEE Computer Society,Wash<strong>in</strong>gton, DC, USA, 2002.[Mosk 01] M. W. Moskewicz, C. F. Madigan, Y. Zhao, L. Zhang, <strong>and</strong> S. Malik.“Chaff: Eng<strong>in</strong>eer<strong>in</strong>g an Efficient SAT Solver”. In: Proceed<strong>in</strong>gs<strong>of</strong> the 38th Design Automation Conference (DAC’01), pp. 530–535, ACM, 2001.[Muni 09] A. C. Muniyappa. Computer Safety, Reliability, <strong>and</strong> Security.Spr<strong>in</strong>ger, Berl<strong>in</strong> Heidelberg, 2009.[Naga 07][Nage 03][Papa 03][P<strong>in</strong>e 02]T. Nagatani. “Vehicular traffic through a sequence <strong>of</strong> green-wavelights”. Physica A: Statistical Mechanics <strong>and</strong> its Applications,Vol. 380, pp. 503 – 511, 2007.K. Nagel, P. Wagner, <strong>and</strong> R. Woesler. “Still flow<strong>in</strong>g: Approachesto traffic flow <strong>and</strong> traffic jam model<strong>in</strong>g”. Operations research,Vol. 51, No. 5, pp. 681–710, 2003.M. Papageorgiou, C. Diakaki, V. D<strong>in</strong>opoulou, A. Kotsialos, <strong>and</strong>Y. Wang. “Review <strong>of</strong> Road <strong>Traffic</strong> Control Strategies”. PRO-CEEDINGS - IEEE, Vol. 91, pp. 2043–2067, 2003.M. P<strong>in</strong>edo et al. LEKIN R○ - Flexible Job-Shop Schedul<strong>in</strong>g System.New York University, Leonard N. Stern School <strong>of</strong> Bus<strong>in</strong>ess NewYork, NY, 2002.http://www.stern.nyu.edu/om/s<strong>of</strong>tware/lek<strong>in</strong>/.[P<strong>in</strong>e 08] M. P<strong>in</strong>edo. Schedul<strong>in</strong>g: Theory, Algorithms, <strong>and</strong> Systems.Spr<strong>in</strong>ger, 233 Spr<strong>in</strong>g Street, NewYork, NY 10013, USA, thirdEd., 2008.[Prag 09]Prague city. “Statistika registru silničních vozidel v hl.m. Praze”.http://doprava.praha-mesto.cz/, December 2009.[Robe 69] D. Robertson. “TRANSYT method for area traffic control”. <strong>Traffic</strong>Eng. Control, Vol. 10, p. 276, 1969.[Sen 97]S. Sen <strong>and</strong> L. K. Head. “Controlled <strong>Optimization</strong> <strong>of</strong> Phases at anIntersection”. Transportation Science, Vol. 31, pp. 5–17, 1997.


Bibliography 75[Tolb 01] C. Tolba. “Cont<strong>in</strong>uous Petri Nets Models for the Analysis <strong>of</strong><strong>Traffic</strong> <strong>Urban</strong> Networks”. In: Proceed<strong>in</strong>gs <strong>of</strong> IEEE Systems, Man,<strong>and</strong> Cybernetics Conference, Arizona, USA, pp. 1323–1328, 2001.[Tolb 03][Tolb 05]C. Tolba, P. Thomas, A. ElMoudni, <strong>and</strong> D. Lefebvre. “Performancesevaluation <strong>of</strong> the traffic control <strong>in</strong> a s<strong>in</strong>gle crossroad byPetri nets”. In: IEEE Emerg<strong>in</strong>g Technologies <strong>and</strong> Factory Automation,2003.C. Tolba, D. Lefebvre, P. Thomas, <strong>and</strong> E. A. Moudni. “Cont<strong>in</strong>uous<strong>and</strong> timed Petri nets for the macroscopic <strong>and</strong> microscopictraffic flow modell<strong>in</strong>g”. Simulation Modell<strong>in</strong>g Practice <strong>and</strong> Theory,Vol. 13, No. 5, pp. 407–436, July 2005.[Wang 93] H. Wang, G. F. List, <strong>and</strong> F. Dicesare. “<strong>Model<strong>in</strong>g</strong> <strong>and</strong> Evaluation<strong>of</strong> <strong>Traffic</strong> Signal Control Us<strong>in</strong>g Timed Petri Nets”. In: IEEEInternational Conference on Systems, Man <strong>and</strong> Cybernetic, 1993.


IndexChretienne, 59conflict, see Petri net,conflictconjunctive normal form, 48control, see <strong>in</strong>tersection, controlcost function, 12, 14, 15cycle time, 11, 26, 28density, see flow, densitydistribution rate, 26equilibrium po<strong>in</strong>t, 9, 10flowdensity, 1rate, 1<strong>in</strong>com<strong>in</strong>g, 7outgo<strong>in</strong>g, 7speed, 1free space, 28fundamental diagram, 1, 2graph, 41algorithm list, 68oriented, 55green wave strategy, see <strong>in</strong>tersection,control, green wave strategyhorizoncontrol, 14prediction, 14<strong>in</strong>telligent transportation systems, 2<strong>in</strong>tersectioncontrol, 11, 12, 59green wave strategy, 53modelgeneral, 25l<strong>in</strong>ear, 10simple, 10parameters, 53l<strong>in</strong>ear programm<strong>in</strong>g, 22l<strong>in</strong>ear Quadratic Regulator, 12List schedul<strong>in</strong>g algorithm, 44Little’s law, 9multi-commodity flow, 50, 56non-l<strong>in</strong>ear model predictive controller,13<strong>of</strong>fset, see phase, <strong>of</strong>fsetPetri netconflict, 21cont<strong>in</strong>uous constant speed, 20hybrid, 20<strong>in</strong>tersection model, 28place, see placesimple, 21transition, see transition77


78 Indexphase, 3<strong>of</strong>fset, 3, 53split, 3, 12, 53placesupplied, 20queue model, 6approximate, 6complete, 6extended, 7satisfiability <strong>of</strong> boolean expression, 48schedul<strong>in</strong>g algorithm, 40list, 67work-flow, 42schedul<strong>in</strong>g problem classification, 40schedul<strong>in</strong>g with communication delay,59set <strong>of</strong> tasks, see tasksetsource transition, see transition,sourcespeedtransition, see transition, speedvehicle, 26split, see phase, splitstate vector, 6switch<strong>in</strong>g time, 13enabledstrongly, 20weakly, 20source, 31speed, 20common, 27maximal, 22, 27unit vehiclelength, 27wait<strong>in</strong>g time, 6mean value, 7m<strong>in</strong>imize, 12task, 37taskset, 37TORSCHE, 35traffic region model, 55traffic stream model, 1, 3, 19macroscopic, 19microscopic, 19transitiondelay, 27


Curriculum VitaeMichal Kutil was born <strong>in</strong> Kutná Hora, <strong>Czech</strong> Republic, <strong>in</strong> 1980. He receivedthe his master’s degree <strong>in</strong> Electrical Eng<strong>in</strong>eer<strong>in</strong>g from the <strong>Czech</strong> TechnicalUniversity (CTU) <strong>in</strong> Prague <strong>in</strong> 2004. From 2004 he was a Ph.D. student atthe <strong>Czech</strong> Technical University <strong>and</strong> from 2005 he has had the position <strong>of</strong> a fulltime researcher at the Center for Applied Cybernetics at CTU. His research<strong>in</strong>terests <strong>in</strong>clude schedul<strong>in</strong>g <strong>and</strong> urban traffic flow model<strong>in</strong>g <strong>and</strong> control.His teach<strong>in</strong>g activities at CTU cover courses on Introduction to control,Control Systems, Systems <strong>and</strong> control, Distributed Control Systems<strong>and</strong> Industrial Informatics <strong>and</strong> Internet. He has supervised several students’projects <strong>and</strong> diploma theses.Michal Kutil completed a three-month stay at Lund University, Department<strong>of</strong> Automatic Control (Sweden) where he worked on a simple <strong>in</strong>tersectionmodel control.Research results <strong>of</strong> Michal Kutil have been presented at prestigious <strong>in</strong>ternationalconferences <strong>and</strong> workshops <strong>in</strong>clud<strong>in</strong>g the 11th IFAC Symposium onControl <strong>in</strong> Transportation Systems <strong>in</strong> Delft (Netherl<strong>and</strong>s), 12th IFAC Symposiumon Control <strong>in</strong> Transportation <strong>in</strong> California (USA), 17th IFAC WorldCongress <strong>in</strong> Seoul (Korea), etc.79


List <strong>of</strong> Author’s PublicationsPapers submitted to <strong>in</strong>ternational journalsMichal Kutil, Přemysl Šůcha, Roman Čapek, <strong>and</strong> Zdeněk Hanzálek. Torscheschedul<strong>in</strong>g toolbox for matlab (co-authorship 25%). Transactions onMathematical S<strong>of</strong>tware, submitted 2010.Michal Kutil <strong>and</strong> Zdeněk Hanzálek. <strong>Traffic</strong> Intersection Model Based onConstant Speed Cont<strong>in</strong>uous Petri Net (co-authorship 50%). Transactionson Intelligent Transportation Systems, submitted 2009.Michal Kutil, Zdeněk Hanzálek, <strong>and</strong> Anton Cerv<strong>in</strong>. M<strong>in</strong>imization the Wait<strong>in</strong>gTimes <strong>in</strong> <strong>Traffic</strong> Intersection Control (co-authorship 35%). ControlEng<strong>in</strong>eer<strong>in</strong>g Practice, submitted 2009.International Conference PapersM. Kutil <strong>and</strong> Z. Hanzálek. Light controlled <strong>in</strong>tersection model based on thecont<strong>in</strong>uous petri net (co-authorship 50%). In 12th IFAC Symposium onTransportation Systems, pages 519–525, Laxenburg, 2009. IFAC.M. Kutil, P. Šůcha, <strong>and</strong> Z. Hanzálek. Schedul<strong>in</strong>g <strong>and</strong> Simulation <strong>in</strong>TORSCHE Toolbox. In 17th IFAC World Congress-Workshop on EmbeddedControl Systems: from design to implementation (co-authorship 35%),Seoul, 2008. Seoul National University.V. Navrátil <strong>and</strong> M. Kutil. Torsche Schedul<strong>in</strong>g Toolbox <strong>and</strong> Graph Theory. InSummary Volume <strong>of</strong> 16th International Conference on Process Control ’0781


82 List <strong>of</strong> Author’s Publications(co-authorship 50%), page 152, Bratislava, 2007. Slovak University <strong>of</strong>Technology.M. Kutil, Z. Hanzálek, <strong>and</strong> A. Cerv<strong>in</strong>. Balanc<strong>in</strong>g the Wait<strong>in</strong>g Times <strong>in</strong> aSimple <strong>Traffic</strong> Intersection Model (co-authorship 50%). In 11th IFACSymposium on Control <strong>in</strong> Transportation Systems, pages 313–318, NewYork, 2006. IFAC.P. Šůcha, M. Kutil, M. Sojka, <strong>and</strong> Z. Hanzálek. TORSCHE Schedul<strong>in</strong>g Toolboxfor Matlab (co-authorship 25%). In IEEE Symposium on Computer-Aided Control System Design 2006, pages 277–282, Piscataway, 2006. IEEE.M. Stibor <strong>and</strong> M. Kutil. Torsche Schedul<strong>in</strong>g Toolbox: List Schedul<strong>in</strong>g (coauthorship50%). In Proceed<strong>in</strong>gs <strong>of</strong> Process Control 2006, Pardubice,2006. University <strong>of</strong> Pardubice.R. Láska <strong>and</strong> M. Kutil. AGMAWEB - Automatically generated MatlabWeb Server presentations (co-authorship 50%). In 15th InternationalConference on Process Control 05, Bratislava, 2005. Slovak University <strong>of</strong>Technology.M. Kutil. Control <strong>of</strong> model us<strong>in</strong>g Internet (co-authorship 100%). In8th International Student Conference on Electrical Eng<strong>in</strong>eer<strong>in</strong>g, POSTER2004, May 20 2004, Prague, Praha, 2004. ČVUT v Praze, FEL.J. Fuka, M. Kutil, <strong>and</strong> F. Vaněk. SARI - Internet Textbook for Basic ControlEducation (co-authorship 30%). In Proceed<strong>in</strong>gs <strong>of</strong> Process Control ’03,pages 106–1–106–4, Bratislava, 2003. Slovak University <strong>of</strong> Technology.F. Vaněk <strong>and</strong> M. Kutil. Application <strong>in</strong> Control (co-authorship 10%). InProceed<strong>in</strong>gs <strong>of</strong> the 5th International Scientific - Technical Conference, pagesR171–1–R171–5, Pardubice, 2002. University <strong>of</strong> Pardubice.Other publicationsP. Šůcha, M. Kutil, <strong>and</strong> Z. Hanzálek. TORSCHE Schedul<strong>in</strong>g Toolbox forMatlab (co-authorship 35%). In ARTIST Graduate Course on EmbeddedControl Systems, pages 121–129, Stockholm, 2008. Royal Institute <strong>of</strong>Technology.


List <strong>of</strong> Author’s Publications 83P. Šůcha <strong>and</strong> M. Kutil. TORSCHE Schedul<strong>in</strong>g Toolbox for Matlab(coauthorship50%). In Graduate Course on Embedded Control Systems,pages 347–361, Prague, 2006. CTU, Faculty <strong>of</strong> Electrical Eng<strong>in</strong>eer<strong>in</strong>g, Department<strong>of</strong> Control Eng<strong>in</strong>eer<strong>in</strong>g.M. Kutil. Schedul<strong>in</strong>g Toolbox for Use with Matlab (co-authorship 100%).In CTU Reports - Proceed<strong>in</strong>gs <strong>of</strong> Workshop 2006, volume A, pages 160–161,Praha, 2006. Česká technika - nakladatelství ČVUT.M. Kutil. Splnitelnost Booleovských formulí (co-authorship 100%). ResearchReport K13135/05/231, ČVUT, FEL, Praha, 2005.J. Fuka <strong>and</strong> M. Kutil. Internet Texbook SARI <strong>and</strong> Remote Scale Models(co-authorship 50%). In Proceed<strong>in</strong>gs <strong>of</strong> Workshop 2005, pages 308–309,Prague, 2005. CTU.M. Kutil. Schedul<strong>in</strong>g Toolbox First Preview (co-authorship 100%). InMATLAB 2004 - Sborník příspěvků 12. ročníku konference, volume 1-2,pages 297–303, Praha, 2004. VŠCHT.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!