Đặc tả và phân tích yêu cầu bài toán

Một phần của tài liệu Đồ án xây dựng phiên bản mới của hệ trợ giúp quyết đinh DSPES (Trang 33)

3.2.1.1 Bài toán

a) Phát biểu bài toán:

Lập kế hoạch dài hạn việc cung cấp đáp ứng các loại nhu cầu năng lượng của một khu vực liên tục phát triển trong phạm vi giới hạn của một số tài nguyên hạn chế với giá thành thấp nhất, tiết kiệm nguyên liệu nhất mà vẫn đảm bảo giảm thiểu ô nhiễm môi trường.

b) Các dữ liệu đầu vào

Các dữ liệu đầu vào cho chương trình gồm có:

• Số khu vực con

• Số giai đoạn

• Số phương án

• Số mục tiêu

• Số tài nguyên bị hạn chế

• Số nhu cầu năng lượng tiêu dùng

• Số công nghệ thỏa mãn nhu cầu năng lượng

• Lựa chọn giữa giải bài toán với số liệu chính xác và số liệu mờ

• Lượng năng lượng tiêu dùng đối với từng nhu cầu, tại mỗi giai đoạn, đối với từng khu vực con và dung sai của nó (nếu người dùng chọn xử lý với số liệu mờ).

• Giới hạn của từng tài nguyên bị hạn chế trên phạm vi toàn khu vực và dung sai của nó (nếu người dùng chọn xử lý với số liệu mờ).

• Đồ thị cụ thể của từng khu vực.

• Mỗi phương án là tập hợp các công nghệ có thể sử dụng để đáp ứng từng loại nhu cầu tiêu dùng năng lượng.

c) Yêu cầu: Giải quyết bài toán tối ưu tĩnh và động với hai trường hợp số liệu chính xác và số liệu mờ.

3.2.1.2 Phân tích yêu cầu bài toán

Từ đặc tả yêu cẩu chúng ta có thể hình dung được yêu cầu xây dựng chương trình phải thỏa mãn các yêu cầu sau:

(1) Quản lý dữ liệu đầu vào của bài toán (Nhập , xuất, xửa chữa, xóa , truy vấn dữ liệu)

• Danh sách công nghệ, mỗi công nghệ bao gồm các hệ số chuyển đổi tới tài nguyên hạn chế, năng lượng tiêu dùng, mục tiêu, và các thông tin khác về công nghệ (tên, đặc điểm...). vì thế để quản lý được cần phải quản lý được cả danh sách các tham số công nghệ (cộng nghệ‘Tài nguyên hạn chế, công nghệ‘Mục tiêu, công nghệ‘Năng lượng tiêu dùng).

• Danh sách các mục tiêu

• Danh sách các Tài nguyên hạn chế và danh sách tham số tương ứng. Mỗi tài nguyên hạn chứa thông tin về lượng tài nguyên tối đa được dùng cho mỗi giai đoạn do đó mà mỗi tài nguyên hạn chế có một danh sách tham số (chính là lượng tài nguyên tối đa dùng tại mỗi giai đoạn của hệ thống).

• Danh sách các Năng lượng tiêu dùng và các danh sách tham số tương ứng. Tương tự như tài nguyên hạn chế. Ở mỗi một giai đoạn thì nhu cầu năng lượng tiêu dùng cũng khác nhau vì thế cũng có danh sách tham số (năng lượng tiêu dùng ở các giai đoạn) kèm theọ

• Danh sách đồ thị : mỗi khu vực con sẽ một đồ thị. trên đồ thị có nhiều cạnh như vậy để quản lý được đồ thị phải tính đến việc quản lý các cạnh của đồ thị.

• Các phương án : phải quản lý được các công nghệ thuộc phương án. (2) Giải bài toán với số liệu chính xác [3]

(3) Giải bài toán với số liệu mờ [4]

(4) Quản lý dữ liệu đầu ra của bài toán :

• Lưu trữ được kết quả bài toán sau khi giải, việc lưu trữ này đảm bảo tính tối ưu của chương trình khi mà dữ liệu đầu vào không thay đổi thì việc giải lại là không cần thiết. Đồng thời khi người sử dụng muốn xem lại kết quả của bất kỳ bài toán nào đã được giải trước đó thì có thể truy xuất ngay kết quả mà không cần giải lạị

• Cung cấp công cụ để nhìn được chi tiết các kết quả của bài toán. Các kết quả sau khi giải gồm rất nhiều lựa chọn theo các mục tiêu khác nhaụ Một cách nhìn kết quả thân thiện cho người sử dụng là một tiện ích tốt. (adsbygoogle = window.adsbygoogle || []).push({});

• Cung cấp công cụ lựa chọn kết quả. Việc cung cấp bộ lọc kết quả giúp người sử dụng có thể nhìn kết quả dưới nhiều góc độ và dễ dàng lựa chọn

(5) Quản lý dữ liệu động trong quá trình tiến hành giải bài toán.

Trong quá trình giải bài toán yêu cầu lưu trữ dữ liệu trung gian là rất lớn và tăng theo cấp số nhân với số phương án và giai đoạn tại mỗi khu vực con. Vì thế việc quản lý dữ liệu động trong quá trình tiến hành giải bài toán là một yêu cầu quan trọng đảm bảo chất lượng của chương trình.

(6) Các yêu cầu khác :

• Chương trình có chế độ multilanguage giúp người sử dụng lựa chọn ngôn ngữ phù hợp với ngôn ngữ của mình qua đó tăng cao tính thân thiện của chương trình.

• Trong khi đang tiến hành giải bài toán có thể tiến hành đồng thời việc thay đổi dữ liệu của một bài toán khác.

• Cung cấp khả năng Import/Export toàn bộ dữ liệu (dữ liệu vào và kết quả giải bài toán) theo định dạng Excel. Người sử dụng không nhất thiết phải làm việc với dữ liệu trên giao diện của chương trình. Việc cung cấp khả năng Import/Export dữ liệu giúp người sử dụng có thể “Soạn thảo” dữ liệu trên công cụ soạn thảo chuyên nghiệp khác.

3.2.2 Use Case

Hình 3.2 Nhóm use case thao tác dữ liệu

Hình 3.4: Nhóm UseCase kết quả

3.2.3 Class

3.2.3.1 Tổng quan mô hình thiết kế class

Trong mô hình này các lớp được thiết kế chuyên biệt giữa các chức năng và tạo thành các thành phần cơ bản cho chương trình. Với các Form nhập xuất dữ liệu là thành phần về giao diện của chương trình sử dụng để giao tiếp với người sử dụng mọi yêu cầu từ người dùng được đưa qua từ giao diện đến tầng chuyên về xử lý dữ liệu MDatabase xử lý mọi vấn đề liên quan đến quản lý dữ liệu nhập xuất dữ liệu và cung cấp dữ liệu cho các tầng xử lý và hiển thị phần MDatabase sẽ truyền các yêu cầu đến tầng vật lý nơi lưu trữ dữ liệu nhập xuất. Các thành phần xử lý dữ liệu sẽ được cung cấp đầy đủ thông qua các thành phần quản lý dữ liệụ Mô hình tổng quan đó được thể hiện như hình 3.6:

3.2.3.2 Đặc điểm thiết kế chung của các Class (1) Tất cả các lớp M đều thừa kế từ lớp General.

Lớp General lưu trữ các thông tin chung về bài toán (tên, số bước, só giai đoạn....) đồng thời cung cấp đối tượng truy cập dữ liệu (lớp CDatabase).

Hình 3.7: Đặc điểm thiết kế chung của các lớp (2) MDatabase quản lý tất cả các lớp M.

Lớp MDatabase chứa toàn bộ các đối tượng quản lý dữ liệu kể trên. khi khởi tạo MDatabase sẽ khởi tạo lần lượt các lớp M theo thứ tự cần thiết để mỗi lớp M đều có đầy đủ các dữ liệu cần thiết.

Các lớp M được dùng trong chương trình chỉ được lấy ra từ lớp MDatabasẹ (3) Toàn bộ thao tác dữ liệu của các lớp M đều thông qua CDatabase

CDatabase cung câp các thao tác với cơ sở dữ liệụ Các thuộc tính trong CDatabase đều là dữ liệu public để các lớp M có thể truy cập không cần thông qua các phương thức. CDatabase cung cấp các thao tác với cơ sử dữ liệu thông qua gói DatạOdbc của .NET Framework. CDatabase tạo kết nối với cơ sở dữ liệu thông qua ODBC nên rất thuận tiện cho việc thay đổi các hệ quản trị cơ sở dữ liệu nếu cần.

General MEnergy MTarget MNode MLimitResource MTechnology MGrap MEdge MResult MTemporary MTemporaryF MLimitResoureF MEnergyF

(4) Giao tiếp giữa các lớp thông qua các đối tượng dữ liệu cơ bản.

Việc giao tiếp với các lớp M thông qua các đối tượng : Technology, Energy, LimitResource, Edge, Node, Grap. đây là các đôi tượng cơ bản lưu trữ một thành phần dữ liệu để giải bài toán. Các lớp M tương ứng sẽ quản lý các đối tượng nàỵ

3.2.4 Thiết kế Database

Cơ sở dữ liệu của DSPES được thiết kế để có thể lưu trữ nhiều bài toán. Mỗi bài toán trong cơ sở dữ liệu sẽ có một mã số và toàn bộ các dữ liệu liên quan đến bài toán này (Công nghệ, Năng lượng tiêu dùng, Tài nguyên hạn chế...) đều được xác định thông qua mã số liên quan đến bài toán.

Để làm được điều này, cở dữ liệu có bảng General bảng này lưu trữ thông tin cho các bài toán. Các bảng lưu trữ thông tin liên quan đến bài toán đều có thêm một trường để xác định dữ liệu thuộc về bài toán nàọ

Mô tả các bảng chính. (1) General

Bảng lưu trữ thông tin tổng quát cho các bài toán. Thông tin chung về một bài toán gồm có tên bài toán, số giai đoạn, số khu vực con. Ngoài ra để mô tả chi tiết thêm thông tin cho bài toán thì có bảng GeneralDetail. Trong bảng này sẽ lưu thêm thông tin về số phương án tại từng khu vực con.

(2) Technology

Bảng lưu trữ thông tin tổng quát về các công nghệ. Mỗi công nghệ chỉ đơn giản là gồm tên công nghệ, ID công nghệ, và một số thông tin liên quan đến công nghệ.

(3) LimitResource (adsbygoogle = window.adsbygoogle || []).push({});

Bảng lưu trữ thông tin tổng quát về các tài nguyên hạn chế. Mỗi tài nguyên hạn chế gồm tên của tài nguyên hạn chế, ID tài nguyên hạn chế, một số thông tin khác liên quan đến tài nguyên hạn chế. Ngoài ra để miêu tả chi tiết cho tài nguyên hạn chế này thì sẽ có thêm bảng LimitResourceDetail. Bảng này lưu trữ lượng tài nguyên hạn chế chi tiết tại mỗi giai đoạn được xét trong bài toán.

(4) Energy

Bảng lưu trữ thông tin tổng quát về các năng lượng tiêu dùng. Mỗi năng lượng tiêu dùng gồm tên của năng lượng tiêu dùng, ID năng lượng tiêu dùng, một số thông tin khác liên quan đến năng lượng tiêu dùng. Ngoài ra để miêu tả chi tiết cho năng lượng tiêu dùng này thì sẽ có thêm bảng EnergyDetail. Bảng này lưu trữ lượng năng lượng tiêu dùng được yêu cầu tại mỗi khu vực con trên từng giai đoạn chi tiết tại mỗi giai đoạn được xét trong bài toán.

(5) Target

Bảng lưu trữ về thông tin các mục tiêụ Mỗi mục tiêu gồm tên mục tiêu, ID mục tiêu và một số thông tin miêu tả cho mục tiêụ

(6) Các tham số chuyển đổi

Các bảng tham số chuyển đổi giữa công nghệ với tài nguyên hạn chế, năng lượng tiêu dùng và mục tiêụ Các tham số này được lưu tại 3 bảng là: Technology_LimitResource, Technology_Energy, Technology_Target.

(7) Node

Bảng lưu trữ thông tin các phương án gồm tên phương án, miêu tả cho phương án. Thông tin chi tiết phương án gồm những công nghệ nào được lưu trữ trong bảng NodeDetail.

(8) Edge

Bảng lưu trữ các cạnh của đồ thị. Mỗi một cạnh trên đồ thị được lưu trữ với các thông tin : Node bắt đầu, Node kết thúc, tại khu vực con nào, tại bước nàọ

(9) Grap

Lưu trữ thông tin về đồ thị tại các khu vực con. Thông tin gồm tên đồ thi (tên khu vực con, một số miêu tả tổng quan.

Các bảng dữ liệu có quan hệ được mô tả giống với hình vẽ phía trên. 3.2.5 Đánh giá

(1) Trong các phiên bản trước, nhóm phát triển DSS đã cài đặt các thuật toán để giải quyết bài toán phân chia tài nguyên và bài toán tối ưu động đa mục tiêu với hai trường hợp số liệu chính xác và số liệu mờ, kết quả mới dừng ở mức xác định con đường tối ưu của đồ thị tổng trên tầng chiến lược.

(2) Số lời giải sau khi giải bài toán tối ưu đa mục tiêu với số liệu chính xác là rất nhiềụ Phần mềm DSPES 2.0 đã đưa ra một công cụ hỗ trợ người dùng lựa chọn lời giải thích hợp nhưng bộ lựa chọn này còn chưa hoàn chỉnh.

(3) Bài toán đa mục tiêu rõ mới dừng ở mức các mục tiêu đều được coi quan trọng như nhaụ

3.3. Vấn đề đồ án cần giải quyết

(1) Với ý nghĩa của hệ trợ giúp quyết định là đưa ra kết quả được hiển thị thân thiện giúp các nhà hoạch định năng lượng xây dựng được kế hoạch phân bố năng lượng cho tương lai của một khu vực, thì việc ánh xạ từ con đường tối ưu của cả hệ thống ra con đường tối ưu của từng khu vực là cần thiết. Con đường tối ưu của tầng chiến lược phải được ánh xạ ra con đường tối ưu của các hệ thống cục bộ.

(2) Hoàn thiện công cụ lựa chọn lời giải cho hệ trợ giúp quyết định.

(3) Trong quá trình lập kế hoạch trên thực tế thường có việc ưu tiên đối với một hay một số mục tiêu nào đó, vì vậy cần đưa trọng số mục tiêu vào bài toán.

3.4. Kết luận

Chương 3 đã đi vào tìm hiểu kỹ thuật lập trình DSPES bao gồm việc tìm hiểu mô hình xây dựng phần mềm, mô hình thiết kế ( thiết kế các UC và thiết kế lớp), đưa ra kết quả đạt được đồng thời phân tích những tồn tại của các phiên bản trước. Các chương dưới đây sẽ trình bày phần bổ xung hoàn thiện và nâng cấp phiên bản của phần mềm DSPES cũng là nhiệm vụ trọng tâm của đồ án nàỵ

Chương 4. NHỮNG SỬA ĐỔI BỔ SUNG 4.1. Ánh xạ kết quả

4.1.1. Tại sao phải ánh xạ kết quả?

Để trả lời câu hỏi này chúng ta hãy xem lại mô hình ra quyết định của hệ trợ giúp quyết định DSPES như đã trình bày ở đầu chương 2:

Trong thực tế người lập kế hoạch quan tâm đến con đường tối ưu của từng khu vực con cụ thể chứ không dừng ở mức xác định con đường tối ưu của toàn khu vực, cũng như tại mỗi giai đoạn, cần phải cung cấp cho người lập kế hoạch các thông tin cụ thể của phương án đã được chọn bao gồm chi phí cho mỗi giai đoạn (giá thành, năng lượng, lượng ô nhiễm môi trường ‘ thực chất là giá trị của các hàm mục tiêu tại mỗi giai đoạn) và công nghệ nào được sử dụng để đảm bảo cung cấp đủ nhu cầu tiêu dùng của từng khu vực con. Vì vậy để có thể trợ giúp những nhà hoạch định năng lượng đưa được ra kế hoạch phát triển cụ thể cho khu vực thì việc ánh xạ kết quả của đồ thị tổng ra đồ thị của các hệ thống con là rất cần thiết.

Hai phiên bản 2.0 và 2.1 đã đưa ra con đường tối ưu trên sơ đồ mạng tổng thể. Tuy nhiên, phần ánh xạ ra chiến lược tối ưu cục bộ là chưa được đề cập đến( phần xám trong khung nét đứt).

4.1.2. Những khó khăn trong việc ánh xạ

Kết quả của việc giải bài toán tối ưu tĩnh trong phân chia tài nguyên chung được lưu vào bảng có định dạng: (adsbygoogle = window.adsbygoogle || []).push({});

Hình 4.2. Cấu trúc dữ liệu của bảng MTemporaryForQ Và bảng:

Hình 4.3. Cấu trúc dữ liệu của bảng MTemporaryForX

Với bài toán quy hoạch động đa mục tiêu, kết quả được lưu vào bảng với định dạng sau:

Hình 4.4. Bảng TableResult

Nhận xét: Với việc tổ chức dữ liệu như trên, chúng ta không thấy việc lưu lại vết sau quá trình giải bài toán quy hoạch động. Vì thế khi thực hiện ánh xạ, cách duy nhất là giải lại bài toán. Làm như vậy sẽ tốn thời gian.

Sau đây là phương án của đồ án nhằm cài đặt tool ánh xạ. 4.1.3. Phương hướng giải quyết và cài đặt

4.1.3.1. Tổ chức lại dữ liệu

Để thực hiện ánh xạ, việc đầu tiên là cần tổ chức lại dữ liệụ Dưới đây là đề xuất của đồ án:

Hình 4.5. Bảng TableResult1

Việc lưu lại con đường tối ưu được lưu trong trường Path của bảng dữ liệụ Vậy, vấn đề đặt ra ở đây là làm thế nào để lưu lại được vết đó. Trong đồ án đã tiến hành sửa đổi và cài đặt lại thuật toán ĐPP nhằm thực hiện yêu cầu trên.

Để cài đặt bài toán tối ưu động tĩnh đa mục tiêu, các lớp sau được xây dựng CĐPPDistance(cài đặt lại), SimplexF ( bổ sung)

Mối quan hệ giữa các lớp trên với các lớp khác trong hệ thống được trình bày trên hình 4.6.

Hình 4.6 . Quan hệ giữa các lớp cài đặt nhiệm vụ tối ưu tĩnh đa mục tiêu và các lớp khác trong hệ thống

Lớp ĐPPDistance có hàm Solve() cài đặt thuật toán ĐPP.

Lớp ĐPPDistance có hàm SolveDistance() cài đặt ĐPP với việc thực hiện tối ưu tĩnh tại mỗi nút theo hàm khoảng cách.

Như ta đã biết, tối ưu động được thực hiện trên đồ thị tổng. Mỗi lần thực hiện ĐPP chỉ cho một mục tiêu nghĩa là sau khi thực hiện ĐPP ta sẽ có một nhóm lời

Một phần của tài liệu Đồ án xây dựng phiên bản mới của hệ trợ giúp quyết đinh DSPES (Trang 33)