(Original post by Narev)
I would suppose the "programming" part comes in to determine the most useful form of constructing an algorithm (optimization technique) in terms of its complexity.
In very simplified terms - Given algorithms which essentially produce the same outcome, one naturally would want to choose the "best" algorithm - this case being the algorithm which takes the least time to run.
(Or at least choose an algorithm which provides a good approximation to whatever you require, in the shortest time, or ...)
While in Year 1 / Year 2 MORSE you probably will cover how to use these algorithms, in future modules (and probably real life), you'd start to determine the complexity of these algorithms, and try to write efficient algorithms. That's probably where the programming comes in.
*Edit. The above is my take on "programming", not what "operations research" really is. Below is my take on operations research.
I suppose a simplified form would be: "Given a problem, are there any techniques which can be used to solve it? Can these techniques be generalized to other similar problems?"
Yes, you say. Suppose I have a Eulerian graph, I can draw an Eulerian cycle by the Hierholzer's algorithm. That's easy.
My question: Is this necessarily the most efficient algorithm? Previously, the algorithm to draw an Eulerian cycle was Fleury's algorithm, until Hierholzer's was created.
Hence my take on operations research would be:
"Given a problem, can I write an algorithm which comes up with the best solution, or at least a near optimal solution, weighing in mind the trade-off between best (or near best) solution and computing time. In some sense, if a best solution takes 100 days to be found, and a near best solution 1 day to be found, sometimes you might want the algorithm which gives the near best solution.
If an algorithm already exists for my problem, can I modify it to make it better?"