D2D communications underlaying cellular networks has become very popular recently. Inter-
ference between cellular users and D2D users is one of the tricky issues we need to solve. Another
challenging issue is limited battery lives. In this thesis, we address these two issues together by
introducing an energy harvesting (EH) assisted D2D model where the whole transmission process
is divided into multiple time slots. At the beginning of every time slot, each D2D user will update
the remaining energy level to the base station (BS) and the BS will then decide whether the D2D
user should harvest energy or transmit data. The objective is to maximize sum throughput for all
D2D users. To solve the problem, we first adopt the NOMAD algorithm, then propose a heuristic
algorithm as sub-optimal solution. Numerical results show that our proposed algorithm can achieve
almost the same sum throughput at a significantly smaller time cost.