Find convex envelope from the non-convex function to prove globally optimal using branch-and-bound

370 Views Asked by At

Based on this reference branch-and-bound methods can obtain globally optimal solutions to nonlinear programming problems in which a non-convex function is to be minimized. I have a non-convex function as follows:

$$\min_{\mathbf{x}} F(\mathbf{x}) = \min_{\mathbf{x}} \sum_{i=1}^I \bigg( x_i + (1 - x_i) \Big[\big(\prod_{j=1}^J1-x_j\big)c\Big]\bigg),$$

where $c$ is constant and $\mathbf{x}$ is a vector of binary variables. I want to prove that this function can achieve the global optimal solution using branch-and-bound. To realize that, I need to find the convex envelope of the function $F^c(\mathbf{x})$. If I can find that

$F^c(\mathbf{x^*}) = F(\mathbf{x^*})$,

where $\mathbf{x}^*$ is the optimal solution, thus the function can achieve the globally optimal solution. However, I do not understand how to get the convex envelope of my function. Is there any way to prove that the convex envelope of my function has the same result as my non-convex function above when branch-and-bound algorithm is applied?

1

There are 1 best solutions below

9
On BEST ANSWER

As a follow up to the comments where I argue that a simple way to solve the problem is to write it as a MILP instead.

Introduce a new binary decision variable $q$ representing $\prod_{j=1}^J(1-x_j)$. This can be accomplished with the constraints $q\leq 1-x_j, q\geq \sum_{j=1}^J(1-x_j)-J+1$.

Introduce yet another set of binary variables $s_i$ representing $(1-x_i)q$. This can be modelled with the constraints $s_i \leq q, s_i \leq 1-x_i, s_i \geq q + (1-x_i)-1$.

Your objective is now $\sum_{i=1}^I x_i + cs_i$, which should be minimized subject to the linear constraints above.