Designing Energy-Efficient Algorithms for Joint Energy Recharge and Data Gathering in Wireless Rechargeable Sensor Networks