Local branching

From Cornell University Computational Optimization Open Textbook - Optimization Wiki
Jump to navigation Jump to search

Author: Bruce Wang (bw549), Ashley Yang (yy2333), Pufan You (py234), Sandro Xu (sx289), Yihan Wang (yw2744) (ChemE 6800 Fall 2020)

Introduction

Mixed-Integer Linear Programming (MILP) is a sophisticated optimization model aimed at solving problems that involve both discrete decision and continuous variables, where the discrete variables are often constrained to take on integer values[1]. Local Branching is a heuristic that has been explicitly developed to enhance the effectiveness of solving MILP problems by focusing the optimization search in a defined neighborhood around the current incumbent solution[2]. This approach has special advantages for large-scale, computationally intensive MILP instances because it allows one to explore the solution space in a more focused manner, improving the solution quality while still keeping the computations tractable.

Furthermore, local branching was introduced as a refinement heuristic for dealing with the computational tractability issues that global optimization methods, such as branch-and-bound, became widely resource-consuming for large instances of a problem. One of the main motivations to study Local Branching is its ability to do iterative solution improvement, thereby making it possible to get good solutions fast with MILP solvers. Thus, local branching becomes extremely important when applied to domains demanding quick and reliable decision-making, more precisely within logistics optimization, production scheduling, and resource planning.

Algorithm Discussion

Formal Description

Local Branching is an optimization strategy designed for MILP problems. It iteratively refines solutions by restricting the search space to a local neighborhood around the current best solution. This approach aims to improve computational efficiency while achieving better-quality solutions.

Steps of the Algorithm

Step 1: Initialization

  • Obtain an initial feasible solution x* using any MILP solver or heuristic method.
  • Define the local neighborhood using a Hamming distance constraint:

Here, k is a predefined parameter that controls the size of the neighborhood.

Step 2: Local Optimization

  • Solve the MILP problem restricted by the local neighborhood constraint.
  • Use the objective function z to find a better solution x' within the neighborhood.

Step 3: Update Solution

  • If the local optimization improves the objective function Z(x') > Z(x*), update the best-known solution x* = x'.
  • If no improvement is found, relax or adjust the neighborhood size k and repeat the process.

Step 4: Termination

  • Stop the algorithm when:
 * No further improvement in z is achieved after a set number of iterations.
 * Computational time exceeds a predefined limit.
 * The solution meets predefined quality criteria (e.g., a threshold objective value).

Assumptions and Conditions

  1. Feasibility: An initial feasible solution x* must exist before local branching can be applied.
  2. Neighborhood Size: The parameter k significantly influences performance; a smaller k focuses on local improvements, while a larger k allows broader exploration.
  3. MILP Solver: Requires a reliable MILP solver to handle the subproblems.
  4. Problem Structure: Works best for problems where solutions are sparse and where local improvements can significantly impact the objective.

Numerical Examples

Example: Knapsack Refinement

A thief wants to steal items from a shop but is limited by a maximum weight capacity. There are 5 items available, each with a specific weight and value. The objective is to maximize the value of items stolen while staying within the weight limit.

Item Details:

  • Weights: [2,3,1,4,5]
  • Values: [10,15,7,25,30]
  • Weight Capacity: 8

Tasks:

  1. Solve the knapsack problem using a binary MIP formulation:

         

  1. Define a local branching constraint for a neighborhood where at most 1 item can be swapped:

     Solve to refine the solution.

Application

Step 1

Local Branching is a powerful optimization strategy for to solving MILP optimization problems, with applications spanning industries like logistics, manufacturing, energy, data science, and engineering[3]. In particular, for challenges such as scheduling, production planning, nesting and transportation logistics where decision-makers look for high-quality solutions within reasonable computational times[4]. Focusing on local improvements, organizations are able to achieve better performance with low costs.

Step 2

Railway Crew Scheduling: Local branching has advantages compared to traditional optimization methods that often use branch-and-bound or cutting-plane approaches[1]. In the railway crew scheduling traditional methods struggle with the sheer size and complexity of these problems due to the large number of binary decision variables. Local branching introduces constraints to find solutions in a smaller and more manageable sample space without sacrificing the quality of the solution[5]. This approach enables the solver to find solutions with fewer scheduling conflicts and better adherence to operational constraints compared to standard methods.

Step 3

Inventory Routing Problems: A study was conducted on how local branching could lead to better solution for Inventort routing problems, which often involve constant changes[6]. Results showed that local branching helped to reach alternative solutions fast and effectively with small changes to the current solution since it searched within a small range of solution space. It found routes and schedules that better balanced inventory costs and routing efficiency, leading to substantial savings in operational costs[7].

Some of the most well-known software and platforms include ILOG CPLEX, which has been used in the Railwat Crew Scheduling. Another one is Gurobi—a leading MIP solver that has been used in adaptations of Local Branching for modern applications[8].

Conclusion

Local Branching is a major advance in the area of mixed-integer linear programming, providing a strong method for solving large and complex optimization problems. By constraining the search space to a region around the current solution, it increases computational efficiency while retaining or even improving the solution quality. For these reasons, the approach is particularly useful in practical applications where fast convergence is vital. Local Branching is also effective when applied to other areas such as logistics, manufacturing, and energy management in solving real-world optimization problems involving scheduling, resource allocation, and operational efficiency.

Local Branching can also help the optimization process in reducing the search space for faster convergence and often to better solutions than classical global approaches. Future research on Local Branching could benefit from incorporating advanced machine-learning methods that dynamically adjust neighborhood sizes in order to increase its adaptability, efficiency, and scalability for different optimization problems.

References

  1. 1.0 1.1 Fischetti, M., & Lodi, A. (2003). Local branching. Mathematical Programming, 98(1), 23–47. https://doi.org/10.1007/s10107-003-0395-5
  2. Glover, F., & Laguna, M. (1997). General purpose heuristics for integer programming—Part I. Journal of Heuristics, 2, 343-358. https://link.springer.com/article/10.1007/BF00132504
  3. Samsatli, S., & Samsatli, N. J. (2018). A multi-objective MILP model for the design and operation of future integrated multi-vector energy networks capturing detailed spatio-temporal dependencies. Applied Energy, 220, 893-920. https://www.sciencedirect.com/science/article/pii/S0306261917313375
  4. Kim, K., Kwon, S., & Choi, M. (2024). Optimization of Production Scheduling for the Additive Manufacturing of Ship Models Using a Hybrid Method. Journal of Marine Science and Engineering, 12(11), 1961. https://doi.org/10.3390/jmse12111961
  5. Liu, D., Fischetti, M., & Lodi, A. (2022). Learning to Search in Local Branching. Proceedings of the AAAI Conference on Artificial Intelligence, 36(4), 2224–2232. https://doi.org/10.1609/aaai.v36i4.20294
  6. Fischetti, M., & Lodi, A. (2008). Repairing MIP infeasibility through local branching. Computers & Operations Research, 35(5), 1436–1445. https://doi.org/10.1016/j.cor.2006.08.004
  7. Federgruen, A., & Simchi-Levi, D. (1995). Chapter 4: Analysis of vehicle routing and inventory-routing problems. In M. O. Ball, T. L. Magnanti, C. L. Monma, & G. L. Nemhauser (Eds.), Network Routing (Vol. 8, pp. 297–373). Elsevier.https://doi.org/10.1016/S0927-0507(05)80108-2
  8. Ernst, A., Jiang, H., Krishnamoorthy, M., Nott, H., & Sier, D. (2001). Rail crew scheduling and rostering optimization algorithms. In Computer-Aided Scheduling of Public Transport (pp. 53-71). Berlin, Heidelberg: Springer Berlin Heidelberg.https://link.springer.com/chapter/10.1007/978-3-642-56423-9_4



Stewards: Nathan Preuss, Wei-Han Chen, Tianqi Xiao, Guoqing Hu