周期性と時間変化するパラメーター
周期性とは
実際のプロセスは、いつも同じように動くわけではありません。カスタマーサービスへの問い合わせは営業時間中に増えます。製造現場では、シフトごとに人員体制が異なります。小売業では、季節によって繁忙期が訪れます。
周期性を設定すると、特定のシミュレーションルールをいつ適用するかを指定できます。全期間に同じ値を使う代わりに、時間帯ごとに異なるパラメーターを設定できます:
- 平日と週末
- 午前シフトと夕方シフト
- 繁忙期と閑散期
- 営業時間内と営業時間外
これにより、時間帯ごとの状況を反映したシミュレーションを行えます。
周期性が重要な理由
顧客の到着をモデル化する簡単な例を見てみましょう。
周期性を設定しない場合:
- 24時間365日、1時間あたり10人の顧客
周期性を設定した場合:
- 平日9時~18時は1時間あたり25人
- 平日18時~21時は1時間あたり15人
- 週末は1時間あたり5人
- 夜間は1時間あたり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分、5分) |
| 夕勤 | 平日、16:00~00:00 | Normal(45分、10分) |
| 週末勤務 | 週末の各日、10:00~18:00 | Normal(60分、15分) |
| 夜勤/デフォルト | デフォルト | Normal(90分、20分) |
日勤は最も速く処理できます(人員がそろい、作業者も十分に休息しています)。夕勤は監督体制が縮小するため、処理が遅くなります。週末は最少人数で運営するため、さらに時間がかかります。デフォルトルールは夜間の時間帯に適用されます。
ルールの優先順位
複数のルールが一致する可能性がある場合:
- ルールは設定で定義された順序で評価されます
- 最初に一致したルールが適用されます(上にあるルールが優先されます)
- デフォルトルールは、他に適用されるルールがない場合にのみ一致します
**ヒント:**具体的なルールを一般的なルールより上に配置してください。平日と週末で動作を変える場合は、「毎日」より「平日ごと」を先に配置します。
周期性を設定できる項目
周期性は、さまざまなシミュレーションパラメーターに設定できます:
| パラメーター | 周期性の設定例 |
|---|---|
| ケースの到着 | 営業時間中は到着率を高くし、夜間は低くする |
| 処理時間 | 人員がそろう時間帯は処理を速くし、人員を減らす時間帯は遅くする |
| リソース容量 | 繁忙時間帯は人員を増やし、夜間は最少人数にする |
| スキップ確率 | 週末や祝日に異なる経路ルールを設定する |
| ゲートウェイの確率 | 時間帯によって異なる判断パターンを設定する |
設定例:カスタマーサポートセンター
カスタマーサポートのシミュレーションで、複数のパラメーターに周期性を設定する例を紹介します:
到着率の設定
| 周期性 | 到着率 |
|---|---|
| 平日09:00~18:00 | Poisson(1時間あたり50件) |
| 平日18:00~22:00 | Poisson(1時間あたり20件) |
| 週末の各日10:00~16:00 | Poisson(1時間あたり15件) |
| デフォルト | Poisson(1時間あたり5件) |
営業時間中は問い合わせが多く、夕方は中程度、週末と夜間は少なくなります。
処理時間の設定
| 周期性 | 分布 |
|---|---|
| 平日09:00~17:00 | Triangular(10、20、45分) |
| 週末の各日 | Triangular(20、40、90分) |
| デフォルト | Triangular(30、60、120分) |
人員がそろう繁忙時間帯は処理が最も速く、週末や営業時間外は遅くなります。
スタッフ数の設定
| 周期性 | 利用可能な担当者数 |
|---|---|
| 平日09:00~18:00 | 10人 |
| 平日18:00~22:00 | 4人 |
| 週末の各日10:00~16:00 | 3人 |
| デフォルト | 1人 |
営業時間中は十分な人員を配置し、それ以外の時間帯は人員を減らします。
設定の組み合わせ
火曜日の10:00の場合:
- 到着率は1時間あたり50件です
- 処理には、より速い三角分布を使います
- 担当者10人が対応できます
火曜日の20:00の場合:
- 到着率は1時間あたり20件に下がります
- 処理にはデフォルトの遅い分布を使います
- 対応できる担当者は4人のみです
土曜日の14:00の場合:
- 到着率は1時間あたり15件です
- 処理には週末用の分布を使います
- 対応できる担当者は3人です
ベストプラクティス
1. まずデフォルトを設定
最初に必ずデフォルトルールを定義してください。他のルールで明示的に設定していない時間帯にも、ルールが適用されます。
2. 一般的な設定から具体的な設定へ
まず平日と週末のような大まかなパターンを設定し、必要に応じて個々のシフト時間など、より具体的なルールを追加します。
3. 最初はシンプルに設定
時間帯や季節ごとの詳細を追加する前に、平日と週末の違いから設定します。必要に応じて、後から細かいルールを追加できます。
4. データをもとにパターンを設定
可能な場合は過去のデータを分析し、実際のパターンを把握してください。時間帯や曜日ごとの到着率、処理時間、人員配置を確認します。
5. 境界となるケースを確認
時間帯の切り替わりをルールが正しく処理するか確認してください:
- シフトが切り替わる17:00ちょうどの動作は正しいですか?
- 深夜0時の処理に問題はありませんか?
- 月の日数が異なる場合も、月末ルールは正しく適用されますか?
6. ルールを文書化
周期性の設定が複雑になると、後から内容を把握しにくくなることがあります。各ルールの目的と、どのような業務パターンを表しているかを文書化してください。
次のステップ
プロセスをより良く設計し、つながりのあるアーキテクチャを構築して、管理を続けましょう。
クレジットカード不要、待ち時間なしですぐにご利用いただけます。組織の業務の進め方を、明確につながるプロセス設計として可視化します。
プロセスアーキテクチャを構築し、オーナーシップと統制を定め、あらゆる階層で役割と責任を明確にします。
無料トライアルを開始して、プロセスのガバナンス、管理、継続的な改善を支える信頼できる基盤を築きましょう。