Due to the constant development of society, increasing quantities of commodities have to be transported in large urban centers. Therefore, network design problems arise as tools to support decision-making, aiming to meet the need of finding efficient ways to perform the transportation of each commodity from its origin to its destination.

The Fixed-Charge Uncapacited Network Design Problem with User-optimal Flows (FCNDP-UOF) is a way of treating the problem described above and can be modeled as a bi-level discrete linear programming problem. This type of problem involves two distinct agents acting simultaneously rather than sequentially when making decisions. On the upper level, the leader is in charge of choosing a subset of edges to be opened in order to minimize the sum of fixed and variable costs. In response, on the lower level, the follower must choose a set of shortest paths in the network, resulting in the paths through which it commodity will be sent. The effect of an agent on the other is indirect: the decision of the followers is affected by the network designed on the upper level, while the leader's decision is affected by variable costs imposed by the routes settled in the lower level.

This work reviews three different mathematical formulations of the FCNDP-UOF, a bi-level formulation (Billheimer et al. [1973]) and two one-level formulations. The first one-level formulation is based on the model presented by Kara et al. [2004] for the hazmat transportation problem, which uses KKT's conditions in order to transform the bi-level formulation into a one-level formulation. The second one, proposed by Mauttone et al. [2008], is obtained by applying the complementary slackness theorem, Bellman's optimality conditions and a Big-M linearizing technique into the bi-level formulation.

Not only we compare the different formulations, but also implement a heuristics to quickly find a initial solution. In order to verify its efficiency, we modify the GRASP presented by González et al. [2013], to use this new constructive algorithm.