事例 製品

FACTOR/AIM 生産物流シミュレーター

FAQ

シーケンスルールと選択ルール

基本機能解説補足

シーケンスルールと要求選択ルールは、どちらも、資源の待ち行列に並んでいるロードの処理順番を規定するものですが、ルールが適用されるタイミングと処理内容が異なる、似て非なるルールです。また、これら2つのルールは組み合わせて使用する場合もありますが、組み合わせかたには一定の約束事があります。モデリングリファレンスの5.1.1節も参照してください。

(1)ルールを適用するタイミングと処理内容
シーケンスルールが適用されるタイミングは、ロードが待ち行列に並ぶとき、例えば、各ロードは、待ち行列に並ぶときにシーケンスルールによって決められる番号札を受け取る。自分の番号札と、既に待ち行列に並んでいる他のロードの番号札を比較して、自分の順位を決めて待ち行列に並びます(番号が小さい順位順に並びます)。
これに対し選択要求ルールは、資源が利用可能な状態になったときに適用されます。その時、待ち行列に並んでいるロードの中から要求選択ルールの順序付けに基づいて待ち行列の中のロードを並び変え、先頭のロードから順に資源の割り付け可能性が判断されます。 ここが重要なポイントなのですが、「先頭のロードを次に処理する」と言わずに、「先頭のロードから順に資源の割り付け可能性を判断する。」というもってまわった表現をしています。これは、待ち行列の先頭にいるロードが次に処理されるとは限らないからなのです。例えば、先頭のロードは同時に他の資源も要求しており、その資源は現在利用不可能であるような場合には先頭のロードは割り付け不可能であると判断されます。このとき、2番目のロードの割り付け可能性が調べられます。このように順次割り付け可能性を調べて、最初に割り付け可能となったロードの処理が開始されます。 もし、割り付け可能なロードが待ち行列に見つからなかったとき、どうなるのでしょうか。このような場合、資源はその時点から遊休状態となります。そして、新たなロードが待ち行列に到着するか、または、他の資源が利用可能となってそちらの資源の要求選択ルールによって処理するロードが決まるまで遊休のままとなります。

(2)ルールの組み合わせ
両方のルールともタイミングの違いはありますが、基本的には処理順を規定するルールなので、要求選択ルールによってはシーケンスルールが意味を持たない場合もあります。 その場合、意味もなく演算時間がかかることになってしまいます。このようなことを防止するために、意味のない組み合わせの場合にはユーザによって指定されたシーケンスルールは無視され、FIFOが適用されます。 シーケンスルールが意味を持つ場合とは、要求選択ルールが、「シーケンスルール」、「動的シーケンスルール」、「最初のロード」、「最初のN個のロード」の場合です。これ以外の要求選択ルールを指定した場合には、シーケンスルールは無視されます。

(3)要求選択ルールの意味
ここでは、要求選択ルールの各ルールについて説明しましょう。

「シーケンスルール」のグループ
特に変更しなければ、要求選択ルールとして「シーケンスルール」が指定されています。
この「シーケンスルール」とは、要求選択時にあえて並び変えは行わずに、シーケンスルールによって並んでいる順番のまま、待ち行列の先頭から順番に資源の割り付け可能性を判断していくというルールです。
「最初のロード」は「シーケンスルール」と似ていて、要求選択ルールによって順序の並び変えは行わず、先頭のロードだけの割り付け可能性を調べ、割り付け不可能であれば、次のロードの割り付け可能性は調べません。
「最初のN個のロード」は、「最初のロード」の拡張版で先頭からN個目までの割り付け可能性を調べます。

「動的シーケンスルール」のグループ
「動的シーケンスルール」とは、シーケンスルールと同じ規則で再度順序の並び変えを行います。そのうえで、待ち行列の先頭から順番に資源の割り付け可能性が判断されます。
「最初のロード(動的)」「最初のN個のロード(動的)」は、「動的シーケンスルール」で並べ変えた結果のN番目までの割り付け可能性を調べます。
「しきい値」は、「動的シーケンスルール」で並べかえたものの一部だけの割り付け可能性を調べます。この点では、「最初のN個のロード(動的)」と同じですが、その「一部」とは、「N個」のようにロード数ではなく、シーケンスルールの判断基準とした値(例えば属性値順であれば属性値の値)が、ユーザが指定する定数(しきい値)より大きいもの、もしくは小さいものという基準で決まる点にあります。大きいものを対象とするか、小さいものを対象とするかは、シーケンスルールによります。待ち行列の先頭から順に割り付け可能性を調べていくことになるるので、シーケンスルールが属性値の小さい順であればしきい値より小さいものが対象となり、逆に属性値の大きい順であればしきい値より大きいものが対象となります。
「割り込み/動的シーケンスルール」も、基本的には「動的シーケンスルール」と同じです。異なるのは、故障やシフトの切れ目などで処理を中断したロードを最優先にするという点です。

「最少段取り」のグループ
「最少段取り」は、段取り時間の少ない順に並べ変えを行い、待ち行列の先頭から順番に資源の割り付け可能性が判断されます。
「最初のロードの段取り時間が最少」と、「最初のN個のロードの段取り時間が最少」は、「最少段取り」で並べ変えたものの先頭のみ、または、N番目までしか割り付け可能性を調べないものです。

「ロード数/最少段取り時間で変更」のグループ
「ロード数/最少段取り時間で変更」は、基本的には「最少段取り」と同じですが、段取り不要なロード(例えば同品種)の連続処理数に上限を設けることができるルールです。例えばロード数を10と指定した場合、段取り不要なロードを10ロード連続して処理した後には、必ず段取りが必要な異なるタイプのロードが処理されます。「必ず」とは、たとえ段取り不要なロードが待ち行列の中に存在していても段取りが行われるのです。その場合には、段取り時間が最少(段取り時間が0より大きい最小値)のロードが選ばれます。後工程の負荷の偏りを考慮する場合に有効なルールと言えるでしょう。
「ロード数/最長待ち時間で変更」は、待ち時間の長い順に並べ、段取り不要なロード(例えば同品種)の連続処理数に上限を設けるルールです。
「ロード数/最少段取り時間で変更」「ロード数/最長待ち時間で変更」の「ロード数」の部分が「パーツ数」「経過時間」「処理時間」となっているルールがあります。これらは、段取り不要なロード(例えば同品種)の連続処理の上限として、ロード数の代わりにパーツ数、経過時間、処理時間を指定するルールです。

その他のグループ
「予約オーダ」は、現在段取りされているオーダ(同じオーダ)に属するロードが優先されます。
「プライオリティ/スラック/最少段取り」は、順序付けが多段階になります。まずプライオリティの大きい順に並べ、プライオリティが同じであれば、動的スラックが小さいもの順となります。さらに動的スラックが同じであれば、段取り時間の少ない順となります。そして、先頭から割り付け可能性を調べていくことになります。



FAQ一覧

■よくある質問

購入前

  1. ライセンスはどのように管理されていますか?
  2. プログラミングのスキルは必要ですか?
  3. 講習会はありますか?
  4. 購入前に使ってみることはできますか?
  5. シミュレーション結果はどのような形式で見られますか?
  6. 保守対象を教えてください
  7. Microsoft Access形式とありますが、Accessは必要ですか?
  8. 関連する書籍は販売されていますか?
  9. どのような業界で適用事例がありますか?
  10. モデルはどのように作るのですか?
  11. アメリカで開発されたと紹介されていますが、 ソフトやマニュアルは英語なのでしょうか?

購入後

  1. 使い方などの問合せ窓口はありますか?
  2. 作成したモデルのバックアップはどのようにすればよいですか?
  3. モデルのバックアップをしておこおうと思うのですが、 ファイルサイズが数十MBと大きくて困っています。
  4. 報告会等のプレゼンテーションの時に アニメーションの動画だけを見せたいのですが、アニメーションの動画ファイルを作成する仕組みはありますか?
  5. 作ったモデル使ったシステムを、色々な部署で使わせたいと思っています。 ライセンスを追加しなければならないのでしょうか?
  6. 他社での活用事例を見てみたいのですが、紹介してもらえますか?
  7. センチネルキーを紛失してしまいました。再発行は可能でしょうか?
  8. 「」というメッセージが出て、AIMが起動しません

■専門的な質問

基本機能解説補足

  1. シーケンスルールと選択ルール
  2. デマンドオーダの納期設定
  3. ユーザ定義の離散、連続分布の定義
  4. 高等搬送JS
  5. コンベア搬送について
  6. 検査JS
  7. 統合/分割JS
  8. バッチ定義、バッチJS
  9. 仕掛りロード
  10. シフト残業設定
  11. 手持ちの図面を利用したアニメーション
  12. モデルデータの保存と読込み

こんなときどうする? -モデル化手法

  1. 資源グループメンバ選択ルール[インデックス]
  2. 資源グループメンバによる加工時間の違い
  3. プロセスプランの同期(1)
  4. プロセスプランの同期(2)
  5. プロセスプランの同期(3)
  6. プロセスプランの同期(4)
  7. 生成JSの利用例
  8. 選択JSの利用例
  9. 後段取りのモデル化方法
  10. 自動倉庫(ASRS)のモデル化方法 4例
  11. 冶具資源を用いたアニメーションテクニック
  12. 工場内の特定の中間倉庫の在庫量を知る方法
  13. 搬送車やAGVの積載時に複数の資源を解放する方法
  14. 空車両の制御
  15. コントロールポイントグループの利用例
  16. パーツ毎の完成数を表示する方法
  17. 一般プールの利用テクニック
  18. バッチJS利用例-高等搬送JS,一般プール
  19. パーツによる処理順の制御テクニック
  20. 納入、出荷スケジュールの利用例

ユーザコードを使用したモデル化

  1. ucrstra-資源ステータスの変化イベント
  2. リリース先ロードへの属性の引渡し方法
  3. 選択JS選択ルール
  4. 故障復旧にオペレータを使用する
  5. JSの続きエディタのジョブステップ選択ルール
  6. ユーザコードからダイアログを表示する方法
  7. AIM内エディタの「式」フィールドに任意の値を設定する方法
  8. Windowsの環境設定

モデル化の検証

  1. 残業を設定していないのに残業したという結果になる
  2. ガントチャートについて
  3. 期間実行、事象ビューア
  4. Visual Studioを利用したデバッグ