Optimizationcan be categorized into many subfields according tothe different properties of the model. Major ones include linear programming (LP), where objective and constraint functions are all linear; mixed integer programming (MIP), where some of the variables in alinear program are restricted to take integer values; nonlinear programming, where functions do not have tobe linear; stochastic programming(SP), where parameters or functions are defined on random variables; and multi-objective programming, where multiple objectives exist in amodel and are o·en conflicting with one another. Other promising areas include robust programming, dynamic programming, convex programming, and semi-definite programming. One problem can be formulated into alternative models of all kinds according todesignated purposes. Ÿanks tothe continuous effort of researchers, various algorithms have been developed tosystematically solve different optimization models. Also, the modern advancement of computation capabilities empowers practitioners tocontrol sophisticated optimization techniques in a fast and flexible manner.