|
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; |