タスク1.4 - モデルをリンクする

タスクの概要

FlexSimは処理フローツールの強みと3Dビジュアルを組み合わせることより本領を発揮します。このチュートリアルタスクでは、処理フローを3Dモデルにリンクして、処理フローで全体的なロジックをコントロールする方法を学習します。さらにサービスデスクを追加して、それがビジネスシステムの全体的な統計にどのように影響するかを確認します。作業が完了すると、シミュレーションモデルは次の画像のようになります。

また、処理フローはモデルの全体的なロジックをコントロールします。

ラベルを使用して3Dモデルに接続する

このチュートリアルでは、ラベルを大量に使用して処理フローのトークンを3Dモデル内のオブジェクトにリンクします。処理フローは、モデルの3Dオブジェクトへの参照を含むラベルを使用して、3Dモデルのロジックをコントロールできます。トークンが処理フローのアクティビティを通過しながら移動するときは、ラベルに含まれる参照を使用してアクティビティのロジックを3Dモデルのオブジェクトに適用できます。処理フローでラベルを操作する方法をより深く理解するには、「ラベルについての主要な概念」を参照してください。

このモデルでは、ラベルを使用してトークンを3Dモデル内のフローアイテムにリンクさせます。「顧客」という名前のラベルを作成して、処理フロー内のトークンを3Dモデル内の顧客にリンクさせます。また、モデル内のリソース(2つのサービスデスクと2つのデスクワーカー)を追跡するためのラベルを作成します。

ステップ1 3Dモデルのフローロジックを削除する

処理フローモデルを3Dモデルにリンクする前に、3Dモデル内の顧客のフローをコントロールする古いロジックをすべて削除する必要があります。[Customers Arrive]ソースを削除し、ポート接続を削除します。次に、[Waiting Line]キュー、[サービスデスク]、[Unhappy Customers]シンクからリストのロジックを削除します。

これらの変更を行うには:

  1. Customers Arrive]ソースをクリックし、Deleteキーを押して削除します。
  2. ツールバーの[オブジェクト接続を解除 ボタンをクリックしてメニューを開きます。[オブジェクト接続を解除]を選択して接続解除モードに入ります。
  3. 接続解除モードになると、マウスポインターは切れたチェーン記号が横に付いたプラス記号に変わります()。
  4. 接続解除モードにすると、2つのオブジェクト間の接続を削除できます。[サービスデスク]プロセッサをクリックします(マウスを動かすと、クリックしたオブジェクトとカーソルの間に黄色の線が表示されます)。
  5. Happy Customers]シンクをクリックして、ポート接続を削除します。
  6. Escキーを押して接続解除モードを終了します。
  7. Waiting Line]キューをダブルクリックして、プロパティウィンドウを開きます。
  8. フロー]タブで[ポートに送信]ボックスの横にある矢印をクリックして、メニューを開きます。[最初に利用可能]を選択します。
  9. OK]ボタンをクリックして変更を保存し、ウィンドウを閉じます。
  10. サービスデスク]をダブルクリックして、プロパティウィンドウを開きます。
  11. フロー]タブの[入力]グループで[プル方法]チェックボックスをオフにします。
  12. OK]ボタンをクリックして変更を保存し、ウィンドウを閉じます。
  13. 前の手順を繰り返して、[Unhappy Customers]シンクからもプルロジックを削除します。

モデルを保存することをおすすめします。

ステップ2 新しいオブジェクトを追加して3Dビジュアルを変更する

このステップでは、3Dモデルに新しいオブジェクトを追加します。2つのビジュアルオブジェクト、つまり1)カスタマーサービスセンターへの入り口として機能する形状オブジェクトと2)カスタマーサービスセンターのバックルームを表す平面を追加します。また、サービスデスクで顧客に対応するために、追加のサービスデスクを1つと2人の従業員を追加します。サービスデスクを追加することで、顧客の需要に対応するのに必要なサービスデスクと従業員の理想的な数を調査できます。

これらのオブジェクトを追加した後に、いくつかのオブジェクトのビジュアルプロパティを変更して、より現実的または機能的に見えるようにします。バックルームが目立つように色を変更し、サービスデスクをそれらしく見えるようにして、さらに従業員の見た目を顧客と区別できるように変更します。作業が完了すると、3Dモデルは次の画像のようになります。

これらの変更を行うには:

  1. ライブラリから、次のオブジェクトを3Dモデルに追加します。
    • 1つの[形状]([ビジュアル]グループの下)
    • 1つの[平面]([ビジュアル]グループの下)
    • 1つの[プロセッサ]([固定リソース]グループの下)
    • 2人の[オペレーター]([タスク実行者]グループの下)
  2. わかりやすくするために、3Dオブジェクトの名前を次のように変更します。
  3. オブジェクト 新しい名前
    形状 入り口
    平面 控え室
    最初のプロセッサ Service Desk 1
    2つ目のプロセッサ Service Desk 2
    最初のオペレーター デスクワーカー1
    2番目のオペレーター デスクワーカー2
  4. 控え室]をクリックして選択します。
  5. [クイックプロパティ]でカラーボックスの横にある矢印をクリックして、カラーセレクターを開きます。最も薄い黄色を選択します。
  6. Xサイズ」を「3.00」に変更します。
  7. サービスデスク1]をダブルクリックして、プロパティウィンドウを開きます。
  8. 一般]タブの[外観]グループで、[3D形状]ボックスの横にある[追加]ボタン をクリックして、形状をボックスに変更します。
  9. ]ボックスの横にある矢印をクリックしてカラーセレクターを開きます。2番目に薄い灰色を選択します。
  10. 位置、回転、サイズ]グループで、次のサイズを変更します。
    • Xサイズ:1.30
    • Yサイズ:4.00
    • Zサイズ:1.00
  11. OK]ボタンをクリックして変更を保存し、ウィンドウを閉じます。
  12. 前の手順を繰り返して[Service Desk 2]のビジュアルも変更します。
  13. Desk Worker 1]をダブルクリックして、プロパティウィンドウを開きます。
  14. オペレーター]タブで[形状]メニューを開き、[]を選択します。
  15. 一般]タブの[外観]グループで、[]ボックスの横にある矢印をクリックしてカラーセレクターを開きます。最も薄い青色を選択します。
  16. OK]ボタンをクリックして変更を保存し、ウィンドウを閉じます。
  17. 前の手順を繰り返して、[デスクワーカー2]のビジュアルも変更します。
  18. 必要に応じて、このステップの冒頭にあるモデルの画像に近づくように3Dオブジェクトを再配置します。

シミュレーションモデルを保存することをおすすめします。

ステップ3 3Dオブジェクトをグループに追加する

前のステップの導入部分で説明したように、サービスデスクを追加したことで、これが顧客統計にどのように影響するかを試すことができます。将来的には、特に顧客のトラフィックパターンが変化する場合に最適なデスクと従業員の数を割り出すために、任意の数のサービスデスクを追加する可能性があります。モデルを複数のサービスデスクで拡張可能にするには、サービスデスクをグループに追加する必要があります。また、デスクワーカー用に追加のグループを作成することもできます。この先のステップでは、これら両方のグループを処理フローにリンクします。

これらのグループを作成するには:

  1. 左ペインで[ツールボックス]タブをクリックして、ツールボックスを開きます。
  2. 追加]ボタン をクリックして、メニューを開きます。[グループ]を選択して新しいグループを追加します。
  3. プロパティウィンドウの上部にある名前ボックスで、このグループの名前を「ServiceDesks」に変更します。
  4. サンプラー]ボタン をクリックして、サンプリングモードに入ります。
  5. 3Dモデルで[Service Desk 1]をサンプリングしてグループに追加します。
  6. これらの手順を繰り返して[Service Desk 2]もグループに追加します。
  7. 右上隅の[X]をクリックしてウィンドウを閉じます。新しい[ServiceDesks]グループが[ツールボックス]の[グループ]に表示されることを確認します。
  8. この処理を繰り返して、「DeskWorkers」という名前の2番目のグループを作成します。[Desk Worker 1]と[Desk Worker 2]をこのグループに追加します。

シミュレーションモデルを保存することをおすすめします。

ステップ4 処理フローを再編成する

処理フローは複雑になりつつあります。そのため、フローチャート形状を使用してアクティビティを整理しておくことをおすすめします。処理フロー形状の追加と命名は処理フローの整理に役立ち、処理フローのロジックを追いやすくなります。作業が終了すると、処理フローは次の画像のようになります。

これらの変更を行うには:

  1. 処理フローで、アクティビティのスタックブロック間にある2つのコネクターを削除します。これにより、いくつかのエラーメッセージが表示される場合があります。
  2. ライブラリの[フローチャート]の下から、5つの[処理]形状を処理フローに追加します。
  3. 処理]形状の名前を次のように変更します。
    • リソース
    • 顧客が到着して列に並ぶ
    • 不満のあるお客様が去る
    • 顧客がサービスを受ける
    • 従業員が顧客に対応する
  4. リソース:サービスデスク]を[リソース]形状に移動します。
  5. ソース:顧客の到着]を持つスタックブロックを[顧客が到着して列に並ぶ]形状に移動します。
  6. シンク:不満のあるお客様]アクティビティを[不満のあるお客様が去る]形状に移動します。
  7. 遅延:サービス時間]アクティビティを持つスタックブロックをクリックして選択します。
  8. アクティビティの間にある[はさみ]ボタン をクリックし、すべてのアクティビティを分離して、それぞれが単独で未接続の状態にします。

シミュレーションモデルを保存することをおすすめします。

ステップ5 処理フローアクティビティを追加する

このステップでは、処理フローに3Dモデルのロジックをコントロールするアクティビティを追加します。作業が終了すると、処理フローは次の画像のようになります。

現時点では、これらのアクティビティの追加と処理フローへの接続のみを行います。後のステップで、プロパティを編集して機能を追加します。

これらのアクティビティを追加するには:

  1. リソース]形状で、[リソース]共有アセット([共有アセット]の下)を追加します。
  2. この新しい共有アセットの名前を「リソース:デスクワーカー」に変更します。
  3. ライブラリの[オブジェクト]グループの下にある[オブジェクトを作成]アクティビティを[顧客が到着して列に並ぶ]形状の中の[ソース:顧客の到着]と[取得:サービスを取得]アクティビティの間にドラッグアンドドロップします。
  4. 引き続き、このスタックブロックで[オブジェクトを作成]アクティビティが終わり、[取得:サービスを取得]アクティビティが始まる前に次のアクティビティを挿入します。
    • 移動]アクティビティ([タスクシーケンス]の下)
    • オブジェクトを移動]アクティビティ([オブジェクト]の下)
  5. このスタックブロックのアクティビティ名を次のように変更します。
  6. アクティビティ 新しい名前
    オブジェクトを作成 オブジェクトを作成:顧客
    移動 移動:顧客を順番待ち列へ
    オブジェクトを移動 顧客を列に移動
    取得:サービスを取得 取得:サービスデスクを取得

  7. 不満のあるお客様が去る]形状で、次のアクティビティを[シンク:不満のあるお客様]アクティビティの前に追加してスタックブロックを作成します。
    • オブジェクトを移動]アクティビティ([オブジェクト]の下)
    • 移動]アクティビティ([タスクシーケンス]の下)
    • オブジェクトを破棄]アクティビティ([オブジェクト]の下)
  8. このスタックブロックのアクティビティ名を次のように変更します。
  9. アクティビティ 新しい名前
    オブジェクトを移動 顧客を不満のあるお客様に移動
    移動 移動:顧客を不満のあるお客様へ
    オブジェクトを破棄 オブジェクトを破棄:不満のあるお客様が去る

  10. 顧客がサービスを受ける]形状で、次のアクティビティ([遅延]アクティビティを除く)を含む新しいスタックブロックを作成します。
    • リソースを取得]アクティビティ([共有アセット]の下)
    • オブジェクトを移動]アクティビティ([オブジェクト]の下)
    • 分割]アクティビティ([調整]の下)
  11. また[顧客がサービスを受ける]形状で[移動]アクティビティを([タスクシーケンス]の下)追加し、[遅延:サービス時間]アクティビティをこのアクティビティの末尾でスナップしてもう1つスタックブロックを作成します。
  12. このスタックブロックの後に[同期]アクティビティ([調整]の下)を追加しますが、未接続で独立した状態にしておきます。
  13. リリース:サービスを終了]アクティビティの後に[移動]アクティビティ([タスクシーケンス]の下)を追加してスタックブロックを作成します。
  14. このスタックブロックの後に2つ目の[同期]アクティビティ([調整]の下)を追加しますが、未接続で独立した状態にしておきます。
  15. 次のアクティビティを[シンク:満足したお客様]の前に追加してスタックブロックを作成します。
    • リソースをリリース]アクティビティ([共有アセット]の下)
    • オブジェクトを破棄]アクティビティ([オブジェクト]の下)
  16. この形状にあるアクティビティの名前を次のように変更します。
  17. アクティビティ 新しい名前
    取得 取得:デスクワーカーを取得
    オブジェクトを移動 顧客をサービスデスクに移動
    分割 分割:タスクシーケンスを調整
    移動 移動:顧客をサービスデスクへ
    最初の同期 同期:デスクワーカーと顧客
    リリース:サービスを終了 リリース:Service Desk
    移動 移動:顧客を満足したお客様へ
    2つ目の同期 同期:ワーカーと顧客の完了
    リリース(2番目のアクティビティ) リリース:デスクワーカー
    オブジェクトを破棄 オブジェクトを破棄:満足したお客様が去る
  18. 両方の[同期]アクティビティのサイズを変更して、[顧客がサービスを受ける]形状と[従業員が顧客に対応する]形状にまたがるようにします。
  19. 従業員が顧客に対応する]形状に次のアクティビティを追加しますが、スタックブロックの形に接続しません。
    • 2つの[移動]アクティビティ([タスクシーケンス]の下)
    • 1つの[シンク]アクティビティ([ベーシック]の下)
  20. アクティビティの名前を次のように変更します。
  21. アクティビティ 新しい名前
    最初の移動 移動:デスクワーカーをサービスデスクへ
    2回目の移動 移動:デスクワーカーをバックルームへ
    シンク シンク:タスクシーケンス完了
  22. 移動:デスクワーカーをサービスデスクへ]アクティビティに移動する形で、[移動:顧客をサービスデスクへ]アクティビティと対応させます。
  23. 移動:デスクワーカーをバックルームへ]アクティビティに移動する形で、[移動:顧客を満足したお客様へ]アクティビティと対応付けます。
  24. シンク:タスクシーケンス]アクティビティを移動して[シンク:満足したお客様]アクティビティと対応付けます。

処理フローがこのステップの冒頭に表示した画像のようになることを確認します。

ステップ6 アクティビティを接続する

前のステップではいくつかの調整アクティビティ([分割]アクティビティと[同期]アクティビティ)を追加しました。これらのアクティビティのロジックは、アクティビティ間のコネクターが正しく設定されていることに依存します。詳細については、「処理フロー調整」を参照してください。そのため、このステップではすべてのアクティビティを正しく接続する作業を行います。特に重要な点は、コネクターのランキングが正しくなるように必ずアクティビティを正しい順序で接続することです。

作業が完了すると、処理フローは次の画像のようになります。

これらのアクティビティを接続するには:

  1. 取得:サービスデスクを取得]アクティビティから[取得:デスクワーカーを取得]アクティビティに続くコネクターを作成します。
  2. 取得:サービスデスクを取得]アクティビティから[顧客を不満のあるお客様に移動]アクティビティに続く2つ目のコネクターを作成します。
  3. 分割:タスクシーケンスを調整]アクティビティから[移動:顧客をサービスデスクへ]アクティビティに続くコネクターを作成します。
  4. 分割:タスクシーケンスを調整]アクティビティから[移動:デスクワーカーをサービスデスクへ]アクティビティに続く2つ目のコネクターを作成します。
  5. 遅延:サービス時間]アクティビティから[同期:デスクワーカーと顧客]アクティビティに続くコネクターを作成します。
  6. 移動:デスクワーカーをサービスデスクへ]アクティビティ、さらに[同期:デスクワーカーと顧客]アクティビティに続くコネクターを作成します。
  7. 同期:デスクワーカーと顧客]アクティビティから[リリース:サービスデスク]アクティビティに続くコネクターを作成します。
  8. 同期:デスクワーカーと顧客]アクティビティから[移動:デスクワーカーをバックルームへ]アクティビティに続く2番目のコネクターを作成します。
  9. 移動:顧客を満足したお客様へ]アクティビティから[同期:ワーカーと顧客の完了]アクティビティに続くコネクターを作成します。
  10. 移動:デスクワーカーをバックルームへ]アクティビティから[同期:ワーカーと顧客の完了]アクティビティに続くコネクターを作成します。
  11. 同期:ワーカーと顧客の完了]アクティビティから[リリース:デスクワーカー]アクティビティに続くコネクターを作成します。
  12. 同期:ワーカーと顧客の完了]アクティビティから[シンク:タスクシーケンスの完了]アクティビティに続くコネクターを作成します。

シミュレーションモデルを保存することをおすすめします。

ステップ7 顧客の到着ロジックを編集する

このステップでは、前のステップで追加した新規アクティビティのプロパティを編集します。このステップでは、顧客の到着と順番待ち列に影響を与えるロジックを編集します。また、処理フローのトークンを3Dモデルのオブジェクトにリンクするラベルの設定を開始します。

この処理フローのアクティビティが機能する方法の概要を次に示します。

アクティビティ 説明
リソース:Service Desk この共有アセットはビジネスシステムのカスタマーサービスデスクを表しているため、これを前の手順で作成した[サービスデスク]グループにリンクします。3Dモデルの[サービスデスク]プロセッサオブジェクトはこのグループのメンバーであることを思い出してください。
リソース:デスクワーカー 同様の方法で、この共有アセットを[Desk Workers]グループにリンクします。
ソース:顧客の到着 このアクティビティを変更する必要はありません。このままの状態で顧客を表すトークンを作成します。指数統計分布を使用して顧客のランダムな到着をシミュレーションします。
オブジェクトを作成:顧客 トークンがこのアクティビティに入ると、顧客のビジュアル描写が作成されます。最初のチュートリアルタスクで作成した人物フローアイテムと同じに見えますが、よりタスク実行者らしく機能します。このアクティビティでは、[入り口]形状内でフローアイテムを作成するように指示します。

この3Dオブジェクト(顧客フローアイテム)をこのトークンにリンクする「顧客」というラベルも作成します。ラベルには、この特定のトークンに関連付けられたフローアイテムへの参照が含まれます。このラベルは、処理フローの残りの部分で参照します。
移動:顧客を順番待ち列へ このアクティビティにより、顧客は入り口から順番待ち列まで歩くことになります。
顧客を列に移動 移動アクティビティは単に顧客を順番待ち列に移動させるだけであるため、キューが顧客のラインロジックを適用するには、顧客を順番待ち列の中に移動する必要があります。
取得:サービスデスクを取得 このロジックの多くは変更する必要がありません。ただし、トークンにプルされたリソースを追跡するトークンに割り当てられたデフォルトのラベルを変更します。わかりやすくするために、このラベルの名前を「serviceDesk」に変更します。

前のチュートリアルのタスクから、顧客は列でサービスデスクが空くのを最大200秒間待つことを思い出してください。顧客の待ち時間が200秒に達すると、トークンは[不満のあるお客様]アクティビティシーケンスに送信されます。

この機能を追加するには:

  1. リソース:サービスデスク]共有アセットをクリックして選択します。[クイックプロパティ]で[参照]ボックスの横にある矢印をクリックして、メニューを開きます。[グループ]をポイントし、[ServiceDesks]を選択します。
  2. 前のステップを繰り返し[リソース:デスクワーカー]共有アセットに適用し、今度はこの共有アセットを[DeskWorkers]グループにリンクします。
  3. オブジェクトを作成:顧客]アクティビティをクリックして選択します。[クイックプロパティ]で[オブジェクト]ボックスの横にある矢印をクリックして、メニューを開きます。[Flowitems]をポイントし、[男性]を選択します。
  4. 作成場所]ボタンをクリックします。このボックスの横にある[サンプラー]ボタン をクリックして、サンプリングモードに入ります。
  5. 3Dモデルで[入り口]をクリックして、メニューを開きます。メニューから[入り口]を選択して、このオブジェクトをサンプリングします。
  6. 割り当て先]ボックスに「token.customer」と入力します。
  7. 移動:顧客を順番待ち列へ]アクティビティをクリックして選択します。[クイックプロパティ]で[実行者/タスクシーケンス]ボックスの横にある矢印をクリックして、メニューを開きます。[Token Label]をポイントし、[customer]を選択します。
  8. 目的地]ボックスの横にある[サンプラー]ボタン をクリックして、サンプリングモードに入ります。
  9. 3Dモデルで[順番待ち列]キューをクリックして、メニューを開きます。[順番待ち列]を選択して、このオブジェクトをサンプリングします。
  10. 顧客を順番待ち列へ移動]アクティビティをクリックして選択します。[クイックプロパティ]で[オブジェクト]ボックスの横にある矢印をクリックして、メニューを開きます。[Token Label]をポイントし、[customer]を選択します。
  11. 目的地]ボックスの横にある[サンプラー]ボタン をクリックして、サンプリングモードに入ります。
  12. 3Dモデルで[順番待ち列]キューをクリックして、メニューを開きます。[順番待ち列]を選択して、このオブジェクトをサンプリングします。
  13. 取得:サービスデスクを取得]アクティビティをクリックして選択します。[クイックプロパティ]の[ラベルに割り当てる]ボックスで、現在のテキストを削除して「token.serviceDesk」と入力します。

シミュレーションモデルを保存することをおすすめします。

ステップ8 不満のあるお客様ロジックを編集する

このステップでは、[お客様が去る]および[不満のあるお客様が去る]形状にあるアクティビティのプロパティを編集します。取得したリソースをリリースするアクティビティを編集し、満足したお客様と不満のあるお客様の両方を3Dモデルから削除します。この処理フローのアクティビティが機能する方法の概要を次に示します。

アクティビティ 説明
顧客を不満のあるお客様に移動 3Dモデルで顧客を順番待ち列に移動したので、順番待ち列から[Unhappy Customers]シンクに移動するには、このアクティビティが必要です。
移動:顧客を不満のあるお客様へ このアクティビティは、顧客を[Unhappy Customers]シンクに送ります。
オブジェクトを破棄:不満のあるお客様が去る このアクティビティは、シミュレーションモデルから顧客フローアイテムを削除します。
シンク:Unhappy Customers このアクティビティは、処理フローから顧客にリンクされたトークンを削除します。

この機能を作成するには:

  1. 不満のあるお客様が去る]形状で、[顧客を不満のあるお客様に移動]アクティビティをクリックして選択します。[クイックプロパティ]で[オブジェクト]ボックスの横にある矢印をクリックして、メニューを開きます。[Token Label]をポイントし、[customer]を選択します。
  2. 目的地]ボックスの横にある矢印をクリックして、[Model]を選択します。
  3. グローバル位置を維持]チェックボックスをオンにします。
  4. 移動:顧客を不満のあるお客様へ]アクティビティをクリックして選択します。[クイックプロパティ]で[実行者/タスクシーケンス]ボックスの横にある矢印をクリックして、メニューを開きます。[Token Label]をポイントし、[customer]を選択します。
  5. 目的地]ボックスの横にある[サンプラー]ボタン をクリックして、サンプリングモードに入ります。
  6. 3Dモデルで[Unhappy Customers]シンクをクリックしてメニューを開きます。[Unhappy Customers]を選択して、このオブジェクトをサンプリングします。
  7. オブジェクトを破棄:不満のあるお客様が去る]アクティビティをクリックして選択します。[クイックプロパティ]で[オブジェクト]ボックスの横にある矢印をクリックして、メニューを開きます。[Token Label]をポイントし、[customer]を選択します。

シミュレーションモデルを保存することをおすすめします。

ステップ9 カスタマーサービスロジックを編集する

このステップでは、カスタマーサービスアクティビティのプロパティを編集します。このステップでは、2つの[調整]処理フローアクティビティ([分割]アクティビティと[同期]アクティビティ)を初めて使用します。[調整]アクティビティは、同時に発生する異なる処理があり、それらのプロセスのすべてを互いに同期させる場合に役立ちます。他の処理フローアクティビティとは異なり、[調整]アクティビティの動作は、ほとんどが着信コネクターと発信コネクターによって決まります。そのため、アクティビティ間のコネクターが必要な作業を行うことを確認さえすれば、プロパティを編集する必要はありません。詳細については、「処理フロー調整」を参照してください。

この処理フローのアクティビティが機能する方法の概要を次に示します。

アクティビティ 説明
取得:デスクワーカーを取得 このアクティビティでは、デスクワーカーの1人を取得して顧客に対応させます。このトークンにリンクされた顧客に対応するために割り当てられた従業員とこのトークンをリンクするために、「deskWorker」というラベルを割り当てます。
顧客をサービスデスクに移動 前のステップで顧客を順番待ち列に移動したので、順番待ち列から外して一般モデルに戻すには、このアクティビティが必要です。
分割:タスクシーケンスを調整 [分割]アクティビティでは、受信トークンを2つの同一のトークンに分割し、それぞれの発信コネクターからリリースします。これらの2つのトークンを使用して、顧客とデスクワーカーを同期させます。1つのトークンは顧客をコントロールし、もう1つはデスクワーカーをコントロールします。2つ目のトークンは、元のトークンのラベルにアクセスできる子トークンとして作成します。
移動:デスクワーカーをサービスデスクへ このアクティビティでは、取得したデスクワーカーを取得したサービスデスクに送ります。
移動:顧客をサービスデスクへ このアクティビティでは、顧客を取得したサービスデスクに送ります。
遅延:サービス時間 このアクティビティを変更する必要はありません。遅延は単にデスクワーカーが顧客に対応するのにかかる時間を表すにすぎません。ここでは顧客がどのくらいの時間をかけるかを決定するために、[対数正規2]統計分布を使用します。
同期:デスクワーカーと顧客 このアクティビティにより、サービス時間中はデスクワーカーが顧客と一緒にいることが保証されます。デスクワーカーをコントロールするトークンは、顧客をコントロールするトークンがこのアクティビティに達するまで待機します。
移動:デスクワーカーをバックルームへ このアクティビティは、遅延時間の終了後に取得したデスクワーカーをバックルームに移動し、顧客を退出させます。
リリース:Service Desk このアクティビティでは、取得したサービスデスクをリリースし、別の顧客がデスクを取得できるようにします。
移動:顧客を満足したお客様へ このアクティビティでは、顧客を[Happy Customers]シンクに送ります。
同期:ワーカーと顧客の完了 このアクティビティは、従業員と顧客を同時に終了させます。デスクワーカーをコントロールするトークンは、顧客をコントロールするトークンがこのアクティビティに達するまで待機します。
リリース:デスクワーカー このアクティビティでは、取得したデスクワーカーをリリースし、別の顧客がワーカーを取得できるようにします。
オブジェクトを破棄:満足したお客様が去る このアクティビティは、シミュレーションモデルから顧客フローアイテムを削除します。
シンク:Happy Customers このアクティビティは、処理フローから顧客にリンクされたトークンを削除します。

この機能を作成するには:

  1. 顧客がサービスを受ける]形状で[取得:デスクワーカーを取得]をクリックして選択します。[感嘆符]アイコン をクリックして、サンプリングモードに入ります。
  2. リソース:デスクワーカー]共有アセットをクリックしてリンクします。リンクされていることを示す青い線が表示されます。
  3. [クイックプロパティ]の[ラベルに割り当てる]ボックスで、現在のテキストを削除して「token.deskWorker」と入力します。
  4. 顧客をサービスデスクに移動]アクティビティをクリックして選択します。[クイックプロパティ]で[オブジェクト]ボックスの横にある矢印をクリックして、メニューを開きます。[Token Label]をポイントし、[customer]を選択します。
  5. 目的地]ボックスの横にある矢印をクリックして、メニューを開きます。[モデル]を選択します。
  6. グローバル位置を維持]チェックボックスをオンにします。
  7. 分割:タスクシーケンスを調整]アクティビティをクリックして選択します。[クイックプロパティ]で、[次の形式で作成]メニューをクリックし、[子トークン]を選択します。[親のみのラベルアクセス]チェックボックスがオンになっていることを確認します。
  8. 移動:デスクワーカーをサービスデスクへ]アクティビティ([従業員が顧客に対応する]形状内)をクリックして選択します。[クイックプロパティ]で[実行者/タスクシーケンス]ボックスの横にある矢印をクリックして、メニューを開きます。[トークンラベル]をポイントし、[deskWorker]を選択します。
  9. 目的地]ボックスの横にある矢印をクリックして、メニューを開きます。[トークンラベル]をポイントし、[serviceDesk]を選択します。
  10. 移動:顧客をサービスデスクへ]アクティビティ([顧客がサービスを受ける]形状内)をクリックして選択します。[クイックプロパティ]で[実行者/タスクシーケンス]ボックスの横にある矢印をクリックして、メニューを開きます。[Token Label]をポイントし、[customer]を選択します。
  11. 目的地]ボックスの横にある矢印をクリックして、メニューを開きます。[トークンラベル]をポイントし、[serviceDesk]を選択します。
  12. 従業員が顧客に対応する]形状内で[移動:デスクワーカーをバックルームへ]アクティビティをクリックして選択します。[クイックプロパティ]で[実行者/タスクシーケンス]ボックスの横にある矢印をクリックして、メニューを開きます。[トークンラベル]をポイントし、[deskWorker]を選択します。
  13. 目的地]ボックスの横にある[サンプラー]ボタン をクリックして、サンプリングモードに入ります。
  14. 3Dモデルで、[控え室]をクリックして、メニューを開きます。[控え室]を選択して、このオブジェクトをサンプリングします。
  15. 顧客がサービスを受ける]形状で[リリース:サービスデスク]アクティビティをクリックして選択します。[クイックプロパティ]で[割り当て先のリソース]ボックスの横にある矢印をクリックして、メニューを開きます。[トークンラベル]をポイントし、[serviceDesk]を選択します。
  16. 移動:顧客を満足したお客様へ]アクティビティをクリックして選択します。[クイックプロパティ]で[実行者/タスクシーケンス]ボックスの横にある矢印をクリックして、メニューを開きます。[Token Label]をポイントし、[customer]を選択します。
  17. 目的地]ボックスの横にある[サンプラー]ボタン をクリックして、サンプリングモードに入ります。
  18. 3Dモデルでは、[Happy Customers]シンクをクリックしてメニューを開きます。[Happy Customers]を選択して、このオブジェクトをサンプリングします。
  19. リリース:デスクワーカー]アクティビティをクリックして選択します。[クイックプロパティ]で[割り当て先のリソース]ボックスの横にある矢印をクリックして、メニューを開きます。[トークンラベル]をポイントし、[deskWorker]を選択します。
  20. オブジェクトを破棄:満足した顧客が去る]アクティビティをクリックして選択します。
  21. [クイックプロパティ]で[オブジェクト]ボックスの横にある矢印をクリックして、メニューを開きます。[Token Label]をポイントし、[customer]を選択します。

シミュレーションモデルを保存することをおすすめします。

ステップ10 モデルを実行して結果を分析する

モデルをリセットして実行します。

3Dモデルでは、顧客は到着して列を形成し、デスクで従業員の対応を受けます。

処理フローは3Dモデルをコントロールしていることから、3Dモデルで起きていることを忠実に反映します。

ダッシュボード上の処理フローチャートを確認します。

追加のサービスデスクによって、ほぼ完全に問題が解決されました。満足したお客様と不満のあるお客様の比率ははるかに良く、平均待ち時間は大幅に短縮されました。

結論

これで、FlexSimの基本チュートリアルを終了します。FlexSimを使用すると、あらゆるビジネスシステム用のシミュレーションプロジェクトが簡単に作成できることを体感していただきました。人物の3Dオブジェクトと処理フローアクティビティを使用して、(カスタマーサービスセンターなどの)人ベースのシミュレーションモデルをさらにモデル化できます。詳細については、「FlexSim HCチュートリアル」を参照してください。