Optimization is an important process and tool to analyze business problems and make the best decision to solve the problems.In mathematical terms, an *optimization problem* is the problem of finding the *best solution *from among the set of all *feasible* solutions.

**Constructing a Model**

The first step in the optimization process is constructing an appropriate model; ** modeling** is the process of identifying and expressing in mathematical terms the

**objective**, the

**variables**, and the

**constraints**of the problem.

- An
*objective*is a quantitative measure of the performance of the system that we want to minimize or maximize. In manufacturing, we may want to maximize the profits or minimize the cost of production, whereas in fitting experimental data to a model, we may want to minimize the total deviation of the observed data from the predicted data. - The
*variables*or the*unknowns*are the components of the system for which we want to find values. In manufacturing, the variables may be the amount of each resource consumed or the time spent on each activity, whereas in data fitting, the variables would be the parameters of the model. - The
*constraints*are the functions that describe the relationships among the variables and that define the allowable values for the variables. In manufacturing, the amount of a resource consumed cannot exceed the available amount.

**Determining the Problem Type**

The second step in the optimization process is determining in which category of optimization your model belongs. The page Types of Optimization Problems provides some guidance to help you classify your optimization model; for the various optimization problem types, there is a linked page with some basic information, links to algorithms and software, and online and print resources.

**Selecting Software**

The third step in the optimization process is selecting software appropriate for the type of optimization problem that you are solving. Optimization software comes in two related but very different kinds of packages:

*Solver software*is concerned with finding a solution to a specific instance of an optimization model. The solver takes an instance of a model as input, applies one or more solution methods, and returns the results.*Modeling software*is designed to help people formulate optimization models and analyze their solutions. A modeling system takes as input a description of an optimization problem in a symbolic form and allows the solution output to be viewed in similar terms; conversion to the forms required by the algorithm(s) is done internally. Modeling systems vary in the extent to which they support importing data, invoking solvers, processing results, and integrating with larger applications. Modeling systems are typically built around*a modeling language*for representing the problem in symbolic form. The modeling language may be specific to the system or adapted from an existing programming or scripting language.

Most modeling systems support a variety of solvers, while the more popular solvers can be used with many different modeling systems. Because packages of the two kinds are often bundled for convenience of marketing or operation, the distinction between them is sometimes obscured, but it is important to keep in mind when attempting to sort through the many alternatives available.

**Post-Solved Presentation**

This is the last but important step to reading out the result from the solver. With business domain knowledge experts to interpret what it means to business. Then present them to the decision maker for final decision making.