Linear Programming Diet Problem

I'm just starting to explore linear programming in Excel and have hit a VERY newbie problem I'm sure.

I'm using it to optimise a "diet" plan with a few ingredients. The problem I've hit is as follows.

What I'd like to do somehow is limit the number of possible servings as well. I can't imaging anyone wanting to eat 500 servings of mushrooms and nothing else.

Just to be clear I'm trying to achieve a minimise CP100 (Calories per 100g) while maintaining a decent desire (tasty) level.

Any ideas? I've Googled, but come up short so far...

• You'd need to add additional constraints or make the desire constraint more complex. My first guess would be to make the desire dependent on the number of servings instead of constant, but that might make the problem nonlinear. – DylanSp Apr 19 '16 at 17:19
• I've had nonlinear problems already! Will keep looking – Dan Apr 19 '16 at 17:21

If you want to achieve something more meaningful, just say that you have a level of desire at $0$ and more you eat, less you like until you are digusted
$$\text{Desire_for_food_A}(\text{g_of_food_A_I_eat}) = \text{Before_eating_food_A_desire} - \text{Speed_of_how_I_am_digusted_of_food_A}\times\text{g_of_food_A_I_eat}$$
$$\begin{array}{r|c|c|c} \text{Food}& \text{CP100} & \text{Before eating desire} & \text{Speed of how of I am digusted} \\ \hline \text{Chicken} & 124 & 7 & \frac{7}{200} \\ \text{Bacon} & 300 & 10 & \frac{10}{50} \\ \end{array}$$ In this example, I like more Bacon ($10>7$) than Chicken but I can eat less Bacon than Chicken before being digusted $(0=10-50\times\frac{10}{50}<7-50\times\frac{7}{200})$.