MINLP branch-and-bound Claudia D’Ambrosio Branch-and-bound algorithm: solve continuous (NLP) What is MP? relaxation at each node of the search tree and branch on What is a MINLP? Subclasses of MINLP variables. Dealing with nonconvexities NLP solver used: Global Optimization Local NLP solvers → local optimum methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
MINLP branch-and-bound Claudia D’Ambrosio Branch-and-bound algorithm: solve continuous (NLP) What is MP? relaxation at each node of the search tree and branch on What is a MINLP? Subclasses of MINLP variables. Dealing with nonconvexities NLP solver used: Global Optimization Local NLP solvers → local optimum methods No valid bound for nonconvex MINLPs. Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
MINLP branch-and-bound Claudia D’Ambrosio Branch-and-bound algorithm: solve continuous (NLP) What is MP? relaxation at each node of the search tree and branch on What is a MINLP? Subclasses of MINLP variables. Dealing with nonconvexities NLP solver used: Global Optimization Local NLP solvers → local optimum methods No valid bound for nonconvex MINLPs. Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening LB = 30 ✎☞ References 0 ✍✌ How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
MINLP branch-and-bound Claudia D’Ambrosio Branch-and-bound algorithm: solve continuous (NLP) What is MP? relaxation at each node of the search tree and branch on What is a MINLP? Subclasses of MINLP variables. Dealing with nonconvexities NLP solver used: Global Optimization Local NLP solvers → local optimum methods No valid bound for nonconvex MINLPs. Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening LB = 30 ✎☞ References 0 ✍✌ ✟ ❍❍ How far can we y 1 = 1 ✟ y 1 = 0 ✟ ✙ ❥ ❍ get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
MINLP branch-and-bound Claudia D’Ambrosio Branch-and-bound algorithm: solve continuous (NLP) What is MP? relaxation at each node of the search tree and branch on What is a MINLP? Subclasses of MINLP variables. Dealing with nonconvexities NLP solver used: Global Optimization Local NLP solvers → local optimum methods No valid bound for nonconvex MINLPs. Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening LB = 30 ✎☞ References 0 ✍✌ ✟ ❍❍ How far can we y 1 = 1 ✟ y 1 = 0 ✟ ✙ ❍ ❥ get? ✎☞ 1 Practical Tools LB = 35 ✍✌ MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
MINLP branch-and-bound Claudia D’Ambrosio Branch-and-bound algorithm: solve continuous (NLP) What is MP? relaxation at each node of the search tree and branch on What is a MINLP? Subclasses of MINLP variables. Dealing with nonconvexities NLP solver used: Global Optimization Local NLP solvers → local optimum methods No valid bound for nonconvex MINLPs. Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening LB = 30 ✎☞ References 0 ✍✌ ✟ ❍❍ How far can we y 1 = 1 ✟ y 1 = 0 ✙ ✟ ❍ ❥ get? ✎☞ 1 Practical Tools LB = 35 ✍✌ ✟ ❍❍ MINLP Solvers y 2 = 1 ✟ y 2 = 0 ✟ ✙ ❍ ❥ Modeling Languages Neos MINLP Libraries Smart Grids
MINLP branch-and-bound Claudia D’Ambrosio Branch-and-bound algorithm: solve continuous (NLP) What is MP? relaxation at each node of the search tree and branch on What is a MINLP? Subclasses of MINLP variables. Dealing with nonconvexities NLP solver used: Global Optimization Local NLP solvers → local optimum methods No valid bound for nonconvex MINLPs. Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening LB = 30 ✎☞ References 0 ✍✌ ✟ ❍❍ How far can we y 1 = 1 ✟ y 1 = 0 ✟ ✙ ❍ ❥ get? ✎☞ 1 Practical Tools LB = 35 ✍✌ ✟ ❍❍ MINLP Solvers y 2 = 1 ✟ y 2 = 0 ✟ ✙ ❍ ❥ Modeling Languages ✎☞ Neos 2 MINLP Libraries ✍✌ Smart Grids z = 26!!!!!!
MINLP branch-and-bound Claudia D’Ambrosio Branch-and-bound algorithm: solve continuous (NLP) What is MP? relaxation at each node of the search tree and branch on What is a MINLP? Subclasses of MINLP variables. Dealing with nonconvexities NLP solver used: Global Optimization Local NLP solvers → local optimum methods No valid bound for nonconvex MINLPs. Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening LB = 30 ✎☞ References 0 ✍✌ ✟ ❍❍ How far can we y 1 = 1 ✟ y 1 = 0 ✟ ✙ ❍ ❥ get? ✎☞ 1 Practical Tools LB = 35 ✍✌ ✟ ❍❍ MINLP Solvers y 2 = 1 ✟ y 2 = 0 ✟ ✙ ❍ ❥ Modeling Languages ✎☞ ✎☞ Neos 2 3 MINLP Libraries ✍✌ ✍✌ Smart Grids z = 26!!!!!! ∅
MINLP branch-and-bound Claudia D’Ambrosio Branch-and-bound algorithm: solve continuous (NLP) What is MP? relaxation at each node of the search tree and branch on What is a MINLP? Subclasses of MINLP variables. Dealing with nonconvexities NLP solver used: Global Optimization Local NLP solvers → local optimum methods No valid bound for nonconvex MINLPs. Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening LB = 30 ✎☞ References 0 ✍✌ ✟ ❍❍ How far can we y 1 = 1 ✟ y 1 = 0 ✟ ✙ ❥ ❍ get? ✎☞ ✎☞ � ❅ 1 4 Practical Tools LB = 35 � ❅ ✍✌ ✍✌ ✟ ❍❍ MINLP Solvers y 2 = 1 ✟ y 2 = 0 ✙ ✟ ❥ ❍ Modeling Languages ✎☞ ✎☞ Neos 2 3 MINLP Libraries ✍✌ ✍✌ Smart Grids z = 26!!!!!! ∅
MINLP branch-and-bound Claudia D’Ambrosio Branch-and-bound algorithm: solve continuous (NLP) What is MP? relaxation at each node of the search tree and branch on What is a MINLP? Subclasses of MINLP variables. Dealing with nonconvexities NLP solver used: Global Optimization Local NLP solvers → local optimum methods No valid bound for nonconvex MINLPs. Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges LB = 30 Bounds tightening LB = 30 ✎☞ ✎☞ References 0 0 ✍✌ ✍✌ ✟ ❍❍ How far can we y 1 = 1 ✟ y 1 = 0 ✙ ✟ ❥ ❍ get? ✎☞ ✎☞ � ❅ 1 4 Practical Tools LB = 35 � ❅ ✍✌ ✍✌ ✟ ❍❍ MINLP Solvers y 2 = 1 ✟ y 2 = 0 ✟ ✙ ❥ ❍ Modeling Languages ✎☞ ✎☞ Neos 2 3 MINLP Libraries ✍✌ ✍✌ Smart Grids z = 26!!!!!! ∅
MINLP branch-and-bound Claudia D’Ambrosio Branch-and-bound algorithm: solve continuous (NLP) What is MP? relaxation at each node of the search tree and branch on What is a MINLP? Subclasses of MINLP variables. Dealing with nonconvexities NLP solver used: Global Optimization Local NLP solvers → local optimum methods No valid bound for nonconvex MINLPs. Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges LB = 30 Bounds tightening LB = 30 ✎☞ ✎☞ References 0 0 ✍✌ ✍✌ ✟ ❍❍ ✟ ❍❍ How far can we y 1 = 0 ✟ y 1 = 1 y 1 = 1 ✟ y 1 = 0 ✙ ✟ ❥ ❍ ✟ ✙ ❍ ❥ get? ✎☞ ✎☞ � ❅ 1 4 Practical Tools LB = 35 � ❅ ✍✌ ✍✌ ✟ ❍❍ MINLP Solvers y 2 = 1 ✟ y 2 = 0 ✟ ✙ ❥ ❍ Modeling Languages ✎☞ ✎☞ Neos 2 3 MINLP Libraries ✍✌ ✍✌ Smart Grids z = 26!!!!!! ∅
MINLP branch-and-bound Claudia D’Ambrosio Branch-and-bound algorithm: solve continuous (NLP) What is MP? relaxation at each node of the search tree and branch on What is a MINLP? Subclasses of MINLP variables. Dealing with nonconvexities NLP solver used: Global Optimization Local NLP solvers → local optimum methods No valid bound for nonconvex MINLPs. Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges LB = 30 Bounds tightening LB = 30 ✎☞ ✎☞ References 0 0 ✍✌ ✍✌ ✟ ❍❍ ✟ ❍❍ How far can we y 1 = 0 ✟ y 1 = 1 y 1 = 1 ✟ y 1 = 0 ✙ ✟ ❥ ❍ ✟ ✙ ❥ ❍ ✎☞ get? ✎☞ ✎☞ � ❅ 1 1 4 Practical Tools LB = 35 � ❅ ✍✌ ✍✌ ✍✌ ✟ ❍❍ MINLP Solvers y 2 = 1 ✟ y 2 = 0 z = 31 ✙ ✟ ❥ ❍ Modeling Languages ✎☞ ✎☞ Neos 2 3 MINLP Libraries ✍✌ ✍✌ Smart Grids z = 26!!!!!! ∅
MINLP branch-and-bound Claudia D’Ambrosio Branch-and-bound algorithm: solve continuous (NLP) What is MP? relaxation at each node of the search tree and branch on What is a MINLP? Subclasses of MINLP variables. Dealing with nonconvexities NLP solver used: Global Optimization Local NLP solvers → local optimum methods No valid bound for nonconvex MINLPs. Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges LB = 30 Bounds tightening LB = 30 ✎☞ ✎☞ References 0 0 ✍✌ ✍✌ ✟ ❍❍ ✟ ❍❍ How far can we y 1 = 0 ✟ y 1 = 1 y 1 = 1 ✟ y 1 = 0 ✙ ✟ ❍ ❥ ✙ ✟ ❍ ❥ ✎☞ ✎☞ get? ✎☞ ✎☞ � ❅ 1 2 1 4 LB = 35 Practical Tools LB = 35 � ❅ ✍✌ ✍✌ ✍✌ ✍✌ ✟ ❍❍ MINLP Solvers y 2 = 1 ✟ y 2 = 0 z = 31 ✙ ✟ ❥ ❍ Modeling Languages ✎☞ ✎☞ Neos 2 3 MINLP Libraries ✍✌ ✍✌ Smart Grids z = 26!!!!!! ∅
MINLP branch-and-bound Claudia D’Ambrosio Branch-and-bound algorithm: solve continuous (NLP) What is MP? relaxation at each node of the search tree and branch on What is a MINLP? Subclasses of MINLP variables. Dealing with nonconvexities NLP solver used: Global Optimization Local NLP solvers → local optimum methods No valid bound for nonconvex MINLPs. Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges LB = 30 Bounds tightening LB = 30 ✎☞ ✎☞ References 0 0 ✍✌ ✍✌ ✟ ❍❍ ✟ ❍❍ How far can we y 1 = 0 ✟ y 1 = 1 y 1 = 1 ✟ y 1 = 0 ✟ ✙ ❍ ❥ ✙ ✟ ❥ ❍ ✎☞ ✎☞ get? ✎☞ ✎☞ � � ❅ ❅ 1 2 1 4 LB = 35 Practical Tools LB = 35 � � ❅ ❅ ✍✌ ✍✌ ✍✌ ✍✌ ✟ ❍❍ MINLP Solvers y 2 = 1 ✟ y 2 = 0 z = 31 ✙ ✟ ❍ ❥ Modeling Languages ✎☞ ✎☞ Neos 2 3 MINLP Libraries ✍✌ ✍✌ Smart Grids z = 26!!!!!! ∅
Specific options for nonconvex MINLPs Claudia D’Ambrosio What is MP? What is a MINLP? Different starting points for root/each node. Subclasses of MINLP Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Specific options for nonconvex MINLPs Claudia D’Ambrosio What is MP? What is a MINLP? Different starting points for root/each node. Subclasses of MINLP Dealing with nonconvexities Global Optimization LB = min ( 30 , methods ✎☞ 0 Spatial ✍✌ Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Specific options for nonconvex MINLPs Claudia D’Ambrosio What is MP? What is a MINLP? Different starting points for root/each node. Subclasses of MINLP Dealing with nonconvexities Global Optimization LB = min ( 30 , 28 , methods ✎☞ 0 Spatial ✍✌ Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Specific options for nonconvex MINLPs Claudia D’Ambrosio What is MP? What is a MINLP? Different starting points for root/each node. Subclasses of MINLP Dealing with nonconvexities Global Optimization LB = min ( 30 , 28 , 32 , methods ✎☞ 0 Spatial ✍✌ Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Specific options for nonconvex MINLPs Claudia D’Ambrosio What is MP? What is a MINLP? Different starting points for root/each node. Subclasses of MINLP Dealing with nonconvexities Global Optimization LB = min ( 30 , 28 , 32 , 30 , methods ✎☞ 0 Spatial ✍✌ Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Specific options for nonconvex MINLPs Claudia D’Ambrosio What is MP? What is a MINLP? Different starting points for root/each node. Subclasses of MINLP Dealing with nonconvexities Global Optimization LB = min ( 30 , 28 , 32 , 30 , 23 ) = 23 methods ✎☞ 0 Spatial ✍✌ Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Specific options for nonconvex MINLPs Claudia D’Ambrosio What is MP? What is a MINLP? Different starting points for root/each node. Subclasses of MINLP Dealing with nonconvexities Global Optimization LB = min ( 30 , 28 , 32 , 30 , 23 ) = 23 methods ✎☞ 0 Spatial ✍✌ Branch-and-Bound ✟ ❍❍ y 1 = 1 ✟ y 1 = 0 ✙ ✟ ❍ ❥ Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Specific options for nonconvex MINLPs Claudia D’Ambrosio What is MP? What is a MINLP? Different starting points for root/each node. Subclasses of MINLP Dealing with nonconvexities Global Optimization LB = min ( 30 , 28 , 32 , 30 , 23 ) = 23 methods ✎☞ 0 Spatial ✍✌ Branch-and-Bound ✟ ❍❍ y 1 = 1 ✟ y 1 = 0 ✟ ✙ ❥ ❍ Expression trees ✎☞ Convex relaxation 1 LB = min ( 35 , Variable ranges ✍✌ Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Specific options for nonconvex MINLPs Claudia D’Ambrosio What is MP? What is a MINLP? Different starting points for root/each node. Subclasses of MINLP Dealing with nonconvexities Global Optimization LB = min ( 30 , 28 , 32 , 30 , 23 ) = 23 methods ✎☞ 0 Spatial ✍✌ Branch-and-Bound ✟ ❍❍ y 1 = 1 ✟ y 1 = 0 ✟ ✙ ❥ ❍ Expression trees ✎☞ Convex relaxation 1 LB = min ( 35 , 24 , Variable ranges ✍✌ Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Specific options for nonconvex MINLPs Claudia D’Ambrosio What is MP? What is a MINLP? Different starting points for root/each node. Subclasses of MINLP Dealing with nonconvexities Global Optimization LB = min ( 30 , 28 , 32 , 30 , 23 ) = 23 methods ✎☞ 0 Spatial ✍✌ Branch-and-Bound ✟ ❍❍ y 1 = 1 ✟ y 1 = 0 ✟ ✙ ❥ ❍ Expression trees ✎☞ Convex relaxation 1 LB = min ( 35 , 24 , 28 , Variable ranges ✍✌ Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Specific options for nonconvex MINLPs Claudia D’Ambrosio What is MP? What is a MINLP? Different starting points for root/each node. Subclasses of MINLP Dealing with nonconvexities Global Optimization LB = min ( 30 , 28 , 32 , 30 , 23 ) = 23 methods ✎☞ 0 Spatial ✍✌ Branch-and-Bound ✟ ❍❍ y 1 = 1 ✟ y 1 = 0 ✟ ✙ ❥ ❍ Expression trees ✎☞ Convex relaxation 1 LB = min ( 35 , 24 , 28 , 24 , Variable ranges ✍✌ Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Specific options for nonconvex MINLPs Claudia D’Ambrosio What is MP? What is a MINLP? Different starting points for root/each node. Subclasses of MINLP Dealing with nonconvexities Global Optimization LB = min ( 30 , 28 , 32 , 30 , 23 ) = 23 methods ✎☞ 0 Spatial ✍✌ Branch-and-Bound ✟ ❍❍ y 1 = 1 ✟ y 1 = 0 ✟ ✙ ❥ ❍ Expression trees ✎☞ Convex relaxation 1 LB = min ( 35 , 24 , 28 , 24 , 30 ) = 24 Variable ranges ✍✌ Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Specific options for nonconvex MINLPs Claudia D’Ambrosio What is MP? What is a MINLP? Different starting points for root/each node. Subclasses of MINLP Dealing with nonconvexities Global Optimization LB = min ( 30 , 28 , 32 , 30 , 23 ) = 23 methods ✎☞ 0 Spatial ✍✌ Branch-and-Bound ✟ ❍❍ y 1 = 1 ✟ y 1 = 0 ✙ ✟ ❥ ❍ Expression trees ✎☞ Convex relaxation 1 LB = min ( 35 , 24 , 28 , 24 , 30 ) = 24 Variable ranges ✍✌ Bounds tightening ✟ ❍❍ ✟ y 2 = 1 y 2 = 0 ✟ ✙ ❍ ❥ References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Specific options for nonconvex MINLPs Claudia D’Ambrosio What is MP? What is a MINLP? Different starting points for root/each node. Subclasses of MINLP Dealing with nonconvexities Global Optimization LB = min ( 30 , 28 , 32 , 30 , 23 ) = 23 methods ✎☞ 0 Spatial ✍✌ Branch-and-Bound ✟ ❍❍ y 1 = 1 ✟ y 1 = 0 ✟ ✙ ❍ ❥ Expression trees ✎☞ Convex relaxation 1 LB = min ( 35 , 24 , 28 , 24 , 30 ) = 24 Variable ranges ✍✌ Bounds tightening ✟ ❍❍ ✟ y 2 = 1 y 2 = 0 ✟ ✙ ❥ ❍ ✎☞ References 2 How far can we ✍✌ get? z = 26!!!!!! Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Specific options for nonconvex MINLPs Claudia D’Ambrosio What is MP? What is a MINLP? Different starting points for root/each node. Subclasses of MINLP Dealing with nonconvexities Global Optimization LB = min ( 30 , 28 , 32 , 30 , 23 ) = 23 methods ✎☞ 0 Spatial ✍✌ Branch-and-Bound ✟ ❍❍ y 1 = 1 ✟ y 1 = 0 ✙ ✟ ❥ ❍ Expression trees ✎☞ Convex relaxation 1 LB = min ( 35 , 24 , 28 , 24 , 30 ) = 24 Variable ranges ✍✌ Bounds tightening ✟ ❍❍ ✟ y 2 = 1 y 2 = 0 ✟ ✙ ❍ ❥ ✎☞ ✎☞ References 2 3 How far can we ✍✌ ✍✌ get? z = 26!!!!!! ∅ Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Specific options for nonconvex MINLPs Claudia D’Ambrosio What is MP? What is a MINLP? Different starting points for root/each node. Subclasses of MINLP Dealing with nonconvexities Global Optimization LB = min ( 30 , 28 , 32 , 30 , 23 ) = 23 methods ✎☞ 0 Spatial ✍✌ Branch-and-Bound ✟ ❍❍ y 1 = 1 ✟ y 1 = 0 ✙ ✟ ❍ ❥ Expression trees ✎☞ ✎☞ Convex relaxation 1 4 LB = min ( 35 , 24 , 28 , 24 , 30 ) = 24 Variable ranges ✍✌ ✍✌ Bounds tightening ✟ ❍❍ ✟ y 2 = 1 y 2 = 0 z = 27 ✙ ✟ ❍ ❥ ✎☞ ✎☞ References 2 3 How far can we ✍✌ ✍✌ get? z = 26!!!!!! ∅ Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Specific options for nonconvex MINLPs Claudia D’Ambrosio What is MP? What is a MINLP? Different starting points for root/each node. Subclasses of MINLP Dealing with nonconvexities Global Optimization LB = min ( 30 , 28 , 32 , 30 , 23 ) = 23 methods ✎☞ 0 Spatial ✍✌ Branch-and-Bound ✟ ❍❍ y 1 = 1 ✟ y 1 = 0 ✙ ✟ ❍ ❥ Expression trees ✎☞ ✎☞ Convex relaxation 1 4 LB = min ( 35 , 24 , 28 , 24 , 30 ) = 24 Variable ranges ✍✌ ✍✌ Bounds tightening ✟ ❍❍ ✟ y 2 = 1 y 2 = 0 z = 27 ✙ ✟ ❥ ❍ ✎☞ ✎☞ References 2 3 How far can we ✍✌ ✍✌ get? z = 26!!!!!! ∅ Practical Tools MINLP Solvers Modeling Languages Neos Still not a valid LB! MINLP Libraries Smart Grids
MILP relaxation Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities min γ Global � x − x k Optimization � methods f ( x k , y k ) + ∇ f ( x k , y k ) T ≤ ∀ k γ y − y k Spatial � x − x k Branch-and-Bound � Expression trees g i ( x k , y k ) + ∇ g i ( x k , y k ) T ∀ k ∀ i ∈ I k 0 ≤ Convex relaxation y − y k Variable ranges Bounds tightening x ∈ X References How far can we y ∈ Y . get? Practical Tools where I k ⊆ { 1 , 2 , . . . , m } . MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
MILP relaxation Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities min γ Global � x − x k Optimization � methods f ( x k , y k ) + ∇ f ( x k , y k ) T ≤ ∀ k γ y − y k Spatial � x − x k Branch-and-Bound � Expression trees g i ( x k , y k ) + ∇ g i ( x k , y k ) T ∀ k ∀ i ∈ I k 0 ≤ Convex relaxation y − y k Variable ranges Bounds tightening x ∈ X References How far can we y ∈ Y . get? Practical Tools where I k ⊆ { 1 , 2 , . . . , m } . Two “classical” choices: MINLP Solvers Modeling Languages ◮ I k = { 1 , 2 , . . . , m } Neos MINLP Libraries Smart Grids
MILP relaxation Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities min γ Global � x − x k Optimization � methods f ( x k , y k ) + ∇ f ( x k , y k ) T ≤ ∀ k γ y − y k Spatial � x − x k Branch-and-Bound � Expression trees g i ( x k , y k ) + ∇ g i ( x k , y k ) T ∀ k ∀ i ∈ I k 0 ≤ Convex relaxation y − y k Variable ranges Bounds tightening x ∈ X References How far can we y ∈ Y . get? Practical Tools where I k ⊆ { 1 , 2 , . . . , m } . Two “classical” choices: MINLP Solvers Modeling Languages ◮ I k = { 1 , 2 , . . . , m } Neos MINLP Libraries ◮ I k = { i | g ( x k , y k ) > 0 , 1 ≤ i ≤ m } Smart Grids
Outer Approximation and nonconvex MINLPs Claudia D’Ambrosio Several methods for convex MINLPs use Outer What is MP? Approximation cuts (Duran and Grossman, 1986) which What is a MINLP? are not exact for nonconvex MINLPs. Subclasses of MINLP Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Outer Approximation and nonconvex MINLPs Claudia D’Ambrosio Several methods for convex MINLPs use Outer What is MP? Approximation cuts (Duran and Grossman, 1986) which What is a MINLP? are not exact for nonconvex MINLPs. Subclasses of MINLP Dealing with nonconvexities � x − x k Global � Optimization g ( x , y ) ≤ 0 g i ( x k , y k )+ ∇ g i ( x k , y k ) T ≤ 0 → methods y − y k Spatial Branch-and-Bound where ∇ g ( x k , y k ) is the Jacobian of g ( x , y ) evaluated at Expression trees Convex relaxation the point ( x k , y k ) . Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Outer Approximation and nonconvex MINLPs Claudia D’Ambrosio Several methods for convex MINLPs use Outer What is MP? Approximation cuts (Duran and Grossman, 1986) which What is a MINLP? are not exact for nonconvex MINLPs. Subclasses of MINLP Dealing with nonconvexities � x − x k Global � Optimization g ( x , y ) ≤ 0 g i ( x k , y k )+ ∇ g i ( x k , y k ) T ≤ 0 → methods y − y k Spatial Branch-and-Bound where ∇ g ( x k , y k ) is the Jacobian of g ( x , y ) evaluated at Expression trees Convex relaxation the point ( x k , y k ) . Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Outline Claudia D’Ambrosio What is MP? What is a MINLP? What is MP? Subclasses of MINLP What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Dealing with nonconvexities Global Optimization methods Global Optimization Spatial Branch-and-Bound methods Expression trees Spatial Branch-and-Bound Convex relaxation Expression trees Convex relaxation Variable ranges Variable ranges Bounds tightening Bounds tightening References References How far can we get? How far can we get? Practical Tools Practical Tools MINLP Solvers Modeling Languages MINLP Solvers Neos MINLP Libraries Modeling Languages Smart Grids Neos MINLP Libraries Smart Grids
Global Optimization methods Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Exact Bounds tightening Heuristic References ◮ “Exact” in continuous ◮ Find solution with How far can we space: ε -approximate get? probability 1 in ( find solution within Practical Tools infinite time pre-determined ε MINLP Solvers Modeling Languages distance from optimum in Neos obj. fun. value ) MINLP Libraries Smart Grids ◮ For some problems, finite convergence to optimum ( ε = 0)
Outline Claudia D’Ambrosio What is MP? What is a MINLP? What is MP? Subclasses of MINLP What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Dealing with nonconvexities Global Optimization methods Global Optimization Spatial Branch-and-Bound methods Expression trees Spatial Branch-and-Bound Convex relaxation Expression trees Convex relaxation Variable ranges Variable ranges Bounds tightening Bounds tightening References References How far can we get? How far can we get? Practical Tools Practical Tools MINLP Solvers Modeling Languages MINLP Solvers Neos MINLP Libraries Modeling Languages Smart Grids Neos MINLP Libraries Smart Grids
Spatial Branch-and-Bound Claudia D’Ambrosio What is MP? What is a MINLP? Falk and Soland (1969) “An algorithm for separable Subclasses of MINLP nonconvex programming problems”. Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial Branch-and-Bound Claudia D’Ambrosio What is MP? What is a MINLP? Falk and Soland (1969) “An algorithm for separable Subclasses of MINLP nonconvex programming problems”. Dealing with nonconvexities Global Optimization 20 years ago: first general-purpose “exact” algorithms for methods nonconvex MINLP . Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial Branch-and-Bound Claudia D’Ambrosio What is MP? What is a MINLP? Falk and Soland (1969) “An algorithm for separable Subclasses of MINLP nonconvex programming problems”. Dealing with nonconvexities Global Optimization 20 years ago: first general-purpose “exact” algorithms for methods nonconvex MINLP . Spatial Branch-and-Bound ◮ Tree-like search Expression trees Convex relaxation Variable ranges ◮ Explores search space exhaustively but implicitly Bounds tightening References ◮ Builds a sequence of decreasing upper bounds and How far can we increasing lower bounds to the global optimum get? Practical Tools ◮ Exponential worst-case MINLP Solvers Modeling Languages ◮ Like BB for MILP , but may branch on continuous vars Neos MINLP Libraries Done whenever one is involved in a nonconvex term Smart Grids
Spatial B&B: Example Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Original problem P Smart Grids
Spatial B&B: Example Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Starting point x ′ Smart Grids
Spatial B&B: Example Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Local (upper bounding) solution x ∗ Smart Grids
Spatial B&B: Example Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries f with | f ∗ − ¯ Convex relaxation (lower) bound ¯ f | > ε Smart Grids
Spatial B&B: Example Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Branch at x = ¯ Smart Grids x into C 1 , C 2
Spatial B&B: Example Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Convex relaxation on C 1 : lower bounding solution ¯ x Smart Grids
Spatial B&B: Example Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries localSolve . from ¯ x: new upper bounding solution x ∗ Smart Grids
Spatial B&B: Example Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries | f ∗ − ¯ f | > ε : branch at x = ¯ x Smart Grids
Spatial B&B: Example Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos x = x ∗ and | f ∗ − ¯ Repeat on C 3 : get ¯ MINLP Libraries f | < ε , no more Smart Grids branching
Spatial B&B: Example Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries f > f ∗ (can’t improve x ∗ in C 2 ) Repeat on C 2 : ¯ Smart Grids
Spatial B&B: Example Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries f > f ∗ (can’t improve x ∗ in C 4 ) Repeat on C 4 : ¯ Smart Grids
Spatial B&B: Example Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries No more subproblems left, return x ∗ and terminate Smart Grids
Spatial B&B: Pruning Claudia D’Ambrosio 1. P was branched into C 1 , C 2 What is MP? What is a MINLP? 2. C 1 was branched into C 3 , C 4 Subclasses of MINLP Dealing with nonconvexities 3. C 3 was pruned by optimality Global (x ∗ ∈ G ( C 3 ) was found) Optimization methods 4. C 2 , C 4 were pruned by bound Spatial Branch-and-Bound (lower bound for C 2 worse than f ∗ ) Expression trees Convex relaxation 5. No more nodes: whole space explored, x ∗ ∈ G ( P ) Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: Pruning Claudia D’Ambrosio 1. P was branched into C 1 , C 2 What is MP? What is a MINLP? 2. C 1 was branched into C 3 , C 4 Subclasses of MINLP Dealing with nonconvexities 3. C 3 was pruned by optimality Global (x ∗ ∈ G ( C 3 ) was found) Optimization methods 4. C 2 , C 4 were pruned by bound Spatial Branch-and-Bound (lower bound for C 2 worse than f ∗ ) Expression trees Convex relaxation 5. No more nodes: whole space explored, x ∗ ∈ G ( P ) Variable ranges Bounds tightening References ◮ Search generates a tree How far can we get? ◮ Suproblems are nodes Practical Tools ◮ Nodes can be pruned by optimality, bound or MINLP Solvers Modeling Languages infeasibility (when subproblem is infeasible) Neos MINLP Libraries ◮ Otherwise, they are branched Smart Grids
Spatial B&B: What is missing? Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Global Optimization methods 1. For arbitrary C , checking if it is feasible is Spatial Branch-and-Bound undecidable Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: What is missing? Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Global Optimization methods 1. For arbitrary C , checking if it is feasible is Spatial Branch-and-Bound undecidable Expression trees Convex relaxation 2. How do we compute a lower bound of C ? Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: What is missing? Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Global Optimization methods 1. For arbitrary C , checking if it is feasible is Spatial Branch-and-Bound undecidable Expression trees Convex relaxation 2. How do we compute a lower bound of C ? Variable ranges Bounds tightening 3. How do we compute an upper bound of C ? References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: Upper bounds Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Upper bounds : x ∗ can only decrease Global Optimization methods Spatial ◮ Computing the global optima for each subproblem Branch-and-Bound Expression trees yields candidates for updating x ∗ Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: Upper bounds Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Upper bounds : x ∗ can only decrease Global Optimization methods Spatial ◮ Computing the global optima for each subproblem Branch-and-Bound Expression trees yields candidates for updating x ∗ Convex relaxation Variable ranges ◮ As long as we only update x ∗ when x ′ improves it, Bounds tightening we don’t need x ′ to be a global optimum References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: Upper bounds Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Upper bounds : x ∗ can only decrease Global Optimization methods Spatial ◮ Computing the global optima for each subproblem Branch-and-Bound Expression trees yields candidates for updating x ∗ Convex relaxation Variable ranges ◮ As long as we only update x ∗ when x ′ improves it, Bounds tightening we don’t need x ′ to be a global optimum References How far can we ◮ Any “good feasible point” will do get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: Upper bounds Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Upper bounds : x ∗ can only decrease Global Optimization methods Spatial ◮ Computing the global optima for each subproblem Branch-and-Bound Expression trees yields candidates for updating x ∗ Convex relaxation Variable ranges ◮ As long as we only update x ∗ when x ′ improves it, Bounds tightening we don’t need x ′ to be a global optimum References How far can we ◮ Any “good feasible point” will do get? Practical Tools ◮ Specifically, use feasible local optima MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: Lower bounds Claudia D’Ambrosio What is MP? What is a MINLP? Lower bounds : increase over ⊃ -chains Subclasses of MINLP Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: Lower bounds Claudia D’Ambrosio What is MP? What is a MINLP? Lower bounds : increase over ⊃ -chains Subclasses of MINLP Dealing with nonconvexities Global Optimization ◮ Let R P be a relaxation of P such that: methods 1. R P also involves the decision variables of P Spatial Branch-and-Bound ( and perhaps some others ) Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: Lower bounds Claudia D’Ambrosio What is MP? What is a MINLP? Lower bounds : increase over ⊃ -chains Subclasses of MINLP Dealing with nonconvexities Global Optimization ◮ Let R P be a relaxation of P such that: methods 1. R P also involves the decision variables of P Spatial Branch-and-Bound ( and perhaps some others ) Expression trees 2. for any range I = [ x L , x U ] , Convex relaxation Variable ranges R P [ I ] is a relaxation of P [ I ] Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: Lower bounds Claudia D’Ambrosio What is MP? What is a MINLP? Lower bounds : increase over ⊃ -chains Subclasses of MINLP Dealing with nonconvexities Global Optimization ◮ Let R P be a relaxation of P such that: methods 1. R P also involves the decision variables of P Spatial Branch-and-Bound ( and perhaps some others ) Expression trees 2. for any range I = [ x L , x U ] , Convex relaxation Variable ranges R P [ I ] is a relaxation of P [ I ] Bounds tightening 3. if I , I ′ are two ranges References How far can we I ⊇ I ′ → min R P [ I ] ≤ min R P [ I ′ ] get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: Lower bounds Claudia D’Ambrosio What is MP? What is a MINLP? Lower bounds : increase over ⊃ -chains Subclasses of MINLP Dealing with nonconvexities Global Optimization ◮ Let R P be a relaxation of P such that: methods 1. R P also involves the decision variables of P Spatial Branch-and-Bound ( and perhaps some others ) Expression trees 2. for any range I = [ x L , x U ] , Convex relaxation Variable ranges R P [ I ] is a relaxation of P [ I ] Bounds tightening 3. if I , I ′ are two ranges References How far can we I ⊇ I ′ → min R P [ I ] ≤ min R P [ I ′ ] get? 4. For any subproblem C of P , Practical Tools MINLP Solvers finding x ∈ G ( R C ) or showing F ( R C ) = ∅ is efficient Modeling Languages Neos Specifically, ¯ x = localSolve ( R C ) ∈ G ( R C ) MINLP Libraries Smart Grids
Spatial B&B: A decidable feasibility test Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities ◮ Processing C when it’s infeasible will make sBB slower but not incorrect Global Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: A decidable feasibility test Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities ◮ Processing C when it’s infeasible will make sBB slower but not incorrect Global ◮ ⇒ sBB still works if we simply never discard a potentially feasible C Optimization methods Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: A decidable feasibility test Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities ◮ Processing C when it’s infeasible will make sBB slower but not incorrect Global ◮ ⇒ sBB still works if we simply never discard a potentially feasible C Optimization methods ◮ Use a “partial feasibility test” isEvidentlyInfeasible ( P ) Spatial Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: A decidable feasibility test Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities ◮ Processing C when it’s infeasible will make sBB slower but not incorrect Global ◮ ⇒ sBB still works if we simply never discard a potentially feasible C Optimization methods ◮ Use a “partial feasibility test” isEvidentlyInfeasible ( P ) Spatial ◮ If isEvidentlyInfeasible ( C ) is true , then C is Branch-and-Bound Expression trees guaranteed to be infeasible, and we can discard it Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: A decidable feasibility test Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities ◮ Processing C when it’s infeasible will make sBB slower but not incorrect Global ◮ ⇒ sBB still works if we simply never discard a potentially feasible C Optimization methods ◮ Use a “partial feasibility test” isEvidentlyInfeasible ( P ) Spatial ◮ If isEvidentlyInfeasible ( C ) is true , then C is Branch-and-Bound Expression trees guaranteed to be infeasible, and we can discard it Convex relaxation Variable ranges ◮ Otherwise, we simply don’t know, and we shall Bounds tightening process it References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: A decidable feasibility test Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities ◮ Processing C when it’s infeasible will make sBB slower but not incorrect Global ◮ ⇒ sBB still works if we simply never discard a potentially feasible C Optimization methods ◮ Use a “partial feasibility test” isEvidentlyInfeasible ( P ) Spatial ◮ If isEvidentlyInfeasible ( C ) is true , then C is Branch-and-Bound Expression trees guaranteed to be infeasible, and we can discard it Convex relaxation Variable ranges ◮ Otherwise, we simply don’t know, and we shall Bounds tightening process it References How far can we ◮ Thm : If R C is infeasible then C is infeasible get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Spatial B&B: A decidable feasibility test Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities ◮ Processing C when it’s infeasible will make sBB slower but not incorrect Global ◮ ⇒ sBB still works if we simply never discard a potentially feasible C Optimization methods ◮ Use a “partial feasibility test” isEvidentlyInfeasible ( P ) Spatial ◮ If isEvidentlyInfeasible ( C ) is true , then C is Branch-and-Bound Expression trees guaranteed to be infeasible, and we can discard it Convex relaxation Variable ranges ◮ Otherwise, we simply don’t know, and we shall Bounds tightening process it References How far can we ◮ Thm : If R C is infeasible then C is infeasible get? Practical Tools ◮ Proof : ∅ = F ( R C ) ⊇ F ( C ) = ∅ MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Tricks Claudia D’Ambrosio What is MP? What is a MINLP? Subclasses of MINLP Dealing with nonconvexities Global Optimization methods Spatial Branch-and-Bound To make an sBB work efficiently, you need further tricks Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Expression trees Claudia D’Ambrosio What is MP? Representation of objective f and constraints g What is a MINLP? Subclasses of MINLP Encode mathematical expressions in trees or DAGs Dealing with nonconvexities Global Optimization methods E.g. x 2 Spatial 1 + x 1 x 2 : Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Expression trees Claudia D’Ambrosio What is MP? Representation of objective f and constraints g What is a MINLP? Subclasses of MINLP Encode mathematical expressions in trees or DAGs Dealing with nonconvexities Global Optimization methods E.g. x 2 Spatial 1 + x 1 x 2 : Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening + References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Expression trees Claudia D’Ambrosio What is MP? Representation of objective f and constraints g What is a MINLP? Subclasses of MINLP Encode mathematical expressions in trees or DAGs Dealing with nonconvexities Global Optimization methods E.g. x 2 Spatial 1 + x 1 x 2 : Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening + References ✟ ❍❍ ✟ How far can we ✟ ❍ get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Expression trees Claudia D’Ambrosio What is MP? Representation of objective f and constraints g What is a MINLP? Subclasses of MINLP Encode mathematical expressions in trees or DAGs Dealing with nonconvexities Global Optimization methods E.g. x 2 Spatial 1 + x 1 x 2 : Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening + References ✟ ❍❍ ✟ How far can we ✟ ❍ get? ˆ Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Expression trees Claudia D’Ambrosio What is MP? Representation of objective f and constraints g What is a MINLP? Subclasses of MINLP Encode mathematical expressions in trees or DAGs Dealing with nonconvexities Global Optimization methods E.g. x 2 Spatial 1 + x 1 x 2 : Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening + References ✟ ❍❍ ✟ How far can we ✟ ❍ get? ∗ ˆ Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Expression trees Claudia D’Ambrosio What is MP? Representation of objective f and constraints g What is a MINLP? Subclasses of MINLP Encode mathematical expressions in trees or DAGs Dealing with nonconvexities Global Optimization methods E.g. x 2 Spatial 1 + x 1 x 2 : Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening + References ✟ ❍❍ ✟ How far can we ✟ ❍ get? ∗ ˆ Practical Tools ✟ ❍❍ ✟ ❍❍ ✟ ✟ MINLP Solvers Modeling Languages x 1 2 x 1 x 2 Neos MINLP Libraries Smart Grids
Expression trees Claudia D’Ambrosio What is MP? Representation of objective f and constraints g What is a MINLP? Subclasses of MINLP Encode mathematical expressions in trees or DAGs Dealing with nonconvexities Global Optimization methods E.g. x 2 Spatial 1 + x 1 x 2 : Branch-and-Bound Expression trees Convex relaxation Variable ranges Bounds tightening + References How far can we get? Practical Tools MINLP Solvers Modeling Languages Neos MINLP Libraries Smart Grids
Recommend
More recommend