Topology optimization is a design tool which is used in numerous fields. It can be used whenever the design is driven by weight and strength considerations. The basic concept of topology optimization is the interpretation of partial differential equation coefficients as effective material properties and designing through changing these coefficients. For example, consider a continuous structure. Then the basic concept is to represent this structure by small pieces of material that are coinciding with the elements of a finite element model of the structure. This thesis treats stress constrained structural topology optimization problems. For such problems a stress constraint for an element should only be present in the optimization problem when the structural design variable corresponding to this element has a value greater than zero. We model the stress constrained topology optimization problem using both discrete and continuous design variables. Using discrete design variables is the natural modeling frame. However, we cannot solve real-size problems with the technological limits of today. Using continuous design variables makes it possible to also study topology optimization problems of large scale. We find the global optimal solution to the stress constrained topology optimization problem using discrete design variables. The problem is solved using a parallel cut-and-branch method. The cuts include information about the mathematical structure of our problems and also their physics. The method shows particularly good speedup because of the added cuts. The study of stress constrained topology optimization problem using continuous design variables constitute the main part of this thesis. Primarily we study the problem reformulated into standard form via the Mathematical Program with Equilibrium Constraints (MPEC) formulations. We look at the two variations: Mathematical Program with Complementarity Constraints and Mathematical Program with Vanishing Constraints. These problem formulations are compared to a restricted problem formulation. The restricted problem include stress constraints for all elements independently of the values of the design variables. The investigations include validating constraint qualifications, attacking the problem formulations directly, and bounding the objective function value. We consider different constraint qualifications and whether they hold for the MPEC formulations of some truss topology optimization problems. We provide examples in which none of the considered constraint qualifications hold at the optimal solutions. This occurs when the upper limits of the design variables become active and there are nodal displacements that are non-unique. Note that this situation is generally the case at an optimal solution. However, the numerical experiments show that the MPEC formulations are not less robust than the restricted problem formulation. This indicates that the inherent lack of constraint qualifications is not the main numerical obstacle. We further observe that a general nonlinear interior-point algorithm applied to the MPEC formulations outperforms a general nonlinear active-set sequential quadratic programming method. Inspired by this, we implement an interior-point algorithm such that we have full control of all aspects of the code. Solving the stress constrained structural topology optimization problem is computationally challenging. We therefore present a technique that decides whether it may pay-off to actually treat the stress constrained problem. The technique finds lower and upper bounds on the objective function value of the stress constrained topology optimization problem. It further produces a feasible design. If the upper and lower bounds are far apart, then one should invest in attacking the stress constrained structural topology optimization problem. Otherwise one can use the obtained feasible design.