Augmented lagrangian implementation