Routing and Scheduling of Network Flows with Deadlines and Discrete Capacity Allocation

05/12/2019 ∙ by Ghafour Ahani, et al. ∙ Uppsala universitet 0

Joint scheduling and routing of data flows with deadline constraints in communication networks has been attracting research interest. This type of problem distinguishes from conventional multicommodity flows due to the presence of the time dimension. In this paper, we address a flow routing and scheduling problem with delivery deadline, where the assignment of link capacity occurs in discrete units. Discrete capacity allocation is motivated by applications in communication systems, where it is common to have a base unit of capacity (e.g., wavelength channel in optical communications). We present and prove complexity results of the problem. Next, we give an optimization formulation based on a time slicing approach (TSA), which amounts to a discretization of the time into time slices to enable to formulate the deadline constraints. We then derive an effective reformulation of the problem, via which a column generation algorithm (CGA) is developed. In addition, we propose a simple and fast Max-Flow based Algorithm (MFA). We use a number of network and traffic scenarios to study various performance aspects of the algorithms.



There are no comments yet.


This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

Joint optimization of routing and scheduling of data flows across networks is of importance to many applications, such as data exchange in scientific projects [1], data replication between datacenters [2], as well as reducing carbon footprint [3] and electrical expenses  [4] of datacenter networking. A data flow may be subject to a delivery deadline [5]. For example, a flow may be a data backup or a collected information from weather stations. The former is less time sensitive and may happen in the background, while the latter is more time sensitive and may be subject to a deadline [6]. In fact, a survey of customers by Microsoft [7] reveals that most of them desire a deadline guarantee for data delivery, and timely delivery carries economic incentives as well [8].

We consider a flow routing and scheduling problem, where each flow is characterized by a source, a destination, and amount of data (in bits) to be delivered. The capacity allocated to a flow on a link corresponds to the data transmission rate (in bits per second). A flow may be subject to a deadline, before which the entire amount of demand has to reach the destination. The objective is to minimize the overall completion time. We consider, what was not studied extensively earlier, that the capacity of a link can be allocated to flows only in the form of discrete units; each unit is allocated to at most one flow. This is rather common in communication networks, where capacity allocation among flows has limitation in granularity. For example, in optical networks the capacity of a link is often defined by the number of transmission channels (wavelengths), and a wavelength channel is not shared among flows.

The key difference between our problem setting and classic flow problems (in particular multicommodity flow, e.g.,[9, 10, 11]) is the time component and scheduling aspect because of the presence of deadline. Some works (e.g.,[6], [12], [13, 14, 15, 16, 17]), which we will review in more details in Section II, have addressed the time aspect, though not for discrete capacity allocation. The combination of deadline constraint and discrete capacity allocation imposes challenges.

There are several objectives of our study. First, we would like to examine if scheduling with deadline impacts problem complexity. Second, our study targets developing mathematical formulations and understanding to what extend they enable problem solution. Another key objective is to derive efficient solution algorithms in terms of optimality and time efficiency. Finally, we aim at using computational study to shed light on how well algorithms perform for application scenarios of interest.

Our main findings, with respect to the above objectives, are as follows.

  • As we prove later, the problem is NP-hard, not only because of routing with discrete capacity allocation, but also inherently due to the time scheduling aspect. Namely, the problem is NP-hard even if the routing is fully fixed.

  • A linear integer formulation can be derived using time slicing, i.e., the time is partitioned into slices (aka time slots). If there are too few slices, however the formulation does not represent exactly the original problem, hence the solution is sub-optimal in general and the formulation may be infeasible even if feasible solutions exist to the original problem. Using many slices, on the other hand, increases the problem size.

  • We derive an alternative formulation, in which the possible routing patterns (with associated capacity allocations) are the key components, and time durations of using these patterns are the optimization variables. As there are exponentially many routing patterns, we develop a column generation algorithm. Applying the algorithm until its termination gives the optimal solution.

  • We also consider an intuitive and fast heuristic algorithm based on maximum flows. The algorithm uses the deadlines to set priorities of the flows.

  • Via extensive numerical results, it is observed that the column generation algorithm outperforms time slicing approach. The max-flow based algorithm, although fast, has issues with optimality and feasibility. However, we found that column generation can be combined with the heuristic as well as with the time slicing model, to gain significant reduction of computing effort.

The remainder of the paper is organized as follows. In Section II, we review the related works. In Section III, we provide problem definition, illustrative examples, as well as complexity analysis for two cases. In the first case, both routing and scheduling are subject to optimization. In the second one, routing is fixed and only scheduling is present. In Section IV, we formulate the problem using the time-slicing approach, and highlight potential drawbacks of this approach. Next, we reformulate the problem using routing patterns, and present our column generation algorithm in Section V. The heuristic algorithm is then presented in Section VI. Performance evaluation is given in Section VII followed by conclusions in Section VIII.

Ii Related works

Existing studies of scheduling flows in networks with deadlines can be categorized into two groups. The first group is based on heuristic algorithms that offer sub-optimal solutions. For example, fair sharing that divides the link capacity equally among flows, is known to be far from optimal in terms of minimizing the overall completion time [18] and meeting the flow deadlines [19]. Scheduling flows with respect to their deadlines is known to minimize the number of late flows, whereas sending flows with smaller sizes first minimizes the mean flow completion time [20]. The authors of [21] proposed an algorithm based on solving a sequence of maximum flow problems. As it is apparent, none of such algorithms guarantees obtaining the optimal solution and they may fail in obtaining a feasible solution, even though they generally run fast. The second group of algorithms uses the idea of discretization of time into slices. The problem in question is divided into several interconnected sub-problems, where each sub-problem deals with one time slice in which some amount of data is delivered.

Chen and Primet [12] investigated multiple bulk data transfer (MBDT) subject to deadline constraints with given routing paths. The problem is formulated as bandwidth allocation over time to minimize the network congestion factor. Within every time slice, a bandwidth is reserved for each data transfer. Rajah et al. [22] studied the problem of dynamic MBDT with deadlines, and proposed a scheduling framework based on dividing time into uniform slices. The problem is then formulated as a maximum concurrent flow problem, using throughput as the performance objective. Extending this work, in [13] the authors proposed a non-uniform time slicing method and introduced admission control along with scheduling algorithms to minimize the request rejection ratio. Wang et al. [14] studied the problem of MBDT with deadlines and time-varying link capacity. Assuming the presence of delay tolerance, the problem amounts to reducing the peak traffic load on links along the temporal dimension via store-and-forward. Time slicing is used for problem formulation. In [23], the authors studied MBDT in inter-datacenter networks for backups and recovery purposes in natural disasters. In this work, the destination (backup site) of a data flow is unknown and is subject to optimization. The objective is to minimize the time for the backup process. In [24], the authors investigated MBDT with soft and hard deadlines. They proposed a bandwidth on demand broker model. The works in [23] and [24] considered discrete capacity allocation using an optical wavelength channel as the base unit. Zuo and Zho [6] studied the problem of scheduling multiple bandwidth reservation requests on one reservation path. Two performance parameters, the completion time and the duration of scheduling individual flows, were considered. The authors of [6] proved that both problems are NP-complete. The authors also presented improvements of two heuristic algorithms previously given in [15]. The authors of [16] studied dynamic inter-datacenter data transfers with guaranteed deadlines. They used time slots to model the timeline, and proposed two methods to determine whether or not a new coming flow can be accommodated. The work in [17] considered transferring data from one source to multiple destinations, which is related to the Steiner tree problem.

As was mentioned earlier, the two key elements in the problem we study are scheduling with deadline and integer capacity allocation. In respect of these, the current literature presented above use either heuristics or time slicing formulations to approach problem solutions. To the best of our knowledge, there is a lack of studies investigating problem complexity inherently connected to the scheduling element, and alternative formulations than enable efficient computing of optimum. These represent the literature gap that the current paper intends to fill.

Iii Problem Definition and Complexity Analysis

Iii-a Problem Definition

A network is modeled by a directed graph where is the set of nodes and is the set of arcs. The arc from node to node is represented by . The capacity of arc is denoted by . Denote by the available set of capacity units. For each arc and flow, the amount of the arc capacity allocated is restricted to be a nonnegative integer combination of the elements of . For arc , the total allocated capacity to the flows may not exceed . The allocated capacity to a flow represents the maximum rate at which the data of this flow can be transmitted on the link. The set of flows is denoted by . Each flow , , requires an amount of data to be sent from an origin node to a destination node. A flow may have a deadline before which its entire amount of data must be delivered to the destination. A flow is specified by a 4-tuple where , , , and denote the origin, destination, deadline, and size (i.e., amount of data), respectively. For convenience, in Appendix A, we provide a summary of the notion used for problem definition as well as those used in the algorithms in later sections.

We say a flow is scheduled, if some positive amount of rate for this flow, from the origin to the destination (hereafter referred to as end-to-end rate), is achieved by capacity allocation along one or multiple paths. In general, the end-to-end rate of a flow changes over time and this rate may be zero for some time periods (in which some other flows are scheduled), after which the flow is scheduled again to deliver more data [13, 14]. In other words, a flow may be scheduled in multiple but not necessarily consecutive time periods. In each time period, some portion of data is sent and its amount depends on the duration of time period and the rate at which flow is sent. Moreover, a flow may be routed along multiple paths with different rates. Path selection and capacity allocation generally differ from one time period to another. Therefore, the duration of time period, the capacity allocation, as well as route selection are to be jointly optimized. That capacity allocation has to be some integral combinations of the available capacity units restricts the flow solution to be what is commonly known as integer flows. Hence we call our problem the Integer Flow with Deadline Problem (IFDP), in which routing and scheduling are strongly intertwined. The objective is to complete all the flows (aka makespan in some other context), subject to capacity and deadline constraints. We remark that, if a flow is scheduled in some non-consecutive time periods, the intermediate period will always be utilized for other flows, because our objective function is to minimize the makespan. That is, there will not be any idle time period in the optimal schedule.

Iii-B Illustrative Examples

We provide an example of IFDP in Figure 1, for a simple network of three nodes and three arcs. All arcs have unit capacity. Each flow has one possible path. It is apparent that, at any time, only one flow can be scheduled due to discrete capacity allocation. It is easy to see that the optimal schedule begins with flow A for 0.5 time units, followed by flow B for 1.5 time units, and finally flow C for 1 time unit. The overall completion time is 3. Note that if continuous capacity allocation is allowed, the corresponding optimum would route flows A, B, and C simultaneously, each with 0.5 units of capacity, for 1 time unit. Next, flows B and C are combined again using 0.5 capacity units each, for a duration of 1 time unit. Flow C is then scheduled alone for 0.5 time units. The completion time is 2.5.

(a) Network topology.
Flow Origin Destination Size Deadline
A 1 3 0.5 1
B 2 1 1.5 2
C 3 2 1 3
(b) Flow parameters.
Figure 1: An example with 3 flows on a network with link capacity one.

As can be seen from the example and its solution, the routing aspect of IFDP clearly assembles integer flows applied to telecommunication networks (e.g., [10, 25]). On the other hand, the scheduling aspect that takes place along the time dimension, and the presence of deadlines make IFDP different from classical flow problems.

(a) Network topology.
Flow Origin Destination Size Deadline
A 1 5 1 1
B 2 5 1 2
C 3 5 1 3
D 2 4 2 3
(b) Flow parameters.
Figure 2: An example for which a flow is not scheduled in consecutive time periods at optimum.

We give a second example in Figure 2 to illustrate non-consecutive scheduling of a flow along time. As for the previous example, all arcs have unit capacity. Consider first flows A, B, and C. Because they share a common arc, the only feasible solution to meet their deadlines is to schedule A, B, and C, for the given order using one time unit each. The overall completion time is 3. Now consider flow D, with size 2 and deadline 3. The path of flow D is in conflict with that of flow B. However, flow D can be scheduled first together with flow A in the first time unit, and then again with flow C in the third time unit, meeting the deadline of flow D and the overall completion time remains 3.

Iii-C Complexity Analysis

IFDP consists of jointly considering flow routing and scheduling. Because multicommodity flow with integer capacity allocation is NP-hard, even for the case of single size of capacity unit [26], the NP-hardness of IFDP is expected. We formalize this result for the sake of completeness.

Theorem 1.

IFDP is NP-hard.


See Appendix B. ∎

A more interesting aspect of problem complexity arises when the path selection is fixed. Note that multicommodity flow with integer capacity allocation is no longer NP-hard, if one fixed path is given for each commodity, as the problem will reduce to a simple feasibility check. In the following, we show the fact that the complexity of IFDP is not only due to integer capacity allocation, but also inherently connected to scheduling along the time dimension. Namely, the problem remains NP-hard, even if the paths of the flows are fully fixed.

Theorem 2.

IFDP with given paths is NP-hard.


See Appendix C. ∎

We end the section by a special case, for which IFDP can be solved in polynomial-time. Namely, there is exactly one bottleneck link on which all flows interact in terms of capacity sharing, which for example appears in some application scenarios [6]. Note that the paths to be used by the flows are not given, however all candidate paths include the bottleneck link. In this case, IFDP reduces to a sequence of maximum flow problems.

Theorem 3.

If the possible paths of flows all share exactly one common link, of which the capacity is non-redundant for any flow (i.e., the maximum end-to-end rate of the flow equals the capacity, even if the other flows are discarded), then the optimum of IFDP is to route and schedule the flows separately in time, in ascending order of the deadlines.


See Appendix D. ∎

Iv Mathematical Formulation using Time-slicing

Iv-a Problem formulation

Mathematically formulating IFDP in not very obvious. One possibility of representing the problem is the Time-Slicing based Approach (TSA). In TSA, time is divided into time slices, of which the set is denoted by , and the length of time slice is denoted by . Each time slice is associated with a capacity allocation. This allocation is used throughout the time slice. Hence this is an approximate formulation, and the accuracy depends on the granularity of time slicing. For each time slice, the problem is similar to regular multicommodity flows. The time slices are then considered jointly with respect to data demands and deadlines. The concept of time slicing has been used for modeling and solving problems related to IFDP, see [12, 13, 14, 22]. The TSA we present below is an adaption of the concept to our problem.

We use variable to denote the rate allocated to flow on arc in time slice . Variable is used to represent the total end-to-end rate of flow in time slice . Consequently, is the amount of data of flow that is delivered in this time slice. Let be a non-negative integer variable, denoting how many times capacity unit is allocated to on in

. Finally we use binary variable

to denote if there is any flow with positive rate in time slice . The TSA formulation is given below.


The objective function (1a) states the minimization of the total number of used time slices. The flow conservation constraints are formulated in (1b). The next set of constraints (1c) state that the entire amount of data of a flow has to be delivered in the time slices before the deadline. Inequality (1d) bounds the arc rate to what is permitted by the values of -variables and the right-hand side is a non-negative integer combination of the capacity units. Note that the inequality allows the rate of flow on link to be smaller than the allocated capacity. This is because we have formulated (1c) using equality. The arc capacity constraint is given in (1e). It should be remarked that the formulation remains valid without the presence of in the right-hand side. However the inclusion of

is for the purpose of strengthening the linear programming (LP) relaxation. In (

1f), the -variables are linked to the end-to-end rate variables, such that if there is any positive rate of any flow in time slice , otherwise due to minimization. By (1g), time slices have to be used consecutively, starting with the first slice. This, together with (1a), implies that the optimal solution does lead to the minimum overall completion time.

Iv-B Remarks on TSA

As TSA is an integer linear model, standard integer programming solvers can be used for its solution. One difficulty of using TSA is that it is not obvious how many time slices should be defined. Clearly, by increasing the number of time slices, all feasible solutions of IFDP are eventually feasible solutions of TSA as well, and hence solving TSA leads to the optimum of IFDP. A large number of slices, however, significantly increases the size of the TSA model. On the other hand, if too few slices are used, solving the TSA model may give a sub-optimal solution, and it may happen that no feasible solution can be found at all via the model, even though such solutions exist to the original IFDP instance.

Consider again the example given in Figure 1. Suppose time is divided into three time slices, each having , i.e., , , and . It is easy to see that there is no feasible solution to the TSA formulation. With continuous capacity, however, the problem instance is feasible. The optimal solution is illustrated in Figure 3(b), consisting of scheduling unit of each flow in time slice , followed by scheduling unit of flow using full capacity of arcs and in time slice , and finally unit of capacity of arcs and to flow in the last time slice . The overall completion time is . Note however this value originates from the granularity in time slicing; in fact, the completion time would be shorter if the last time slice can be broken into smaller segments.

Next, suppose we use a higher granularity and set , resulting in six time slices: , , , and . In this case, feasible solutions exist also with discrete capacity allocation. The optimum with discrete allocation is to schedule flow in the first time slice, flow in the next three time slices, and flow in the last two time slices. The deadlines are met, and the solution has a completion time of , see Figure 3(c). With continuous capacity allocation, an optimal solution is illustrated in Figure 3(d), consisting of scheduling unit of each flow in the first two time slices, followed by delivering unit of flow using full capacity of arcs and in the next two time slices, and finally allocating full capacity of arcs and to flow in the next time slice. This gives a completion time of .

Figure 3: Solutions with continuous and discrete capacity allocation.

From the above, if the number of time slices is too small, the approach may fail even if there exist feasible solutions. In fact, for the example network, using three time slices of uneven durations, and, more specifically, , , and respectively, does lead to the feasibility as well as optimality. However, in general there is no recipe for how to choose the slice durations. Using a higher number of time slices will mitigate the infeasibility issue, however at the cost of large problem size and hence longer solution time. We also remark that, provided that the original problem IFDP is feasible, one can easily prove that using continuous capacity allocation leads always to a feasible solution with any time slicing. However it is rather hard to make use of the solution to derive a solution to the original problem. Moreover, it shall be remarked that, instead of using fixed time slices, one can treat durations of the time slices as continuous variables. Doing so leads to a nonlinear formulation, because the amount of data delivered for a flow in a time slice is the product of the end-to-end rate, which is a variable, and the duration of the slice.

Even though solving TSA may not be an effective approach to obtain a high-quality solution for IFDP, formulation (1) may be useful for the purpose of bounding. In particular, consider a chosen time length of and the LP relaxation of (1) with one single time slice of . If the LP relaxation is infeasible, then is a lower bound of the optimum of IFDP. The highest lower bound can obtained via examining the largest (e.g., via bi-section search) for which LP infeasibility remains. The bound can be used to bound the optimality gap of a solution. Later in Section VII, we study the effect of using this bound together with a tolerance of optimality as a termination criterion, on the solution time of our column generation method presented in the next section.

V Problem reformulation and column generation

We present a problem reformulation that enables a column generation algorithm (CGA), that decomposes the problem into the so called master problem (MP) and subproblem (SP). The algorithm iterates between a restricted MP (RMP) and SP [27]

. A key aspect in designing a column generation algorithm is how to define the ”column”. In our case, a column corresponds to an end-to-end rate vector of the flows, resulted from a specific routing and capacity allocation solution. More specifically, a rate vector is generically denoted by

, in which element , , represents the end-to-end rate at which flow is sent from its origin to destination. The set of all possible vectors is denoted by , of which the cardinality is clearly finite. For later use, we also define a subset of denoted by which consists of those vectors in for which the rate of flow is strictly positive, i.e., . Note that any feasible rate vector must satisfy flow conservation, flow rate, and arc capacity constraints. These constraints will be utilized in the SP for constructing new columns.

V-a MP and RMP

For rate vector , we define a continuous, non-negative variable that represents how long time rate vector is used in a problem solution. Also, without loss of generality, we assume that the flow indices follow the ascending order of deadlines. The full MP is as follows.


The objective function is to minimize the total time used by the rate vectors. Constraints (2b) state that for each flow, the total amount of data sent from the source and received at the destination equals its specified size. Constraints (2c) are formulated for deadlines.

We remark that, while addressing the deadline requirements, the order of the rate vectors in the schedule is of significance. Indeed, at the first glance, it appears that using only the -variables is not sufficient – we need also variables indicating the position of each vector in the scheduling solution. In the following, we show that this is not necessary. Namely, the -variables together with (2c) which has the effect of partial ordering, correctly consider the deadline constraints. To this end, let us first consider the derivation of a schedule based on the values of the -variables of the MP. This is necessary, because the -variables themselves do not carry any information of how the rate vectors should be sequenced.

We present Algorithm 1 that derives a schedule using the -variables. The input set to the algorithm, , consists of rate vectors for which the -variables have strictly positive value at the optimum of the RMP. As there are of constraints in the LP, the number of such rate vectors is of . The algorithm considers each vector in , and finds the smallest flow index with positive rate . The vector is then added to the corresponding set . When all the vectors in have been examined, the algorithm goes through sets , to retrieve the vectors and their respective time durations for problem solution. Notation in the algorithm represents a time point by which flow is surely completed.

1:  ,
2:  for  do
5:  for  do
6:     Schedule rate vectors with the respective time durations
Algorithm 1 Constructing a schedule from MP

The complexity of Algorithm 1 is determined by its first for-loop, since the second for-loop simply retrieves the solution. As the size of is at most , the first for-loop goes though no more than vectors. For each of them, determining the flow index by the min-operator clearly has a complexity of . Hence the overall algorithm is of complexity .

Lemma 4.

For any input representing a feasible solution of the MP, the output of Algorithm 1 corresponds to a feasible schedule.


Consider any flow , . According to the definition of , flow is not scheduled after time point , because after this time point there is no vector with positive rate for flow . Thus, the overall amount of data delivered for is . This is equal to which in turn equals by (2b). Denote the completion time of flow by . The total time for scheduling flows in range is . We have which is no greater than by (2c). Note that the last equality follows from that . ∎

What still remains is to show that (2c) itself is correct, i.e., in the sense that if IFDP is feasible, then there must exist a solution satisfying (2c).

Lemma 5.

If IFDP is feasible, then there exists an -solution satisfying (2c).


Clearly, a solution to IFDP includes a set of rate vectors as well as their time durations. The latter are the -variables in (2a). Assume feasibility, that is, there is some ordering of these rate vectors, such that the sequence together with the values of the corresponding -variables satisfy all the deadlines. Now suppose , and in the sequence, a rate vector that has positive rate for flow but zero rate for all flows , is scheduled before a rate vector with positive rate for flow . Because all deadlines are met, is not reached by the end of the use of . Consider updating the solution, by putting immediately after instead. Thus , along with all vectors scheduled between and in the original sequence, are shifted earlier in time by . Now the ending time of vector equals that for before the update. Because , the deadline of remains satisfied. The deadlines of the other flows are clearly also satisfied. Repeating if necessary, it is apparent that after a finite number of updates, the new -solution satisfies (2c), and the result follows. ∎

By the above result, the MP formulation is indeed a correct mathematical model of IFDP. Thus, even if there is an inherent timeline in IFDP, the -variables are sufficient for formulating the deadlines.

The RMP is a restricted version of MP, such that is replaced by a subset , with , . Let . Apart from this difference, MP and RMP have the same objective function and constraints. Hence we do not write out RMP in its full form to save space. Also, for convenience, we will use (2b) and (2c) to refer to the constraints of RMP with the restricted sets, as long as this does not lead to ambiguity. When constructing RMP initially, it is preferable that results in a feasible solution. This is however not really a crucial issue, as one can apply a penalty-like phase in case of initial infeasibility.

V-B SP Formulation

After solving the RMP, we need to determine whether the current solution is optimal. As the MP is an LP, this amounts to finding an unconsidered rate vector with negative reduced cost [27]. The task is accomplished via solving an SP, of which the solution is an end-to-end rate vector, resulted from routing and capacity allocation. For SP, we reuse the notation and for variables. The difference to Section IV is that there is no time slice index for these variables here. The end-to-end rate of flow is denoted by variable .

Denote by and the optimal dual variable values of (2b) and (2c) of flow in the RMP. Note that, by the structure of (2c), appears in the reduced cost if and only if the rate vector to be generated has strictly positive rate for any of the flows . Hence, if we know is the first flow index with positive rate in the generated rate vector, the SP can be formulated as follows, where the objective function together with the constant term corresponds to reduced cost.


In the formulation, (3b), (3c), and (3d) deal with flow conservation, capacity allocation, and capacity limit. These constraints are the counterparts of (1b), (1d), and (1e), respectively. The other constraints state the variables domains. Among them, (3e) and (3f) set the domains of the rate values with respect to index .

If at the optimum , , which is the most negative reduced cost among all possible rate vectors, is negative, we add the optimal rate vector, , to RMP, and move to the next iteration. Otherwise, the current solution via the RMP is optimal.

A solution of (3) does not necessarily have strictly positive rate for . This is because one cannot enforce something to be positive but the amount to be arbitrary in optimization. Hence, to be more precise, is the first flow index of which the rate may be positive. Note that , are non-negative, hence they are costs in minimization. In (3), the costs of allowing positive rates for flows are taken into account and hence these flows may be allocated positive rates, whereas for flows , the costs are excluded and they must have zero rate. We also remark that, if it turns out that the first index of positive flow is , the correct reduced cost equals as have to be omitted. Note that in the first sum, the first index can be either or without affecting its correctness.

V-C Solving the SP

That is in fact unknown can be addressed by solving a sequence of SPs with different values of . Intuitively, one can set to and solve the SP exactly times. In the following, we show that better efficiency may be achieved by observing the first positive flow in the solution, while going through the sequence.

Denote by the SP for given index indicating the first flow that may have positive rate. Thus flows have zero rate, and flow have non-negative rate in the solution of . Suppose that in the solution of , is the first flow having positive rate. Hence the current objective function value is . The following lemma states that this value cannot be improved by solving .

Lemma 6.

If after solving , the first flow with positive rate is flow , then can be discarded without loss of optimality.


Denote by the most negative reduced cost obtained by solving . For the statement in the lemma, . Consider any . Any feasible solution of is also feasible in . This is because the first flow that may be positive in the former is , and . In other words, the solution space of is greater. Moreover, the optimum of is feasible in because . Therefore this solution must also be optimal to . Hence , and the lemma follows. ∎

Based on what has been derived thus far, we present the procedure of solving the SP in Algorithm 2. Here shall be understood and short-hand notation of . Also, note that, even if in the algorithm presentation, one rate vector is produced by the end, in the process multiple vectors with negative reduced costs (but with different flow indices as the first positive element) may be produced. These can all be added to the RMP, potentially speeding up column generation.

1:  , , ,
2:  while  do
3:     Solve to obtain its optimal rate vector
5:     if (then
7:        , ,
Algorithm 2 Algorithm for solving the SP

V-D Summary of CGA

We provide a summary of CGA in an algorithmic form in Algorithm 3. The correctness of CGA in terms of optimality is then formally stated.

1:  Start with an initial set of rate vectors
2:  repeat
3:     Solve the RMP
4:     Compute and via Algorithm 2
5:     if (then
7:  until ()
Algorithm 3 CGA
Theorem 7.

CGA solves IFDP to global optimality within a finite number of steps.


The results follows directly from LP optimality, that there are a finite number of rate vectors, as well as Lemmas 4-6. ∎

There is no unique way of performing the first line in Algorithm 3. An obvious choice is to apply a scheme similar to phase one of LP, namely, to introduce additional, so called artificial variables to represent the amount of demand not satisfied, and minimize the total unsatisfied demand. For this reason, we will use phase I to refer to the first step of CGA. Moreover, recall that SP is an integer multicommodity problem that is NP-hard, hence from a theoretically viewpoint, Algorithm 2 is of exponential time complexity. This holds also for Algorithm 3 as it uses Algorithm 2 repeatedly. Numerically, however, CGA performs quite well in scalability, as will be shown later in Section VII.

Vi Max-Flow based Algorithm

In this section, we present a heuristic, referred to as Maximum-Flow based Algorithm (MFA). MFA is different form the classic maximum flow in the sense that we maximize the end-to-end rate of all flows. Hence, it is a type of multicommodity flow.

The rationale of MFA is rather intuitive. Namely, the flows are prioritized with respect to their deadlines. The priorities are represented using weights. The sum of weighted rates of flows is maximized. Then, the corresponding rate vector is used, until one of the flows becomes completed. Next, the rates of completed flows are set to zeros. The process then repeats for the remaining flows with updated demand size. Mathematically, the optimization problem can be formulated as follows, where is used as an example of the weight for flow . In the following, we use to denote the optimum rate vector of the formulation.

MFA: (4a)
2:  while (, with do
3:     Fix if ,
4:     Solve MFA and obtain optimum rate vector
7:     if  then
10:     else
11:        Return ”No Solution”
12:     Return
Algorithm 4 Max-Flow based Algorithm

MFA is formalized in Algorithm 4. For the completed flows (i.e., flows with zero demand size), their rates are set to zeros in Line 3. For the uncompleted flows, Line computes maximum weighted rate vector. Next, the flow with minimum (remaining) time necessary to be completed is computed by Lines -. Whether this flow can be delivered within its deadline or not is checked in Line . If not, MFA fails in finding a feasible solution. Otherwise, the demand size and overall completion time are updated in Lines and , respectively.

In addition to acting as a fast heuristic for large-scale instances of IFDP, MFA can be used to speed up CGA. Namely, if a feasible solution is found by MFA, this solution can be used to initialize the columns in CGA, thus eliminating the need of phase one of LP in the context of CGA. In the next section we will show significant improvements in solution time by the combination of MFA and CGA.

Vii Performance Evaluation

Vii-a Scenario Setup

We consider three network topologies with different sizes, depicted in Figures 6, 6, and 6, respectively. The first is a small network composed of nodes and bidirectional links. The second network topology is of Softlayer Inc [28], consisting of nodes and bidirectional links. The last topology is the Geant network [29] that consists of nodes and bidirectional links. In all networks, the capacity of each link is set to units in each direction, and the unit in capacity allocation is .

Figure 4: Small network with nodes and bidirectional links.
Figure 5: Softlayer network with nodes and bidirectional links.
Figure 6: Geant network with nodes and bidirectional links.

To gain a comprehensive performance view, five different traffic scenarios with , , , , and flows are considered. Note that a flow is characterized by its deadline, in addition to origin and destination nodes. Hence for the small network, when there are many flows, some will have the same origin and destination, though different deadlines. The origin and destination of each flow are uniformly and randomly chosen from the network nodes. The sizes of flows are also uniformly generated in the range of . To systematically study the impact of deadline, we set the deadline of flow to , where is referred to as deadline factor and denotes the earliest possible completion time of flow assuming that all network capacity is available to this flow.

We set to obtain two types of scenarios, tight and moderate. In the tight-deadline scenario, is set such that the instances are close to the feasibility/infeasibility boundary. Next, we increase by , giving the moderate-deadline scenario. In TSA, the number of time slices is a multiple (x, x, x) of the number of flows. In 1x, the time slices are defined by the deadlines, the first slice is from time zero to the first deadline, the second slice is from the first deadline to the second deadline, and so on. In x and x, the time slices are created, starting from the 1x case, followed by subdividing the longest time slice into two equal ones repeatedly, until the desired number of slices is obtained.

For each network topology and traffic scenario, we generate instances and report the average performance. For Small and Softlayer networks, we use a computational time limit of seconds for cases of up to flows, and a time limit of seconds when there are flows. For the Geant network, the corresponding time limits are and seconds. The experiments were run on a Core i7 PC with a CPU 2901 MHz and 16 Gigabyte RAM, running the operating system Windows 10. The Gurobi optimizer [30] is used for solving the mathematical models in TSA, CGA, and MFA.

Vii-B Performance Results for Tight Deadlines

With tight deadlines, CGA is always able to obtain the optimal solution of all instances, whereas TSA and MFA fail to deliver a feasible solution for many and sometimes all of the instances. Therefore, we first report the failure rates of TSA and MFA, as shown in Table I. The failure rate is defined as ratio of the number of instances for which a solution could not be obtained over the total number of instances. For TSA, the infeasibility can be of two reasons. First, the instance with time slicing is in fact infeasible due to an insufficient number of time slices. Second, the instance could be feasible but the solver is not able to verify it within the time limit. For MFA, infeasibility is purely due to the algorithm, not because of the time limit.

TSA (in %)
Network x x x MFA (in %)
5 80|0 80|10 60|30 90
10 40|50 30|40 30|40 100
Small 20 30|70 10|90 0|80 100
50 40|60 40|60 0|100 100
100 0|100 0|100 0|100 100
5 100|0 70|20 70|20 100
10 80|20 50|40 30|60 100
Softlayer 20 10|90 10|80 0|80 100
50 30|70 10|90 0|100 100
100 0|100 0|100 0|100 100
5 40|30 30|20 30|20 40
10 30|40 40|10 30|20 90
Geant 20 10|70 0|60 0|40 90
50 0|100 0|100 0|100 100
100 0|100 0|100 0|100 100
Table I: Failure rates for TSA and MFA for instances with tight deadlines. All values represent the percentage. For TSA, with notation p|q, p stands for the percentage of instances that are infeasible and q represents the the percentage that a solution is not found due to time limit. CGA has zero failure rate and therefore it is not included in the table.

On average, for Small, Softlayer, and Geant networks, TSA fails for , , and of the instances respectively. For Small network, this is mainly because the number of time slices is too few in relation to the tight deadlines. This is also the case of Softlayer and Geant networks, where there are relatively small numbers of flows. When there are many flows, the failure is to a large extent caused by the time limit. By increasing the number of time slices, fewer instances tend to be infeasible in TSA. This is expected by the approach of time slicing. On the other hand, using a greater number of time slices makes the problem size significantly larger, and consequently the solution time becomes the bottleneck. Note that TSA has a lower failure rate for , , and flows in Geant Network. The reason is that Geant is larger than the other two networks, hence it is easier to obtain feasibility when there are few flows.

MFA has an extremely high failure rate. Feasibility is attained only for Geant network and some of the instances with small numbers of flows. Thus, an intuitive heuristic, such as MFA, that uses deadline as priority is not a good choice if the deadlines are tight.

Figure 7: Solution time of CGA for the tight-deadline instances.

The average time used by CGA to solve the instances is shown in Figure 7. CGA never hits the time limit, hence the solutions are optimal. The time increases with respect to network size as well as the number of flows. However, the rate of increase is relatively moderate. For example, when the number of flows grows from 50 to 100, the increase in solution time is less than 3 times.

Vii-C Performance Results for Moderate Deadlines

For instances with moderate deadlines, we examine three performance aspects: 1) the optimality gap of TSA and MFA, 2) the failure rate of these two approaches, and 3) the solution time of them in comparison to CGA. The numerical results are shown in Figures 8-10. We make the following observations based on the results.

Vii-C1 Optimality gap and failure rate

TSA and MFA show consistent results for the three networks. As the number of flows increases, the optimality gap of TSA decreases. This is because the base number of time slices equals , hence the granularity increases with . For example for Softlayer network, the gap by TSA(x) is about for flows and decreases to only for flows. It can be seen that the optimality gap for flows increases again, this is due to the fact that TSA hits the time limit, see Figure 9(a). The failure rate increases very significantly, see Figure 9(b), because of a higher risk that TSA terminates pre-maturely due to the time limit. Moreover, the effect of scaling up, i.e., going from x to x and x, is apparent for small , because the granularity becomes significantly improved. For large , it has little impact on optimality gap, but leads often to infeasibility as the problem size grows considerably. For Softlayer network and flows, for example, the failure rate of TSA(x) is , and increases to for both TSA(x) and TSA(x).

The optimality gap of MFA is clearly larger than that of TSA, and peaks at approximately 20% for Small network. Note that the optimality gap of MFA grows first, but then decreases in . One explanation is that the sub-optimality of MFA, due to imposing priority strictly following deadlines, is first magnified by the problem size, here the number of flows. However, when there are many flows, the scheduling order in high-quality solutions become more coherent with the deadlines, as it is less likely that combining flows with deadlines being far apart will result in feasibility. As for the failure rate, MFA performs well in this aspect for the three networks.

Vii-C2 Solution time

The solution times are the average values over the instances for which TSA and MFA were able to obtain a feasible solution within the time limit. As a general trend, TSA is faster in delivering its solution for small number of flows, see Figures 8(d)-10(d), and in such cases feasibility is not an issue for TSA. Note that the difference in time can be very significant. For Geant network and 20 flows, for example, CGA needs almost 50 seconds, whereas the solution time of TSA(1x) is only a couple of seconds. The solution of the latter is not optimal, however the gap is quite small. For large number of flows, however, CGA clearly outperforms TSA in time. For MFA, the solution time is very attractive – it is in order of one or even two magnitudes faster than TSA and CGA. However MFA has the highest optimality gap.

As the overall observation, CGA outperforms TSA and MFA, in delivering optimum with zero failure rate. On the other hand, even if neither TSA nor MFA gives satisfactory results by themselves, they can be used together with CGA, either to speed up the latter, or to reduce the overall time when some tolerance of optimality is accepted. These aspects are examined below.

(a) Optimality gap of TSA and MFA.
TSA (in %)
x x x MFA (in %)
5 0|0 0|0 0|0 0
10 0|0 0|0 0|0 0
20 0|0 0|0 0|0 0
50 0|0 0|0 0|0 0
100 0|0 0|10 0|20 0
(b) Failure rate of TSA and MFA.
(c) Solution time over all number of flows.
(d) Solution time over small number of flows.
Figure 8: Performance results for Small network.
(a) Optimality gap of TSA and MFA.
TSA (in %)
x x x MFA (in %)
5 0|0 0|0 0|0 0
10 0|0 0|0 0|0 0
20 0|0 0|0 0|0 0
50 0|0 0|0 0|30 0
100 0|80 0|90 0|90 0
(b) Failure rate of TSA and MFA.
(c) Solution time over all number of flows.
(d) Solution time over small number of flows.
Figure 9: Performance results for Softlayer network.
(a) Optimality gap of TSA and MFA.
TSA (in %)
x x x MFA (in %)
5 0|0 0|0 0|0 0
10 0|0 0|0 0|0 0
20 0|0 0|0 0|0 10
50 0|0 0|20 0|20 10
100 0|30 0|80 0|90 10
(b) Failure rate of TSA and MFA.
(c) Solution time over all number of flows.
(d) Solution time over small number of flows.
Figure 10: Performance results for Geant network.

Vii-D Combining CGA with MFA and TSA

In this section, we consider using CGA in conjunction with MFA and/or TSA. Recall that, to reach the initial feasible solution (IFS), CGA runs Phase I in which the objective is to minimize a penalty function of infeasibility. We refer to the process of reaching optimality, starting from the IFS, as Phase II.

First, we observe that when MFA does deliver a feasible solution, the time required is much shorter than that of Phase I, and the solution is generally of better quality than the IFS of CGA. Hence, to speed up CGA, we can use the solution of MFA as an IFS for CGA. The time of Phase I is reduced therefore to the running time of MFA. We refer to this combination as MFA-CGA. Second, as discussed in Section IV, the LP relaxation of TSA (rTSA) can be used to provide a lower bound of the global optimum. Hence, if a tolerance on the optimality gap is present, the bound from rTSA can be used to terminate CGA as soon as the current solution of CGA meets the tolerance parameter with respect to the lower bound. As a result, the time necessary for Phase II is reduced. This is particularly useful for large-scale instances. We refer to this combination as rTSA-CGA(), where represents the percentage value of the tolerance parameter. Finally, combining both MFA and rTSA with CGA is denoted by MFA-rTSA-CGA().

Table II summarizes our findings. We show the average solution times of Phase I and Phase II of CGA, and the time reductions achieved. For MFA-CGA, the time reduction of Phase I is the relative difference of the computing time of Phase I of CGA and the running time of MFA. For rTSA-CGA, the time reduction reported for Phase II is the relative difference of the computing time of Phase II of CGA and the sum of the time for solving rTSA and the time needed for Phase II before satisfying the 10% optimality tolerance. Note that MFA is not used for Phase I in the results of rTSA-CGA.

Average Solution Time of CGA (s) Average Time Reduction (in %)
Network Phase I Phase II MFA-CGA rTSA-CGA() MFA-rTSA-CGA()
Phase I Phase II Total
5 0.95 2.07 58 66 74
10 2.32 3.22 64 48 57
Small 20 6.97 9.21 80 54 76
50 35.25 60.98 88 58 88
100 169.05 126.42 95 52 96
5 0.69 0.97 51 48 52
10 2.16 6.07 65 57 67
Softlayer 20 7.10 14.10 78 57 81
50 49.28 84.90 90 55 86
100 262.87 187.18 95 44 95
5 0.97 0.74 65 34 75
10 2.25 3.25 69 49 75
Geant 20 9.95 13.60 82 57 81
50 134.45 136.05 93 54 86
100 606.41 377.93 95 63 94
Table II: Average solution time of CGA and average time reduction.

We observe that both phases of CGA require similar time (within order of magnitude). Therefore time reduction is of importance for both.

MFA-CGA yields for very significant time reduction of Phase I, from with few flows up to with 100 flows. The time reduction increases with respect to the number of flows. The reason is that the solution time of MFA grows with a much slower rate than that of running Phase I of CGA in its original design. We remark that the solution of MFA is typically better than the IFS of the original CGA. Hence, even though not shown in the table, MFA-CGA also gives some time reduction in Phase II.

Having an optimality tolerance of and using the bound of rTSA, i.e., rTSA-CGA(), leads to significantly less time in Phase II. The time reduction ranges between and . We observe no correlation of the time reduction with the network size or the number of flows. For a majority of cases, the percentage values are lower than those for Phase I achieved via MFA-CGA. This is however counter-balanced, to some extent, by the fact that Phase II sometimes takes more time than Phase I in CGA, and in such a case the reduction of the former has more impact.

The combination MFA-rTSA-CGA() gives a substantial reduction of the total solution time, starting from for flows and reaching for flows. Hence the approach is useful for dealing with large-scale scenarios where the problem size is mainly due to the number of flows.

(a) Softlayer network with 50 flows.
(b) Geant network with 100 flows.
Figure 11: Times reduction by rTSA-CGA() and MFA-rTSA-CGA() with respect to . The time reduction is calculated in relation to the overall time of CGA.

Figure 11 illustrates how the time reduction by rTSA-CGA() and MFA-rTSA-CGA() varies as a function of optimality tolerance parameter for two representative instances. Obviously, higher tolerance of optimality gap means larger time reduction. This growth stops at the point where the optimality gaps of the solution provided by MFA and the (original) IFS of CGA are within the tolerance, for MFA+rTSA+CGA() and rTSA+CGA(), respectively. As expected, MFA-rTSA-CGA() offers clearly larger reduction of the overall time than rTSA-CGA() for all -values. This is because the latter focuses on Phase II only. In MFA-rTSA-CGA(), both phases are shortened in time, and the reduction on Phase II is a joint effect of rTSA via bounding and of MFA that provides a better IFS than what CGA had. Using MFA-rTSA-CGA(), the CGA time is reduced by one order of magnitude for and for the two scenarios.

Viii Conclusions

We have investigated flow routing and scheduling with the presence of deadline constraints and capacity allocation with discrete units. In addition to examining problem complexity, we have considered three solution approaches, TSA, CGA, and MFA. They use time slicing, problem reformulation and column generation, and multicommodity maximum flow, respectively. Among them, CGA delivers global optimum. Our performance evaluation shows that, with tight deadlines, TSA and MFA often fail to obtain a feasible solution. When the deadlines are less stringent, TSA provides solution faster than CGA if the number of flows is relatively small, though the optimality gap is non-negligible. MFA is fastest among the three approaches when infeasibility is not an issue. However, it also has the largest optimality gap. Overall, CGA represents a viable solution approach for global optimality. Moreover, there are relevant use cases of the solution from MFA and the bound from TSA, in the context of CGA, particularly for large-scale instances.

Further work includes extensions of the problem, to which adaptions of the proposed approaches will be studied. One specific case is the data backup problem studied in [23] that applies TSA for problem solution. In this problem, a source has multiple candidate destinations for data backup. At any time, a source may choose at most one destination, and a destination may be used by at most one source. No deadline is present. We remark that CGA can be adapted by setting a large value for all flow deadlines, and tailoring the subproblem formulation to no common source or destination is used by the flows with positive rates in the rate vectors. Some preliminary results indicate the relative performance between TSA and CGA is coherent with those in Section VII in terms of solution time and optimality gap. Extensive performance evaluation as well as extensions to other related problems are subject to further study.

Appendix A

Symbol Definition Symbol Definition
network set of nodes
number of nodes set of arcs
number of arcs arc from to
capacity of arc set of discrete capacity units
size of capacity unit set of flows
number of flows origin of flow
destination of flow deadline of flow
size of flow
Table III: Basic notation.
Symbol Definition
set of time slices
a time slice
length of time slice
continuous variable, denoting the rate of flow on arc in time slice
continuous variable, indicating the end-to-end rate of flow in time slice
binary variable that takes value one if any flow is scheduled in time slice , and zero otherwise
integer variable that denotes the number of times that flow uses capacity unit on arc in time slice
Table IV: Notation related to the time slicing approach (TSA).
Symbol Definition
overall completion time
  optimum rate vector
the minimum time required to complete one of the flows
the flow that completes first among the flows
Table V: Notation related to the max-flow based algorithm (MFA).
Symbol Definition
set of rate vectors
an end-to-end rate vector in form of
the rate of flow in vector
set of rate vectors in which flow has positive end-to-end rate:
continuous variable, indicating the rate of flow on arc (i,j)
continuous variable, denoting the rate of flow
continuous variable, denoting the time duration that vector is scheduled
integer variable, denoting the number of times that capacity unit is used by flow on arc
the first flow index with positive rate in a rate vector
optimal dual value corresponding to the demand constraint of flow
optimal dual value corresponding to deadline constraint of flow
set of rate vectors in which is the first flow of positive rate:
a time point by which the data transmission of flow is completed
Table VI: Notation related to the column generation algorithm (CGA).
Symbol Definition
deadline factor
the earliest possible completion time of flow if all capacity of the network is given to this flow
x use of time slices in TSA
x use of time slices in TSA
x use of time slices in TSA
Table VII: Notation related to the simulation setup.

Appendix B

We adopt a polynomial-time reduction from the 3-satisfiability (3-SAT) problem that is NP-complete [31]. Consider any 3-SAT instance with Boolean variables , and clauses . A variable or its negation is called a literal. Denote by the negation of , . Each clause consists of a disjunction of exactly three different literals, e.g., . We use and to denote the sets of clauses in which variable and its negation appear, respectively. Also, and are used to denote their respective cardinalities. We assume that no clause contains both a variable and its negation, and any literal appears in at least one clause and at most clauses. For any arc that we define below, and are referred to as head and tail of the arc, respectively. Similarly, the first and last node of a path are called head and tail of the path. We construct an IFDP instance as follows. The number of nodes equals . The first nodes are referred to as literal nodes, and the last nodes are referred to as clause nodes. The number of arcs is ; the nodes indexed by the numbers in the two pairs of parentheses are referred to as literal and clause arcs, respectively. The capacity of all arcs equals one, which is also the unit in capacity allocation. The number of flows is , referred to as literal and clause flows, respectively. The deadline of all flows is one time unit, i.e., for . The size of each flow is one, i.e., for .

Figure 12: The two disjoint literal paths for literal flow with and .

For literal flow , the origin and destination nodes are denoted by and , respectively. There are exactly two possible paths for literal flow , referred to as literal paths. See Figure 12. Arc appears in both paths, and shown by the solid line. The first literal path corresponds to variable , and consists of the solid arc and dash-dotted arcs. The first and last nodes of this path are and , respectively. The remaining nodes between them are . Thus, there are arcs in the path where the first arc is the common arc and each of the remaining arcs represents an occurrence of variable in the clauses. The second path follows a similar construction and consists of arc and dashed arcs. The nodes between the origin and destination are , giving arcs. The arcs, except the first one, represent the occurrences of in the clauses. The above construction is repeated for every literal flow, without any overlap between the elements defined for a literal flow and those defined for any other literal flow.

For clause flow , we introduce origin node and destination node . There are three possible paths referred to as the clause paths of . Each path corresponds to a literal in the 3-SAT clause and consists of exactly four arcs. The first arc is common among the three paths and originates from to . The second arc is from to head of the literal arc defined earlier to represent the occurrence of the literal in this clause. The third arc is the literal arc itself, and the fourth arc originates from the tail of the literal arc to . See Figure 13 for an illustration, assuming that clause contains literal , and this is the second occurrence of the literal. For the other two literals in the clause, two additional paths are defined similarly. This construction applies to all the clauses. Hence each clause path has exactly one arc in common with a literal path.

Figure 13: One of the three clause paths for clause flow . The corresponding clause is , is one of its literals and this is the second occurrence of the literal.

Assume there is a feasible solution for the 3-SAT instance. For any variable , if it has value true, we route literal flow on the literal path defined for . Otherwise, literal flow uses the literal path defined for . As a result, if is true, all the arcs representing the occurrences of are available (i.e., has no literal flow) and all the arcs representing the occurrences of are in use by flow . Consider any clause and suppose it is satisfied by i.e., is true. We route clause flow by the clause path defined for this occurrence of . This path is available because the first, second and fourth arcs are always available to clause flow as they are specifically defined for , and the third arc is available since has value true. Using the resulting routing solution and scheduling this routing for one time unit yields a feasible solution.

Assume there is a solution for the IFDP instance. Note that the deadline for all flows is one time unit, and exactly one unit of capacity can be used on any arc. Moreover, by construction, the end-to-end rate of any flow cannot exceed one. These together imply that the end-to-end rate must equal one at any time point of the IFDP solution. Therefore, at any time point, one of the two literal paths is in use for each literal flow , and one of the three clause paths is in use by each clause flow . Thus it is sufficient to consider the flow routing at any time point in the solution to the IFDP instance. For any literal flow , if the routing path is the one corresponding to , variable is assigned with value false, otherwise, it is assigned with value true. This leads to a complete value assignment for the 3-SAT instance. Now consider any clause flow , because its end-to-end rate equals one, at least one of the clause paths is available, meaning that the corresponding literal arc is not used by the corresponding literal flow, and hence the clause of the 3-SAT instance is satisfied. Consequently the answer to the 3-SAT instance is yes. The proof is then complete by noting that the reduction is clearly polynomial.

Appendix C

As for the proof of Theorem 1, we construct a reduction from 3-SAT as follows. There are flows referred to as literal and clause flows respectively. For convenience, notation for literal and clause of 3-SAT reused for the corresponding flows. Thus denote the literal flows and denote the clause flows. The deadlines of literal and clause flows equal two and one time units, respectively, i.e., , for , and , for . The size of each flow is one, i.e., for .

For clause flow , we use and to denote the origin and destination nodes, respectively. We define an arc from to an intermediate node with capacity three and an arc from to destination node with capacity one. This path is referred to as clause path , consisting of two arcs, see Figure 14.

Figure 14: Clause path .

For each pair of literal flows and , we define a set of four nodes. Two of these nodes are denoted by and representing the origins of the two flows, respectively. The other two nodes are denoted by and for the sake of reference. We define an arc from each of the two origins and to node , and an arc from to . Arc is hence the bottleneck arc for flows and . These three arcs all have capacity one. Thus, at most one of the two can be routed at a time. See Figure 15. All literal flows share a common destination, denoted by .

For each literal flow, we designate one single path for routing, referred to as literal path. Specifically, for literal flow , the path consists of arcs , , followed by traversing through the first arc of all clause paths where , and finally to destination node . For this purpose, we need to define some additional arcs as follows. Denote by the clauses in . First, we define an arc from to the first node of clause path , i.e., origin . Next, we define one arc from which is the middle node of clause path for , to which is the origin node of clause path for , for . Finally, we define an arc to the destination of literal flow . The capacity of all these new arcs equals one. For literal flow , similar construction applies to .

Figure 15: The set of four nodes defined for pair and

By the constructions above, each flow has one single path in the network, i.e., routing is fully fixed. Moreover, the reduction is clearly polynomial. We make the following observations. First, the literal flows of each pair are mutually exclusive, that is, we can either schedule or , but not both simultaneously. Second, scheduling literal flow has two effects. First, one capacity unit becomes occupied on the first arc of each clause path for which the clause is in . Second, the first arc of each clause path for which the clause is in has at least one capacity unit available. Scheduling has the opposite effects. Having these observations in mind, in the following we show the equivalence of the 3-SAT instance and the IFDP instance in terms of feasibility.

Suppose there is a yes-answer to the 3-SAT instance. For each pair of literals and