next up previous
Next: Evaluation Up: Solving the Sensitivity Problem Previous: Simulation Phase

Optimization Phase

In the optimization phase, we compute $ \alpha $ and $ \beta $ values that satisfy the constraints for each pair $ (i,p)$. In theory, any settings that satisfy the constraints would achieve our optimization goal. However, several practical issues drive how we set up the optimization problem:

We solve the integer-programming problem for each $ (i,p)$ pair using CPLEX [17] with AMPL. Although integer-programming problems are sometimes difficult to solve, our constraints are typically easy to satisfy because many constraints are identical or are subsumed by other constraints. For instance, the second constraint in Figure 3(b) is stricter than the first constraint (i.e., because $ 4\alpha_B < 6\alpha_B$). In fact, for most of the $ (i,p)$ pairs, CPLEX computes the values of $ \alpha $ and $ \beta $ during a pre-processing phase that analyzes the constraints. Very few $ (i,p)$ pairs required more than three simplex iterations in the root node of the branch-and-bound tree to identify parameters that satisfy the constraints and minimize the objective function. Still, for arbitrary topologies and graph transformations, we could conceivably encounter a scenario where no parameter setting would satisfy every constraint. A scenario like this, should it arise, could be handled by an extension to the integer program to minimize the number of constraints that are violated. This could be achieved by including an extra error term in each constraint and selecting an objective function that minimizes the total error.


next up previous
Next: Evaluation Up: Solving the Sensitivity Problem Previous: Simulation Phase
Maurico Resende 2005-10-14