candidate optimize constraint