1 | # STIGLER'S NUTRITION MODEL |
---|
2 | # |
---|
3 | # This model determines a least cost diet which meets the daily |
---|
4 | # allowances of nutrients for a moderately active man weighing 154 lbs. |
---|
5 | # |
---|
6 | # References: |
---|
7 | # Dantzig G B, "Linear Programming and Extensions." |
---|
8 | # Princeton University Press, Princeton, New Jersey, 1963, |
---|
9 | # Chapter 27-1. |
---|
10 | |
---|
11 | set N; |
---|
12 | /* nutrients */ |
---|
13 | |
---|
14 | set F; |
---|
15 | /* foods */ |
---|
16 | |
---|
17 | param b{N}; |
---|
18 | /* required daily allowances of nutrients */ |
---|
19 | |
---|
20 | param a{F,N}; |
---|
21 | /* nutritive value of foods (per dollar spent) */ |
---|
22 | |
---|
23 | var x{f in F} >= 0; |
---|
24 | /* dollars of food f to be purchased daily */ |
---|
25 | |
---|
26 | s.t. nb{n in N}: sum{f in F} a[f,n] * x[f] = b[n]; |
---|
27 | /* nutrient balance (units) */ |
---|
28 | |
---|
29 | minimize cost: sum{f in F} x[f]; |
---|
30 | /* total food bill (dollars) */ |
---|
31 | |
---|
32 | data; |
---|
33 | |
---|
34 | param : N : b := |
---|
35 | Calorie 3 /* thousands */ |
---|
36 | Protein 70 /* grams */ |
---|
37 | Calcium 0.8 /* grams */ |
---|
38 | Iron 12 /* milligrams */ |
---|
39 | Vitamin-A 5 /* thousands IUs */ |
---|
40 | Vitamin-B1 1.8 /* milligrams */ |
---|
41 | Vitamin-B2 2.7 /* milligrams */ |
---|
42 | Niacin 18 /* milligrams */ |
---|
43 | Vitamin-C 75 /* milligrams */ ; |
---|
44 | |
---|
45 | set F := Wheat Cornmeal Cannedmilk Margarine Cheese Peanut-B Lard |
---|
46 | Liver Porkroast Salmon Greenbeans Cabbage Onions Potatoes |
---|
47 | Spinach Sweet-Pot Peaches Prunes Limabeans Navybeans; |
---|
48 | |
---|
49 | param a default 0 |
---|
50 | |
---|
51 | : Calorie Protein Calcium Iron Vitamin-A Vitamin-B1 := |
---|
52 | # (1000) (g) (g) (mg) (1000IU) (mg) |
---|
53 | |
---|
54 | Wheat 44.7 1411 2.0 365 . 55.4 |
---|
55 | Cornmeal 36 897 1.7 99 30.9 17.4 |
---|
56 | Cannedmilk 8.4 422 15.1 9 26 3 |
---|
57 | Margarine 20.6 17 .6 6 55.8 .2 |
---|
58 | Cheese 7.4 448 16.4 19 28.1 .8 |
---|
59 | Peanut-B 15.7 661 1 48 . 9.6 |
---|
60 | Lard 41.7 . . . .2 . |
---|
61 | Liver 2.2 333 .2 139 169.2 6.4 |
---|
62 | Porkroast 4.4 249 .3 37 . 18.2 |
---|
63 | Salmon 5.8 705 6.8 45 3.5 1 |
---|
64 | Greenbeans 2.4 138 3.7 80 69 4.3 |
---|
65 | Cabbage 2.6 125 4 36 7.2 9 |
---|
66 | Onions 5.8 166 3.8 59 16.6 4.7 |
---|
67 | Potatoes 14.3 336 1.8 118 6.7 29.4 |
---|
68 | Spinach 1.1 106 . 138 918.4 5.7 |
---|
69 | Sweet-Pot 9.6 138 2.7 54 290.7 8.4 |
---|
70 | Peaches 8.5 87 1.7 173 86.8 1.2 |
---|
71 | Prunes 12.8 99 2.5 154 85.7 3.9 |
---|
72 | Limabeans 17.4 1055 3.7 459 5.1 26.9 |
---|
73 | Navybeans 26.9 1691 11.4 792 . 38.4 |
---|
74 | |
---|
75 | : Vitamin-B2 Niacin Vitamin-C := |
---|
76 | # (mg) (mg) (mg) |
---|
77 | |
---|
78 | Wheat 33.3 441 . |
---|
79 | Cornmeal 7.9 106 . |
---|
80 | Cannedmilk 23.5 11 60 |
---|
81 | Margarine . . . |
---|
82 | Cheese 10.3 4 . |
---|
83 | Peanut-B 8.1 471 . |
---|
84 | Lard .5 5 . |
---|
85 | Liver 50.8 316 525 |
---|
86 | Porkroast 3.6 79 . |
---|
87 | Salmon 4.9 209 . |
---|
88 | Greenbeans 5.8 37 862 |
---|
89 | Cabbage 4.5 26 5369 |
---|
90 | Onions 5.9 21 1184 |
---|
91 | Potatoes 7.1 198 2522 |
---|
92 | Spinach 13.8 33 2755 |
---|
93 | Sweet-Pot 5.4 83 1912 |
---|
94 | Peaches 4.3 55 57 |
---|
95 | Prunes 4.3 65 257 |
---|
96 | Limabeans 38.2 93 . |
---|
97 | Navybeans 24.6 217 . ; |
---|
98 | |
---|
99 | end; |
---|