optimization practice problems