General consumer optimization problem: