# Interpretable Optimization: Why and How We Should Explain Optimization Models
## 3 Problem Reduction and Surrogate Model Building
### Presolve Techniques  
Presolve techniques are applied as a previous step to any optimization, focusing on reducing problem size by eliminating redundant constraints and extraneous variables or strengthening constraints before solving the problem [34]. These methods can dramatically reduce computation time by modifying the original problem structure. The main technique that has been applied to reduce problem size in linear and mixed-integer programming is presolving [35]. Presolve techniques can be categorized based on the type of simplification they introduce, as follows:  
* Eliminating redundant constraints: Constraints that do not impact the feasible region can be removed without affecting the optimal solution. This is particularly useful in large-scale problems where constraints may have been introduced for generality but are not binding in practice. Many different alternative strategies exist to prioritize constraints. For instance, in [36], several metrics were used to rank constraints by how likely they were to be bound. These metrics included the angle that the constraint formed with respect to the objective function, or how far some bounds of the left-hand side were from the right-hand side of the constraint (i.e., how far a constraint was from being bound). * Fixing variables: If the bounds of a variable force it to take a single value, that variable can be removed from the model, effectively turning it into a constant. This occurs in highly constrained problems where the interaction of multiple constraints results in a fixed solution for some variables. For example, in energy systems planning, transmission line constraints may fix the operational status of certain infrastructure components, making explicit modeling unnecessary [32]. * Coefficient strengthening: If a constraint coefficient can be tightened without changing the feasible region, it enhances numerical stability and interpretability. This method is particularly useful in logistics and scheduling problems, where resource constraints can be reformulated for clarity [35]. Figure 3: Simplification and surrogate modeling techniques. * Detecting and eliminating dominated constraints: Some constraints are made redundant by stronger constraints that enforce the same restrictions more effectively. Identifying and removing these constraints reduces problem size and eliminates unnecessary complexity in decision analysis. * Constraint aggregation: Certain sets of constraints can be combined into a single constraint, reducing the overall number of constraints while preserving the problem's structure. This technique is commonly used in supply chain management and network flow problems to consolidate redundant constraints. For instance, identifying such umbrella constraints is key in problems such as a security-constrained power flow, where a planning solution must consider an unmanageably large number of constraints describing potential failures [37]. Let us consider the following optimization problem as an example of presolve methods:  
\[\min\left(3x+2y\right) \tag{1}\]  
\[x\geq 0 \tag{2}\]  
\[y\geq 0 \tag{3}\]  
\[x+y\leq 2 \tag{4}\]  
\[x+2y\leq 4 \tag{5}\]  
\[2x+y\leq 4 \tag{6}\]  
Equation (1) defines the objective function of the optimization problem, and Equations (2)-(6) define the feasible region of the problem. Figure 4 shows a plot of the feasible region. The plot indicates that Equations (2)-(4) are enough to define the feasible region, while Equations (5) and (6) are redundant. Presolve methods would figure out which equations are indeed necessary to define the feasible region (i.e., those equations that change the feasible region if removed from the problem) and which ones are redundant. They would then proceed to eliminate the latter equations before attempting to solve the problem. The main advantage of presolve techniques is that most solvers automatically incorporate them, so a practical implementation is straightforward, and the problem solver does not need to implement them from scratch.