このページの内容

周期性と時間変動パラメーター

Process Intelligence Process Intelligence Process Intelligence席以上で利用できます。このプラン以上の席でのみ、この機能を利用できます。 プランを比較 プロセスインテリジェンスシート以上で利用可能です

周期性とは

実際のプロセスは、常に同じように動くわけではありません。カスタマーサービスでは営業時間中に電話が増えます。製造現場では、スタッフ構成の異なるシフトで稼働します。小売業では季節によって繁忙期が生じます。

周期性を使うと、特定のシミュレーションルールをいつ適用するかを定義できます。1つのグローバル値を使う代わりに、時間帯ごとに異なるパラメーターを指定できます:

  • 平日と週末
  • 朝のシフトと夜のシフト
  • 繁忙期と閑散期
  • 営業時間と営業時間外

これにより、異なる時間の状況に応じて、シミュレーションを現実に近い形で動かせます。

周期性が重要な理由

顧客の到着をモデル化する簡単な例を考えてみます。

周期性なし:

  • 1時間あたり10人の顧客、24時間365日

周期性あり:

  • 平日9:00~18:00は1時間あたり25人
  • 平日18:00~21:00は1時間あたり15人
  • 週末は1時間あたり5人
  • 夜間は1時間あたり2人

2つ目のモデルでは、待ち行列、リソースの利用、スループットに影響する現実的な需要パターンを表現できます。

利用可能な周期性タイプ

ProcessMindでは9種類の周期性タイプを利用できます。それぞれ、ルールを適用する時間を定義します:

種類 パラメーター 説明
常時 (なし) 常に適用され、変動なし
デフォルト (なし) 他の時間ベースのルールに一致しない場合のフォールバックルール
固定期間 startDateTime, endDateTime 1回限りの期間(繰り返しなし)
毎日 startTime, endTime 毎日同じ時間帯
平日ごと startTime, endTime 月曜から金曜のみ
週末の各日 startTime, endTime 土曜と日曜のみ
毎週 startDay, startTime, endDay, endTime 毎週繰り返し、複数日にまたがる場合あり
毎月 startDayOfMonth, startTime, endDayOfMonth, endTime 毎月繰り返すパターン
毎年 startMonth, startDayOfMonth, startTime, endMonth, endDayOfMonth, endTime 年次・季節性のパターン

周期性タイプの詳細

常時

最も単純なオプションです。変動なしで、常にルールを適用します。

**使用する場面:**パラメーターが時間によって変化しない場合や、単純なベースラインシミュレーションを作成する場合です。

デフォルト

現在のシミュレーション時刻に一致する他の時間ベースのルールがない場合に適用されます。

**使用する場面:**特定の時間帯に例外を定義し、それ以外ではデフォルト値を使う場合です。

デフォルトを必ず含める

複数の周期性ルールを使う場合は、時間ベースのルールに空白が生じないよう、必ずデフォルトルールを含めてください。これにより、特定のルールに一致しない場合の予期しない動作を防げます。

毎日

ルールは毎日、特定の時間帯に適用されます。

パラメーター:

  • startTime:ルールの開始時刻(例:09:00)
  • endTime:ルールの終了時刻(例:17:00)

**例:**一般的な営業時間09:00~17:00を、週末を含む毎日に適用します。

平日ごと

ルールは月曜から金曜のみ、特定の時間帯に適用されます。

パラメーター:

  • startTime:ルールの開始時刻
  • endTime:ルールの終了時刻

**例:**カスタマーサービスは平日の08:00~18:00に稼働し、週末には異なるルールを適用します。

週末の各日

ルールは土曜と日曜のみ、特定の時間帯に適用されます。

パラメーター:

  • startTime:ルールの開始時刻
  • endTime:ルールの終了時刻

**例:**週末のサポート時間を10:00~16:00に短縮します。

毎週

ルールは、毎週、複数日にまたがる時間範囲に適用されます。1日単位では表しにくいパターンに適しています。

パラメーター:

  • startDay:ルールの開始曜日(月曜、火曜など)
  • startTime:開始日の時刻
  • endDay:ルールの終了曜日
  • endTime:終了日の時刻

**例:**水曜14:00から金曜12:00までを繁忙期間にします。

毎月

ルールは毎月、特定の日に適用されます。

パラメーター:

  • startDayOfMonth:ルールの開始日(1~31日)
  • startTime:開始日の時刻
  • endDayOfMonth:ルールの終了日
  • endTime:終了日の時刻

**例:**毎月25日08:00から月末最終日の23:59までを、月末処理の繁忙期間にします。

毎年

ルールは毎年、特定の日付に適用されます。

パラメーター:

  • startMonth:ルールの開始月
  • startDayOfMonth:開始月の日
  • startTime:開始日の時刻
  • endMonth:ルールの終了月
  • endDayOfMonth:終了月の日
  • endTime:終了日の時刻

**例:**11月15日00:00から12月31日23:59までを、年末商戦の繁忙期間にします。

固定期間

ルールは特定の日付と時刻の範囲に適用されます(繰り返しなし)。1回限りのイベントに使用します。

パラメーター:

  • startDateTime:正確な開始日時
  • endDateTime:正確な終了日時

**例:**2025年3月15日~22日の製品発売週に、特別な処理ルールを適用します。

複数ルールの組み合わせ

周期性の効果は、複数のルールを組み合わせることで発揮されます。時間の状況ごとに異なるパラメーターを定義すると、シミュレーションがその時点で適用するルールを判定します。

例:複数シフトの処理時間

シフトによって処理時間が異なる製造プロセスを考えてみます:

ルール名 周期性 処理時間の分布
日勤 平日ごと、08:00~16:00 Normal(30 min, 5 min)
夜勤 平日ごと、16:00~00:00 Normal(45 min, 10 min)
週末担当 週末の各日、10:00~18:00 Normal(60 min, 15 min)
夜間・デフォルト デフォルト Normal(90 min, 20 min)

日勤は最も速く処理されます(フルスタッフで、作業員も勤務開始直後です)。夜勤は監督者が少ないため、処理が遅くなります。週末は最小限のスタッフ体制のため、最も遅くなります。デフォルトルールで夜間の時間帯を処理します。

ルールの優先順位

複数のルールが一致する可能性がある場合:

  1. ルールは、構成で定義されている順序に評価されます
  2. 最初に一致したルールが使用されます(上にあるルールが優先されます)
  3. デフォルトルールは、他のルールが適用されない場合にのみ一致します

**ヒント:**具体的なルールを一般的なルールより上に配置してください。平日と週末で動作を変える場合は、「平日ごと」を「毎日」より上に配置してください。

周期性を使用する場面

周期性は、さまざまなシミュレーションパラメーターに適用できます:

パラメーター 周期性の使用例
ケースの到着 営業時間中は到着レートを高くし、夜間は低くします
処理時間 フルスタッフ時は処理を速くし、スタッフが少ない時間帯は遅くします
リソースキャパシティ 繁忙時間帯はスタッフを増やし、夜間は最小限の体制にします
スキップ確率 週末や休日に異なるルーティングルールを適用します
Gatewayの確率 時間帯によって異なる判断パターンを設定します

実例:カスタマーサポートセンター

カスタマーサポートのシミュレーションで、複数のパラメーターに周期性を設定する現実的な例を紹介します:

到着レートの設定

周期性 到着率
平日ごと09:00~18:00 ポアソン(1時間あたり50件)
平日ごと18:00~22:00 ポアソン(1時間あたり20件)
週末の各日10:00~16:00 ポアソン(1時間あたり15件)
デフォルト ポアソン(1時間あたり5件)

営業時間中は到着が多く、夜間は中程度、週末と深夜は少なくなります。

処理時間の設定

周期性 分布
平日ごと09:00~17:00 三角分布(10、20、45分)
週末の各日 三角分布(20、40、90分)
デフォルト 三角分布(30、60、120分)

スタッフが多い時間帯は最も速く、週末と営業時間外は遅くなります。

スタッフキャパシティの設定

周期性 利用可能な担当者
平日ごと09:00~18:00 10人
平日ごと18:00~22:00 4人
週末の各日10:00~16:00 3人
デフォルト 1人

営業時間中はフルスタッフ、それ以外は少人数の体制になります。

組み合わせた動作

火曜日の午前10時の場合:

  • 1時間あたり50件の到着レートを使用します
  • 高速の三角分布で処理します
  • 10人の担当者を利用できます

火曜日の午後8時の場合:

  • 到着レートは1時間あたり20件に下がります
  • デフォルトの遅い分布で処理します
  • 利用できる担当者は4人だけです

土曜日の午後2時の場合:

  • 到着レートは1時間あたり15件です
  • 週末用の分布で処理します
  • 3人の担当者を利用できます

ベストプラクティス

1. デフォルトから始める

まず、デフォルトルールを必ず定義してください。これにより、他のルールで明示的に処理していない時間帯もカバーできます。

2. 一般的な設定から具体的な設定へ進める

まず平日と週末などの大まかなパターンを設定し、必要に応じて個々のシフト時間など、より具体的なルールを追加します。

3. 最初はシンプルにする

まずは平日と週末の区別から始め、時間帯や季節の詳細は後から追加します。必要に応じて、いつでも複雑さを加えられます。

4. データに基づいてパターンを設定する

可能であれば、履歴データを分析して実際のパターンを把握してください。時間帯や曜日ごとの到着レート、処理時間、スタッフ数を確認します。

5. エッジケースをテストする

ルールが切り替え時刻を正しく処理できることを確認します:

  • シフトが切り替わるちょうど17:00にはどうなりますか?
  • 深夜0時は正しく処理されますか?
  • 月末ルールは、日数の異なる月でも機能しますか?

6. ルールを文書化する

複雑な周期性の設定は、後から理解しにくくなることがあります。各ルールが必要な理由と、どの業務パターンを表しているかを文書化してください。

次のステップ

リソース
周期性を使用して、時間によって変化するリソースのキャパシティをモデル化します。