forward-backward penalty method