Dynamic tariffs are expected to be implemented as commercial offers of electricity retailers in smart grids, conveying price signals aimed at shaping usage patterns, with potential benefits to enhance grid efficiency and reduce end-users' costs. Retailers and consumers have divergent goals. While the objective of the retailer is to maximize profits, the purpose of consumers is to minimize their electricity bill. The interaction between the retailer and consumers can be modeled by means of bi-level (BL) programming: the retailer sets the prices to be charged to consumers and these react by scheduling flexible appliances according to those prices and their comfort requirements. In this work, two hybrid BL optimization approaches are proposed to solve this problem, considering one leader (retailer) and multiple followers (consumers). Two population-based approaches were developed, a genetic algorithm (GA) and a particle swarm optimization (PSO) algorithm, to deal with the upper level problem, both encompassing an exact mixed-integer linear programming solver to address the lower level optimization problem. Different scenarios were generated, comprising one leader (retailer imposing different price schemes) and three followers (with different consumer profiles). Typical residential appliances were considered, with different operation cycles. Also, diverse tariff structures set by the retailer were analyzed. The performance of the two algorithms was compared. Results revealed a consistent superiority of PSO over GA.