技能一覧 › 大学数学 オペレーションズ・リサーチ

プロジェクトの工期短縮(クラッシング)

各作業の 1 日あたり短縮費用と短縮上限から、すべてのクリティカルパスを同時に短くする最も安い組合せを選び、目標工期を達成するための追加費用の最小値を求められる

前提

説明

PERT で求めた最短完了時刻が目標より長いとき、費用をかけて作業を短くし、工期を縮めることを工期短縮(クラッシング)といいます。各作業には「1 日短くするのにかかる費用(短縮費用)」と「最大で何日短くできるか(短縮上限)」が与えられます。この技能を使うと、目標工期を達成するための追加費用の最小値を求められます。工事・製品開発・イベント準備などの日程計画で使います。

なぜそうしてよいのか

プロジェクトの完了時刻は、開始から終了までの経路(パス)のうち最も長いもの、つまりクリティカルパスの長さで決まります。クリティカルパスが複数あるときは、どれか 1 本でも元の長さのまま残れば完了時刻は縮みません。したがって工期を 1 日縮めるには、すべてのクリティカルパスがそれぞれ 1 日以上短くなるように作業を選ぶ必要があります。一方、クリティカルパスに含まれない作業を短くしても完了時刻は変わらず、その費用は無駄になります。

短縮費用は 1 日あたりで決まっているので、「すべてのクリティカルパスに、選んだ作業が少なくとも 1 つずつ含まれる」組合せのうち費用の合計が最も小さいものを選べば、その 1 日については最も安く縮められます。2 本のクリティカルパスに共通の作業があれば、その作業 1 つで両方を縮められます。共通の作業がなければ各パスから 1 つずつ選びます。どちらが安いかを比べて決めます。1 日縮めると、それまで余裕のあったパスが新たにクリティカルになることがあるので、短縮は 1 日ずつ行い、そのたびにクリティカルパスを求め直します。

ただし、1 日ごとに最安を選ぶだけでは、全体の最小になる保証はありません。選んだ組合せの中に同じパス上の作業が 2 つあると、そのパスは 2 日縮んで 1 日分が無駄になることがあります。また、前に短縮した作業が後の段階で不要になることもあります。そこで、すでに短縮した作業を 1 日戻す(その分の費用が戻る)変更も候補に入れます。さらに最小であることを確かめるには、各作業の短縮日数を とおき、各パスについて「そのパス上の短縮日数の合計 パスの長さ 目標工期」という不等式を立て、短縮上限の範囲で場合分けして費用の最小値を調べます。この確認は小さな問題なら手で行えます。

手順

  1. 前提の技能ですべてのパスの長さを求め、最短完了時刻とすべてのクリティカルパス(最長のパス)を求める。

  2. 1 日縮める候補を挙げる。すべてのクリティカルパスが正味 1 日以上短くなるように、短縮上限に達していない作業を 1 日短くする組合せを考える。すでに短縮した作業を 1 日戻す変更(費用はマイナスとして数える)を含めた組合せも候補にする。

  3. 候補のうち費用の合計が最小のものを選んで実行し、各作業の所要日数・短縮上限の残り・費用の累計を更新する。

  4. 更新後の所要日数でパスの長さを計算し直し、新しいクリティカルパスを求める。

  5. 完了時刻が目標工期になるまで手順 2〜4 をくり返す。途中でどの候補も作れなくなったら、その目標工期は達成できない。

  6. 確認として、各作業の短縮日数を とおき、各パスについて を立てる。短縮上限の範囲で場合分けして費用の最小値を求め、手順 5 の累計と一致することを確かめる。

例題

作業 A, B, C, D からなるプロジェクトがある。各作業の通常の所要日数・先行作業・1 日あたりの短縮費用・短縮上限は次のとおりである。
A: 4 日、先行作業なし、4 万円/日、上限 2 日
B: 3 日、先行作業なし、2 万円/日、上限 2 日
C: 5 日、先行作業 A、1 万円/日、上限 2 日
D: 6 日、先行作業 A と B、2 万円/日、上限 2 日
プロジェクトの完了を 8 日にするための追加費用の最小値(万円)を求めよ。

例題の解答

【手順 1】最早開始時刻は A が 0、B が 0、C が 4、D が です。完了時刻は 日です。パスは (9 日)、(10 日)、(9 日)の 3 本で、クリティカルパスは だけです。

【1 回目(10 日→9 日)】
手順 2: を縮める候補は A(4 万円)と D(2 万円)です。まだ短縮した作業はないので、戻す候補はありません。
手順 3:最も安い D を 1 日短くします。D は 5 日、D の上限の残りは 1 日、累計は 2 万円です。
手順 4:パスの長さは が 9、 が 9、 が 8 です。クリティカルパスは と の 2 本です。

【2 回目(9 日→8 日)】
手順 2:2 本とも縮める組合せは、共通の作業 A だけ(4 万円)か、C と D を 1 日ずつ( 万円)です。D を 1 日戻す変更を含めると、 を正味で縮めるのに A を 2 日縮める必要があり、少なくとも 万円かかります。
手順 3:最も安い C と D を選び、1 日ずつ短くします。C は 4 日、D は 4 日(D の上限は使い切り)、累計は 万円です。
手順 4:パスの長さは が 8、 が 8、 が 7 で、完了時刻は 8 日です。

【手順 5】目標の 8 日に達したので、累計は 5 万円です。

【手順 6(確認)】短縮日数を (それぞれ 0 以上 2 以下の整数)とします。8 日にするための条件は

で、費用は です。
・ のとき: より 、 です。このとき は で満たされます。費用の最小は 万円です。
・ のとき: より、費用は 万円以上です。
・ のとき: より、費用は 万円以上です。
したがって最小値は 5 万円で、手順 5 の結果と一致します。

答え:

よくある誤り

この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。

入口の問題

この技能を使う問題