Branch and bound for MINLP: Difference between revisions
(Initial Release) |
(Rev 1 - Put paragraphs into sections) |
||
Line 1: | Line 1: | ||
Authors: Phuc Vo (pnv4), Sadie Rynestad (sr2269), Najiyyah Clark (nac228) (SYSEN5800, FALL 2021) | |||
== '''Introduction''' == | |||
Branch and bound is a method used to solve Mixed Integer Non-Linear Programming (MINLP) models. There is a difference in the exact steps of the algorithm; however, the initial method created in 2000 by Ioannis Akrotirianakis, Istvan Maros, and Berc Rustem uses a general arrangement of the branch and bound that has iterative nature of the outer estimation (Altherr et al., 2019). The general efficiency of the branch and bound algorithm is improved by adding Gomory mixed-integer cuts as an alternative to branching to reduce the number of nodes and Non-Liner Programming (NLP) problems needed to solve the MINLP. | Branch and bound is a method used to solve Mixed Integer Non-Linear Programming (MINLP) models. There is a difference in the exact steps of the algorithm; however, the initial method created in 2000 by Ioannis Akrotirianakis, Istvan Maros, and Berc Rustem uses a general arrangement of the branch and bound that has iterative nature of the outer estimation (Altherr et al., 2019). The general efficiency of the branch and bound algorithm is improved by adding Gomory mixed-integer cuts as an alternative to branching to reduce the number of nodes and Non-Liner Programming (NLP) problems needed to solve the MINLP. | ||
== '''Algorithmic Discussion''' == | |||
'''Algorithmic Discussion''' | |||
''Relax'' and ''search'' are the basic performances common to algorithms when finding a solution to MINLP. The difference in algorithms occurs depending on how these performances are executed. In convex MINLPs, the most unaffected relaxation is to ignore the totality constraints ''y ∈'' ℤ ''<sup>p</sup>''. This results in a nonlinear program (NLP) that is solved to global optimality to produce a lower bound on the optimal solution value <sup>z</sup><sub>MINLP</sub>. When the solution ''(x<sup>o</sup>, y<sup>o</sup>)'' is relaxed to have ''y ∈ Z<sup>p,</sup>'' then ''(x<sup>o</sup>, y<sup>0</sup>)'' is supposed to be the optimal answer of MINLP; otherwise, there is a ''j ∈ {1 . . . p}'' with y<sub>j</sub><sup>0</sup> ℤ (Cacchiani & D’Ambrosio, 2017). The search is continuous when it comes to ''branch-and-bound'' whereby it creates two sub-problems; one with the additional constraint ''y<sub>j</sub> ≥ [y<sup>o</sup><sub>j</sub>]'' and the other one with additional constraints ''y<sub>j</sub> ≤ [y<sup>0</sup><sub>j</sub>].'' The same procedure is used to solve these two sub-problems, and it results in search-tree sub-problems that are investigated. | ''Relax'' and ''search'' are the basic performances common to algorithms when finding a solution to MINLP. The difference in algorithms occurs depending on how these performances are executed. In convex MINLPs, the most unaffected relaxation is to ignore the totality constraints ''y ∈'' ℤ ''<sup>p</sup>''. This results in a nonlinear program (NLP) that is solved to global optimality to produce a lower bound on the optimal solution value <sup>z</sup><sub>MINLP</sub>. When the solution ''(x<sup>o</sup>, y<sup>o</sup>)'' is relaxed to have ''y ∈ Z<sup>p,</sup>'' then ''(x<sup>o</sup>, y<sup>0</sup>)'' is supposed to be the optimal answer of MINLP; otherwise, there is a ''j ∈ {1 . . . p}'' with y<sub>j</sub><sup>0</sup> ℤ (Cacchiani & D’Ambrosio, 2017). The search is continuous when it comes to ''branch-and-bound'' whereby it creates two sub-problems; one with the additional constraint ''y<sub>j</sub> ≥ [y<sup>o</sup><sub>j</sub>]'' and the other one with additional constraints ''y<sub>j</sub> ≤ [y<sup>0</sup><sub>j</sub>].'' The same procedure is used to solve these two sub-problems, and it results in search-tree sub-problems that are investigated. | ||
Line 22: | Line 21: | ||
The branch and bound usually follow the outer approximation for MINLP when incorporating Gomory cuts to reduce the search space for the problem (Jaber et al., 2021). The initial developer presented the algorithm as shown in the various methods below. | The branch and bound usually follow the outer approximation for MINLP when incorporating Gomory cuts to reduce the search space for the problem (Jaber et al., 2021). The initial developer presented the algorithm as shown in the various methods below. | ||
=== '''Initialization: Search Tree Root Value''' === | |||
'''Initialization: Search Tree Root Value''' | |||
0. Upper bound=inf, Lower bound= -inf | 0. Upper bound=inf, Lower bound= -inf | ||
Line 59: | Line 56: | ||
When MINLP is solved, the product is a new set of (x) and (y). These new (y<sup>0</sup>) and (x<sup>0</sup>) are the branch's root and bound search tree. | When MINLP is solved, the product is a new set of (x) and (y). These new (y<sup>0</sup>) and (x<sup>0</sup>) are the branch's root and bound search tree. | ||
=== '''Solving Nodes''' === | |||
'''Solving Nodes''' | |||
''' ''' This starts by selecting an unsolved node, and in cases where no nodes are left, the problem is solved. The optimal solution found is ℤ (x<sup>j</sup>, y<sup>j</sup>). If all y<sup>k</sup> = {0, 1}, it becomes a new incumbent and Z that will be obtained from the set of ''x<sup>k</sup>'' and ''y<sup>k</sup>'' will be the current optimal solution (Jaber et al., 2021). When ''x<sup>k</sup>'' and ''y<sup>k</sup>'' are used to solve each unsolved node, the equation below is used: | ''' ''' This starts by selecting an unsolved node, and in cases where no nodes are left, the problem is solved. The optimal solution found is ℤ (x<sup>j</sup>, y<sup>j</sup>). If all y<sup>k</sup> = {0, 1}, it becomes a new incumbent and Z that will be obtained from the set of ''x<sup>k</sup>'' and ''y<sup>k</sup>'' will be the current optimal solution (Jaber et al., 2021). When ''x<sup>k</sup>'' and ''y<sup>k</sup>'' are used to solve each unsolved node, the equation below is used: | ||
Line 86: | Line 81: | ||
This constraint is a representation of the Gomory cut produced as algorithm runs. This line reduces the feasible region of the initial problem, which is y {0, 1}. The final product of solving MINLP is a new set of ''x<sup>k</sup>'' and ''y<sup>k</sup>''. | This constraint is a representation of the Gomory cut produced as algorithm runs. This line reduces the feasible region of the initial problem, which is y {0, 1}. The final product of solving MINLP is a new set of ''x<sup>k</sup>'' and ''y<sup>k</sup>''. | ||
== '''Numerical Solution''' == | |||
'''Numerical Solution''' | |||
Consider the optimization problem with the following objective function and constraints | Consider the optimization problem with the following objective function and constraints | ||
Line 115: | Line 108: | ||
Principle minors =0 | Principle minors =0 | ||
== '''Application''' == | |||
'''Application''' | |||
The branch and bound can be used in many programming problems because it converts them to mixed-integer nonlinear programming and solves them using the branch and bound method (Zhang et al., 2020). Besides the mathematical application, it can be used in various engineering and design issues. | The branch and bound can be used in many programming problems because it converts them to mixed-integer nonlinear programming and solves them using the branch and bound method (Zhang et al., 2020). Besides the mathematical application, it can be used in various engineering and design issues. | ||
== '''Mathematical Problem''' == | |||
'''Mathematical Problem''' | |||
Mathematically, the Branch and bound method for MINLP is commonly used to solve the travelling salesman problem. In 1991, Padberg and Rinaldi created a solution to large-scale symmetric travelling salesman issues utilizing the branch and cut method (Jaber et al., 2021). MINLP problems that can be solved using branch and bound algorithms are; biological models, scheduling and network design (involving finding location). | Mathematically, the Branch and bound method for MINLP is commonly used to solve the travelling salesman problem. In 1991, Padberg and Rinaldi created a solution to large-scale symmetric travelling salesman issues utilizing the branch and cut method (Jaber et al., 2021). MINLP problems that can be solved using branch and bound algorithms are; biological models, scheduling and network design (involving finding location). | ||
== '''Industrial Application''' == | |||
'''Industrial Application''' | |||
''' ''' Designing a thermal insulation layer for the huge hadron collider requires branch and method for MINLP. Series of heat intercepts as well as surrounding insulators are used thermal insulation to reduce the power needed to keep the heat intercepts at specific temperatures (Cacchiani & D’Ambrosio, 2017). These issues come up in the plan of superconducting magnetic energy storage systems as well as have been utilized in large huge collider projects. | ''' ''' Designing a thermal insulation layer for the huge hadron collider requires branch and method for MINLP. Series of heat intercepts as well as surrounding insulators are used thermal insulation to reduce the power needed to keep the heat intercepts at specific temperatures (Cacchiani & D’Ambrosio, 2017). These issues come up in the plan of superconducting magnetic energy storage systems as well as have been utilized in large huge collider projects. | ||
Line 134: | Line 121: | ||
When branch and bound for MINLP is used, it identifies better materials compared to using other methods. Branch and bound have better improvement because of their capability to handle a more significant amount of intercepts than other methods (Altherr et al., 2019). Therefore, most designers tend to apply this method to ensure that they have an optimal solution. | When branch and bound for MINLP is used, it identifies better materials compared to using other methods. Branch and bound have better improvement because of their capability to handle a more significant amount of intercepts than other methods (Altherr et al., 2019). Therefore, most designers tend to apply this method to ensure that they have an optimal solution. | ||
== '''Conclusion''' == | |||
'''Conclusion''' | |||
In general, Branch and bound method follow a scheme that grows exponentially because variables are added to the initial design problem. When Gomory cuts are added, they allow bounds to tighten by decreasing the number of feasible nodes tested and permitting the solver to converge on the optimal solutions with minimum iterations. However, it takes time to form inequalities to production cuts, which can slow down the real resolution of the MINLP problem. Due to this, it should be noted that the larger the problem, the more significant the cuts become. | In general, Branch and bound method follow a scheme that grows exponentially because variables are added to the initial design problem. When Gomory cuts are added, they allow bounds to tighten by decreasing the number of feasible nodes tested and permitting the solver to converge on the optimal solutions with minimum iterations. However, it takes time to form inequalities to production cuts, which can slow down the real resolution of the MINLP problem. Due to this, it should be noted that the larger the problem, the more significant the cuts become. | ||
== '''References''' == | |||
'''References''' | |||
Altherr, L., Leise, P., Pfetsch, M., & Schmitt, A. (2019). Resilient layout, design and operation of energy-efficient water distribution networks for high-rise buildings using MINLP. ''Optimization And Engineering'', ''20''(2), 605-645. <nowiki>https://doi.org/10.1007/s11081-019-09423-8</nowiki> | Altherr, L., Leise, P., Pfetsch, M., & Schmitt, A. (2019). Resilient layout, design and operation of energy-efficient water distribution networks for high-rise buildings using MINLP. ''Optimization And Engineering'', ''20''(2), 605-645. <nowiki>https://doi.org/10.1007/s11081-019-09423-8</nowiki> | ||
Revision as of 16:33, 28 November 2021
Authors: Phuc Vo (pnv4), Sadie Rynestad (sr2269), Najiyyah Clark (nac228) (SYSEN5800, FALL 2021)
Introduction
Branch and bound is a method used to solve Mixed Integer Non-Linear Programming (MINLP) models. There is a difference in the exact steps of the algorithm; however, the initial method created in 2000 by Ioannis Akrotirianakis, Istvan Maros, and Berc Rustem uses a general arrangement of the branch and bound that has iterative nature of the outer estimation (Altherr et al., 2019). The general efficiency of the branch and bound algorithm is improved by adding Gomory mixed-integer cuts as an alternative to branching to reduce the number of nodes and Non-Liner Programming (NLP) problems needed to solve the MINLP.
Algorithmic Discussion
Relax and search are the basic performances common to algorithms when finding a solution to MINLP. The difference in algorithms occurs depending on how these performances are executed. In convex MINLPs, the most unaffected relaxation is to ignore the totality constraints y ∈ ℤ p. This results in a nonlinear program (NLP) that is solved to global optimality to produce a lower bound on the optimal solution value zMINLP. When the solution (xo, yo) is relaxed to have y ∈ Zp, then (xo, y0) is supposed to be the optimal answer of MINLP; otherwise, there is a j ∈ {1 . . . p} with yj0 ℤ (Cacchiani & D’Ambrosio, 2017). The search is continuous when it comes to branch-and-bound whereby it creates two sub-problems; one with the additional constraint yj ≥ [yoj] and the other one with additional constraints yj ≤ [y0j]. The same procedure is used to solve these two sub-problems, and it results in search-tree sub-problems that are investigated.
On the other hand, when f(x, y) or g(x, y) is not convex functions, then quality algorithms for handling NLP will assure that convergence will occur to a local minimum only. Therefore, the simple solution will not be capable of providing a lower bound on zMINLP. In this scenario of nonconvex MINLP, an additional relaxation procedure is needed. Generally, relaxation depends on the decomposition of a nonlinear function into elements and for every element, a "convex envelope" relaxation is developed (Cacchiani & D’Ambrosio, 2017). Branch and bound is again used in relaxation where there is the additional complexity that continuous variables x can need branching to better the convex relaxation of the initial nonconvex function. During solving this class, a difference occurs in the method in which relaxation is developed.
Let have f(x), h(x) and g(x) that are convex as well as continuous differentiable. To form a general MINLP problem that will be solved using branch and bound method it will be done as shown below:
minℤ(x, y) =CTy+f(x)
h(x) =0
s.t.g(x) +By≤0
y∈0, 1 and x ∈X
The branch and bound usually follow the outer approximation for MINLP when incorporating Gomory cuts to reduce the search space for the problem (Jaber et al., 2021). The initial developer presented the algorithm as shown in the various methods below.
Initialization: Search Tree Root Value
0. Upper bound=inf, Lower bound= -inf
1. Initialize y0
Initialization of binary variables (y) is the first step of the branch and bound method, and the step defines each with a finite beginning value 0 or 1. Another way of achieving initialization is by solving a simple NLP setting 0≤y≤1.
Using y0 to solve NLP
If NLP is feasible
→ solve ℤ(x0, y0). The product of this will be a new upper bound to the initial problem. Then move to step 3
Else NLP is not feasible
→ when the original set of values for y0 is selected; select a new (y0).
Steps 1 and 2 are supposed to be repeated until a feasible solution is found. Move to step 3.
The result from NLP should be the initial feasible solution x0 and y0 whereby ℤ(x0, y0). But when relaxed NLP is infeasible, the MINLP problem becomes infeasible.
Solving MINLP
Using y0 and x0 gotten from NLP, constraints and linearized objective is solved using the following equations:
min a
s.t.a ≤U B0
g(x0,y0)+g(x0,y0)≤0
f(x0,y0)+g(x0,y0)≤a
When MINLP is solved, the product is a new set of (x) and (y). These new (y0) and (x0) are the branch's root and bound search tree.
Solving Nodes
This starts by selecting an unsolved node, and in cases where no nodes are left, the problem is solved. The optimal solution found is ℤ (xj, yj). If all yk = {0, 1}, it becomes a new incumbent and Z that will be obtained from the set of xk and yk will be the current optimal solution (Jaber et al., 2021). When xk and yk are used to solve each unsolved node, the equation below is used:
Using the previous feasible solution to solve MINLP in this form
Start with excluding root (xj,yi) will become (x0,y0)
Min a
s.t.a ≤U Bj
g(xj,yj)+g(xj ,yj)T≤0jT
f(xj,yj)+f(xj ,yj)T≤a
T is set with all indices of the solution tree in which NLP for yj is feasible.
g(xi,yi)+g(xi ,yi)T≤0iS
Such that S is the set that has all indices of solution whereby NLP yi is infeasible
Ty+Tx≤
This constraint is a representation of the Gomory cut produced as algorithm runs. This line reduces the feasible region of the initial problem, which is y {0, 1}. The final product of solving MINLP is a new set of xk and yk.
Numerical Solution
Consider the optimization problem with the following objective function and constraints
Min 4x14-4x2x12+x22+x12-x1+1
s.t. -1≤x1≤1
-1≤x2≤1
To verify if [0.05, 0.5] is optimal relaxed solution (with continuous variables). This is the root node lower bound for the integer solution objective and beginning point for the brand and bound.
Obj=4(0.5)4-4(0.5) (0.5)4+ (0.5)2+ (0.5)2-0.5+1=
0.25-0.5+0.25+0.25+0.25-0.5+1=0.75
xObj=0 =0= 4(4)x13-8x2x1+2x1-1=2-2+1-1=0
=0= -4x12+2x2=-1+1=0
xObj is positive definite for minimum
x2Obj====
Or det(x2Obj)=20-11=9
Principle minors =0
Application
The branch and bound can be used in many programming problems because it converts them to mixed-integer nonlinear programming and solves them using the branch and bound method (Zhang et al., 2020). Besides the mathematical application, it can be used in various engineering and design issues.
Mathematical Problem
Mathematically, the Branch and bound method for MINLP is commonly used to solve the travelling salesman problem. In 1991, Padberg and Rinaldi created a solution to large-scale symmetric travelling salesman issues utilizing the branch and cut method (Jaber et al., 2021). MINLP problems that can be solved using branch and bound algorithms are; biological models, scheduling and network design (involving finding location).
Industrial Application
Designing a thermal insulation layer for the huge hadron collider requires branch and method for MINLP. Series of heat intercepts as well as surrounding insulators are used thermal insulation to reduce the power needed to keep the heat intercepts at specific temperatures (Cacchiani & D’Ambrosio, 2017). These issues come up in the plan of superconducting magnetic energy storage systems as well as have been utilized in large huge collider projects.
Designers select the maximum number of intercepts; the discrete set of materials is selected depending on the thickness and area of every intercept and the intercepted material. The thermal conductivity as well as total mass of the insulation system depend on the selected material selected (Cacchiani & D’Ambrosio, 2017). Nonlinear functions on the model are needed for accuracy purposes like stress constraints, heat flow between the intercept and thermal expansion. Integer variables are utilized to model the discrete choice of the type of material to utilize in every layer.
When branch and bound for MINLP is used, it identifies better materials compared to using other methods. Branch and bound have better improvement because of their capability to handle a more significant amount of intercepts than other methods (Altherr et al., 2019). Therefore, most designers tend to apply this method to ensure that they have an optimal solution.
Conclusion
In general, Branch and bound method follow a scheme that grows exponentially because variables are added to the initial design problem. When Gomory cuts are added, they allow bounds to tighten by decreasing the number of feasible nodes tested and permitting the solver to converge on the optimal solutions with minimum iterations. However, it takes time to form inequalities to production cuts, which can slow down the real resolution of the MINLP problem. Due to this, it should be noted that the larger the problem, the more significant the cuts become.
References
Altherr, L., Leise, P., Pfetsch, M., & Schmitt, A. (2019). Resilient layout, design and operation of energy-efficient water distribution networks for high-rise buildings using MINLP. Optimization And Engineering, 20(2), 605-645. https://doi.org/10.1007/s11081-019-09423-8
Cacchiani, V., & D’Ambrosio, C. (2017). A branch-and-bound based heuristic algorithm for convex multi-objective MINLPs. European Journal Of Operational Research, 260(3), 920-933. https://doi.org/10.1016/j.ejor.2016.10.015
Jaber, A., Lafon, P., & Younes, R. (2021). A branch-and-bound algorithm based on NSGAII for multi-objective mixed integer nonlinear optimization problems. Engineering Optimization, 1-19. https://doi.org/10.1080/0305215x.2021.1904918
Zhang, Y., Sahinidis, N., Nohra, C., & Rong, G. (2020). Optimality-based domain reduction for inequality-constrained NLP and MINLP problems. Journal Of Global Optimization, 77(3), 425-454. https://doi.org/10.1007/s10898-020-00886-z