{'fraction_non_alphanumeric': 0.041689185869405, 'fraction_numerical': 0.012086670269739105, 'mean_word_length': 3.9679033439101783, 'pattern_counts': {'":': 0, '<': 26, '<?xml version=': 0, '>': 28, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Optimal Offline Broadcast Scheduling with an Energy Harvesting Transmitter

We consider an energy harvesting transmitter broadcasting data to two receivers. Energy and data arrivals are assumed to occur at arbitrary but known instants. The goal is to minimize the total transmission time of the packets arriving within a certain time window, using the energy that becomes available during this time. An achievable rate region with structural properties satisfied by the two-user AWGN BC capacity region is assumed. Structural properties of power and rate allocation in an optimal policy are established, as well as the uniqueness of the optimal policy under the condition that all the data of the"weaker"user are available at the beginning. An iterative algorithm, DuOpt, based on block coordinate descent that achieves the same structural properties as the optimal is described. Investigating the ways to have the optimal schedule of two consecutive epochs in terms of energy efficiency and minimum transmission duration, it has been shown that DuOpt achieves best performance under the same special condition of uniqueness.


I. INTRODUCTION
The basic offline problem of energy-efficient packet transmission scheduling [2], [3], [4], [5] is to assign code rates (consequently transmission durations) to a set of packets whose arrival times are known beforehand, so that they are all transmitted within a given time window with minimum total energy. The solution needs to strike a tradeoff between energy and delay based on the observation that energy per bit with many ideal and suboptimal coding schemes is convex and monotone increasing with rate. Recently, the problem has been reformulated with a model where energy gets "harvested" or replenished at certain known instants [6].
While in the former formulations transmission rate needs to be adapted to the arrival rate of information here it is adapted to the generation rate of energy. Considering both of theses effects introduces a richness to the problem on top of the initial model. The point-to-point problem in [6] was recast for finite energy storage [7] and for a wireless fading channel [8]. The formulation has been extended to an AWGN BC in [9], [10], considering a static pool of data to be sent at the beginning of the schedule. The same BC problem was also studied under a limited battery constraint [11].
The problem in [9] and [10] is reformulated in [14] relaxing the assumption that data is ready at the beginning of the schedule. This paper, extending the work in [14], considers the broadcast problem where, given an average transmit power constraint, rates are picked from an achievable rate region which obeys certain structural properties satisfied by the AWGN BC. The sender (transmitter) gets replenished with arbitrary amounts of energy as well as data packets of arbitrary length destined to each user at arbitrary points in time.
The choices of power level and the rates to individual receivers across time is called a schedule. An optimal scheduling policy is defined to be one that transmits all the bits that have arrived within a certain time window, in the minimum possible amount of time T opt . The policy is allowed to use as many energy harvests as it needs, provided it respects causality (no energy is used before it is harvested.) The problem considered in this paper is an offline problem, where data arrival and energy harvest instants and amounts are assumed to be known in advance. Although this kind of prior information of data and energy arrivals may not be a widely applicable assumption to real-world problems, results obtained from this work help us understand the nature of an optimal solution and boundaries on the best performance. Online formulations have also appeared in the literature. Notably, [12], [13] develop online scheduling policies for multihop networks on finite-horizon and infinite horizon problem formulations, respectively.
To minimize the overall transmission duration, rates to the individual users should be chosen in a way such that transmission is fast and energy efficiency is satisfied. However, as we choose higher rates, we loose from energy efficiency. Balancing between fast and energy efficient transmission, the decision of rates needs to be based on the sequence of energy harvests and data arrivals. This paper essentially bridges the work that considered scheduling on a Broadcast Channel data that becomes available at arbitrary points in time [2] and work that considered chunks of energy becoming available at arbitrary points in time [9]. It can also be viewed as the multiuser correspondent of the second problem considered in [6]. The main contributions are: (1) to establish structural properties of the optimal schedule, (2) the uniqueness of the optimal policy when all weaker user data is ready at the beginning, (3) an iterative algorithm which returns the optimal schedule under the same condition. It is shown in Section II that in an optimal policy, transmit power used is constant within each epoch, and may only rise from one epoch to the next, so that once it starts, the transmitter never lowers its power until it finally goes silent. On the other hand, the transmitter should increase its power only under certain conditions. These conditions, along with other structural properties of power and rate are established in Section III.
Next, the uniqueness of the optimal policy is established under the condition that all of the weaker user's bits are available at the beginning. Finally, an iterative algorithm (that we refer to as DuOpt) based on the nonlinear block descent method which returns a feasible schedule carrying the same structural properties that the optimal is shown to have, is described. It has been shown that DuOpt returns the optimal schedule in case of static pool of weaker user data at the beginning of the schedule. We start by giving the problem statement in the next section.

II. SYSTEM MODEL
Consider a broadcast channel with one transmitter and two receivers. Arbitrary amounts of energy, the sender at arbitrary times t i . A possible sequence of data and energy arrivals is illustrated in Fig. 1. E(t) denotes the total energy that has been harvested in [0, t) (regardless of how much of it has been used.) Similarly, B 1 (t) and B 2 (t) denote the total number of bits destined to the first and second user, respectively, that the sender has obtained in [0, t). The interval between any two sequential arrival events (regardless of energy or data) will be called an inter-arrival epoch. The length of the i th epoch is In this offline problem, all the future arrival times and amounts of energy and bits are known by the sender at t = 0. It is also assumed that harvested energy and data are available for use instantaneously as they arrive, and code rate and transmission power decisions can be changed instantaneously. However, codeword block lengths will be chosen such that each codeword is sent completely within a single epoch (note that starting and ending times of epochs are known ahead of time), so that no arrival event occurs during a codeword. Consequently, the power and rate pair decision will be fixed throughout each codeword.
We are interested in minimizing the total transmission time for packets arriving by a certain time A schedule, which is a sequence of power and rate allocations, is feasible if it sends B 1 (W ) < ∞ bits to the 1 st user and B 2 (W ) < ∞ to the 2 nd user (with a certain level of reliability 1 ), without violating causality (at any time, using available energy and data by that time). We are interested in finding among all feasible schedules one with the smallest completion time, T opt .
The structure of the achievable rate region will be based on the two-user AWGN BC. The capacity region of a two-user discrete time AWGN BC with average power constraint P , noise variance σ 2 , where the 1 st user's channel gain (s 1 > 0) is larger than the 2 nd user's (s 2 > 0), consists of rate pairs (r 1 , r 2 ) satisfying: where α, (0 ≤ α ≤ 1), denotes the fraction of P used for the 1 st user. Since s 1 > s 2 , the 1 st user will be referred as the "stronger user", and the 2 nd as the "weaker user". From (1) each user's rate can be expressed as a function of the other's and P , as r 1 = h 1 (P, r 2 ), r 2 = h 2 (P, r 1 ). The rate functions h 1 and h 2 defined on + × + will be assumed to satisfy the following properties: 1) Nonnegativity: h 1 (P, r) ≥ 0, h 2 (P, r) ≥ 0.
2) Monotonicity: h 1 (P, r), h 2 (P, r) are both monotone decreasing in r, and monotone increasing in P .
3) Concavity: h 1 (P, r), h 2 (P, r) are concave in P and r: ∂ 2 h i (P,r) The results in the rest of the paper will be valid for any rate function satisfying (1)- (5), which are also satisfied by the AWGN BC [9].
It is straightforward to show that one can restrict attention to feasible schedules that do not change their power and rate allocations within epochs. 1 The achievable rate regions will be implicitly assumed to correspond to a certain constant tolerable error probability respecting which it is possible to transmit a finite number of bits with a finite amount of energy per bit. Lemma 1: In an optimal schedule, the power and rate pair remain constant within all epochs, except for the epoch during which the schedule ends.
Proof. During an epoch, there are no energy or data arrivals and the claim is identical with the one stated and proved in Lemma 2 of [9]. The power will drop to zero when the schedule ends, which is in general within (and not necessarily at the end of) the last epoch used by the schedule.
With this, we will take rate and power assignments constant during an epoch. Let P i be the total transmit power and r ji be the rate assigned to the j th user during epoch i. Similarly, P ji represent the power assigned to j th user during epoch i. We are now ready to state the problem in terms of power and rate allocations to epochs, more precisely, an assignment of power and the stronger user's rate to each epoch (the weaker user's rate is thus determined). A final technical assumption will be useful in stating the problem: we shall assume that there is some k up < ∞ such that there is at least one feasible schedule that ends within the first k up epochs. In other words, k up is an upper bound for epochs to be considered. In problem statement, k * denotes the last epoch of an optimal schedule, where k * ≤ k up .

Problem 1: Transmission Time Minimization of Data Arriving at Arbitrary Points on an Energy
Harvesting BC: f or k = 1, 2, ..., k * = max{i : We will refer to (2) and (3) as energy and data causality constraints, respectively, as these ensure no energy is consumed and no bit is transmitted before becoming available. In addition, when the k th inequality in (2) holds with equality, we shall say that k th energy constraint is active. Similarly, equality case in (3) will be referred as a data constraint being active. Finally, the feasibility constraint (4), ensures all the data bits destined to each user are transmitted.
In the next section, we investigate structural properties that any optimal schedule has to satisfy.
III. STRUCTURE OF AN OPTIMAL POLICY Lemma 1 recorded that in an optimal schedule power can only change upon a data arrival or energy harvest. The next result states that when power changes, it can only increase. The key to the proof is that more "bits per joule" can be sent by evenly distributing energy across a time interval (i.e., maintaining a constant power level, which is a consequence of the convexity properties of our rate functions.) If an even distribution of power requires transferring energy or bits to the latter epoch, it can always be done; hence, total transmit power never decreases in time. But, power may increase in time, because even distribution of power may result in unmet causality constraints. We state these results in Lemma 2.
Due to space constraints, the proofs of the following results (Lemma 2 through Lemma 4) are omitted, and given in [18].
As stated in Lemma 2 power cannot decrease, yet may rise in time. In the next Lemma we note what is necessary condition for such a rise to occur in an optimal policy. c) The weaker user's data constraint is active and data arrival to the weaker user occurs at time t i .
The next set of results illustrate the structure of rate allocation in conjunction with the power allocation in an optimal policy.
Corollary 1: (For proof see [18]) In an optimal policy, 1) If power increases upon a data arrival for the second user, data to be sent to the weaker user have been finished by this event.
2) If power rises upon a data arrival for the stronger user, all available bits have been sent by this event.
3) If power increases upon an energy harvest, all energy available at the beginning of the former constant power band has been consumed by this energy harvest.
In the rest, some properties will be proved under the condition that all weaker user data is available at the beginning. We shall abbreviate this condition as follows: Definition 1: Weaker User Full Buffer Condition (WUFBC) is said to be satisfied whenever all of the data of the weaker user is available at the beginning of transmission. That is, The following lemma states an important feature of the stronger user rate distribution under WUFBC.
Lemma 4: (For proof see [18]) Consider two consecutive epochs i and i + 1 of a given schedule, ending at t i and t i+1 by definition, and suppose WUFBC holds for the problem instance. The following is necessary for the rate and power allocation to these two epochs of the given schedule to be locally optimal: The stronger user's rate is constant throughout . Furthermore, the rate may jump up at t = t i (staying constant otherwise) if at least one of the below is true: 1) There is data arrival to the stronger user at t = t i and all the data that arrived before t = t i has been transmitted by t i .
2) An energy harvest occurs at t = t i and all of the power has been used for the stronger user during epoch i.
We investigate the unique solution of Problem 1 in the next section.

IV. UNIQUENESS OF THE OPTIMUM SCHEDULE UNDER WUFBC
In the following lemma we note that an optimal schedule uses all energy harvested by the time the schedule ends completely.

Lemma 5:
The energy consumed by an optimal schedule that ends at T opt is equal to E(T opt ).
Proof. To reach contradiction, consider an optimal schedule that consumes less energy than it harvested and has leftover energy in its energy buffer at T opt . The remaining energy in the buffer could have been used in the last epoch to decrease the transmission completion time, which contradicts the minimality of T opt . Hence, this schedule cannot be optimal.
Next, we show the uniqueness of the optimal schedule under WUFBC.
Theorem 1: There is a unique optimum schedule under WUFBC, i.e., a unique power-rate allocation achieving T opt .
Proof. Suppose that there are two distinct optimal schedules, S A and S B , which have equal power and rate assignments until t s−1 and differ for the first time at epoch s. Consider that the corresponding power allocation vectors, P A and P B , also differ at epoch s such that P A i = P B i , ∀i ∈ {1, 2, .., s − 1} and P A s < P B s . First, assume that P A remains constant after epoch s, i.e., P A i = P A s , ∀i > s. By definition, both schedules end at T opt . The total energy consumption of S A would be less than that of , which contradicts Lemma 5. Hence, total transmit power of S A cannot remain constant after t s . Since total transmit power is nondecreasing (See Lemma 2), it should increase after epoch s and before the end of transmission, i.e., P A u < P A u+1 , ∃u ∈ {s, s + 1, ..., k * }. Since there are no data arrivals for the weaker user, the increase in total transmit power is either due to energy constraint being met or due to all the packets arrived by the time t u having been transmitted (cf. conditions (a) or (c) in Lemma 3). As has not consumed all the available energy at the end of epoch u. Hence, S A must have transmitted all the bits arrived until t u , which means that S A has transmitted at least the same number of bits to both users while consuming less energy than S B between t 0 and t u , which contradicts the optimality of S B . Therefore, if there are two distinct optimal schedules, S A and S B , their power allocation vectors cannot be different, i.e., P A = P B . Now, consider two rate pair vectors, Let the rate of the stronger user in S A , {r A 1j } stay constant after t s−1 . By Lemma 4 rate of the stronger user cannot decrease, hence the rate of the stronger user in S B would be larger than that Since both schedules end transmission at the same time, S A transmits fewer bits to the stronger user than S B does, which contradicts the fact that optimal schedule transmits all the packet arrivals by the end of transmission.
Therefore, the rate of the stronger user in S A cannot stay constant after epoch s. Now suppose that rate of the stronger user in S A increases at the end of epoch u, i.e., r A 1u < r A 1(u+1) , ∃u ∈ {s, s + 1, ..., k * }. This increase cannot be due to (1) in Lemma 4 because S B has transmitted more bits to the stronger user Moreover, this increase cannot be due to (2) in Lemma 4 since rate of the weaker user in S A is greater than zero in epoch u, i.e., Hence rate of stronger user in S A cannot increase after epoch s. Finally, rate of the stronger user in S A cannot decrease (See Lemma 4) as this would also contradict optimality. Hence, there cannot be two optimal schedules with different rate pair vectors.
As both the power allocation vector and the rate pair vector of an optimal schedule are unique, we conclude that the optimal schedule is unique under WUFBC. 8

V. THE DUOPT ALGORITHM
The problem in [9] which is a special case of Problem 1, where both users' data is available at the beginning, was shown to be solved in [9] by the FlowRight algorithm [15]. Along similar lines, we develop an algorithm that we call DuOpt for solving Problem 1 in its general form. As a matter of fact, DuOpt simply reduces to FlowRight when the given problem instance has all the data arriving at Hereafter, we will briefly outline the local optimizations over epoch pairs. In Theorem 2, it will be shown that local optimizations can only improve the schedule. We will also prove that under WUFBC, successive iterations strictly improves the schedule unless it is optimal.
Local Optimizations: Let E n i denote the energy used during the i th epoch and b n ji denote the number of bits transmitted to the j th user during epoch i at the end of n th iteration. Suppose that DuOpt is at the n th iteration and running a local optimization over epoch pair (i, i + 1). The values of b n jz and E n z , ∀z ∈ {1, 2, ..., i − 1} have already been found by previous local optimizations. At the end of this optimization, E n i and b n ji will be determined; E n−1 i+1 , E n−1 i+2 and b n−1 j(i+1) will be reset to new values that conserve total energy consumption and data transmission in these epochs. The goal of the local optimization is surely to minimize the total transmission completion time of all the packet arrivals. Hence, it is logical to minimize the transmission time in the local optimization problem, which results in a gap 2 if transmission ends before the end of (i + 1) th epoch. This gap is used in the next local optimization to further reduce the transmission time via transferring bits or energy between epochs (i + 1) and (i + 2); hence, a new gap occurs at the end of the next local optimization. This new gap propagates to the end of the transmission resulting a reduction in the total transmission completion time [9]. However, in some cases an epoch long gap occurs and this gap is useless for the next local optimization, i.e., energy or data transfer between epochs in the next local optimization is impossible because of constraints. In that case, it is better to just spread the data out till the end of the second epoch in the local problem and minimize the energy consumption so that the excess energy can be used to further reduce the transmission time in the next local optimization. This leads to two different local optimization functions: time minimization and energy minimization. These functions both support the global objective in different ways. Time minimization aims to find the minimum amount of time, T n (i,i+1) , to transmit b n j(i,i+1) = b n−1 ji + b n−1 j(i+1) bits to each user using the energy available in epoch pair On the other hand, energy minimization aims to find the minimum energy, E n (i,i+1) , to transmit b n j(i,i+1) bits to each user in two epoch durations, i.e., ξ i + ξ i+1 , and excess energy, , is transferred to the (i + 2) th epoch in order to conserve energy. Both of the optimizations respect energy and bit For details of the local optimization, see [18].  2) DuOpt stops and returns a schedule with {r ∞ 1i , r ∞ 2i }. Proof. Algorithm

11:
if i ≤ Flag then 12: Calculate_T(&T n ) {Calculate current transmission completion time.} 21: until T n == T n−1 1) Suppose that DuOpt is running its n th iteration. After the local optimization on i th epoch pair, we obtain {(r n 1i , r n 2i ), E n i } and reset the values of {(r n−1 1(i+1) , r n−1 2(i+1) ), E n−1 i+1 , E n−1 i+2 }. If the Flag is not placed before i th epoch pair, i.e., F lag ≥ i, then the aim of the local optimization will be energy minimization. Following the local optimization on i th epoch pair, the excess energy will be transferred to E n−1 i+2 . In the next local optimization this excess energy is either further transferred or is used to reduce the transmit time. On the other hand, if F lag < i, then the aim of the local optimization on i th epoch pair will be time minimization. After the local optimization the transmission completion time of the bits in epochs (i, i + 1) will either be equal to or before the end of the epoch (i + 1). That is, a gap may occur within i th epoch pair. In the next local optimization, this gap would propagate to the (i + 2) th epoch [9]. During the n th iteration of DuOpt, if a gap occurs or excess energy is transferred during local optimizations, then the gap (or the excess energy respectively) will propagate to the last epoch pair resulting in an ultimate reduction the transmission completion time at the end of the iteration, i.e., T (r n 1i , r n 2i ) < T (r n−1 1i , r n−1 2i ). If neither excess energy nor a gap occurs during local optimizations, then transmission completion time cannot be decreased and DuOpt will stop by definition.
Both local optimizations are in favor of the next local optimization. Therefore, if in either one of the local optimizations a gap occurs or excess energy is transferred then it would propagate till the last epoch pair and finally the transmission completion time would decrease at the end of n th iteration, i.e., T (r n 1i , r n 2i ) < T (r n−1 1i , r n−1 2i ). If neither excess energy nor gap occurs during local optimizations, then transmission completion time would not be decreased and DuOpt would stop.
2) In Part-1 we have shown that transmission completion time, T (r n 1i , r n 2i ), is strictly decreasing in each iteration; meanwhile it is bounded below by T OP T . Therefore, the iterations of DuOpt stop and return a schedule {r ∞ 1i , r ∞ 2i }.

Proof. Suppose that DuOpt stopped and returned a schedule {r
Let S opt be the unique optimal schedule with transmission completion time T opt . We will now prove that S Du = S opt . Let us suppose S Du = S opt , then these schedules have to differ in either the power allocation or rate allocation (or both). First, suppose P Du (i) We assumed P Du s > P opt s . If P opt stays constant after epoch s till the end of transmission, this would mean that S Du consumes more energy than S opt until T opt , which would contradict the fact that optimal schedule consumes all the harvested energy till the end of transmission. Therefore the power of the optimal schedule must increase at the end of epoch (s + m) for some m ≥ 0 before the end of transmission. As S Du has been able to use more energy than the optimal schedule until t s+m , the optimal schedule cannot have run into an energy constraint at t s+m , hence the rise in the power can only be due to a data constraint at t s+m , i.e., all the bits arrived have been transmitted by the optimal schedule until t s+m . In order to contradict the assumption that P Du s > P opt s , we will now analyze the rate assignments for both schedules. First let us focus on the case that both schedules use exactly the same rates for the stronger user up to t s+m , i.e., r Du 1i = r opt 1i , ∀i ∈ {s, ..., s + m}. As we have shown above, S opt should have transmitted all the bits available until t s+m . However, if we compare the weaker user bits transmitted by both schedules until t s+m , we observe that S Du transmits more bits to the weaker user than S opt does, because s+m i=1 (r Du On the other hand, DuOpt respects bit causality, i.e., DuOpt does not transmit bits that have not arrived yet, so we reach contradiction. That is, rates cannot stay constant up to t s+m , i.e., there is some k ∈ {1, 2, ..., s + m − 1} such that r Du 1i = r opt 1i for i < k and r Du 1k = r opt 1k . But we shall now show that this is not possible. First consider the case that r Du 1k < r opt 1k . From Lemma 4, the stronger user's rate cannot decrease under WUFBC. If r Du 1i = r Du 1k , i ∈ {k, ..., s+m}, then S Du transmits more bits to the weaker user than S opt does by t s+m , However, at the end of (s + m) th epoch, S Du cannot send more bits to weaker user because S opt should have transmitted all the weaker user bits. Therefore, r Du 1 should increase before t s+m , i.e., at the end of epoch k + n, where 0 < n < (s + m − k). We have r Du 1(k+n) < r Du 1(k+n+1) , hence either one of the two conditions in Lemma 4 must hold. Since k+n i=1 (r opt 1i − r Du 1i )ξ i > 0, until t k+n , S opt has transmitted more bits to the stronger user than S Du does; therefore, all the stronger user's bits arrived have not been transmitted by S Du at the end of epoch (k + n). Also, r Du 2(k+n) = h 2 (P Du k+n , r Du 1(k+n) ) > h 2 (P opt k+n , r opt 1(k+n) ) ≥ 0. Hence neither of the two conditions in Lemma 4 holds and stronger user's rate cannot increase at t k+n , which implies r Du 1k < r opt 1k . Thus, we are left with the case r Du 1k > r opt 1k . If r opt 1i = r opt 1k , i ∈ {k, ..., s + m}, then s+m i=1 (r Du 1i − r opt 1i )ξ i > 0 , which contradicts the fact that DuOpt respects bit feasibility. Hence, stronger user's rate in S opt cannot remain constant after epoch k. Then we should have r opt 1i = r opt 1k , i ∈ {k, ..., k + n} and r opt 1(k+n) < r opt 1(k+n+1) . Since there is an increase in the stronger user rate, at least one of the conditions in Lemma 4 should hold at t k+n .
However, we have k+n i=1 (P Du i − P opt i )ξ i > 0 and k+n i=1 (r Du 1i − r opt 1i )ξ i > 0, which tells us that neither one of the conditions in Lemma 4 holds, which implies that this final case is also not possible.
Hence, we conclude that the case P Du s > P opt s is not possible.
(ii) Now consider the case P Du s < P opt s . We will prove that this case is also not possible by following a similar method to the one in case (i). First, suppose that the power of S Du increases after s th epoch. This increase cannot be due to an energy constraint, since S opt consumes more energy than S Du does until the increase in power. Hence, it should be due to data constraint and under WUFBC both user data constraints should be active. That is, S Du transmits all the feasible data until the increase in power. This implies that while consuming less energy, S Du transmits at least the same number of bits than S opt does, which contradicts the optimality of S opt . Thus, power of S Du cannot increase after epoch s. Also, it cannot decrease in time, otherwise a local optimization results in either a gap or excess energy that propagates till the end of the schedule and transmission duration decreases. Therefore, we power of S Du should stay constant after epoch s until T opt . Now, we will analyze the rate assignments for both schedules. Let the transmission of S opt end in epoch (s + m) for m ≥ 0 and suppose that r Du 1i = r opt 1i ∀i < k, 0 < k < (s + m). At the k th epoch there are three possible cases: r Du 1k > r opt 1k , r Du 1k < r opt 1k and r Du 1k = r opt 1k . We will first consider the case r Du 1k > r opt 1k and prove that this is not possible. Let r Du 1k > r opt 1k and consider the rate of the stronger user in S opt after k th epoch. It cannot stay constant until T opt , because it contradicts the fact that S opt transmits all the feasible bits before T opt , i.e., s+m i=1 (r Du 1i − r opt 1i )ξ i > 0. Since the stronger user's rate in S opt cannot decrease by Lemma 4, it should increase at the end of epoch (k + n) for 0 ≤ n < (s + m − k), i.e., r opt 1(k+n) < r opt 1(k+n+1) . However, we have k+n i=1 (r Du 1i − r opt 1i )ξ i > 0 and r opt 2(k+n) = h 2 (P opt k+n , r opt 1(k+n) ) > h 2 (P Du k+n , r Du 1(k+n) ) ≥ 0 which implies that none of the conditions in Lemma 4 holds and the stronger user's rate in S Du cannot increase after epoch k. Hence, we conclude that r Du 1k > r opt 1k . Now we consider the case r Du 1k < r opt 1k . Suppose that the stronger user's rate in S opt increase at epoch (k + n) for 0 ≤ n < (s + m − k). This increase in stronger user's rate requires that at least one of the conditions in Lemma 4 should hold. However, we have k+n i=1 (r Du 1i − r opt 1i )ξ i > 0 and r opt 2(k+n) = h 2 (P opt k+n , r opt 1(k+n) ) > h 2 (P Du k+n , r Du 1(k+n) ) ≥ 0, so the stronger user's rate in S Du cannot increase, i.e., r Du 1k > r opt 1k . Since the stronger user's rate in S opt cannot decrease by Lemma 4, it should stay constant until T opt .
Thus far we have shown that if S Du is different than S opt , then S Du cannot have higher power level than S opt until T opt . Moreover, if power level of S Du becomes lower than that of S opt , then it should stay constant until T opt and if the stronger user's rate of S Du becomes lower than that of S opt , then it should stay constant until T opt . These results are shown in the general case in Fig. 3. Now, letb Du 2 andb opt 2 be the number of bits transmitted to the weaker user till t s+m+l−1 by S Du and till T opt by S opt , respectively. Then, we havẽ From (5), S Du transmits more bits to the weaker user than S opt does, then this final case also cannot happen. Therefore, we conclude that the schedule returned by DuOpt cannot be different than the unique optimal schedule, i.e., S Du = S opt .

VI. NUMERICAL EXAMPLE
Consider a two-user AWGN BC with 1Khz bandwidth and N 0 = 10 −12 Watts/Hz. Path loss factors on the links of stronger and weaker user are assumed to be 70dB and 75dB, respectively. Amounts and instants of energy harvests and bit arrivals are depicted in Fig. 4. Under these circumstances DuOpt algorithm is run and final schedule is calculated as drawn in Fig. 4

VII. CONCLUSION
With the new advances in energy harvesting technologies, optimization of communication systems that depend on renewable energy resources has emerged as an important problem. A large body of recent research effort in the field has focused on transmission scheduling policies [9], [10], [6], [7], [12], [13].
This paper continued the work on to the solution of the previous formulation of the problem stated in [9] and [10]. In particular, it aimed to find the power and rate allocation policy in a Broadcast Channel with two users, that minimizes the total transmission completion time of data that becomes available at arbitrary points in time, with energy that is harvested at arbitrary points in time. It should be noted that this line of work relies on offline problem formulations where exact knowledge of data and energy arrival events is assumed. The approach is useful for obtaining structures and guidelines as well as benchmarks for online problems which may be more applicable in practical transmision scenarios.
In this study, structural properties about the solution of the general optimal offline broadcast packet scheduling policy for an energy harvesting broadcast channel have been established. The uniqueness of the optimal policy under the weak-user-full-buffer condition (WUFBC) has been shown. An iterative algorithm, DuOpt, that returns a feasible schedule which possesses the same structural policies that the optimal was shown to have is devised. Moreover, DuOpt was shown to obtain the unique optimal policy under WUFBC.
Proving the uniqueness of the optimal policy and optimality of DuOpt in general are two goals of ongoing work. The direction set for future work related to the problem presented in this paper also includes online problems.

A. Proof of Lemma 2
The claim is that power is non-decreasing with epoch number i. Equivalently power is non-decreasing in time. To show this, we will argue that given a schedule in which power decreases at some time t i , this schedule can only be improved by equating the power levels before and after t i . Consider a time interval (τ 1 , τ 2 ), so that power is constant at P 1 > 0 during (τ 1 , t i ), and at P 2 < P 1 during (t i , τ 2 ). As such that the new power allocation to the slots is (P 1 , P 2 ) satisfying P 2 ≤ P 2 ≤ P 1 ≤ P 1 . With this new allocation, the weaker user's rate in the first slot is h 2 (P 1 , r 11 ) ≤ h 2 (P 1 , r 11 ) = r 21 > 0. Its new new average rate over the duration of t is: =r 2 This is shown by straightforward application of the properties listed in section II.
In the remaining case which is r 21 = 0, we know that r 11 > 0 must hold (as P 1 > 0.) In this case, the allocation can similarly be improved by bringing power levels closer and transferring some of the first user's bits to the right, while keeping the rate allocation of the weaker user unchanged. Let r 1 βr 11 + (1 − β)r 12 be the average rate of the stronger user over the duration t. After the reallocation, the average rate of the stronger user becomes =r 1 (8) follows from the fact that for all β = {0, 1} with equality achieved at β = 0, 1.
We can show that (9) holds by proving q(β) is concave in β.
The 1 st and 2 nd order derivatives of q with respect to β are the following 3 3 h1 x and h1 xx represent the first and second order partial derivatives of h1 with respect to P , respectively.
According to the properties listed in section II, (12) always holds if r 21 ≥ r 22 . Hence q is concave in β, if r 21 = 0. We conclude that a policy that contains a drop in power level is sub-optimal.

B. Proof of Lemma 3
To reach contradiction, suppose that power increases at time t i (P i+1 > P i ). We will show that if none of the conditions (a), (b) or (c) hold, then it is possible to improve the schedule by transferring some energy from the (i+1) th epoch to the i th . Assuming the i th epoch length is βt and the (i+1) th is (1−β)t, after bringing power levels closer, Observe that if we treat P i as P 2 and P i+1 as P 1 , then (13) becomes identical with (6). This implies that at least the same number of bits could be transmitted to weaker user, if we can bring power levels closer while keeping the stronger user's rates constant. In addition to this, the allocation could also be improved by bringing power levels while keeping the weaker user's rates constant, in case r 2(i) ≥ r 2(i+1) .
It is straightforward that we cannot bring power levels any closer when condition (a) holds, due to the energy causality constraint. Secondly, it also doesn't yield a better schedule, if we can not transfer data from the latter epoch to the former(condition (b)). When it is possible to transfer some positive amount of energy from the (i + 1) th epoch to the i th , as shown in (7), we can always improve allocation while keeping the rates of the stronger user the same. Although bringing power levels closer while keeping the rates of the stronger user the same is not feasible in case weaker user's data constraint is active, we may still improve allocation as proved in (8). Nevertheless, this time we require r 2(i) ≥ r 2(i+1) . As rate of the weaker user can only rise upon a data arrival for the weaker user in case weaker user's data constraint is active, condition (c) describes the last case that we may not improve allocation by bringing power levels closer.
We have thus shown that this set of three conditions contains all the cases in which power can rise, if none of these hold, then power cannot rise. It is straightforward to show that this set cannot be further reduced by finding counterexamples for the claim that if any one of (a), (b) or (c) is satisfied, then power may rise at time t i .
C. Proof of Corollary 1) Suppose that power increases upon a bit arrival for the weaker user occurring at t i . As there is no energy constraint at t i , bringing power levels closer does not contradict with the energy causality in this case. This implies that conditions (b) or (c) stated in Lemma 3 must hold. However, we know that there is a data arrival for the weaker user at t i , so if (b) were true, then (c) would be true as well. Therefore, condition (c) holds in either case.
2) Suppose that power increases upon a bit arrival for the first user. With similar reasoning to part-1, condition (a) of Lemma 3 cannot hold. As there is also no data arrival for the weaker user, condition (b) must be satisfied.
3) As there is no data arrival at the time when power increases, the only possibility that power increases upon an energy harvest is condition (a) of Lemma 3.

D. Proof of Lemma 4
Suppose that r 1i ≤ r 1(i+1) . One can find a better schedule by bringing the rates of the stronger user closer by Lemma 6 of [9] 4 . Therefore, the stronger user's rate cannot decrease. However, the stronger user's rate may increase because it may be against to either bit or energy causality to transfer some 4 Lemma 6 of [9] originates from the observation in [10] (See Lemma 4 and Corollary 1) that there is a cut-off level for the total power, below which no power is assigned to the weaker user. stronger user bits from epoch i + 1 to i. Firstly, it is against bit causality to transfer some stronger user bits from epoch i + 1 to epoch i, if the first condition holds. Secondly, if the second condition is satisfied we cannot bring stronger users rates closer to each other as it would violate energy causality.

E. Details of the Local Optimization
Consider the local optimization problem given in Fig. 6, where B ij is the data arrival for the i th user, E j is the energy harvest at the beginning of j th epoch for i, j ∈ {1, 2}. T 1 is the length of the first epoch and T 2 is the transmit duration in the second epoch. Let P ij and r ij be the power and rate assigned to the i th user during j th epoch after optimization. The energy and data causality constraints for the local optimization problem are as follows: The structure of the solution changes if either one of the constraints satisfied with equality. Since there are 3 different constraints, after optimization one will encounter one of the 2 3 = 8 results. We have studied all 8 cases and derived solutions to each one of them for both energy minimization and time minimization functions. In each case, the solution can be calculated analytically for energy minimization or it can be found iteratively for time minimization functions. Before starting the optimization, if one already knows which constraints should be satisfied with equality, then the result could be obtained solving just that case. Otherwise, one should compute the results for each case and then select the best one 5 that respects energy and bit causalities. Next, we will analyze one of the cases and present the algorithms for both energy and time minimization functions. The analyzes of the remaining cases can be done in a similar fashion [18].
Local Optimization when only stronger user data constraint is active: One of the possible structures of the local optimal solution is when only the stronger user data constraint is active. In this case, total transmit power level in local optimal solution should be constant (See Lemma 3). Under this condition, a possible illustration of optimal power allocation is depicted in Fig. 7. Since the total power should stay constant during transmission, we should have P 11 + P 21 = P 12 + P 22 . Moreover, we should have P 11 ≤ P 12 since only the stronger user bit causality is met.