||Indoor localization has received considerable attention in recent years since it serves as an enabling technology that makes numerous context-aware services and applications possible, e.g., personalized information delivery, people tracking and monitoring, and medicine and health care. Many indoor localization methods have been proposed in the literature. They can be categorized into two main classes: propagation-model-based methods and empirical-model-based methods. To choose which kind of method to use depends on the specific application scenarios and requirements. Most of the existing propagation-model-based methods are non-convex and thus the performance has no guarantee where the location estimation highly depends on the initial point provided. Most of the existing empirical-model-based methods are inaccurate and require costly manual calibration. In this thesis, we focus on the design of indoor localization methods that overcome the aforementioned problems. In particular, we make use of convex optimization technology to formulate the propagation-model-based localization problem in a more elegant way and attain a better numerical solution (global minimum). We also explore the use of machine learning methods to more efficiently utilize the information contained in the calibration data, achieve improved accuracy, extract useful information from unlabeled data and obtain reduced calibration effort for empirical-model-based localization. We demonstrate the excellent accuracy, effectiveness and robustness of our proposed methods for locating mobile devices through simulations and experiments in realistic indoor environments.