Recently, as it can greatly increase the capacity of cellular networks through spatial diversity, cooperative communications has been obtaining more and more attention. As a widely used schema, user (user equipment, UE) cooperation presents its advantage. However, due to the users' selfish nature, UE may be unwilling to serve as a relay node if they cannot obtain a corresponding reward. On the contrary, to save energy for longer standby time, particularly when there is energy shortage, many source users would like to purchase the relay service from other idle UE. Therefore, reconciling the demand of both sides is a challenging problem to be resolved. In this paper, a realistic double-auction scenario is constructed between multiple source UE and multiple idle UE in a cellular network. We take the avaricious psychology of network entities into consideration by determining the ask and bid prices through a markup, which is the function of their residual energy. To solve this double-auction-based optimal relay assignment problem, we transform it into maximum matching (MM) and maximum weighted matching (MWM) problems, respectively, and we solve them by corresponding algorithms. Experimental results show that the proposed algorithms dramatically maximize the system performance involving successful source–relay pairs, system throughput, and social welfare (SW), compared with other idealized truthful double-auction scheme that only consider the system throughput.