-1-
ĐẠI HỌC CÔNG NGHỆ
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRẦN NGUYÊN HƢƠNG
MỘT SỐ THUẬT TOÁN PHÂN CỤM TRONG KHAI PHÁ DỮ LIỆU
LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
NGƢỜI HƢỚNG DẪN: TS. VŨ NHƢ LÂM
NĂM 2007
-2-
Mục lục
Mục lục .............................................................................................................. 1
DANH SÁCH HÌNH VẼ ................................................................................. 5
BẢNG TỪ VIẾT TẮT ..................................................................................... 7
TỪ KHOÁ......................................................................................................... 7
LỜI CẢM ƠN ................................................................................................... 8
MỞ ĐẦU ........................................................................................................... 9
Chƣơng 1. TỔNG QUAN VỀ PHÂN CỤM TRONG KHAI PHÁ DỮ
LIỆU VÀ CÁC KHÁI NIỆM CƠ BẢN ........... Error! Bookmark not defined.
1.1. Giới thiệu chung ............................................ Error! Bookmark not defined.
1.2. Khai phá dữ liệu là gì? .................................. Error! Bookmark not defined.
1.3. Qúa trình khai phá tri thức trong cơ sở dữ liệu ....... Error! Bookmark not
defined.
1.4. Các kỹ thuật áp dụng trong khai phá dữ liệu .......... Error! Bookmark not
defined.
1.4.1. Các kỹ thuật tiếp cận trong khai phá dữ liệu ......... Error! Bookmark not
defined.
1.4.2. Các dạng dữ liệu có thể khai phá ............. Error! Bookmark not defined.
1.5. Ứng dụng của khai phá dữ liệu .................... Error! Bookmark not defined.
1.6. Phân cụm dữ liệu và ứng dụng .................... Error! Bookmark not defined.
1.6.1. Mục đích của phân cụm dữ liệu ............... Error! Bookmark not defined.
1.6.2. Các bước cơ bản để phân cụm ................. Error! Bookmark not defined.
1.6.3. Các loại đặc trưng .................................... Error! Bookmark not defined.
1.6.4. Các ứng dụng của phân cụm .................... Error! Bookmark not defined.
1.6.5. Phân loại các thuật toán phân cụm ........... Error! Bookmark not defined.
1.7. Các khái niệm và định nghĩa ........................ Error! Bookmark not defined.
1.7.1. Các định nghĩa phân cụm ......................... Error! Bookmark not defined.
1.7.2. Các độ đo gần gũi..................................... Error! Bookmark not defined.
-3-
Chƣơng 2. CÁC THUẬT TOÁN PHÂN CỤM TUẦN TỰ Error! Bookmark
not defined.
2.1. Số các cách phân cụm có thể ........................ Error! Bookmark not defined.
2.2. Thuật toán phân cụm tuần tự - BSAS ......... Error! Bookmark not defined.
2.3. Ƣớc lƣợng số cụm .......................................... Error! Bookmark not defined.
2.4. Sửa đổi thuật toán BSAS - Thuật toán MBSAS ....... Error! Bookmark not
defined.
2.5. Thuật toán phân cụm tuần tự hai ngƣỡng - TTSAS Error! Bookmark not
defined.
2.6. Giai đoạn tinh chế ......................................... Error! Bookmark not defined.
Chƣơng 3. CÁC THUẬT TOÁN PHÂN CỤM PHÂN CẤP ............... Error!
Bookmark not defined.
3.1. Giới thiệu ....................................................... Error! Bookmark not defined.
3.2. Các thuật toán tích tụ - GAS ........................ Error! Bookmark not defined.
3.2.1. Một số định nghĩa .................................... Error! Bookmark not defined.
3.2.2. Một số thuật toán tích tụ dựa trên lý thuyết ma trận ..... Error! Bookmark
not defined.
3.2.3. Monotonicity và Crossover ...................... Error! Bookmark not defined.
3.2.4. Một sô thuật toán tích tụ dựa trên lý thuyết đồ thị . Error! Bookmark not
defined.
3.2.5. Ảnh hưởng của ma trận gần gũi tới sơ đồ phân cụm .... Error! Bookmark
not defined.
3.3. Các thuật toán phân rã - GDS ..................... Error! Bookmark not defined.
3.3.1. Cải tiến sơ đồ GDS .................................. Error! Bookmark not defined.
3.4. Lựa chọn phân cụm tốt nhất ........................ Error! Bookmark not defined.
Chƣơng 4. CÁC THUẬT TOÁN PHÂN CỤM QUA TỐI ƢU HOÁ . Error!
Bookmark not defined.
4.1. Tổng quan về tối ƣu hoá và các khái niệm cơ bản ... Error! Bookmark not
defined.
4.1.1. Một số khái niệm trong giải tích lồi ......... Error! Bookmark not defined.
4.1.2. Các bài toán tối ưu ................................... Error! Bookmark not defined.
4.1.3. Một số phương pháp giải quyết bài toán tối ưu ..... Error! Bookmark not
defined.
4.2. Bài toán phân cụm theo tâm ........................ Error! Bookmark not defined.
-44.2.1. Phân cụm qua quy hoạch toán học ........... Error! Bookmark not defined.
4.2.2. Phân cụm qua tối ưu hoá d.c .................... Error! Bookmark not defined.
Chƣơng 5. PHÂN TÍCH VÀ CÀI ĐẶT THỬ NGHIỆM ... Error! Bookmark
not defined.
5.1. Cài đặt ............................................................ Error! Bookmark not defined.
5.1.1. MBSAS .................................................... Error! Bookmark not defined.
5.1.2. TTSAS ..................................................... Error! Bookmark not defined.
5.1.3. GAS .......................................................... Error! Bookmark not defined.
5.1.4. GDS .......................................................... Error! Bookmark not defined.
5.2. Mô phỏng các cụm ........................................ Error! Bookmark not defined.
5.2.1. Sinh dữ liệu và khởi tạo thuật toán. ......... Error! Bookmark not defined.
5.3. Kết quả thử nghiệm ...................................... Error! Bookmark not defined.
5.3.1. Ảnh hưởng của các tham số ..................... Error! Bookmark not defined.
KẾT LUẬN ......................................................... Error! Bookmark not defined.
Hƣớng phát triển của đề tài .............................. Error! Bookmark not defined.
TÀI LIỆU DẪN .............................................................................................. 11
PHỤ LỤC: MÃ NGUỒN CỦA MỘT SỐ THUẬT TOÁN Error! Bookmark
not defined.
-5-
DANH SÁCH HÌNH VẼ
Hình 1-1. Các bƣớc thực hiện trong quá trình khai phá tri thức ...... Error! Bookmark not defined.
Hình 1-2. Các bƣớc trong quá trình phân cụm ................................... Error! Bookmark not defined.
Hình 1-3. Hình dạng các loại cụm......................................................... Error! Bookmark not defined.
Hình 1-4. Phân bố các vector rời rạc trên lƣới ℓ - chiều ..................... Error! Bookmark not defined.
Hình 1-5. Các loại cụm và đại diện của nó ........................................... Error! Bookmark not defined.
Hình 2-1. Sự phụ thuộc của số cụm đƣợc tạo ra và số cụm lớn nhất đƣợc phép q.Error! Bookmark not define
Hình 2-2. Đồ thị ƣớc lƣợng số cụm ....................................................... Error! Bookmark not defined.
Hình 2-3. Minh hoạ phân cụm bằng thuật toán MBSAS (a) và bằng thuật toán TTSAS (b)Error! Bookmark
Hình 3-1. Sơ đồ phân cụm phân cấp với tập dữ liệu X trong ví dụ 3.2Error! Bookmark not defined.
Hình 3-2. Minh hoạ sơ đồ tƣơng tự và không tƣơng tự. .................... Error! Bookmark not defined.
Hình 3-3. Tập dữ liệu X (a) và Sơ đồ không tƣơng tự sinh ra bởi thuật toán liên kết đơn (b),
thuật toán liên kết đầy đủ (c). ...................................................... Error! Bookmark not defined.
Hình 3-4 . Sơ đồ không tƣơng tự sinh ra bởi thuật toán Liên kết đơn, Liên kết đầy đủ,
UPGMC và WPGMC với hiện tƣợng crossover . ....................... Error! Bookmark not defined.
Hình 3-5. Minh hoạ đƣờng đi và các loại đồ thị. ................................ Error! Bookmark not defined.
Hình 3-6. Các đồ thị ngƣỡng và đồ thị gần gũi xây dựng từ ma trận không tƣơng tự P(X) của
ví dụ 3.2 .......................................................................................... Error! Bookmark not defined.
Hình 3-7. Đồ thị với khả năng liên kết cạnh và đỉnh bằng 2 và bậc của đỉnh là 3Error! Bookmark not defined
Hình 3-8 . Các đồ thị ngƣỡng của ma trận không tƣơng tự P trong ví dụ 3.5Error! Bookmark not defined.
Hình 3-9. Đồ thị gần gũi G(13) sinh ra từ ma trận không tƣơng tự P trong ví dụ 3.6Error! Bookmark not def
Hình 3-10. Các sơ đồ phân cụm dùng thuật toán GTAS thoả thuộc tính h(k) của ví dụ 3.6Error! Bookmark n
Hình 3-11. Sơ đồ ngƣỡng của ví dụ 3.6 với thuộc tính bậc của đỉnh k =3Error! Bookmark not defined.
Hình 3-12. Cây khung nhỏ nhất của ma trận không tƣơng tự (a) và Sơ đồ không tƣơng tự
tƣơng ứng khi áp dụng thuật toán dựa trên MST (b) cho trong ví dụ 3.7.Error! Bookmark not defined.
Hình 3-13. Các sơ đồ minh hoạ cho trƣờng hợp ma trận không tƣơng tự có hai phần tử bằng
nhau trong ví dụ 3.8....................................................................... Error! Bookmark not defined.
Hình 3-14. Sơ đồ không tƣơng tự đạt đƣợc bởi thuật toán liên kết đơn (a) và thuật toán liên
kết đầy đủ (b) với ma trận P1........................................................ Error! Bookmark not defined.
Hình 3-15. Minh hoạ các bƣớc phân cụm của sơ đồ GDS .................. Error! Bookmark not defined.
Hình 3-16. Sơ đồ trong trƣờng hợp có hai cụm chính (a) và có cụm duy nhất (b) trong tập dữ
liệu. .................................................................................................. Error! Bookmark not defined.
-6Hình 3-17. Ví dụ về độ đo “Tự - tương tự” (a) và mô phỏng điều kiện kết thúc của phƣơng
pháp II (b) ..................................................................................... Error! Bookmark not defined.
Hình 4-1. Sơ đồ nhánh cận .................................................................... Error! Bookmark not defined.
Hình 4-2. Các đƣờng cong sống sót đại diện cho 3 cụm của 194 bệnh nhân ung thƣ khi áp
dụng thuật toán k-Median. ........................................................... Error! Bookmark not defined.
Hình 4-3. Các đƣờng cong sống sót đại diện cho 3 cụm của 194 bệnh nhân ung thƣ khi áp
dụng thuật toán k-Mean. .............................................................. Error! Bookmark not defined.
Hình 5-1. Quan sát 5 cụm đƣợc tạo ra ................................................ Error! Bookmark not defined.
Hình 5-2: Màn hình sinh dữ liệu .......................................................... Error! Bookmark not defined.
Hình 5-3. Màn hình thiết lập thông số cho các thuật toán.................. Error! Bookmark not defined.
Hình 5-4. Ý nghĩa của việc chọn tham số đúng đắn. ........................... Error! Bookmark not defined.
Hình 5-5. Ý nghĩa đúng đắn của số cụm tạo ra. .................................. Error! Bookmark not defined.
DANH SÁCH BẢNG BIỂU
Bảng 3-1. Các kết quả của 7 thuật toán đã thảo luận khi áp dụng ma trận gần gũi của ví dụ 3.4Error! Bookma
Bảng 5-1: Thời gian thực hiện của các thuật toán với dữ liệu khác nhauError! Bookmark not defined.
-7-
BẢNG TỪ VIẾT TẮT
Từ tiếng Anh
Từ hoặc cụm từ
Từ tiếng Việt
BLP
BiLinear Programming
Quy hoạch song tuyến tính
BSAS
Basic Sequential Algorithmic
Scheme
Sơ đồ thuật toán phân cụm tuần tự
cơ sở
CSDL
D.C
DM
GAS
Data Base
Difference of two Convex functions
Dissimilarity Measure
Generalized Agglomerative Scheme
Cơ sở dữ liệu
Hiệu hai hàm lồi
Độ đo không tương tự
Sơ đồ tích tụ tổng quát
GDS
Generalized Divisive Scheme
Sơ đồ phân rã tổng quát
GTAS
Graph Theory – based Algorithmic
Scheme
KDD
Knowledge Discovery in Databases
LP
Linear Programming
Sơ đồ thuật toán dựa trên lý thuyết
đồ thị
Khai phá tri thức trong cơ sở dữ
liệu
Quy hoạch tuyến tính
MBSAS
Modified Basic Sequential
Algorithmic Scheme
Sơ đồ thuật toán phân cụm tuần tự
cơ sở sửa đổi
MST
Minimum Spanning Tree
Cây khung nhỏ nhất
MUAS
Matrix Updating Algorithmic
Scheme
Sơ đồ thuật toán biến đổi ma trận
SM
Similarity Measure
Độ đo tương tự
TTSAS
Two – Threshold Sequential
Algorithmic Scheme
Sơ đồ thuật toán tuần tự 2 ngưỡng
UPGMA
Unweighted Pair Group Method
Average
Phương pháp trung bình theo cặp
không trọng số
UPGMC
Unweight Pair Group Method
Centroid
Phương pháp trọng tâm theo cặp
không chọn số
WPGMA
Weighted Pair Group Method
Average
Phương pháp trung bình theo cặp
trọng số
WPGMC
Weighted Pair Group Method
Centroid
Phương pháp trọng tâm theo cặp
trọng số
TỪ KHOÁ
Clustering
algorithms,
Sequential
Clustering
algorithms,
Hierarchical
Clustering
algorithms, Clustering Algorithms Based on Cost Function Optimization, Clustering via
D.C Optimization, Clustering via Mathematical Programming, Mathematical Programming
in data mining, Optimization Global, Clustering software…
-8-
LỜI CẢM ƠN
Tôi xin tỏ lòng biết ơn sâu sắc tới thầy giáo TS. Vũ Như Lân - người hướng
dẫn khoa học - đã chỉ bảo tận tình và động viên tôi trong quá trình nghiên cứu. Tôi
xin chân thành biết ơn tới thầy giáo: PGS.TSKH Bùi Công Cường, GS. TSKH
Hoàng Tuỵ , TS. Nguyễn Thị Hoài Phương … viện Toán học Việt Nam, đã định
hướng nghiên cứu cho tôi, có những góp ý sâu sắc trong chuyên môn, cung cấp tài
liệu trong quá trình học tập và nghiên cứu.
Tôi xin bày tỏ lòng biết ơn đến các thầy giáo trường Đại học Công Nghệ Đại học Quốc Gia Hà Nội: PGS.TS. Hà Quang Thuỵ, PGS.TS. Trịnh Nhật Tiến,
PGS.TS Nguyễn Văn Vỵ, PGS.TS Hoàng Xuân Huấn, TS. Nguyễn Đại Thọ, PGS.TS.
Nguyễn Đình Việt, TS. Bùi Thế Duy, TS. Nguyễn Hải Châu… và các thầy cô giáo
khác đã trực tiếp giảng dạy, góp ý chuyên môn, động viên tôi trong suốt các năm
học qua.
Cuối cùng tôi xin bày tỏ lòng biết ơn đến gia đình, bạn bè và các đồng nghiệp
đã chia sẻ và động viên tôi hoàn thành luận văn.
Học viên
Trần Nguyên Hƣơng
-9-
MỞ ĐẦU
Ngày nay, cùng với sự phát triển mạnh mẽ của công nghệ phần cứng và truyền
thông, các hệ thống dữ liệu phục vụ cho các lĩnh vực kinh tế - xã hội cũng không
ngừng tăng lên, lượng dữ liệu được tạo ra ngày càng lớn. Sự phong phú về dữ liệu,
thông tin cùng với khả năng kịp thời khai thác chúng đã mang đến những năng suất
và chất lượng mới cho công tác quản lý, hoạt động kinh doanh,…Nhưng rồi các yêu
cầu về thông tin trong các lĩnh vực hoạt động đó, đặc biệt trong lĩnh vực ra làm
quyết định, ngày càng đòi hỏi cao hơn, người quyết định không những cần dữ liệu
mà còn cần có thêm nhiều hiểu biết, nhiều tri thức để hỗ trợ cho việc ra quyết định
của mình. Cho đến những năm 90 của thế kỷ trước, nhu cầu khám phá tri thức mới
thực sự bùng nổ, theo đó, hàng loạt các lĩnh vực nghiên cứu về tổ chức các kho dữ
liệu và kho thông tin, các hệ trợ giúp quyết định, các thuật toán nhận dạng mẫu và
phân lớp mẫu, …và đặc biệt là khai phá dữ liệu (Data Mining) ra đời.
Từ khi ra đời, khai phá dữ liệu đã trở thành một trong những hướng nghiên
cứu phổ biến trong lĩnh vực khoa học máy tính và công nghệ tri thức. Nhiều kết quả
nghiên cứu, ứng dụng của khai phá dữ liệu trong các lĩnh vực khoa học, kinh tế, xã
hội. Khai phá dữ liệu bao hàm nhiều hướng nghiên cứu quan trọng, một trong số đó
là phân cụm dữ liệu (Data Clustering). Phân cụm dữ liệu là quá trình tìm kiếm và
phát hiện ra các cụm hoặc các mẫu dữ liệu tự nhiên trong cơ sở dữ liệu lớn. Các kỹ
thuật chính được áp dụng trong phân cụm dữ liệu phần lớn được kế thừa từ lĩnh vực
thống kê, học máy, nhận dạng, lượng hoá, .. Đến nay, đã có nhiều ứng dụng phân
cụm dữ liệu cho việc giải quyết các vấn đề trong các lĩnh vực như tài chính, thông
tin địa lý, sinh học, nhận dạng ảnh,… Trong thời gian gần đây, trong lĩnh vực phân
cụm dữ liệu, người ta tập trung chủ yếu vào nghiên cứu, phân tích các mô hình dữ
liệu phức tạp như dữ liệu văn bản, Web, hình ảnh,…và đặc biệt là mô hình dữ liệu
hỗn hợp để áp dụng chúng trong phân cụm dữ liệu.
Ở Việt Nam, trong những năm trở lại đây, nhu cầu về tự động khám phá tri
thức từ các dữ liệu sẵn có nhằm tăng năng lực cạnh tranh của các ngành kinh tế đang
phát triển nhanh. Vì vậy, tôi chọn hướng nghiên cứu "Một số thuật toán phân cụm
dữ liệu trong khai phá dữ liệu" làm đề tài nghiên cứu cho luận văn của mình. Luận
văn trình bày có hệ thống một số họ thuật toán phân cụm dữ liệu điển hình, bao gồm
các cách tiếp cận và đặc điểm ứng dụng.
- 10 Cấu trúc nội dung của luận văn bao gồm các phần nhƣ sau:
Chương 1: Trình bày tổng quan về khai phá dữ liệu, phân cụm, các thuật toán
phân cụm và phân loại trong khai phá dữ liệu đồng thời trình bày các khái niệm cơ
bản về một số độ đo tương tự, không tương tự….
Chương 2 và chương 3: Trình bày về các thuật toán phân cụm truyền thống
gồm họ các thuật toán phân cụm tuần tự và thuật toán phân cụm phân cấp điển hình
và chỉ ra các ưu điểm, nhược điểm của chúng.
Chương 4: Tập trung nghiên cứu và giải quyết bài toán cụm theo tâm dựa vào
tối ưu hoá. Có hai cách tiếp cận được đưa ra là phân cụm qua quy hoạch toán học và
phân cụm qua tối ưu hoá d.c. Để khẳng định tính hiệu quả của cách tiếp cận, luận
văn trình bày lại các kết quả thí nghiệm phân cụm các bệnh nhân ung thư vú trong
cơ sở dữ liệu của đại học Wisconsin. Đây là các công trình nghiên cứu của GS.
TSKH Hoàng Tuỵ (viện Toán học Việt Nam), GS. Mangasarian (đại học Wisconsin,
Madison) và các cộng sự.
Chương 5: Phân tích và cài đặt thử nghiệm phân cụm tập dữ liệu là các vector
trong không gian ba chiều sử dụng một số thuật toán tiêu biểu như MBSAS, TTSAS,
GAS, GDS. Chúng ta đưa ra cách cài đặt và các kết quả đạt được.
Phần kết luận trình bày tóm tắt về các nội dung thực hiện trong luận văn,
đồng thời đưa ra các vấn đề nghiên cứu tiếp cho tương lai. Phần phụ lục trình bày
một số modul chương trình cài đặt cho các thuật toán MBSAS, TTSAS, GAS, GDS.
Do thời gian nghiên cứu và trình độ có hạn, luận văn không tránh khỏi có
những hạn chế và thiếu sót. Tôi xin được tiếp thu ý kiến, đánh giá, chỉ bảo của các
thầy giáo cũng như các bạn bè và đồng nghiệp. Tôi xin chân thành cảm ơn.
Hà Nội, tháng 10 năm 2007
Học viên
Trần Nguyên Hƣơng
- 11 -
TÀI LIỆU DẪN
Tài liệu tiếng Việt
[1] Hoàng Tuỵ (2006), "Lý thuyết tối ưu" (Bài giảng lớp cao học), Viện Toán học Hà Nội,
2006.
[2] Hoàng Tuỵ (2005), Hàm thực và giải tích hàm, Nhà xuất bản Đại học Quốc gia Hà Nội.
Tài liệu tiếng Anh
[3] Alan Rea (1995), Data Mining – An Introduction. The Parallel Computer Centre,
Nor of The Queen’s University of Belfast.
/>[4] A.M. Gagirov, A.M. Rubinov, A. Stranieri and J. Yearwood (1999). The global
optimization approach to the clustering analysis. Woking paper 45/99, University of
Ballarat, Australia.
[5] Boberg J., Salakoski T. “General formulation and evaluation of agglomerative
clustering methods with metric and non-metric distances,” Pattern Recognition, Vol. 26(9),
pp. 1395-1406, 1993.
[6] H. Tuy (1997), "A general d.c. approach to location problems", in State of the Art in
Global optimization: Computational Methods and Application, eds. C. Floudas and
P.Pardalos, eds., Kluwer, 413-432.
[7] H. Tuy (1998), "Convex Analysis and Global Optimization", Kluwer.
[8] H. Tuy (1999), Monotonic Optimization: Problems and Solution Approaches, Preprint,
Institute of Mathematics, Hanoi.
[9] H.Tuy , A.M. Gagirov, A.M. Rubinov: Clustering via D.C. Optimization. Research
Report 00/13 (2000), School of Information Technology and Mathematical Sciences,
Univerity of Ballarat. Submitted.
[10] Jiawei Han and Micheline Kamber (2001), Data Mining : Concepts and Techniques,
Hacours Science and Technology Company, USA.
[11] Lance G.N., Williams W.T. “A general theory of classificatory sorting strategies: II.
Clustering System.” Computer Journal, Vol. 10, pp. 271-277, 1967.
[12] MacQuenn J.B. “Some methods for classification and analysis of multivariate
observations,” Proceedings of the Symposium on Mathematical Statistics and Probability,
5th Berkeley, Vol. 1, pp. 218-297, AD 669871, University of California Press, 1967.
[13] Maria Halkidi (2001), On Clustering Validation Techniques, Kluwer Academic
Publishers, Holland.
- 12 [14] O.L Mangasarian (1987) Mathematical Programming in Data Mining, in Data Mining
and Knowledge Discovery 1, 183-201.
[15] O.L Mangasarian, W.N. Street and W.H Wolberg: Breast cancer diagnosis and
prognosis via linear Programming. Operations research 4(1995), 570-577.
[16] P.S. Bradley, O.L. Magasarian and W.N Street (1997), Clustering via cancave
Minimization, Techincal Report 96-03, Computer Sciences Department, University of
Wisconsin, Madison, Wisconsin, May 1996. Advances In Neural Information processing
Systems 9. MIT Press, Cambridge, MA, 368-374, M.C. Mozer, M.I.Jordan and T. Petsche,
editors. Available by />[17] R. Horst and H. Tuy (1996), "Global Optimization" (Deterministic Approaches),
Springer, third edition.
[18] W.H. Wolberg, W.N Street and O.L. Magasarian (1994), Machine learning techniques
to diagnose breast cancer from fine-needle aspirates. Cancer Letters, 77, 163-171.
[19] Yu. G. Evtushenko (1982), Solution Methods of Extremal Problems and Their
Application to optimization System, Moscow, Nauka. (In Russian)