Chương X Thiết kế thuật toán cho chức năng tự động lập lịch dự án

Một phần của tài liệu xây dựng các mô phỏng cho các kỹ thuật khác ngoài critical path - so sánh tập dữ liệu đầu ra của các kỹ thuật trên cùng tập dữ liệu đầu vào (Trang 82)

Mô hình được đề nghị trong đề tài hướng đến mục tiêu: lập lịch cho dự án với mức tài nguyên giới hạn trong tổ chức khi có biểu đồ mạng dự án. Mô hình sử dụng bộ lập lịch song song theo từng ngày như đã trình bày trong phần I-7. Áp dụng kỹ thuật phân mức tài nguyên, nhằm đảm bảo được việc sử dụng tài nguyên hạn hẹp trong tổ chức và điều này có thể sẽ làm thời gian thực hiện của mỗi nhiệm vụ thay đổi.

X-1- Cấu trúc tổ chức

Vì tổ chức ma trận là cấu trúc tổ chức chung trong môi trường đa dự án, mục đích của hệ thống là mô phỏng thế giới thực để sinh ra lịch biểu một cách tự động. Do đó ta sẽ phân thành các tầng giao tiếp riêng biệt. Mức cao nhất là người quản lý chương trình sẽ điều khiển khi nào và dự án nào được đưa vào thực hiện. Mức tiếp theo người quản lý dự án và người quản lý phòng ban. Người quản lý dự án có trách nhiệm phân phối dự án. Mỗi người quản lý dự án có trách nhiệm giám sát và lập ưu tiên cho mỗi nhiệm vụ của dự án. Người quản lý phòng ban có trách nhiệm phân công các nhiệm vụ tới mỗi nhân công trong mỗi phòng ban. Thêm vào đó, người quản lý dự áncó trách nhiệm đối với tiến độ của mỗi nhân công trong dự án và mỗi phòng ban chỉ có ý nghĩa nhóm các cá nhân có kỹ năng tương tự nhau. Tầng thấp nhất chứa bản thân các nhân công.

Hình 46: Cấu trúc tổ chức

X-2- Các mức tài nguyên

Số các dạng tài nguyên (được biểu diễn dưới các phòng ban trong công ty như tài chính, kỹ thuật, thiết kế) có thể được thay đổi bằng việc cập nhật vào dự án. Tương tự, số của mỗi dạng tài nguyên (số người trong một phòng ban) cũng có thể được cập nhật. Và khi sinh ra lịch biểu một cách tự động thì các giá trị này là xác định và do đó mức tài nguyên trong khi thực hiện lập lịch là xác định.

X-3- Các giả định

1. Không được sử dụng thời gian ngoài giờ, nếu một nhiệm vụ bị trễ, thì nó phải sử dụng thời gian làm việc thông thường.

2. Không có ràng buộc tài nguyên nào khác ngoài tài nguyên con người. 3. Mỗi nhiệm vụ do một tài nguyên thực hiện.

4. Mỗi nhân công chỉ có thể thực hiện một nhiệm vụ trong một ngày. 5. Không có sự hạn chế về kích cỡ của hàng đợi đối với mỗi nhân công.

6. Một nhiệm vụ có thể được phân công lại cho nhân công khác trong cùng phòng ban nếu nó chưa được bắt đầu.

X-4- Yếu tố đa dự án

Trong khi thiết kế mô hình, sử dụng mức ưu tiên của dự án, và khi lập lịch là lập lịch trên một tập nhiều dự án nên có thể mềm dẻo với việc lập lịch đa dự án. Chi tiết được trình bày trong thuật toán

X-5- Thuật toán

Phần này miêu tả thuật toán được áp dụng. Phần X-5-1 miêu tả các bước cơ bản trong thuật toán. Phần X-5-2 miêu tả một cách chi tiết hơn đồng thời nêu ra các điểm khác nhau trong thuật toán chi tiết của các kỹ thuật Critical Path và Critical Chain.

X-5-1- Thuật toán cơ bản

1. Bắt đầu một ngày. Người quản lý chương trình quyết định có bắt đầu một dự án hay không.

2. Người quản lý dự án cập nhật tất cả các nhiệm vụ được làm ngày hôm trước và quyết định xem nhiệm vụ nào có thể được bắt đầu vào hôm nay. Các nhiệm vụ đó được phân công tới mỗi người quản lý phòng ban có liên quan.

3. Người quản lý phòng ban lấy danh sách của các nhiệm vụ được phân công từ tất cả những người quản lý dự án. Anh ta sắp xếp danh sách đó và phân công chúng tới các nhân công trong phòng ban của anh ta.

4. Các nhân công của phòng ban đó sắp xếp danh sách nhiệm vụ của họ, với nhiệm vụ có mức ưu tiên cao nhất sẽ đứng đầu. Anh ta làm nhiệm vụ có mức ưu tiên cao nhất và báo cáo tiến độ của anh ta tới người quản lý dự án có liên quan.

5. Bước 3 và 4 được lặp lại cho tới khi tất cả những người quản lý phòng ban đã phân công tất cả các nhiệm vụ và các nhân công đã lựa chọn và làm nhiệm vụ của họ.

6. Bộ đếm ngày được tăng từng ngày một, và thuật toán được lặp lại tới khi đạt đến một khoảng thời gian nào đó (đã được xác định trước).

Hình 47: Sơ đồ thuật toán lập lịch tự động

Bước 1: Bắt đầu dự án

Người quản lý chương trình quyết định có bắt đầu một dự án mới hay không dựa theo các quy tắc xác định.

i) Theo kỹ thuật CPM: Trong CPM, có một số cách để quyết định xem có đưa ra một dự án hay không:

1. Số lớn nhất các dự án được kích hoạt / xảy ra đồng thời. Các dự án sẽ không được phép đưa ra khi số dự án đang hoạt động đạt đến một giới hạn nào đó.

2. Tổng sử dụng. Nếu tổng sử dụngcủa cácnhân công trong công ty thấp hơn một mức nào đó, một dự án được đưa ra.

3. Kích cỡ hàng đợi của mỗi phòng ban. Nếu kích cỡ hàng đợi của công ty thấp hơn một mức nào đó thì sẽ kích hoạt việc đưa ra một dự án.

ii) Theo kỹ thuật CCM: Trong CCM, các dự án được đưa ra dựa theo “phòng ban khan hiếm”. “Phòng ban khan hiếm” là phòng ban được sử dụng nhiều nhất trong công ty. Việc công ty làm việc dựa vào khả năng của tài nguyên khan hiếm sẽ đảm bảo cho tài nguyên này có thể tận dụng một cách tối đa. Khi tài nguyên khan hiếm được dùng ở mức tối đa thì toàn bộ công ty cũng được hoạt động một cách tối đa. Dự án được chọn và đưa ra nếu nó có thể đảm bảo việc lập lich được cho tài nguyên khan hiếm, có nghĩa là ở thời điểm đó nếu tài nguyên khan hiếm có thể đáp ứng ở một mức nào đó cho dự án thì dự án được đưa vào hoạt động. Nếu một dự án mới được bắt đầu nhảy đến bước hai, ngược lại nhảy đến bước 3.

Bước 2: Thiết lập dự án. (adsbygoogle = window.adsbygoogle || []).push({});

Nếu một dự án mới được cho phép bắt đầu, người quản lý chương trình bắt đầu một dự án mới và giao nó cho người quản lý dự án. Cả hai kỹ thuật là giống nhau trong bước này.

Bước 3: Sự phân công của người quản lý dự án

Mỗi người quản lý dự án(thuật toán lặp qua tất cả những người quản lý dự án) xem tiến độ dự án của họ và cập nhật mức ưu tiên cho mỗi nhiệm vụ nếu cần thiết. Ví dụ, nếu một nhiệm vụ là quá hạn, hoặc tiến độ là không cao như đáng lẽ nó phải có, người quản lý dự án có thể tăng mức ưu tiên, nghĩa là nhân công phải có trách nhiệm làm nhiệm vụ đó trước nếu như nó có trong danh sách nhiệm vụ của nhân côngđó. Nếu nhiệm vụ cuối cùng của dự án được kết thúc, anh ta báo cáo trở lại người quản lý chương trình về ngày kết thúc. Sau đó người quản lý dự án kiểm tra các nhiệm vụ có thể được bắt đầu trong ngày và phân công các nhiệm vụ đó. Kết thúc vòng lặp, tất cả những người quản lý dự án phân công xong các nhiệm vụ

có thể được bắt đầu ngày hôm đó. Người quản lý phòng ban có một danh sách của tất cả các nhiệm vụ sẵn sàng để phân công cho các nhân công của anh ta.

i) Theo kỹ thuật CPM: Tất cả các nhiệm vụ được phân công tới những người quản lý phòng ban ngay khi tất cả các nhiệm vụ tiền nhiệm kết thúc. Điều này cho phép có nhiều thời gian hơn cho nhân công làm nhiệm vụ đó.

ii) Theo kỹ thuật CCM: Tất cả các nhiệm vụ được bắt đầu tại điểm bắt đầu muộn của nhiệm vụ. Điều này nhằm mục đích giảm công việc trong tiến trình (WIP) và giảm số nhiệm vụ không cần thiết có thể được bắt đầu.

Bước 4: Sự phân công của người quản lý phòng ban

Mỗi phòng ban được lặp. Khi một phòng ban được gọi, người quản lý phòng ban sẽ sắp xếp tất cả các nhiệm vụ từ danh sách của anh ta dựa theo các luật ưu tiên nào đó. Điều này nghĩa là các nhiệm vụ với mức ưu tiên cao nhất sẽ được phân công đầu tiên. Các nhiệm vụ này sẽ được phân công tới mỗi nhân công dựa theo các quy tắc lập lịch nào đó. Khi tất cả các nhiệm vụ được phân công, người quản lý phòng ban xóa danh sách nhiệm vụ của anh ta, sẵn sàng cho ngày tiếp theo. i) Theo kỹ thuật CPM: Người quản lý phòng ban sắp xếp các nhiệm vụ của anh ta dựa theo các nhiệm vụ có mức ưu tiên cao nhất,nhiệm vụ có mức ưu tiên cao nhất là nhiệm vụ có thời gian thả nổi ít nhất. Sau đó anh ta phân công chúng cho các nhân công bằng cách lập thứ tự ưu tiên cho các nhân công rồi phân công nhiệm vụ cho nhân công có mức ưu tiên cao nhất. Việc xác định mức ưu tiên của nhân công được dựa vào số các công việc đã phân công cho nhân công đó (và đang còn trong quá trình thực hiện). Như vậy nhân công hiện đang phải làm ít công việc nhất được giao nhiệm vụ trước tiên, sau đó số công việc của nhân công được cập nhật lại và nhân công tiếp theo với số công việc thấp nhất lại được phân công.

ii) Theo kỹ thuật CCM: Người quản lý phòng ban sắp xếp các nhiệm vụ của anh ta dựa vào các nhiệm vụ có mức ưu tiên cao nhất, bằng việc tìm nhiệm vụ với số ngày trong vùng đệm còn lại ít nhất. Sau đó phân công một công việc tới mỗi nhân công. Bởi vì danh sách của anh ta được sắp xếp với các nhiệm vụ có mức ưu tiên cao nhất đứng đầu, anh ta sẽ phân công chúng đầu tiên.

Anh ta tìm các nhân công nhàn rỗi và giao cho họ một công việc từ danh sách. Nếu có các nhiệm vụ Critical Chain và có các nhân công đang làm việc trên các nhiệm vụ không phải Critical Chain, họ sẽ được thuyên chuyển đến làm nhiệm vụ

Critical Chain trước tiên. Sau đó họ có thể tiếp tục làm các nhiệm vụ trước đó.

Bước 5: Nhân công

Mỗi nhân công của mỗi phòng ban được gọi, họ sắp xếp danh sách nhiệm vụ được phân công của họ và chọn một công việc để làm ngày hôm đó (họ sắp xếp dựa theo các quy tắc ưu tiên được sử dụng khi người quản lý phòng ban phân công nhiệm vụ). Sau đó cập nhật về phần trăm nhiệm vụ đã làm bằng cách dựa vào thời gian thực hiện của nhiệm vụ và số ngày mà nhiệm vụ đó đã được làm. Mỗi lần

nhân cônghoàn thành công việc, anh ta báo cáo với người quản lý dự án và người quản lý phòng ban về tiến độ của anh ta. Thêm vào đó, bất cứ nhiệm vụ nào anh ta không bắt đầu nhưng được phân công cho anh ta được xóa khỏi danh sách nhiệm vụ của anh ta.

Điều này có ý nghĩa như sau:

1. Một nhân công phải hoàn thành tất cả nhiệm vụ mà anh ta đã bắt đầu. Các nhiệm vụ đã hoàn thành một nửa không thể được truyền cho tài nguyên khác. 2. Bất cứ nhiệm vụ nào không được bắt đầu có thể được phân công lại vào ngày hôm sau, vì thế, có khả năng được truyền tới tài nguyên khác. Nhân công tiếp theo được gọi.

Một lần tất cả các nhân công trong một phòng ban được gọi và được xử lý, phòng ban tiếp theo được gọi và các bước 4 và 5 được lặp lại cho tới khi tất cả các phòng ban được lặp qua. Sự khác nhau giữa hai kỹ thuật CPM và CCM là khả năng các nhân công được làm đa nhiệm vụ và các mức ưu tiên trong giai đoạn mà người quản lý dự án đã dùng.

i) Theo kỹ thuật CPM: CPM cho phép đa nhiệm vụ. Điều này là có thể vì một nhân công chỉ phải làm nhiệm vụ có mức ưu tiên cao nhất trong danh sách của nó, nhiệm vụ có mức ưu tiên cao nhất có thể thay đổi theo từng ngày. Nếu nhiệm vụ bị muộn, người quản lý dự án có thể tăng mức ưu tiên của nhiệm vụ đó và do đó nhân công nên làm nhiệm vụ đó đầu tiên. Nếu một nhiệm vụ màu đỏ, nghĩa là nó là một nhiệm vụ CPM muộn. Nếu nhiệm vụ có thời gian trễ lớn hơn, mức ưu tiên của nhiệm vụ có thể được tăng đến màu trắng, vì thế, nhân công phải làm nhiệm vụ đó. Khi nhiệm vụ được làm vào ngày hôm đó, nhiệm vụ này được trả lại mức ưu tiên màu đỏ bởi nhân công. Do đó, xuất hiện sự đa nhiệm vụ. Hoàn cảnh này sẽ chỉ xuất hiện khi có hai ưu tiên cao, các nhiệm vụ muộn được phân công tới cùng tài nguyên. Điều này được minh họa trong ví dụ sau:

Trong ví dụ này, nhân công nên làm nhiệm vụ A vào ngày 17 và nhiệm vụ B vào ngày 18.

ii) Theo kỹ thuật CCM: Trong CCM, nhân công không bắt đầu bất cứ nhiệm vụ nào khác cho tới khi nhiệm vụ hiện tại kết thúc. Để làm điều này, nhân công chỉ được phân công thực hiện một nhiệm vụ tại một thời điểm. Có một ngoại lệ là nếu nhận một nhiệm vụ Critical Chain. Khi đó có một nhiệm vụ Critical Chain trong danh sách, nhân công tự động làm nhiệm vụ đó tới khi nó kết thúc, sau đó sẽ quay

trở lại làm nhiệm vụ ngay trước đó mà nó đã làm. Không có một sự thay đổi nào về mức ưu tiên trong khi nhiệm vụ đó được làm

Bước 6: Cập nhật bộ đếm ngày.

Bộ đếm ngày được tăng thêm 1.

Bước 7: Lặp lại các bước từ 1 đến 6 tới khi đến thời điểm kết thúc (là thời điểm

PHẦN IV

Một phần của tài liệu xây dựng các mô phỏng cho các kỹ thuật khác ngoài critical path - so sánh tập dữ liệu đầu ra của các kỹ thuật trên cùng tập dữ liệu đầu vào (Trang 82)