Dấu hiệu tối ưu
Theo trên, khi một bài toán quy hoạch tuyến tính có phương án tối ưu thì tồn tại một cơ sở khả thi (tối ưu) B* , tức là phương án cơ sở x* tương ứng với B* là phương án tối ưu.
Vấn đề bây giờ là xác định một thủ tục để tìm B*. Chúng ta sẽ thấy rằng thủ tục đó được suy ra một cách trực tiếp từ việc chứng minh dấu hiệu tối ưu sau đây.
Ðịnh lý 4 (dấu hiệu tối ưu)
Xét bài toán quy hoạch tuyến tính chính tắc
Điều kiện cần và đủ để một phương án cơ sở khả thi x có dạng :
của bài toán là phương án tối ưu là :
đối với bài toán max
đối với bài toán min
Với :
A = [ B | N ]
cT= [ cB | cN ]
Người ta thường gọi :
cN là chi phí ngoài cơ sở
cB là chi phí cơ sở
là chi phí trượt giảm
là lượng gia giảm chi phí
Chứng minh (cho bài toán max)
Ðiều kiện đủ
Giả sử x* là một phương án cơ sở khả thi với ma trận cơ sở B và thoả
thì cần chứng minh x* là phương án tối ưu, nghĩa là chứng minh rằng với mọi phương án bất kỳ của bài toán ta luôn có :
z(x) z(x*)
Xét một phương án khả thi x bất kỳ , x thoả :
B là ma trận cơ sở của phương án cơ sở khả thi x*
B có ma trận nghịch đảo là B-1
Tính giá trị hàm mục tiêu đối với phương án x ta được :
z(x)= cTx
=
=
=
=
(1)
Vì x* là phương án cơ sở khả thi tương ứng với ma trận cơ sở B nên
Tính giá trị hàm mục tiêu đối vơi phương án cơ bản x* ta được :
z(x*)= cTx*
=
=
( vì
)(2)
Từ (1) và (2) ta có :
z(x) z(x*)vì
Vậy x* là phương án tối ưu.
Ðiều kiện cần
Giả sử
là phương án tối ưu với ma trận cơ sở B, cần chứng minh rằng :
.
(
là vectơ có n-m thành phần)
Ta sẽ chứng minh điều này bằng phản chứng.
Giả sử rằng tồn tại một thành phần cs của
mà cs>0. Dựa vào cs người ta xây dựng một vectơ x như sau :
Trong đó >0 và Is là một vectơ có (n-m) thành phần bằng 0, trừ thành phần thứ s bằng 1 . Vậy
(*)
Do B-1b 0 nên người ta có thể chọn >0 đủ nhỏ để xB>0
Vậy x được chọn như trên sẽ thoả :
x 0(3)
Ta kiểm chứng x thỏa ràng buộc của bài toán bằng cách tính :
Ax=
=
=
=
=
= b(4)
Từ (3) và (4) cho thấy x là một phương án khả thi của bài toán
Bây giờ ta chỉ ra mâu thuẩn bằng so sánh giá trị hàm mục tiêu tại x và x* . Ta có :
z(x)= cTx
=
=
=
=
=
=
=
=
= z(x*) +
>z(x*) ( vì
)
Vậy x* không phải là phương án tối ưu nên mâu thuẩn với giả thiết .
Chú ý
Qua việc chứng minh định lý dấu hiệu tối ưu ta thấy rằng từ một phương án cơ sở khả thi chưa tối ưu có thể tìm được các phương án khả thi càng lúc càng tốt hơn nhờ lặp lại nhiều lần công thức (*). Vấn đề được đặt là đại lượng được chọn như thế nào để nhanh chóng nhận được phương án tối ưu.