Mathematical optimization is a mathematical approach to finding the "best" result from a set of given options under specific constraints. Its purpose is to discover a solution (a set of values for decision variables) that maximizes or minimizes an evaluation metric called the objective function in various real-world problems such as business decisions, engineering design, and resource allocation.
For example, optimization of delivery routes in logistics, risk-return optimization in financial portfolios, production schedule optimization in manufacturing, and power generation planning optimization in the energy sector are just a few applications. Mathematical optimization is a powerful tool for finding the best strategy within limited resources across many fields.
To tackle mathematical optimization, you first need to understand its basic components.
Accurately identifying and mathematically expressing these elements (formulation) is the first step in solving a mathematical optimization problem.
The following table shows examples of objective functions, constraints, and decision variables in real-world applications of mathematical optimization.
Application | Objective Function | Constraints | Decision Variables |
---|---|---|---|
Delivery Route Optimization | Minimize total travel distance or time |
| Route for each vehicle (visit order) |
Investment Portfolio Optimization | Maximize expected return or minimize risk |
| Investment proportion for each asset |
Production Planning Optimization | Maximize total profit or minimize production cost |
| Production quantity and timing for each product |
Staff Scheduling | Minimize labor costs or maximize employee satisfaction |
| Shift assignments for each employee |
Power Grid Optimization | Minimize generation costs or CO2 emissions |
| Output level for each power plant, power flow |
Job Shop Scheduling | Minimize makespan (time to complete all jobs) |
| Binary variables indicating which job is assigned to which machine |
To understand the basic concepts of mathematical optimization, let's look at the formulation process using the simple "Knapsack Problem" as an example.
You have a knapsack with limited capacity (e.g., weight). In front of you are multiple items, each with different values and weights. You want to select items to maximize the total value while not exceeding the knapsack's capacity.
Knapsack Capacity (Maximum Weight): 15 kg
Weight: 4 kg
Value: 8
Weight: 6 kg
Value: 13
Weight: 5 kg
Value: 10
Weight: 7 kg
Value: 15
Weight: 3 kg
Value: 6
Total Weight: 0 kg
Total Value: 0
Status:
The Knapsack Problem can be formulated as follows:
where $v_i$ is the value of item $i$
where $w_i$ is the weight of item $i$ and $W$ is the capacity of the knapsack
The problem is formulated as deciding the values of $x_i$ (which items to select) such that this constraint is satisfied.