Why are optimization problems often called "programs"?

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":

Here are some stories about how various linear programming terms arose. The military refer to their various plans or proposed schedules of training, logistical supply and deployment of combat units as a program. When I first analyzed the Air Force planning problem and saw that it could be formulated as a system of linear inequalities, I called my paper Programming in a Linear Structure. Note that the term ‘program’ was used for linear programs long before it was used as the set of instructions used by a computer. In the early days, these instructions were called codes. In the summer of 1948, Koopmans and I visited the Rand Corporation. One day we took a stroll along the Santa Monica beach. Koopmans said: “Why not shorten ‘Programming in a Linear Structure’ to ‘Linear Programming’?” I replied: “That’s it! From now on that will be its name.” Later that day I gave a talk at Rand, entitled “Linear Programming”; years later Tucker shortened it to Linear Program.


From the wikipedia page on mathematical optimization:

The term, programming, in this context does not refer to computer programming. Rather, the term comes from the use of program by the United States military to refer to proposed training and logistics schedules, which were the problems Dantzig studied at that time.


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.