Modelling Nonconvex Sets
Discrete Variables
A discrete variable has a domain of the form:
If \(a_1, a_2, \ldots, a_K\) are contiguous integers, we can model as:
Otherwise:
Semicontinuous Variables
A Semicontinuous variable has a domain of the form:
where \(\ell_1 \leq u_1 \leq \ell_2 \leq u_2 \leq \ldots \leq \ell_k \leq u_K\). One modelling approach for this system is:
Union of Polytopes
Suppose we require that \(\mathbf{x}\) satisfies one of the following \(K\) systems of inequalities: \(\mathbf{A}_k \mathbf{x} \leq \mathbf{b}_k\) for \(k = 1, \ldots, K\). Suppose that each system defines a polytope, i.e., a bounded polyhedron. The system can be formulated as:
Examples
Example 1
Consider the union of the following two sets:
This set is illustrated in Figure 1.
The problem is in 2D and we have two possibe sets. The first set describes the polytope on the left and the second set describes the polytope on the right. Define:
where \(u^j\) indicates whether \(x\) is in the \(j\)'th set. The constraints in the first set can be written as:
Similarly, the constraints in the second set can be written as:
with:
Bounds
Note that:
- We've been making use of the bounds on the variables to develop these formulations.
- In general, it is not possible to develop correct mixed integer linear formulations without bounds on variables.
- If there are no bounds, we will impose large artificial numbers (big-M) as variable bounds.
Example 2
Consider a nonconvex set:
where \(k\) is an integer between \(0\) and \(n\). Here, \(||\mathbf{x}||_0\) is the number of nonzero components of \(\mathbf{x}\). This set is not bounded. We will impose bounds, \(-M \leq x_j \leq M\) for all \(j = 1, \ldots, n\) where \(M\) is an arbitrary large number. Then, a mixed integer linear formulation is: