CÀI ĐẶT BÀI TOÁN

8 598 0
CÀI ĐẶT BÀI TOÁN

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

Thông tin tài liệu

CÀI ĐẶT BÀI TỐN I. Phân tích bài tốn. 1. Các chức năng chính của bài tốn. Chương trình gồm các chức năng sau: - Áp dụng phương pháp PERT-PCM vào để giải quyết bài tốn lập lịch thi công công trình, công việc này nhằm lập ra một lịch thi công các công trình trong một dự án sao cho thời gian hồn thành dự án là tối ưu nhất về thời gian, chúng ta chỉ cần nhìn vào lịch lập ra là đã đièu khiển được dự án của chúng ta. - Điều khiển nhân lực khi thi công các công trình, công việc này giúp chúng ta điều khiển lượng nhân công hiện có. 2. Cấu trúc dữ liệu của bài tốn. Dữ liệu của bài tốn được lưu trữ dưới dạng một bảng ghi có cấu trúc như sau: Type LuuTru DinhDau As Long DinhCuoi As Long GiaTri As Long NgayThiHanh As Date Ten As String * 50 End Type Trong đó DinhDau lưu trữ số thứ tự của hạng mục cần phải làm trước, ví dụ như sau 1 (10) 2 5 (12) 8 (0) (10) 0 (15) (30) (12) 9 (0) (10) (15) (15) (20) 3 4 6 7 10 (10) Trang 1 thì khi đó DinhDau sẽ có giá trị là 1, DinhCuoi sẽ có giá trị là 2 và lúc đó GiaTri sẽ bằng 10, ngày thi hành dùng để lưu trữ ngày bắt đầu thi hành dự án, còn biến Ten dùng để lưu trữ tên các hạng mục cần thi công, ví dụ hạng mục (1,2 ) là xây tường chẳng hạn, khi đó lúc lưu trữ dữ liệu sẽ lưu trữ tất cả các biến đó. Chương trình còn lưu trữ thêm một File dùng để lưu trữ thên tên các hạng mục nó cũng có dạng một bảng ghi như sau; Type HocvienType TenHM As String * 50 End Type Biến TenHM dùng để lưu trữ các tên hạng mục, các tên này sẽ được lưu trữ dưới dạng một File cùng cấp với File nguồn của chương trình khi chương trình chạy, nó có tác dụng cập nhật những tên hạng mục mới cho chương trình của chúng ta. II. Giới thiệu chương trình. Chương trình bao gồm hai công việc chính đó là: Lập lịch thi công công trình và Điều khiển nhân lực 1. Lập lịch thi công công trình. Chương trình được tổ chức dưới một Menu chính có dạng như sau Menu chính của chương trình này liên kết với mọi Form của chương trình, ở đây ta có thể sử dụng chương trình Help để được hướng dẫn sử dụng hoặc tại mỗi biểu tượng của chương trình đều có Tooltip bằng tiếng Việt hiện lên, vì vậy bạn có thể dễ dàng sử dụng chương trình này. Từ Form chính này ta có thể tiến hành được các công việc như sau: - Mở một File mới để nhập dữ liệu từ đầu: bằng cách bấm vào biểu tượng New có hình tờ giấy trắng, hoặc bấm vào Menu File/New để chương trình bắt đầu làm việc. + Sau khi bấm New thì chương trình sẽ cho một Form chưa có dữ liệu. Từ đây bạn có thể nhập dữ liệu để tính tốn: đầu tiên là nhập số hạng mục cần làm trong một dự án, ở đây số hạng mục phải là số, và số phải là số dương. + Nếu bạn nhập sai chương trình sẽ thông báo lỗi đó và yêu cầu bạn nhập lại cho đến khi nào nhập đúng thì thôi, bạn cũng có thể Click vào nút HủyBỏ để hủy bỏ công việc nhập dữ liệu. + Sau khi nhập xong bạn có thể bấm nút Enter để xác định số bạn vừa nhập, hoặc Click vào biểu tương Tiếp Tục , chương trình sẽ kiểm tra sem bạn đã nhập đúng chưa. Nếu chưa đúng thì bạn phải nhập lại. Trang 2 + Bạn có thể hủy bỏ bằng cách Click vào biểu tượng Hủy Bỏ hoặc nhấn phím ESC để hủy bỏ việc nhập dữ liệu của mình và quay trở lại Form ban đầu. + Sau khi nhập xong số hạng mục cần tính tốn và nhấn Enter chương trình sẽ cho một bảng tính trong đó bạn cần phải nhập tên của từng hạng mục mà trong dự án cần phải làm, ở đây bạn có thể gõ trực tiếp tên từng hạng mục hoặc bạn có thể sử dụng phương pháp gắp thả từ một danh sách bên cạnh, nếu tên hạng mục nào chưa có thì bạn có thể bổ xung tên hạng mục bằng cách Click vào mục Bổ xung tên hạng mục, tiếp theo bạn nhập thời gian làm xong của từng hạng mục một và sự ràng buộc giữa các hạng mục với nhau, nếu có một hạng mục mà có nhiều hơn 2 hạng mục phải làm trước thì phải nhập chúng cách nhau bằng dấu “,” + Nếu hạng mục nào mà không làm từ đầu thì bạn có thể bỏ trắng không cần nhập điều kiện ràng buộc tức là hạng mục đó sẽ làm đầu tiên, không cần phải làm sau bất cưa hạng mục nào. + Khi nhập xong bạn có thể bấm Enter hoặc Click vào biểu tượng Số Liệu Nhập để xác định việc nhập dữ liệu của bạn. + Khi lập dữ liệu mới bạn cần chú ý là nhập thời gian bắt đầu tiến hành dự án, thời gian bắt đầu ở đây phải lớn hơn thời gian hiện tại, nều không chương trình cũng sẽ hiện một thông báo nói rằng bạn nhập sai, và tất nhiên bạn phải nhập lại. + Nếu bạn muốn hủy bỏ việc nhập của bạn, bạn có thể bấm vào nút Quay Lại hoặc bấm nút ESC để thốt khỏi chương trình và quay trở lại màn hình ban đầu. Trang 3 + Nếu trong quá trình nhập dữ liệu bạn không biết cách bạn có thể tham khảo hướng dẫn bằng cách Click vào biểu tượng Trợ Giúp + Nếu việc nhập dữ liệu tốt bạn có thể bấm nút Quay Lại để tiếp tục chương trình. - Sau khi đã có dữ liệu bạn có thể có được một đồ thị mô tả sự liên hệ giữa các hạng mục bằng cách Click vào biểu tượng Imetate hoặc từ Menu Imetate\Graph sẽ cho ta đồ thị mô tả dữ liệu. + Bạn cũng có thể in dữ liệu ra giấy bằng cách bấm vào biểu tượng máy in trên Form dữ liệu này. + Bạn Click vào biểu tượng Quay Lại để trở lại Menu chính. - Tiếp theo, nếu bạn muốn xem lịch thi công các hạng mục trong dự án như thế nào bạn có thể Click vào biểu tượng Design trên Toolbar hoặc Design trên thanh Menu để bạn có thể xem chi tiết lịch thi công các hạng mục trong dự án. Form có dạng như sau: + Ở đây có 4 cột. Cột thứ nhất ghi thứ tự các hạng mục được thi công, cột thứ hai cho biết tên hạng mục cần thi công, cột thứ 3 cho biết số lượng thời gian hạng mục đó bắt đầu tiến hành, tất nhiên đối với hạng mục cuối cùng thì đây là thời điểm cắt băng khánh thành dự án này, cột thứ 4 in ra ngày mà hạng mục đó bắt đầu tiến hành, điều này sẽ giúp cho các nhà quản lý nhân sự tham gia trong các dự án quản lý dự án của mình được dẽ dàng hơn. Những số liệu ở đây bạn chỉ có thể xem chứ không xóa hay sửa đổi một cái gì cả. Bạn cũng có thể xuất dữ liệu ra máy in. + Kết thúc Form này bạn có thể Click vào biểu tượng quay lại để trở về Menu chính. Trang 4 - Sau khi tham khảo song lịch thi hành dự án bạn có thể lưu trữ dữ liệu vào trong máy tính của bạn bằng cách Click vào Menu File\Save + Chương trình sẽ đưa ra hộp hội thoại cho phép bạn lưu trữ dữ liệu vào đâu tùy ý bạn. Sau khi chọn được nơi lưu trữ bạn nhập tên File và Click vào nút Save, nó sẽ ghi tồn bộ dữ liệu cho bạn. + Trong chương trình này bạn chỉ có thể lưu tên File với phần mở rộng là *.PCM, ở đây không có gì là ràng buộc cả bởi vì tôi muốn đặt ra một cái gì đó gợi nhớ để cảm ơn những người đi trước họ đã nghiên cứa được một ứng dụng quan trọng như thế này, một ứng dụng mà nó đem lại nhiều lợi nhuận cho con người khi xây dựng các dự án lớn. Form có dạng: - Tương tự như ghi dữ liệu để lưu trữ, bạn cũng có thể đọc dữ liệu mà bạn đã lưu trữ ra bằng cách Click vào Menu\File\Open + Sau đó bạn cũng có thể lự chọn tập tin nào chưa dữ liệu mà bạn cần mở, Form có dạng như sau: - Đến đây công việc tưởng chừng như đã hồn tất nhưng mọi chuyện không phải đơn giản như vậy. Trong thực tế có những dự án mà khi người ta thi công rồi mới thấy có một số công việc không thích hợp, và như thế họ phải phá ra, hoặc có những lúc họ không cần một số hạng mục nào đó, và cũng có những lúc họ lại muốn thêm một số hạng mục nào đó. Tất nhiên đây là những điều mà những nhà quản lý họ cũng không muốn, nhưng trong thực tế những chuyện như thế này nó vẫn tồn tại. Chính vì vậy mà trong chương trình này tôi cũng có đề cập đến vấn đề này. - Form này sẽ mở ra những dự án mà đang được thi công, lúc này thì giả sử đặt trường hợp chúng ta là những người đang điều hành những dự án đó, nhưng ở đây đơn giản hơn nhiều vì đây chỉ là giả sử thôi. Lúc đó bạn có thể bổ xung một hạng mục nào đó vào trong danh sách các hạng mục sẽ được thi công, và một điều tất nhiên là ta chúng phải nhập thời gian làm xong hạng mục vừa nhập đó. Form ở đây có dạng như sau: + Bạn có thể thêm vào bao nhiêu hạng mục tùy ý bạn, nhưng lưu ý là sau mỗi lần thêm vào thì phải nhớ là thứ tự thi công sẽ bị thay đổi, và hạng mục thêm vào không được lớn hơn hạng mục cuối cùng là 2 vì khi bắt đầu thêm vào Giả sử dự án của bạn có 100 hạng mục mà bạn thêm vào hạng mucï thứ 102 thì không được, chương trình sẽ báo lỗi và bạn phải nhập lại. Sau mỗi lần nhập dữ liệu bạn có thể nhấn phím Enter để xác định việc nhập của bạn. - Tương tự như thêm hạng mục việc bỏ một số hạng mục cũng diễn ra tương tự, bạn chỉ cần Click vào biểu tượng xóa hạng mục là sẽ có một cửa sổ tương tự như cửa sổ nhập hạng mục thêm vào cho bạn nhập . + Sau Khi kết thúc việc thêm hay xóa một số hạng mục bạn phải Click vào biểu tượng nhập số liệu để chương trình tính tốn lại cho bạn, lúc này lịch thi công lại có một lịch mới, khác hẳn lịch ban đầu nếu như bạn đã thêm vào hoặc bỏ đi một số hạng mục không cần thi công. - Nếu như bạn nhập dữ liệu mới hay mở một file đã lưu trong đĩa mà bạn đã sửa đổi dữ liệu ở bên trong thì bạn lên lưu dữ liệu vào một File thì việc nhập dữ liệu Trang 5 hay sửa đổi dữ liệu mới có tác dụng. Ơû đây chương trình nó biết được ta đã lưu hay chưa, nếu chưa lưu thì khi nào thốt khỏi chương trình nó sẽ nhắc nhở chúng ta là có lưu dữ liệu hay không. + Nếu bạn click vào yes thì một cửa sổ ghi File lại hiện ra yêu cầu bạn ghi tên file và Click vào nút Save. 2. Điều khiển nhân lực. Cũng tương tự như lập lịch thi công công trình ở đây chương trình cũng bao gồm các công đoạn tương tự như trên. Khi kết thúc chương trình sẽ cho ta một bảng trong đó đưa ra một danh sách bao gồm số công nhân cần có cho mỗi công việc. III. Chương trình nguồn. Trong chương trình này bao gồm rất nhiều hàm và thủ tục ở đây chỉ xin đưa ra một thủ tục quan trọng đó là một thủ tục chính trong chương trình, thủ tục này trong phần lập lịch thi công trình đó là thuật tốn Dijsktra, thuật tốn được viết như sau. Public Sub Dijkstra() Dim v, u, minp As Long S = 0 For v = 0 To n + 1 D(v) = A(S, v) Truoc(v) = S Final(v) = False Next v Truoc(S) = 0 D(S) = 0 Final(S) = True Do W7hile Not Final(T) 'Tim u la dinh co nhan tam thoi nho nhat minp = 3000000 For v = 0 To n + 1 If (Not Final(v)) And (minp > D(v)) Then u = v minp = D(v) End If Final(u) = True Next v ' chu y Trang 6 '============================================ If Not Final(T) Then For v = 0 To n + 1 If (Not Final(v)) And (D(v) + A(u, v) < D(u)) Then D(v) = D(u) + A(u, v) Truoc(v) = u End If Next v End If Loop End Sub Trang 7 KẾT LUẬN Trong sự phát triển vượt bậc của xã hội hiện nay, việc xây dựng các dự án lớn đã có rất nhiều chuyên gia có nhiều kinh nghiệm trợ giúp họ hồn thành dự án này, đồng thời họ cũng đã có đủ những kinh nghiệm để hồn thành các dự án đó. Tuy nhiên để hồn thành những dự án lớn đó thì với sự phát triển của công nghệ thông tin hiện nay đã phần nào đã góp phần vào công cuộc phát triển và xây dựng nền kinh tế của nước nhà. Trong thời gian làm đề tài này. Với một công nghệ tối ưu đã nghiên cứu và phát triển trong xây dựng và điều hành những dự án lớn (Nhất là những dự án đòi hỏi sự chính xác, đòi hỏi phải tiết kiệm nhân lực, tiết kiệm thời gian … nhưng phải hồn thành trong một thời gian sớm nhất), nhưng đã phần nào đáp ứng được được các nhu cầu cần thiết ở trên. Đề tài “Điều hành dự án băng phương pháp PERT-PCM và ứng dụng giải quyết bài tốn lập lịch thi công công trình” với sự chỉ bảo tận tình của thầy Đỗ Như An đã giúp em hồn thành đề tài này. Do thời gian và kinh nghiệm hạn chế nên đề tài chắc vẫn chưa hết khỏi những thiếu xót. Trong thời gian sau tôi sẽ cố gắng hồn thành chúng và có thể đưa ra sử dụng trong cuộc sống hiện nay. Trang 8 . CÀI ĐẶT BÀI TỐN I. Phân tích bài tốn. 1. Các chức năng chính của bài tốn. Chương trình gồm các chức năng sau:. chúng ta điều khiển lượng nhân công hiện có. 2. Cấu trúc dữ liệu của bài tốn. Dữ liệu của bài tốn được lưu trữ dưới dạng một bảng ghi có cấu trúc như sau:

Ngày đăng: 26/10/2013, 07:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan