Mathematical programming is one of the most widely used operations research techniques. It is used in solving different industrial problems. It involves the searching of solutions for the optimal settings of decision variables satisfying all constraints while optimizing the stated objectives. In other words, it helps you get the best element from a set of alternatives.
Mathematical programming has several subfields. The most widely used technique is linear programming (LP). Linear programming is a convex programming method. It involves the studying of the case in which the ‘f’ objective function is linear. The constraints are specified using linear inequalities and equalities only. If such a set is bounded, it is called a polytope or a polyhedron.
Stochastic programming involves the studying of how some parameters or constraints rely on random variables. Non-linear programming (NLP) involves the studying of the general case where the object function (f) or the constraint, or both, have non-linear parts. This may be a convex program, or not.
Another popular mathematical programming technique is mixed integer programming (MIP). This technique involves the use of linear programs where all or some of the variables are constrained so that they have integer values. This is more difficult compared to linear programming and it is not convex.
SOCP (second order cone programming) is another popular convex program. It involves the use of different quadratic programs. SDP (semi-definite programming) is a convex optimization subset. The underlying variables are semi-definite matrices. This is a generalization of convex and linear quadratic programming.
There are several non-linear programming and iterative methods. These include Numerical analysis, Newton's method, Finite difference, Quasi-Newton method, and Approximation theory. Iterative methods all evaluate gradients, Hessians, or only functional values. There are interpolation methods (pattern search methods) for problems where better convergence properties than those possible with the Nelder–Mead heuristic methods are required. One of the most effective interpolation methods is global convergence.
Heuristic algorithm can be used for Memetic algorithm, differential evolution, dynamic relaxation, genetic algorithms, nelder-mead simplicial heuristic, particle swarm optimization, simulated annealing, Tabu search, and RSO (Reactive Search Optimization).
Quadratic programming is used for objective functions that have quadratic terms with feasible sets that are specified with linear inequalities and equalities. This is the best type of convex programming for specific forms of quadratic terms. Fractional programming is used for 2 non-linear functions.
You could use computational optimization techniques, optimization algorithms like George Dantzig (simple algorithm) and its extension, and variant and combinational algorithm. Other mathematical programming options are mixed integer nonlinear programming (MINLP), constrained programming, global optimization, and the use of genetic algorithms. Yet others are calculus of variations, robust programming, combinatorial optimization, infinite-dimensional optimization, constraint satisfaction studies, conic programming, geometric programming, optimal control theory, and dynamic programming studies.