Implementation of interior point algorithm