Trong khi nghiên cứu các bài toán kinh tế, người ta phát hiện ra rằng mỗi một bài toán quy hoạch tuyến tính đều có một bài toán khác cũng sử dụng những thông số của bài toán này nhưng lại có mục tiêu đối nghịch hoàn toàn. Chẳng hạn bài toán tính giá thành sản phẩm, đánh giá giá trị xã hội của sản phẩm là bài toán đối nghịch với bài toán tính toán chi phí sản xuất: Khi sản xuất sản phẩm người ta cố gắng làm sao để chi phí đạt tối thiểu (hàm mục tiêu tiến đến min) nhưng khi tính toán giá thành sản phẩm người ta lại muốn làm sao có thể đạt được giá trị bán ra hay giá trị xã hội của sản phẩm là lớn nhất.
Việc xây dựng bài toán đối ngẫu không những có ý nghĩa kinh tế to lớn mà còn đưa ra những phương pháp, những cách tiếp cận mới để giải bài toán quy hoạch tuyến tính. Và đôi khi nhờ áp dụng các tính chất của bài toán đối ngẫu, việc giải bài toán quy hoạch tuyến tính trở nên rất đơn giản.
§1. Xây dựng bài toán đối ngẫu của bài toán chính tắc
Xét bài toán quy hoạch tuyến tính dạng chính tắc sau: I. f(x) = (c, x) = ∑cjxj min
∑aij xj = bi (j = 1 .. n; i = 1 .. m) xj ≥ 0
Bây giờ với các thông số {c, aij , b} của bài toán này chúng ta xây dựng một bài toán thứ 2 có dạng sau:
Ī φ(y) = (b, y) = ∑ bi yi max ∑ aij yi ≤ cj (i = 1 .. m ; j = 1.. n)
Bài toán (I) ở trên được gọi là bài toán gốc, còn bài toán (Ī) được gọi là bài toán đối ngẫu của bài toán (I). Từ định nghĩa này chúng ta có một số nhận xét sau:
Hai bài toán là tương quan 1-1. Nghĩa là từ bài toán này có thể thành lập bài toán kia và ngược lại. Như vậy việc gọi tên bài toán gốc và bài toán đối ngẫu chỉ mang tính hình thức.
Nếu không xét các ràng buộc về dấu thì tương ứng với một ràng buộc của bài toán này sẽ là một biến số của bài toán kia và ngược lại.Hay nói cách khác, số ràng buộc của bài toán này bằng số biến của bài toán kia. Bài toán I có m ràng buộc thì bài toán Ī có m biến y € Rm, trong khi đó bài toán Ī có n ràng buộc còn bài toán I lại có m biến, vector biến x € Rn
.
Khi hàm mục tiêu trong bài toán gốc tiến đến min thì hàm mục tiêu trong bài toán đối ngẫu tiến đến max và các ràng buộc trong bài toán đối ngẫu có dấu ≤. Ngược lại khi hàm mục tiêu trong bài toán gốc tiến đến max thì hàm mục tiêu của bài toán đối ngẫu tiến đến min và các ràng buộc có dấu ≥. Vector hệ số (c) của bài toán này là vector vế phải (b) trong hệ ràng buộc của bài toán kia và ngược
lại.
Ma trận hệ ràng buộc của bài toán này là ma trận chuyển vị của ma trận hệ ràng buộc của bài toán kia.
Biểu diễn bài toán đối ngẫu dưới dạng ma trận và vector Ma trận:
f(x) = (c,x) min Ax = b
x ≥ 0
φ(y) = (b,y) max yA ≤ c
Vector:
f(x) = (c,x) min ∑xjAj = b
x ≥ 0
φ(y) = (b,y) max (Aj , y) ≤ cj
§2. Xây dựng bài toán đối ngẫu của bài toán tổng quát
Chúng ta biết rằng với bài toán quy hoạch tuyến tính tổng quát, chúng ta có thể dùng các biến phụ để đưa về bài toán chính tắc. Và tương quan giữa bài toán chính tắc với bài toán tổng quát có dạng 1 – 1, do đó có thể gọi bài toán đối ngẫu của bài toán chính tắc là bài toán đối ngẫu của bài toán tổng quát. Xét bài toán quy hoạch tuyến tính sau:
II f(x) = ∑cjxj min ∑aij xj ≥ bi
xj ≥ 0
Đưa bài toán này về dạng chính tắc bằng cách cộng thêm n biến phụ II’ f(x) = ∑cjxj min
∑aij xj – xn+i = bi
xj ≥ 0 ; xn+i ≥ 0
Bây giờ xây dựng bài toán đối ngẫu của nó. Lưu ý là bài toán II’ có thêm m hệ số cn+1 … cn+m và các hệ số này bằng 0. Ngoài ra ma trận hệ ràng buộc cũng có thêm m vector cột là các vector đơn vị (với dấu trừ). Do đó hệ ràng buộc của bài toán đối ngẫu sẽ gồm n + m bất phương trình, trong đó m bất phương trình sau chỉ có 1 biến số y tham gia
ĪĪ φ (y) = ∑biyi max ∑aij yi ≤ cj
- yi ≤ cn+i = 0 (i=1 ..m) hoặc đổi dấu yi ≥ 0. (i =1 .. n)
Như vậy chúng ta có nhận xét là với bài toán quy hoạch tuyến tính tổng quát khi chuyển qua bài toán đối ngẫu thì có thêm m ràng buộc về dấu đối với các biến số trong bài toán đối ngẫu.
Chúng ta gọi cặp ràng buộc gồm các bất đằng thức ở bài toán này (kể cả ràng buộc về dấu) với ràng buộc bất đẳng thức có cùng chỉ số ở bài toán kia là một cặp ràng buộc đối ngẫu ký hiệu như sau:
xj ≥ 0 ↔ ∑aij yi ≤ cj (j = 1 .. n) ∑aịj xj ≥ bi ↔ yi ≥ 0 (i = 1 .. m)
Đối với bài toán chính tắc thì chỉ có n cặp ràng buộc đối ngẫu tương ứng với n ràng buộc về dấu của bài toán gốc. Còn đối với bài toán quy hoạch tuyến tính tổng quát (II) chúng ta có m+n cặp ràng buộc đối ngẫu.
Mệnh đề: Nếu xem bài toán đối ngẫu là bài toán gốc thì bài toán gốc lại chính là bài toán đối ngẫu. Chúng lập thành một cặp bài toán đối ngẫu và không phân biệt thứ tự.
§.3 Lược đồ tổng quát cho cặp bài toán đối ngẫu
Nhận xét là bài toán II vẫn chưa phải dạng tổng quát nhất của bài toán quy hoạch tuyến tính vì chúng ta có giả thiết là các xj có dàng buộc về dấu. Lược đồ tổng quát sau đây sẽ mô tả cặp bài toán đối ngẫu cho tất cả các trường hợp kể cả bài toán chính tắc:
Bài toán gốc bài toán đối ngẫu
f(x) = Σ cj xj min (j= 1..n) ∑aij xj = bi với i € I1
∑aij xj ≥ bi với i € I2
xj – KHÔNG ràng buộc dấu ( j € J1) xj ≥ 0 (j € J2 )
φ (y) = ∑ bi yi max (i= 1..m) yi – KHÔNG ràng buộc dấu ( i € I1) yi ≥ 0 (i € I2 )
∑aij yi = cj với j € J1
∑aij yi ≤ cj với j € J2
Mệnh đề 1: Một ràng buộc trong bài toán này có dấu bằng khi và chỉ khi biến số tương ứng ở bài toán kia KHÔNG ràng buộc về dấu.
Mệnh đề 2: Một ràng buộc trong bài toán này có dấu bất đẳng thức khi và chỉ khi biến số tương ứng của bài toán kia CÓ ràng buộc về dấu.
Ví dụ:
Viết bài toán đối ngẫu của bài toán sau: f(x) = 7x1 - 4x2 + 5x3 min
-2x1 + 3x2 + 4x3 + 2x4 ≤ 15 (y1) 3x1 – 2x2 + 3x4 = -2 (y2) x1 + 2x2 – 5x3 - x4 ≥ 3 (y3) x1 ≥ 0, x3 ≥ 0, x4 ≤ 0
Nhận xét: bài toán gốc có 3 ràng buộc (không kể các ràng buộc dấu) do đó bài toán đối ngẫu sẽ có 3 biến số y1, y2, y3. Với các hệ số b có sẵn, ta viết ngay được hàm mục tiêu của bài toán đối ngẫu như sau:
φ (y) = 15y1 – 2y2 + 3y3 max
Để thành lập các ràng buộc, chúng ta áp dụng các quy tắc sau: đối với mỗi biến số xj của bài toán gốc sẽ có một ràng buộc của bài toán đối ngẫu. Nếu biến xj không có ràng buộc dấu thì ràng buộc của bài toán đối ngẫu là dấu bằng. Nếu biến xj ≥ 0 và φ (y) max, thì ràng buộc tương ứng ≤ cj. nếu xj ≤ 0 và φ (y) max thì ràng buộc tương ứng là ≥ cj. Đối (với trường hợp φ (y) min thì ngược lại). Hệ số cj
của bài toán gốc sẽ là vế phải của ràng buộc. Các vector cột của hệ ràng buộc trở thành hệ số của biến y:
x1 ≥ 0 -2y1 + 3y2 + y3 ≤ 7 (c1) x2 không có ràng buộc dấu 3y1 – y2 + 2y3 = -4 (c2) x3 ≥ 0 4y1 – 5y3 ≤ 5 (c3) x4 ≤ 0 2y1 + 3y2 – y3 ≥ 0 (c4)
Bây giờ đến các ràng buộc về dấu của biến y: Nếu trong bài toán gốc ràng buộc thứ i là dấu (=) thì biến yi tương ứng không có ràng buộc về dấu. Nếu trong bài toán gốc ràng buộc thứ i có dấu (≤) thì ràng buộc về dấu của biến yi là ≤ 0. Ngược lại nếu trong bài toán gốc, ràng buộc thứ i là dấu ≥ thì ràng buộc về dấu của biến yi là ≥ 0. (Lưu ý: đối với bài toán đối ngẫu φ(y) min thì ngược lại).
Tóm lại ta có bài toán đối ngẫu tương ứng như sau: φ (y) = 15y1 – 2y2 + 3y3 max
-2y1 + 3y2 + y3 ≤ 7 3y1 – y2 + 2y3 = -4 4y1 – 5y3 ≤ 5 2y1 + 3y2 – y3 ≥ 0 y1 ≤ 0 ; y3 ≥ 0
Nhận xét: Với cặp bài toán đối ngẫu mà trong đó 1 bài toán là chính tắc thì bài toán kia sẽ không có ràng buộc về dấu, và do đó chúng được gọi là cặp bài toán đối ngẫu không đối xứng. Ngược lại với cặp bài toán đối ngẫu mà cả hai bài toán đều có các ràng buộc bất đẳng thức và có ràng buộc về dấu (bài toán tổng quát) thì chúng được gọi là cặp bài toán đối xứng.
§3. Các tính chất và định lý của bài toán đối ngẫu
Tính chất 1: Xét cặp bài toán đối ngẫu f(x) min và φ(y) max. Với hai phương án bất kỳ x, y của hai bài toán ta luôn có f(x) ≥ φ(y)
Chứng minh: (Ta chỉ chứng minh cho cặp bài toán không đối xứng)
Ta có ∑aij yi ≤ cj (1) và ở bài toán gốc có các ràng buộc về dấu xj ≥ 0. do vậy nếu nhân 2 vế của các bất đẳng thức (1) với xj tương ứng thì bất đẳng thức không đổi dấu:
xj∑aij yi ≤ cjxj (j = 1..n) (2) Cộng n bất đẳng thức (2) lại với nhau ta có:
∑xj ∑aij yi ≤ ∑cj xj ∑ ( ∑aij xj )yi ≤ f(x)
Mà ∑aijxj = bi ∑bi yi ≤ f(x) hay φ(y) ≤ f(x)
Về mặt hình học, có thể hình dung hàm f(x) là một đường cong nằm trên và hàm φ(y) là một đường cong đối xứng nằm bên dưới. Khi ấy điểm cực tiểu của hàm f(x) sẽ tiệm cận với điểm cực đại của hàm φ(y):
Điểm tiệm cận đó được gọi là điểm yên ngựa. Việc khảo sát điểm yên ngựa của các hàm kinh tế có một ý nghĩa rất quan trọng
Tính chất 2: Giả sử với hai phương án x* và y* của cặp bài toán đối ngẫu mà chúng ta có f(x*) = φ(y*) thì hai phương án x* và y* là hai phương án tối ưu của mỗi bài toán.
Tính chất hai có thể suy ra dễ dàng từ tính chất 1.