Over the last half century, the field of geophysical inversion has progressed alongside advances in computing science and technology. However, much work in the field has made simplifications and assumptions that ease the development of numerical methods, yielding optimization problems that are relatively simple: they are numerically well behaved and allow use of standard computational algorithms. I am interested in moving away from this paradigm to solve more difficult inverse problems that offer high potential gains. This research investigates methods for efficient numerical modelling on unstructured meshes, constrained and global optimization methods for geophysical inverse problems, and application of machine learning methods to joint inversion.