Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Bilinear Programming
Artyom G. Nahapetyan
Center for Applied Optimization
Industrial and Systems Engineering Department
University of Florida
Gainesville, Florida 32611-6595
Email address: artyom@ufl.edu
1
Introduction
A function f (x, y) is called bilinear if it reduces to a linear one by fixing the vector x or y
to a particular value. In general, a bilinear function can be represented as follows:
f (x, y) = aT x + xT Qy + bT y,
where a, x ∈ Rn , b, y ∈ Rm , and Q is a matrix of dimension n × m. It is easy to see that
bilinear functions compose a subclass of quadratic functions. We refer to optimization
problems with bilinear objective and/or constraints as bilinear problems, and they can be
viewed as a subclass of quadratic programming.
Bilinear programming has various applications in constrained bimatrix games, Markovian assignment and complementarity problems. Many 0-1 integer programs can be formulated as bilinear problems. An extensive discussion of different applications can be found
in [3]. Concave piecewise linear and fixed charge network flow problems, which are very
common in the supply chain management, can be also solved using bilinear formulations
(see, e.g., [5] and [6]).
2
Formulation
Despite a variety of different bilinear problems, most of the practical problems involve a
bilinear objective function and linear constraints, and theoretical results are derived for
those cases. In our discussion we consider the following bilinear problem, which we refer
to as BP.
min f (x, y) = aT x + xT Qy + bT y,
x∈X,y∈Y
1
where X and Y are nonempty polyhedra. The BP formulation is also known as a bilinear
problem with a disjoint feasible region because the feasibility of x (y) is independent form
the choice of the vector y (x).
2.1
Equivalence to Other Problems
Below we discuss some theoretical results, which reveal the equivalence between bilinear
problems and some of concave minimization problems.
Let V (x) and V (y) denote the set of vertices of X and Y , respectively, and g(x) =
miny∈Y f (x, y) = aT x + miny∈Y {xT Qy + bT y}. Note that miny∈Y f (x, y) is a linear programm. Because the solution of a linear problem attains on a vertex of the feasible region,
g(x) = miny∈Y f (x, y) = miny∈V (Y ) f (x, y). Using those notations, the BP problem can be
restated as
min f (x, y) = min{min f (x, y)} = min{ min f (x, y)} = min g(x).
x∈X,y∈Y
x∈X
y∈Y
x∈X y∈V (Y )
x∈X
(1)
Observe that the set of vertices of Y is finite, and for each y ∈ Y , f (x, y) is a linear function
of x; therefore, function g(x) is a piecewise linear concave function of x. From the later
it follows that BP is equivalent to a piecewise linear concave minimization problem with
linear constraints.
It also can be shown that any concave minimization problem with a piecewise linear separable objective function can be reduced to a bilinear problem. To establish this
relationship consider the following optimization problem:
X
min
φi (xi ),
(2)
x∈X
i
where X is an arbitrary nonempty set of feasible vectors, and φi (xi ) is a concave piecewise
linear function of only one component xi , i.e.,
1
c xi + s1i (= φ1i (xi ))
xi ∈ [λ0i , λ1i )
2i
2
2
ci xi + si (= φi (xi ))
xi ∈ [λ1i , λ2i )
φi (xi ) =
,
···
···
ni
ci xi + sni i (= φni i (xi )) xi ∈ [λni i −1 , λni i ]
with c1i > c2i > · · · > cni i . Let Ki = {1, 2, . . . , ni }. Because of the concavity of φi (xi ), the
function can be written in the following alternative form
φi (xi ) = min {φki (xi )} = min {cki xi + ski }.
k∈Ki
k∈Ki
Construct the following bilinear problem:
XX
XX
min f (x, y) =
φki (xi )yik =
(cki xi + ski )yik
x∈X,y∈Y
i
i
k∈Ki
P
(3)
(4)
k∈Ki
where Y = [0, 1] i |Ki | . The proof of the following theorem follows directly from equation
(3), and for details we refer to the paper [5].
2
Theorem 1 If (x∗ , y ∗ ) is a solution of the problem (4) then x∗ is a solution of the problem
(2).
Observe that X is not required to be a polytop. If X is a polytop then the structure of
the problem (4) is similar to BP.
Furthermore, it can be shown that any quadratic concave minimization problem can be
reduced to a bilinear problem. Specifically, consider the following optimization problem:
min φ(x) = 2aT x + xT Qx,
x∈X
(5)
where Q is a symmetric negative semi-definite matrix. Construct the following bilinear
problem
min f (x, y) = aT x + aT y + xT Qy,
(6)
x∈X,y∈Y
where Y = X.
Theorem 2 (see [2]) If x∗ is a solution of the problem (5) then (x∗ , x∗ ) is a solution of
the problem (6). If (x̂, ŷ) is a solution of the problem (6) then x̂ and ŷ solve the problem
(5).
2.2
Properties of a Solution
In the previous section we have shown that BP is equivalent to a piecewise linear concave
minimization problem. On the other hand it is well known that a concave minimization
problem over a polytop attains its solution on a vertex (see, for instance, [1]). The following
theorem follows from this observation.
Theorem 3 (see [2] and [1]) If X and Y are bounded then there is an optimal solution of
BP, (x∗ , y ∗ ), such that x∗ ∈ V (X) and y ∗ ∈ V (Y ).
Let (x∗ , y ∗ ) denote a solution of BP. By fixing the vector x to the value of the vector
x∗ , the BP problem reduces to a linear one, and y ∗ should be a solution of the resulting
problem. From the symmetry of the problem, a similar result holds by fixing the vector y
to the value of the vector y ∗ . The following theorem is a necessary optimality condition,
and it is a direct consequence of the above discussion.
Theorem 4 (see [2] and [1]) If (x∗ , y ∗ ) is a solution of the BP problem, then
minx∈X f (x, y ∗ ) = f (x∗ , y ∗ ) = miny∈Y f (x∗ , y)
(7)
However, (7) is not a sufficient condition. In fact it can only guarantee a local optimality
of (x∗ , y ∗ ) under some additional requirements. In particular, y ∗ has to be the unique
solution of miny∈Y f (x∗ , y) problem. From the later it follows that f (x∗ , y ∗ ) < f (x∗ , y),
∀y ∈ V (Y ), y 6= y ∗ . Because of the continuity of the function f (x, y), for any
T y ∈ V (y), y 6=
y ∗ , f (x∗ , y ∗ ) < f (x, y) in a small neighborhood Uy of the point x∗ . Let U = y∈V (Y ),y6=y∗ Uy .
3
Then f (x∗ , y ∗ ) < f (x, y), ∀x ∈ U , y ∈ V (Y ), y 6= y ∗ . At last observe that Y is a polytop,
and any point of the set can be expressed through a convex combination of its vertices.
From the later it follows that f (x∗ , y ∗ ) ≤ f (x, y), ∀x ∈ U , y ∈ Y , which completes the
proof of the following theorem.
Theorem 5 If (x∗ , y ∗ ) satisfies the condition (7) and y ∗ is the unique solution of the
problem miny∈Y f (x∗ , y) then (x∗ , y ∗ ) is a local optimum of BP.
Recall that BP is equivalent to a piecewise concave minimization problem. Under the
assumptions of the theorem, it is easy to show that x∗ is a local minimum of the function
g(x) as well (see [2]).
3
Methods
In this section we discuss methods to find a solution of a bilinear problem. Because BP is
equivalent to a piecewise linear concave minimization problem, any solution algorithm for
the later can be used to solve the former. In particular, one can employ a cutting plain
algorithms developed for those problems. However, the symmetric structure of the BP
problem allows constructing more efficient cuts. In the paper [4], the author discusses an
algorithm, which converges to a solution that satisfies condition (7), and then proposes a
cutting plain algorithm to find the global minimum of the problem.
Assume that X and Y are bounded. Algorithm 1, which is also known as the “mountain
climbing” procedure, starts from an initial feasible vector y 0 and iteratively solves two linear
problems. The first LP is obtained by fixing the vector y to the value of the vector y m−1 .
The solution of the problem is used to fix the value of the vector x and construct the
second LP. If f (xm , y m−1 ) 6= f (xm , y m ), then we continue solving the linear problems by
fixing the vector y to the value of y m . If the stopping criteria is satisfied, then it is easy to
show that the vector (xm , y m ) satisfies the condition (7). In addition, observe that V (X)
and V (Y ) are finite. From the later and the fact that f (xm , y m−1 ) ≥ f (xm , y m ) it follows
that the algorithm converges in a finite number of iterations.
Let (x∗ , y ∗ ) denote the solution obtained by the Algorithm 1. Assuming that the vertex
∗
x is not degenerate, denote by D the set of directions dj along the ages emanating from the
point x∗ . Recall that g(x) = miny∈Y f (x, y) is a concave function. To construct a valid cut,
for each direction dj find the maximum value of θj such that g(x∗ + θj dj ) ≥ f (x∗ , y ∗ ) − ε,
i.e.,
θj = argmax{θj |g(x∗ + θj dj ) ≥ f (x∗ , y ∗ ) − ε},
Algorithm 1 : Mountain Climbing Procedure
Step 1: Let y 0 ∈ Y denote an initial feasible solution, and m ← 1.
Step 2: Let xm = argminx∈X {f (x, y m−1 )}, and y m = argminy∈Y {f (xm , y)}.
Step 3: If f (xm , y m−1 ) = f (xm , y m ) then stop. Otherwise, m ← m + 1 and go to Step
2.
4
Algorithm 2 : Cutting Plane Algorithm
Step 1: Apply Algorithm 1 to find a vector (x∗ , y ∗ ) that satisfies the relationship (7).
Step 2: Based on the solution (x∗ , y ∗ ), compute the appropriate cuts and construct the
sets X1 and Y1 .
Step 3: If X1 = ∅ or Y1 = ∅, then stop; (x∗ , y ∗ ) is a global ε-optimal solution. Otherwise,
X ← X1 , Y ← Y1 , and go to Step 1.
where ε is a small positive number. Let C = (d1 , . . . , dn ),
( µ
)
¶T
1
1
∆1x = x|
,...,
C −1 (x − x∗ ) ≥ 1 ,
θ1
θn
and X1 = X
T
∆1x . If X1 = ∅ then
min f (x, y) ≥ f (x∗ , y ∗ ) − ε,
x∈X,y∈Y
and (x∗ , y ∗ ) is a global ε-optimum of the problem. If X1 6= ∅ then one can replace X by
the set X1 , i.e, consider the optimization problem
min
x∈X1 ,y∈Y
f (x, y),
and run Algorithm 1 to find a better solution. However, because of the symmetric structure
of the problem, a similar procedure can be applied to Tconstruct a cut for the set Y . Let
∆1y denote the corresponding half-space, and Y1 = Y ∆1y . By updating both sets, i.e.,
considering the optimization problem
min
x∈X1 ,y∈Y1
f (x, y),
the cutting plane algorithm (see Algorithm 2) might find a global solution of the problem
using less number of iterations.
References
[1] Horst R, Pardalos P, Thoai N. Introduction to global optimization, 2-nd Edition,
Boston: Springer, 2000.
[2] Horst R, Tuy H. Global Optimization, 3-rd Edition, New York: Springer, 1996.
[3] Konno H. A Bilinear Programming: Part II. Applications of Bilinear Programming.
Technical Report 71-10, Operations Research House, Stanford University, Stanford,
CA.
5
[4] Konno H. A Cutting Plane Algorithm for Solving Bilinear Programs. Mathematical
Programming 1976;11:14-27.
[5] Nahapetyan A, Pardalos P. A Bilinear Relaxation Based Algorithm for Concave Piecewise Linear Network Flow Problems. Journal of Industrial and Management Optimization 3(1), pp. 71-85, 2007.
[6] Nahapetyan A, Pardalos P. Adaptive Dynamic Cost Updating Procedure for Solving
Fixed Charge Network Flow Problems. Computational Optimization and Applications, submitted for publication.
6