reformulation with constraints