discrete procedure optimization