The widespread diffusion of distributed energy resources, especially those based on renewable energy, and energy storage devices has deeply modified power systems. As a consequence, demand response, the ability of customers to respond to regulating signals, has moved from large high-voltage and medium-voltage end-users to small, low-voltage, customers. In order to be effective, the participation to demand response of such small players must be gathered by aggregators. The role and the business models of these new entities have been studied in literature from a variety of viewpoints. Demand response can be clearly applied by sending a dedicated price signal to customers, but this methodology cannot obtain a diverse, punctual, predictable, and reliable response. These characteristics can be achieved by directly controlling the loads units. This approach involves communication problems and technological readiness. This paper proposes a fully decentralized mixed integer linear programming approach for demand response. In this framework, each load unit performs an optimization, subject to technical and user-based constraints, and gives to the aggregator a desired profile along with a reserve, which is guaranteed to comply with the constraints. In this way, the aggregator can trade the reserve coming from several load units, being the only interface to the market. Upon request, then, the aggregator communicates to the load units the modifications to their desired profiles without either knowing or caring how this modification would be accomplished. The effectiveness is simulated on 200 realistic load units.