Tải bản đầy đủ (.pdf) (44 trang)

một phương pháp xấp xỉ ngoài giải bài toán quy hoạch tuyến tính dạng chuẩn khi biết một điểm chấp nhận được

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (874.96 KB, 44 trang )


Số hóa bởi Trung tâm Học liệu


ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC KHOA HỌC



NGUYỄN VĂN BIẾT


MỘT PHƢƠNG PHÁP XẤP XỈ NGOÀI
GIẢI BÀI TOÁN QUY HOẠCH TUYẾN TÍNH DẠNG
CHUẨNKHI BIẾT MỘT ĐIỂM CHẤP NHẬN ĐƢỢC


LUẬN VĂN THẠC SĨ TOÁN HỌC








Thái Nguyên – 2014
ii
Số hóa bởi Trung tâm Học liệu



ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC KHOA HỌC



NGUYỄN VĂN BIẾT


MỘT PHƢƠNG PHÁP XẤP XỈ NGOÀI
GIẢI BÀI TOÁN QUY HOẠCH TUYẾN TÍNH DẠNG
CHUẨN KHI BIẾT MỘT ĐIỂM CHẤP NHẬN ĐƢỢC

Chuyên ngành:TOÁN ỨNG DỤNG
Mã số: 60.46.01.12


LUẬN VĂN THẠC SĨ TOÁN HỌC


Ngƣời hƣớng dẫn khoa học:TS.NGUYỄN ANH TUẤN

Thái Nguyên – 2014
iii
Số hóa bởi Trung tâm Học liệu


MỤC LỤC
MỤC LỤC 1
MỞ ĐẦU 1
CHƢƠNG 1

BÀI TOÁN TỐI ƢU TỔNG QUÁT VÀ BÀI TOÁN QUY HOẠCH TUYẾN
TÍNH 3
1.1. Bài toán tối ƣu tổng quát: 3
1.2.1. Bài toán quy hoạch tuyến tính 4
1.2.2. Phƣơng pháp đơn hình 5
CHƢƠNG 2
QUY HOẠCH TUYẾN TÍNH VÀ PHƢƠNG PHÁP NÓN XOAY 11
2.1. Bài toán quy hoạch tuyến tính 11
2.2. Khái niệm về nón tuyến tính, cạnh của nón và nón - min 11
2.2.1. Khái niệm về nón đơn hình tuyến tính 11
2.2.2. Khái niệm về cạnh của nón đơn hình: 12
2.2.3. Khái niệm nón xoay M(r,s) sinh ra từ nón M: 16
2.2.4. Định nghĩa Nón – min (Nón cực tiểu). 17
2.3. Phƣơng pháp nón xoay tuyến tính: 19
2.3.1. Thuật toán nón xoay tuyến tính 20
2.3.2. Bảng lặp giải bài toán qui hoạch tuyến tính bởi thuật toán nón xoay
tuyến tính và ví dụ minh hoạ: 23
CHƢƠNG 3
THUẬT TOÁN NÓN XOAY GIẢI BÀI TOÁN QUY HOẠCH TUYẾN
TÍNH KHI BIẾT MỘT ĐIỂM CHẤP NHẬN ĐƢỢC 29
3.1. Lựa chọn siêu phẳng đƣa vào cơ sở 30
3.2. Thuật toán nón xoay giải bài toán quy hoạch tuyến tính với miền ràng
buộc là hệ bất phƣơng trình tuyến tính khi biết một điểm chấp nhận đƣợc 32
TÀI LIỆU THAM KHẢO 41
1
Số hóa bởi Trung tâm Học liệu


MỞ ĐẦU
Trong những thập kỷ qua, cùng với sự phát triển mạnh mẽ của công nghệ

thông tin, lý thuyết tối ưu đã có những bước tiến lớn trong đó phải nói đến các
phương pháp giải bài toán quy hoạch tuyến tính gắn liền với tên tuổi của nhiều
nhà toán học như L.V. Kantorovich (1939), George Dantzig (1947), Lemke
(1954), Leonid Khachian (1979), Karmarkar (1984),
Bài toán quy hoạch tuyến tính có hai dạng cơ bản là dạng chuẩn và dạng
chính tắc, hai dạng này có quan hệ mật thiết với nhau. Bài toán quy hoạch tuyến
tính dạng chuẩn là bài toán có miền ràng buộc là một hệ bất phương trình tuyến
tính, còn bài toán quy hoạch tuyến tính dạng chính tắc là bài toán quy hoạch có
miền ràng buộc là một hệ phương trình tuyến tính với các biến của nó có dấu
không âm.
Nội dung chính của luận văn là đề nghị một thuật toán cải tiến từ thuật
toán nón xoay tuyến tính trình bày trong [5] khi chúng ta biết một điểm chấp
nhận được của miền ràng buộc bài toán (đây là giả thiết thông thường mà các
thuật toán khác vẫn sử dụng). Sự cải tiến này đã làm cho thuật toán mới đề xuất
chỉ làm việc với các siêu phẳng tương ứng là ràng buộc biên và như vậy chúng
ta đã loại đi được tất cả các ràng buộc không phải là biên của miền ràng buộc
mà thuật toán nón xoay tuyến tính đề nghị trong [5] vẫn có thể phải làm việc
tính toán trong các bước lặp của nó khi thuật toán chưa cải tiến. Đây chính là
ưu điểm của thuật toán làm cho số bước lặp giảm đi đáng kể khi kích thước (số
chiều) của bài toán là lớn.
Luận văn gồm 3 chương:
Chương 1 trình bày bài toán tối ưu tổng quát, bài toán quy hoạch tuyến
tính và phương pháp đơin hình giải bài toán quy hoạch tuyến tính dạng chính
tắc.
Chương 2 trình bày những khái niệm cơ bản liên quan đến nón đơn hình
tuyến tính, từ đó làm cơ sở cho việc xây dựng phương pháp nón xoay tuyến tính
giải trục tiếp bài toán quy hoạch tuyến tính với miền ràng buộc là hệ bất
phương trình tuyến tính khi biết một nón-min của hàm mục tiêu bài toán.
2
Số hóa bởi Trung tâm Học liệu



Chương 3 (dựa trên phương pháp nón xoay đề nghị trong chương 2) trình
bày việc xây dựng thuật toán nón xoay cải tiến CT giải bài toán quy hoạch tuyến
tính với miền ràng buộc là hệ bất phương trình tuyến tính khi biết một điểm
chấp nhận được của miền ràng buộc bài toán và ví dụ bằng số minh hoạ cho
thuật toán.


Thuật toán nón xoay cải tiến CT giải bài toán quy hoạch tuyến tính dạng
chuẩn khi biết một điểm chấp nhận được của miền ràng buộc bài toán đề nghị
trong luận văn này được xây dựng chi tiết, các bước của thuật toán được trình
bày sao cho chúng ta có thể dễ dàng lập trình chuyển sang các chương trình
trên máy tính bằng các ngôn ngữ như Pascal, C, Java,
Luận văn này hoàn thành dựa trên cuốn sách”Quy hoạch tuyến tính với
phương pháp nón xoay”[5] và trên các sách, tài liệu có trong phần tài liệu tham
khảo.
Tác giả
Nguyễn Văn Biết
3
Số hóa bởi Trung tâm Học liệu


CHƢƠNG 1
BÀI TOÁN TỐI ƢU TỔNG QUÁT VÀ BÀI TOÁN
QUY HOẠCH TUYẾN TÍNH
Chƣơng này, chúng tôi trình bày bài toán tối ƣu tổng quát, bài toán quy
hoạch tuyến tính và tóm tắt sơ lƣợc phƣơng pháp đơn hình giải bài toán quy
hoạch tuyến tính dạng chính tắc.
1.1. Bài toán tối ƣu tổng quát:

Bài toán tối ƣu tổng quát đƣợc phát biểu nhƣ sau: Cực đại hoá (cực tiểu
hoá) hàm:

f ( x) max(min)
.
(1.1)
với các điều kiện

1
ii
g ( x )( , , )b ,i , ,m   
.
(1.2)

n
x X R
.
(1.3)
Bài toán (1.1) – (1.3) đƣợc gọi là một quy hoạch, hàm
f ( x )
đƣợc gọi là
hàm mục tiêu, các hàm
1
i
g ( x),i , ,m
đƣợc gọi là các hàm ràng buộc, mỗi
đẳng thức trong hệ (1.2) đƣợc gọi là một ràng buộc.
Tập hợp:
 
1

ii
D x X / g ( x)( , , )b ,i , m     
.
(1.4)
đƣợc gọi là miền ràng buộc (hay miền chấp nhận đƣợc). Mỗi điểm:
12 n
( x x ,x , ,x ) D
đƣợc gọi là một phƣơng án (hay một lời giải chấp nhận
đƣợc). Một phƣơng án
*
xD
đạt cực đại (hay cực tiểu) của hàm mục tiêu, cụ
thể là:

*
f ( x ) f ( x), x D  
(đối với bài toán Max)

*
f ( x ) f ( x), x D  
(đối với bài toán Min)
4
Số hóa bởi Trung tâm Học liệu


đƣợc gọi là phƣơng án tối ƣu (lời giải tối ƣu). Khi đó giá trị
*
f ( x )
đƣợc gọi là
giá trị tối ƣu của bài toán.

1.2. Bài toán QHTT và phƣơng pháp đơn hình
1.2.1. Bài toán quy hoạch tuyến tính
Bài toán quy hoạch tuyến tính có hai dạng cơ bản là dạng chính tắc và
dạng chuẩn tắc, sau đây ta trình bày lần lƣợt hai dạng này.
Bài toán QHTT dạng chính tắc:
1
n
jj
j
c x max




1
1
n
ij j i
j
a x b ,i , ,m




01
j
x , j , ,n

Bài toán QHTT dạng chuẩn:
1

n
jj
j
c x max




1
1
n
ij j i
j
a x b ,i , ,m




01
j
x , j , ,n

Bất kỳ QHTT nào cũng có thể đƣa về một trong hai dạng chuẩn hoặc
chính tắc nhờ phép biến đổi tuyến tính sau:
1. Một ràng buộc
1
n
ij j i
j
a x b




có thể đƣa về ràng buộc:
1
n
ij j i
j
a x b

  

bằng cách nhân hai vế với (-1) và viết lại:
1
n
ij j i
j
a' x b'




5
Số hóa bởi Trung tâm Học liệu


2. Một ràng buộc đẳng thức
1
n
ij j i

j
a x b



có thể thay bằng hai ràng buộc
bất đẳng thức:
1
n
ij j i
j
a x b




1
n
ij j i
j
a x b

  


3. Một biến
i
x
không bị ràng buộc dấu có thể thay bởi hiệu của hai biến
không âm bằng cách đặt:

j j j
x x x


với
00
jj
x ,x


.
4. Một ràng buộc bất đẳng thức
1
n
ij j i
j
a x b



có thể đƣa về ràng buộc
đẳng thức bằng cách đƣa vào biến phụ
0
i
y 
:
1
n
ij j j i
j

a x y b




Về nguyên tắc, áp dụng nhiều lần các phép biến đổi 1, 2 và 3 ta có thể đƣa
một bài toán QHTT bất kỳ về dạng chuẩn, sau đó áp dụng nhiều lần phép biến
đổi 4 ta sẽ đƣa nó về dạng chính tắc.
1.2.2. Phƣơng pháp đơn hình
Vào năm 1947, Nhà Toán học ngƣời Mỹ là George Dantzig đề xuất giải bài
toán QHTT dạng chính tắc sau:

c,x max  
(1.5)

Ax b
(1.6)

0x 
(1.7)
Trong đó A là ma trận kích thƣớc m.n (m ≤ n) với hạng của ma trận A là m.
Dƣới đây để ngắn gọn, chúng tôi trình bày sơ lƣợc tóm tắt thuật toán, còn phần
cơ sở của thuật toán đơn hình có thể xem trong [3].
Thuật toán đơn hình
Bƣớc 1: Xây dựng bảng đơn hình xuất phát. Tìm một phƣơng án cực biên
xuất phát
x
và cơ sở của nó
j
A , j J

.
6
Số hóa bởi Trung tâm Học liệu


Xác định các số
jk
z
bởi hệ phƣơng trình:
jk j k
jJ
z A A



(1.8)
Đối với mỗi
kJ
, tính các ƣớc lƣợng:
k jk j k
jJ
z c c

  

(1.9)
Còn với
0j 
thì
0

j

.
Tính giá trị hàm mục tiêu:
0 jj
jJ
z c x




Bƣớc 2: Kiểm tra tối ƣu:
Nếu
0
k
,k J  
thì
x
là phƣơng án tối ƣu, dừng thuật toán. Trái lại,
chuyển sang bƣớc 3.
Bƣớc 3: Tìm véc tơ đƣa vào cơ sở. Có hai khả năng xảy ra:
Tồn tại
kJ
sao cho
0
k


0
jk

z , j J  
thì bài toán QHTT
không có lời giải tối ƣu (Z không bị chặn trên). Dừng thuật toán.
Đối với mỗi
kJ
sao cho
0
k

đều tồn tại
0
jk
j J : z
. Khi đó
chọn chỉ số
s
theo tiêu chuẩn:
 
0
s k k
min /    
(1.10)
Đƣa véc tơ
s
A
vào cơ sở.
Bƣớc 4: Tìm véc tơ loại khỏi cơ sở. Xác định:

0
j

r
r js
js rs
x
x
min | z
zz



  



(1.11)
Khi đó chỉ số loại ra là r, và đƣa véc tơ
r
A
ra khỏi cơ sở.
Bƣớc 5: Chuyển sang phƣơng án cực biên mới và cơ sở mới. Cơ sở mới là
 
j
A , j J '
với
   
J' ( J \ r ) s
.
j J '
các thành phần của phƣơng án
cực biên mới

x'
đƣợc tính theo công thức:
7
Số hóa bởi Trung tâm Học liệu



j r rs js
j
r rs
x ( x / z ).z , j s
x'
( x / z ), j s






nÕu
nÕu
(1.12)

Khai triển của các véc tơ
k
A
theo các véc tơ cơ sở mới đƣợc tính theo
công thức (1.15). Quay lên bƣớc 2.
Công thức đổi cơ sở và bảng đơn hình:
Ta xét các công thức chuyển từ phƣơng án cực biên

x
với cơ sở J sang
phƣơng án cực biên
x'
với cơ sở J'.
Ta đã có công thức (1.12) để tính các thành phần của
x'
, bây giờ ta thiết
lập công thức tính các số
jk
z'
ta có từ:
s js j
jJ
A z A



. Suy ra:

1
r s js j
j J ,j r
rs
A ( A z .A )
z



(1.13)

Mặt khác:
k jk j jk j rk r
j J j J ,j r
A z A z A z A
  
  

(1.14)
Thay biểu thức của
r
A
từ (1.13) vào (1.14) ta đƣợc:

rk rk rk
k jk j s js j jk js j s
j J ,j r j J ,j r j J , j r
rs rs rs
z z z
A z A A z A ( z z )A A
z z z
     

     


  

Đây là công thức biểu diễn
k
A

qua cơ sở mới
   
J' ( J \ r ) s

Bởi vậy ta có,
jk rk rs js
jk
rk rs
z ( z / z )z , j s
j J ' : z'
( z / z ), j s


  



nÕu

nÕu
(1.15)
Sau khi có
jk
z'
ta tính:

k jk j k
j J'
' z' c c


  

(1.16)
Để dễ tính toán, mỗi bƣớc lặp ta thiết lập bảng đơn hình.
8
Số hóa bởi Trung tâm Học liệu


Nếu tất cả các số trong dòng cuối (trừ hàm mực tiêu
f
) đều không âm,
nghĩa là
0
k
,k  
, khi đó
x
là phƣơng án tối ƣu.
9
Số hóa bởi Trung tâm Học liệu


j
c

Cơ sở
Phƣơng
án
1
c


j
c

r
c

m
c

k
c

s
c

n
c

1
A

j
A

r
A

m
A


k
A

s
A

n
A

1
c


j
c


r
c


m
c

1
A


j

A


r
A


m
A

1
x


j
x


r
x


m
x

1

0

0


0

1k
z

1s
z

1n
z


0

1

0

0

jk
z

js
z

jn
z



0

0

1

0

rk
z

rs
z

rn
z


0

0

0

1

mk
z


ms
z

mn
z



f

0

0

0

0

k


s


n


Nếu dòng cuối (không kể
f
) có những số âm thì xem thử có cột nào cắt

dòng cuối ở một số âm mà mọi số trong cột đó đều âm hay không. Nếu có cột
nào nhƣ thế thì bài toán không có phƣơng án tôi ƣu.
Nếu trái lại thì chọn cột
s
sao cho
 
0
s k k
min /    
rồi chọn (trong
số các dòng cắt cột
s
ở những số dƣơng) dòng
r
sao cho:

0
j
r
r js
rs js
x
x
min / z
zz



  




.
Cột
s
gọi là cột quay, véc tơ
s
A
đƣợc đƣa vào cơ sở. Dòng
r
gọi là dòng
quay. Véc tơ
r
A
bị đƣa ra khỏi cơ sở.
Phần tử
0
rs
z 
là giao của cột quay và dòng quay gọi là phần tử chính
của phép quay (còn gọi là phần tử xoay). Các phần tử
js
z , j r
gọi là phần tử
quay.
10
Số hóa bởi Trung tâm Học liệu


Các công thức (1.12), (1.15) và (1.16) gọi là các công thức đổi cơ sở.

Bảng đơn hình mới suy đƣợc từ bảng cũ bằng cách thay
rr
c ,A
trong dòng quay
bằng
ss
c ,A
. Sau đó thực hiện các phép biến đổi dƣới đây:
1) Chia mỗi phần tử ở dòng quay cho phần tử chính (đƣợc số 1 ở vị trí của
rs
z
cũ). Kết quả thu đƣợc gọi là dòng chính.
2) Lấy mỗi dòng khác trừ đi tích của dòng chính nhân với phần tử quay
tƣơng ứng đƣợc số
0
ở mọi vị trí còn lại của cột quay.
[Dòng mới] = [dòng cũ tƣơng ứng] - [dòng chính] x [phần tử quay]. Lƣu ý rằng
sau phép quay thì ở vị trí
s

ta thu đƣợc số 0 vì lúc này
s
A
trở thành véc tơ đơn
vị cơ sở, nghĩa là ta đã làm mất số âm nhỏ nhất ở dòng cuối của bảng cũ.
Toàn thể phép biến đổi trên gọi là phép xoay quanh phần tử chính
rs
z
. Sau
khi thực hiện phép quay ta có một phƣơng án mới và một cơ sở mới. Nếu chƣa

đạt yêu cầu, nghĩa là còn
0
k

thì ta lại tiếp tục quá trình.



11
Số hóa bởi Trung tâm Học liệu


CHƢƠNG 2
QUY HOẠCH TUYẾN TÍNH VÀ PHƢƠNG
PHÁP NÓN XOAY
Trong chƣơng này, chúng tôi xin trình bày một số khái niệm cơ bản về
nón đơn hình tuyến tính, từ đó làm cơ sở cho việc xây dựng phƣơng pháp nón
xoay tuyến tính giải trực tiếp bài toán quy hoạch tuyến tính với miền ràng buộc
là hệ bất phƣơng trình tuyến tính khi biết một nón-min của hàm mục tiêu bài
toán.
Bất kỳ một bài toán quy hoạch tuyến tính nào cũng có thể đƣa về bài toán
quy hoạch tuyến tính với miền ràng buộc là hệ bất phƣơng trình tuyến tính dƣới
đây (kể cả ràng buộc về dấu cũng nằm trong hệ).
2.1. Bài toán quy hoạch tuyến tính
XÐt bài toán qui hoạch tuyến tính với miền ràng buộc là hệ bất phƣơng
trình tuyến tính sau:



1

0 1 2
n
ii
i
ni
Li
f ( x ) C,x c .x min
( L) :
x P : x R : A ,x b ,i , , ,m


  



       



n
xR
,
i
A
là véc tơ dòng và
12
00
i n i
i i in
A R ,m n,A (a ,a , ,a ) O( , , )  

,
1
12
12
ni
C(c ,c , ,c ), b R ,i , , ,m.
Hạng của hệ
12
i
A (i , , ,m)
bằng
n
, giả
thiết này bình thƣờng bởi miền ràng buộc
L
P
của bài toán quy hoạch tuyến tính
bao giờ cũng có ràng buộc về dấu của biến
x
.
2.2. Khái niệm về nón tuyến tính, cạnh của nón và nón - min
2.2.1. Khái niệm về nón đơn hình tuyến tính
Xét tập
M
đƣợc xác định từ
n
ràng buộc tuyến tính nào đó của
L
P
, cụ

thể là:
 
0
ni
i
M : x R : A ,x b ,i I      
(2.1)
12
Số hóa bởi Trung tâm Học liệu


trong đó
 
 
12
12
n
I : i ,i , ,i , , ,m ,| I | n  
(ở đây
| I |
là số đo hay số phần tử
của tập
I
) và
i
A
với
iI
là một hệ độc lập tuyến tính. Tập
M

gọi là nón đơn
hình tuyến tính của hệ ràng buộc
L
P
với đỉnh
M
x
là nghiệm (đƣợc xác định)
thỏa mạn hệ sau:

0
i
i
A ,x b , i I     
(2.2)
Hệ véc tơ
i
A
víi
iI
đƣợc gọi là cơ sở của nón
M
, hay còn gọi là cơ sở
của đỉnh
M
x
. Tập
I
gọi là tập chỉ số của cơ sở của nón
M

.
2.2.2. Khái niệm về cạnh của nón đơn hình:
Với mỗi
iI
, tập hợp các điểm
n
xR
thỏa mãn hệ:

 
0
i
r
A ,x b , r I \ i     
(2.3)
gọi là đƣờng thẳng
i
của nón
M
.
Tập các điểm
x
thoả mãn hệ:
 
0
0
r
r
i
i

A ,x b , r I \ i
A ,x b

     


   



gọi là cạnh
i
của nón
M
.
Với mỗi
i(i I )
, VÐc t¬
i
M
z (i I )
, x¸c ®Þnh bëi hệ:

0
1
ri
M
ii
M
A ,z , r I,r i

A ,z

    


  


(2.4)
gọi là véc tơ chỉ phƣơngcủa cạnh
i
của nón
M
.
Đỉnh
M
x
của nón
M
có thể xác định từ (2.2), trong trƣờng hợp biết hệ
véc tơ chỉ phƣơng
i
M
z (i I )
thì chúng ta có thể sử dụng công thức sau:

Mi
iM
iI
x b .z




(2.5)
13
Số hóa bởi Trung tâm Học liệu


Định lý 2.1. Nếu
M
x
là đỉnh của nón đơn hình
M
đƣợc xác định từ (2.2),
và hệ véc tơ chỉ phƣơng
i
M
z (i I )
của cạnh
i
của nón
M
xác định từ (2.4) thì
chúng ta có thể xác định đỉnh
M
x
từ công thức
Mi
iM
iI

x b .z



.
Chứng minh (xem [5])
Vậy từ định lý 2.1 ta suy ra trong trƣờng hợp biết hệ véc tơ chỉ phƣơng
i
M
z (i I )
thì chúng ta có thể xác định đỉnh
M
x
từ công thức:
Mi
iM
iI
x b .z



.
Dễ thấy tập các điểm x nằm trên cạnh
i
của nón
M
đều có thể biểu diễn
nhƣ sau:

0

Mi
i M i
x x .z , , i I

    
(2.6)
Định lý 2.2. Hệ véc tơ chỉ phƣơng
i
M
z
với
iI
là một hệ độc lập tuyến
tính.
Chứng minh: Ta chứng minh bằng phản chứng, giả sử ngƣợc lại hệ véc tơ
chỉ phƣơng
i
M
z
với
iI
là một hệ phụ thuộc tuyến tính. Khi đó sẽ tồn tại một
trong
n
véc tơ của hệ đƣợc biểu diễn tuyến tính qua các véc tơ còn lại nhƣ sau:

0
0
i
i

M i M
i I( i i )
z .z




.
Vậy:

0 0 0 0
00
0
i i i i
ii
M i M i M
i I( i i ) i I( i i )
A ,z A , .z . A ,z

   
     


Điều này mâu thuẫn với
00
1
ii
M
A ,z  
(từ (2.4)).


Ta ký hiệu:
 
 
1 2 0
M j M
j
J ( x ) : j , , ,m : A ,x b

     
(2.7)
14
Số hóa bởi Trung tâm Học liệu


Rõ ràng khi
M
J ( x )


thì
M
x
chính là một điểm chấp nhận của bài
toán
( L)
. Chúng ta giả sử
M
J ( x )



. Với mỗi
M
s J ( x )


, chúng ta ký
hiệu nhƣ sau:

 
 
12
0
s s i
Mn
I : i I : A ,z I : i ,i , ,i     
(2.8)

 
 
0
12
0
si
Mn
I : i I : A ,z I : i ,i , ,i     
(2.9)
Ta thấy:
0 s
I I I

.
Với mỗi
s
iI
thì đƣờng thẳng
Mi
M
x x .z


sẽ giao với siêu
phẳng
0
s
s
A ,x b   
tại điểm:
i M i
iM
x x .z


. (2.10)
Trong ®ã
sM
s
i
si
M
A ,x b

A ,z

  


(2.11)
Ta gäi:

   
 
12
00
s s s s i
i M s s sq
I : i I : i I : A ,z i ,i , ,i


        
(2.12)

 
0
ss
i
I : i I ,


  
.
Rõ ràng

ss
I I I


.
§Þnh lý 2.3.
M
s J ( x )


thì
s
I 
.
Chứng minh:
Giả sử ngƣợc lại
s
I 
thì dễ dàng thấy
 
0
12 n
I I : i ,i , ,i
tức là ta

0
si
A ,z , i I   
, mà theo định lý 2.2 thì hệ
i

M
z ( i I )
là một hệ
n
véc
tơ độc lập tuyến tính, suy ra
0 0 0
s
A O( , , , )
. Điều này mâu thuẫn vói giả thiết
của bài toán
( L)
là:

 
12
0 0 0 1 2
i
i i in
A (a ,a , ,a ) O( , , , ), i , , ,m  
.
15
S húa bi Trung tõm Hc liu


nh lý 2.4. Nu
s
I



thỡ tp phng ỏn ca bi toỏn
( L)
l rng.
Chng minh:
Ta chng minh bng phn chng. Gi s ngc li, bi toỏn
( L)

phng ỏn v
0
x
l mt im chp nhn ca
( L)
, thỡ
0
x
phi l mt im ca
nún
M
v theo nh lý 2.3 nú s c biu din nh sau:

0
0
Mi
i M i
iI
x x .z , , i I





(2.13)
Ta gi thit
s
I


ta suy ra
0
s
i
, i I


, t (2.11) li suy ra:

00
s i s s i
MM
A ,z , i I A ,z , i I
(2.14)
Thay (2.13) vo v trỏi ca rng buc s ca P ta thy:

0s s M i
s i M s
iI
A ,x b A ,x .z b







s M s i
s i M
iI
A ,x b . A ,z




(2.15)
T (2.13), (2.14) v do
M
s J ( x )


, ta thy v phi ca (2.15) l s
dng. Vy suy ra:
0
0
s
s
A ,x b
.
Điều này mâu thuẫn với giả thiết
0
x
là một điểm chấp nhận ca bài toán
(L).
Định lý này cho ta kết luận rằng, nếu bi toỏn (L) có ít nhất một điểm chấp

nhận đ-ợc thì
s
I

là một tập khác rỗng.
16
S húa bi Trung tõm Hc liu


2.2.3. Khỏi nim nún xoay M(r,s) sinh ra t nún M:
Gi s M l mt nún n hỡnh tuyn tớnh ca h rng buc
L
P
xỏc nh
bi (2.1) v
M
J ( x )


, khi ú vi mi r

s
I
, tập hợp các điểm x thoả mãn hệ
bất đẳng thức:

0
0
i
i

s
s
A ,x b , i I,i r
A ,x b







(2.16)
xỏc nh mt nún n hỡnh tuyn tớnh gi l nún xoay
M( r,s )
, nh l:

M( r,s ) r M r
rM
x x x .z


(2.17)
trong ú
r

xỏc nh t (2.11).
nh
r
x
tho món:


0
ir
i
A ,x b , i I( r,s) ( I s )\ r
.
Tp ch s c s mi
I(r,s)
nhn c t tp ch s c s c I bng cỏch
loi ch s r ra khi tp c s c, a ch s s vo thay. Ta núi nún xoay
M( r,s )
sinh ra t nún M.
B 2.1: H
i
A
vi
i I( r,s )
l mt h c lp tuyn tớnh.
Chng minh.
Tht vy, nu ngc li h
i
A
vi
i I( r,s )
l ph thuc tuyn tớnh thỡ
d dng suy ra tn ti biu din:


0
s i s r i r i r

i M i M i M
i I\ r i I\ r i I\ r
A A A ,z A ,z = A ,z






iu ny mõu thun vi
0
sr
M
A ,z
(vỡ
s
rI
).
B ny cho ta thy nún xoay
M( r,s )
vn l mt nún n hỡnh.
17
Số hóa bởi Trung tâm Học liệu


Các véc tơ chỉ phƣơng
i
M ( r,s )
z
,

i I( r,s )
của nón xoay mới
M( r,s )

đƣợc xác định từ (2.4) với tập chỉ số cơ sở mới
I(r,s)
, hoặc xác định từ một
trong các công thức đơn giản dƣới đây theo các
i r i r
MM
x ,x ,z ,z
(xác định từ (2.4),
(2.10), (2.11)) với
i, r
thuộc
I
là tập chỉ số của cơ sở cũ:

0
1
i
M
si
i i r s
M
M ( r,s ) M M
sr
M
r
M

sr
M
z khi i I
A ,z
z z .z khi i I ,i r
A ,z
.z khi i s
A ,z






   








(2.18)
Các công thức này gọi là các công thức đổi cơ sở, bổ đề dƣới đây chứng
minh các công thức trên.
Bổ Đề 2.2: Giả sử
M
là nón xác định bởi:


 
0
ni
i
M : x R : A ,x b ,i I      
với các véc tơ chỉ phƣơng
i
M
z
của
các cạnh xác định theo (2.4), các giao điểm
i
x
xác định theo (2.10), (2.11). Khi
đó nón xoay
M( r,s )
có đỉnh là
M ( r,s ) r
xx
xác định từ (2.17) với cơ sở tƣơng
ứng là
   
I(r,s) ( I s )\ r
và các véc tơ chỉ phƣơng của các cạnh tƣơng ứng

i
M ( r,s )
z
đƣợc xác định bởi (2.18).
Chứng minh(xem[5])

2.2.4. Định nghĩa Nón – min (Nón cực tiểu).
Nón đơn hình tuyến tính
M
với đỉnh là
M
x
đƣợc gọi là nón - min của
hàm
f ( x) C,x 
của bài toán
( L)
nếu
M
f ( x ) f ( x), x M .  

Ta nãi
M
lµ mét nãn - min cña bµi to¸n
( L)
khi
M
là một nón – min
của hàm mục tiêu
f
của bài toán
( L)
.
18
Số hóa bởi Trung tâm Học liệu



Định lý 2.5.

M
là một nón - min của hàm
f ( x) C,x )
khi và chỉ khi:
0
i
M
C,z , I.  

Gi¶ sö
M
lµ mét nón - min của hàm mục tiêu
f ( x) C,x 
của bài
toán
( L)
.
Gọi:

 
 
s
s s v i
iI
V : v I : f ( x ) min f ( x )




  
(2.19)
Vậy:
 
 
s
s s v i
iI
V v I : C,x min C,x



     

Thay
v
x

i
x
xác định từ công thức (2.10) vào trên ta có:

 
 
s
s s v i
iI
V : v I : C,x min C,x




      


 
s
s M v M i
v M i M
iI
v I : C,x .z min{ C,x .z }




        


 
s
s v i
v M i M
iI
v I : . C,z min{ . C,z }




      


s
vi
s s M s M
MM
ss
s v s i
iI
MM
C,z C,z
v I : ( A ,x b ). min{ ( A ,x b ). }
A ,z A ,z




   
           

   



s
vi
s
MM
s v s i
iI
MM
C,z C,z

v I : min{ }
A ,z A ,z




   
    

   


Vậy:

s
vi
ss
MM
s v s i
iI
MM
C,z C,z
V : v I : min{ }
A ,z A ,z




   
    


   

(2.20)
19
S húa bi Trung tõm Hc liu


nh lý 2.6.
Vi mỗi
s
rV
xỏc nh t (2.20), nu
M
l mt nún min ca hm mc
tiờu ca bi toỏn
( L)
thỡ nón
M( r,s )
xỏc nh t (2.16) cng là một nón - min
ca hm mc tiờu bài toán
( L)
.
Chứng minh (xem [5]).
nh
M ( r,s )
x
ca nún xoay
M( r,s )
cũn cú th xỏc nh cụng thc sau õy

khi bit cỏc vộc t ch phng cỏc cnh ca nún xoay
M( r,s )
:

M( r,s ) i
i M ( r,s )
i I( r,s )
x b .z



(2.21)
D-ới đây chúng ta sẽ xõy dng thut toỏn nún xoay giải bài toán
( L)
dựa
vo cơ sở lý thuyt trỡnh by cỏc phn trờn và định lý 2.6.
2.3. Phng phỏp nún xoay tuyn tớnh:
Mt bin th ca phng phỏp nún min gii bi toỏn qui hoch gn li-
gn lừm ngh trong cun sỏch Quy hoch gn li-gn lừm ng dng vo quy
hoch tuyn tớnh (NXB Khoa hc v k thut nm 2011) s cho chỳng ta mt
phng phỏp gii trc tip bi toỏn quy hoch tuyn tớnh (L) trong mc 2.1 vi
c s xut phỏt t nh mt nún-min ca hm mc tiờu gi l phng phỏp nún
xoay tuyn tớnh c th hin di dng thut toỏn chi tit.
Xột bi toỏn
( L)
trong trng hp bit mt nún min ca bi toỏn
( L)
.
í tng ca thut toỏn nún xoay tuyn tớnh gii bi toỏn
( L)

nh sau:
Xut phỏp t mt nún-min
M
ban u ca hm mc tiờu bi toỏn, chỳng
ta kim tra xem nh ca nú cú thuc min chp nhn ca bi toỏn khụng (tc l
nh ny cú tho món tt c cỏc rng buc khụng) nu nh ny thuc min chp
nhn thỡ nú l mt li gii ca bi toỏn
( L)
. Ngc li ta xõy dng nún xoay
20
S húa bi Trung tõm Hc liu


mi
M( r,s )
(vn l nún-min) t nún c
M
ca bi toỏn
( L)
v lp li quỏ trỡnh
kim tra nún xoay mi ny tng t nh i vi nún M, quỏ trỡnh ny c thc
hin cho n khi nh ca nún xoay mi
M( r,s )
thuc min chp nhn ca bi
toỏn
( L)
(khi min rng buc ca bi toỏn
( L)
cú phng ỏn) hoc s phỏt hin
ra min rng buc ca bi toỏn

( L)
l rng.
2.3.1. Thut toỏn nún xoay tuyn tớnh
B-ớc chuẩn bị (bc 0). Gi s ta ó bit
0
M
là nón - min của bài toán
(L) vi tp ch s c s l

0
0 0 0 0
0 1 2
M
n
I : i ,i , ,i ,x x
là đỉnh của
0
M
và các véc
tơ chỉ ph-ơng ca cỏc cnh
i
ca nún
0
M
l
0
00
ii
M
z z (i I )

.
Bc k (k=0, 1, 2, ). Gi s
k
M
l nún - min ca bi toỏn
( L)
(ó c
xõy dng), vi tp ch s c s, nh v cỏc vộc t ch phng ca cỏc cnh ca
nún
k
M

tng ng l

12
k
M
k k k k
kn
I : i ,i , ,i ;x x
v
k
ii
kM
zz
.
Xỏc nh tp
k
J ( x )


theo (2.10):



1 2 0
k j k
j
J ( x ) : j , , ,m : A ,x b



1) Nếu
k
J ( x )


thì dừng lại.
k
x

chính là một lời giải của bài toán
( L)
,
2) Nếu
k
J ( x )


, ta chn ch s a vo c s theo mt trong hai
cỏch sau:

Ta chn
k
s
l mt ch s tu ý thuc
k
J ( x )

hoc ta
chn

k
k
s min j : j J ( x )


(gi l qui tc chn min) (2.22)
hoc

k
k
s max j : j J ( x )


(gi l qui tc chn max) và xác định:


0
kk
ss
i

kk
I : i I : A ,z
;
21
Số hóa bởi Trung tâm Học liệu



 
 
12
0
k k k
k k k k
s s s
kk
ik
k s s s q
I : i I : A ,z i ,i , ,i

    
, (2.23)
2.1) Nếu
k
s
I


thì dừng lại, suy ra bài toán
( L)

không có phƣơng án.
2.2) Nếu
k
s
I


:
Gäi
kk
s
kk
k
vi
ss
kk
ss
vi
iI
kk
C,z C,z
V : v I : min{ }
A ,z A ,z




   
    


   

(2.24)
và chọn chỉ số đƣa ra khỏi cơ sở theo một trong hai cách sau:
Ta chọn
k
r

là chỉ số tuỳ ý thuộc
k
s
V
hoặc ta chọn:

 
k
s
k
r min v : v V
hoặc
 
k
s
k
r max v : v V
(2.25)
(cách chọn chỉ số này gọi là qui tắc chọn min (hoặc là qui tắc chọn max)) .
Và ta xây dựng nón xoay
1k k k k
M M ( r ,s )



sinh ra từ nón-min
k
M

(xem
mục 2.2.3), tập chỉ số cơ sở là
   
1k k k k k k k
I I ( r ,s ) ( I s )\ r

  
; và các véc tơ
chỉ phƣơng
1
i
k
z

(sử dụng (2.18)):

0
1
1
k
kk
kk
k
kk

i
kk
s
i
rs
ii
k
k k k k k
sr
k
r
kk
sr
k
z khi iI
A ,z
z ( z .z ) khi i I ,i r
A ,z
.z khi i s
A ,z







   









(2.26)
Từ (2.5) và (2.17):
1
kk
k
k k k
k
kk
s
s
r r r
k k k k
k k k k r k k
sr
k
A ,x b
x xM (r ,s ) x x .z x .z
A ,z


  
      




1
1
k
i
ik
iI
b .z





(2.27)
22
Số hóa bởi Trung tâm Học liệu


Quay trở lại bƣớc
k
với
1kk
.
Một số chú ý:
1) Từ định lý 2.6 ta dễ dàng có bổ đề 2.3 dƣới đây và do đó dễ thấy nón
xoay
1k
M



đƣợc xây dựng (trong thuật toán) sinh ra từ nón-min
k
M

vẫn là một
nón - min của bài toán
( L)
.
2) Sự lựa chọn chỉ số đƣa vào
 
k
k
s min j : j J ( x )


và chỉ số đƣa ra
 
s
kk
r min v : v V
sẽ làm cho thuận toán đề nghị trên kết thúc sau một số hữu
hạn bƣớc lặp (không xảy ra xoay vòng). Điều này đƣợc chứng minh bởi định lý
2.7 dƣới đây.
3) Công thức (2.26) gọi là công thức xoay cơ sở và phần tử
kk
sr
k
A ,z
đƣợc gọi là phần tử xoay, nó là trung tâm để đổi các véc tơ chỉ
phƣơng

i
k
z
của hệ cơ sở cũ sang hệ cơ sở mới
1
i
k
z

theo công thức xoay (2.26).
4) Để cho gọn chúng ta đặt
12
i k i k
i
A ,x b A ( x ),i , , ,m    

Dựa trên định lý 2.6, chúng ta dễ dàng chứng minh đƣợc bổ đề sau:
Bổ đề 2.3.
Tại mỗi bƣớc lặp
k
, khi giải bài toán
( L)
theo thuật toán nón xoay tuyến
tính với qui tắc chọn chỉ số đƣa vào cơ sở và đƣa ra khỏi cơ sở là (2.22), (2.23)
và (2.24) thì nón xoay
1k
M

đƣợc xây dựng trong thuật toán vẫn là một nón –
min của hàm mục tiêu và ta có:

1
12
kk
f ( x ) f ( x ), k , ,

  

Sự lựa chọn
 
k
k
s min j : j J ( x )



 
k
s
kk
r ( s ) min v : v V
(hoặc
 
k
k
s max j : j J ( x )



 
k

s
kk
r ( s ) max v : v V
) sẽ làm cho thuật toán

×