Resource reallocation problems are common in real life and therefore gain an increasing interest in Computer Science and Economics. Such problems consider agents living in a society and negotiating their resources with each other in order to improve the welfare of the population. In many studies however, the unrealistic context considered, where agents have a flawless knowledge and unlimited interaction abilities, impedes the application of these techniques in real life problematics. In this paper, we study how agents should behave in order to maximize the welfare of the society. We propose a multi-agent method based on autonomous agents endowed with a local knowledge and local interactions. Our approach features a more realistic environment based on social networks, inside which we provide the behavior for the agents and the negotiation settings required for them to lead the negotiation processes towards socially optimal allocations. We prove that bilateral transactions of restricted cardinality are sufficient in practice to converge towards an optimal solution for different social objectives. An experimental study supports our claims and highlights the impact of a realistic environment on the efficiency of the techniques utilized.