5
curve
tightest
E
0
E
3
E
4
E
5
E
6
E
2
E
1
T
T
!
E
i
tightest
curve
T
T
E
1
E
0
E
2
E
3
E
4
E
5
E
6
!
E
i
(
!
E
i
− E
max
)
+
(a) (b)
Fig. 4. The optimal policy is the tightest string that connects the two ends. (a) E
max
= ∞. (b) Finite E
max
.
we send a signal with power P in an epoch of duration
`,
`
2
log (1 + hP ) bits of data are served out from the data
backlog with the cost of `P units of energy depletion from
the energy queue. With this model in mind, we solve for the
optimum power control policy P (t) in time as a function of the
energy arrival profile, the data backlog profile and the channel
fading profile, in order to minimize the time by which all
of the packets are successfully transmitted. Minimizing the
transmission completion time for a given number of bits is
equivalent to maximizing the number of bits transmitted in
a given duration. Therefore, in the following, we consider
maximizing the number of bits delivered by a deadline T .
The optimization problem is subject to the energy causality
constraint on the harvested energy, and the finite-storage
constraint on the rechargeable battery. In particular, the energy
causality constraint requires that the energy that has not arrived
yet (has not been harvested yet) cannot be used. The finite-
storage constraint, on the other hand, requires that no energy
is wasted because of battery being full at the time of energy
arrivals; we also call this constraint the no-energy-overflow
constraint. Assume that energies of {E
0
, E
1
, . . . , E
N−1
} are
harvested, and epoch lengths are {`
1
, . . . , `
N−1
}. Due to the
concavity of the rate-power relationship, power must be kept
constant between energy harvests [12]. This reduces the power
control policy of P (t) to a sequence of constant powers
{p
1
, . . . , p
N
}. The energy causality constraints become [12]
k
X
i=1
`
i
p
i
≤
k−1
X
i=0
E
i
, k = 1, . . . , N (5)
and the no-energy-overflow constraints become [13]
k
X
i=0
E
i
−
k
X
i=1
`
i
p
i
≤ E
max
, k = 1, . . . , N − 1 (6)
We illustrate these two constraints on the energy consump-
tion policy in Fig. 3(b). The upper staircase is the cumulative
energy arrival profile which provides the energy causality
upper bound, and the lower staircase is the no-energy-overflow
curve which provides a lower bound. Any feasible energy
consumption curve must lie in between. We note that the
energy causality constraint forces the energy consumption to
slow down not to exceed the harvested amount, while the no-
energy-overflow constraint forces energy consumption to speed
up to open up space in the battery for new energy arrivals.
Although the optimization is over all monotonically non-
decreasing time functions for the energy consumption curve,
by the concavity of the objective function, the optimal policy
must remain constant in between energy harvests; therefore,
the dimension of the optimization problem is reduced to the
finite number of epochs in an interval. Geometrically, this
means that the feasible energy consumption profiles which
are candidates to be optimum must be piece-wise linear. The
optimal policy is shown to be the tightest string that lies in
the energy feasibility tunnel [12], [13]. This solution aims to
keep longest stretches of constant power periods subject to
energy causality and no-energy-overflow constraints, as the
concavity of the power-rate relationship favors constant powers
to the extent possible. An example of the optimum energy
consumption curve is shown in Fig. 4(a) for E
max
= ∞, i.e.,
there is no energy overflow concerns, and in Fig. 4(b) for a
finite E
max
.
An alternative approach to the feasible tunnel approach is
the directional water-filling algorithm presented in [14]. The
directional water-filling algorithm aims to distribute the water
(energy) equally over time, subject to energy causality con-
straints, which introduce the directionality of water (energy)
flow. The directional water-filling algorithm requires walls at
the points of energy arrival, with right permeable water taps
in each wall which allows water to flow only to the right. This
implements the energy causality constraint, i.e., energy can be
saved and used in the future, but the energy that will arrive
in the future cannot be used before it has arrived. In addition,
these taps allow at most E
max
amount of water to flow to the
right. This implements the finite-capacity battery constraint by
avoiding overflows. These are based on the KKT optimality
conditions found from the corresponding convex optimization
problem [14]
p
∗
i
=
1
P
N+1
j=i
λ
j
−
P
N
j=i
µ
j
− 1, i = 1, . . . , N (7)
where λ
i
are the Lagrange multiplier that enforce energy
causality and µ
i
are the Lagrange multipliers that enforce
no-energy-overflow conditions. In the implementation of the
directional water-filling algorithm, first, the taps are kept off,
and transfer from one epoch to the other is not allowed. Then,
the taps are turned on one by one, and at most E
max
−E
i
units
of energy transfer from past to the i+1st epoch is allowed. An