upper bound output and gap objective