Mathematical Programming or Mathematical Optimization or Simply Optimization is one of the most underrated topics in my defense.
A Mathematical Program has three parts. An objective function that contains the decision variables that we would like to optimize. A set of constraints where the objective is limited in terms of maximizing it or minimizing it. And bounds, that defines the range of the decision variables.
There can be an unconstrained optimization program — possibility exists. There can never be a unbounded optimization program. If a math program is unbounded, then optimal solution is only achieved on +/- infinity. (And that is very wrong way of modeling the problem) The word modeling is used in a context where the process of converting a given situation into a mathematical program. It is meant in a broader context called “Mathematical Modeling“. There is also the Statistical Modeling — process of extracting data from given situation and fitting the same into a statistical equation/program in order to derive results is called “Statistical Modeling“.
Before Computer Programming arrived, a program in context of mathematics is a set of equations.
With the invention of the word “analytics”, these two phrases — mathematical and statistical modeling has been looked at with so much hubris by many. Modeling is truly an art. And it is beautiful.
Studying Linear Algebra, Calculus, Real Analysis would help to understand mathematical programming in context of academia. But one has to develop a sense of thinking and mathematical intuition in these topics to truly see thro mathematical programming in order to learn the art of mathematical programming.