Due to economy of scale, it is suggested that individual users, in order to save costs, should join a cooperation rather than acting on their own. However, a challenge for individuals when cooperating with others is that every member of the cooperation has to agree on how to allocate the common costs among members, otherwise the cooperation cannot be realised. Taken this issue into account, we set the objective of our thesis in investigating the issue of fair allocations of common costs among users in a cooperation. This thesis combines cooperative game theory and state-ofthe-art algorithms from linear and integer programming in order to define fair cost allocations and calculate them numerically for large real-world applications. Our approaches outclasse traditional cost allocation methods in terms of fairness and users' satisfaction.Cooperative game theory analyzes the possible grouping of individuals to form their coalitions. It provides mathematical tools to understand fair prices in the sense that a fair price prevents the collapse of the grand coalition and increases the stability of the cooperation. The current definition of cost allocation game does not allow us to restrict the set of possible coalitions of players and to set conditions on the output prices, which often occur in real-world applications. Our generalization bring the cost allocation game model a step closer to practice. Based on our definition, we present and discuss in the thesis several mathematical concepts, which model fairness.This thesis also considers the question of whether there exists a "best" cost allocation, which people naturally like to have. It is well-known that multicriteria optimization problems often do not have "the optimal solution" that simultaneously optimizes each objective to its optimal value. There is also no "perfect" voting-system which can satisfy all the five simple, essential social choice procedures presented in the book "Mathematics and Politics. Strategy, Voting, Power and Proof" of Taylor et al. Similarly, the cost allocation problem is shown to experience the same problem. In i particular, there is no cost allocation which can satisfy all of our desired properties, which are coherent and seem to be reasonable or even indispensable. Our game theoretical concepts try to minimize the degree of axiomatic violation while the validity of some most important properties is kept.From the complexity point of view, it is NP-hard to calculate the allocations which are based on the considered game theoretical concepts. The hardest challenge is that we must take into account the exponential number of the possible coalitions. However, this difficulty can be overcome by using constraint generation approaches. Several primal and dual heuristics are constructed in order to decrease the solving time of the separation problem. Based on these techniques, we are able to solve our applications, whose sizes vary from small with 4 players, to medium with 18 players, and even large with 85 players and 2 85 − 1 possible c...