[9] | 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; |
---|