Interior Point Algorithms: Theory and Analysis