All these are used optimization problems .Can you give me any insight on when to use which ? I know i am being GREEDY here.