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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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,

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

Saved successfully!

Ooh no, something went wrong!