Nói chung là hướng giải quyết sẽ làm hạn chế dần (thu nhỏ)Dkkhikcàng tăng. Nhờ đó, mà tậpDkdần về tậpD. Khi đó ta sẽ tìm được nghiệm xấp xỉx∗k ∈ Dkmà thỏa mãn các bất đẳng thứcgi(x) ≤0,i =1,m. Từ hướng giải quyết đó ta đi phân tích tiến trình thuật toán dựa trên sơ đồ khối được trình bày sau đây.
Sơ đồ khối của thuật toán
Chọn p điểm ban đầu:x1... xp. p:=1,2,... xp+k∈Dkđạt: min {cTx: x∈Dk} Dừng Đ k:=k+1 Tính: hk,i= gi(xk)(x-xk)+gi(xk) Với:k=1,…,p,i=1,…,m D1={x∈Rn: hk,i≤0}. Đặt: k=1 xp+k∈D Ik={i: gi(xp+k)>0} S Dk+1=Dk ∩ {x∈Rn: gi(xk+p)(x-xk+p)+gi(xk+p)≤ 0}
Hình 2.1: Sơ đồ khối phương pháp siêu phẳng cắt Kelley.
Tiến trình của thuật toán
Bước 1. (Xây dựng đa diện lồi ban đầu D1 ∈ D). Chọn tùy ý p điểmx1,x2, ...,xp với p ≥1và dựng tại mỗi điểmxkđã chọn(k=1, 2, ..,p)các siêu phẳng sao cho mỗi siêu phẳng tiếp xúc với một mặty= gi(x)vớii =1, 2, ...,mtức là ta đi lập các hàm tuyến tính (afin)
Do hàmgi(x)lồi nên
hjk(x) =gi(x(k)) +∇gi(x(k))x−x(k)+gi(x(k)) ≤gi(x), (2.1) ∀x ∈Rn,k =1,p;i=1,m.
ĐặtD1 =
x∈ Rn : hik ≤0,k =1,p;i=1,m .Với mỗi x ∈ Dthì fi(x) ≤ 0
với∀i, suy rahik ≤0nên D1⊇ D.
Bước 2. (Bước lặp k=1,2,...)
(a) Ở bước lặpk, tìm điểmxk+p ∈ Dknghiệm tối ưu của bài toán quy hoạch tuyến tính
cTxk+p =minncTx: x∈ Dko.
(b) Nếuxk+p ∈ Dthìxp+klà nghiệm tối ưu của bài toánCTDvà dừng thuật toán vìD ⊂Dk và
cTxk+p =minncTx: x∈ Dko≤minncTx: x∈ Do ≤minnDc,x(p+k)Eo.
(c) Nếu x(p+k) ∈/ D thìx(p+k) vi phạm ít nhất một ràng buộc gi(x) ≤ 0nào đó. Ký hiệu
Ik =ni∈ {1, 2, ...,m} : gi(x(p+k))>0o.
Đặt
Dk+1= Dk∩nx ∈ Rn : ∇gi(x(p+k))(x−x(k)) +gi(x(p+k)) ≤0,i ∈ Iko.
(2.6)
(d) Đặtk ←k+1, quay lại bước k.
1. Xét bài toán quy hoạch lồi
min{f(x) : gi(x)≤0,i =1, 2, ...,m}, (CP) với các hàm f, gi lồi có thể đưa về bài toán với hàm mục tiêu tuyến tính nhờ thêm vào bài toán một biến mớixn+1và một ràng buộc mới f(x)≤ xn+1. Xét bài toán mới
min
xn+1 : gi(x)≤0,i=1,m,gm+1(x) ≤ , (CP1) vớigm+1(x) = f(x)−xn+1. Rõ ràng, hai bài toán(CP)và(CP1)tương đương với nhau theo nghĩawlà nghiệm tối ưu của(CP)khi và chỉ khi(w, f(w))là nghiệm tối ưu của(CP1).
2. Cũng có thể xây dựng đa diện ban đầu D1 ⊃ D theo một cách khác. Tìm p =n+1sốα1,α2, ...,αn vàβ(bằng trực quan hay bằng một cách nào đó) sao cho
αj ≤minxj : x∈ D ,j =1,n, β ≥max{x1+x2+...+xn : x∈ D}.
Chẳng hạn, đặtαj = −Mvới mọi jvàβ= n.Mvới M>0đủ lớn. Xây dựng đa diện
D1 =x ∈ Rn : x1+x2+...+xn ≤β,xj ≥αj,j=1,n .
Dễ thấy rằng D1 là một đơn hìnhn− chiều chứaD vàD1 cón+1đỉnh là xn+1 = (α1,α2, ...,αn), đỉnhxjnhận từxn+1bằng cách thayαjbởiβ, j=1,n.
3. Thay vào(2.6)ta có thể đặt
Dk+1= Dk∩nx ∈ Rn : ∇gi∗(xp+k)(x−xp+k) +gi∗(xp+k) ≤0o, trong đó gi∗(xp+k) = max
gi(xp+k) : 1≤i≤m , nghĩa là đưa vào Dk bất đẳng thức tương ứng ràng buộc bị vi phạm nhiều nhất.
4. Bài toánCPk+1nhận đượcCPkbằng cách thêm vào một hay một số ràng buộc bất đẳng thức tuyến tính, vì thế để giảiCPk+1ta có thể dùng thuật toán đơn hình đối ngẫu, xuất phát từ nghiệm tối ưu đã cóxp+k củaCPk. Tuy vậy, tổng số ràng buộc thêm vào tăng dần là điểm hạn chế chủ yếu của phương pháp này.
5. Các bất đẳng thức thêm vàoDk sẽ cắt bỏ một phần củaDk chứa điểmxp+k, bởi vì
∇gi(xp+k)(xp+k−xp+k) +gi(xp+k) = gi(xp+k) >0,∀i∈ Ik. Vì thế, các siêu phẳng
Hki(x) =nx ∈ Rn : gi(xp+k)(x−xp+k) +gi(xp+k) =0o,i ∈ Ik,
được gọi là các siêu phẳng cắt và tách đa diện lồiDk+1với điểmxp+k ∈/ Dk+1. Tên gọi phương pháp siêu phẳng cắt bắt nguồn từ đó.
6. Ở mọi bước k, ta luôn có ∇gi(xp+k) 6= 0, với mọi i ∈ Ik, bởi vì nếu có một i ∈ Ik sao cho∇gi(xp+k) =0thì dogilà hàm lồi nên vớiiđó ta có
gi(x)≥ gi(xp+k) +∇gi(xp+k)(xp+k−xp+k) = gi(xp+k)>0,∀x∈ Rn,
và điều này cho thấy miền chấp nhận đượcDcủa bài toán(LCP)bằng rỗng.
Chú ý. Nếu g1,g2, ...,gm là các hàm lồi khả vi trên Rn và miền chấp nhận được D của bài toán (LCP) là tập lồi compac khác rỗng thì dãy
xk nhận được trong thuật toán trên có một dãy connxkqohội tụ tới nghiệm tối ưu của bài toán, theo nghĩa
lim