The Stigler diet is an optimization problem named for George Stigler, a 1982 Nobel laureate in economics, who posed the following problem:
For a moderately active man weighing 154 pounds, how much of each of 77 foods should be eaten on a daily basis so that the man’s intake of nine nutrients will be at least equal to the recommended dietary allowances (RDAs) suggested by the National Research Council in 1943, with the cost of the diet being minimal?
The nutrient RDAs required to be met in Stigler's experiment were calories, protein, calcium, iron, as well as vitamins A, B1, B2, B3, and C. The result was an annual budget allocated to foods such as evaporated milk, cabbage, dried navy beans, and beef liver at a cost of approximately $0.11 a day in 1939 U.S. dollars.
While the name "Stigler Diet" was applied after the experiment by outsiders, according to Stigler, "No one recommends these diets for anyone, let alone everyone." The Stigler diet has been much ridiculed for its lack of variety and palatability; however, his methodology has received praise and is considered to be some of the earliest work in linear programming.
The Stigler diet question is a linear programming problem. Lacking any sophisticated method of solving such a problem, Stigler was forced to utilize heuristic methods in order to find a solution. The diet question originally asked in what quantities a 154-pound (70 kg) male would have to consume 77 different foods in order to fulfill the recommended intake of 9 different nutrients while keeping expenses at a minimum. Through "trial and error, mathematical insight and agility," Stigler was able to eliminate 62 of the foods from the original 77 (these foods were removed because they lacked nutrients in comparison to the remaining 15). From the reduced list, Stigler calculated the required amounts of each of the remaining 15 foods to arrive at a cost-minimizing solution to his question. According to Stigler's calculations, the annual cost of his solution was $39.93 in 1939 dollars (equivalent to $875in 2023, or $2 per day, slightly under the international poverty line as housing, clothing and fuel are also needed to live). [1] The specific combination of foods and quantities is as follows:
Food | Annual Quantities | Annual Cost |
---|---|---|
Wheat Flour | 370 lb (170 kg) | $13.33 |
Evaporated Milk | 57 cans | $3.84 |
Cabbage | 111 lb (50 kg) | $4.11 |
Spinach | 23 lb (10 kg) | $1.85 |
Dried Navy Beans | 285 lb (129 kg) | $16.80 |
Total Annual Cost | $39.93 |
The 9 nutrients that Stigler's diet took into consideration and their respective recommended daily amounts were:
Nutrient | Daily Recommended Intake |
---|---|
Calories | 3,000 Calories |
Protein | 70 grams |
Calcium | .8 grams |
Iron | 12 milligrams |
Vitamin A | 5,000 IU |
Thiamine (Vitamin B1) | 1.8 milligrams |
Riboflavin (Vitamin B2) | 2.7 milligrams |
Niacin | 18 milligrams |
Ascorbic Acid (Vitamin C) | 75 milligrams |
Seven years after Stigler made his initial estimates, the development of George Dantzig's Simplex algorithm made it possible to solve the problem without relying on heuristic methods. The exact value was determined to be $39.69 (using the original 1939 data). Dantzig's algorithm describes a method of traversing the vertices of a polytope of N+1 dimensions in order to find the optimal solution to a specific situation.
In 2014, Google chef Anthony Marco devised a recipe using a similar list of ingredients (with calf liver in place of evaporated milk), called "Foie Linéaire à la Stigler"; one Google employee described it as "delicious". [2]
George Bernard Dantzig was an American mathematical scientist who made contributions to industrial engineering, operations research, computer science, economics, and statistics.
The travelling salesman problem, also known as the travelling salesperson problem (TSP), asks the following question: "Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city?" It is an NP-hard problem in combinatorial optimization, important in theoretical computer science and operations research.
Vitamins are organic molecules that are essential to an organism in small quantities for proper metabolic function. Essential nutrients cannot be synthesized in the organism in sufficient quantities for survival, and therefore must be obtained through the diet. For example, vitamin C can be synthesized by some species but not by others; it is not considered a vitamin in the first instance but is in the second. Most vitamins are not single molecules, but groups of related molecules called vitamers. For example, there are eight vitamers of vitamin E: four tocopherols and four tocotrienols.
Linear programming (LP), also called linear optimization, is a method to achieve the best outcome in a mathematical model whose requirements and objective are represented by linear relationships. Linear programming is a special case of mathematical programming.
Mathematical optimization or mathematical programming is the selection of a best element, with regard to some criteria, from some set of available alternatives. It is generally divided into two subfields: discrete optimization and continuous optimization. Optimization problems arise in all quantitative disciplines from computer science and engineering to operations research and economics, and the development of solution methods has been of interest in mathematics for centuries.
A nutrient is a substance used by an organism to survive, grow and reproduce. The requirement for dietary nutrient intake applies to animals, plants, fungi and protists. Nutrients can be incorporated into cells for metabolic purposes or excreted by cells to create non-cellular structures such as hair, scales, feathers, or exoskeletons. Some nutrients can be metabolically converted into smaller molecules in the process of releasing energy such as for carbohydrates, lipids, proteins and fermentation products leading to end-products of water and carbon dioxide. All organisms require water. Essential nutrients for animals are the energy sources, some of the amino acids that are combined to create proteins, a subset of fatty acids, vitamins and certain minerals. Plants require more diverse minerals absorbed through roots, plus carbon dioxide and oxygen absorbed through leaves. Fungi live on dead or living organic matter and meet nutrient needs from their host.
In the U.S. and Canada, the Reference Daily Intake (RDI) is used in nutrition labeling on food and dietary supplement products to indicate the daily intake level of a nutrient that is considered to be sufficient to meet the requirements of 97–98% of healthy individuals in every demographic in the United States. While developed for the US population, it has been adopted by other countries, such as Canada.
In mathematical optimization, Dantzig's simplex algorithm is a popular algorithm for linear programming.
The Dietary Reference Intake (DRI) is a system of nutrition recommendations from the National Academy of Medicine (NAM) of the National Academies. It was introduced in 1997 in order to broaden the existing guidelines known as Recommended Dietary Allowances. The DRI values differ from those used in nutrition labeling on food and dietary supplement products in the U.S. and Canada, which uses Reference Daily Intakes (RDIs) and Daily Values (%DV) which were based on outdated RDAs from 1968 but were updated as of 2016.
An integer programming problem is a mathematical optimization or feasibility program in which some or all of the variables are restricted to be integers. In many settings the term refers to integer linear programming (ILP), in which the objective function and the constraints are linear.
Branch and bound is a method for solving optimization problems by breaking them down into smaller sub-problems and using a bounding function to eliminate sub-problems that cannot contain the optimal solution. It is an algorithm design paradigm for discrete and combinatorial optimization problems, as well as mathematical optimization. A branch-and-bound algorithm consists of a systematic enumeration of candidate solutions by means of state space search: the set of candidate solutions is thought of as forming a rooted tree with the full set at the root. The algorithm explores branches of this tree, which represent subsets of the solution set. Before enumerating the candidate solutions of a branch, the branch is checked against upper and lower estimated bounds on the optimal solution, and is discarded if it cannot produce a better solution than the best one found so far by the algorithm.
In computer science and operations research, the ant colony optimization algorithm (ACO) is a probabilistic technique for solving computational problems which can be reduced to finding good paths through graphs. Artificial ants stand for multi-agent methods inspired by the behavior of real ants. The pheromone-based communication of biological ants is often the predominant paradigm used. Combinations of artificial ants and local search algorithms have become a method of choice for numerous optimization tasks involving some sort of graph, e.g., vehicle routing and internet routing.
Proteins are essential nutrients for the human body. They are one of the building blocks of body tissue and can also serve as a fuel source. As a fuel, proteins provide as much energy density as carbohydrates: 4 kcal per gram; in contrast, lipids provide 9 kcal per gram. The most important aspect and defining characteristic of protein from a nutritional standpoint is its amino acid composition.
The theory of two-level planning is a method that decomposes large problems of linear optimization into sub-problems. This decomposition simplifies the solution of the overall problem. The method also models a method of coordinating economic decisions so that decentralized firms behave so as to produce a global optimum. It was introduced by the Hungarian economist János Kornai and the mathematician Tamás Lipták in 1965. It is an alternative to Dantzig–Wolfe decomposition.
Vitamin B12, also known as cobalamin, is a water-soluble vitamin involved in metabolism. It is one of eight B vitamins. It is required by animals, which use it as a cofactor in DNA synthesis, and in both fatty acid and amino acid metabolism. It is important in the normal functioning of the nervous system via its role in the synthesis of myelin, and in the circulatory system in the maturation of red blood cells in the bone marrow. Plants do not need cobalamin and carry out the reactions with enzymes that are not dependent on it.
In mathematical optimization, Bland's rule is an algorithmic refinement of the simplex method for linear optimization.
Dantzig–Wolfe decomposition is an algorithm for solving linear programming problems with special structure. It was originally developed by George Dantzig and Philip Wolfe and initially published in 1960. Many texts on linear programming have sections dedicated to discussing this decomposition algorithm.
In computational engineering, Luus–Jaakola (LJ) denotes a heuristic for global optimization of a real-valued function. In engineering use, LJ is not an algorithm that terminates with an optimal solution; nor is it an iterative method that generates a sequence of points that converges to an optimal solution. However, when applied to a twice continuously differentiable function, the LJ heuristic is a proper iterative method, that generates a sequence that has a convergent subsequence; for this class of problems, Newton's method is recommended and enjoys a quadratic rate of convergence, while no convergence rate analysis has been given for the LJ heuristic. In practice, the LJ heuristic has been recommended for functions that need be neither convex nor differentiable nor locally Lipschitz: The LJ heuristic does not use a gradient or subgradient when one be available, which allows its application to non-differentiable and non-convex problems.
In applied mathematics, branch and price is a method of combinatorial optimization for solving integer linear programming (ILP) and mixed integer linear programming (MILP) problems with many variables. The method is a hybrid of branch and bound and column generation methods.
Philip Starr "Phil" Wolfe was an American mathematician and one of the founders of convex optimization theory and mathematical programming.