Here is a nice optimization puzzle from the Maths is Fun website.
Pool and Billiard mega store Balls-R-Us wants to shoot a commercial for their new Nearly-Indestructible-Billiard-Balls-Are-Amazing brand billiard balls. The commercial will feature a crazed pool shark smashing billiard balls by dropping them from the top of a tall building, only to find that when he drops the NIBBAA balls, they don't break! To make the commercial as convincing as possible, the company wants to use as tall a building as possible, so they need to know the highest floor their billiard balls can be dropped from without breaking.
While you have a perfectly good 100 storey building to test out the procedure, the producers of the commercial have only given you two billiard balls and want an answer as soon as possible. You realize you could test out each floor in order (first floor, then second floor, and so on), since you can reuse a ball that does not break. But that might take FOREVER! Is there a faster way? What is the least number of times you would have to drop the billiard balls to guarantee finding the highest safe floor?
Of course we could ask the same question using a different number of floors, or a different number of balls. In general, what is the least number of test drops needed to guarantee finding the highest safe floor when you have <m>n</m> balls and <m>m</m> total floors.
Dropping Balls As described on Maths is Fun.