1. Trang chủ
  2. » Công Nghệ Thông Tin

đề tài “Mô hình bài toán bổ nhiệm, bài toán sản xuất đồng bộ và ứng dụng”

43 864 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 43
Dung lượng 1,25 MB

Nội dung

đề tài luận văn thạc sĩ công nghệ thông tin tìm hiểu cơ sở toán học của lý thuyết tối ưu và một số mô hình trong kinh tế thường gặp, cách giải quyết những bài toán kinh tế này và bước đầu ứng dụng qua những ví dụ cụ thể

Trang 1

LỜI CÁM ƠN

DANH SÁCH CÁC BẢNG DANH SÁCH CÁC HÌNH

MỤC LỤC

LỜI MỞ ĐẦU

Trang 2

Chương 1

MÔ HÌNH BÀI TOÁN TỐI ƯU HÓA

Trong chương này, luận văn sẽ trình bày một số kiến thức cơ bản về mô hìnhtổng quát của bài toán tối ưu hóa, việc phân loại các bài toán tối ưu và cơ sở toán họccủa bài toán tối ưu Các kiến thức này được tham khảo trong các tài liệu [1, 2, 3, 4]

1.1 Các khái niệm cơ bản

1.1.1 Mô hình tổng quát bài toán tối ưu hóa

Tối ưu hóa là một trong những lĩnh vực quan trọng của toán học có ảnh hưởngđến hầu hết các lĩnh vực khoa học, công nghệ và kinh tế và xã hội Việc tìm giải pháptối ưu cho một bài toán thực tế nào đó chiếm một vai trò hết sức quan trọng như việctiến hành lập kế hoạch sản xuất hay thiết kế hệ thống điều khiển các quá trình … Nếu

sử dụng các kiến thức trên nền tảng của toán học để giải quyết các bài toán cực trị,người ta sẽ đạt được hiệu quả kinh tế cao Điều này phù hợp với mục đích của các vấn

đề đặt ra trong thực tế hiện nay

Bài toán tối ưu tổng quát được phát biểu như sau:

Cực đại hóa (cực tiểu hóa) hàm:

Trang 3

gian n

R Tập các véc tơ X thỏa mãn hệ ràng buộc lập nên một miền D được gọi làmiền phương án (hay miền chấp nhận được), mỗi điểm XD gọi là một phương án.Một phương án X* D làm cho hàm mục tiêu f X( ) đạt max (min) được gọi là phương

án tối ưu

1.1.2 Phân loại bài toán tối ưu

Dựa trên mô hình tổng quát, người ta thường phân loại lớp các bài toán tối ưunhư sau:

Qui hoạch tuyến tính: là những bài toán mà hàm mục tiêu f X( )và tất cả cáchàm ràng buộc g X g X g X i( ), j( ), k( ) là tuyến tính.

Qui hoạch phi tuyến: là những bài toán một trong hàm mục tiêu f X( ) hoặccác hàm ràng buộc g X g X g X i , j , k  là phi tuyến

Qui hoạch lồi: Là các bài toán qui hoạch mà các hàm mục tiêu f X( ) là lồi trêntập các ràng buộc D lồi

Qui hoạch lõm: Là các bài toán qui hoạch mà các hàm mục tiêu f X( ) là lõmtrên tập các ràng buộc D lõm

Qui hoạch rời rạc: Bài toán tối ưu được gọi là qui hoạch rời rạc nếu miền ràng

buộc D là tập hợp rời rạc Trong trường hợp riêng khi các biến chỉ nhận giá trịnguyên thì ta có qui hoạch nguyên

Qui hoạch đa mục tiêu: Nếu trên cùng một miền ràng buộc ta xét đồng thời

các hàm mục tiêu khác nhau

Trong các lĩnh vực kinh tế kỹ thuật thì qui hoạch phi tuyến, qui hoạch tuyến tính lànhững bài toán thường gặp

1.2 Bài toán quy hoạch tuyến tính

Từ một số các mô hình trong thực tế, ta có mô hình tổng quát cho bài toán quyhoạch tuyến tính như sau:

Xác định các biến x j j( 1, 2, , )n sao cho:

Trang 4

j 1

Với M 1, 2, ,m , N 1, 2, ,n

Vectơ X x x1, , ,2 x n thỏa mãn các điều kiện (1.5) - (1.7) được gọi là mộtphương án của bài toán Tập các nghiệm thỏa mãn hệ ràng buộc được gọi là miềnphương án ký hiệu là D Phương án thỏa mãn điều kiện để hàm mục tiêu đạtMax(min) được gọi là phương án tối ưu

Dạng chính tắc:

j 1

( )

n j j

( )

n j j

Trang 5

  ax(min)

n

x x X x

m

b b b b

1.3 Một số thuật toán kinh điển

1.3.1 Thuật toán đơn hình

1.3.1.1 Mô tả thuật toán gốc

Cơ sở của phương pháp này được Dantzig công bố năm 1947 có tên gọi làphương pháp đơn hình Xuất xứ tên gọi như vậy vì những bài toán đầu tiên được giảibằng phương pháp đó có các ràng buộc dạng:

1.3.1.2 Tư tưởng chung

Phương pháp đơn hình dựa trên hai nhận xét sau:

 Nếu bài toán QHTT có phương án tối ưu thì có ít nhất một đỉnh của D làphương án tối ưu

 Đa diện lồi D có một số hữu hạn đỉnh

Như vậy phải tồn tại một thuật toán hữu hạn Thuật toán gồm 2 bước như sau:

Bước 1: Tìm 1 phương án cực biên.

Bước 2: Kiểm tra điều kiện tối ưu đối với phương án đó.

+ Nếu điều kiện tối ưu được thoả mãn thì phương án đó là tối ưu nếu không ta

Trang 6

chuyển sang phương án cực biên mới sao cho làm tốt hơn giá trị hàm mục tiêu.

+ Kiểm tra điều kiện tối ưu đối với phương án mới

Người ta thực hiện một dãy các thủ tục như vậy cho đến khi nhận được phương

án tối ưu, hoặc đến tình huống bài toán không có phương án tối ưu

Giả sử X là một phương án cực biên nào đó

Vì các véc tơ A j J j,  * là độc lập tuyến tính nên | *|Jm

Định nghĩa 1.1: Phương án cực biên X được gọi là không suy biến nếu

| *|Jm, suy biến nếu | *|Jm

Ta chọn một hệ thống m véc tơ độc lập tuyến tính  A j J j,   sao cho JJ*

Hệ thống đó là cơ sở của X , các véc tơ A j J j,  và biến x j J j,  được gọi là các véc

tơ và các biến cơ sở tương ứng Các véc tơ và các biến A x j, ,(j j J )gọi là các véc tơ

và các biến phi cơ sở

Nếu X không suy biến thì tồn tại một cơ sở duy nhất, đó là JJ*

Mọi véc tơ A k phi cơ sở có thể biểu diễn dưới dạng tổ hợp tuyến tính của cácvéc tơ cơ sở:

Trang 8

2 Người ta có thể chứng minh rằng nếu bài toán không suy biến thì (2.8) cũng là

điều kiện cần của bài toán tối ưu

Định lý 1.2: Nếu tồn tại một chỉ số k sao cho  k 0 thì ta có thể tìm được ít nhất một phương án X' mà đối với nó Z' Z

Trong thực tế Dantzig đã chứng minh rằng số các bước lặp sẽ giảm đáng kể nếu

ta thay véc tơ A k bởi véc tơ A s thỏa mãn s min k | k 0

,,

js

r j rs j

r rs

x

z x

x

j r z

1.3.1.4 Thuật toán đơn hình

Bước 1: Tìm một phương án cực biên xuất phát X và cơ sở của nó A j J j, 

 Nếu X không phải là nghiệm tối ưu:

Trang 9

o ( k J), k 0 và z jk   0, j J bài toán QHTT không có nghiệm tối

ưu Thuật toán dừng

o Đối với mỗi k J sao cho  k 0 đều tồn tại j J z : jk  0 chọn

  Đưa véc tơ A r ra khỏi cơ sở

Bước 4: Xác định phương án cực biên mới X' với cơ sở J'J \ r  s

Quay trở lại bước 2

1.3.1.5 Công thức đổi cơ sở, 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' Xuất phát từ công thức (2.10) cho phép tính các

thành phần của X' Ta cần thiết lập công thức tính các số '

Trang 10

,,

rk

rs jk

rk rs

z

z z

z

j r z

10 0

0…

1 0

0…

0 1

0…

0 0

0…

0 0

xm

0

0

0

0

1

zmk

zms

zmn

Bảng 1.1: Bảng đơn hình

Sử dụng các phương pháp biến đổi theo thuật toán sau

- Nếu tất cả các số trong hàng cuối (trừ F) đều  0, nghĩa là   k 0, k, khi đó

X là phương án tối ưu Thuật toán dừng

Trang 11

- Nếu hàng cuối (không kể F) tồn tại số âm mà mọi số trong cột tương ứng đều

0

 thì bài toán không tồn tại phương án tối ưu

Ngược lại:

+ Chọn cột s sao cho: s mink| k 0 , Cột s gọi là cột xoay Véc tơ A s

được đưa vào cơ sở

+ Chọn hàng r mà tỉ số: r min j | 0

x x

Véc tơ A r bị đưa ra khỏi cơ sở

Phần tử z  rs 0 là giao của cột xoay và dòng xoay gọi là phần tử trục Các phần

tử z js,j r gọi là phần tử xoay

Theo các công thức (2.10), (2.11), (2.14), bảng đơn hình mới suy được từ bảngđơn hình cũ bằng cách thay c A r, r trong hàng xoay bằng c A s, s Sau đó thực hiện cácphép biến đổi dưới đây:

1) Chia mỗi phần tử ở hàng xoay cho phần tử trục, kết quả thu được gọi là hàngchuẩn

2) Đối với các hàng còn lại thực hiện biến đổi theo công thức

Hàng mới = hàng cũ tương ứng – Hàng chuẩn phần tử xoay.

Toàn thể phép biến đổi trên gọi là phép quay xung quanh trục z rs Sau khi thựchiện phép xoay ta có một phương án mới và một cơ sở mới, tiến hành kiểm tra điềukiện tối ưu

1.3.2 Thuật toán đơn hình mở rộng

Trang 12

Ta đưa thêm vào một số ẩn cơ sở mới x n1, ,x n m và chuyển bài toán về dạng

+ Đối với bài toán max, nếu giải trực tiếp thì ta sẽ thêm M vào hàm mục tiêu Trên cơ sở lý thuyết trên, thuật toán đơn hình tổng quát được mô tả bằng sơ đồkhối sau đây:

Trang 13

Hình 1.1: Sơ đồ khối thuật toán đơn hình

Thuật toán đơn hình có thể thực hiện trên máy tính điện tử thông qua một phầnmềm tính toán Với những bài toán QHTT có biến số quá lớn (như dạng bài toán vậntải), trong thực tế không thể giải bằng phương pháp đơn hình được, lúc này người ta sửdụng 1 thuật toán khác được gọi là thuật toán phân phối

Trang 14

1.3.3 Thuật toán phân phối

1.3.3.1 Thuật toán phân phối

Một loại hàng hoá nào đó cần được vận chuyển từ m nơi giao (trạm phát)

1, 2, , m

A A A với các lượng hàng dự trữ tương ứng là a a1, , ,2 a m tới n nơi nhận (trạmthu) B B1, 2, ,B n với các yêu cầu tương ứng là b b1, , ,2 b n Ký hiệu cij là cước phí vậnchuyển một đơn vị hàng hoá từ nơi giao A i tới nơi nhận B j Hãy xác định những đạilượng xij cho mọi con đường  ,i j sao cho tổng cước phí vận chuyển là nhỏ nhất Bài toán được mô tả bằng bảng

ma trận vận chuyển sau đây:

Trang 15

Khi đó bài toán vận tải tương đương với mô hình bài toán tối ưu sau đây:

1

m

j i

1

n

i j

Hệ gồm m n phương trình đại số tuyến tính với m n ẩn

Trong số tất cả các nghiệm không âm của hệ (2.16) - (2.18) cần tìm một nghiệmsao cho hàm mục tiêu (2.15) đạt giá trị nhỏ nhất

Các tính chất của bài toán vận tải

Bài toán vận tải luôn có phương án tối ưu

Nếu bài toán không cân bằng thu - phát thì ta luôn đưa được về dạng cân bằngbằng cách:

Trang 16

Một số định nghĩa

 Ô nằm trong dòng i, cột j ký hiệu là  ,i j Một ô  ,i j mà x ij 0 gọi là ô

chọn, các ô còn lại được gọi là ô loại

 Một dãy các ô được gọi là dây chuyền nếu dãy ô đó có tính chất cứ 2 ô liên tụccủa dãy thì cùng nằm trên một dòng (hoặc một cột) Cứ 3 ô liên tục của dãy thì khôngthể cùng nằm trên một dòng (hoặc một cột)

 Chu trình (hay vòng) là một dây truyền mà ô đầu tiên và ô cuối cùng trên cùngmột dòng (hoặc một cột)

Định lí 2.3: Điều kiện cần và đủ để một dãy ô chứa vòng là hệ véc tơ A ij tương ứng phụ thuộc tuyến tính.

Hệ quả:

1 Một dãy ô không chứa vòng  Hệ véc tơ tương ứng độc lập tuyến tính

2 Một phương án cực biên của bài toán vận tải có tối đa m n  1 ô chọn

Định nghĩa 2.2: Một phương án cực biên có đúng m n  1 ô chọn gọi làphương án cực biên không suy biến

3 Bất kỳ m n ô trở lên đều chứa vòng

Định lí 2.4: Nếu tập E gồm m n  1 không tạo thành vòng, khi thêm một ô không thuộc tập E vào tập E ta sẽ được một vòng duy nhất.

Hệ quả: Giả sử tập ô tạo thành vòng duy nhất thì khi bỏ đi một ô, các ô còn lại

không tạo thành vòng

1.3.3.2 Thuật toán phân phối

Trang 17

Giả sử ta có một phương án cực biên không suy biến X0, xét một vòng loại ứngvới ô loại  ,i j, bắt đầu từ ô loại  ,i j ta đánh số thứ tự 1,2,…

 Tập các ô có số thứ tự lẻ gọi là nửa vòng lẻ V l

 Tập các ô có số thứ tự chẵn gọi là nửa vòng chẵn V c

Như vậy số ô của V l bằng số ô của V c

Số kiểm tra của ô loại  ,i j là:

+ Nếu với mọi ô loại ,i j ta đều có  ij 0 thì X0 là phương án tối ưu.

+ Nếu tồn tại một ô loại ,i j ij 0 thì X0chưa tối ưu và có phương án mới tốt hơn.

1.3.3.3 Sơ đồ mô tả thuật toán phân phối

-17TrueBắt đầu

e

Trang 18

Hình 1.2: Sơ đồ thuật toán phân phốiĐiều kiện của phương án X0 là có m n  1 ô chọn không tạo thành vòng.Thuật toán phân phối được thực hiện theo các bước như sau

Bước 1: Xác định phương án cực biên không suy biến ban đầu X0

Sử dụng 1 trong 3 phương pháp sau đây

1) Phương pháp góc tây bắc:

Xây dựng nghiệm chấp nhận được của bài toán bắt đầu bằng việc chuyên chởlớn nhất có thể được từ điểm phát thứ nhất tới điểm thu thứ nhất (do đó được gọi làphương pháp góc tây bắc) tức làxijmina b1, 1 Quá trình lặp lại theo đúng quy tắc

như vậy cho đến khi phân phối xong

2) Phương pháp cực tiểu cước phí:

Trang 19

Xác định ô ( , )i j0 0 với c i j0 , 0 minc i j, , ( , )i j  Nếu cực tiểu đạt tại nhiều ô thì tachọn một ô theo quy tắc từ vựng Sau đó phân phối hàng nhiều nhất có thể được theotuyến i0  j0 một lượng: x i j0 , 0 mina b i0, j0 Quá trình lặp lại cho đến khi phân phốixong.

3) Phương pháp Fogel

Định nghĩa 2.3: Hiệu giữa giá trị cước phí nhỏ thứ nhì và nhỏ nhất trên cùng

một cột (hoặc một dòng) được gọi là độ lệch của cột (dòng)

Để tìm phương án ban đầu ta làm như sau:

 Chọn cột (dòng) có độ lệch lớn nhất ưu tiên phân phối trước, phân phối tối đavào ô có cước phí min của cột (dòng) đã chọn (đối với bài toán max, độ lệch là cướcphí lớn nhất và lớn nhì)

 Lặp lại quá trình

Bước 2: Tính các số kiểm tra

Thực hiện theo phương pháp quy không ô chọn: Chọn các số r i, s j sao cho đốivới các ô chọn thì cij r s i j 0 Khi đó số kiểm tra của các ô loại lúc này là cij r s i j

Nếu tồn tại một số kiểm tra bằng 0, mọi số kiểm tra còn lại đều dương thì bàitoán có vô số phương án tối ưu

Bước 3: Điều chỉnh để tìm phương án mới

Giả sử ô loại  ,i j có số kiểm tra  ij 0 ta điều chỉnh các số liệu của các ôthuộc vòng loại này như sau:

Trang 20

Khi điều chỉnh như vậy thì ô loại trở thành ô chọn và ít nhất một ô chọn trởthành ô loại.

Quay lại bước 2.

Tương tự như thuật toán đơn hình, thuật toán phân phối cũng được thực hiệnbằng 1 phần mềm tính toán trên máy tính điện tử

Trên cơ sở các thuật toán đã trình bày, chúng ta có thể sử dụng các ngôn ngữlập trình cơ bản như C++, Pasal, Java để thực hiện thuật toán trên máy tính điện tử.Một trong những phương pháp thông dụng hiện nay đối với các kĩ sư không chuyên tin

là sử dụng các phần mềm có sẵn để tìm nghiêm của các bài toán quy hoạch tuyến tính

Sau đây là một phương pháp sử dụng phần mềm Matlab giải bài toán quy hoạchtuyến tính:

Trang 21

Chương 2:

MỘT SỐ MÔ HÌNH CƠ BẢN

Trong chương này, luận văn sẽ trình bày một số mô hình cơ bản thuật toán điềuchỉnh nhân tử giải bài toán sản xuất đồng bộ, thuật toán Hungary giải bải toán bổnhiệm… là các thuật toán đặc trưng trong ngành Công nghệ thông tin

2.1 Bài toán sản xuất đồng bộ

2.1.1 Bài toán sản xuất đồng bộ

Giả sử có một số loại máy cùng tham gia vào một qui trình sản xuất các chi tiếtcho một loại sản phẩm nào đó Năng suất của các máy khi sản xuất các chi tiết khácnhau cũng khác nhau Bài toán đặt ra là: phải bố trí công việc cho các máy trong mộtđơn vị thời gian sao cho việc sản xuất được “ đồng bộ” để đạt được hiệu quả cao nhất,sản xuất ra nhiều sản phẩm nhất

Bài toán được đặt ra với giả thiết: Mỗi loại máy chỉ có một cái và mỗi sản phẩmchỉ cần đúng một chi tiết cho mỗi loại (một đơn vị thời được hiểu là một ca làm việc.)

Với mọi n  *, ký hiệu: I n 1, 2, ,n

2.1.2 Mô hình bài toán sản xuất đồng bộ tổng quát

m loại máy M i I i,(  m), mỗi loại một cái, sản xuất ra n loại chi tiết

Số lượng chi tiết j sản xuất được trong một ca là:

ij ij 1

m j i

Trang 22

Với mọi i Imj In, đặt xij là phần thời gian trong một ca mà máy M i dùng

để sản xuất chi tiết C j, và z là số sản phẩm được sản xuất ra trong một ca

ij ij 1 ij

1,

0,

0, ,0

n

m j

m

n i

Trang 23

Do đó bảng này còn được gọi là bảng năng suất của bài toán sản xuất đồng bộ

Các tính chất của bài toán:

1) Vectơ x z i Iij, ,  m,j In thoả mãn tất cả các ràng buộc của bài toán là mộtphương án của bài toán Tuy nhiên, bất kỳ vectơ  xij nào thoả mãn các ràng buộc củabài toán cũng cho tương ứng một họ phương án với thành phần z được xác định bởi:

 là tốt hơn cả Vì vậy từ nay ta sẽ

gọi vectơ  xij ,i Im,j In, hoặc ma trận  x ij m n

 thoả mãn các ràng buộc của bài toán(SXĐB) là một phương án của bài toán với quy ước là thành phần z của nó bằng:

2.2 Phương pháp điều chỉnh nhân tử

Nếu tìm được một phương án x zij,  của bài toán và một phương án u v i, j củabài toán đối ngẫu sao cho:

Trang 24

 

1

ij ij 1

Nội dung của phương pháp điều chỉnh nhân tử như sau:

Trước hết, chúng ta xây dựng một phương án cực biên suy rộng u v i, j của bàitoán, đó là một hệ thống nhân tử hàng và nhân tử cột; đồng thời xác định các ô chọn.Gọi S là tập ô  ,i j tương ứng với m n  1 ràng buộc chặt độc lập tuyến tính dạng

ij 0

ua v  Các ô thuộc S được lấy làm các ô chọn, nên S được gọi là tập ô chọn củaphương án cực biên suy rộng u v i, j

2.2.1 Thuật toán điều chỉnh nhân tử:

Bước 1: Xây dựng hệ thống nhân tử u v i, j (hay phương án cực biến suy rộng của bàitoán đối ngẫu:

Trước hết, xác định ô  ,i j có aij lớn nhất Giả sử: i j0 0 max, ij

- Trên hàng i đã có nhân tử u i, tìm ô có năng suất lớn nhất nằm trên cột j chưa

có nhân tử Nhân tử của cột này được xác định bởi:

a trong đó min lấy vớimọi hàng i đã có nhân tử Ô tương ứng với nhân tử v j đó được lấy làm ô chọn và đượcđánh dấu

Ngày đăng: 15/10/2017, 10:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w