An exact algorithm for separable non-convex MINLPs Claudia D’Ambrosio ¶ Jon Lee § achter § Andreas W¨ ¶ University of Bologna § IBM T.J. Watson Research Center, NY. Part of this research was carried out while the first author was intern at the IBM T.J. Watson Research Center whose support is gratefully acknowledged. Aussois 2010, 7 January, 2010 Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 1 / 19
Introduction Motivation: Real world problems; Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 2 / 19
Introduction Motivation: Real world problems; Non-convex MINLP problems are challenging. Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 2 / 19
Introduction Motivation: Real world problems; Non-convex MINLP problems are challenging. Choose between... Global solution: Convex under-estimators and spatial branch-and-bound; Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 2 / 19
Introduction Motivation: Real world problems; Non-convex MINLP problems are challenging. Choose between... Global solution: Convex under-estimators and spatial branch-and-bound; “Limited” running time: Local search, linearization and approximation. Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 2 / 19
The class of problems min � j ∈ N C j x j subject to f ( x ) ≤ 0 ; ( P ) r i ( x ) + � k ∈ H ( i ) g ik ( x k ) ≤ 0 , ∀ i ∈ M ; L j ≤ x j ≤ U j , ∀ j ∈ N ; x j integer, ∀ j ∈ I , where: f : R n → R p and r i : R n → R ∀ i ∈ M , are convex functions, H ( i ) ⊆ N ∀ i ∈ M , the g ik : R → R are non-convex univariate function ∀ i ∈ M , and I ⊆ N . For j ∈ H we assume that the bounds are finite. Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 3 / 19
The SC-MINLP (Sequential Convex MINLP) framework AMPL Lower bounding Upper bounding Init relaxation Q restriction R Refinement MATLAB MINLP solver NLP solver Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 4 / 19
The Lower Bounding problem Q : step 1 For simplicity, let us consider a term of the form g ( x k ) := g ik ( x k ): g : R → R is a univariate non-convex function of x k , for some k (1 ≤ k ≤ n ). 2.5 2 1.5 1 0.5 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 5 / 19
The Lower Bounding problem Q : step 1 For simplicity, let us consider a term of the form g ( x k ) := g ik ( x k ): g : R → R is a univariate non-convex function of x k , for some k (1 ≤ k ≤ n ). 2.5 2 1.5 1 0.5 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Automatically detect the concavity/convexity intervals or piecewise definition: [ P p − 1 , P p ] := the p -th subinterval of the domain of g ( p ∈ { 1 . . . p } ); Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 5 / 19
The Lower Bounding problem Q : step 1 For simplicity, let us consider a term of the form g ( x k ) := g ik ( x k ): g : R → R is a univariate non-convex function of x k , for some k (1 ≤ k ≤ n ). 2.5 2 1.5 1 0.5 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Automatically detect the concavity/convexity intervals or piecewise definition: [ P p − 1 , P p ] := the p -th subinterval of the domain of g ( p ∈ { 1 . . . p } ); ˇ H := the set of indices of subintervals on which g is convex; Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 5 / 19
The Lower Bounding problem Q : step 1 For simplicity, let us consider a term of the form g ( x k ) := g ik ( x k ): g : R → R is a univariate non-convex function of x k , for some k (1 ≤ k ≤ n ). 2.5 2 1.5 1 0.5 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Automatically detect the concavity/convexity intervals or piecewise definition: [ P p − 1 , P p ] := the p -th subinterval of the domain of g ( p ∈ { 1 . . . p } ); ˇ H := the set of indices of subintervals on which g is convex; ˆ H := the set of indices of subintervals on which g is concave. Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 5 / 19
The Lower Bounding problem Q : step 2 Replace the term g ( x k ) with: p =1 g ( P p − 1 + δ p ) − � p − 1 � p p =1 g ( P p ) , Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 6 / 19
The Lower Bounding problem Q : step 2 Replace the term g ( x k ) with: p =1 g ( P p − 1 + δ p ) − � p − 1 � p p =1 g ( P p ) , and we include the following set of new constraints: P 0 + � p p =1 δ p − x k = 0 ; Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 6 / 19
The Lower Bounding problem Q : step 2 Replace the term g ( x k ) with: p =1 g ( P p − 1 + δ p ) − � p − 1 � p p =1 g ( P p ) , and we include the following set of new constraints: P 0 + � p p =1 δ p − x k = 0 ; δ p − ( P p − P p − 1 ) z p ≥ 0 , ∀ p ∈ ˇ H ∪ ˆ H ; δ p − ( P p − P p − 1 ) z p − 1 ≤ 0 , ∀ p ∈ ˇ H ∪ ˆ H ; 0 ≤ δ p ≤ P p − P p − 1 , ∀ p ∈ { 1 , . . . , ¯ p } ; with two dummy variables z 0 := 1 and z p := 0 and two new sets of variables z p (binary) and δ p (continuous). Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 6 / 19
The Lower Bounding problem Q : step 2 Replace the term g ( x k ) with: p =1 g ( P p − 1 + δ p ) − � p − 1 � p p =1 g ( P p ) , and we include the following set of new constraints: P 0 + � p p =1 δ p − x k = 0 ; δ p − ( P p − P p − 1 ) z p ≥ 0 , ∀ p ∈ ˇ H ∪ ˆ H ; δ p − ( P p − P p − 1 ) z p − 1 ≤ 0 , ∀ p ∈ ˇ H ∪ ˆ H ; 0 ≤ δ p ≤ P p − P p − 1 , ∀ p ∈ { 1 , . . . , ¯ p } ; with two dummy variables z 0 := 1 and z p := 0 and two new sets of variables z p (binary) and δ p (continuous). If x k ∈ [ P p ∗ − 1 , P p ∗ ] Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 6 / 19
The Lower Bounding problem Q : step 2 Replace the term g ( x k ) with: p =1 g ( P p − 1 + δ p ) − � p − 1 � p p =1 g ( P p ) , and we include the following set of new constraints: P 0 + � p p =1 δ p − x k = 0 ; δ p − ( P p − P p − 1 ) z p ≥ 0 , ∀ p ∈ ˇ H ∪ ˆ H ; δ p − ( P p − P p − 1 ) z p − 1 ≤ 0 , ∀ p ∈ ˇ H ∪ ˆ H ; 0 ≤ δ p ≤ P p − P p − 1 , ∀ p ∈ { 1 , . . . , ¯ p } ; with two dummy variables z 0 := 1 and z p := 0 and two new sets of variables z p (binary) and δ p (continuous). If x k ∈ [ P p ∗ − 1 , P p ∗ ] then z p = 1 for p = 1 , . . . , p ∗ − 1 and Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 6 / 19
The Lower Bounding problem Q : step 2 Replace the term g ( x k ) with: p =1 g ( P p − 1 + δ p ) − � p − 1 � p p =1 g ( P p ) , and we include the following set of new constraints: P 0 + � p p =1 δ p − x k = 0 ; δ p − ( P p − P p − 1 ) z p ≥ 0 , ∀ p ∈ ˇ H ∪ ˆ H ; δ p − ( P p − P p − 1 ) z p − 1 ≤ 0 , ∀ p ∈ ˇ H ∪ ˆ H ; 0 ≤ δ p ≤ P p − P p − 1 , ∀ p ∈ { 1 , . . . , ¯ p } ; with two dummy variables z 0 := 1 and z p := 0 and two new sets of variables z p (binary) and δ p (continuous). If x k ∈ [ P p ∗ − 1 , P p ∗ ] then z p = 1 for p = 1 , . . . , p ∗ − 1 and z p = 0 for p = p ∗ , . . . , ¯ p , Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 6 / 19
The Lower Bounding problem Q : step 2 Replace the term g ( x k ) with: p =1 g ( P p − 1 + δ p ) − � p − 1 � p p =1 g ( P p ) , and we include the following set of new constraints: P 0 + � p p =1 δ p − x k = 0 ; δ p − ( P p − P p − 1 ) z p ≥ 0 , ∀ p ∈ ˇ H ∪ ˆ H ; δ p − ( P p − P p − 1 ) z p − 1 ≤ 0 , ∀ p ∈ ˇ H ∪ ˆ H ; 0 ≤ δ p ≤ P p − P p − 1 , ∀ p ∈ { 1 , . . . , ¯ p } ; with two dummy variables z 0 := 1 and z p := 0 and two new sets of variables z p (binary) and δ p (continuous). If x k ∈ [ P p ∗ − 1 , P p ∗ ] then z p = 1 for p = 1 , . . . , p ∗ − 1 and z p = 0 for p , δ p = P p − P p − 1 for p = 1 , . . . , p ∗ − 1, p = p ∗ , . . . , ¯ Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 6 / 19
The Lower Bounding problem Q : step 2 Replace the term g ( x k ) with: p =1 g ( P p − 1 + δ p ) − � p − 1 � p p =1 g ( P p ) , and we include the following set of new constraints: P 0 + � p p =1 δ p − x k = 0 ; δ p − ( P p − P p − 1 ) z p ≥ 0 , ∀ p ∈ ˇ H ∪ ˆ H ; δ p − ( P p − P p − 1 ) z p − 1 ≤ 0 , ∀ p ∈ ˇ H ∪ ˆ H ; 0 ≤ δ p ≤ P p − P p − 1 , ∀ p ∈ { 1 , . . . , ¯ p } ; with two dummy variables z 0 := 1 and z p := 0 and two new sets of variables z p (binary) and δ p (continuous). If x k ∈ [ P p ∗ − 1 , P p ∗ ] then z p = 1 for p = 1 , . . . , p ∗ − 1 and z p = 0 for p , δ p = P p − P p − 1 for p = 1 , . . . , p ∗ − 1, p = p ∗ , . . . , ¯ 0 ≤ δ p ∗ ≤ P p ∗ − P p ∗ − 1 , and Claudia D’Ambrosio (University of Bologna) Aussois, 7 January, 2010 6 / 19
Recommend
More recommend