lemon-project-template-glpk

view deps/glpk/examples/diet.mod @ 11:4fc6ad2fb8a6

Test GLPK in src/main.cc
author Alpar Juttner <alpar@cs.elte.hu>
date Sun, 06 Nov 2011 21:43:29 +0100
parents
children
line source
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.
11 set N;
12 /* nutrients */
14 set F;
15 /* foods */
17 param b{N};
18 /* required daily allowances of nutrients */
20 param a{F,N};
21 /* nutritive value of foods (per dollar spent) */
23 var x{f in F} >= 0;
24 /* dollars of food f to be purchased daily */
26 s.t. nb{n in N}: sum{f in F} a[f,n] * x[f] = b[n];
27 /* nutrient balance (units) */
29 minimize cost: sum{f in F} x[f];
30 /* total food bill (dollars) */
32 data;
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 */ ;
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;
49 param a default 0
51 : Calorie Protein Calcium Iron Vitamin-A Vitamin-B1 :=
52 # (1000) (g) (g) (mg) (1000IU) (mg)
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
75 : Vitamin-B2 Niacin Vitamin-C :=
76 # (mg) (mg) (mg)
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 . ;
99 end;