{'fraction_non_alphanumeric': 0.03461307738452309, 'fraction_numerical': 0.0038792241551689663, 'mean_word_length': 3.9208895011315557, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Network Flows Under Thermal Restrictions

We define a \emph{thermal network}, which is a network where the flow functionality of a node depends upon its temperature. This model is inspired by several types of real-life networks, and generalizes some conventional network models wherein nodes have fixed capacities and the problem is to maximize the flow through the network. In a thermal network, the temperature of a node increases as traffic moves through it, and nodes may also cool spontaneously over time, or by employing cooling packets. We analyze the problems of maximizing the flow from a source to a sink for both these cases, for a holistic view with respect to the single-source-single-sink dynamic flow problem in a thermal network. We have studied certain properties such a thermal network exhibits, and give closed-form solutions for the maximum flow that can be achieved through such a network.


Introduction
Many systems have components that are subject to thermal degradation, and which therefore must be managed carefully to obey temperature constraints. This is particularly true of electronics [14,21], but large systems such as data centers [5,10] require extensive thermal management as well. It is therefore essential to monitor and control the flow of work through the nodes of such a system, in addition to the use of special equipment and measures for cooling.
The physics of thermal management can be quite complex [9,17], but in practical systems, heuristics are generally used. This is true of computer systems and networks [19,15] as well as industrial process systems [13].
Modeling of congestion in networks is also a well-known problem; besides computer networks, it is also studied in the context of vehicular traffic [16] and air traffic [12]. In traffic network models, congestion control is attempted using variable pricing and other changes to node characteristics [18,2].
Besides congestion caused by a surfeit of packets or other arrivals at a network node, there can also be constraints due to a node's time-varying capacity. This is most preeminently seen in wireless sensor networks where nodes are subject to varying power levels [20].
Existing works on capacitated networks and flow routing [11,1,4] do not address these issues; there does not seem to be any sufficiently general way to consider thermal constraints, time-varying network characteristics such as power levels, or the like. In this paper, we give models and results to address this.
In this paper, we give optimal solutions to the problem of maximum flow through the following two models of a thermal network with capacity constraints on nodes. (Though we speak of temperature, the concept of a thermal network and the respective parameter of temperature can be suitably modified to model any network of nodes that exhibit the same characteristics; the thermodynamics of temperature or heat are not essential to our analyses.) In the first model, a node that reaches a critical temperature stops functioning, and can no longer be used to transmit packets; however, it can cool with time. The network in this dissipating model thus has the property of reviving itself over time, i.e., once the network is exhausted (because the nodes are too hot), it is possible to give it some rest (and let the nodes cool) so that we can again send more packets through it. Keeping in mind our aim to send as many packets through the network as possible, we realize that the problem now changes to sending the maximum possible packets while minimizing the time during which the network becomes dysfunctional, so that the number of packets in a given duration is maximized, which is equivalent to saying that we maximize the rate of flow through the network. This is a dynamic problem, as the nodes repair themselves with time, thereby making the state of the network depend upon one more factor, i.e., time. We study the transient state of the network, in which the min node-cut-sets vary with time, and move on to analyze the network to figure out if there exists a steady state. This means that we try to find out whether we need the state of the network at all time instants to obtain a maximum flow using the Ford-Fulkerson algorithm [8], or if there exists a closed-form solution which depends only upon the initial state of the network and the information about the nodes' heat dissipation. We therefore set out to prove that there indeed exists a steady state of the network for which we prove that there exists a node-cut-set which is the min node-cut-set throughout after a certain amount of time. Using the results, we are able to find the value of the maximum rate of flow achievable in this network.
In the second model, the network does not have the same self-healing properties, but we have some kind of special packets called cooling packets at our disposal, which can decrease the temperature of nodes. So, given a dysfunctional network, we can send these cooling packets to specific critical nodes, so as to make the network functional again. One advantage of this model is that we have the liberty to send these special packets only to the nodes that need thermal repair (i.e., cooling). But this is also what makes this problem more challenging than the previous one, as now we need to figure out the optimal strategy for sending these cooling packets so as to minimize the requirement of these packets while maximizing the flow through the network, i.e., we need to minimize the repair cost, while maximizing the efficiency of the system. For this, we first find out the value of max flow of packets using as many cooling packets as we may require (i.e., find the max flow if we thermally repair all the nodes of the network completely). The question them is if we can obtain the same amount of flow, but with a smaller number of cooling packets used, and further, what is the least number of cooling packets needed to ensure maximum flow. We analyze this scenario by finding the exact nodes that need repair, and the exact minimum possible amount of repair that will make the network work at its best. The trick used to solve this problem is based on the fact that the min node-cut-set determines the max flow. So, we do not really require any other node-cut-set to work at capacity more than the maximum possible capacity of the minimum node-cut set. This means that we do not need to repair all nodes to their best capacities, nor do we need to repair all the nodes at all. The next step is to identify the nodes and the minimum capacities at which they should function, and find out the optimal routing pattern for the same. This is done by creating a set of walks such that if we send cooling packets via these walks, not only is the minimum node-cut-set is revived to its maximum capacity, but the nodes of other node-cut-sets are also revived to the extent that none of them becomes the limiting nodecut-set. We prove that there exists such a set of walks, and calculate the number of cooling packets to be sent via these walks, and the corresponding maximum flow achieved. Overall, this paper is organized as follows. In Section 2, first (in Subsection 2.1) we introduce some of the preliminaries and provide a background on which the subsequent sections are based. The system model (Subsection 2.2), involves a detailed description of the constraints on the Thermal Network and the results and techniques to maximize the flow of packets subject to these constraints. In Section 3, this system model with an additional characteristic that the nodes can cool themselves down with time is considered. This is a dynamic system, the analysis of which requires an in-depth analysis of the transient and steady states of the system. We discover some properties of the system which are used to determine the rate of maximum flow that can be achieved. In Section 4, the system model with another special characteristic is discussed. In this case, the nodes are not attributed with the self-cooling properties, but we have dedicated cooling packets for the purpose of repair of the network. The problem is to optimize the flow of the heating packets along with optimization of the number of cooling packets used so as to be able to reduce the maintenance cost of the network. Such networks have some special properties with respect to their minimum nodecut-sets, which determine the maximum flow due to the max-flow min-cut theorem.
2 Thermal Network

Terminology
We have a network G (also referred to as network) with nodes v i and edges v i v j (directed from v i to v j ). The temperature of a node, say v i , cannot rise above a temperature (called critical temperature, θ c i ), and cannot fall below the specified base temperature (θ 0 i ). A node at its critical temperature cannot be traversed any more, and is called a dysfunctional node. The packets (heating packets, which shall be referred to as simply packets throughout the text) have the property that they heat up the nodes they traverse by a certain amount △T u . (Hence, the temperature restriction on the nodes limits the number of packets that can traverse any node. Thus, we define the capacity c i of node v i to be the maximum number of packets that can traverse v i before it becomes dysfunctional.) If some nodes of network become dysfunctional such that there exists no path fro the packets to travel from s to t , the network is said to be disconnected (or the network is said to have gone dysfunctional). Technically, this means that all nodes of some or the other node-cut-set have gone dysfunctional.
Definition 2.1. A node-cut-set is a set of nodes, the removal of which, disconnects the network such that s and t lie in two separate blocks of the disconnected network (or equivalently, separate s from t) The problem is essentially to maximize the flow, i.e. to obtain the max flow which is the maximum possible amount of flow from s to t that can be achieved through the network before the network becomes dysfunctional. Section 2 is a special case of this basic model wherein the nodes have the capacity of cooling themselves down. We shall denote this rate by ω. This phenomenon will be referred to as dissipation drawing analogy from the natural dissipation phenomenon. However, because of the base temperature constraints, a node cannot be cooled down below θ 0 i . Since this network is time dependent, we are interested in maximizing the rate of flow of packets (the number of packets traveling from s to t per unit time), which shall be denoted byf . This analysis will be conducted separately on a uniform and a non-uniform network.

Definition 2.2.
A uniform network is a network in which all the nodes have identical capacities. A network which is not uniform is called a non-uniform network.
Section-3 is another special variant of the basic model wherein we have cooling packets (entities which decrease the temperature of a node upon traversal by an amount equal to △T d ). This model however does not have the dissipating properties. The following is a mention in brief of the famous result we shall be using throughout and related definitions: The capacity C M of a set M is defined as the sum of the capacities of all the nodes of that set. That is, Definition 2.4. A min node-cut-set or minimum node-cut-set is defined as the node-cut-set whose capacity is less than or equal to the capacity of any other node-cut-set, where capacity of any node-cut-set is given by Definition 2.3.
Theorem 2.1. Max-Flow Min-Cut Theorem [3] : In any network, the value of a maximum flow is equal to the capacity of a minimum cut.

System Model
Given a network G, with nodes denoted by v i , having base and critical temperatures θ 0i and θ ci , our problem is to maximize the number of packets traveling from source s to the sink t until the network becomes dysfunctional. The packets have the property that they increase the temperature of a node by an amount equal to △T u units upon traversal.

Constraints:
The lower and upper limits on the temperature of the nodes imposes a constraint on the number of packets that can traverse that node. Let us denote the maximum number of packets that can traverse a node v i before v i becomes dysfunctional by c i , the capacity of the i th node. Let n packets be able to cross node i before it gets dysfunctional. A packet increases the temperature of a node by △T u upon traversal, which gives: Symbol Description v i i th node of the network G. θ 0i Initial/base temperature of the node v i , which is also equal to its minimum possible temperature. θ ci Critical temperature of node v i . The node v i ceases to function above this temperature. c i Capacity of node v i . s Source of the flow; the packets originate from this node. t Sink of the flow.

△T u
The amount by which a packet increases the temperature of a node upon traversal. ω The amount by which the temperature of a node decreases per unit time.

△T d
The temperature by which a cooling packet decreases the temperature of a node upon traversal subject to conditions mentioned in Section 4.1. f Rate of flow of packets. M A node-cut-set of network G. Since a network can have many node-cut-sets, we shall refer to them as M i throughout the text. W The set of walks from s to t via the nodes of the node-cut-set for which the corresponding walk set is defined.
Capacity of the i th node-cut-set, which is equal to the sum of capacities of all nodes that belong to the set M i . τ The amount of time for which the network is given rest to dissipate heat and become functional again. β Cooling capacity of a cooling packet. Since n denotes the number of packets, it has to be an integer. So, the maximum value n can attain is: This n max is in fact the capacity of node i by definition. So, There are no such temperature restrictions on the edges. Also, the number of packets that can be dispatched from the source or that can get into the sink at any instant do not constrain the number of packets traveling through the network. This means that as many packets as the network can allow through it at any instant can be dispatched by the source and can get absorbed into the sink. The problem-to maximize the number of packets that can travel from source s to sink t through network with capacity constraints on nodes has already been solved by modifying the network(will be explained below) and applying the Ford-Fulkerson algorithm [8]. Nevertheless, we mention it here in full details as it will be referred to in further analysis of more complicated networks.

Node-Splitting Technique [6] [7]:
This technique of node-splitting is often used for spot programming when solving flow questions having flow limitations on the nodes. Every node v i is split into two nodes v.r i (v i right) and v.l i (v i left). These two nodes are joined using a directed edge from v.l i to v.r i . All edges incident into the erstwhile node v i now made incident into the node v.l i and all edges incident out of v i are made incident out of the node v.r i . The directed edge joining v.l i and v.r i is given a capacity equal to the capacity of the node v i . All edges of the original network are given an infinite capacity (assuming no limit exists on the flow through the edges). This transforms the nodelimited flow problem to the familiar edge-limited flow problem which can be easily solved using the Ford Fulkerson or other max-flow algorithms.

Dissipating Model
The base model provides an elementary yet important starting point for the analysis of much more complicated yet interesting networks, one such model being the dissipating model. A dissipating network is fundamentally the base model with nodes exhibiting certain special characteristics. These nodes have a special property of self-repair. This is done by dissipating heat with time, that is, the nodes, if given some time, lose out some of the heat, thereby cooling themselves sufficiently below the critical temperature, which makes them functional again. However, a node cannot cool itself down further beyond its base temperature. The rate of dissipation will be denoted by ω, i.e. a node cools down by ω units temperature per unit time.
Note. We are not discretizing time, for the sake of practicality. This means that the network can be given rest for any amount of time, not necessarily integral values. Or, equivalently, we can say that it is not necessary that a nodes temperature be reduced only by an amount which is an integral multiple of ω.
The problem , to maximize the rate of flow of packets from source s to sink t through the dissipating model, is tackled in parts, wherein the first part deals with a uniform network (Definition 2.2) and the second part deals with a non-uniform network.

Uniform Network
For a complete understanding of the dynamic behavior of the uniform network with dissipation, a complete analysis including both transient and steady state analysis will be performed for the problem of maximization of the rate of flow of packets in the following sub-sections. Where on one hand the transient state analysis provides insight into the dynamically changing packet flow through the network, the steady state analysis illustrates the ultimate state the network achieves, that doesnt change with time.

Transient State Analysis
As a consequence of the assumption that the flow of packets from s to t requires no time, at time τ = 0, no dissipation occurs while the packets travel through the network. Therefore before any dissipation occurs, maximum possible number of packets would have already had traversed the network, thereby making it dysfunctional. This stage at τ = 0 is then no different from the base model. Hence, the maximum flow is given by the max-flow min-cut theorem on the base model.
The following proposition speaks about what the minimum node-cut-set is going to be: The minimum node-cut-set in a uniform network is the one with minimum cardinality, where cardinality of a set refers to the number of nodes in the set.
Proof. By Definition 2.4, the min node-cut-set of network G is the nodecut-set of G with minimum capacity (the capacity of a set being the sum of capacities of the nodes in the set). Therefore, here the min node-cut-set is where |M i | denotes cardinality of the set M i , i.e. the set of nodes in the set M i . Without loss of generality, let i = k for which C M i is minimum (i.e. let M k be the min node-cut-set). That is: But Therefore, from (6) and (7): This tells us that the min node-cut-set is the one with minimum cardinality, which completes our proof.
After flow f = c|M i |, the nodes of the node-cut-set M k become dysfunctional, thereby disconnecting the network (M k being a node-cut-set). To revive the network again, the network needs sufficient time to dissipate the heat and become functional again. Let the network be given rest for τ units of time.
Note. It is to be observed that the network has again reached the same state as previously, where we had a disconnected network, which was then given τ units of rest, again a maximum possible number of packets pass through the network, and it becomes disconnected. We shall call this one cycle as one stage. So, technically, a stage of a network is the state it goes into after it has been revived after giving some rest, and allows a certain number of packets to pass through it before becoming dysfunctional again.
The only parameter that might vary is τ . However, it does not impact the state the network is in, as is established by the following result: In a uniform network with dissipation, the minimum nodecut-set is going the same throughout.
Proof. We shall prove the result using induction. We shall first prove that the min node-cut-set is the same for Stage 1 and 2 (let it be M k ). We assume that the min node-cut-set is M k in Stage n. Then, if we are able to prove that in Stage n + 1 as well, M k will be the min node-cut-set, we would be done.
Let us consider these stages one by one as follows: The network initially has all its nodes working at capacity c. Then, the capacity of a node-cut-set M i being the sum of capacities of its nodes, we get: Min node-cut-set being the node-cut-set with minimum capacity, can be obtained by minimizing C M i over all node-cut-sets M i , i.e.
(where M k is assumed to be the node-cut-set with minimum cardinality without loss of generality). So, the min node-cut-set in Stage 1 is the set M k , which is the node-cut-set with minimum cardinality. The min node-cut-set in this Stage could also have been obtained directly by applying Lemma 3.1.
After a max flow f = c|M k | by max-flow min-cut theorem), the network becomes disconnected. The residual capacity R M i of a node-cut-set M i being the capacity left after a transfer of a certain number of packets through the network is given by: Let the network be given sufficient amount of rest (say for time τ units) so that the network becomes functional again. Then, this revived state is the Stage 2 of the network.

Stage 2:
The improved capacities (C (2) M i ) of the node-cut-sets after τ units of rest are: Proceeding as in Stage 1, the min node-cut-set for this state of the network is obtained for that value of i for which the capacity of the node-cut-set is minimum.
, the node-cut-set with minimum cardinality, which is M k as per the assumption made in Stage 1.
Now it is established that the min node-cut-set is the same for Stages 1 and 2. Next, assume that M k is the min node-cut-set for Stage n.
Stage n: Assume that the min node-cut-set in this stage is M k . Let C (n) M i denote the improved capacity of the node-cut-sets in this stage.
Since M k is the min node-cut-set, the max flow is equal to C (n) M k (by the max-flow min-cut theorem) and After this amount of flow takes place through the network, the network is disconnected with the residual capacities of the node-cut-sets being: R (n) Again, we revive this network by giving it sufficient time (let it be τ units) to be functional again. This increases the capacities of the nodes by τ ω △Tu and makes the network functional again. In this next stage of the network: Stage n+1: The minimum node-cut-set is the one with minimum capacity (minimum of all the node-cut-sets). Minimizing C n+1 M i over i, we get: We know that C (n) M i is minimum for i = k (by the assumption in Stage n) and |M i | is also minimum for i = k (by assumption).
So, C (n) is minimum for i = k, or M k is the min node-cut-set for Stage n + 1. Hence, we have proved by induction that the min node-cut-set is the same in all the Stages in case of a uniform network with dissipation. Proof. Lemma 3.2 states that the minimum node-cut-set in case of Uniform Network is going to be the same in every stage. Let this node-cut-set be denoted by M k . Then, by Max-Flow Min-Cut Theorem, the maximum flow f should be equal to C M k .
Next, we need to show that this capacity is the same in each stage. Consider i th stage of the network. Since in the (i − 1) th stage as well, the min node-cut-set would have been M k (by Lemma 3.2), the residual capacity of this node-cut-set after maximum flow would have become zero. Therefore, after τ units of rest, the improved capacity C (i) △Tu |M k |, which is also going to be the maximum flow, f , through the network in this stage (M k being the node-cut-set), i.e., It can be easily seen that the right hand side of the equation is independent of the stage (i), which means that for i th stage (where i is arbitrary), the capacity of the min node-cut-set, and hence the max flow is τ ω △Tu |M k |. So, the rate of flow in the i th stage,f (i) becomes: (9)).
It is to be noted that the right hand depends neither on the stage, nor the value of τ , and is thus a constant quantity. Hence, it is proved that the rate of maximum flow is the same at every stage.
Note. The corollary suggests that the rate of maximum flow in case of a uniform network with dissipation is the same throughout, which means that the network has reached the steady state. However, it must be noted that the rate of this maximum flow might not necessarily be the maximum rate of flow and jumping to this conclusion might be wrong even though it seems intuitively correct. So, what should be the value of flow and corresponding value of τ such that the rate of flow is maximized is to be discussed next.

Steady State Analysis
The corollary suggests that the rate of max flow through the network remains the same throughout, which means that this state is indeed the steady state of the network. Let the rate of flow in the steady state be denoted byf . Then, The next problem is to find out the value of τ such that we obtain the maximum rate of flow of packets from s to t through the network.
Note. Intuitively, it seems that τ should not be so less that the nodes of the node-cut-sets are not even able to cool down even △T u units, as then the capacity (the number of packets that can traverse a node) will remain zero, and the network disconnected. Also, τ should not be too large so that some of the nodes reach their base temperature due to which they cannot cool down further and hence the number of packets that can traverse through the network does not rise as much as the time taken, which would eventually decrease the average rate of flow. So, to be on a safer side, τ should be such that the capacity of any node is increased by one, which means The following result proves this claim thus establishing the optimality of the solution: Theorem 3.4. The rate of flow of packets in steady state through a network with dissipation is maximum for Proof. Since each packet increases the temperature of a node by △T u , upon traversal, when τ = △Tu ω , the increase in capacity, △c, of each node is given by: So, the capacity of the min node-cut-set M k is increased by |M k | units. Thus, the rate of flow in each stage is given by: It will suffice to prove that for any other value of τ , the rate of flow cannot be greater than the rate of flow for τ = △Tu ω . Any other value of τ can either be greater than △Tu ω or less than △Tu ω . Let us consider both these cases one by one: For this value of τ , the temperature of all nodes is decreased by τ ω < △T u (by using: τ < △Tu ω ). But for a packet increases the temperature of a node by △T u upon traversal. So, the increase in capacity of a node, △c, by giving τ units of rest is: Using (13) and (14), So, for τ units of rest, where τ is such that τ < △Tu ω , the capacity of nodes is not increased. This means that the capacity of no node of the nodecut-set M k can be increased. Hence, the network remains disconnected and the rate of flow is going to be zero in every stage. Case 2: τ > △Tu ω For this value of τ , the temperature of all the nodes will be decreased by τ ω units. But, τ ω > △T u (given for this case). Since a packet increases temperature of a node by △T u units, the increase in capacity of each node, △c is given by: Using (16) and (17), △c ≥ 1.
The capacity of the node-cut-set M k is increased by △C M k such that: Since M k remains the min node-cut-set throughout (by Lemma 3.2), the max flow f is given by the capacity of M k , which is given by 19. Hence, the rate of flow,f becomes:f Suppose, if possible, that this rate is greater than the rate of flow given by 12 when τ = △Tu ω , i.e. ⌊ τ ω △Tu ⌋|M k | τ > |M k |ω △T u τ ω △T u > τ ω △T u which is not possible. Hence, our supposition is wrong. Therefore, the rate of flow in this case will always be less than or equal to the case when τ = △Tu ω The results from Cases 1 and 2 prove that the rate of flow is maximum when τ = △Tu ω . Theorem 3.5. The maximum rate of flow in any stage is given bȳ Proof. The maximum rate of flow in any stage= (maximum flow f )/(minimum value of τ for obtaining the max flow f ). Therefore, (9) and Theorem 3.4).

Non-Uniform Network
A non-uniform network differs from a uniform network in that in this case the capacities of all the nodes may be different. Let c i denote the capacity of node v i . Since the network is the same, the node-cut-sets are going to be the same, denoted by M i , i = 1, 2, . . . , m. The capacity of the set M i is the sum of the capacities of all its nodes, and is denoted by C j M i for stage j. However for the sake of convenience, the initial capacities of the nodes and node-cut-sets (which are also the same in Stage 1), will be used without the superscript. Also, after max-flow has taken place through the network, the remaining capacities of the node-cut-sets are denoted by R j M i for stage j and that of the node by r j i and are called residual capacities. On similar lines as the uniform network, the analysis for the transient and the steady states is done separately as follows.

Transient State Analysis
Using a similar argument as in Section 3.1.1, at τ = 0, no dissipation has taken place so far and hence the network in Stage 1 is the same as the base model, i.e., Stage 1: We have a network having nodes v i with capacities c i respectively. Applying the max-flow-min-cut theorem, the maximum flow is given by: f (1) = min i C M i = C M k 1 , say (without loss of generality, the min node-cutset in stage 1 is assumed to be M k 1 ) After the flow has taken place, the residual capacities of the node-cutsets would be: R (1) After f packets travel from s to t, the network becomes disconnected (as all the nodes of M k 1 become dysfunctional). For the network to become connected, at least one of the nodes ∈ M k 1 should become functional (i.e. the capacity of at least one node in M k 1 should be at least △T u ). So, we give the network τ units of rest such that: e. the capacity increases by 1 unit for each vertex, thereby increasing the capacity by |M i | units. For this stage, applying the max-flow-min-cut theorem gives the max flow f (2) as follows: where we have assumed the set k 2 to be such that C M i + |M i | is minimized.
After flow of f (2) units from the network, the residual capacity of the i th node-cut-set becomes: For this stage, applying the max-flow-min-cut theorem gives the max flow, say f 3 as follows: where we have assumed the set k 3 to be such that C M i + 2|M i | is minimized.
After flow of f 3 units from the network, the residual capacity of the i th node-cut-set becomes: This analysis of transient state suggests that the min node-cut-set might vary from stage to stage unlike in case of uniform network. The next question is whether there exists any steady state for this kind of network or not, for which we analyze the state of the network as the number of stages increases under the steady state analysis.

Steady State Analysis
Continuing in the same way as in the previous section, suppose we reach the n th stage, where n is some large number. Then, we have the following result which proves that there indeed exists a steady state for a non-uniform network with dissipation.
Theorem 3.6. The min node-cut-set is the same throughout after n stages, where where M k denotes the node-cut-set with minimum cardinality.
Proof. Continuing as above till the n th stage(where n is some number), we get: Stage n: In the n th stage, the flow will be given by: Now we claim that as n becomes large, the minimum is given by min i (M i ), and C M i is negligible in comparison with n|M i |.
To prove this claim, consider a set M k such that |M k | is less than |M i | for all i except k. Also, C M k may or may not be the least. We wish to prove that there exists an n such that M k is going to be the min node-cut-set for all stages after stage n. For that, we need to show that for all stages after n, Equivalently, we need to show the existence of n such that Case 1: combining the equations, we get: which proves the result for this case.
Case 2: So, for n ≥ max i C M k −C M i |M i |−|M k | , the minimum node-cut-set is always M k as it satisfies (21). And there exists an i, which maximizes the RHS. With this, we establish the existence of such a value n, thus proving our claim. So, after a considerable time has elapsed, the min node-cut-set is the same throughout, i.e. M k such that M k = min i (|M i |).
Note. This model (non-uniform network with dissipation) is, in fact, a generalization of the uniform network with dissipation. The Case (1) of Theorem 3.6 is a general case of the uniform network. We obtain the result that the min cut set is the same throughout for this case which is concurrent with the result 3.2 of the uniform network.
Proof. Since in all subsequent stages, the min node-cut-set is the same, i.e. M k , using Lemma 3.2 and Lemma 3.4, the rate of flow,f in any subsequent stage is the same as in the previous case and is equal tō

Non-Uniform Network With Cooling
The uniform networks, being a subset of non-uniform networks, do not require to be analyzed separately. So, here in this section, we consider a general network (non-uniform network) with a cooling mechanism. The model description goes as follows: We have a network, with the nodes at their maximum capacities. The problem is the same-to send as many heating packets from s to t via the network as possible. The only way this model differs from the basic model is that we have some cooling packets for the repair and maintenance of the network. Cooling packets are the packets that can travel via the network such that they cool a node they traverse by an amount △T d . Also, a node which is already at its maximum capacity (meaning that the node is already operating at the lowest temperature possible) does not require any cooling (in fact, it cannot be cooled any further because of restrictions on the lower bound of the temperature for each node), so the cooling packet does not cool such a vertex, which essentially means that it does not lose its cooling capacity (see Definition 4.1) while traversing that node. Definition 4.1. Cooling capacity (β) is defined as the amount by which the cooling packet can cool the nodes before getting exhausted. This means a cooling packet can cool at most n nodes before getting exhausted, where n is such that: We consider identical cooling packets, i.e. all of them must be of the same capacity β. The cooling packets are meant only for cooling purposes, and are distinct from regular packets whose flow from s to t is sought to be maximized.
When the cooling capacity of a cooling packet is exhausted, it is assumed to simply disappear from the network (the assumption is concurrent with the assumptions on the cooling packet, viz cooling packet shall only be used for cooling purpose s, which it fails to, once its cooling capacity is exhausted).
Our problem is to find the dispatch pattern (of heating and cooling packets) such that the flow (of heating packets) from source s to sink t is maximized.

Maximizing Flow Through the Network Using Cooling Packets
Our problem is to find the dispatch pattern (of heating and cooling packets) such that the flow (of heating packets) from source s to sink t is maximized. Initially, we have a network, with all the nodes at their maximum possible capacity (since every node is at its minimum possible temperature initially and hence maximum possible number of heating packets can traverse that node before it reaches its upper bound and becomes dysfunctional). Since, this model is exactly similar to the base model, for calculating the maximum flow via this network, we can follow the same approach as in the base model (applying Ford-Fulkerson Algorithm on the equivalent network (modified using the node-splitting technique)). Once, max flow has been achieved via this network, it becomes disconnected. Let M k denote the corresponding min node-cut-set which is the node-cut-set that has actually disconnected the network. It should be noted, however, that there might exist other nodes that have become dysfunctional, but do not belong to the node-cut-set M k . However, those nodes need not be identified, as they will not play a decisive role in further analysis.
To connect this disconnected network, it is obvious that we need to repair the nodes in the node-cut-set M k . The only option available to us is using the cooling packets for this purpose.
Also, we know that the network will become functional even if at least one of the nodes in M k is repaired. However, itll only yield the maximum flow (assuming no other node becomes a limiting factor (this issue will be handled later in the analysis)), which is obviously going to be less than the initial capacity of the set M k . Since we need to maximize the number of heating packets, we will have to make all the nodes in M k working at their respective maximum capacities.
The cooling packets will obviously have to be sent via directed paths/walks to the target nodes in M k .

Definition 4.2.
A walk is a directed path from a vertex v 1 to another vertex v 2 such that a node may be traversed more than once, but any edge is traversed just once. Specifically for this paper, walk is used to refer to a directed walk from s to t.
Let W denote the set of walks via which we have sent the cooling packets to the nodes in M k . Definition 4.3. Walk W S to a set of nodes S is defined as a set of walks from s to t such that the walks traverse all the nodes of the set S once. The set S is then said to be entirely spanned by W S . If the set of walks W S spans only some of the nodes of S and not all, S is said to be partially spanned by W S . So, the set of walks to the node-cut-set M k refers to a set of walks which pass through all nodes of the set M k . Then, we have the following result.
Lemma 4.1. Let the cooling packets be sent to M k , M k being the min nodecut-set of the network, via the set W and let the resulting network (with increased capacity of nodes) be denoted by G * . Then, the min node-cut-set of G * will either be M k again or M i , where M i is the node-cut-set partially spanned by W .
Proof. For this, we prove that the min node-cut-set can never be the set M i such that M i is spanned entirely by W and i = k. Let the increase in capacity of a node-cut-set M i in G * be denoted by △C * M i . Then, if the set M i is spanned by W entirely, the capacity of the set M i is increased by at least as much as that of M k , i.e. △C * M i ≥ △C * M k Also, since M k was the min node-cut-set, the residual capacity (R M k ) of M k after flow of f units would have become zero, whereas that of M i will be greater than or equal to zero. So, after the cooling packets have been sent through the network, Therefore, in the next stage, the node-cut-set M i cannot be the min nodecut-set, where i is such that M i is entirely spanned by W and i = k. (Even if the equality holds in 24, we can assume M k to be the min node-cut-set for the sake of preserving the generality of the result.) Thus we have proved that the min node-cut-set can never be the set M i such that M i is spanned entirely by W and i = k. Proof. In the initial network G, all the nodes are at the temperature θ 0i , which is the minimum possible temperature that the node can attain. So, the capacity of each node is the maximum, and let the the max flow be f . Let G * denote the network the capacity of nodes of which have been improved by employing the cooling packets. We wish to prove that in no case can the max flow through the network G * exceed f . Let M i , i = 1, 2, , m be all the possible node-cut-sets in the network G * , and let C M i denote their respective capacities (the capacity of a node-cut-set is equal to the sum of the capacities of its nodes).
The maximum flow f * is given by the max-flow-min-cut theorem as Let us assume, without loss of generality, that the node-cut-set M k is the one with minimum capacity. Then, since all its nodes are at their maximum possible capacities (because they have been cooled to their respective base temperatures by using cooling packets), it follows that C M k is working at its maximum capacity. This directly implies that This is equal to the value of max flow through the initial graph G. Hence, the result. Lemma 4.3. For the network to yield the maximum flow, every node-cut-set must work at least at the capacity κ, where κ is given by κ = min i C M i = f Proof. We reason as follows.
(a) Suppose it is not necessary. That is, there exists a node-cut-set, say, M a which works at the capacity C Ma less than f . Then, by applying the max-flow-min-cut theorem, C Ma < f. So, the max flow in this case will be f = C Ma < f . But, if we know that the maximum capacity of the set M k is C M k which can be attained by increasing the capacity of its nodes to their maximum capacities, which is not impossible. If we increase the capacities of all the node-cut-sets in this way, it is easy to see that the max flow will then be C M k only, because M k has the minimum capacity of all the node-cut-sets when all node-cut-sets are working at their maximum capacities.
(b) Even if we do not increase the capacity of the node-cut-sets to their respective maximum, and only upto κ, even then the max-flow-mincut theorem says we can attain the flow equal to f . And by Lemma 4.2, f is in fact the maximum possible flow via this network G.
So, we deduce that we can attain the maximum possible flow via G if the capacity of every node-cut-set is at least κ = min i C M i .
Note. Our objective now becomes: To send cooling packets through the network in such a way that all node-cut-sets work at at least the capacity given by min i C M i . It has already been proved why the max flow cant exceed the value f . So, it is established that we can attain max flow of f via the network. So, now we have a disconnected network, say G, which we have to repair by sending cooling packets so as to make it functional again so that it yields the maximum flow. Note. The theorem does not fix upon how many cooling packets are to be sent. We can safely send as many cooling packets as required to make the set M k work at its maximum capacity. The number of packets required for the same is given by Theorem 4.6.
But for sending cooling packets so as to span the entire network, it is necessary that such a set of walks spanning the entire network exists. This is what we shall prove next.
Note. By entire network, we mean the entire functional network. This means that the nodes that cannot be traversed by heating packets should not be considered as part of the network. Therefore, we define only those nodes to be a part of the network, that allow the flow of heating packets. Proof. Suppose there exists a node v which the heating packets traverse, but ∄ any walk from s to t via that node. This is self contradictory as the node being traversible by heating packet itself implies that there exists path from s to t via v. A path is also a walk. So, there exists a walk from s to t via v, which directly implies that there exists a walk from s to v, thereby contradicting our supposition. Hence, there exists a set of walks that spans the entire network. Proof. We have to bring the nodes in the set M k to their maximum capacities by sending cooling packets. Now, the number of cooling packets to be sent to node v i ∈ M k with capacity c i is given by n v i such that: Since we need to repair all the nodes in M k , the total number of cooling packets to be sent per f number of heating packets would be: But the set of walks spanning the set M k might not span the entire network. so, there may exist other nodes that the walks did not cover. For spanning the entire network, we need to employ more cooling packets for such unspanned nodes. This results in am increase in the number of cooling packets to be sent per f heating packets, and hence,

Reducing the Number of Cooling Packets and the Cooling Capacity Required
Do we really need to send cooling packets so as to span the entire network? Perhaps not. It seems a little counter-intuitive, but we have the following results to substantiate the realization. Proof. We prove the result by contradiction. Let us assume that there exists a set, say M a and a walk w i such that w i does not traverse any vertex of M a . Then, if all the nodes of M a become dysfunctional, there still exists a path w i from s to t, which contradicts the fact that M a is a node-cut-set. Hence, every walk w i ∈ W traverses at least one vertex of every node-cut-set.
For the next result, we need to define what we mean by a walk through a node: Definition 4.4. A walk via a node v i is a walk from s to t via a walk such that the node v i lies on that walk(or equivalently, the walk traverses the node v i ). Proof. We are given a set W of walks that span M k , and via which we are sending the cooling packets. Now, let R M i denote the residual capacity of the node-cut-sets in the network G be denoted by R M i and let the increase in capacity of a node-cut-set M i be denoted by △C M i . Let the resultant capacity of the node-cut-set M i in the network G * be represented by C * M i . Now, when we send cooling packets via nodes in M k such that the capacity of the node-cut-set is increased by f, using Lemma 4.7, the capacity of all other node-cut-sets is increased at least by f , i.e., △C M i ≥ △C M k .
Also, since M k was the min node-cut-set, And after flow f has taken place, in the resultant network G, So, using max-flow-min-cut on the network G * , we obtain the max flow C * M k , which is equal to f . Since f is the maximum possible flow that can ever be achieved via G, we have thus obtained an improved approach to obtain the max flow through G * . Proof. The previous result implies that now we do not need to send cooling packets to span the entire network G, rather our objective is to span the entire set M k , and send cooling packets so that all nodes of M k function at their respective maximum capacities so that the set M k , which is going to be the min node-cut-set in the subsequent stage, works at its maximum possible capacity which yields the maximum flow. The number of cooling packets that span M k entirely so that all nodes of M k work at their respective maximum capacities is given by Theorem 4.6 to be: Note. As per Theorem 4.8, our objective is just to send cooling packets via M k such that all nodes of M k work at their respective maximum capacities. Since a cooling packet loses △T d of its cooling capacity upon traversing a node, we can save this cooling capacity by sending these cooling packets via shortest possible walks such that they span M k and make its nodes work at their respective maximum capacities. So now, we not only reduce the number of cooling packets required but also the cooling capacity required.
We now give two results on the value of β, first to make the network functional and then, to make the network functional such that it yields maximum flow.
Theorem 4.10. The capacity of a cooling packet required for making a dysfunctional network functional should at least be equal to the minimum of the shortest distances between s and t via v i ∈ M k (the min node-cut-set of the network), i.e. β ≥ min i:v i ∈M k d(s, v i , t).
Proof. For the network to just become functional again, we need to repair at least one vertex of M k . To reduce the cooling capacity requirement, we would send the cooling packet to the vertex v i ∈ M k such that v i is nearest to s. Hence, if we denote by d(s, v i ,t) the distance from s to t via node v i , the minimum possible value of β required would be: Theorem 4.11. The capacity of a cooling packet required to obtain maximum possible flow through the network should at least be equal to the maximum of the shortest distances between s and t via v i ∈ M k (the min nodecut-set of the network), i.e. β ≥ max i:v i ∈M k d(s, v i , t).
Proof. By Theorem 4.8, to obtain maximum possible flow through the network, we need to send cooling packets via the set of walks W such that W entirely spans M k . Also, we need to repair all the nodes of M k to their respective maximum capacities, so as to be able to obtain a max flow f . For this, we need the capacity of the cooling packets to be such that even the node (∈ M k ) farthest from s is also traversed. For that, we need capacity to be such that β = max i:v i ∈M k d(s, v i , t), which proves the result.
Note. We are not maximizing or minimizing over the distances from s to v i , rather over distance from s to t via v i , because if we do not traverse from s to t, in the subsequent stage, M k might not necessarily be the min node-cut-set.

Conclusion
This paper defines a thermal network, and gives results for the maximum flow that is achievable through a thermal network. In many networks, there are restrictions on the nodes, which may be repair constraints or pollution level constraints (in road networks) or the amount of data to be transferred through a node that is already stressed (in computer networks). This work is a generalization to all such problems, whose systems may thus be regarded as real-life thermal networks. An aspect of the model we have discussed is that it is dynamic in nature, thereby capturing the temporal properties of the nodes. There are infrastructures which are to be maintained and used for very long durations. In such networks, we have to maximize the flow while maintaining nodes in a manner that does not contribute to their breakdowns.
Also, our results give the maximum flow values through the network under such constraints which can be used to measure the amount of error in heuristic algorithms developed for similar problems.
This paper also opens up the scope of developing exact algorithms for such networks using the approach we have implemented. The models can also be extended, e.g., to get a dissipating model with the rates of dissipation being different for different nodes. Algorithmic work is also possible, especially with real-life system data; for instance, algorithms for coolant problems, optimizing the capacity of the coolants used, and similar applications and implementation to practical problems.