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

Chương 2 review of linear programming

50 54 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 50
Dung lượng 1,56 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài toán đường đi ngắn nhất Tìm đường đi ngắn nhất là một trong những bài toán quy hoạch tuyến tính phổ biến trong hầu hết các vấn để về mạng, có thể mô tả như sau: Cho một mạng gồm tập

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

BÀI TIỂU LUẬN MÔN HỌC

Khoa học dịch vụ

Chương 2: Review of Linear Programming

Mark S Daskin Network and Discrete Location Models, Algorithms, and

Applications (2nd edition) John Wiley _ Sons

Danh sách sinh viên thực hiện:

HÀ NỘI – 2018

Trang 2

Mục lục

II Thuật toán tối ưu lưu lượng Out-of-kilter 20

Trang 3

Phân công công việc của nhóm sinh viên

Số TT Họ tên sinh viên Công việc đã thực hiện

1 Nguyễn Tuấn Anh Biên soạn tài liệu bài toán nghiệm nguyên (2.9)

Viết Tắt Tiếng Anh Tiếng Việt Giải thích

lượng mạng PACB Phương án cơ bản Phương án cơ bản trong bước đầu

giải bài toán vận tải

Trang 4

I Vấn đề đường đi ngắn nhất

I.1 Bài toán đường đi ngắn nhất

Tìm đường đi ngắn nhất là một trong những bài toán quy hoạch tuyến tính phổ biến trong hầu hết các vấn để về mạng, có thể mô tả như sau: Cho một mạng gồm tập các nút ​N và

các đường liên kết trực tiếp ​A​, đi cùng với chi phí của mỗi liên kết Câu hỏi đặt ra là tìm

đường đi ngắn nhất (tổng chi phí nhỏ nhất) từ một nút s thuộc N đến một nút t thuộc N​ I.1.1 Mô tả bài toán

Vấn đề đường đi ngắn nhất được mô tả dưới dạng bài toán quy hoạch tuyến tính như sau

Trang 5

Mục tiêu của bài toán là cực tiểu hóa tổng chi phí của những liên kết được lựa chọn Điều kiện thứ nhất quy định về giá trị dòng vào và dòng ra của một nút Điều kiện thứ hai đảm

bảo mỗi liên kết chỉ xuất hiện một lần trong quãng đường từ s​ đến t​

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

Cực đại hóa:

Điều kiện:

Trong đó, ​V​ j là chi phí tối thiểu để đến được nút ​j​ Các điều kiện đảm bảo các hiệu ​V​ j với

Vi​ không vượt quá chi phí trực tiếp từ i​ đến j​ và ​V​ i​ có thể tính được với mọi i​ thuộc N​

Về mặt kỹ thuật, vấn đề này nếu theo công thức trên không phải là bài toán quy hoạch

tuyến tính bởi các biến quyết định X​ (i, j) là các số nguyên (nhận giá trị 0 hoặc 1) và không phải biến thực Các biến này không thể nhận các giá trị phân số như những bài toán quy hoạch tuyến tính khác Tuy nhiên, ma trận ràng buộc là hoàn toàn đơn hình Thuộc tính này đảm bảo rằng nếu chúng ta giải quyết vấn đề này dưới dạng quy hoạch tuyến tính, kết quả sẽ được các biến quyết định nguyên, vì vậy ta có thể định nghĩa lại biến quyết định

thành một biến không âm ( X​ (i, j) ​ >= 0​) và giải bài toán này như quy hoạch tuyến tính

Nếu một số liên kết có chi phí âm, lời giải của quy hoạch nguyên hoặc quy hoạch tuyến tính đều có thể chứa những vòng lặp âm (một chuỗi các liên kết tạo thành chu trình, ví dụ một chuỗi bắt đầu từ nút ​p​, đi qua một vài nút rồi quay lại nút ​p với tổng chi phí âm - nghĩa là càng lặp lại nhiều lần chu trình này chi phí càng nhỏ)

Trang 6

Trong giải quyết vấn đề đường đi ngắn nhất, việc sử dụng các phương pháp quy hoạch tuyến tính chuẩn cho hiệu quả kém Dưới đây giới thiệu 2 thuật toán có hiệu quả hơn nhiều với vấn đề này

I.1.2 Thuật toán Dijkstra

Thuật toán ​Dijkstra​, mang tên của nhà khoa học máy tính người Hà Lan​Edsger Dijkstra​,

là một thuật toán giải quyết bài toán đường đi ngắn nhất nguồn đơn trong một đồ thị có hướng không có cạnh mang trọng số âm Thuật toán này được sử dụng phổ biến trong các

kỹ thuật định tuyến

Lời giải của bài toán đường đi ngắn nhất chứa 2 thông tin: chi phí đường ngắn nhất từ ​s

đến ​t và thứ tự các liên kết được đi qua Một nhãn của nút vì vậy sẽ có 2 phần: (1) giá trị chi phí tối thiểu đi từ ​s và (2) nút phía trước trong kết quả Như vậy, ta sẽ sử dụng nhãn

có dạng: [ giá trị chi phí thấp nhất đã biết, nút phía trước ]

Giá trị chi phí thấp nhất đã biết để tới được nút ​j được ký hiệu là ​V​ j​ Nút liền trước trongđường đi được ký hiệu là ​P​ j→ nhãn của mỗi nút ​j sẽ có dạng [​V​ j​ , Pj​] Những nhãn này có thể là tạm thời hoặc vĩnh viễn Ta sẽ gán nhãn vĩnh viễn nếu giá trị tốt nhất hiện tại cũng

là tốt nhất mà chúng ta có thể tìm được khi xét xong tất cả các liên kết liên quan Những nút có nhãn vĩnh viễn được gọi là "​đã được quét​ ", những nút nhãn tạm thời sẽ ở nhóm

"​chưa được quét​" Dưới đây là mô tả thuật toán để tìm đường từ nút ​s đến tất cả các nút khác Nhìn chung, chi phí tính toán khi tìm đường tới tất cả các nút không cao hơn quá nhiều chi phí tìm đường đến một nút Thêm vào đó, đường đến các nút khác lại liên quan đến đường đến nút ​t​, và công việc này sẽ lại phải thực hiện lại khi chúng ta muốn tìm

đường từ s đến một nút u​ khác

Bước 1: Khởi tạo

(a) Gán nhãn cho nút ​s​ [ ​0, _​ ] (​V​s​= 0 và không có nút phía trước s​)

(b) Gán nhãn tất cả các nút còn lại [ ∞, _​ ]

(c) Đặt nút s​ vào danh sách "​đã duyệt "

Bước 2: Cập nhật nhãn

(a) Gọi nút duyệt mới nhất, nút m

(b) Với tất cả liên kết (m, j)​ mà nút ​j​ chưa được duyệt, tính:

(1) ​T​ = ​V​ + ​c​

Trang 7

(2) Nếu ​T​ j​< ​V​ j​ , đặt lại nhãn nút j với [ ​T​ j​ , m ] biểu thị chi phí để đến nút ​j là ​T​ jvànút ​m​ liền trước

Bước 3: Duyệt nút

(a) Tìm nút có giá trị nhãn V​ j​ thấp nhất mà chưa được duyệt

(b) Duyệt nút j

Bước 4: Kiểm tra kết thúc

(a) ​Tất cả các nút đã được duyệt?

(1) Đúng dừng

(2) Sai quay lại bước 2

Hình 2.21 Ví dụ về mạng Hình 2.21 trên là một ví dụ Giả sử ta cần tìm đường đi ngắn nhất từ nút ​A đến các nút

khác Ta bắt đầu gán nhãn cho nút ​A​[ ​0, _ ] và tất cả các nút khác [ ∞, _ ] Nút ​A đã được duyệt (tô xám) được thể hiện trong Hình 2.22

Hình 2.22 Ví dụ vấn đề với các nhãn nút khởi đầu và nút A đã được kiểm tra

Trang 8

Ta cập nhật các nhãn của các nút có thể đi từ ​A (là nút gần nhất được duyệt), kết quả của

việc cập nhật này được thể hiện trong Hình 2.23

Hình 2.23 Mạng các nút được đánh nhãn từ nút A

Hình 2.24 Mạng sau khi nút F được đánh nhãn

Tiếp theo, vì ​F là nút có giá trị ​V thấp nhất, ta đã có thể gán nhãn vĩnh viễn cho ​F và tiếp tục mở rộng từ đây Kết quả được biểu thị trong hình 2.24, các đường đi ngắn nhất được

tô đậm Nút ​F đã được quét và tiến hành cập nhật một số nhãn của nút liền kề Nhãn trên nút ​D được thay đổi từ [ ​15, A ] sang [ ​12, F ] chỉ ra đường ngắn nhất đã biết (chi phí 12)

để đi đến D​ là đi qua ​F

Trang 9

Hình 2.25 Mạng sau khi nút D được đánh nhãn

Hình 2.26 Mạng sau khi nút B bị đánh nhãn

Trang 10

Hình 2.27 Mạng sau khi nút G bị đánh nhãn

Hình 2.28 Mạng sau khi nút E bị đánh nhãn

Hình 2.29 Mạng sau khi nút C được đánh nhãn

Trang 11

Hình 2.30 Mạng sau khi nút H được đánh nhãn Cuối cùng, ta thấy mạng được tạo thành từ các liên kết trong đường đi ngắn nhất từ ​A tới

mọi nút là một cây bao trùm (đồ thị mà trong đó tất các các nút được kết nối và chỉ có duy nhất một đường từ nút này đến nút kia)

Thuật toán Dijkstra với trọng số âm

Ta đã biết ​Dijkstra chỉ đảm bảo đúng đắn trong trường hợp các trọng số chi phí không

âm Dưới đây ta xét 2 ví dụ với trọng số chi phí âm, một trong số đó ​Dijkstra hoạt động

vẫn cho kết quả chính xác, trường hợp còn lại cho kết quả không chính xác

Xét đồ thị như hình sau:

Giả sử ta cần tìm đường đi ngắn nhất từ nút (0) Thực hiện các bước theo thuật toán Dijkstra, ta thu được trạng thái các nhãn như hình dưới:

Trang 12

Sau khi duyệt tất cả các nút, thuật toán Dijkstra vẫn cho kết quả đúng: chi phí thấp nhất

từ nút (0) đến nút (2) là 1 và đường đi là (0) - (1) - (2)

Ta xét một đồ thị khác dưới đây Giả sử ta cần tìm đường đi ngắn nhất từ nút (0)

Thực hiện các bước theo thuật toán Dijkstra thu được trạng thái cuối như sau:

Trang 13

Ta thấy, sau khi nút số (2) được coi là đã duyệt, nhãn nút số (2) được gán vĩnh viễn và không được cập nhật trong giai đoạn duyệt nút số (3), nên thu được kết quả sai

Với thuật toán ​Dijkstra​, một khi nút được coi là đã duyệt nó sẽ không được xét lại, đây là

lý do thuật toán bị sai với trọng số âm, tuy nhiên lại có hiệu quả với trọng số không âm khi có thể thực hiện nhanh và không xét lại trên tư tưởng rất thực tế "đi thêm một liên kết

sẽ mất thêm chi phí"

Dưới đây giới thiệu thuật toán Bellman - Ford, có thể được sử dụng trong các bài toán có xuất hiện trọng số chi phí âm

I.1.3 Thuật toán Bellman - Ford

Thuật toán ​Bellman - Ford ​được đặt tên theo ​Richard ​Bellman and ​Lester ​Ford​, là một thuật toán tìm đường đi ngắn nhất từ một đỉnh tới các đỉnh khác trong một đồ thị có trọng

số Thuật toán này chậm hơn ​Dijkstra​, tuy nhiên linh hoạt hơn nhiều khi có thể xử lý đồ thị với trọng số âm

Các bước của thuật toán này được mô tả như sau:

Trang 14

Bước 1: Khởi tạo

(a) Với mỗi đỉnh j​ thuộc đồ thị, gán V​ j​ = ∞; ​P​j​ = ​null

(b) Gán ​V​s​ = 0

Bước 2: ​Kết nạp cạnh (lặp)

(a) Với i từ 1 đến (tổng số đỉnh - 1) lặp:

(1) Với mỗi liên kết ( u, v​):

Nếu V​ u​​+ ​c​(u,v)​ < ​V​v ​:

Gán ​V​v​ = ​V​u​ + ​c​(u,v)

Gán ​P​v​ = ​u

Bước 3: Kiểm tra chu trình âm

(a) Với mỗi liên kết ( u, v​):

Nếu V​ u​ + ​c​(u, v)​ < ​V​v ​: → đồ thị chứa chu trình âm

Thuật toán ​Bellman Ford có các bước lặp để xét lại các đỉnh mà ở thuật toán ​Dijkstra bỏ qua, tuy chậm hơn thuật toán ​Dijkstra (đặc biệt trong trường hợp các trọng số đều không

âm và các nút theo đường thẳng) nhưng lại đảm bảo được tính đúng đắn với các trọng số

âm

I.2 Vấn đề đường đi ngắn nhất trong Excel

Trong phần này, chúng tôi sẽ phác thảo cách xây dựng bài toán tìm đường đi ngắn nhất

sử dụng công cụ bảng tính Excel Đồ thị trong hình 2.21 phía dưới sẽ được lấy làm ví dụ cho bài toán

Hình 2.21 Ví dụ mạng đối với vấn đề đường đi ngắn nhất

Trang 15

Các thiết lập cơ bản được thể hiện trong Hình 2.31 Dải ô màu xanh dương thể hiện biểu diễn của đồ thị dưới dạng ma trận Các hàng của ma trận tương ứng với nút khởi đầu, các cột tương ứng với nút kết thúc Giá trị mỗi điểm của ma trận là giá trị trọng số của vòng cung tương ứng trên đồ thị - hay chính là chi phí (ArcCost) của mỗi cung Hình 2.21 chỉ cho thấy các liên kết vô hướng, còn ma trận trong hình 2.7.1 biểu diễn mỗi liên kết haichiều dưới dạng hai vòng cung một chiều (VD như ô C7 và ô D4) Ô C7 đại diện cho cung (D;A) trong khi ô D4 đại diện cho cung (A;D) chỉ số chi phí của cung (A;D) là giống hệt với cung (D;A)

Dải ô màu xanh lá thể hiện ma trận đường đi kết quả tính được Tương tự các hàng là nút khởi đầu, các cột tương ứng với nút kết thúc Mỗi ô trong ma trận thể hiện liên kết giữa các cung với nhau - là một biến quyết định sẽ nhận giá trị 1 nếu cung đó được sử dụng trong đường đi ngắn nhất từ nút đầu tới nút kết thúc và 0 nếu không

Hình 2.7.1 Tổng quan thiết lập bài toán Các ràng buộc (2.69) được thể hiện trong dải ô L16:N23 màu vàng của bảng tính Các ô N16:N23 thể hiện các nút bắt đầu và kết thúc để xác định các giá trị bên phải thích hợp cho các ràng buộc (giá trị 1 tương ứng với đầu vào và -1 tương ứng với đầu ra) Trong ví

dụ này ta sẽ tìm đường đi ngắn nhất từ nút A tới nút H

Trang 16

Hàm mục tiêu được đưa ra trong ô M4 (màu da cam) được viết bởi công thức SUMPRODUCT(ArcCost, Usage) Trong đó ArcCost đề cập tới dải ô C4:J11 và Usage được thể hiện trong dải ô C16:J23 Ô này thể hiện tổng chi phí của tất cả các cung được

sử dụng trên đường đi ngắn nhất từ nút bắt đầu tới nút kết thúc (Total Distance)

Cách thực hiện:

Sau khi thiết lập xong bài toán (biểu diễn lại đồ thị dưới dạng ma trận, tạo ma trận kết quả, thiết lập ràng buộc, ) ta sử dụng công cụ Solve của Excel để thực hiện tính toán đường đi ngắn nhất

Hình 2.7.2: Giao diện hộp thoại Solve

● Tại trường Set Objective, chọn ô M4 thể hiện giá trị tổng chi phí đường đi ngắn nhất

Trang 17

● Chọn phương thức Solve là Simplex LP, sau đó chọn Solve

Hình 2.7.3 Các bước chọn các tham số của Solver

Trang 18

=> Thu được kết quả như hình dưới Theo dự kiến chi phí tối ưu của đường đi ngắn nhất

từ nút A đến nút H là 34

Hình 2.7.4 Công cụ tìm ra lời giải

Kết quả đường đi chi tiết được thể hiện trong Hình 2.7.5 Theo đó, chi phí tối ưu của đường đi ngắn nhất từ A tới H là 34 Đường đi ngắn nhất tìm được là là A => F => D =>

E => H

Trang 19

Hình 2.7.5 Kết quả tối ưu sau khi sử dụng Solver

II Thuật toán tối ưu lưu lượng Out-of-kilter

II.1 Giới thiệu

Lớp cuối cùng của những vấn đề lập trình tuyến tính đặc biệt mà chúng tôi thảo luận là các vấn đề về lưu lượng mạng chi phí tối thiểu tổng quát hơn Chúng tôi thảo luận những vấn đề này trong ngữ cảnh của thuật toán lưu lượng out-of-kilter Trước khi bàn luận về thuật toán này, chúng tôi cần định nghĩa lưu lượng lưu thông Một luồng lưu thông trongmột mạng là một luồng trong đó lưu lượng vào mỗi nút chính xác bằng lưu lượng ra khỏi mỗi nút Thuật toán lưu lượng out-of-kilter tìm thấy luồng lưu thông chi phí tối thiểuthông qua mạng đáp ứng các giới hạn dưới và trên có thể áp dụng cho mỗi luồng liên kết (Fulkerson, 1961)

Nhiều vấn đề về lưu lượng mạng bao gồm vấn đề vận chuyển và vấn đề đường đi ngắn nhất có thể được cấu trúc như các vấn đề lưu lượng mạng chi phí tối thiểu và có thể được giải quyết bằng cách sử dụng thuật toán lưu lượng out-of-kilter (Glover, Klingman và Phillips (1992) đưa ra một đánh giá nổi bật về các vấn đề có thể được cấu trúc như các vấn đề lưu lượng mạng tuyến tính .) Thuật toán lưu lượng out-of-kilter là một trong nhiều thuật toán lưu lượng mạng Người đọc quan tâm đến các thuật toán như vậy nêntham khảo bất kỳ một trong số các văn bản bao gồm: Ahuja, Magnanti và Orlin (1993),

Trang 20

Bertsekas (1991), Jensen và Barnes (1980), Kennington và Helgason (1980), Minieka(1978) , và Phillips và Garcia-Diaz (1981) Chúng tôi đã chọn để thảo luận về thuật toán lưu lượng out-of-kilter ở đây vì mối quan hệ mật thiết giữa thuật toán và lý thuyết nhị nguyên trong lập trình tuyến tính Việc triển khai thuật toán lưu lượngout-of-kilter -MENU-OKF — được bao gồm trong phần mềm đi kèm với văn bản này

II.2 Phát biểu bài toán

Như trước đây, chúng ta sẽ định nghĩa N là một tập hợp các nút và A là một tập hợp các liên kết trực tiếp Vấn đề lưu lượng out-of-kilter có thể được hình thành như một vấn đề lập trình tuyến tính bằng cách sử dụng ký pháp sau:

Đầu vào

● = đơn vị chi phí của liên kết từ i đến j

● = lưu lượng yêu cầu tối thiểu trên liên kết (i, j) [ví dụ cận dưới của lưu lượng trên liên kết (i, j)]

● = lưu lượng cho phép tối đa trên liên kết (i, j) [ví dụ cận trên của lưu lượng trên liên kết (i, j)]

Các biến quyến định

= lưu lượng của liên kết (i, j)

Với những định nghĩa này, cơ sở có thể được hình thành như sau:

II.2.1 Bài toán cơ sở

Trang 21

hạn trên của lưu lượng của mỗi liên kết, trong khi quan hệ (2.77) là ràng buộc cận dưới

của lưu lượng trên mỗi liên kết II.2.2 Bài toán đối ngẫu CỰC ĐẠI ● (2.79) ● không bị hạn chế với (2.80) ● (2.81) ● (2.82) Trong đó ● = biến đối ngẫu kết hợp với ràng buộc (2.75) ● = biến đối ngẫu kết hợp với ràng buộc (2.76) ● = biến đối ngẫu kết hợp với ràng buộc (2.77) Một lần nữa, sự quan tâm của chúng tôi đối với vấn đề này xuất phát từ thực tế là nhiều

vấn đề về mạng có thể dễ dàng được nêu ra về các vấn đề lưu lượng out-of-kilter Ví dụ,

để mô hình hóa một vấn đề giao thông vận tải thành một vấn đề lưu lượng out-of-kilter,

chúng tôi thêm một nút siêu nguồn Chúng tôi kết nối nút siêu nguồn với mỗi nút cung

cấp với giới hạn dưới là 0, chi phí là 0 và giới hạn trên bằng với nguồn cung cấp của nút

cung cấp Tương tự, chúng tôi kết nối mỗi nút nhu cầu với nút siêu chìm Giới hạn dưới trên một liên kết giữa một nút nhu cầu và nút siêu chìm bằng với nhu cầu tại nút đó; giới

hạn trên là vô hạn; và chi phí là 0 Chúng tôi cũng kết nối mọi nút cung cấp với mọi nút

nhu cầu Các liên kết này có giới hạn dưới 0, giới hạn trên , và chi phí bằng chi phí

vận chuyển đơn vị giữa nút cung cấp và nút nhu cầu được kết nối Cuối cùng, chúng ta

thêm một liên kết từ siêu chìm tới siêu nguồn với giới hạn dưới là 0, giới hạn trên và chi phí là 0 Hình 2.34 minh họa một mạng cho vấn đề giao thông được giải quyết trong

Phần 2.6 ở trên (Giới hạn và chi phí thấp hơn và trên chỉ được hiển thị cho các liên kết

đã chọn) Nhiều vấn đề về mạng khác cũng có thể được hình thành như các vấn đề lưu

lượng out-of-kilter Vì vậy, nó rất hữu ích để biết làm thế nào để chuyển đổi một vấn đề thành định dạng này

Trang 22

Bây giờ chúng tôi sẽ chuyển sang các điều kiện lỏng bổ sung cho vấn đề này Chúng là:

Trang 23

II.2.3 Tìm giải pháp tối ưu

Với các luồng tối ưu, và các giá trị nút, , chúng ta có thể suy ra các giá trị tối ưu cho các biến đối ngẫu và Chúng tôi bắt đầu bằng cách lưu ý rằng trong bất kỳ giải pháp tối ưu nào thì hoặc (hoặc cả hai bằng 0) cho mỗi liên kết (i, j) Rõ ràng hơn, nếu và chúng tôi có một giải pháp mà cả và ,chúng tôi có thể giảm cả hai giá trị cho đến khi một trong số chúng bằng 0 Điều này sẽ không ảnh hưởng đến hàm mục tiêu kép khi Nó cũng không ảnh hưởng tínhkhả thi của ràng buộc kép (2.79) hoặc điều kiện lỏng bổ sung (2.83) Như vậy, chúng tôi

có thể luôn tìm thấy một giải pháp mà ít nhất một trong hai biến hoặc bằng 0

Tiếp theo, chúng tôi cho thấy rằng chúng tôi có thể suy ra các giá trị của và từkiến thức về các giá trị nút Để xem điều này hoàn thành như thế nào, chúng tôi sẽ thay thế bằng Những điều kiện (2.83) - (2.85) có nghĩa là:

● Nếu , thì [Để thấy rằng điều này phải đúng, lưu ý rằng nếu chúng ta có , chúng ta cần có để thỏa mãn (2.85) Tuy nhiên,nếu và và , chúng tôi sẽ cần

để thỏa mãn (2.83) Tuy nhiên, chúng ta chỉ đồng ý rằng và không thể

Trang 24

Điều kiện (2.86)-(2.88) có thể được tóm tắt trong một sơ đồ kilter mà trong đó chúng ta phác thảo lưu lượng trên trục X và giá trị của trên trục Y Ảnh 2.35 là một

sơ đồ kilter thông thường

Bất kỳ liên kết nào có lưu lượng và các giá trị được phác thảo trên đường kilter

là "trong kilter" và thỏa mãn tất cả các điều kiện tối ưu (miễn là chúng tôi đảm bảo rằng chúng tôi luôn có luồng lưu thông) Bất kỳ liên kết nào không được phác thảo trên đường kilter thì tức là ngoài kilter và vi phạm một hoặc nhiều điều kiện tối ưu Để thuận tiện cho việc thảo luận, chúng ta thường kết hợp số kilter và trạng thái kilter với các vùng khác nhau của sơ đồ kilter Chúng được thể hiện trong Hình 2.36 và Bảng 2.2

Hình 2.35 Sơ đồ kilter thông thường

Trang 25

Hình 2.36 Sơ đồ Kilter hiển thị các trạng thái kilter

Lưu ý rằng tất cả các số kilter đều dương Những con số này đo lường (trong một số ý nghĩa lỏng) mức độ mà giải pháp vi phạm các điều kiện tối ưu Ngoài ra, lưu ý rằng nếu chúng ta có thể thay đổi lưu lượng như được chỉ ra trong Bảng 2.2 trên bất kỳ liên kết nào, mà là ngoài kilter, liên kết sau đó sẽ đáp ứng các điều kiện tối ưu

Tại giải pháp tối ưu, chúng tôi lưu ý rằng là chi phí giảm đi kèm với liên kết(i, j) Nó cho biết tốc độ thay đổi của hàm mục tiêu đối với các thay đổi trong hoặc Cụ thể,nếu , thì cho biết số lượng mà hàm mục tiêu sẽ tăng nếu chúng ta tăng bằng 1 Tương tự, nếu , thì cho biết số lượng mà hàm mục tiêu sẽ giảm nếu chúng ta tăng 1 Cuối cùng, nếu , thì chỉ ra rằng hàm mục tiêu sẽ không thay đổi nếu chúng ta thực hiện các thay đổi nhỏ trong hoặc

Trạng

thái

giảm,

Số Kilter Muốn (Giảm/

Tăng lưu lượng)

Ngày đăng: 04/08/2020, 00:38

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w