ブロックリファレンス

BLOCKS Reference

最適化

工程最適化

概要

このブロックは、製造業や物流業などにおける工程の実行順序と、各工程に割り当てるリソース(機械、作業者など)を最適化します。これにより、全体の作業時間を最小化し、納期遅延リスクを低減できます。例えば、複数の製品を複数の機械で加工する際の工程順序、作業者のタスク割り当て、配送ルートの時間調整など、様々な場面で活用できます。

「工程最適化」では、ジョブ(作業の単位)、オペレーション(各ジョブに含まれる個別の工程)、リソース(機械や作業者)の関係を定義します。これらの制約条件(作業順序、リソースの利用可能な時間など)を考慮しながら、処理時間を短縮したスケジュールを自動計算します。これにより、人手では対応が困難な複雑な工程計画でも、最適なスケジューリングが可能になります。

内部では、状況に応じて最適な計算エンジン(専門的にはソルバーと呼ばれ、D-Wave、SQBM+、Amplify AEなどが該当)が自動選択されます。量子コンピューティング技術(量子アニーリングなど)をはじめとする先進技術を用いて高速に計算処理を行います。利用者は技術的な詳細を意識することなく、最適なスケジュール結果のみが簡単に得られます。

プロパティ

プロパティ名 説明
ブロック名

フローの中で、このブロックを識別するための表示名を設定します。例えば、「製造工程の最適化」、「配送スケジュール最適化」など、分かりやすい名前を付けることで、フロー全体の可読性が向上します。

GCPサービスアカウント

最適化処理を実行するために、Google Cloud Platform(GCP)のサービスアカウントを選択します。処理に必要な権限を持つアカウントを設定してください。

データセット

BigQueryのデータセットを指定します。(必須)

このデータセットには、最適化計算に使用する入力データテーブルと、計算結果を保存する出力データテーブルが含まれます。

具体的には、ジョブ、オペレーション、リソースなどの情報が格納されたテーブルをこのデータセット内に準備してください。

作業のテーブルが保存されているテーブル

作業(ジョブ)の基本情報が格納されたテーブル名を指定します。(必須)

このテーブルには、「job_id(ジョブID)」、「job_name(ジョブ名)」のカラム(列)が必要です。ジョブとは、複数のオペレーション(工程)をまとめた作業の単位を指します。例えば、「製品Aの製造」、「注文Bの処理」などがジョブに相当します。

table_chart テーブルスキーマを表示 arrow_downward

オペレーションが保存されているテーブル

オペレーション(個別の工程)の情報が格納されたテーブル名を指定します。(必須)

このテーブルには、「operation_id(オペレーションID)」、「operation_name(オペレーション名)」、「delivery_time(納期)」のカラムが必要です。オペレーションとは、ジョブを構成する個別の作業工程を指します。

table_chart テーブルスキーマを表示 arrow_downward

リソースが保存されているテーブル

リソース(機械、作業者など)の情報が格納されたテーブル名を指定します。(必須)

このテーブルには、「resource_id(リソースID)」、「resource_name(リソース名)」のカラムが必要です。リソースとは、オペレーション処理に必要な機械、設備、作業者などを指します。

table_chart テーブルスキーマを表示 arrow_downward

オペレーションの順序関係が保存されているテーブル

オペレーション間の実行順序(依存関係)を定義したテーブル名を指定します。(必須)

このテーブルには、「operation_id(後続オペレーションID)」と「before_operation_id(先行オペレーションID)」のカラムが必要です。例えば、製品Aを作る際に「切削」の後に「研磨」を行う場合、その依存関係をこのテーブルで定義します。

table_chart テーブルスキーマを表示 arrow_downward

オペレーションとリソースと時間が保存されているテーブル

各オペレーションをどのリソースで実行し、どれだけの時間がかかるかを定義したテーブル名を指定します。(必須)

このテーブルには、「operation_id(オペレーションID)」、「resource_id(リソースID)」、「cost_time(処理時間)」のカラムが必要です。同じオペレーションでも、使用するリソースによって処理時間は異なる場合があります。その関係をこのテーブルで定義します。

table_chart テーブルスキーマを表示 arrow_downward

オペレーションのリソースの前提を定義するテーブル

リソースの使用可能な時間帯や制限事項を定義したテーブル名を指定します。

このテーブルには、「resource_id(リソースID)」、「start_time(開始時刻)」、「end_time(終了時刻)」、「assign_type(割当タイプ)」のカラムが含まれます。例えば、機械のメンテナンス時間や作業者の休憩時間など、リソースが使用できない時間帯を定義します。

table_chart テーブルスキーマを表示 arrow_downward

パラメータが保存されているテーブル

最適化計算の挙動や制約の重要度を調整するためのパラメータが格納されたテーブル名を指定します。(必須)

このテーブルには、時間設定、各種制約の係数、ソルバーオプションなどが含まれます。これらの設定により、最適化の計算方法や結果の品質を調整できます。

table_chart テーブルスキーマを表示 arrow_downward

最適化実行に関する情報を格納する変数

最適化処理を実行した際のジョブID(処理識別子)などを格納する変数名を指定します。(必須)

この変数には、実行結果に関する基本的な情報(ジョブIDなど)が格納され、後続の処理ブロックで参照できます。具体的には、以下のような構造のJSONオブジェクトが格納されます。

{
  "job_id": "7a6e52bed084dbd7fdff62cfa6ffcc0b",
  "solutions": [
    {
      "solution_index": 0,
      "energy": 1234567.0
    }
  ],
  "total_qubit_num": 100,
  "qubo": {
    "maximum_coeff_ratio": 150.5,
    "density": 0.8
  },
  "optimization_type": "jobshop",
  "created_at": "2025-05-21T07:39:57.000Z"
}

主なキーの説明は以下の通りです。

  • job_id: 実行された最適化ジョブの一意なID
  • solutions: 得られた解のリスト。各解には solution_index(解のインデックス)と energy(評価値)が含まれる
  • total_qubit_num: 計算に使用された論理的な変数(qubit)の総数
  • qubo: QUBOモデルに関する詳細情報
  • optimization_type: 実行された最適化のタイプ(この場合は"jobshop"
  • created_at: 処理が作成されたタイムスタンプ
実行に関する情報を格納するテーブル

最適化計算の実行に関する詳細な情報(メタデータ)を格納するテーブル名を指定します。

指定しない場合、これらのメタデータは保存されません。実行にかかった時間や計算の評価値(エネルギー値)など、処理の詳細情報を記録・分析したい場合に設定します。事前に作成する必要はなく、指定したテーブルがなければ、自動作成されます。既に存在する場合は、追加されます。

table_chart テーブルスキーマを表示 arrow_downward

実行結果を格納するテーブル

最適化計算の結果(具体的なスケジュール)を格納するテーブル名を指定します。

指定しない場合、計算結果は保存されません。最適化結果を保存し、他の処理ブロックから参照したり、後で分析したりする場合は必ず設定してください。事前に作成する必要はなく、指定したテーブルがなければ、自動作成されます。既に存在する場合は、追加されます。

table_chart テーブルスキーマを表示 arrow_downward

ジョブのラベル名

実行する最適化ジョブに付与するラベル名(識別名)を指定します。

複数の最適化処理を区別するために使用します。特に、複数のジョブを同時に実行する場合や、後で特定のジョブの結果を確認する際に役立ちます。

ブロックメモ

このブロックに関するメモを自由に記述できます。

フローの管理やメンテナンス時の情報共有に役立ちます。このメモの内容は、ブロックの実行には影響しません。

テーブルスキーマ

このブロックでは、7つの入力情報(テーブル形式)と、結果を格納する出力情報(テーブル形式)を使用します。それぞれのテーブルがどのような構造を持ち、どのようなデータを含める必要があるかを理解しておくことが重要です。

注:「必須」列の「✓」マークは、その項目が必須であることを示します。「*」付きのものは条件付き必須を示します(詳細は各テーブルの説明を参照)。

1. 作業のテーブルが保存されているテーブル

作業(ジョブ)の基本情報を定義するテーブルです。ジョブとは、複数のオペレーション(工程)をまとめた作業の単位を指します。

JSONスキーマを表示
[
  { "name": "job_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "job_name", "type": "STRING", "mode": "NULLABLE", "description": "" }
]
カラム名 データ型 必須/条件付き 説明
job_id 文字列(STRING) ジョブを一意に識別するためのID(例:job_Aorder_001
job_name 文字列(STRING) ジョブの表示名(例:「製品Aの製造」、「注文001の処理」)。省略可能です。

各ジョブは、後述するオペレーションの集合として定義されます。例えば、「製品Aの製造」というジョブには、「切削」「研磨」「塗装」といった複数のオペレーションが含まれます。

settings プロパティとの関連を確認 arrow_upward

2. オペレーションが保存されているテーブル

オペレーション(個別の工程)を定義するテーブルです。各オペレーションは、ジョブを構成する最小単位の作業を表します。

JSONスキーマを表示
[
  { "name": "operation_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "operation_name", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "job_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "delivery_time", "type": "INTEGER", "mode": "NULLABLE", "description": "" }
]
カラム名 データ型 必須/条件付き 説明
operation_id 文字列(STRING) オペレーションを一意に識別するためのID(例:cutting_01assembly_A
operation_name 文字列(STRING) オペレーションの表示名(例:「切削工程」、「組立工程A」)。省略可能です。
job_id 文字列(STRING) このオペレーションが属するジョブのID(上記「1. 作業のテーブルが保存されているテーブル」の job_id と対応)
delivery_time 整数(INTEGER) オペレーションを完了すべき時刻。スケジューリング全体の開始時刻を基準とした相対時間(分単位など)で設定します。例:開始時刻が12:00で、このオペレーションの納期が14:00の場合、120(分)を設定。省略可能です。

delivery_time を設定することで、特定のオペレーションに対して納期制約を課すことができます。設定しない場合は、納期制約なしとして扱われます。

settings プロパティとの関連を確認 arrow_upward

3. リソースが保存されているテーブル

リソース(機械、作業者、設備など)を定義するテーブルです。オペレーション処理に必要な資源を表します。

JSONスキーマを表示
[
  { "name": "resource_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "resource_name", "type": "STRING", "mode": "NULLABLE", "description": "" }
]
カラム名 データ型 必須/条件付き 説明
resource_id 文字列(STRING) リソースを一意に識別するためのID(例:machine_01worker_A
resource_name 文字列(STRING) リソースの表示名(例:「CNC旋盤1号機」、「作業者A」)。省略可能です。

リソースは、同時に複数のオペレーション処理ができません。最適化エンジンでは、この制約を考慮してスケジュールを作成します。

settings プロパティとの関連を確認 arrow_upward

4. オペレーションの順序関係が保存されているテーブル

オペレーション間の実行順序(先行/後続の関係)を定義するテーブルです。これにより、あるオペレーションが別のオペレーションの完了を待ってから開始される、という依存関係を指定します。

JSONスキーマを表示
[
  { "name": "operation_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "before_operation_id", "type": "STRING", "mode": "NULLABLE", "description": "" }
]
カラム名 データ型 必須/条件付き 説明
operation_id 文字列(STRING) 後続オペレーションのID(このオペレーションが開始される前に、先行オペレーションが完了している必要がある)
before_operation_id 文字列(STRING) 先行オペレーションのID(このオペレーションが完了しないと、後続オペレーションは開始できない)

例えば、「研磨」オペレーション(operation_id)の前に「切削」オペレーション(before_operation_id)を完了させる必要がある場合、その関係を1つのレコードとして定義します。これにより、単純な直線的な順序だけでなく、複数の工程が合流・分岐するような複雑な依存関係も表現できます。

settings プロパティとの関連を確認 arrow_upward

5. オペレーションとリソースと時間が保存されているテーブル

各オペレーションをどのリソースで実行し、どれだけの時間がかかるかを定義するテーブルです。

JSONスキーマを表示
[
  { "name": "operation_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "resource_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "cost_time", "type": "FLOAT", "mode": "NULLABLE", "description": "" }
]
カラム名 データ型 必須/条件付き 説明
operation_id 文字列(STRING) オペレーションID(上記「2. オペレーションが保存されているテーブル」の operation_id と対応)
resource_id 文字列(STRING) リソースID(上記「3. リソースが保存されているテーブル」の resource_id と対応)
cost_time 数値(FLOAT) オペレーションの処理時間を示す数値(0以上)。時間の単位は、パラメータテーブルで設定する時間単位と一致させます。

このテーブルにより、同じオペレーションでも使用するリソースによって処理時間が異なる場合を表現できます。例えば、「切削」オペレーションが「新型機械」では30分、「旧型機械」では45分かかるといった設定が可能です。

settings プロパティとの関連を確認 arrow_upward

6. オペレーションのリソースの前提を定義するテーブル

リソースの使用可能な時間帯や制限事項を定義するテーブルです。メンテナンス時間や作業者の休憩時間など、リソースが使用できない期間を設定します。

JSONスキーマを表示
[
  {"name":"resource_id","type":"STRING","mode":"NULLABLE","description":""},
  {"name":"start_time","type":"INTEGER","mode":"NULLABLE","description":""},
  {"name":"end_time","type":"INTEGER","mode":"NULLABLE","description":""},
  {"name":"assign_type","type":"STRING","mode":"NULLABLE","description":""}
]
カラム名 データ型 必須/条件付き 説明
resource_id 文字列(STRING) リソースID(上記「3. リソースが保存されているテーブル」の resource_id と対応)
start_time 整数(INTEGER) 使用不可な期間の開始時刻
end_time 整数(INTEGER) 使用不可な期間の終了時刻。例:start_time=2, end_time=5の場合、時刻2,3,4,5が使用不可となります。
assign_type 文字列(STRING) 割当タイプ。現在は「unavailable(使用不可)」のみサポート。省略可能です。

複数の使用不可な期間を定義したい場合は、同じリソースに対して複数のレコードを作成します。例えば、機械のメンテナンス時間(10-11時)と清掃時間(15-16時)を別々のレコードとして登録します。

settings プロパティとの関連を確認 arrow_upward

7. パラメータが保存されているテーブル

最適化計算の挙動を細かく制御するためのパラメータを設定するテーブルです。

JSONスキーマを表示
[
  {"name":"label","type":"STRING","mode":"NULLABLE"},
  {"name":"time","type":"RECORD","mode":"NULLABLE",
  "fields":[
    { "name": "limit", "type": "INTEGER", "mode": "NULLABLE", "description": "" },
    { "name": "step", "type": "INTEGER", "mode": "NULLABLE", "description": "" }
  ], "description": "" },
  { "name": "operation_order", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
  { "name": "operation_consistency", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
  { "name": "resource_single_operation", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
  {"name":"resource_unavailable","type":"RECORD","mode":"NULLABLE",
  "fields":[
    { "name": "coeff", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
    { "name": "force", "type": "BOOLEAN", "mode": "NULLABLE", "description": "" }
  ], "description": "" },
  { "name": "cost_time", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
  { "name": "delivery_time", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
  { "name": "resource_job_count", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
  { "name": "table_integrity", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
  {"name":"solver_options","type":"RECORD","mode":"NULLABLE",
  "fields":[
    { "name": "normalize", "type": "BOOLEAN", "mode": "NULLABLE" },
    { "name": "backend", "type": "STRING", "mode": "NULLABLE" },
    {"name": "dwave", "type": "RECORD", "mode": "NULLABLE", "fields": []},
    { "name": "sbm", "type": "RECORD", "mode": "NULLABLE", "fields": []}
  ]
 }
]
カラム名 データ型 必須/条件付き 説明
label 文字列(STRING) 複数の最適化処理を実行する際のジョブラベル(識別名)。省略可能です。
time 複合型(RECORD) 時間に関する設定
time.limit 整数(INTEGER) ✓* スケジュール全体の時間枠の上限
time.step 整数(INTEGER) ✓* 時間の最小単位(例:1分、5分、1時間など)
operation_order 数値(FLOAT) 作業順序に関する制約の重み係数。値が大きいほど、オペレーションの順序を厳密に守ろうとします。省略可能です。
operation_consistency 数値(FLOAT) 作業の一貫性に関する制約の重み係数。値が大きいほど、同一ジョブのオペレーションを連続して実行しようとします。省略可能です。
resource_single_operation 数値(FLOAT) リソースの非並列制約の重み係数。値が大きいほど、1つのリソースで同時に複数のオペレーションを実行しないようにします。省略可能です。
resource_unavailable 複合型(RECORD) リソースの使用不可に関する制約の設定。省略可能です。
resource_unavailable.coeff 数値(FLOAT) ✓* 使用不可に関する制約の重み係数
resource_unavailable.force 真偽値(BOOLEAN) ✓* true:使用不可な期間を強制的に守る、false:ベストエフォート
cost_time 数値(FLOAT) 処理時間の最小化制約の重み係数。値が大きいほど、全体の処理時間を短くしようとします。省略可能です。
delivery_time 数値(FLOAT) 納期誤差の最小化制約の重み係数。値が大きいほど、納期を守ろうとします。省略可能です。
resource_job_count 数値(FLOAT) リソースごとの使用先ジョブ数の最小化制約の重み係数。値が大きいほど、各リソースが扱うジョブ数を減らそうとします。省略可能です。
table_integrity 数値(FLOAT) テーブルの整合性制約の重み係数。データの整合性を保つための内部的な制約です。省略可能です。
solver_options 複合型(RECORD)

使用する計算エンジン(ソルバー)固有の詳細な設定。通常は設定不要です。省略可能です。

solver_options で設定可能な主な項目は以下の通りです。

  • normalize(Boolean):QUBO作成時に係数を正規化するかどうかを指定する(デフォルト: false)
  • backend(文字列):QUBO作成に使用するバックエンドを指定する(デフォルト: 'TF')
    • 'TF': TensorFlowを利用し、オンメモリで処理する
    • 'BQ': BigQueryを利用して処理する
  • dwavesbm:各ソルバー固有の詳細設定(通常は設定不要)

* time の設定項目(limit, step)は、time自体を定義する場合に必須となります。resource_unavailable の設定項目も同様です。

各制約の重み係数は、問題の特性や要求に応じて調整します。例えば、納期厳守が最重要の場合は delivery_time の値を大きく、処理時間の短縮が重要な場合は cost_time の値を大きく設定します。

settings プロパティとの関連を確認 arrow_upward

8. 実行に関する情報を格納するテーブル

最適化処理の実行結果に関するメタデータを保存するテーブルです。処理のパフォーマンスや解の品質に関する詳細情報を記録します。

JSONスキーマを表示
[
  { "name": "job_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "optimization_type", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "solver_type", "type": "INTEGER", "mode": "NULLABLE", "description": "" },
  { "name": "solutions", "type": "RECORD", "mode": "REPEATED", "fields": [
    { "name": "solution_index", "type": "INTEGER", "mode": "NULLABLE", "description": "" },
    { "name": "energy", "type": "FLOAT", "mode": "NULLABLE", "description": "" }
  ] },
  { "name": "total_qubit_num", "type": "INTEGER", "mode": "NULLABLE", "description": "" },
  { "name": "qubo", "type": "RECORD", "mode": "NULLABLE", "fields": [
    { "name": "maximum_coeff_ratio", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
    { "name": "max", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
    { "name": "min", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
    { "name": "max_positive", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
    { "name": "min_positive", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
    { "name": "max_negative", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
    { "name": "min_negative", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
    { "name": "nonzero_num", "type": "INTEGER", "mode": "NULLABLE", "description": "" },
    { "name": "density", "type": "FLOAT", "mode": "NULLABLE", "description": "" }
  ] },
  { "name": "solver_response", "type": "RECORD", "mode": "REPEATED", "fields":[
    { "name": "id",                            "type": "STRING",  "mode": "NULLABLE" },
    { "name": "qpu_sampling_time",             "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "qpu_anneal_time_per_sample",    "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "qpu_readout_time_per_sample",   "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "qpu_access_time",               "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "qpu_access_overhead_time",      "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "qpu_programming_time",          "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "qpu_delay_time_per_sample",     "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "total_post_processing_time",    "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "post_processing_overhead_time", "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "charge_time",                   "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "run_time",                      "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "calculation_time",              "type": "FLOAT", "mode": "NULLABLE" },
    { "name": "wait_time",                     "type": "FLOAT", "mode": "NULLABLE" },
    { "name": "num_runs",                      "type": "INTEGER", "mode": "NULLABLE" },
    { "name": "message",                       "type": "STRING", "mode": "NULLABLE" }
  ] },
  { "name": "constraints", "type": "RECORD", "mode": "REPEATED", "fields":[
    { "name": "solution_index",                "type": "INTEGER",  "mode": "NULLABLE" },
    { "name": "name",                          "type": "STRING", "mode": "NULLABLE" },
    { "name": "energy",                        "type": "FLOAT", "mode": "NULLABLE" },
    { "name": "coeff",                         "type": "STRING", "mode": "NULLABLE" }
  ] },
  { "name": "created_at", "type": "TIMESTAMP", "mode": "NULLABLE", "description": "" }
]
カラム名 データ型 必須/条件付き 説明
job_id 文字列(STRING) 最適化実行時のJob ID
optimization_type 文字列(STRING) 最適化のタイプ(例:jobshop
solver_type 整数(INTEGER) 実行されたソルバーの種別(1: dwave, 2: SQBM+, ...)
solutions 複合型(RECORD, REPEATED) 得られた解のリスト
solutions.solution_index 整数(INTEGER) ✓* 解のインデックス
solutions.energy 数値(FLOAT) ✓* 解に対応する評価値(エネルギー値)
total_qubit_num 整数(INTEGER) 計算に使用された論理的な変数(qubit)の総数
qubo 複合型(RECORD) QUBOモデルに関する詳細情報
qubo.maximum_coeff_ratio 数値(FLOAT) QUBOの最大係数比
qubo.density 数値(FLOAT) QUBOの密度(非ゼロ要素の割合)
solver_response 複合型(RECORD, REPEATED) ソルバーからの応答データ(ソルバー毎に内容が異なります)
constraints 複合型(RECORD, REPEATED) 各制約の満足度に関する情報
created_at タイムスタンプ(TIMESTAMP) 処理の実行時刻

これらのメタデータを分析することで、最適化計算のパフォーマンスや結果の品質を客観的に評価でき、パラメータ調整の参考になります。

settings プロパティの設定方法を確認 arrow_upward

9. 実行結果を格納するテーブル

最適化計算の実行後に生成される結果が格納されるテーブルです。具体的に、どのジョブのどのオペレーションが、どのリソースで、いつ実行されるかが記録されます。

JSONスキーマを表示
[
  { "name": "job_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "energy", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
  { "name": "solution_index", "type": "INTEGER", "mode": "NULLABLE", "description": "" },
  { "name": "jobshop_job_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "operation_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "resource_id", "type": "STRING", "mode": "NULLABLE", "description": "" },
  { "name": "start_time", "type": "INTEGER", "mode": "NULLABLE", "description": "" },
  { "name": "end_time", "type": "INTEGER", "mode": "NULLABLE", "description": "" },
  { "name": "cost_time", "type": "FLOAT", "mode": "NULLABLE", "description": "" },
  { "name": "delivery_time", "type": "INTEGER", "mode": "NULLABLE", "description": "" },
  { "name": "created_at", "type": "TIMESTAMP", "mode": "NULLABLE", "description": "" }
]
カラム名 データ型 出力有無 説明
job_id 文字列(STRING) 必須 実行された最適化ジョブのID
energy 数値(FLOAT) 必須 計算結果の評価値(エネルギー値)。値が小さいほど、制約条件をよく満たした良い解であることを示します。
solution_index 整数(INTEGER) 必須 複数の解が得られた場合の、解のインデックス番号
jobshop_job_id 文字列(STRING) 必須 スケジューリング対象のジョブID
operation_id 文字列(STRING) 必須 スケジューリングされたオペレーションID
resource_id 文字列(STRING) 必須 オペレーションが割り当てられたリソースID
start_time 整数(INTEGER) 必須 オペレーションの開始時刻
end_time 整数(INTEGER) 必須 オペレーションの終了時刻
cost_time 数値(FLOAT) 必須 オペレーションの処理時間
delivery_time 整数(INTEGER) 必須 オペレーションの納期(完了時刻)
created_at タイムスタンプ(TIMESTAMP) 必須 実行ジョブの作成時間

このテーブルの各レコードは、1つのオペレーションのスケジュール結果を表します。全体のスケジュールは、このテーブルの全レコードを時系列に並べることで確認できます。

settings プロパティとの関連を確認 arrow_upward

この情報は役に立ちましたか?