COIN-OR::LEMON - Graph Library

source: glpk-cmake/examples/diet.mod @ 1:c445c931472f

Last change on this file since 1:c445c931472f was 1:c445c931472f, checked in by Alpar Juttner <alpar@…>, 10 years ago

Import glpk-4.45

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