#author("2024-01-25T00:39:44+00:00","","") #author("2024-01-26T00:47:10+00:00","","") [[卒論用文章メモ 中市]] プログラム上でのCPMの求め方を以下に示す. 往路時間計算 各タスクに対して,そのタスクに前提条件がない場合,そのタスクのESを0とし,EFを開始時刻にタスクの所要時間を加算して設定する.これはそのタスクがプロジェクトの開始時に開始できるタスクであることを意味する. タスクに前提条件がある場合,その前提条件に対応するタスクのEFを取得,タスクの最大のEFをESとして設定する.タスクの前提条件がすべて完了した後でなければ開始できないためである. ESを開始時刻に設定し,タスクの所要時間を加算してEFを設定する. すべてのタスクに対して,これらの計算を繰り返したのち,最も大きなEFを全体の所要時間とし,復路時間計算に使用する. 復路時間計算 各タスクに対して,もし後続するタスクが存在しない場合,LFをプロジェクト内の全体の所要時間とし,それからタスクの所要時間を引いたものをLSとして設定する. これはそのタスクがプロジェクトの終了と同時にに終了するタスクであることを意味する. 後続するタスクが存在する場合,そのタスクのLSを取得,タスクの最小のLSをLFとして設定する. LFからタスクの所要時間を引いたものをLSとして設定する. フロートはタスクの開始時刻や終了時刻がどれだけ余裕があるかを示す指標であり,フロートの求め方は2種類存在し,どちらも同じ値をとる. LS-ES LF-EF フロートが0の時,クリティカルなタスクとなり,それらを繋げる経路のことをクリティカルパスとする. [1]https://www.youtube.com/watch?v=I6MLKMirZ2E&ab_channel=MathHands-OnwithPython [2]https://github.com/mashiku-L/critical_path_method/blob/master/task.py [3]https://www.monodukuri.com/gihou/article_list/96/PERT%EF%BC%8FCPM [4]https://bizx-elb.chatwork.com/project-management/pert-pm/