#hokudaihitachi2022b. [hokudai_hitachi2022_b]Dynamic Scheduling of Agricultural Machinery Sharing

[hokudai_hitachi2022_b]Dynamic Scheduling of Agricultural Machinery Sharing

目次

  1. 問題概要
  2. 入力1
    1. 作業期間
    2. 地理情報
    3. ワーカー
    4. ジョブ
    5. 天候
    6. スケジュール
  3. 出力1
  4. 入力2(毎時刻)
    1. 現在の天候
    2. ジョブの状態
    3. ワーカーの現在位置
    4. 天候予測
  5. 出力2(毎時刻)
    1. スケジュールの提出
    2. ワーカーの行動
  6. 入力3(採点)
    1. 採点方法
    2. 総報酬量
    3. 未完了ペナルティ
    4. スケジュール加点
  7. 実行タスク数制限
  8. テストケース生成規則
  9. 順位決定方法
  10. 制約
  11. ツールキット
  12. ビジュアライザ

問題概要

この問題では、農機シェアリングサービスにおいて、所有する機械や人員(単純化して、以下"ワーカー"とする)を最大限活用し、報酬*が最も多くなるように農作業(以下、"ジョブ"と呼ぶ)を 受託することを考える。空間内に配置された数多く存在するジョブから受託するジョブを自分で最初に決定し、ジョブ実行スケジュールを提出/修正しながら、ワーカーに指示を出し実際にそれらを処理していく。各ジョブは複数の小作業を表す"タスク"をワーカーが規定の量処理することで完了と見なされ、基本的に受託したジョブは完了する必要がある(完了しなければペナルティが発生する)。ジョブを完了することで報酬を獲得できるが、タスクを処理する時刻により報酬量は異なるため適切な作業時間帯を考慮して処理する必要がある。また、各時刻における実行可能なタスク数はワーカーの処理能力と天候に依存し、天候は一定時間ごとに予報が与えられる。

*報酬:農作物の適切な収穫時期、ナノグリッドから農機に供給する再生可能エネルギーの利用率等を想定する。

入力として最初に以下の情報が与えられる。

  1. 作業期間
  2. 地理情報(グラフ)
  3. ワーカーの情報
  4. 全てのジョブの情報
  5. 天候に関する情報
  6. スケジュールに関する情報

これに対し最初にコンテスタントは

  1. 受託するジョブ

を出力する。

以降各時刻開始時に入力として以下の情報が与えられる。

  1. 受託したジョブに関する情報
  2. ワーカーの現在位置
  3. (一定間隔で)天候の予報

これに対しコンテスタントは

  1. ジョブ実行スケジュール
  2. 各ワーカーの動作

を出力する。これを作業期間終了まで繰り返す。

スコアは

  1. 報酬
  2. 未完了ジョブに対するペナルティ
  3. スケジュール変更の度合い・スケジュール遵守の度合い

を考慮して採点される。

以下はその詳細である。

入力1

最初に入力として

  1. 作業期間
  2. 地理情報(グラフ)
  3. ワーカーの情報
  4. 全てのジョブの情報
  5. 天候に関する情報
  6. スケジュールに関する情報

が以下の形式で標準入力から与えられる。