(57)【要約】【課題】タスクの実行に必要なリソース量をより正確に求めることを目的とする。【解決手段】タスクの対象範囲のサイズ及びタスクの対象物の状態に基づいて、タスクの実行に係る必要リソース量を決定するリソース量決定手段と、リソース量決定手段により決定された必要リソース量を出力するよう制御する出力制御手段とを有する。【選択図】図１１
2020030668.tif 000002
【特許請求の範囲】
【請求項１】
タスクの対象範囲のサイズ及びタスクの対象物の状態に基づいて、タスクの実行に係る必要リソース量を決定するリソース量決定手段と、
前記リソース量決定手段により決定された必要リソース量を出力するよう制御する出力制御手段と
を有することを特徴とする情報処理装置。
【請求項２】
タスクの対象範囲のサイズ及び前記対象物の状態に基づいて、タスク量を特定するタスク量特定手段をさらに有し、
前記リソース量決定手段は、前記タスク量と、単位タスク量当たりの必要リソース量と、に基づいて、前記必要リソース量を決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記タスク量特定手段は、さらに複数の対象物それぞれの位置に基づいて、前記タスク量を特定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記タスク量特定手段は、さらに複数の対象物それぞれの状態に基づいて、タスク量を特定することを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記タスク量特定手段は、さらにタスクの実行時間に基づいて、前記タスク量を特定することを特徴とする請求項２乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記リソース量決定手段は、複数のタスクそれぞれに対する必要リソース量を決定し、
前記リソース量決定手段により決定された必要リソース量を、予め設定されたリソース上限量に基づいて調整する調整手段をさらに有することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記調整手段は、前記リソース量決定手段により決定された必要リソース量の合計値が前記リソース上限量よりも大きい場合に、少なくとも１つのタスクの必要リソース量を削減することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
各タスクの重要度に基づいて、削減対象のタスクを選択する第１のタスク選択手段をさらに有し、
前記調整手段は、前記第１のタスク選択手段により決定されたタスクの必要リソース量を削減することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記調整手段は、前記リソース量決定手段により決定された必要リソース量の合計値が前記リソース上限量よりも小さい場合に、前記決定手段により決定された、少なくとも１つのタスクの必要リソース量を増加させることを特徴とする請求項６乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
各タスクの重要度に基づいて、増加させるタスクを選択する第２のタスク選択手段をさらに有し、
前記調整手段は、前記第２のタスク選択手段により選択されたタスクの必要リソース量を増加させることを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記必要リソース量は、タスクを実行する作業者の数であることを特徴とする請求項１乃至１０の何れか１項に記載の情報処理装置。
【請求項１２】
前記タスクの対象物は、作物であることを特徴とする請求項１乃至１１の何れか１項に記載の情報処理装置。
【請求項１３】
前記タスクの対象物は、製造物であることを特徴とする請求項１乃至１１の何れか１項に記載の情報処理装置。
【請求項１４】
情報処理装置が実行する情報処理方法であって、
タスクの対象範囲のサイズ及びタスクの対象物の状態に基づいて、タスクの実行に係る必要リソース量を決定するリソース量決定ステップと、
前記リソース量決定ステップにおいて決定された必要リソース量を出力するよう制御する出力制御ステップと
を含むことを特徴とする情報処理方法。
【請求項１５】
コンピュータを、請求項１乃至１３の何れか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、圃場においては、作物の生育状態や、気象条件、病害虫の発生などに起因して、様々なタスクが実行される。特に大規模な圃場においては、大量のタスクに対処するために、多数の作業者が必要となり、作業者を管理する圃場管理者という役割が置かれている。圃場管理者は、圃場内で発生するタスクに対して作業者を割り当て、タスクを実行させる。このとき、タスクの規模に対して適切な量の作業者を割り当てられなければ、所定の時間内にタスクが完了しなかったり、時間を持て余す作業者が出たりと、成果や費用の面で問題が発生する。これに対し、特許文献１には、圃場の面積に基づいてタスクの規模を見積もり、タスクの規模と規模あたりの単位リソース量から、タスクの実行に必要なリソース量を算出する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２５４３５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１においては、実際の圃場においてタスクの規模を大きく左右する、作物の生育状態や病害虫の発生具合といった情報を考慮しておらず、算出されるリソース量の精度は高くなかった。
【０００５】
本発明はこのような問題点に鑑みなされたもので、タスクの実行に必要なリソース量をより正確に求めることを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明は、情報処理装置であって、タスクの対象範囲のサイズ及びタスクの対象物の状態に基づいて、タスクの実行に係る必要リソース量を決定するリソース量決定手段と、前記リソース量決定手段により決定された必要リソース量を出力するよう制御する出力制御手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、タスクの実行に必要なリソース量をより正確に求めることができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係る情報処理装置のハードウェア構成図である。
【図２】圃場及びブロックの説明図である。
【図３】情報処理装置の機能構成図である。
【図４】ブロックテーブルのデータ構成例を示す図である。
【図５】作物テーブルのデータ構成例を示す図である。
【図６】作業種別テーブルのデータ構成例を示す図である。
【図７】タスクテーブルのデータ構成例を示す図である。
【図８】作物情報入力画面の一例を示す図である。
【図９】タスク入力画面の一例を示す図である。
【図１０】表示画面の一例を示す図である。
【図１１】必要リソース量管理処理を示すフローチャートである。
【図１２】作業情報係数の説明図である。
【図１３】作業情報係数の説明図である。
【図１４】散在係数の説明図である。
【図１５】製造分野への適用例を示す図である。
【図１６】タスクテーブルのデータ構成例を示す図である。
【図１７】タスク入力画面の一例を示す図である。
【図１８】第２の実施形態に係る必要リソース量管理処理を示すフローチャートである。
【図１９】作業者テーブルのデータ構成例を示す図である。
【図２０】タスク入力画面の一例を示す図である。
【図２１】作業者テーブル及びスキルレベルテーブルのデータ構成例を示す図である。
【図２２】タスクテーブルのデータ構成例を示す図である。
【図２３】累積削減量テーブル及び累積分配量テーブルのデータ構成例を示す図である。
【図２４】表示画面の一例を示す図である。
【図２５】第３の実施形態に係る必要リソース量管理処理を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
（第１の実施形態）
図１は、第１の実施形態に係る情報処理装置１００のハードウェア構成図である。１０１は、コンピュータシステムの制御をつかさどる中央演算装置（以下ＣＰＵと記す）である。ＣＰＵ１０１は制御プログラムに基づいて、情報の演算や加工、各ハードウェアの制御を実行することにより後述する各機能構成、処理を実現する。１０２は、ランダムアクセスメモリ（以下ＲＡＭと記す）であり、ＣＰＵ１０１の主メモリとして、実行プログラムのロードやプログラム実行に必要なワークメモリとして機能する。１０３は、ＣＰＵ１０１の動作処理手順を規定する制御プログラムを記録しているリードオンリーメモリー（以下ＲＯＭ）である。ＲＯＭ１０３には、コンピュータシステムの機器制御を行うシステムプログラムである基本ソフト（ＯＳ）を記録したプログラムＲＯＭとシステムを稼動するために必要な情報などが記録されたデータＲＯＭがある。ＲＯＭ１０３の代わりに後述のＨＤＤ１０７を用いる場合もある。なお、後述する情報処理装置１００の機能や処理は、ＣＰＵ１０１がＲＯＭ１０３又はＨＤＤ１０７に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
【００１０】
１０４は、ネットワークインターフェース（以下ＮＥＴＩＦと記す）であり、ネットワークを介して送受信されるデータの入出力制御を行う。１０５は、表示デバイスであって、例えば、ＣＲＴディスプレイや、液晶ディスプレイ等である。１０６は、ユーザからの操作指示を受け付けるための入力デバイスであり、例えば、タッチパネル、キーボード、マウスなどである。１０７は、ハードディスクドライブ（ＨＤＤ）であり、記憶装置である。ＨＤＤ１０７は、アプリケーションプログラムなどのデータ保存用に用いられる。１０８は、上述した各ユニット間を接続するための入出力バス（アドレスバス、データバス、及び制御バス）である。
【００１１】
本実施形態の情報処理装置１００は、圃場で発生する、生育状態の観察や病害虫への対応等のタスクに必要なリソースを管理する。図２は、圃場及びブロックの説明図である。２０１は、圃場である。２０２はブロックである。圃場２０１は、複数のブロック２０２に分けられている。本実施形態においては、作付される作物の品種や生育方針の違い、地理的な条件などによって、圃場２０１は各ブロック２０２に分けられているものとする。すなわち、各ブロック２０２は、作付される作物の品種や地理的条件等により他にブロックと区別される圃場内の部分領域である。なお、本実施形態においては、１つのブロックに対し１種類の作物が作付されているものとする。
【００１２】
図３は、情報処理装置１００の機能構成図である。情報処理装置１００は、取得部３０１と、データ記憶部３０２と、タスク量算出部３０３と、リソース量算出部３０４と、表示処理部３０５と、を有している。取得部３０１は、ユーザ操作に応じて各種情報を取得する。データ記憶部３０２は、各種情報を記憶する。データ記憶部３０２は、例えば、ブロックテーブル、作物テーブル、作業種別テーブル、タスクテーブル等を記憶している。各テーブルについては後に詳述する。なお、データ記憶部３０２は、ＨＤＤ１０７等により実現される。
【００１３】
タスク量算出部３０３は、タスク量を算出する。ここで、タスクとは、作業のことである。タスク量とは、実行すべきタスクの量である。タスク量は、タスクの対象範囲のサイズやタスクの対象物（作物）の状態に応じて算出される。リソース量算出部３０４は、タスク量算出部３０３により算出されたタスク量に基づいて、必要リソース量を算出する。ここで、必要リソース量は、タスクを実行するために必要なリソースの量である。本実施形態においては、必要リソース量は、作業者の人数とする。なお、必要リソース量は、タスクの実行主体の量であればよく、作業者の人数に限定されるものではない。表示処理部３０５は、各種情報を表示デバイス１０５に表示するよう制御する。表示処理部３０５は、例えば、リソース量算出部３０４により算出された必要リソース量を表示するよう制御する。
【００１４】
図４は、ブロックテーブル４００のデータ構成例を示す図である。ブロックテーブル４００は、ブロック毎の複数のレコードを記憶している。各レコードは、ブロックＩＤ４０１と、ジオメトリ情報４０２と、面積４０３と、を紐付けた情報である。ブロックテーブル４００のレコードを適宜ブロック情報と称する。ブロックＩＤは、ブロックテーブル０４０においてブロックを一意に識別する情報である。ジオメトリ情報４０２は、ブロックの輪郭を表す情報である。ジオメトリ情報は、ＧｅｏＪＳＯＮなどの公知のフォーマットで記述すればよい。面積４０３は、対応するブロックの面積である。
【００１５】
図５は、作物テーブル５００のデータ構成例を示す図である。作物テーブル５００は、作物毎の複数のレコードを記憶している。各レコードは、作物ＩＤ５０１と、観察日５０２と、ブロックＩＤ５０３と、作業種別ＩＤ５０４と、観察値５０５と、座標情報５０６と、を紐付けた情報である。作物テーブル５００のレコードを適宜作物情報と称する。作物ＩＤ５０１は、作物を一意に識別する情報である。観察日５０２は、対応する作物の観察が実施された日付である。ブロックＩＤ５０３は、作物が含まれるブロックの識別情報である。ブロックＩＤ５０３により、ブロックテーブル４００のレコードと紐付けられる。
【００１６】
作業種別ＩＤ５０４は、作物に対して行われる作業の種別を識別する情報である。作業種別としては、うどん粉病、べと病、生育状態の観察、等が挙げられる。うどん粉病に対する作業（タスク）は、うどん粉病の予防や治療のための作業である。観察値５０５は、作物の指標値である。観察値５０５は、作業種別ＩＤ５０４により識別される作業に対応した値である。例えば、作業種別がうどん粉病である場合には、観察値５０５は、うどん粉病の進行を示す指標値となり、作業種別が生育状態である場合には、観察値５０５は、生育状態を示す指標値となる。
【００１７】
座標情報５０６は、作物の位置を示す情報である。座標情報５０６は、地理座標系における経緯度で表されるものとする。他の例としては、座標情報５０６は、ブロック内の任意の点を原点とした相対座標で表現してもよい。
【００１８】
作物テーブル５００の各レコードは、作物を観察することにより得られる、作物の状態を表す情報である。例えば、作物ＩＤ「１」のレコードは、作物がブロックＩＤ「５」のブロックに属し、座標（ｘ１，ｙ１）に位置することを示している。また、作物ＩＤ「１」のレコードは、作業種別ＩＤ「３」の作業に係る観察値が「２」であることを示している。
【００１９】
図６は、作業種別テーブル６００のデータ構成例を示す図である。作業種別テーブル６００は、作業種別毎のレコードを記憶している。各レコードは、作業種別ＩＤ６０１と、作業種別名６０２と、単位作業者数６０３と、を紐付けた情報である。作業種別テーブル６００のレコードを適宜作業種別情報と称する。作業種別ＩＤ６０１は、作業種別を識別する情報である。作業種別名６０２は、作業種別の名称を示す情報である。単位作業者数６０３は、タスクの実行に必要となる単位タスク量当たりの作業者の数である。ここで、作業者の数は、リソース量に相当する。なお、単位タスク量当たりの必要リソース量は、過去に実施されたタスクの実績に基づいて設定されるものとする。
【００２０】
図７は、タスクテーブル７００のデータ構成例を示す図である。タスクテーブル７００は、各タスクのレコードを記憶している。各レコードは、タスクＩＤ７０１と、タスク名７０２と、ブロックＩＤ７０３と、作業種別ＩＤ７０４と、を紐付けた情報である。タスクＩＤ７０１は、タスクを一意に識別する情報である。タスク名７０２は、タスクの内容を表した名称である。ブロックＩＤ７０３は、タスクの対象となるブロックのブロックＩＤである。作業種別ＩＤ７０４は、タスクとしての作業の作業種別ＩＤである。
【００２１】
なお、ブロックテーブル４００、作物テーブル５００、作業種別テーブル６００は、管理者等により予め設定され、必要に応じて適宜更新されるものとする。一方、タスクテーブル７００には、ユーザによるタスク入力に応じて、レコードが追加される。
【００２２】
図８は、作物の観察を通して得られた情報を入力する作物情報入力画面８００の一例を示す図である。８０１は、作物の観察を実施した日付を入力するテキストフィールドである。ユーザの利便性のため、カレンダー形式等の入力ＵＩを用いてもよい。８０２は、作物情報種別を選択するドロップダウンリストである。８０３は、作物の観察値を入力するテキストフィールドである。８０４は、観察対象である作物の座標情報とその作物が属すブロックを指定する領域である。ユーザが入力デバイス１０６を用いて領域８０４の座標を指定すると、ＣＰＵ１０１は、指定された座標をキーとしてブロックテーブル４００を検索し、指定座標を内部に含むブロックのレコードを特定する。８０５は、ブロックを表すポリゴンである。本実施形態においては、ブロックの領域内にブロック番号を表示することで、ユーザがブロックを一意に識別できるようにしている。８０６は、作物情報を表すマーカである。マーカは、領域８０４において指定された座標に表示される。８０７は、８０１〜８０３の入力値および領域８０４で指定されたブロックのブロックＩＤをＨＤＤ１０７に保存するためのボタンである。
【００２３】
図９は、タスク入力画面９００の一例を示す図である。９０１は、タスク名を入力するテキストフィールドである。９０２は、タスクの対象ブロックを選択するドロップダウンリストである。９０３は、作業種別を選択するドロップダウンリストである。ユーザによってドロップダウンリスト９０３において、作業種別が選択されると、ＣＰＵ１０１は、作業種別をキーとして、作業種別テーブル６００において、対応するレコードを検索する。検索結果より、単位作業者数９０４には、検索されたレコードの単位作業者数６０３が表示される。９０５は、圃場、ブロックおよび作物情報を表すマーカを地図上に表示する領域である。９０６は、作物情報を表すマーカである。マーカの色の濃淡は、作物の観察値の大小を表す。マーカとして地図上に表示する作物情報は、ドロップダウンリスト９０３において入力された作業種別ＩＤをキーとして作物テーブル５００を検索することで得られる。
【００２４】
領域９０５に作物情報に応じたマーカ９０６を重ねて表示することでユーザは、タスクの対象となる作物の観察値を知ることができる。９０７は、テキストフィールド９０１の入力値を保存するためのボタンである。ここで保存される値は、タスクテーブル７００にレコードとして格納される。９０８は、テキストフィールド９０１の入力値を保存し、次のタスクの入力を続けるためのボタンである。ボタン９０８は、ボタン９０７の機能に加え、９０１〜９０５の内容を初期化し、次のタスクが入力可能な状態にする機能を持つ。
【００２５】
図１０は、必要リソース量を示す表示画面１０００の一例を示す図である。１００１は、必要リソース量をタスク毎に並べた表である。１００２は、タスクの名前である。１００３は、タスクが対象とするブロックのブロックＩＤである。１００４は、必要リソース量である。１００５、１００６、１００７は、必要リソース量１００４の算出に用いる係数である。係数については後述する。１００８は、必要リソース量を地図上に表示されたブロックに対して重畳表示する領域である。１００９は、ブロックに重畳表示された必要リソース量である。
【００２６】
図１１は、情報処理装置１００による必要リソース量管理処理を示すフローチャートである。Ｓ１１０１において、取得部３０１は、１以上のタスクの入力を受け付ける。なお、ユーザは、図９を参照しつつ説明したタスク入力画面９００において、タスクに係る情報を入力する。取得部３０１は、取得したタスクの情報をタスクテーブル７００（図７）に格納する。続いて、ＣＰＵ１０１は、Ｓ１１０２〜Ｓ１１１０の処理をタスクの数だけ繰り返す。なお、Ｓ１１０２〜Ｓ１１１０の処理は、タスク量の算出（Ｓ１１０２〜Ｓ１１０７）と、必要リソース量の算出（Ｓ１１０８〜Ｓ１１０９）と、必要リソース量の出力（Ｓ１１１０）の３つの処理に大別される。なお、タスク量の算出及び必要リソース量の算出の処理は、タスク量特定処理及びリソース量決定処理の一例である。
【００２７】
まず、タスク量の算出（Ｓ１１０２〜Ｓ１１０７）について説明する。Ｓ１１０２において、タスク量算出部３０３は、入力されたタスクのブロックＩＤ７０３（図７）を検索キーとし、ブロックテーブル４００（図４）において、ブロックＩＤ７０３に対応するブロック情報を取得する。次に、Ｓ１１０３において、タスク量算出部３０３は、入力されたタスクの作業種別ＩＤ７０４を検索キーとし、作物テーブル５００（図５）において、作業種別ＩＤ７０４に対応する作物情報を取得する。なお、作物テーブル５００において、作業種別ＩＤ７０４に対応する作物情報が複数存在する場合には、複数の作物情報を取得する。次に、Ｓ１１０４において、タスク量算出部３０３は、Ｓ１１０３において取得した作物情報のうち、作業対象となる作物情報の件数をカウントする。例えば、タスクがうどん粉病の場合には、うどん粉病が発症していない作物はカウントの対象外となる。一方、タスクが育成状態の場合には、すべての作物がカウントの対象となる。ここで、作物情報の件数は、タスクの対象範囲のサイズに相当する指標値である。
【００２８】
次に、Ｓ１１０５において、タスク量算出部３０３は、作業情報係数を算出する。作物の観察値の大小や観察値のばらつきがタスク量に影響を及ぼすものと考えられる。これに対し、タスク量算出部３０３は、作物の観察値の大小に応じた第１の係数と、観察値のばらつきに応じた第２の係数とを作物情報係数として算出する。
【００２９】
図１２及び図１３は、作業情報係数の説明図である。ここでは、うどん粉病を例に説明する。白丸は、健康な作物を示し、数字が入った丸は、うどん粉病の作物を示している。丸の中の数字は、うどん粉病に係る観察値を示している。本実施形態においては、１〜５の５段階の数字で示されるものとする。観察値が大きくなる程、被害の程度が重いことを示す。まず、作業情報係数のうち第１の係数について図１２を参照しつつ説明する。図１２（ａ）、（ｂ）は、それぞれ同じグループの作物を示す図である。両者において、作物の位置及び数は、等しいものとする。また、両者において、うどん粉病の作物の位置及び数も等しいものとする。ただし、両者において、うどん粉病の観察値が異なるものとする。図１２（ａ）においては、観察値は２、図１２（ｂ）においては、観察値５である。このような観察値の大きさが第１の係数として算出される。
【００３０】
農業分野においては、被害の程度に見合った対応（タスク）が求められる。言い換えれば、被害の程度によって対応の種類や規模が変化するということである。ここでは、被害の程度が大きいほど、取るべき対応の規模が大きくなるとする。これに対応し、タスク量は、図１２（ａ）に示す場合に比べ、図１２（ｂ）に示す場合の方が大きくなるとして、タスク量算出部３０３は、観察値が大きくなる程大きくなるような値を第１の係数αａとして算出する。すなわち、第１の係数は、観察値の大小に応じた係数である。タスク量算出部３０３は、（式１）により第１の係数αａを求める。ここで、ｏ１，ｏ２，ｏ３，…，ｏｎは、ｎ個の作物情報の観察値である。ｎは、Ｓ１１０４において算出された件数である。ｆａは、引数ｏ１，ｏ２，ｏ３，…，ｏｎの代表値を求める関数である。代表値としては、平均や最大値、中央値を用いることができる。
αａ=ｆａ（ｏ１，ｏ２，ｏ３，…，ｏｎ）      …（式１）
【００３１】
なお、他の例としては、タスク量算出部３０３は、被害の程度と第１の係数αａとを対応付けたテーブルを参照して、αａを求めてもよい。また、他の例としては、タスク量算出部３０３は、上記とは逆に被害が大きいほどαａが小さくなるような関数を用いてαａを求めてもよい。被害が大きくなりすぎて作物を廃棄することしかできないような場合に適している。
【００３２】
次に、第２の係数について図１３を参照しつつ説明する。図１３（ａ）、（ｂ）は、それぞれ同じグループの作物を示すものとする。両者において、作物の位置及び数は等しいものとする。また、両者において、うどん粉病の作物の位置及び数も等しいものとする。ただし、両者において、うどん粉病の観察値が異なるものとする。図１３（ａ）においては、うどん粉病の作物の観察値はすべて２であるのに対し、図１３（ｂ）においては、うどん粉病の作物の観察値はばらついている。図１３（ｂ）の例のように、被害の程度がばらつくと、対応方法の種類が増加する。また、タスクの実行時には対応方法の切り替えに係るオーバーヘッドが大きくなる。このため、タスク量は、観察値のばらつきが大きい程、より大きくなる。
【００３３】
これに対応し、タスク量算出部３０３は、観察値のばらつきが大きくなる程大きくなるような値を第２の係数αｖとして算出する。すなわち、第２の係数αｖは、ばらつきを表現する統計量を示す係数である。タスク量算出部３０３は、具体的には、（式２）により第２の係数αｖを求める。ここで、ｆｖは、引数ｏ１，ｏ２，ｏ３，…，ｏｎのばらつきを表現する統計量を求める関数である。ｆｖは、具体的には、分散や標準偏差等の統計量を求める関数であればよい。
αｖ=ｆｖ（ｏ１，ｏ２，ｏ３，…，ｏｎ）      …（式２）
【００３４】
図１１に戻り、作業情報係数の算出の後、Ｓ１１０６において、タスク量算出部３０３は、散在係数を算出する。ここで、散在係数とは、作物の地理的なばらつきがタスクの規模に影響を及ぼすものと捉え、その影響の大きさを係数として表現したものである。図１４を参照しつつ散在係数について説明する。図１４（ａ）、（ｂ）は、それぞれ同じグループの作物を示すものとする。両者において、うどん粉病の作物の数及び観察値は等しく、うどん粉病の作物の位置が異なるものとする。図１４（ａ）の例では、うどん粉病の作物は１箇所に集まっているのに対し、図１４（ｂ）の例では、うどん粉病の作物がグループ全体に点在している。図１４（ａ）のように、１箇所に集まっている場合には、作業者は最小の移動でうどん粉病のすべての作物に到達できる。一方で、図１４（ｂ）のように、うどん粉病の作物が点在している場合には、作業者の移動量は図１４（ａ）の場合に比べて大きくなる。この移動量が大きい程タスク量が大きくなる。
【００３５】
これに対応し、タスク量算出部３０３は、うどん粉病の作物の存在範囲が大きい程大きくなるような値を第３の係数βｖとして算出する。すなわち、第３の係数βｖは、作業を要する作物の存在範囲の大きさに応じた係数である。タスク量算出部３０３は、具体的には、（式３）により第３の係数βｖを求める。
βｖ=ｇ（ｐ１，ｐ２，ｐ３，…，ｐｎ）      …（式３）
ここで、ｐ１，ｐ２，ｐ３，…，ｐｎは、作物の座標ベクトルである。ｇは、引数ｐ１，ｐ２，ｐ３，…，ｐｎの地理的なばらつきを表現する統計量を求める関数である。ｇ（ｐ１，ｐ２，ｐ３，…，ｐｎ）の算出には（式４）を利用することができる。ここで、ｃは、作物の座標ベクトルｐ１，ｐ２，ｐ３，…，ｐｎの重心である。
【数１】
2020030668.tif 000003
【００３６】
図１１に戻り、散在係数の算出の後、Ｓ１１０７において、タスク量算出部３０３は、タスク量を算出する。タスク量算出部３０３は、具体的には（式５）によりタスク量Ｓｔを算出する。なお、Ｓｂは、作物情報の件数である。
Ｓｔ＝Ｓｂ＊αａ＊αｖ＊βｖ      …（式５）
以上でタスク量の算出（Ｓ１１０２〜Ｓ１１０７）が完了する。続いて、リソース量算出部３０４は、必要リソース量の算出を行う。すなわち、Ｓ１１０８において、リソース量算出部３０４は、入力されたタスクの作業種別ＩＤ７０４を検索キーとし、作業種別テーブル６００において、作業種別ＩＤ７０４に対応付けられた作業種別情報を取得する。取得した作業種別情報の単位作業者数６０３を単位タスク量当たりの必要リソース量として取得する。
【００３７】
次に、Ｓ１１０９において、リソース量算出部３０４は、タスク量Ｓｔと、単位タスク量当たりの必要リソース量Ｒｕと、に基づいて、（式６）を用いて、入力されたタスクに係る必要リソース量Ｒｔを算出する。ここで、タスク量Ｓｔは、Ｓ１１０７において算出された値であり、単位タスク量当たりの必要リソース量Ｒｔは、Ｓ１１０８において取得した値である。
Ｒｔ＝Ｓｔ＊Ｒｕ      …（式６）
【００３８】
Ｓ１１１０において、表示処理部３０５は、Ｓ１１０９において算出された必要リソース量を表示デバイス１０５に表示するよう制御する。具体的には、表示処理部３０５は、必要リソース量を示す表示画面１０００を表示するよう制御する。
【００３９】
以上のように、本実施形態に係る情報処理装置１００は、タスクの対象範囲のサイズ及び対象物の状態に基づいて、タスクの実行に係る必要リソース量を決定し、これを出力することができる。このように、情報処理装置１００は、タスクの実行に必要なリソース量をより正確に求めることができる。
【００４０】
なお、第１の変形例としては、リソース量算出部３０４は、複数のタスクが入力された場合には、各タスクの必要リソース量から全タスクの必要リソース量の合計値等の統計値を算出してもよい。そして、表示処理部３０５は、各タスクの必要リソース量と共に、統計値を表示してもよい。
【００４１】
また、第２の変形例としては、必要リソース量の出力先は、表示デバイス１０５に限定されるものではない。他の例としては、情報処理装置１００は、外部装置に出力してもよい。
【００４２】
第３の変形例について説明する。実施形態においては、情報処理装置１００は、タスク量の算出に当たり、タスクの実行範囲の指標として作物情報の件数を用いたが、これに替えて、作物情報が分布する面積を用いてもよい。この場合、情報処理装置１００は、作物情報の座標情報５０６から凸包を算出し、その面積を求めればよい。
【００４３】
第４の変形例について説明する。本実施形態においては、必要リソース量の算出を農業分野に適用した場合を例に説明したが、適用分野は農業に限定されるものではない。図１５を参照しつつ、必要リソース量の算出を製造分野における製造機器（製造物）のメンテナンス業務へ適用した例を説明する。１５０１は、製造拠点を表す。１５０１は、本実施形態におけるブロック２０２に対応する。１５０２は、製造機器を表す。１５０２は、本実施形態における作物に対応する。作物の観察によって作物情報が入力されるように、製造機器のモニタリングによって製造機器情報が入力される。ユーザがタスクを入力すると、必要リソース量管理処理により、タスクの実行に係る必要リソース量が算出される。作物情報係数や散在係数の概念及び算出方法は、作物を製造機器と読み替えることで適用することが可能である。
【００４４】
（第２の実施形態）
第２の実施形態に係る情報処理装置１００は、タスクの完了目標日時が決められている場合に、タスクの完了目標日時に間に合うようにタスクを完了させるための必要リソース量を算出する。以下、第２の実施形態に係る情報処理装置１００について、第１の実施形態に係る情報処理装置１００と異なる点を主に説明する。
【００４５】
図１６は、第２の実施形態に係るタスクテーブル１６００のデータ構成例を示す図である。タスクテーブル１６００は、第１の実施形態において図７を参照しつつ説明したタスクテーブル７００とほぼ同様である。ただし、タスクテーブル１６００のレコードにおいては、タスクＩＤ７０１に完了目標日時１６０１がさらに紐付けられている。
【００４６】
図１７は、タスク入力画面１７００の一例を示す図である。タスク入力画面１７００は、図９を参照しつつ説明した、第１の実施形態に係るタスク入力画面９００の構成に加え、完了目標日時を入力するためのテキストフィールド１７０１を有している。なお、ユーザの利便性のため、カレンダー様の入力ＵＩを用いてもよい。
【００４７】
図１８は、第２の実施形態に係る情報処理装置１００による必要リソース量管理処理を示すフローチャートである。なお、図１８に示す各処理のうち、図１１を参照しつつ説明した第１の実施形態に係る必要リソース量管理処理の各処理と同一の処理には同一の番号を付している。本実施形態においては、ＣＰＵ１０１は、タスクの入力を受け付けた後、一連の処理（Ｓ１８０１〜Ｓ１８０３、Ｓ１１０２〜Ｓ１１０７、Ｓ１８０４、Ｓ１１１０）をタスクの数だけ繰り返す。
【００４８】
Ｓ１８０１において、取得部３０１は、入力されたタスクから完了目標日時１６０１を取得する。次に、Ｓ１８０２において、タスク量算出部３０３は、猶予時間を算出する。ここで、猶予時間とは、処理時点の日時から完了目標日時までの時間である。猶予時間は、タスクの実行時間に相当する。タスク量算出部３０３は、（式７）により猶予時間Ｔｅを算出する。ここで、完了目標日時をＴｄ、処理時点の日時をＴｃとする。
Ｔｅ＝Ｔｄ−Ｔｃ      …（式７）
【００４９】
次に、Ｓ１８０３において、タスク量算出部３０３は、作業効率を取得する。なお、作業効率は、情報処理装置１００において予め設定されているものとする。ここで、作業効率は、作業者が１時間当たりに実行可能なタスク量である。なお、本実施形態においては、作業者によらず作業効率は一定であるものとする。Ｓ１８０３の処理ののち、ＣＰＵ１０１は、処理をＳ１１０２へ進める。そして、ＣＰＵ１０１は、Ｓ１１０２〜Ｓ１１０７の処理の後、処理をＳ１８０４へ進める。Ｓ１８０４において、タスク量算出部３０３は、タスク量Ｓｔと、猶予時間Ｔｅと、作業効率Ｅと、に基づいて、（式８）により必要リソース量Ｒｔを算出する。ＣＰＵ１０１は、Ｓ１８０４の処理の後、処理をＳ１１１０へ進める。
Ｒｔ＝Ｓｔ／（Ｔｅ＊Ｅ）      …（式８）
【００５０】
なお、第２の実施形態に係る情報処理装置１００のこれ以外の構成及び処理は、第１の実施形態に係る情報処理装置１００の構成及び処理と同様である。以上のように、第２の実施形態の情報処理装置１００は、完了目標日時に間に合うようにタスクを完了させるための必要リソース量を算出することができる。
【００５１】
第２の実施形態の変形例について説明する。情報処理装置１００は、作業者毎に異なる作業効率を管理していてもよい。図１９は、作業効率テーブル１９００のデータ構成例を示す図である。作業効率テーブル１９００は、作業者毎のレコードを記憶している。各レコードは、作業者ＩＤ１９０１と、作業者名１９０２と、作業効率１９０３と、を紐付けた情報である。図２０は、タスク入力画面２０００の一例を示す図である。タスク入力画面２０００は、図１７を参照しつつ説明した、第２の実施形態に係るタスク入力画面１７００の構成に加え、作業者を選択するためのセレクトボックス２００１を有している。セレクトボックス２００１には、作業効率テーブル１９００に記憶されている作業者が一覧表示される。ユーザは、セレクトボックス２００１から１以上の作業者を選択することができる。そして、Ｓ１８０３において、タスク量算出部３０３は、作業効率テーブル１９００において、ユーザにより選択された作業者に対応付けられた作業効率１９０３を取得する。
【００５２】
また、他の例としては、情報処理装置１００は、図２１（ａ）に示す作業者テーブル２１００と図２１（ｂ）に示すスキルレベルテーブル２１１０とを記憶していてもよい。作業者テーブル２１００は、作業者毎のレコードを記憶している。各レコードは、作業者ＩＤ２１０１と、作業者名２１０２と、スキルレベル２１０３と、を紐付けた情報である。また、スキルレベルテーブル２１１０は、スキルレベル毎のレコードを記憶している。スキルレベル毎の各レコードは、スキルレベル２１１１と、作業効率２１１２とを紐付けた情報である。この場合、タスク量算出部３０３は、作業者テーブル２１００において、ユーザにより選択された作業者に対応するスキルレベル２１０３を特定する。そして、タスク量算出部３０３は、スキルレベルテーブル２１１０において、スキルレベル２１０３に対応する作業効率２１１２を取得すればよい。
【００５３】
（第３の実施形態）
第３の実施形態に係る情報処理装置１００は、利用可能なリソース量の上限値が決まっている場合に、上限値を超えないよう必要リソース量を調整する。第３の実施形態に係る情報処理装置１００はまた、算出された必要リソース量が上限値を下回る場合に、余剰リソースを他のタスクに分配する。
【００５４】
図２２は、第３の実施形態に係るタスクテーブル２２００のデータ構成例を示す図である。タスクテーブル２２００は、第１の実施形態において図７を参照しつつ説明したタスクテーブル７００とほぼ同様である。ただし、タスクテーブル２２００のレコードにおいては、タスクＩＤ７０１に重要度２２０１がさらに紐付けられている。重要度２２０１は、リソース合計量がリソース上限量を上回った場合において、各タスクに割り当てられた必要リソース量から超過分を削減するにあたり、どのタスクを削減対象として選択すべきかを表す指標である。リソースの削減対象となるタスクは重要度の低い順に選択される。また重要度２２０１は、リソース合計量がリソース上限量を下回った場合において、各タスクに割り当てられた必要リソース量に対して余剰分を分配するにあたり、どのタスクを優先すべきかを表す指標としても利用される。リソースの分配対象となるタスクは重要度の高い順に選択される。
【００５５】
図２３（ａ）は、累積削減量テーブル２３００のデータ構成例を示す図である。累積削減量テーブル２３００は、後述の超過リソースの調整処理において利用される一時データを格納するテーブルである。累積削減量テーブル２３００のレコードは、タスクＩＤ２３０１と、必要リソース量２３０２と、累積削減量２３０３と、を紐付けた情報である。必要リソース量２３０２は、対応するタスクに係る必要リソース量である。累積削減量２３０３は、必要リソース量２３０２から減じる量であり、調整処理により設定される値である。
【００５６】
図２３（ｂ）は、累積分配量テーブル２３１０のデータ構成例を示す図である。累積分配量テーブル２３１０は、後述の余剰リソースの調整処理において利用される一時データを格納するテーブルである。累積分配量テーブル２３１０のレコードは、タスクＩＤ２３１１と、必要リソース量２３１２と、累積分配量２３１３と、を紐付けた情報である。累積分配量２３１３は、必要リソース量２３１２に対して加算する量であり、調整処理により設定される値である。
【００５７】
図２４（ａ）、（ｂ）は、必要リソース量を示す表示画面２４００，２４１０を示す図である。図２４（ａ）、（ｂ）の表示画面２４００，２４１０は、第１の実施形態において図１０を参照しつつ説明した表示画面１０００に対応している。図２４（ａ）の表示画面２４００は、調整処理として必要リソース量の削減が行われた場合に表示される画面である。２４０１は、タスクの重要度である。２４０２は、必要リソース量（必要人数）である。なお、必要リソース量２４０２は、リソース調整が行われた後の値である。括弧内の値は、削減されたリソース量を表す。図２４（ｂ）の表示画面２４１０は、調整処理として必要リソース量の分配が行われた場合に表示される画面である。２４１１は、タスクの重要度である。２４１２は、必要リソース量（必要人数）である。なお、必要リソース量２４１２は、リソース調整が行われた後の値である。括弧内の値は、配分されたリソース量を表す。
【００５８】
図２５は、第３の実施形態に係る情報処理装置１００による必要リソース量管理処理を示すフローチャートである。なお、図１８に示す各処理のうち、図１１を参照しつつ説明した第１の実施形態に係る必要リソース量管理処理の各処理と同一の処理には同一の番号を付している。本実施形態においては、ＣＰＵ１０１は、Ｓ１１０１の処理の後、処理をＳ２５０１へ進める。Ｓ２５０１において、リソース量算出部３０４は、リソース合計量を０に初期化する。ここで、リソース合計量は、各タスクに割り当てられた必要リソース量の合計値である。リソース合計値は、一時データとして管理される。ＣＰＵ１０１は、Ｓ２５０１の処理の後、一連の処理（Ｓ１１０２〜Ｓ１１０９、Ｓ２５０２）をタスクの数だけ繰り返す。
【００５９】
Ｓ１１０９の処理の後、Ｓ２５０２において、リソース量算出部３０４は、Ｓ１１０９において算出された必要リソース量をリソース合計値に加算する。ＣＰＵ１０１は、一連の処理が終了すると、処理をＳ２５０３へ進める。Ｓ２５０３において、リソース量算出部３０４は、リソース合計量とリソース上限量を比較する。ここで、リソース上限量は、予め設定された値である。リソース量算出部３０４は、両者が等しい場合には（Ｓ２５０３でＹＥＳ）、処理をＳ２５２０へ進める。リソース量算出部３０４は、リソース合計量がリソース上限量よりも大きい場合には（Ｓ２５０３でＮＯ、Ｓ２５０４でＹＥＳ）、処理をＳ２５１３へ進める。リソース量算出部３０４は、リソース合計量がリソース上限量以下の場合には（Ｓ２５０３でＮＯ、Ｓ２５０４でＮＯ）、処理をＳ２５０６へ進める。
【００６０】
Ｓ２５０６〜Ｓ２５１２の処理は、リソース合計量がリソース上限量以下の場合の処理であり、余剰分のリソースを、各タスクに分配する処理である。Ｓ２５０６において、リソース量算出部３０４は、累積分配量テーブル２３１０を初期化する。具体的には、リソース量算出部３０４は、タスクＩＤ２３１１に入力されたタスクのタスクＩＤ、必要リソース量２３１２に入力されたタスクに割り当てられた必要リソース量、累積分配量２３１３に「０」を格納する。
【００６１】
次に、Ｓ２５０７において、リソース量算出部３０４は、リソース合計量からリソース量上限量を減じることで余剰リソース量を求める。次に、Ｓ２５０８において、リソース量算出部３０４は、余剰リソース量から基準分配量を減じた値と「０」とを比較する。ここで、基準分配量は、タスクに割り当てられた必要リソース量の分配単位であり、予め設定された値である。本実施形態においては、基準分配量は、「１」とする。なお、本実施形態においては、すべてのタスクにおいて基準分配量は等しいものとしているが、他の例としては、重要度に応じて基準分配量を決定してもよい。情報処理装置１００は、例えば関数や対応テーブルを利用することで、重要度から基準分配量を求めてもよい。リソース量算出部３０４は、余剰リソース量から基準削減量を減じた値が「０」よりも大きい場合には（Ｓ２５０８でＹＥＳ）、処理をＳ２５０９へ進める。リソース量算出部３０４は、余剰リソース量から基準削減量を減じた値が「０」以下の場合には（Ｓ２５０８でＮＯ）、処理をＳ２５２０へ進める。
【００６２】
Ｓ２５０９において、リソース量算出部３０４は、タスクテーブル２２００（図２２）を参照し、重要度が最も高いタスクをリソース分配対象として選択する。なお、重要度が最も高いタスクが複数存在する場合には、リソース量算出部３０４は、重要度が最も高いタスクのうち任意の一のタスクをリソース分配対象として選択すればよい。本処理は、タスク選択処理の一例である。次に、Ｓ２５１０において、リソース量算出部３０４は、累積分配量テーブル２３１０（図２３（ｂ））においてリソース分配対象のタスクに対応するレコードを特定する。そして、リソース量算出部３０４は、特定したレコードの必要リソース量２３１２を更新する。具体的には、必要リソース量２３１２に基準分配量「１」を加算する。
【００６３】
次に、Ｓ２５１１において、リソース量算出部３０４は、Ｓ２５１０において特定したレコードの累積分配量２３１３を更新する。具体的には、リソース量算出部３０４は、累積分配量２３１３に基準分配量「１」を加算する。次に、Ｓ２５１２において、リソース量算出部３０４は、余剰リソース量を更新する。具体的には、リソース量算出部３０４は、余剰リソース量から基準分配量「１」を減じる。その後、ＣＰＵ１０１は、Ｓ２５１２の処理の後処理をＳ２５０８へ進める。
【００６４】
一方、Ｓ２５１３〜Ｓ２５１９の処理は、リソース合計量がリソース上限量よりも大きい場合の処理であり、リソース量を削減する処理である。Ｓ２５１３において、リソース量算出部３０４は、累積削減量テーブル２３００を初期化する。具体的には、リソース量算出部３０４は、タスクＩＤ２３０１に入力されたタスクのタスクＩＤ、必要リソース量２３０２に入力されたタスクに割り当てられた必要リソース量、累積削減量２３０３に「０」を格納する。
【００６５】
次に、Ｓ２５１４において、リソース量算出部３０４は、リソース上限量からリソース合計量を減じることで超過リソース量を求める。次に、Ｓ２５１５において、リソース量算出部３０４は、タスクテーブル２２００（図２２）を参照し、重要度２２０１が最も低いタスクをリソース削減対象として選択する。重要度が最も低いタスクが複数存在する場合には、リソース量算出部３０４は、重要度が最も低いタスクのうち任意の一のタスクをリソース削減対象として選択すればよい。本処理は、タスク選択処理の一例である。
【００６６】
次に、Ｓ２５１６において、リソース量算出部３０４は、累積削減量テーブル２３００（図２３（ａ））において、リソース削減対象のタスクに対応するレコードを特定する。そして、リソース量算出部３０４は、特定したレコードの必要リソース量２３０２を更新する。具体的には、リソース量算出部３０４は、必要リソース量２３０２から基準削減量を減じる。ここで、基準削減量は、タスクに割り当てられた必要リソース量の削減単位であり、予め設定された値である。本実施形態においては、基準削減量は、「１」とする。なお、本実施形態においては、すべてのタスクにおいて基準削減量は等しいものとしているが、他の例としては、重要度に応じて基準削減量を決定してもよい。情報処理装置１００は、例えば関数や対応テーブルを利用することで、重要度から基準削減量を求めてもよい。
【００６７】
次に、Ｓ２５１７において、リソース量算出部３０４は、Ｓ２５１６において特定した、累積削減量テーブル２３００のレコードの累積削減量２３０３を更新する。具体的には、リソース量算出部３０４は、累積削減量２３０３に基準削減量「１」を加算する。次に、Ｓ２５１８において、リソース量算出部３０４は、超過リソース量を更新する。具体的には、リソース量算出部３０４は、超過リソース量から基準削減量「１」を減じる。次に、Ｓ２５１９において、リソース量算出部３０４は、超過リソース量と「０」とを比較する。リソース量算出部３０４は、超過リソース量が「０」より大きい場合には（Ｓ２５１９でＹＥＳ）、処理をＳ２５１５へ進める。リソース量算出部３０４は、超過リソース量が「０」以下の場合には（Ｓ２５１９でＮＯ）、処理をＳ２５２０へ進める。Ｓ２５２０において、表示処理部３０５は、各タスクに割り当てられた必要リソース量を表示デバイス１０５に表示するよう制御する。具体的には、表示処理部３０５は、必要リソース量を示す表示画面２４００又は表示画面２４１０を表示するよう制御する。なお、第３の実施形態に係る情報処理装置１００のこれ以外の構成及び処理は、他の実施形態に係る情報処理装置の構成及び処理と同様である。
【００６８】
以上のように、本実施形態の情報処理装置１００は、タスクに割り当てられた必要リソース量の合計量がリソース上限量を上回る場合、超過分を各タスクに割り当てられたリソースから削減する。情報処理装置１００は、逆に、タスクに割り当てられたリソースの合計量が上限リソースを下回る場合、余剰分のリソースを各タスクに配分する。これにより、タスクの数に対して利用可能なリソースが少ない場合、限られたリソースを効果的にタスクに割り振ることが可能となる。逆に、タスクの数に対して利用可能なリソースが多い場合、余剰分のリソースを有効活用することが可能となる。
【００６９】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００７０】
（その他の実施形態）
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェース機器、撮像装置、ｗｅｂアプリケーション等）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００７１】
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード（コンピュータプログラム）を記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【図１】
2020030668.tif 000004
【図２】
2020030668.tif 000005
【図３】
2020030668.tif 000006
【図４】
2020030668.tif 000007
【図５】
2020030668.tif 000008
【図６】
2020030668.tif 000009
【図７】
2020030668.tif 000010
【図８】
2020030668.tif 000011
【図９】
2020030668.tif 000012
【図１０】
2020030668.tif 000013
【図１１】
2020030668.tif 000014
【図１２】
2020030668.tif 000015
【図１３】
2020030668.tif 000016
【図１４】
2020030668.tif 000017
【図１５】
2020030668.tif 000018
【図１６】
2020030668.tif 000019
【図１７】
2020030668.tif 000020
【図１８】
2020030668.tif 000021
【図１９】
2020030668.tif 000022
【図２０】
2020030668.tif 000023
【図２１】
2020030668.tif 000024
【図２２】
2020030668.tif 000025
【図２３】
2020030668.tif 000026
【図２４】
2020030668.tif 000027
【図２５】
2020030668.tif 000028