• No results found

Facial Disjunctive Program Formulation

4.2.1 Formulation and sequential convexification

A disjunctive set is a set of points satisfying inequalities connected by ∧ (conjunc- tions) and ∨ (disjunctions). A disjunctive programming is an optimization problem with linear objective whose feasible set is a disjunctive set. Any disjunctive set has an equivalent conjunctive normal form nx ∈ Rn :Vq

h=1  W j∈Jh(d jx ≥ dj 0)o. For a

given polyhedron F0, a disjunction Wj∈J(djx ≥ d j

0)is called facial with respect to F0

if F0 ∩ {x ∈ Rn : djx ≥ dj0} is a face of F0, for all j ∈ J. A disjunctive program

is called facial if all the disjunctions of the conjunctive normal form of the feasible set are facial with respect to F0. Balas [3, 4] showed that the convex hull of the set

F = nx ∈ F0 : Vq h=1  W j∈Jh(d jx ≥ dj

disjunctions in the conjunctive normal form on F0 if F is facial. That is, if we define S0 = F0 and Sh :=conv Sh−1∩ ( x : _ j∈Jh (djx ≥ dj0) )! .

Then Sq=conv(F ). We refer to [4] for more details about disjunctive programs.

We next reformulate (4.1) as the following optimization problem

maximize c|x subject to Ax ≤ b (4.3) 0 ≤ x ≤ 1 Y j∈J xj = 0, ∀J ∈ JK+1,

where Ji := {A ⊆ {1, . . . , n} : |A| = i}for i = 1, . . . , n.

Problem (4.3) is a facial disjunctive program because the constraint Qj∈Jxj = 0

can be written as Wj∈J(xj = 0) and it is a facial constraint because the constraints

x ≥ 0 are valid for F0 = {x ∈ Rn : Ax ≤ b, 0 ≤ x ≤ 1}. In the next proposition, we

prove the equivalence of the two formulations. Proposition 4.2.1 (4.1) and (4.3) are equivalent.

Proof Suppose that card(x) ≤ K. Then, for any choice of a set of K +1 components of x, there exists at least one zero component. This proves that Qj∈Jxj = 0 for all

J ∈ JK+1. Conversely, suppose that x satisfies Qj∈Jxj = 0 for all J ∈ JK+1 and

that card(x) > K. By choosing an index set J ∈ JK+1 in the support of x, we have

Q

j∈Jxj 6= 0 which yields the desired contradiction.

4.2.2 Finitely convergent cutting plane algorithm

In this section, we propose a finitely convergent cutting plane algorithm to solve (4.1). Recall that F0 = {x ∈ Rn : Ax ≤ b, 0 ≤ x ≤ 1}, F = F0∩  T J ∈JK+1{x : Q j∈Jxj = 0}  .

For each J ∈ JK+1, define FJ := {x ∈ F0 :

Q

j∈Jxj = 0}. Since Fj is a union

of polyhedra, its convex hull can be obtained in a higher dimensional space using disjunctive programming [3, 5]. Let ¯A = [A| − I I]| and ¯b = [b 0 1]. For a given

polyhedron B = {x : ¯Ax ≤ ¯b}, define

PJ∗(B) = {(α, β) : α = u|jA + u¯ j0ej, β = u0j¯b, uj ≥ 0, ∀j ∈ J}

PJ(B) = {x : α|x ≤ β, ∀(α, β) ∈ PJ∗(B)}.

Suppose t ∈ conv(B \ Sj∈J{x : xj = 0}). Consider the following linear program:

maximize t|α − β

subject to (α, β) ∈ PJ∗(B) ∩ S (4.4)

where S is a normalization set. An optimal solution to (4.4) defines a face of conv(B∩ S

j∈J{x : xj = 0}) and the corresponding inequality cuts off t. We denote the vertex

set of a polyhedron P by vert(P ).

A general cutting plane procedure to solve (4.1) is given below:

1: G = {x ∈ Rn: Ax ≤ b, 0 ≤ x ≤ 1} and t ∈ Arg max{c|x : x ∈ G} ∩vert(G)

2: while card(t) > K do

3: Let J ∈ JK+1 be such that Qj∈Jtj 6= 0.

4: Let (α, β) be an extreme point optimal solution to (4.4) with respect to t and

PJ(G).

5: G ← G ∩ {x : α|x ≤ β}.

6: t ∈Arg max{c|x : x ∈ G}.

7: end while

Algorithm 2: General cutting plane algorithm

The procedure of Algorithm 2 does not converge in finite time in general. Jeroslow [40] developed a cutting plane algorithm for facial disjunctive programs that termi- nates in finite time. One of the important insights of the procedure is that, one does

not use G in the cut-generating LP, but a superset, and the facial structure of the disjunction enables generate valid inequalities that cut off t and result in an algo- rithm that only performs a finitely number of iterations. Following the same idea as Jeroslow, we propose the following cutting plane algorithm. For use in this new algorithm, we use notations analogous to those of Balas [6]. We first label those q := |JK+1|index sets in JK+1 in a certain order ≤L:

J1 ≤LJ2 ≤L. . . ≤LJq.

One may choose the lexicographical order, for instance. In each iteration of proce- dure, the current polyhedron G is defined by F0 intersected with a set of half spaces

corresponding to the cuts introduced so far. For j = 1, . . . , q, a cut that appears in the definition of G is called k-cut if it was generated as a cut using the kth disjunction, W

j∈Jk(xj = 0). Let Gk be F0 intersected by half spaces corresponding to i-cuts for

i = 1, . . . , k. We define G0 = F0. Then, the following algorithm returns an optimal

solution to (4.1) in a finite number of iterations.

1: G = {x ∈ Rn: Ax ≤ b, 0 ≤ x ≤ 1} and t ∈ Arg max{c|x : x ∈ G} ∩vert(G)

2: while card(t) > K do

3: Let Jk ∈Arg max{J ∈ JK+1:Q

j∈Jtj 6= 0} under the order ≤L.

4: Let (α, β) be an extreme point optimal solution to (4.4) with respect to t and

PJk(Gk−1).

5: G ← G ∩ {x : α|x ≤ β}.

6: t ∈Arg max{c|x : x ∈ G}.

7: end while

Algorithm 3: Finitely convergent cutting plane algorithm

Theorem 4.2.1 Algorithm 3 finds an optimal solution to (4.1) in a finite number of iterations.

Proof We first prove that t is a vertex of Gk in the beginning of each iteration. If

k = q then Gk = G, and hence t is a vertex of Gk. If we assume k < q, then t does

not violate the qth constraint and hence Qj∈Jqtj = 0. Therefore, we have

t ∈ Gq−1∩    x : Y j∈Jq xj = 0    ⊆ conv  Gq−1∩    x : Y j∈Jq xj = 0     ⊆ Gq.

The last inclusion holds because any q-cut is valid for conv(Gq−1∩ {x :

Q

j∈Jqxj = 0})

by its construction. This shows that t is a vertex of Gq−1∩{x : Qj∈Jqxj = 0}. Because

of the facial structure, it is also a vertex of Gq−1. Consequently, by induction, we

obtain, t is a vertex of Gk. Next, we show that t /∈ PJk(Gk−1) to conclude that

the cutting plane cuts of t. Suppose t ∈ PJk(Gk−1). Since PJk(Gk−1) ⊆ Gk and

t ∈vert(Gk), t ∈ vert(PJk(Gk−1)). This implies that t satisfies kth disjunction and it

produces the desired contradiction. It remains to show that only a finite number of iterations is needed to obtain an optimal solution. To show this, we only need to prove that there are only finitely many k-cuts for k = 1, . . . , q. To use induction, consider first k = 1. Since a 1-cut is generated by solving a linear program constructed from the disjunction Wj∈J1(xj = 0) together with G0 = F0, all the possible 1-cuts correspond

to the vertices of P∗

J1(B) ∩ S. Since this feasible set is independent of iteration steps,

there exist only finitely many 1-cuts. Now assume that the number of i-cuts is finite for i = 1, . . . , k − 1. A k-cut is obtained by the disjunction Wj∈Jk(xj = 0) together

with Gk−1. Since the number of i-cuts are finite for i = 1, . . . , k − 1 after a sufficient

number of iterations, Gk−1 will no longer be updated and a k-cuts will be obtained

as a vertex of PJk(Gk−1). Thus, there are only finitely many k-cuts. This shows that

the algorithm is finitely convergent.

4.3 Generalized Reformulation-Linearization Technique

Related documents