FlexSimの独自性の1つは、ビジネスモデルの3D描写を作成できることです。他のシミュレーションソフトウェアでも理論モデルを構築できますが、FlexSimを使用すると、わかりやすく使いやすく、より具体的な方法でビジネスシステムを表示できます。3Dモデリングの利点の詳細については、「3Dオブジェクトを使用する理由」を参照してください。
このチュートリアルタスクでは、FlexSimユーザーインターフェイス内の操作の基本について、3Dモデルを構築しながら学習します。次の画像に示すような3Dモデルインターフェイスの最も重要な要素を実践的に体験します。
3Dモデルを構築する第一歩は、シミュレーションするビジネスシステムの基本レイアウトの構築です。モデリングするカスタマーサービスセンターには、少なくとも1人のカスタマーサービス担当者がいるサービスデスクがあります。到着した顧客は、通常、従業員が対応できるまで窓の近くに並びます。このシミュレーションモデルでは、待機時間が長すぎる場合に途中で去る顧客もシミュレートします。
これらのさまざまな要素をすべてシミュレーションするためにオブジェクトを3Dモデルに追加します。オブジェクトは3Dシミュレーションモデルの基本的な構成要素です。異なるタイプのオブジェクトには、シミュレーションモデル内で異なる目的と機能があります。最も一般的なオブジェクトには次のようなものがあります。
より詳しい説明については、「3Dオブジェクトのタイプ」を参照してください。
このステップでは、シミュレーションモデルにいくつかの固定リソースを追加することから始めます。
オブジェクト | 説明 |
---|---|
ソース | ソースはフローアイテムを作成します。ソースを使用して顧客を作成することで、カスタマーサービスセンターに顧客が到着したことを表します。 |
キュー | キューはフローアイテムを、別のオブジェクトに送られるまでの間、保持します。キューはカスタマーサービスセンターの順番待ち列を表します。 |
プロセッサ | プロセッサはフローアイテムを処理します。これは通常、時間遅延としてシミュレートされます。プロセッサは顧客に対応する従業員を表します。 |
シンク | シンクはシミュレーションモデルからフローアイテムを削除します。シンクはカスタマーサービスセンターを去る顧客を表すために使用されます。このモデルでは、実際には2つのシンクを使用します。1つは満足したお客様を表し、もう1つは不満のあるお客様(途中で去る顧客)を表します。 |
3Dモデルレイアウトを構築するには:
オブジェクト | 新しい名前 |
---|---|
キュー | Waiting Line |
プロセッサ | Service Desk |
シンク (プロセッサのそば) |
Happy Customers |
シンク (キューのそば) |
Unhappy Customers |
作業が完了すると、3Dモデルは次の画像のようになります。
このステップでは、顧客が1つのオブジェクトから次のオブジェクトに適切な順番で移動するように3Dオブジェクトを接続します。つまり、アイテムをある固定リソースから別の固定リソースに流すロジックを作成します。FlexSimにはこれを行ういくつかの方法があります(詳細については、「3Dフローの接続」を参照してください)。このステップでは、ポート接続を使用してオブジェクトを接続する方法を学習します。なぜならこれが最も簡単かつ単純な方法であるためです。
FlexSimでは、ポートはフローアイテムをあるオブジェクトから別のオブジェクトに転送するオブジェクト上のポイントです。ポート接続は、2つの異なるオブジェクト上にあるポート間の接続です。ポートは相互に通信してフローアイテムを交換できるオブジェクト間の関係を作成します。詳細については、「ポートについての主要な概念」を参照してください。
このモデルでは、「Customers Arrive」ソースから[順番待ち列]へ、そして[サービスデスク]から[Happy Customers]シンクへの入出力ポート接続を作成します。他のオブジェクトはチュートリアルの後半で別のツールを使用して接続するため、現時点では切断されたままにしておきます。
これらのオブジェクト間のポート接続を作成するには:
作業が完了すると、3Dモデルは次の画像のようになります。
このステップでは、ここまでのモデルを実行して動作を確認します。現時点では単に初めてモデルを実行するだけですが、このチュートリアルの後半のステップでモデルをより詳細に実行する方法と理由について説明します。モデルを実行するには:
この時点で、ソース([Customers Arrive])がフローアイテム(この時点では箱のように見えます)を作成し、それらを[Waiting Line]に配置するのが確認できます。これらのフローアイテムを移動するロジックを作成していないため、シミュレーションを停止するまでキュー内にフローアイテムが積み上げられていきます。
前のステップでは、ポート接続を使用してオブジェクトのフローを接続する方法を学習しました。このステップでは、「グローバルリスト」と呼ばれるツールを使用して、固定リソース間のより複雑なフローを作成する方法を学習します。
このモデルでは、フローアイテムは顧客を表します。順番待ち列に入った顧客は、待機中の顧客のリストに追加されて待ち時間を追跡されます。サービスデスクは待ち時間が最長の顧客に対応します。ただし、200秒以上待った顧客は不満を抱き、[Unhappy Customers]シンクを通じて去っていきます。この機能を作成するには、高度な条件セットを使用してフローアイテムをフィルタリングして優先順位を付けるグローバルリストを使用します。(詳細については、「リストについての主要な概念」を参照してください)。
このステップでは、フローアイテムリストを設定し、「WaitingCustomers」という名前を付けます。このリストは、FlexSimのほぼすべてのツールにアクセスできるツールボックスを使用して作成します(詳細については、「ツールボックスを使用する」を参照してください)。
リストを作成するときは、まずフィールドを設定する必要があります。フィールドはリストが追跡する情報を決定します。デフォルトでは、アイテムリストには4つのデフォルトフィールドがあり、それぞれが事前にプログラムされたロジックを備えています。これらのフィールドはフローアイテムリストにどのようなフィールドが必要かを示唆するものに過ぎません。これらのフィールドを削除するか、必要に応じて他のプログラム済みフィールドまたはカスタムフィールドを追加できます。
デフォルトのフィールドの1つは[age]フィールドです。これは、フローアイテムがソースによって作成されてから経過した時間を追跡します。このフィールドはおそらくこのリストの論理的なニーズには役立ちますが、より正確にするために[ageInQueue]フィールドを追加します。[ageInQueue]フィールドは、アイテムがリストに滞在する時間の長さを追跡します。つまり、顧客が順番待ち列に入ってから経過した時間を追跡します。このステップでこのフィールドを追加します。
グローバルリストを作成するには:
新しい[WaitingCustomers]リストがツールボックスのグローバルリストグループの下に表示されます。
このステップでは、3Dオブジェクトのプロパティを編集して、シミュレーションモデルの基本ロジックを作成します。編集するオブジェクトとこれらの変更を行う理由の説明を次に示します。
オブジェクト | 説明 |
---|---|
Customers Arrive(ソース) | ほとんどの3Dモデルは、3Dモデル内を移動してオブジェクトと相互に作用するフローアイテムを作成するソースオブジェクトで始まります。このモデルでは、フローアイテムはカスタマーサービスセンターに来る顧客を表します。 ソースは顧客が到着する頻度を決定します。このモデルでは、顧客が約1分ごとに到着するように顧客の到着率を変更します。指数分布と呼ばれる統計分布を使用して、平均が約60秒となる時間の範囲内で到着率をランダムに計算します。 デフォルトでは、ソースは箱のように見えるフローアイテムを作成します。このモデルのフローアイテムは顧客を表しているため、フローアイテムのクラスを変更して人物に見えるようにします。 |
順番待ち列(キュー) | 顧客(フローアイテム)が順番待ち列に入るとすぐに[WaitingCustomers]リストに追加されるようにこのオブジェクトを設定します。 また、キュー内に積み上げられるのではなく、顧客が列を形成するようにキューを変更します。 |
サービスデスク(プロセッサ) | このオブジェクトは従業員が顧客の対応にかける時間を表します。そのため、次の顧客に対応する準備ができたときに先頭の顧客を[WaitingCustomers]リストからプルするようにこのオブジェクトを設定します。 また、従業員が顧客の対応にかける時間を設定します。[対数正規2]の統計分布を使用して、顧客の対応時間が約92秒となるようにします。 |
Unhappy Customers(シンク) | シンクはモデルからフローアイテムを削除します。[WaitingCustomers]リストで200秒を超えて待機している顧客を検索するようにこのシンクを設定します。この基準を満たす顧客をプルしてモデルから削除することで、顧客が不満を抱いて去ることを表します。 |
Happy Customers(シンク) | このオブジェクトはデフォルト設定を使用するため、変更は加えません。 |
このロジックを3Dオブジェクトに追加するには:
60
に変更します。90
3.1
0.5
> 200
に変更します。3Dオブジェクトのプロパティの編集が完了したのでモデルを保存します。
このステップでは、シミュレーションモデルを再度実行します。シミュレーションモデルの実行は、シミュレーションモデル構築プロセスの重要なステップです。これは、モデル構築の初期段階においてモデルをテストしてトラブルシューティングすることで、モデルを正しく構築するのに役立ちます。詳細については、「シミュレーションモデルを実行する」を参照してください。
モデルを実行するには、メインツールバーの下にあるシミュレーションコントロールバーの[リセット]ボタンを押します。([リセット]を押すと、シミュレーションモデルがクリアされ、開始値に戻ります)。 シミュレーションを開始するには[再生]を押し、シミュレーションを一時停止するには[停止]を押します。
初めてモデルを実行するときは、顧客がただちにサービスデスクに現れます。次第により多くの顧客が出現し、[順番待ち列]キューに列を形成します。
シミュレーションモデルが同じように動作しない場合、またはエラーメッセージが表示される場合は、前の手順をすべて正しく実行したことを再度確認してください。
また、現時点ではおそらく3Dビジュアルがやや奇妙で不自然に見えます。モデル構築の初期段階では、現実的に見せることよりも基本モデルを構築して正しく動作させることを優先します。この後のチュートリアルタスクで3Dモデルのビジュアルをより自然に見せるように改善する方法を学習します。
チュートリアルの次のステップで作業するときには、シミュレーションモデルをデフォルトの速度よりも高速で実行することをおすすめします。また、モデルから代表的なデータを得るためにシミュレーションモデルを1日フル稼働させることも役立ちます。カスタマーサービスセンターは通常12時間稼働することから、シミュレーションを43,200秒(12時間に相当)実行するように設定します。
シミュレーション実行の速度と停止時間を変更するには:
再度モデルを実行して、これがシミュレーションにどのように影響するかを確認してください。
次のチュートリアルタスクでは、FlexSimのさまざまなツールを使用してシミュレーションモデルからデータを取得する方法を学習します。「チュートリアルタスク1.2 - 3Dモデルからデータを取得する」に進んでください。