4 Diet Example
Diet problem (or Stigler Diet) actually predates Linear Programming. It was coined by George Stigler in 1939. (Trivia: Stigler is a 1982 Economics Nobel Laureate)
4.1 Problem Description
Problem statement is as follows.
“For a moderately active man weighing 154 pounds, how much of each of 77 foods should be eaten on a daily basis so that the man’s intake of nine nutrients will be at least equal to the recommended dietary allowances (RDAs) suggested by the National Research Council in 1943, with the cost of the diet being minimal?”
Stigler identifies 9 nutrients (calories, protein, calcium, iron etc.) and their recommended intakes. Also there is a list of nutrients with their nutritional data per dollar. Full data is given in the following (link).
Stigler wants the minimal cost menu which will satisfy nutritional requirements.
4.2 Model Building Steps
Define the decision variable \(x_{i}\) as the budget in dollars assigned to food \(i\).
Define nutritional requirement parameter as \(b_{j}\) for the nutrient \(j\).
Define \(a_{i,j}\) as the nutritional level from food \(i\) of nutrient \(j\).
Define objective function as them minimization of total cost.
Define constraints to satisfy nutritional demand by the food items.
4.3 Mathematical Model
4.3.1 Decision Variables
- \(x_{i}\): Total budget allocated to food item \(i\).
4.3.2 Parameters
- \(b_{j}\): Nutritional requirement level of nutrient \(j\).
- \(a_{i,j}\): Nutritional content of food item \(i\) for nutrient \(j\).
4.3.3 Model
\[\begin{gather} \min z = \sum_{i} x_{i} \label{eq:obj.fun} \\ s.t. \nonumber \\ \sum_i a_{i,j}x_{i} \ge b_{j}, \ \forall_j \label{eq:nutrition.constraints} \\ x_{i} \ge 0, \ \forall_i \label{eq:non-negativity}\\ \end{gather}\]
4.3.4 Constraints
- (\(\ref{eq:obj.fun}\)) is the objective function to minimize total spending.
- (\(\ref{eq:nutrition.constraints}\)) is the set of constraints to satisfy all nutritional requirements.
- (\(\ref{eq:non-negativity}\)) Non-negativity constraint. It is not possible to sell negative amount of each toys (i.e. no backorders, no returns etc. in this case).