Why are optimization problems often called programs?
- linear programming
- geometric programming
- convex programming
- Integer programming
It may be that this question had been answered here before, but I couldn't find the answer.
Anyway, the answer is given by the person who coined the name itself: George Dantzig wrote in "LINEAR PROGRAMMING":
From the wikipedia page on mathematical optimization:
When the term "linear programming" first came into use, computers were still very rare beasts, and the term "computer programming" wasn't that widely used. Here "programming" meant planning. As researchers started to work on other optimization problems, the "programming" term continued to be used and we ended up with "nonlinear programming", "integer programming", etc.
Solving an optimization problem is not programming in any sense. However, the results of the optimization are then used as key factors in the making of decision related to resources or strategy. And that is the "programming" part.
So this is a case of metonymy: naming something after something else which has an associated meaning.
Although linear programming does precede computer programming, the term program as a "list of things to be done" precedes linear programming!
For instance, a symphony orchestra's formal concert performance has a program. This is very much like a computer program. First we play this, then we play that, then there is an intermission, and so forth. A copy of the program is usually available to members of the audience.
The word program is made up of "pro" (beforehand) and "gram" (write): literally writing something down before doing it with the intent of closely sticking with what is written.
Once we have solved the optimization problem, then we chart a "program" for our organization to take specific steps with specific resources.