1. Trang chủ
  2. » Luận Văn - Báo Cáo

Quy hoạch tuyến tính nguyên và ứng dụng trong thực tế

13 18 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

Tiêu đề Quy Hoạch Tuyến Tính Nguyên Và Ứng Dụng Trong Thực Tế
Tác giả Trịnh Nguyễn Hoàng Vũ, Phạm Viết Dũng Minh, Trần Thái Hà, Trịnh Dương Hoan, Trần Bình Minh, Lê Phúc Lũ, Nguyễn Hữu Tình
Trường học Trường Đại học Công nghiệp Thành phố Hồ Chí Minh
Chuyên ngành Khoa Công nghệ Thông tin
Thể loại bài báo khoa học
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 13
Dung lượng 1,3 MB

Nội dung

Quỵhoạch tuyếntính có thể đượcsử dụng để phân bố thời Trang 2 Hội nghị Khoa học trẻ ỉần 5 năm 2023YSC2023-ỈUHsinh trong cácvấn đề tối ưulà vềtính nguyên của các biến.Ví dụ, nếu bạn giả

Trang 1

Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH

YSC5.002

QUY HOẠCH TUYẾN TÍNH NGUYÊN VÀ ỨNG DỤNG TRONG THựC TẾ

}Khoa Công nghệ Thông tin, TrườngĐại học Công nghiệp Thành phổ Hồ Chỉ Minh

Hrinhnguyenhoangvu306@gmail.com

Tóm tăt Quỵ hoạch tuyếntính (QHTT) thuộclĩnh vực củabài toán tối ưu, chuyên khảo sát các vấnđềcó

ràng buộc và hàm mục tiêu ở dạng tuyến tính QHTT có thể được sử dụng để mô hình hóa và giải quyết nhiều vấnđềtối ưu trongcác lĩnh vực, chẳng hạn nhưtài chính,sản xuất, vận tải, lý thuyết hò chơi.Trên thực tế, nhiều bài toáncó dữ liệu đầu vào, kết quảđầurađềuở dạng sốnguyên vàđòi hỏi phải xử lý khó

khăn hơn sovới số thực, gọi là Quỵ hoạch nguyên Ở chủ đề nghiên cứu này, chúng tôi sẽ tìm hiểu về phươngpháp nhánh &cậnvà thuật toán lát cắtGomorỵ trong Quỵ hoạch nguyên,ứng dụngvào bài toán

xếp lịch, bàitoán phacắt vậttư, bài toán người giao hàng.Ngoài ra,nhóm cũng xem xét thêm vềbài toán Quỵ hoạch tuyến tính đa mục tiêu

Từ khóa Bài toán tối ưu,QHTT nguyên, Kỹthuật nhánh & cận, Látcắt Gomorỵ, Bài toán xếp lịch,TSP

INTEGER LINEAR PROGRAMMING AND ITS REAL APPLICATIONS

Abstract Linear programming (LP) belongs to the domain of optimization problems, specializing in investigating problems withconstraints andobjective functions inlinearform LPcanbe used tomodel and

solvemanyoptimization problemsin fields such as finance, manufacturing,transportation,game theory In reality, manyproblems have inputs, outputs in theform of integers and require more difficult processing than real numbers, which is called IntegerProgramming (LIP) In this research, we will learn about the

branch&bound method andthe Gomory's cut algorithm inLIP, and thenapply to dieschedulingproblem, die material cuttingproblem,anddie traveling salesman problemTSP In addition,we also considersmore

Keywords Optimization problem, Integerlinear programming, Branch & boundmethod, Gomory’s cut

algorithm, Scheduling problem, TSP

1 ĐẶT VẤN ĐÈ

Toiưuhóa là một vấnđề quan họng trong cuộcsống Chúngtathườngtìm cách tối ưu hóa thời gian, tiền bạcvà năng lượngđể đạt được mục tiêu của mình một cáchhiệu quả nhất TrongToán học và Khoa học máy tính, Quỵ hoạch tuyến tính là một phươngpháp tối ưuđược sử dụngrộng rãi đểgiảiquyết cácbài toán liên quan đến việc phân bổ tài nguyên,ngườigiaohàng, một cáchhiệu quả nhất Quỵhoạch tuyến tính

có thể giúp chúng ta tìm ra giải pháp tối ưu cho các vấnđề trong cuộcsống thựctế

Vídụ, một công ty có thể có nguồn lựchạn chế nhưnguyên liệu,laođộngvà thời gian Quỵ hoạchtuyến tính có thể đượcsửdụng để xácđịnhkế hoạchsản xuất tối ưu nhằm tốiđa hóa lợi nhuận dong khivẫn nằm dong giới hạn của các nguồn lực sẵncó.Tương tự, một dịch vụ giao hàng có thể sửdụng Quỵ hoạchtuyến tính để xác định tuyến đường ngắnnhất nhằm tiết kiệm thời gian vànhiên liệu Các tổ chức tài chính sử dụng Quỵ hoạch tuyếntính để xác định danh mụccácsản phẩm tài chínhcó thể cung cấp cho khách hàng Quỵ hoạch tuyếntính cũng có thể áp dụngvào cuộcsống cá nhân Ví dụ, một cá nhân có thể có thời gian

và tiềnbạc hạn chếcho các hoạt động giảihí Quỵhoạch tuyếntính có thể đượcsử dụng để phân bố thời

gianvà tiền bạc tối ưu nhằmtối đa hóa lợi nhuậndong giới hạn ngânsách Tuy nhiên, vấn đề được phát

Trang 2

Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH

sinh trong cácvấn đề tối ưulà vềtính nguyên của các biến.Ví dụ, nếu bạn giải quyết một bàitoán liên quan

đến việcsản xuất sản phẩm, số lượngsản phẩmsản xuất phải làmột sốnguyên

Quỵ hoạch tuyếntínhnguyên là một dạng đặc biệt của Quỵhoạch tuyến tính, đòi hỏi xử lý khókhăn hơn

do việc giới hạncácgiải phápchỉ ở cácsốnguyêncó thểkhiến cho khônggian tìm kiếm trở nên rất lớn và

phức tạp Chínhvìvấn đề này, nhómcủa chúng tôiđã nghiêncứu về các giải pháp đểgiải quyết vấn đề hên bằngphươngpháp nhánh &cận, cắt Gomorỵ, đơn hình.Vận dụng giảiquyết các bài toán xếp lịch,bài toán

pha cắt vậttư, bài toán người giao hàngvà các bàitập phổ biến khác

2.1 Thế nào là Quy hoạch tuyến tính?

Quỵ hoạchtuyếntính (LinearProgramming - LP) là mộtthuật toán nhằm tìm ra một kếhoạch hay phương

án tốt nhất từ vô số nhữnglựa chọn khác nhau Đây là bài toántối ưu, trong đó hàm mục tiêu (objective function) và các điều kiện ràngbuộcđều làtuyếntính Phươngántối ưu làphương ánthỏamãn được các mục tiêu đề ra,phụ thuộc vào các hạnchếvàràngbuộc Quỵ hoạchtuyếntínhgiúp giảiquyết nhiềuvấn đề

rất thực tiễn trong cuộcsống như: lập kếhoạch,xếp lịch, Đe giải quyết bàitoán,ta sẽ mô tả các ràng buộc

dưới dạng các biến sốthực khôngâm (đôi khi là sốnguyên) rồi sửdụng các thuật toán trong LPđể tìm phươngpháp tốt nhất Trongphần tiếptheo, ta sẽxemxét một số bài toán tối ưu trongthực tếvà cách tối

ưu của chúng bằng việclậpmô hình quỵhoạch tuyến tính

Với các biến số thực x2, , xn trong bài toán,ta lập ra hàm nhiêu biên/ (Zj xy, ,xn) có dạngC 1X1 +

C 2 X 2 + —h cnxntrả về kết quảlà sốthực (để đơn giản, ta ký hiệulàcó dạngf). Ta cần tìm giátrị lớn nhất hoặc nhỏ nhất của hàm này,tương ứng là f -> max hoặc f -> min.

2.2 Giói thiệu các bài toán phổ biến trong thực tế

o Không ít hơn 200gram chất bộtđường (carbohydrate)

o Không ít hơn 20 gramchất đạm (protein)

Phân tích Bàitoán dinh dưỡng được mô hìnhdưới dạngbài toán quỵhoạch tuyến tínhnhư sau:

Gọi các biến thực Xi, x2, x 3 , x 4 là so gram cà rốt, gạo,khoai tây và bột mì cần mua Ta cóhàmmục tiêu

là tổng sốtiền:

f = 50X] + 20x2 + 10x3 + 30x4

o Đảmbảovề hàmlượngđạm: 3ŨX] + 10x2 +20x3 + 50x4 > 20

o Ngoài ra còn có ràngbuộc không âm chocác biến: x lf x2 , x3, x4 > 0

Nhưvậy, bài toánquỵ hoạchtuyếntính cho dinh dưỡngsẽ là:

f = 50X] + 20x2 + 10x3 + 30x4 -> min

30ŨX] +400x2+400x3+ 500x4 > 200 300jq + 400x2 +400x3 + 500x4 > 200 x1,x2,x3,x4 > ữ,x r ,x 2 ,x3,x4 e R

Dạng bài sảnxuất: Một nhà máy thực phẩmsản xuất ra 4 loạisản phẩm vớichi phísản xuất là:

o Đũa tre: 5 triệu tân

o Tăm tre: 6 triệu tân

Trang 3

Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH

o Chânhương: 4.5 triệu/tấn

o Xiênthịt: 6 triệutân

Biết rằng đểsản xuất được 1 tấn củalần lượt các loại sảnphẩm trên thì nhà máy cầntiêu tốn nguyên liệu

vànhân côngnhư sau:

Tre (tấn)

Hương liệu (tấn)

Số giờ làmviệc

Giá bánra

(triệu/tấn)

Đũa tre

1.1 0.03

1

200

23

Tăm tre 1.5

0.06 2

300

36

1.4 0.04 2.2

220

26.5

Xiên thịt 1.2 0.04 2.1

240

30

Kế hoạch trong tháng tới nhà máycó 1000 giờlàm việc và tối đa 5 tan he,0.2 tấn hương liệu, 10 tấn than, nhà máy có vốnlà 25 hiệu đồng Hỏi nhà máy cần lập kếhoạch sản xuất nhưthế nào để tốiđa lợinhuận?

Phân tích. Giả định sảnlượng sản xuấtcủa mỗi loại lần lượtlà cácbiến thực xlf, x 2, x3 , x 4 Hàm mục tiêu:

f = (23 — 5)Xi + (36 — 6)x2 + (26.5— 4.5)x3 + (30 — 6)x4 = lSjq + 30x2 +22x3 + 24x4

- Đối vớiTăm tre: l.lx 1 + 1.5x2 + 1.4x3 + 1.2x4 < 5

- Đối với Hương liệu: 0.03;^ + 0.06x2 + 0.04x3 + 0.04x4 < 0.2

- Đối với Than: x 4 + 2x2+ 2.2x3 + 2.1x4 < 10

o Ràng buộcvề chi phí sản xuất: 5xt + 6x2 +4.5x3 + 6x4 < 25

o Ràng buộcvề số lượng: x4,x2, x3,x4 > 0

Nhưvậy, ta có bàitoán:

f = 18x1 + 30x2 + 22x3 +24x4 ->Min

l.lx 1 + 1.5x2 + 1.4x3 + 1.2x4 < 5

0.03X! + 0.06x2 + 0.04x3 + 0.04x4 < 0.2

x 4 + ix 2 + 2.2x3 + 2.1x4 < 10

5xt + 6x2 +4.5x3 + 6x4 < 25

x1,x2,x3,x4 > 0, x1,x2,x3,x4 6 R 2.3 Thế nào là quy hoạch tuyến tính nguyên?

Quỵ hoạch tuyến tính nguyên (Integer Linear Programming - ILP) là mộtphương pháp hong Quỵ hoạch

tuyến tính, hong đócác biến quyết địnhđược giới hạn trong tập hợpcác sốnguyên thayvìcácsố thực Với

ILP, chúngta cần tìmgiátrị của các biến nguyênsao chohàm mục tiêutuyếntínhđạtgiátrị lớn nhất hoặc

nhỏnhấtvàcácràngbuộc tuyến tínhđược thỏa mãn Các vấn đề quỵ hoạch tuyến tính nguyên thường được

sử dụng để giải quyết các bài toántối ưuvề lựa chọnvà phânbổ tài nguyên có số lượng hữu hạn Ví dụ, trong một bài toánvận tải, số lượng hàng hóa cần vận chuyển từmột kho đến một điểm đến có thể được biểu diễn bằng cácsố nguyên Khigiảiquyết bài toánnày bằng phươngpháp quỵ hoạch tuyến tính thông

thường, cácbiếnquyết định có thể cógiá trịlà số thực, nhưng khi sử dụngphươngpháp ILPthìcácbiến quyết định sẽ đượcgiớihạn phải là các số nguyên

ILPđược sử dụngrộng rãi trong nhiều lĩnh vực, bao gồmkinhtế học, sản xuất,quản lý chuỗi cung ứng, và

trong lập kế hoạch sản xuất vàphân bổ tài nguyên.Phương phápnày chophép giải quyết nhữngbài toán tối ưu hóa phứctạp, đòi hỏiphải xác định các ràng buộc nguyên và các giới hạn về các biến quyết định

Việc sử dụng phương pháp ILP giúp tối ưuhóa kết quả và tăng tính hiệu quảtrong việc quản lý và điều

phối các tài nguyên.Các dạng Quỵ hoạchnguyênphổ biến:

• Quỵ hoạchnhị phân: các biến nhận giá trị 0, 1(liên quan đến việc chọnhay không chọn)

• Quỵ hoạch nguyên không âm: các biến liên quan đếnbài toán thực tếthường phải không âm

• Quỵ hoạchhỗn hợp: trong bàitoán có thể có biến nhận giá trị nguyên, cóbiếnlàsốthực

Trang 4

Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH

2.4 Các ví dụ cho bài toán quy hoạch nguyên

từng dựán: trong một dự án xây dựng ta cần có kiến trúc sư, công nhân xây dựng, nhà thầu, quản lý dự

án,

Giả sử doanh nghiệp xâydựngp cầnxâydựngmột trung tâm mua sắm, doanhnghiệp hiện có Nnhân viên

và hiện đang cóM nhiệmvụthiếunhânviên, trong đó năng suất củamỗi nhân viên i trong từng nhiệm vụ

làkhác nhau, mỗinhiệm vụ cần có số nhân viên tốithiểu, mỗinhân viên không đảm nhiệm quá một số

lượngnhiệm vụ Giao nhiệmvụ cho Nnhân viênsao cho dự án đạtnăngsuất tốiđa

Phân tích Các cách phâncông này được biểu diễn thành ma trận A = [ũự] gồm N hàngvà Mcột, trong đó: N là số lượng nhân viên;M là số nhiệm vụ đangthiếunhân lựchiện tại; djj là năng suất làm việc của nhân viên thứ i ởnhiệm vụj

toi đa

ĐặtXịj là biến nhị phân,Xịj = 1 nếucông việcjđượcgiaocho nhânviên ivà Xịj = 0 nếu ngược lại (i = 1,2, ,N) Ci = 1,2, ,M) Ta có:

- Năng suất tối đa có thể đạtđược là:

N,M

f = a t j Xjj -> max i=l,j = l

Cácràng buộc:

- về số lượngnhân viên cầnthiết:2ỈÍ1 xij — bj (j — 1,2, , Af)

- về số nhiệmvụ tốiđa của từng nhân viên:X/=1Xij <Ci ạ = 1,2, ,AQ

Nhưvậy, vấn đềđã được đưa vềthànhmộtbài toánQuỵ hoạchtuyếntínhnguyên

phố, được đánh chỉ dấu từ 1 đếnn Anh ấybắt đầutừmột "thànhphốgốc" đượcđánh dấu là 0, điqua mỗi

thành phố khác trongsố n thành phố chính xác một lần, và trởvề thành phố 0 Trong quá trình đi lại, anh

ấy phải quay trở lại0 chính xáctlần, baogồm cả lần quaytro’ về cuốicùng (ở đâyt có thể thay đổi), và anh

ấy không được điquáp thành phố trong một chuyến đi:một chuyến đi, được hiểu làmột chuỗi các lầnthăm

các thành phố mà không dừng lại tại thành phố 0 Yêu cầutìm một lịchtrình nhưvậy để giảmthiểutổng khoảngcách mà nhân viên bán hàng đi qua

Phân tích Khởi tạo giá trịbiến:

- Xiị là biến nhị phân,ngườigiao hàng đitừthànhphố i đến thành phố j khivà chỉkhi Xiị = 1, ngược lại

- dịjlà khoảng cách đi từ thành phối đếnthành phố j

- Uị là thànhphố ilà thành phố thứUị trong một chuyến đi bao gồm thành phố i Như vậy vớiXjj = 1, ta

Uj = Uị + 1

Vìgiảm thiểu tổngkhoảng cách mà nhân viên bánhàngđinênta cóhàm mục tiêu tuyến tínhnhư sau:

f = dijXij -> min

0 < i j < n

Cácràng buộc:

l,2, ,n)

- về số lần quay lạithànhphố gốc: x iQ = t

- về số lần thăm trong 1chuyến đi: Uị < p, (i = 1,2, , rì)

Trang 5

Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH

- Nếut cố định, để bài toán tồntại giải pháp phải có ràng buộc tp > n, với t = 1 thi p > n.

Như vậy, vấn đề đã được đưa về thànhbài toán Quy hoạchtuyếntínhNguyên

2.5 Các khó khăn và kết quả mong muốn

Các thuật toán cơ bản củaQuyhoạchtuyếntính đều đua ra được lời giải tối ưu cho bàitoánquỵ hoạch

tuyến tính Tuy nhiên, kết quả của bài toán khônglàsố nguyên Điều này cóthểdẫn đến sự thiếu chính xác

trong kết quả, ảnhhưởng nhiều đến tính ứng dụng củanó

Giả sử nếu ta đang tối ưuhóaviệc đặt hàng trong một nhà kho vớicác mặt hàng khác nhau Ta muốn tối

ưuhóasao cho chi phí tống cộng là thấp nhất Ta xác địnhrằngsốlượngđật hàng củamỗimặt hàng phải

làmột sốnguyên không âm Nếu kết quảtối ưu cho số lưọngđặt hàng của một hoặc nhiều mặt hàng không phải là sốnguyên, ta sẽ phải đưara quyết địnhđể làm tròn lênhoặc xuống sốlượngđóđể đảm bảo rằng nó

là mộtsốnguyên.Nhưngviệc làm tròn sốnày có thể đẫn đếnthay đồi đăng kể trongchiphítồngcộngvà

không đảm bảo rằng thỏamãn tất cảcác điều kiện ràngbuộc của bài toán Do đó, việc giải quyết bàitoán

Quy hoạchtuyến tính nguyên sẽ trởnên khókhăn và đòihỏicácphương pháp khác nhau đểgiảiquyếtđịnh bài toán nguyên

Trước hết, tagiới thiệu quavề hai phương pháp quan trọng để giải bài toánQuy hoạchtuyếntính là Đơn

Gomory, và Kỹ thuậtnhánh & cận

3.1 Phương pháp đơn hình

Năm1947, nhà toán học George Bernard Danzig đưara phương pháp đơn hình: ý tưởng cơ bản là bắt đầu xét từ một phương án cực biên (phương án chấp nhận được), ta xem nó có là phương án tốt nhất haychưa,

nếuchưalàphươngán tốt nhất ta lầnlượtxét đến các phương án cực biên liềnkề saocho làm tăng giá trị

hàm mụctiêu Quá trinh tiến hành đến lúcthu được phương án tối ưuhoặc giá trị hàm mục tiêukhônghữu hạn

Hình 1: Ảnh mô tà bảng đon hình

ckl ckm ckm + 1 ck - ckn

z min/max Aki A Ị.

in Ak„ lỉm + 1 Ak„

Kv Ak„

Bước 1: Khởi tạo: thànhlậpphương án cực biên

dấu hiệu tối ưu Nếu phương án cực biên này là phương án tối ưu thi kếtthúc Ngược lại, nếu bài toán có phương án mói tốthon thì sang bước 3

Bươc 3: Xâydựng mộtphươngán cực biên mớisao cho giá trị hàm mục tiêulớn hơn hoặc bằng giá trị hàm

mục tiêu của phương án cực biên trước đó

Bước 4: Quay lại bước2: Tiếp tục quátrình kiểmtravà tìmkiếm lời giải tối ưu cho đến khi đạt đượclời

giải tối ưu

3.2 Phương pháp hình học

Phương pháp hinhhọc là mộtkỹ thuật trong lĩnh vực tối ưuhóasửdụngcác khái niệm hình học như đường thẳng, mặt phẳng, để thực hiệncác phép cách, phép vạchtrên không giannghiệm và kỹthuật hình học để giải quyết các bài toánquy hoạch tuyến tính Phương pháp nàykếthọpgiữa các yếu tố hình học và các

Trang 6

Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH

ràngbuộc tuyếntínhtrongbài toán để tìmragiảipháp tối ưu Đây làmột cách tiếp cận trực quan và hiệu

quảđểgiảiquyếtbàitoánquy hoạch tuyến tính.Phương pháp này sử dụng cho bàitoán có hai biến

Hình 2: Ảnh minh họa phương pháp hình học

Dưới đâylà thuật toán cơ bản củaphươngpháphình học:

Bước 1: Chuẩn bịdữ liệu: Xác định các hệ số và ràngbuộc của bài toán quyhoạch tuyến tính

Bước 2: Vẽ đồ thị chobàitoán bằng cáchsử dụng các biến quyết định

Bước 3: Tìmtất cả các điểmcực biên, là các giao đỉểm giữa haiđường thẳng

Bước4: Thay giá trị củatọa độ các điểmcựcbiêntim được vào hàm mục tiêuvà so sánh

3.3 Phương pháp cắt Gomory

Phương phápcắtGomory làmột phươngpháppháttriển các ràng buộcmớiđể giải quyết các bài toán quy

hoạchtuyến tính nguyên.Phươngphápnày dựa trênviệc tạo racác ràng buộcmới từ các ràngbuộc hiện

có và tìmkiếm giải pháp tối ưucho bài toánmới

Hình 3: Ảnh mô tả phương pháp cắt Gomory Dưói đâylàcác bướccụthể để thực hiện thuật toán cắt Gomory:

Bước 1: Khỏitạo:

Giải bài toán quy hoạchtuyếntính ban đầuvà tim một lời giảinguyênxuấtphát (nếu có)

Lưutrữ giá trị nguyên tối ưulà giá trịtốtnhất hiện tại

Trang 7

Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH

Kiểmtra xem lòi giảihiệntại có phải là lời giảinguyên tối ưukhông

Kiểm tratừngbiến trong lòi giải đểxác định xem có biếnkhông nguyênnào không

Nếu không cóbiến không nguyên, lòi giảihiện tại là lời giảinguyên tối ưu vàkếtthúc

Bước 3: Xácđịnhràng buộc cắtnguyên:

Chọnmột biếnkhôngnguyên trong lòigiảihiện tại

Xây dựngmột ràngbuộc cắt nguyên dựatrên giá trị củabiến chọn và cáchệsốcủa nótrong các ràng buộc

ban đầu

Ràngbuộc cắt nguyên có dạng: a-ịXỵ + a2x2 H -1-ữ-nx n — b> trong đó dị làcác hệ sốvàb là giá trị không

nguyêncủa biến

Bước 4: Thêm ràng buộc cắtnguyên:

Thêm ràng buộc cắtnguyên vào bàitoán Quỵhoạchtuyếntính ban đầu

Giải lại bài toánđể tìmlời giảimớivới các ràng buộc cắtnguyênđã thêm

Nếu lờigiải mới tốthơn lời giải tốt nhất hiện tại, cập nhật lòi giảitốt nhất

Quay lại bước 2 để kiểm tra lời giảimới

3.4 Phương pháp nhánh & cận

Phươngphápnhánh& cận: là một thuật toánđược sử dụng để giải các bài toán tối ưutổ hợp, bao gồm cả bài toánquy hoạchtuyến tính nguyên (DLP - Integer Linear Programming) Phương phápnày tìm kiếm không gian tìm nghiệm củabài toánmộtcách hệ thống bằng cách chia nhỏ không gian tim kiếm ban đầu thành cácphần nhỏhơnvà loại bỏ những phần không cần thiếtđể cải thiện hiệu suấtgiải quyếtbài toán

Hình 4: Ảnh minh họa phương pháp nhánh & cận

Cácbướcthực hiện thuật toán

Dưới đây là thuật toán cơ bảncủaphương pháp nhánh & cận:

Bước 1: Khởi tạo một bộ lòi giải tạmthời, thường làmột lời giảikhông tối ưu

Bước 2: Tính toán giá trịcủa hàmmục tiêu tại lòi giải tạmthòi

Bước 3: Kiểm traxem lời giảitạm thời có phải là lời giải tối ưu hay không.Nếu đúng, kết thúc thuậttoán Nếu không, tiếp tục bước 4

Bước 4: Chọn một biến nguyên trong lời giải tạm thời mà không phải làsố nguyên,phân chiakhông gian tim kiếm thành hai phần con, một phần conchứacác giá trị lớn hơn hoặc bằnggiá trị nguyêncủabiến được chọn, và mộtphầnconchứa các giá trị nhỏ hơn

Bước 5: Ápdụng thuật toán tìmkiếm tối ưu trên từng phần con đượcphân chia (cácvấn đề con)

Bước 6: Lặp lại bước 2 đến bước 5 cho đếnkhi lời giải tối ưu đượctìm thấy

Trang 8

Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH

3.5 về bài toán Quy hoạch tuyến tính đa mục tiêu

Quỵ hoạchtuyếntính đa mục tiêulàbài toáncó hai hoặc nhiều hàm mục tiêu,và ta cần tối ưutatcả chúng

đồng thời Nócó ứng dụng trong cáclĩnh vực đời sống một cách thiếtthực, vì rõ ràng nhiều lúc tacần phải tìm min, max cùng lúc nhiềugiá trị liên quan đến các đại lượngcần khảosát Trong khoảng 50 năm,đãcó

nếuxét quỵhoạch nguyên thì dạng tối ưu đa biến nàykhó tiếp cậnhơn Cácphươngpháp giải:

o Twơpharses-. giảitrước bài toán ứng với một hàm mục tiêu, sau đó thêm kết quả tìm đượcvào các ràngbuộcvà giải tiếp cho hàm mục tiêu còn lại

o Combining-, kết hợp hai hàm mụctiêu lại bởi một trọngsoalpha thích hợp Sauđó,giải cho từng giá trịalphathay đổi mộtkhoảngnhỏ; trêncơ sở đó chọn ra alpha tốt nhất Ta cũng có thể giải riêng bài toán ứng vớitừng hàmZ1, z2, ,Zk, được các giátrị di, d2, , dk, sau đó tasử dụng ý tưởngchung là gộp lại thànhmột hàm mụctiêuduy nhất và giải tiếp Cónhiềucáchđể gộp lại:

+ Chandra Sen: max z = tổngZi/|di| - tổng Zj/|dj|vớimax được lấydấu + cònmin được lấy dấu hừ

+ Trung bình điều hòa: đặt SL, ss bằngtổng cáchàmmục tiêu laymax vàlấy min, đặt Hmi, Hm2 =

hung bình điều hòa của các di(lay max) và di (lấy min) Khiđó ta có:

+ Trungbìnhbìnhphương: tương tự talấy cănbậchaicủa tổngbình phươngQmi, Qm2

Trongphần này,nhóm đãxâydựngthuật toán dựatrênphươngpháp nhánh cận kết hợp với thư viện PuLP

đểgiải một số bài toánđiển hình hênnền tảng Python Các mã nguồnnhómđã thựchiệncó thể xem tại

4.1 Dạng bài toán vận tải trong du lịch

Trong sa mạc, có những con lạc đà, loạicó mộtbướuvà có hai bướu, giúp vậnchuyển hàng hóa giữahai

thànhphốvới các thông tin như sau:

Có mộtđoàn du khách cần vậnchuyển ít nhất 1200kgvà trong kho có lượng cỏ khô dựtrữlà 31 bó,lượng

nước dựhữlà 80lít Tìm phương án thuêlạcđàđể tổng chi phí là ítnhất, vẫn đảmbảo cácràng buộcnêu

hên

Phântích Gọi cácbiến nguyên xt, x2 là sốlượnglạcđà mộtbướuvà lạcđà hai bướu

Hàm mục tiêu: f = 60xt + 100x2

o Du khách cầnvận chuyển ít nhất 1200kg: 140#! + 180x2 > 1200

o Trongkho hiệncólượngcỏ khôdựtrữ là 31 bó: 4x 1 +3x2 < 31

o Lượngnước dựtrữlà80 lít: 8xt + 10x2 < 80

o Ngoài ra còn có các ràngbuộc không âm: x , x 2 > 0

Nhưvậy, bài toánsẽcó dạngsau: xt,x2 > o,x1,x2 E z

f = 60xt + 100x2 ->min

140^!+ 180x2 > 1200

8;q +lồx 2 < 80

Trang 9

Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH

max/min?: min

Number of variables = 2

Number of binding functions = 3

Objective function: 60 100

Binding function 1: 140 180 >= 1200

Binding function 2: 4 3 <= 31

Binding function 3: 8 10 <= 80

Binding condition of variable 1: 0 none

Binding condition of variable 2: 0 none|

The result for the objective function is 560.0

The value of the hidden x: [6 2.]

Time: 0.006988048553466797 (s)

4.2 Bài toán pha cắt vật tư

Có một sốthanhcốt thép dài 11,7m Để thi cônglắpđặtcốtthépđầm,cộtcho một tầng của một tòa nhà bê tôngcốtthép thì cầnphải có 210 đoạn dài2.1m; 161 đoạn dài2.9m; 176 đoạn đài 3.2m; 48 đoạn dài4.2m

Vậỵ nêncắtcốtthép như thế nào đểtốn ít thanh nguyên nhất?

Phân tích. Đầu tiên, với thanh 11.7m thi tasẽ cónhưngphươngáncá sau đây:

Các phương

án

Gọi Xị là sốthanhnguyên pha cắt theophương áni,Xi E z.Tacóhàm mục tiêu: f — Ỉ,i=i->19X Ì mỉ'n Các ràng buộc:

- Có 210 đoạn dài 2.1m: 0xx 4- 0x2 4 X3 4 0x4 4 0xs 4- 0x6 4- 2x7 4- 3x'g + x9 + XÍQ 4- 2X114- x12 4

2xi3 4- 4X14+0xX5 4-x16 4-2X17 4-4xtg + 5X19 >210

- Có 161 đoạn dài 2.9m:0X1 4“ x2 4" OX3 4” OXị + X5 4”2X6+ x7 4"0x8 4” ŨXg 4” X1O4 0X11 4 2X12 4

x13 4- 0X144- 4xxs 4- 3X16 4- 2X17 4- lx18 4- 0X19 > 161

- Có 176 đoạn dài 3.2m: x t 4- 0x2 40x3 4- 2x4 4 x5 4- 0x6 4-0x74-0x8 4-3x9 4- 2x10 4- 2X11 4%12 4

x13 4- X14 4-0xls 4- 0x16 4- 0x174-0x18 4- 0X19 > 176

- Có 48 đoạn dài 4.2m: 2%1 4 2x2 4- 2x3 4- x4 4- xs 4- x6 4-X~Ị4- x8 4-OXộ 4- 0x10 4- 0X11 4 0X12 4

0X13 4 0xi4 4- 0X15 4 0X16 4 0X17 4 0xi8 4” 0X19 — 210

Trang 10

Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH

The result for the objective ftnrtion is 144.0 The value of "the variable x: Ị19 5 0 0 0 9 0 9.38 0 9 9 8.43 39 9 9 8 8.]

Tile: 8.832241773085347 (s)

Number of variables - 19

Number of binding functions

-Objective function: 11111

4

111 1 1 1 1 1 111 Binding function 1: 00 1 00 ©23 1 1 2 1 2 4 0 1 7 4 5 > /10

Binding function 2: 0 1 0 0 1 2 1 0 ©10 2 1 0 4 3 2 1 0 > - 161

Binding function 3; 100?! 0 0 0 3 2 2 1 1 1 © © 0 fl 0 >- 176

Binding function 4: Ĩ 2 1 1 1 1 I ©966606 0 0 6 0 >— 48

Binding condition of variable

Binding condition of variable

Binding condition of variable

Binding condition of variable

Binding condition of variable

Binding condition of variable

Binding condition of variable

Binding condition of variable

Binding condition of variable

Binding condition of variable

Binding condition of variable

Binding condition of variable

Binding condition of variable

Binding condition of variable

Binding condition of variable

Binding condition of variable

Binding condition of variable

Binding condition of variable

Binding condition of variable

1: © none 2: 0 none 3: 0 none 4: 0 none 5: 0 none 6: 0 none 7: 0 none S: 0 none 9: 0 none 10: 0 none 11: 0 none 12: 0 none 13: Ỡ none 14: H none 15: © none 16: 0 none 17: 0 none 18: 0 none 19: 0 nontfl

Như rây lời giải của bài toán sẽ là:

r-w-1 X

Tuy nhiên, có một đáp án khác cho bàitoánnày, đó là:

r-w- X

Hai lời giải trên tuy cho chúng tacùng một đáp sôlà 144 nhưngcó sự khác biệt vêsô lượng phương án lụa chọn, chứngtỏrằngkhôngnhất thiết phải có một phươngán tối ưu duy nhất

4.3 Bài toán rút ngắn dự án đầu tư

- Thời gianthực thi dự án là 12tuần

- Chi phírút ngắn làtối thiểu

Bảng mô tả công việc

Ngày đăng: 10/03/2024, 08:13

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

TÀI LIỆU LIÊN QUAN

w