<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Exact and Approximation Algorithms for the Scheduling Tasks to Minimize the Number of Processors</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Natalia</forename><forename type="middle">S</forename><surname>Grigoreva</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">St.Petersburg State University Universitetskaj nab</orgName>
								<address>
									<addrLine>7/9</addrLine>
									<postCode>199034</postCode>
									<settlement>St.Petersburg</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Yu</forename><forename type="middle">G</forename><surname>Evtushenko</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">St.Petersburg State University Universitetskaj nab</orgName>
								<address>
									<addrLine>7/9</addrLine>
									<postCode>199034</postCode>
									<settlement>St.Petersburg</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">M</forename><forename type="middle">Yu</forename><surname>Khachay</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">St.Petersburg State University Universitetskaj nab</orgName>
								<address>
									<addrLine>7/9</addrLine>
									<postCode>199034</postCode>
									<settlement>St.Petersburg</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">O</forename><forename type="middle">V</forename><surname>Khamisov</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">St.Petersburg State University Universitetskaj nab</orgName>
								<address>
									<addrLine>7/9</addrLine>
									<postCode>199034</postCode>
									<settlement>St.Petersburg</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Yu</forename><forename type="middle">A</forename><surname>Kochetov</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">St.Petersburg State University Universitetskaj nab</orgName>
								<address>
									<addrLine>7/9</addrLine>
									<postCode>199034</postCode>
									<settlement>St.Petersburg</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">V</forename><forename type="middle">U</forename><surname>Malkova</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">St.Petersburg State University Universitetskaj nab</orgName>
								<address>
									<addrLine>7/9</addrLine>
									<postCode>199034</postCode>
									<settlement>St.Petersburg</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">M</forename><forename type="middle">A</forename><surname>Posypkin</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">St.Petersburg State University Universitetskaj nab</orgName>
								<address>
									<addrLine>7/9</addrLine>
									<postCode>199034</postCode>
									<settlement>St.Petersburg</settlement>
									<country key="RU">Russia</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Exact and Approximation Algorithms for the Scheduling Tasks to Minimize the Number of Processors</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">97EAA48DAA62EECEC10A637D14D00ABC</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-19T17:47+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The multiprocessor scheduling problem is one of the classic NP-hard optimization problems. The goal of this paper is to prepare algorithms for scheduling problem where set of tasks is performed on parallel identical processors. Any task can run on any processor and each processor can perform no more than one task at a time. Preemption is not allowed. The processing time of each task is known. We study both the case in which there exist precedence constrains among tasks and the case in which each task has a release time, when it becomes available for processing, and a due dates. The time by which all tasks need to be completed (makespan) is known. We have to find where and when each task will be executed.The goal is to minimize the number of processors.</p><p>We compare the nondelay schedule, in which no processor is kept idle at a time when it could begin processing a task and an inserted idle time schedule in which a processor is kept idle at this time.</p><p>We propose some approximate algorithms and branch and bound algorithm, which produces a feasible IIT( inserted idle time) schedule for a fixed makespan and the number of processors. The algorithm may be used in a binary search mode to find the smallest number of processors. To illustrate the effectiveness of our algorithms we tested them on randomly generated set of tasks.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>In many applications of multiprocessor scheduling problem a set of tasks is performed on parallel identical processors. Any task can run on any processor and each processor can perform no more than one task at a time. The number of processors is known and the objective is to determine a feasible schedule S such that the maximum completion time is minimized <ref type="bibr" target="#b1">[Brucker, 2007]</ref>. We consider two basic N P -hard <ref type="bibr" target="#b2">[Ullman, 1975]</ref> models of multiprocessor scheduling.</p><p>The problem with release times and due dates while scheduling tasks to parallel identical processors is a classical combinatorial optimization problem. Following the 3-field classification scheme proposed by <ref type="bibr" target="#b0">[Graham et al., 1979]</ref>, this problem is denoted by P |r j |L max .</p><p>In another multiprocessor scheduling problem precedence constructions between tasks are represented by a directed acyclic task graph G = (U, E). The expression u i ≺ u j means that the task u j may be initiated only after completion of the task u i . The goal is to minimize the maximum completion time. For this models, we can consider two problems. In the first well-known problem the number of processors m is known and the goal is to minimize the maximum completion time. In the other one the completion time is known and the goal is to minimize the number of processors. Informally the first problem can be seen as a "dual" to the second one. We are interested in the problem where the goal is to minimize the number of processors.</p><p>A lot of research in scheduling has concentrated on the construction of nondelay schedule. A nondelay schedule has been defined by Baker <ref type="bibr" target="#b3">[Baker, 1974]</ref> as a feasible schedule in which no processor is kept idle at a time when it could begin processing a task. An inserted idle time schedule (IIT) has been defined by J.Kanet and V.Sridharam <ref type="bibr" target="#b4">[Kanet &amp; Sridharan, 2000</ref>] as a feasible schedule in which a processor is kept idle at a time when it could begin processing a task.</p><p>In <ref type="bibr" target="#b5">[Grigoreva, 2014]</ref> we considered scheduling with inserted idle time for m parallel identical processors with the objective of minimizing the makespan and proposed branch and bound algorithm for multiprocessor scheduling problem with precedence-constrained tasks.</p><p>The goal of this paper is to propose IIT schedule for two models with the objective of minimizing the number of processors. We propose an approximate IIT algorithm named MPELS/IIT (minimum processors earliest latest start/ inserted idle time) and branch and bound algorithm, which produces a feasible IIT(inserted idle time) schedule for a fixed completion time T S and m processors. The algorithm may be used in a binary search mode to find the smallest number of processors.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Problems Statement</head><p>We consider a system of tasks U = {u 1 u 2 , . . . , u n }. Each task is characterized by its execution time t(u i ). Set of tasks is performed on parallel identical processors. Any task can run on any processor and each processor can perform no more than one task at a time. Task preemption is not allowed.</p><p>We consider two problem. Problem MPRD. Each task is characterized by its execution time t(u i ), its release time r(u i ) and its due dates D(u i ). Release time r(u i ) -the time at which the task is ready for processing and due dates D(u i ) specifies the time limit by which should be completed. A schedule for a task set U is the mapping of each task u i ∈ U to a start time τ (u i ) and a processor num(u i ). In order to make the feasible schedule, it is necessary that the start time τ (u i ) of each task u i ∈ U , satisfies the inequality</p><formula xml:id="formula_0">r(u i ) ≤ τ (u i ) ≤ D(u i ) − t(u i ).</formula><p>Length of schedule S is the quantity</p><formula xml:id="formula_1">T S = max{τ (u i ) + t(u i )|u i ∈ U }.</formula><p>We need determine the minimum number of identical processors that are needed in order to execute all tasks in time. Then it is clear T S ≤ D max where D max = max{D(u i ) u i ∈ U }.</p><p>Problem MPPC. Precedence constructions between tasks are represented by a directed acyclic task graph G = ⟨U, E⟩. E is a set of directed arcs, an arc e = (u i , u j ) ∈ E if and only if u i ≺ u j . The expression u i ≺ u j means that the task u j may be initiated only after completion of the task u i . The critical path t cp is the maximal path in graph G from the initial vertex to the final vertex. We need determine the minimum number of identical processors that are needed in order to execute this set of tasks in a time not exceeding the time of the critical path t cp .</p><p>For each task u, we define the earliest starting time v min (u) and the latest start time v max (u). The earliest starting time is numerically equal to the length of the maximal path in the graph G from the initial vertex to the vertex u. The latest start timev max (u) of task u is numerically equal to the difference between the length of the critical path t cp and the length of the maximal path from the task u, to the final vertex. To schedule is feasible, it is necessary, that, for each task u i ∈ U, start time of its execution τ (u i ) satisfies the inequalities</p><formula xml:id="formula_2">v min (u i ) ≤ τ (u i ) ≤ v max (u i ), τ (u i ) + t(u i ) ≤ τ (u j ), if u i ≺ u j .</formula><p>Subtask of these two problems is the task of constructing a feasible schedule for the given number of processors and the given execution time. To solve this problem we apply the branch and bound method in conjunction with binary search. Branch and bound method constructs a feasible schedule S of length T for m processors. The algorithm may be used in a binary search mode to find the smallest number of processors or the smallest makespan.</p><p>First, we propose an approximate IIT algorithm named MPELS/IIT. Then by combining the MPELS/IIT algorithm and B&amp;B method this paper presents BB/IIT algorithm which can find optimal solutions for MPRD and MPPC scheduling problem.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Lower Bound of the Number of Processors</head><p>Our target is to construct a feasible schedule for a fixed makespan C max with the minimum number of processors. We set C max = t cp or C max = D max . First we define the lower bound of the number of processors <ref type="bibr" target="#b7">[Fernandez &amp; Bussell, 1973]</ref>. We calculate lower bound</p><formula xml:id="formula_3">LB1 = ⌈ ∑ n i=1 t(u i )/C max ⌉.</formula><p>For problem MPRD we define for each task u i , the earliest starting time v min (u i ) = r(u i ) and the latest start time</p><formula xml:id="formula_4">v max (u i ) = D(u i )−t(u i ). We consider time intervals [t 1 , t 2 ] ⊆ [0, C max ]. Let L([t 1 , t 2 ]) be a length of time interval [t 1 , t 2 ].</formula><p>Let M (t 1 , t 2 ) be the total minimal time of tasks in time interval [t 1 , t 2 ], then</p><formula xml:id="formula_5">M (t 1 , t 2 ) = ∑ ui∈U min{L(x(u i )), L(y(u i ))},</formula><p>where</p><formula xml:id="formula_6">x(u i ) = [v min (u i ), v min (u i ) + t(u i )] ∩ [t 1 , t 2 ], y(u i ) = [v max (u i ), v max (u i ) + t(u i )] ∩ [t 1 , t 2 ]. Then LB2 = max{M (t 1 , t 2 )/C max |[t 1 , t 2 ] ∈ [0, C max ].} Let LB = max{LB1, LB2}.</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Approximate Algorithms</head><p>We defined the lower bound of the number of processors. We set the number of processors smin = LB and construct a feasible schedule step by step.</p><p>We have to define how select a task, how select a processor. Let k tasks have been put in the schedule and partial schedule S k have been constructed. For each task u i , we know the earliest starting time v min (u i ) and the latest start time v max (u i ), which is a priority of task.</p><p>We know the completion time of processors time k [1 : smin]. Denote t min (k) = min{time k [i]|i ∈ 1 : smin} is the earliest time of ending all the tasks included in a partial solution S k .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Definitoin 1 The task</head><formula xml:id="formula_7">u cr / ∈ S k is called the delayed task for S k , if v max (u cr ) &lt; t min (k), where v max (u cr ) = min{v max (u)|u / ∈ S k }.</formula><p>Lemma 1 Let delayed task u cr for a partial solution S k exists, then a partial solution S k is unfeasible.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Approximate Algorithm MPELS/IIT</head><p>The approximate schedule is constructed by MPELS/IIT algorithm as follows:</p><p>1. Determine the processor l 0 such as t min (l 0 ) = min{time k [i]|i ∈ 1..smin}.</p><p>2. Select the task u 0 , such as</p><formula xml:id="formula_8">v max (u 0 ) = min{v max (u i )|v min (u i ) − t min (k) ≤ I k , u i / ∈ S k }.</formula><p>3. If t min (l 0 ) &gt; v max (u 0 ), then smin := smin + 1 and time[smin] := 0; go to 1.</p><p>6 Branch and Bound Method for Constructing a Feasible Schedule BB(U, T, z; S, m S )</p><p>The branch and bound algorithm produces a feasible IIT( inserted idle time) schedule for a fixed makespan T and the number of processors z.. In order to optimize over m we must iterate the scheduling process over possible values of m. We proposed the formal description of the branch and bound method in <ref type="bibr" target="#b5">[Grigoreva, 2014]</ref>.</p><p>In order to make the feasible schedule, it is necessary that each task u i ∈ U, the start time of its execution τ (u i ) satisfies the inequality</p><formula xml:id="formula_9">v min (u i ) ≤ τ (u i ) ≤ v max (u i ).</formula><p>In order to describe the branch and bound method it is necessary to determine the set of tasks that we need to add to a partial solution, the order in which task will be chosen from this set and the rules that will be used for eliminating partial solutions.</p><p>Let I be the total idle time of processors in the feasible schedule S of length T S for m processors, then</p><formula xml:id="formula_10">I = z • T S −</formula><p>∑ n i=1 t(u i ). For a partial solution σ k we know idle(u i )-idle time of processor before start the task u i . At each level k will be allocated a set of tasks U k , which we call the the ready tasks. These are tasks that need to add to a partial solution σ k−1 , so check all the possible continuation of the partial solutions.</p><formula xml:id="formula_11">Definitoin 2 Task u / ∈ σ k is called the ready task at the level k, if r(u) satisfies the inequality r(u) − t min (k) ≤ I − ∑ u∈σ k idle(u i ).</formula><p>The main way of reducing of the exhaustive search will be the earliest possible identification unfeasible solutions. We formulated and proof the rules of deleting unfeasible solutions in <ref type="bibr" target="#b6">[Grigoreva, 2015]</ref>.</p><p>Lemma 2 Let delayed task u cr for a partial solution σ k exists, then a partial solution σ k is unfeasible.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Lemma 3 Let delayed task u cr for a partial solution σ</head><formula xml:id="formula_12">k = σ k−1 ∪ u k exists, then for any task u, such as max{t min (k − 1), r(u)} + t(u) &gt; v max (u cr ) a partial solution σ k−1 ∪ u is unfeasible. Lemma 4 Let delayed task u cr for a partial solution σ k = σ k−1 ∪ u k exists, and max{t min (k − 1), r(u cr ))} + t(u cr ) &gt; v max (u k ) then the partial solution σ k−1 is unfeasible.</formula><p>Another method for determining unfeasible partial solutions based on a comparison of resource requirements of tasks and total processing power. In this case we propose to modify the algorithm for determining the interval of concentration <ref type="bibr" target="#b7">[Fernandez &amp; Bussell, 1973]</ref> for the complete schedule. We apply this algorithm to a partial schedule σ k and determine its admissibility.</p><p>We consider time intervals [t 1 , t 2 ] ⊆ [t min (k), T S ]. Let M P (t 1 , t 2 ) be the total time of free processors in time interval [t 1 , t 2 ] then</p><formula xml:id="formula_13">M P (t 1 , t 2 ) = m ∑ i=1 max{0, (t 2 − max{t 1 , time k [i]})}.</formula><p>For all task u i / ∈ σ k we find minimal time of its begin:</p><formula xml:id="formula_14">v(u i ) = max{v min (u i ), t min (k)}. Let L([t 1 , t 2 ]) be a length of time interval [t 1 , t 2 ].</formula><p>Let M k (t 1 , t 2 ) be the total minimal time of tasks in time interval [t 1 , t 2 ], then </p><formula xml:id="formula_15">M k (t 1 , t 2 ) = ∑ ui / ∈σ k min{L(x k (u i )), L(y(u i ))}, where x(u i ) = [v min (u i ), v min (u i ) + t(u i )] ∩ [t 1 , t 2 ], y(u i ) = [v max (u i ), v max (u i ) + t(u i )] ∩ [t 1 , t 2 ]. Let est(σ k ) = max [t1,t2]∈[tmin(k),TS ] {M k (t 1 , t 2 ) − M P (t 1 , t 2 ).} Lemma 5 If est(σ k ) &gt; 0 then a partial solution σ k is unfeasible.</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7">Computation Result</head><p>In this section we present numerical results for the proposed algorithms. To test the approximate M P ELS/IIT algorithm and BB/IIT algorithm, we conducted computational experiment. The quality of the solutions we estimated average ratio of the solution value over the lower bound of the minimum number of processors LB.</p><p>We restrict the number of iterations for a searching feasible solution by branch and bound method. If a feasible schedule S of the makespan T for m processors was not received for 20000 iterations, it was assumed that this does not exist and the number of processors m increased. This approach provided a schedule for all test problems, but whether or not the solutions obtained are exact or approximate remains an open question. Therefore, the quality of the solutions was estimated against to the lower bound of the minimum number of processors LB. We used tests from Standard Task Graph Set, which is available at http://www.kasahara.elec.waseda.ac.jp/schedule/.</p><p>Standard Task Graph Set is a kind of benchmark for evaluation of multiprocessor scheduling problem with precedence-constrained tasks, where optimal decisions are known. The each series of tests consists of 180 examples. We considered tests from Standard Task Graph Set with n = 100, and n = 300, where n is the number of tasks.</p><p>First, we tested approximate algorithms. The first column of all tables contains the number of tasks n.</p><p>In Table <ref type="table" target="#tab_0">1</ref> average relative error RT = (mL − LB)/LB for three algorithms are presented. Results for model with release and due dates are presented in the first, second and three columns and results for model with precedence constrained tasks are presented in fourth, fifth and sixth columns. We see from table 1 that the best approximate schedules are created by approximate algorithm MPELS.</p><p>The average relative error RT = (mL − LB)/LB of schedules obtained by BB/IIT algorithm and M P ELS/IIT algorithm are presented in next tables.</p><p>Table <ref type="table" target="#tab_1">2</ref> and table <ref type="table" target="#tab_2">3</ref> shows the results for M P ELS/IIT algorithm and BB/IIT algorithm. The column N opt shows the cases (in percents) where optimal schedules were obtained by there methods. The next column shows the number of cases (in percents) in which approximate solutions with mL ≤ LB + 2 were obtained, but optimal solutions could not be obtained because of iterations limit. But an intermediate solution can be an optimal solution. The next two columns shows the number of cases in which RT ∈ (0.05, 0.3] and RT greater then 0.3.</p><p>Approximate solutions with the error RT of less then 10 percent were obtained by MPEST/IIT algorithm in 90 percent of the cases tested. It is seen from Table <ref type="table" target="#tab_1">2</ref> that optimal solutions were obtained for 63 percent (in average) of the cases tested. It is seen from Table <ref type="table" target="#tab_2">3</ref> that optimal solutions were obtained for 68,58 percent (in average) of the cases tested. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="8">Conclusion</head><p>In this work we proposed the new approximate algorithm and branch and bound method for solving the multiprocessor scheduling problem with the objective of minimizing of the number of processors. We found that the minimum number processors problem can be solved within reasonable time for moderate-size systems. With an increasing number of tasks, branch and bound method requires more time to obtain the optimal solution.</p><p>Limiting the number of iterations seems justified and promising way to obtain a good approximate solution.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 1 :</head><label>1</label><figDesc>Relative Error of the Minimum Number of Processors for Approximate Algorithms</figDesc><table><row><cell>n</cell><cell cols="6">MPELS/RD SPELS/RD MPND/RD MPELS/PC SPELS/PC MPED/PC</cell></row><row><cell>100</cell><cell>0.141</cell><cell>0.153</cell><cell>0.161</cell><cell>0.132</cell><cell>0.171</cell><cell>0.153</cell></row><row><cell>100</cell><cell>0.152</cell><cell>0.174</cell><cell>0.213</cell><cell>0.141</cell><cell>0.231</cell><cell>0.142</cell></row><row><cell>100</cell><cell>0.136</cell><cell>0.201</cell><cell>0.222</cell><cell>0.151</cell><cell>0.246</cell><cell>0.171</cell></row><row><cell>300</cell><cell>0.158</cell><cell>0.197</cell><cell>0.198</cell><cell>0.173</cell><cell>0.137</cell><cell>0.156</cell></row><row><cell>300</cell><cell>0.163</cell><cell>0.155</cell><cell>0.221</cell><cell>0.162</cell><cell>0.163</cell><cell>0.210</cell></row><row><cell>300</cell><cell>0.175</cell><cell>0.186</cell><cell>0.193</cell><cell>0.210</cell><cell>0.165</cell><cell>0.221</cell></row><row><cell>Average</cell><cell>0.156</cell><cell>0.177</cell><cell>0.201</cell><cell>0.161</cell><cell>0.185</cell><cell>0.175</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Table 2 :</head><label>2</label><figDesc>Relative Error of the Minimum Number of Processors for MPELS/IIT Method.</figDesc><table><row><cell>n</cell><cell cols="4">N opt mL ≤ LB + 2 RT ≤ 0.3 RT &gt; 0.3</cell></row><row><cell>100</cell><cell>63.1</cell><cell>11.2</cell><cell>22.5</cell><cell>3.1</cell></row><row><cell>100</cell><cell>61.4</cell><cell>12.3</cell><cell>22.0</cell><cell>4.3</cell></row><row><cell>100</cell><cell>64.2</cell><cell>11.5</cell><cell>19.1</cell><cell>5.2</cell></row><row><cell>300</cell><cell>65.1</cell><cell>10.9</cell><cell>20.1</cell><cell>4.5</cell></row><row><cell>300</cell><cell>59.8</cell><cell>11.6</cell><cell>24.4</cell><cell>4.2</cell></row><row><cell>300</cell><cell>62.1</cell><cell>12.4</cell><cell>20.6</cell><cell>5.1</cell></row><row><cell cols="2">Average 62.60</cell><cell>11.63</cell><cell>21.44</cell><cell>4.37</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head>Table 3 :</head><label>3</label><figDesc>Relative Error of the Minimum Number of Processors for BB/IIT Method.</figDesc><table><row><cell>n</cell><cell cols="4">N opt mL ≤ LB + 2 RT ≤ 0.3 RT &gt; 0.3</cell></row><row><cell>100</cell><cell>70,1</cell><cell>10,3</cell><cell>16.7</cell><cell>2.9</cell></row><row><cell>100</cell><cell>67.4</cell><cell>13.1</cell><cell>15.4</cell><cell>4,1</cell></row><row><cell>100</cell><cell>71,2</cell><cell>14,1</cell><cell>9.8</cell><cell>4.9</cell></row><row><cell>300</cell><cell>72,1</cell><cell>13,8</cell><cell>10.2</cell><cell>3.9</cell></row><row><cell>300</cell><cell>63,3</cell><cell>13,2</cell><cell>20,4</cell><cell>3,1</cell></row><row><cell>300</cell><cell>67.4</cell><cell>14,3</cell><cell>13,6</cell><cell>4.7</cell></row><row><cell cols="2">Average 68.58</cell><cell>13.19</cell><cell>14.35</cell><cell>3.88</cell></row></table></figure>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>4. If idle(u 0 ) = v min (u 0 ) − t min (l 0 ) &gt; 0 then select task u 1 such as v max (u 1 ) = min{v max (u i )|v min (u i ) ≤ t min , u i / ∈ S k }.</p><p>5. if idle(u 0 ) &gt; v max (u 1 ) − v max (u 0 )) or t min (k) + t(u 1 ) ≤ v max (u 0 )) then select u 1 else select u 0 .</p><p>6. If idle(u 0 ) &gt; 0, and we select u 0 then choose a task u * / ∈ S k , which can be executed during the idle time of the processor l 0 without increasing the start time of the task u 0 , namely</p><p>7. If the task u * is found, then we assign to the processor l 0 the task u * , otherwise the task u 0 .</p><p>We compare schedules which constructed by MPELS/IIT algorithm with schedules constructed by nondelay algorithm named MPELS/ND.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Approximate Algorithm MPELS/ND</head><p>The approximate schedule is constructed by MPELS/ND algorithm as follows:</p><p>1. Determine the processor l 0 such as</p><p>3. If t min (l 0 ) &gt; v max (u 0 ) then smin := smin + 1; time[smin] := 0, go to 1.</p><p>4. Assign the task u 0 to the processor l 0 .</p><p>MPELS/ND algorithm is a list algorithm and it selects a task, which can be executed without the idle of processor. If we find the task, which can begin at time t min (l 0 ), we set this task to processor l 0 .</p><p>We can select a processor by another way. At first we select a job, then select a processor for this job.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3">Algorithm SPELS/IIT</head><p>1. Select the task u 0 , such as</p><p>2. If t min (l 0 ) &gt; v max (u 0 ) then smin := smin + 1 and time[smin] := 0, go to 1.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Select a processor l 1 such as time</head><p>4. Assign the task u 0 to the processor l 1 .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Algorithm for Constructing an Optimal Schedule</head><p>The branch and bound algorithm produces a feasible IIT schedule for a fixed makespan T S and a fixed number of processor m. In order to optimize over m we must iterate the scheduling process over possible values of m. Let m opt be minimum processors of optimal schedule. We defile interval (a, b] such as a &lt; m opt ≤ b. The preliminary step of the algorithm is a heuristic search for a good solution in order to have a good upper bound for the optimum number of processors.</p><p>The </p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Optimization and approximation in deterministic sequencing and scheduling: A survey</title>
		<author>
			<persName><forename type="first">Graham</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Ann. of Disc. Math</title>
		<imprint>
			<biblScope unit="volume">5</biblScope>
			<biblScope unit="issue">10</biblScope>
			<biblScope unit="page" from="287" to="326" />
			<date type="published" when="1979">1979. 1979</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">Scheduling Algorithms</title>
		<author>
			<persName><forename type="first">P</forename><surname>Brucker ; Brucker</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2007">2007. 2007</date>
			<publisher>Springer</publisher>
			<pubPlace>Berlin</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">NP-complete scheduling problems</title>
		<author>
			<persName><forename type="first">J</forename><surname>Ullman ; Ullman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. Comp. Sys. Sci</title>
		<imprint>
			<biblScope unit="volume">171</biblScope>
			<biblScope unit="page" from="394" to="394" />
			<date type="published" when="1975">1975. 1975</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">Introduction to Sequencing</title>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">R</forename><surname>Baker ; Baker</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1974">1974. 1974</date>
			<publisher>John Wiley &amp; Son</publisher>
			<pubPlace>New York</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Scheduling with inserted idle time:problem taxonomy and literature review</title>
		<author>
			<persName><forename type="first">J</forename><surname>Kanet &amp; Sridharan ; Kanet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Sridharan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Oper.Res</title>
		<imprint>
			<biblScope unit="volume">48</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="99" to="110" />
			<date type="published" when="2000">2000. 2000</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Branch and bound method for scheduling precedence constrained tasks on parallel identical processors</title>
		<author>
			<persName><forename type="first">N</forename><forename type="middle">S</forename><surname>Grigoreva ; Grigoreva</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Lecture Notes in Engineering and Computer Science: Proc. of The World Congress on Engineering 2014</title>
				<meeting><address><addrLine>WCE; London, U.K.</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2014-07">2014. 2014. 2014. July, 2014</date>
			<biblScope unit="page" from="832" to="836" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Multiprocessor Scheduling with Inserted Idle Time to Minimize the Maximum Lateness</title>
		<author>
			<persName><forename type="first">N</forename><forename type="middle">S</forename><surname>Grigoreva ; Grigoreva</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 7th Multidisciplinary International Conference of Scheduling:Theory and Applications</title>
				<meeting>the 7th Multidisciplinary International Conference of Scheduling:Theory and Applications<address><addrLine>Prague,MISTA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2015">2015. 2015</date>
			<biblScope unit="page" from="814" to="816" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Bounds the number of processor and time for multiprocessor optimal schedules</title>
		<author>
			<persName><forename type="first">Bussell ;</forename><surname>Fernandez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Fernandez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Bussell</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Tran. on Comp</title>
		<imprint>
			<biblScope unit="volume">4</biblScope>
			<biblScope unit="issue">11</biblScope>
			<biblScope unit="page" from="745" to="751" />
			<date type="published" when="1973">1973. 1973</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
