Separable Programming
Separable Programming
6. Separable Programming
min f(x)
s.t. gj(x) bj, j = 1, …., m.
Definition 6.1. The NLP is a separable program if its objective function and all constraints
are consisted of separable functions, i.e.,
n n
f(x) = fi ( xi ), and g ji ( xi ) b j , j = 1, …, m;
i 1 i 1
and all xi are non-negative variables bounded above, i.e., 0 xi i for some i, i = 1, …, n.
Fact 6.1. Any (continuous) convex function can be approximated to any degree of accuracy
by a piecewise linear convex function.
From Fact 6.1, when fj and gij are convex functions, they can be approximated to any
degree of accuracy by piecewise linear functions. Eventually, such an NLP of piecewise
convex functions can be represented by a linear program (LP). Thus, effectively a separable
convex program can be approximated by a sequence of LPs to any degree of accuracy.
Note also that when fj and gij are convex, an local minimum is in fact a global minimum.
1
GSLM 52800 Operations Research II Fall 13/14
x12 2x1 and f2(x2) = -x2. f2 is linear. The problem is easy to solve if f1, i.e., x12 is
From the constraints, x1 4.5. Let us approximate the non-linear function y = x12 by
a piecewise linear function. For simplicity, we take a function of three linear pieces, with
break points at 0, 2, 4, and 4.5. The same procedure can be applied to any number of break
points at any values.
points O A B C
x1 0 2 4 4.5
y 0 4 16 20.25
There are two ways, the - and the -forms, to represent the function in piecewise linear
form.
Definition 6.3. (-form) For any point within a linear segment, its functional value is the
convex combination of the values of the two break points of the linear segment. Let i 0
be the weight of break point i, i = O, A, B, and C.
x1 0 O 2 A 4 B 4.5 C , (1)
y 0 O 4 A 16 B 20.25 C ,
(2)
O A B C 1, (3)
at most two adjacent i take non - zero values. (4)
NLP2
min y 2 x1 x2
s.t. x1 + 2x2 5,
2x1 + x2 9,
(1), (2), (3), and (4),
x1, x2, i, i = O, A, B, C 0.
2
GSLM 52800 Operations Research II Fall 13/14
Constraints (4) can be omitted if NLP 1 is a convex program. Check that whenever (4) is
violated by a set of i, the value of the corresponding y is above the three-piece linear
function, and hence the set of i cannot be a minimum point.
In general, if the NLP is a non-convex program, constraints (4) are needed, though they are
implemented implicitly through the separable programming extension of the simplex method.
The pivoting step of the separable programming extension simply ensures that at any time at
most two adjacent i are in the basis. It can be shown that such a restricted basis rule will
lead to the optimum solution.
min f(x), 10
s.t. 1 x 3. f(x) 6
Let x = 0 + 2A + 3B and y = 0 + 10A + 6B; and add in the constraint 0 + A + B = 1.
We take the special attention of (4) that at most two ’s can be positive at any time.
After adding in slack variable s, surplus variable u, and two artificial variables a1 and a2, the
problem becomes
3
GSLM 52800 Operations Research II Fall 13/14
0 A B s u a1 a2 RHS
1 10 6 0 0 M M 0
s 1 2 3 1 0 0 0 3
a1 1 2 3 0 -1 1 0 1
a2 1 1 1 0 0 0 1 1
0 A B s u a1 a2 RHS
12M 103M 64M 0 M 0 0 2M
s 1 2 3 1 0 0 0 3
a1 1 2 3 0 -1 1 0 1
a2 1 1 1 0 0 0 1 1
0 A B s u a1 a2 RHS
52 M 18 M 6 4 M 2 23M
3 3 0 0 2 3 0
s 0 0 0 1 1 1 0 2
B
1
3
2
3 1 0 13 1
3 0 1
3
a2 2
3
1
3 0 0 1
3
13 1 2
3
Supposedly 0 is the most negative. However, since B is in the basis, only A among the
’s is qualified to be in the basis.
0 A B s u a1 a2 RHS
8 M 18 M 10 M 103M 10 M
2 0 2 0 2 2 M 2
s 0 0 0 1 1 1 0 2
A 1
2 1 3
2 0 12 1
2 0 1
2
a2 1
2 0 12 0 1
2
12 1 1
2
4
GSLM 52800 Operations Research II Fall 13/14
0 A B s u a1 a2 RHS
0 8+M 3+2M 0 1M -1+2M 0 1
s 0 0 0 1 1 -1 0 2
0 1 2 3 0 -1 1 0 1
a2 0 -1 -2 0 1 -1 1 0
0 A B s u a1 a2 RHS
0 9 5 0 0 M 0 1
s 0 1 2 1 0 0 -1 2
0 1 1 1 0 0 0 1 1
u 0 -1 -2 0 1 -1 1 0
Definition 6.4. (-form) Instead of taking weighted value of break points, we can add up the
contribution from each linear segment. Let i be the proportion of the ith segment taken, i =
OA, AB, BC.
As for the -form, the -form may also give a local optimum if the original program is
non-convex. When the original program is convex, constraint (8) is not necessary.
Remark 6.1. To get more accurate result, the piecewise linear approximation of fi can be
refined with more linear segments. There are studies on segment refinement to get the best
trade off between accuracy and computational effort.
Remark 6.3. A product term x1x2 can be transformed to separable form. Let s1 = (x1+x2)/2
5