(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025156054
(43)【公開日】2025-10-14
(54)【発明の名称】機械装備設定プログラム、機械装備設定装置および機械装備設定方法
(51)【国際特許分類】
G06Q 50/02 20240101AFI20251002BHJP
【FI】
G06Q50/02
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2025045502
(22)【出願日】2025-03-19
(31)【優先権主張番号】P 2024051401
(32)【優先日】2024-03-27
(33)【優先権主張国・地域又は機関】JP
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.PYTHON
(71)【出願人】
【識別番号】501203344
【氏名又は名称】国立研究開発法人農業・食品産業技術総合研究機構
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】西村 和志
【テーマコード(参考)】
5L050
【Fターム(参考)】
5L050CC01
(57)【要約】
【課題】費用が最小となる、作物の栽培に必要な各作業の時期毎の実施面積、および用意しておく機械の台数の算出を容易に行えるようにする。
【解決手段】機械装備設定プログラムは、コンピュータに、作物の栽培に必要な複数種類の作業の内容、および当該作業を行う時期を規定する作業暦情報と、各作業で使用する機械の種類および台数を規定する作業・機械情報と、各作業の能率を規定する能率情報と、取得する取得処理と、作業暦情報、作業・機械情報、能率情報、および機械台数の変数に基づいて、各機械の時期毎の作業時間を規定する時間制約式を定義する定義処理と、を実行させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コンピュータに、
作物の栽培に必要な複数種類の作業の内容、および当該作業を行う時期を規定する作業暦情報と、各作業で使用する機械の種類および台数を規定する作業・機械情報と、各作業の能率を規定する能率情報と、取得する取得処理と、
前記作業暦情報、前記作業・機械情報、前記能率情報、および機械台数の変数に基づいて、各機械の時期毎の作業時間を規定する時間制約式を定義する定義処理と、
を実行させる、
機械装備設定プログラム。
【請求項2】
前記コンピュータに、
前記取得処理において、
栽培する作物の種類、および前記作物の作付面積を規定する作物情報と、
前記作物の栽培に必要な作業を規定する作物・作業情報と、
を更に取得させ、
前記作業暦情報、前記作物情報、および前記作物・作業情報に基づいて、各作業の実施面積と前記作付面積との関係を規定する面積制約式を定義する第二定義処理を更に実行させる、
請求項1に記載の機械装備設定プログラム。
【請求項3】
前記コンピュータに、
前記取得処理において、前記作物の栽培に必要な各作業でそれぞれ使用する機械の減価償却費を規定する償却費情報を更に取得させ、
前記作物情報、および前記償却費情報に基づいて、前記作物をそれぞれ必要量栽培するための費用の合計を表す費用関数を定義する第三定義処理と、
前記費用関数が最小となる、各作業の時期毎の実施面積、および用意しておく前記機械の台数を算出する算出処理と、
を実行させる、
請求項2に記載の機械装備設定プログラム。
【請求項4】
前記コンピュータに、前記算出処理において、各機械の1年間の減価償却費の合計である年間機械償却費を更に算出させる、
請求項3に記載の機械装備設定プログラム。
【請求項5】
前記コンピュータに、前記作業暦情報に基づいて、各作業の時期毎の実施面積の変数を内生変数として定義する第四定義処理を更に実行させる、
請求項1に記載の機械装備設定プログラム。
【請求項6】
前記コンピュータに、前記作業・機械情報に基づいて、前記機械台数の変数を内生変数として定義する第五定義処理を更に実行させる、
請求項1に記載の機械装備設定プログラム。
【請求項7】
前記コンピュータに、前記定義処理において、各作業期間の日数及び各作業期間中の作業条件を規定する作業期間情報にさらに基づいて、前記時間制約式を定義する、
請求項1に記載の機械装備設定プログラム。
【請求項8】
作物の栽培に必要な複数種類の作業の内容、および当該作業を行う時期を規定する作業暦情報と、各作業で使用する機械の種類および台数を規定する作業・機械情報と、各作業の能率を規定する能率情報と、取得する取得部と、
前記作業暦情報、前記作業・機械情報、前記能率情報、および機械台数の変数に基づいて、各機械の時期毎の作業時間を規定する時間制約式を定義する定義部と、
を備える、
機械装備設定装置。
【請求項9】
コンピュータが、作物の栽培に必要な複数種類の作業の内容、および当該作業を行う時期を規定する作業暦情報と、各作業で使用する機械の種類および台数を規定する作業・機械情報と、各作業の能率を規定する能率情報と、を取得する取得ステップと、
コンピュータが、前記作業暦情報、前記作業・機械情報、前記能率情報、および機械台数の変数に基づいて、各機械の時期毎の作業時間を規定する時間制約式を定義する定義ステップと、
を含む、
機械装備設定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械装備設定プログラム、機械装備設定装置および機械装備設定方法に関する。
【背景技術】
【0002】
近年の酪農経営は、コントラクターやTMRセンター(以下コントラ等)との結びつきが強くなっている。すなわち、乳牛に与える飼料を生産するために必要な機械の多くをコントラ等の側で用意しておき、酪農経営側から飼料生産を請け負う事例が多くなってきている。一方、酪農経営における経営分析では、従来、コントラ等の利用料金を「所与条件・外生変数」として扱うことが多かった。つまり、酪農経営側は、飼料の生産コストを算出する際、コントラ側が保有する機械の種類や減価償却費を考慮してこなかった。近年の未曾有の酪農経営環境の悪化(円安・インフレ・資材高騰等)により、自給飼料増産の必要性はますます高まっている。また、これに伴い、酪農経営を支えるコントラ側の経営を正確に分析・シミュレートする手法が求められている。
【0003】
コントラ側の経営を分析・シミュレートする各種技術として、例えば非特許文献1には、飼料生産コントラクターにおける対象作物・事業規模に応じた最適な機械装備選択について記載されている。具体的には、所与の作物作付け計画のもとで、費用が最小となるような機械装備を算出する方法として、作業別・時期別作業面積(内生変数)、機械台数(内生変数)、作業能率パラメーター、時期別・機械別の作業時間制約式、作物パラメーター、作業別作業面積と作付面積の面積制約式、機械コストパラメーター、目的関数である費用関数を取得して、費用関数を最小化する作業別及び時期別の作業面積及び機械台数を算出するというものである。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】清水ゆかり・恒川磯雄・西村和志,飼料生産コントラクターにおける対象作物・事業規模に応じた機械装備選択に関する考察―混合整数非線形計画法によるコントラクター経営計画モデルの構築とシミュレーション―,農業経済研究93巻1号,p29-34,2021
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1に記載されたような従来技術では、作業面積及び機械台数を算出するための目的関数や各種制約式を全て手動でプログラム内に記述する必要があった。また、条件(対象の作物、栽培技術等)を変更して分析・シミュレートを行いたい場合は、各種制約式を手動で変更する必要がある。このため、従来技術を用いて作業面積及び機械台数を算出したいユーザは、プログラミング及び関連ライブラリ、並びに最適化手法の専門知識を持ち合わせている必要があった。また、目的関数や制約式(特に一部の制約式)は複雑かつ膨大であることから、専門知識を持ち合わせているユーザであっても、その入力・変更には大変な手間がかかっていた。
【0006】
本発明の一態様は、費用が最小となる、作物の栽培に必要な各作業の時期毎の実施面積、および用意しておく機械の台数の算出を容易に行えるようにすることを目的とする。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、コンピュータに、作物の栽培に必要な複数種類の作業の内容、および当該作業を行う時期を規定する作業暦情報と、各作業で使用する機械の種類および台数を規定する作業・機械情報と、各作業の能率を規定する能率情報と、取得する取得処理と、前記作業暦情報、前記作業・機械情報、前記能率情報、および機械台数の変数に基づいて、各機械の時期毎の作業時間を規定する時間制約式を定義する定義処理と、を実行させる。
【0008】
また、本発明の他の態様に係る機械装備設定装置は、作物の栽培に必要な複数種類の作業の内容、および当該作業を行う時期を規定する作業暦情報と、各作業で使用する機械の種類および台数を規定する作業・機械情報と、各作業の能率を規定する能率情報と、取得する取得部と、前記作業暦情報、前記作業・機械情報、前記能率情報、および機械台数の変数に基づいて、各機械の時期毎の作業時間を規定する時間制約式を定義する定義部と、を備える。
【0009】
また、本発明の他の態様に係る機械装備設定方法は、コンピュータが、作物の栽培に必要な複数種類の作業の内容、および当該作業を行う時期を規定する作業暦情報と、各作業で使用する機械の種類および台数を規定する作業・機械情報と、各作業の能率を規定する能率情報と、を取得する取得ステップと、コンピュータが、前記作業暦情報、前記作業・機械情報、前記能率情報、および機械台数の変数に基づいて、各機械の時期毎の作業時間を規定する時間制約式を定義する定義ステップと、を含む。
【発明の効果】
【0010】
本発明の一態様によれば、費用が最小となる、作物の栽培に必要な各作業の時期毎の実施面積、および用意しておく機械の台数の算出を容易に行うことができる。
【図面の簡単な説明】
【0011】
【
図1】一の発明の実施形態1に係る機械装備設定装置の機能的構成を示すブロック図である。
【
図2】同装置が出力する操作・出力画面の一例を示す図である。
【
図3】同装置が出力する作物情報シートの一例を示す図である。
【
図4】同装置が出力する作物・作業シートの一例を示す図である。
【
図5】同装置が出力する作業・機械シートの一例を示す図である。
【
図6】同装置が出力する減価償却費シートの一例を示す図である。
【
図7】同装置が出力する作業能率シートの一例を示す図である。
【
図8】同装置が出力する作業暦シートの一例を示す図である。
【
図9】同装置が出力する操作・出力画面の他の例を示す図である。
【
図10】一の発明の実施形態2に係る機械装備設定装置の機能的構成を示すブロック図である。
【
図11】同装置が出力する作業期間シートの一例を示す図である。
【
図12】同装置が出力するオペレータシートの一例を示す図である。
【
図13】同装置が出力する減価償却費シートの一例を示す図である。
【
図14】同装置が出力する作業能率シートの一例を示す図である。
【
図15】本発明の他の態様の実施形態に係る機械装備設定方法の流れを示すフローチャートである。
【発明を実施するための形態】
【0012】
<機械装備設定装置の実施形態1>
まず、一の発明の実施形態1に係る機械装備設定装置について説明する。
【0013】
[構成]
図1に示したように、機械装備設定装置1は、出力部11と、操作部12と、記憶部13と、演算部14と、を備える。機械装備設定装置1は、PC、携帯電話、タブレット端末等のコンピュータで構成される。なお、機械装備設定装置1が、出力部11、および操作部12の少なくとも一方に相当する構成を備える図示しない他の装置(例えば端末装置)と通信する機能を有している場合、機械装備設定装置1は、出力部11、および操作部12の少なくとも一方を備えていなくてもよい。
【0014】
〔記憶部〕
記憶部13は、機械装備設定プログラム131を記憶している。また、本実施形態に係る記憶部13は、出力部11に表示させるための入力フォームのデータ132を記憶している。入力フォームのデータ132は、既存のアプリケーションプログラム(例えば表計算ソフト)を加工したものであってもよい。この機械装備設定プログラム131は、演算部14を動作させるためのものである。本実施形態に係る機械装備設定プログラム131は、プログラミング言語「Python」を用いて作成されている。なお、機械装備設定プログラム131は、他のプログラミング言語を用いて作成されたものであってもよい。本実施形態に係る記憶部13は、半導体メモリ、ハードディスク等で構成されている。
【0015】
〔出力部〕
出力部11は、各種情報を出力する。本実施形態に係る出力部11は、表示用デバイス(液晶ディスプレイ等)で構成されている。すなわち、本実施形態に係る出力部11は、各種情報を表示する。なお、出力部11は、各種情報を印刷するプリンタ、各種情報を他の装置へ送信する通信モジュール、他の装置と接続される端子等で構成されていてもよい。
【0016】
〔操作部〕
操作部12は、ユーザが操作可能なキーボード、ポインティングデバイス、タッチパネル等で構成されている。
【0017】
〔演算部〕
演算部14は、取得部141と、第一制約式定義部142(定義部)と、を備える。本実施形態に係る演算部14は、第一変数定義部143と、第二変数定義部144と、第二制約式定義部145と、関数定義部146と、算出部147と、出力処理部148と、をさらに備える。本実施形態に係る演算部14は、プロセッサで構成されている。このため、各制御ブロック141~147の各機能は、記憶部13に記憶されている機械装備設定プログラム131を演算部14が実行することにより実現される。
【0018】
(出力処理部)
出力処理部148は、出力処理を実行する。出力処理において、出力処理部148は、操作・出力画面111を出力部11に表示させる。本実施形態に係る出力処理部148は、所定の表示開始操作がなされたことを契機として、
図2に示したような操作・出力画面111を表示させる。本実施形態に係る出力処理部148が表示させる操作・出力画面111には、ファイル選択ボタンB1と、計算開始ボタンB2と、が配置されている。ファイル選択ボタンB1が操作されると、出力処理部148は、計算対象の入力フォームを選択するための図示しない選択画面を表示させる。計算開始ボタンB2が操作されると、取得部141、各定義部142、144~147、算出部147等が動作を開始する。また、操作・出力画面111は、計算結果表示領域Rを有している。計算結果表示領域Rは、算出部147による計算結果を表示するための領域である。なお、出力処理部148は、操作・出力画面111に計算開始ボタンB2表示させる代わりに、計算開始コマンドを入力可能なコマンドプロンプトを出力部11へ表示させるよう構成されていてもよい。
【0019】
また、出力処理部148は、取得部141、各定義部142~146、算出部147等が動作するのに必要な各種情報の入力フォームを出力部11に表示させる。本実施形態に係る出力処理部148は、所定の表示開始操作(例えば、入力フォームのアイコンへのタッチまたはクリック等)がなされたことを契機として、入力フォームを出力部11に表示させる。本実施形態に係る出力処理部148が表示させる入力フォームは、
図3~8に示したような6種類の入力シート112~117で構成されている。出力処理部148は、所定の表示切替操作(例えば、入力シートの周縁部に設けられた各シートに対応するタブへのタッチまたはクリック等)がなされると、操作に対応する入力シート112~117を表示させる。
【0020】
なお、出力処理部148は、入力シート112~117の少なくとも2つが1つに纏められた入力フォームを表示させるよう構成されていてもよい。また、出力処理部148は、複数の入力シート112~117の少なくとも2つを同時に並べて表示させるよう構成されていてもよい。また、出力処理部148は、入力シート112~117の何れか、または専用の操作用シートに計算開始ボタンB2が設けられた入力フォームを表示させるよう構成されていてもよい。また、出力処理部148は、ボタンB1、B2と、計算結果と、を別画面に分けて表示するよう構成されていてもよい。また、出力処理部148は、計算開始コマンドを入力可能なコマンドプロンプトを出力部11に表示させるよう構成されていてもよい。その場合、出力処理部148は、計算開始ボタンB2を表示させる機能を有していなくてもよい。
【0021】
作物情報シート112は、作物情報を入力するための入力シートである。作物情報は、栽培する作物の種類、および作物の作付面積を規定する情報である。また、作物情報は、作物を栽培するのに要する単位面積当たりのコストを規定する。コストは、資材費と、労働費と、を含む。資材費は、肥料費、燃料費等を含む。労働費は、経営側の労働費と、コントラクター側の労働費を含む。
図3に示したように、作物情報シート112は、各行(横方向に並ぶ複数のセル)が作物に対応し、各列(縦方向に並ぶ複数のセル)が作物名、コスト、作付面積、合計コスト(コスト×作付面積)に対応している。ユーザによる操作部12の選択操作により入力対象のセルが選択され、操作部12への入力操作がなされると、出力処理部148は、選択されたセルに入力された数値を表示させる。本実施形態に係る出力処理部148は、コストに対応するセル、および作付面積に対応するセルに数値が表示されると、合計コストを算出して対応するセルに表示させる。なお、出力処理部148は、ユーザによる操作部12の追加・除外操作により、作物情報シート112における作物(行)の追加または除外を行うよう構成されていてもよい。また、出力処理部148は、コストの数値を、外部データを参照して表示させるよう構成されていてもよい。
【0022】
作物・作業シート113は、作物・作業情報を入力するための入力シートである。作物・作業情報は、作物の栽培に必要な作業を規定する情報である。
図4に示したように、作物・作業シート113は、各行が作物毎の各作業に対応し、各列が作物に対応している。作物名における「従来体系」は、刈り取り回数が2回以下の牧草の総称であり、「3回刈り体系」は、刈り取り回数が3回以下の牧草の総称である。ユーザによる操作部12の選択操作により入力対象のセルが選択され、操作部12への入力操作がなされると、出力処理部148は、選択されたセルに作業を行う旨の記号を表示させる。本実施形態に係る出力処理部148は、入力操作がなされたセルに「1」を表示させる。なお、出力処理部148は、ユーザによる操作部12の追加・除外操作により、作物・作業シート113における作業(行)の追加または除外を行うよう構成されていてもよい。また、作業名は、日本語名と英語名のいずれかであってもよい。
【0023】
作業・機械シート114は、作業・機械情報を入力するための入力シートである。作業・機械情報は、各作業で使用する機械の種類および台数を規定する情報である。
図5に示したように、作業・機械シート114は、各行が作物毎の各作業に対応し、各列が機械に対応している。また、本実施形態に係る出力処理部148は、入力可能な各セルに機械を使用しない旨の記号がデフォルトで表示させている。本実施形態に係る出力処理部148は、機械を使用しない旨の記号として「0(ゼロ)」を表示させる。ユーザによる操作部12の選択操作により入力対象のセルが選択され、操作部12への入力操作がなされると、出力処理部148は、選択されたセルに機械を使用する旨の記号を表示させる。本実施形態に係る出力処理部148は、入力操作がなされたセルに「1」を表示させる。なお、出力処理部148は、ユーザによる操作部12の追加・除外操作により、作業・機械シート114における作業(行)の追加または除外、および機械(列)の追加または除外の少なくとも一方を行うよう構成されていてもよい。また、作業名、機械名は、日本語名と英語名のいずれかであってもよい。
【0024】
減価償却費シート115は、償却費情報を入力するための入力シートである。償却費情報は、作物の栽培に必要な各作業でそれぞれ使用する機械の減価償却費を規定する情報である。
図6に示したように、減価償却費シート115は、各行が各機械に対応し、各列が購入価格、使用年数、減価償却費(購入価格/使用年数)に対応している。ユーザによる操作部12の選択操作により入力対象のセルが選択され、操作部12への入力操作がなされると、出力処理部148は、選択されたセルに入力された数値を表示させる。本実施形態に係る出力処理部148は、購入価格に対応するセル、および使用年数に対応するセルに数値が表示されると、減価償却費を算出して対応するセルに表示させる。なお、出力処理部148は、ユーザによる操作部12の追加・除外操作により、減価償却費シート115における機械(行)の追加または除外を行うよう構成されていてもよい。また、機械名は、日本語名と英語名のいずれかであってもよい。また、出力処理部148は、購入価格の数値を、外部データを参照して表示させるよう構成されていてもよい。
【0025】
作業能率シート116は、能率情報を入力するための入力シートである。能率情報は、各作業の能率を規定する情報である。
図7に示したように、作業能率シート116は、各行が作物毎の各作業に対応し、列が作業能率に対応している。作業能率は、単位面積(例えば1ha)当たりの作業時間(h)である。ユーザによる操作部12の選択操作により入力対象のセルが選択され、操作部12への入力操作がなされると、出力処理部148は、選択されたセルに数値を表示させる。なお、出力処理部148は、ユーザによる操作部12の追加・除外操作により、作業能率シート116において作業能率を入力する対象の作業名の追加または除外を行うよう構成されていてもよい。また、作業名は、日本語名と英語名のいずれかであってもよい。また、出力処理部148は、作業能率の数値を、外部データを参照して表示させるよう構成されていてもよい。
【0026】
作業暦シート117は、作業暦情報を入力するための入力シートである。作業暦情報は、作物の栽培に必要な複数種類の作業の内容、および当該作業を行う時期を規定する情報である。時期は、半旬(1~6旬)で示される。
図8に示したように、各行が作物毎の各作業に対応し、各列が月毎の各半旬に対応している。ユーザによる操作部12の選択操作により入力対象のセルが選択され、操作部12への入力操作がなされると、出力処理部148は、選択されたセルに作業を行う旨の記号を表示させる。本実施形態に係る出力処理部148は、入力操作がなされたセルに「1」を表示させる。なお、出力処理部148は、ユーザによる操作部12の追加・除外操作により、作業暦シート117における作業(行)の追加または除外を行うよう構成されていてもよい。また、作業名は、日本語名と英語名のいずれかであってもよい。
【0027】
(取得部)
取得部141は、取得処理を実行する。取得処理において、取得部141は、作業暦情報と、作業・機械情報と、能率情報と、を取得する。本実施形態に係る取得部141は、作物情報と、作物・作業情報と、償却費情報と、を更に取得する。
【0028】
上述したように、本実施形態に係る機械装備設定プログラム131は、プログラミング言語「Python」を用いて作成されている。Pythonには、様々な外部ライブラリが提供されている。このため、本実施形態に係る取得部141は、各種情報を取得する際に、外部ライブラリ「Openpyxl」を呼び出し(インポートし)、呼び出した「Openpyxl」を用いて各入力シート112~117の内容を読み込むよう構成されている。次に、取得部141は、読み込んだ各入力シート112~117の内容をデータ形式に変換する。本実施形態に係る取得部141は、外部ライブラリ「Pandas」を呼び出し、呼び出した「Pandas」を用いて変換するよう構成されている。なお、取得部141は、各入力シート112~117の読み込み、およびデータ形式への変換の少なくとも一方を、外部ライブラリ以外の手段を用いて行うよう構成されていてもよい。また、機械装備設定装置1が、ユーザが操作可能な操作部を備える場合、取得部141は、ユーザが操作部12に入力操作を行うことにより直接入力された各種情報を取得するよう構成されていてもよい。
【0029】
(第一変数定義部)
第一変数定義部143は、後述する第二変数定義処理(第五定義処理)を実行する前に、第一変数定義処理(第四定義処理)を実行する。第一変数定義処理において、第一変数定義部143は、作業暦情報に基づいて、各作業の時期毎の実施面積の変数を内生変数として定義する。従来は、実施面積の変数を人の手で記述していたため、大変な手間がかかっていた。しかし、本実施形態に係る機械装備設定装置1は、第一変数定義部143が実施面積の変数を自動で定義する。このため、算出部147が算出を行うための前準備を容易に行うことができる。なお、機械装備設定装置1が実施面積の変数の入力を直接受け付けるよう構成されている場合、演算部14は、この第一変数定義部143を備えていなくてもよい。
【0030】
(第二変数定義部)
第二変数定義部144は、後述する第一制約式定義処理(定義処理)を実行する前に、第二変数定義処理(第五定義処理)を実行する。第二変数定義処理において、第二変数定義部144は、作業・機械情報に基づいて、機械台数の変数を内生変数として定義する。従来は、機械台数の変数を人の手で記述していたため、大変な手間がかかっていた。しかし、本実施形態に係る機械装備設定装置1は、第一変数定義部143が機械台数の変数を自動で定義する。このため、算出部147が算出を行うための前準備を容易に行うことができる。なお、機械装備設定装置1が機械台数の変数の入力を直接受け付けるよう構成されている場合、演算部14は、この第二変数定義部144を備えていなくてもよい。
【0031】
(第一制約式定義部)
第一制約式定義部142は、後述する第二制約式定義処理(第二定義処理)を実行する前に、第一制約式定義処理(定義処理)を実行する。第一制約式定義処理において、第一制約式定義部142は、作業暦情報、作業・機械情報、能率情報、および機械台数の変数に基づいて、時間制約式を定義する。時間制約式は、各機械の時期毎の作業時間を規定する式である。例えば、作業・機械情報を参照した結果、作物の栽培において、4月の第5半旬に下記表1に示したような作業が必要になっていたとする。これらの作業は、全てトラクターを使用する必要のあるものである。このため、これら作業を行う際のトラクターの稼働時間は、用意できるトラクターの台数の制約を受けることになる。
【表1】
【0032】
第一制約式定義部142は、取得した作業暦情報、作業・機械情報、能率情報、および機械台数の変数を参照して、トラクターの4月第5半旬における作業時間を規定する時間制約式を下記数1のように自動で定義する。また、第一制約式定義部142は、下記数1の他に、トラクターの4月第5半旬以外の各時期における作業時間を規定する時間制約式、およびトラクター以外の各機械の各時期の作業時間を規定する時間制約式をそれぞれ自動で定義する。
【数1】
【0033】
従来は、上記のような複雑かつ長い全てのパターンの時間制約式を、全て人の手で記述していたため、大変な手間がかかっていた。しかし、本実施形態に係る機械装備設定装置1は、第一制約式定義部142が全ての時間制約式を自動で定義する。このため、算出部147が算出を行うための前準備を容易に行うことができる。なお、第一制約式定義部142は、作業暦情報、作業・機械情報、能率情報、および機械台数の変数の他、各作業の時期毎の実施面積の変数を加味して時間制約式を定義するよう構成されていてもよい。この場合、上記数1におけるある半旬の作業時間は、ある半旬の実施面積の変数に、作業の能率を乗じることで求めることができる。また、機械装備設定装置1が時間制約式の入力を直接受け付けるよう構成されている場合、演算部14は、この第一制約式定義部142を備えていなくてもよい。
【0034】
(第二制約式定義部)
第二制約式定義部145は、後述する関数定義処理(第三定義処理)を実行する前に、第二制約式定義処理(第二定義処理)を実行する。第二制約式定義処理において、第二制約式定義部145は、作業暦情報、作物情報、および作物・作業情報に基づいて、面積制約式を定義する。面積制約式は、各作業の実施面積と作付面積との関係を規定する式である。例えば、作業暦情報を参照した結果、「corn」の栽培において、必要な作業及び作業を行うことが可能な作業期間が下記表2のようになっていたとする。作業期間は作業毎に異なるが、いずれの作業においても、各時期に分けた作業の実施面積の合計が、作付面積と等しくなる必要がある。
【表2】
【0035】
第二制約式定義部145は、取得した作業暦情報、作物情報、作物・作業情報、および時間制約式を参照して、「corn」の栽培における各作業の実施面積と作付面積との関係を規定する面積制約式を下記数2のように自動で定義する。また、第二制約式定義部145は、下記数2の他に、「corn」以外の作物の栽培における各作業の実施面積と作付面積との関係を規定する面積制約式をそれぞれ自動で定義する。
【数2】
【0036】
従来は、上記のような複雑かつ長い全てのパターンの面積制約式を、全て人の手で記述していたため、大変な手間がかかっていた。しかし、本実施形態に係る機械装備設定装置1は、第二制約式定義部145が全ての面積制約式を自動で定義する。このため、算出部147が算出を行うための前準備を容易に行うことができる。なお、第二制約式定義部145は、作業暦情報、作物情報、および作物・作業情報の他、各作業の時期毎の実施面積の変数を加味して面積制約式を定義するよう構成されていてもよい。また、機械装備設定装置1が面積制約式の入力を直接受け付けるよう構成されている場合、演算部14は、この第二制約式定義部145を備えていなくてもよい。
【0037】
(関数定義部)
関数定義部146は、関数定義処理を実行する。関数定義処理において、関数定義部146は、作物情報、および償却費情報に基づいて、費用関数を定義する。費用関数は、作物をそれぞれ必要量栽培するための費用の合計を表す目的関数である。本実施形態に係る関数定義部146は、費用関数を、例えば下記数3のように定義する。なお、関数定義部146は、作物情報、および償却費情報の他、機械台数の変数を加味して費用関数を定義するよう構成されていてもよい。
【数3】
i:作物の番号
costi:作物iの面積単位当たりコスト
areai:作物iの作付面積
j:機械の番号
pricej:機械jの年間の減価償却費
machinej:機械jの台数
【0038】
(算出部)
算出部147は、算出処理を実行する。算出処理において、算出部147は、費用関数が最小となる、各作業の時期毎の実施面積、および用意しておく機械の台数(以下、最適解)を算出する。算出部147は、定義した面積制約式群、および時間制約式群が示す制約の下で最適解を算出する。また、本実施形態に係る算出部147は、各機械の1年間の減価償却費の合計である年間機械償却費を更に算出する。本実施形態に係る算出部147は、外部ライブラリ「Pyomo」、および外部ライブラリ「glpk」を用いて最適解を算出する。具体的には、算出部147は、外部ライブラリ「Pyomo」を呼び出し、呼び出した「Pyomo」を用いて、費用関数を、外部ライブラリ「glpk」が読み込める形式に変換する。次に、算出部147は、外部ライブラリ「glpk」を呼び出し、呼び出した「glpk」用いて最適解を算出する。
【0039】
(出力処理部)
出力処理部148は、算出部147が算出した最適解を出力部11に出力させる。上述したように、本実施形態に係る出力部11は、表示により出力するものである。このため、出力処理部148は、最適解を出力部11に表示させる。また、上述したように、本実施形態に係るに本実施形態に係る操作・出力画面111は、計算結果標示領域Rを有している。このため、本実施形態に係る出力処理部148は、例えば
図9に示したように、最適解を、計算結果標示領域Rに表示させる。また、本実施形態に係る出力処理部148は、最適解と共に、総費用(費用関数の最小値)を出力部11に出力させる(計算結果標示領域Rに表示させる)。また、本実施形態に係る出力処理部148は、総費用とは別に、年間機械償却費を出力部11に出力させる(計算結果標示領域Rに表示させる)。年間機械償却費は、最適解として出力された台数の機械を購入した場合の減価償却費である。なお、計算開始コマンドをコマンドプロンプトに入力するよう構成されている場合、出力処理部148は、最適解を、コマンドプロンプトに表示させるよう構成されていてもよい。
【0040】
[機械装備設定装置(機械装備設定プログラム)の作用効果]
以上説明してきた機械装備設定装置1(機械装備設定プログラム131)は、作業暦情報、作業・機械情報、および能率情報が入力されると時間制約式を自動定義する。また、機械装備設定装置1(機械装備設定プログラム131)は、それまでと異なる情報が入力されると、入力された情報に合わせて時間制約式を自動で再定義する。このため、ユーザは、複雑かつ膨大な時間制約式を自分で定義して入力する必要が無くなる。このため、機械装備設定装置1(機械装備設定プログラム131)によれば、自動定義された時間制約式によって、費用が最小となる、作物の栽培に必要な各作業の時期毎の実施面積、および用意しておく機械の台数の算出を容易に行うことができる。また、ユーザがプログラミングや最適化手法の知識を持ち合わせていない場合であっても実施面積、および機械の台数を算出することができる。また、本実施形態に係る機械装備設定装置1(機械装備設定プログラム131)は、作物情報、および作物・作業情報が追加で入力されると面積制約式も自動定義・再定義する。このため、本実施形態に係る機械装備設定装置1(機械装備設定プログラム131)によれば、自動定義された時間制約式及び面積制約式によって、最適解の算出をさらに容易に行うことができる。
【0041】
<機械装備設定装置の実施形態2>
次に、一の発明の実施形態2に係る機械装備設定装置について説明する。なお、説明の便宜上、上記実施形態1にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
【0042】
[構成]
図10に示したように、機械装備設定装置1Aは、上記実施形態1に係る機械装備設定装置1が備えるものと同様の出力部11、および操作部12の他、記憶部13Aと、演算部14Aと、を備える。
【0043】
〔記憶部〕
実施形態2に係る記憶部13Aは、上記実施形態1に係る機械装備設定プログラム131とは異なる機械装備設定プログラム131Aを記憶している。この機械装備設定プログラム131Aは、演算部14Aを動作させるためのものである。また、実施形態2に係る記憶部13Aは、上記実施形態1に係る入力フォームのデータ132とは異なる入力フォームのデータ132Aを記憶している。
【0044】
〔演算部〕
実施形態2に係る演算部14Aは、上記実施形態1に係る演算部14が備えるものと同様の第一変数定義部143と、第二変数定義部144と、第二制約式定義部145と、を備える。また、実施形態2に係る演算部14Aは、取得部141Aと、第一制約式定義部142A(定義部)と、関数定義部146Aと、算出部147Aと、出力処理部148Aと、第三制約式定義部149と、第四制約式定義部150と、第五制約式定義部151と、をさらに備える。実施形態2に係る演算部14Aは、プロセッサで構成されている。このため、各制御ブロック141A~151の各機能は、記憶部13Aに記憶されている機械装備設定プログラム131Aを演算部14Aが実行することにより実現される。
【0045】
(出力処理部)
実施形態2に係る出力処理部148Aは、実施形態1に係る入力フォームとは異なる入力フォームを出力部11に表示させる。実施形態2に係る出力処理部148Aが表示させる入力フォームは、上記実施形態1と同様の4種類の入力シート111、113、114、117の他、入力シート112Aと、
図11~14に示したような4種類の入力シート115A、116A、118、119と、で構成されている。
【0046】
作業期間シート118は、作業期間情報を入力するための入力シートである。作業期間情報は、各作業期間の日数及び各作業期間中の作業条件を規定する情報である。作業条件は、1日あたり作業可能時間、期間内にパート雇用可能な延べ時間、期間内のパート賃金単価を含む。実施形態2に係る作業期間シート118は、
図11に示したように、各行が各作業期間に対応し、各列が作業日数(days)、1日当たり作業可能時間(hour)、期間内にパート雇用可能な延べ時間(part_timer_limit)、パート賃金単価(wage_rate)に対応している。操作部12への入力操作がなされると、出力処理部148は、選択されたセルに数値を表示させる。なお、出力処理部148は、ユーザによる操作部12の追加・除外操作により、作業期間シート118において作業日数及び作業条件を入力する対象の作業期間の追加または除外を行うよう構成されていてもよい。
【0047】
オペレータシート119は、オペレータ情報を入力するための入力シートである。オペレータ情報は、常勤オペレータの人数、常勤オペレータの雇用費を含む。実施形態2に係るオペレータシート119は、
図12に示したように、各行が常勤オペレータの人数、常勤オペレータの雇用費に対応し、列が値に対応している。操作部12への入力操作がなされると、出力処理部148は、選択されたセルに数値を表示させる。なお、作業を行う組織の中には、常勤オペレータがいない組織も存在し得る。このため、オペレータシート119は、常勤オペレータの人数の値として「0」を入力することが可能となっていてもよい。また、出力処理部148は、オペレータシート119を表示させないよう構成されていてもよい。
【0048】
実施形態2に係る作物情報シート112Aは、上記実施形態1に係る作物情報シート112と同様、作物情報を入力するための入力シートである。一方、実施形態2に係る作物情報シート112Aに入力される作物情報が規定する、作物を栽培するのに要する単位面積当たりのコストは、肥料費、燃料費等の資材費からなり、労働費を含まない値となっている。
【0049】
実施形態2に係る減価償却費シート115Aは、上記実施形態1に係る減価償却費シート115と同様、償却費情報を入力するための入力シートである。実施形態2に係る減価償却費シート115Aは、
図13に示したように、各行が各機械に対応し、各列が購入価格、使用年数、減価償却費(購入価格/使用年数)および購入・装備可能な機械台数の上限(upper)・下限(lower)に対応している。機械台数の上限と下限を同値にすれば、機械台数を固定することもできる。なお、機械台数に上限、下限を設ける必要がない場合、減価償却費シート115Aへの機械台数の上限・下限の値の入力は省略することができる。
【0050】
実施形態2に係る作業能率シート116Aは、上記実施形態1に係る作業能率シート116と同様、能率情報を入力するための入力シートである。実施形態2に係る作業能率シート116Aは、
図14に示したように、各行が作物毎の各作業に対応し、列が各作業に必要な要員数、および作業能率に対応している。例えば施肥作業には、圃場で施肥作業を行う要員と肥料を運搬・補助する要員の2名が必要となる。このため、作業能率シート116Aにおける施肥作業の行における要員数の欄には「2」以上の値が入力される。また、収穫作業は、大型の収穫機械のオペレータ1名、ダンプ運搬要員4名、運搬先での作業員2名の計7名を必要とする組み作業である。このため、収穫作業の行における要員数の欄には「7」以上の値が入力される。
【0051】
(取得部)
実施形態2に係る取得部141Aは、上記実施形態1に係る取得部141が実行するものとは異なる取得処理を実行する。実施形態2に係る取得処理において、取得部141Aは、
図10に示したように、作業暦情報と、作業・機械情報と、能率情報と、作業期間情報と、オペレータ情報と、作物情報と、作物・作業情報と、償却費情報と、を更に取得する。
【0052】
(第一制約式定義部)
実施形態2に係る第一制約式定義部142Aは、上記実施形態1に係る第一制約式定義部142が実行したものとは異なる第一制約式定義処理(定義処理)を実行する。実施形態2に係る第一制約式定義処理において、第一制約式定義部142Aは、作業暦情報、作業・機械情報、能率情報、作業期間情報および機械台数の変数に基づいて、時間制約式を定義する。時間制約式(上記数1参照)における各時期の作業可能時間は、第一制約式定義部142Aが、作業期間情報の作業可能日数および1日あたり作業可能時間に基づいて、作業時期毎に自動で算出する。
【0053】
(第三制約式定義部)
第三制約式定義部149は、第三制約式定義処理を実行する。第三制約式定義処理において、第三制約式定義部149は、作業時間作業別制約式を、作業ごと及び作業時期ごとに定義する。作業時間作業別制約式は、常勤オペレータおよびパートオペレータの少なくとも一方の延べ作業時間を規定する式である。第三制約式定義部149は、取得した作業期間情報、オペレータ情報、および内生変数として定義した作業別のオペレータ(常勤・パート)の延べ作業時間を参照して、作業時間作業別制約式を下記数4のように自動で定義する。
【数4】
【0054】
(第四制約式定義部)
第四制約式定義部150は、第四制約式定義処理を実行する。第四制約式定義処理において、第四制約式定義部150は、作業時間時期別制約式を、作業時期ごとに定義する。作業時間時期別制約式は、オペレータの延べ作業時間を規定する式である。第四制約式定義部150は、取得した作業期間情報、オペレータ情報、および内生変数として定義した時期別のオペレータ(常勤・パート)の延べ作業時間を参照して、作業時間時期別制約式を下記数5のように自動で定義する。その際、第四制約式定義部150は、作業時間時期別制約式を、常勤オペレータ、パートオペレータそれぞれについて定義する。
【数5】
【0055】
(第五制約式定義部)
第五制約式定義部151は、第五制約式定義処理を実行する。第五制約式定義処理において、第五制約式定義部151は、償却費情報に基づいて、機械装備制約式を、機械ごとに定義する。機械装備制約式は、装備可能な機械台数の上限と下限を規定する式(下限≦機械台数≦上限)である。
【0056】
(関数定義部)
実施形態2に係る関数定義部146Aは、実施形態1に係る関数定義部146が実行したものとは異なる関数定義処理を実行する。実施形態2に係る関数定義処理において、関数定義部146は、作物情報、償却費情報、機械台数の変数、およびオペレータ情報に基づいて、費用関数を定義する。実施形態2に係る関数定義部146Aは、費用関数を、例えば下記数6のように定義する。
【数6】
i:作物の番号
costi:作物iの面積単位当たりコスト
areai:作物iの作付面積
j:機械の番号
pricej:機械jの年間の減価償却費
machinej:機械jの台数
Lfull:常勤オペレータ人数
Lpart:パートオペレータの延べ作業時間
Wfull:常勤オペレータの年間給与
Wpart:パートオペレータの時間給単価
【0057】
(算出部)
実施形態2に係る算出部147Aは、実施形態1に係る算出部147とは異なる算出処理を実行する。実施形態2に係る算出処理において、算出部147Aは、定義した面積制約式群、時間制約式群、オペレータ作業時間・作業別制約式群、オペレータ作業時間時期別制約式群、および機械装備上限・下限制約式群が示す制約の下で最適解(費用関数が最小となる、各作業の時期毎の実施面積、および用意しておく機械の台数)を算出する。
【0058】
[機械装備設定装置(機械装備設定プログラム)の作用効果]
以上説明してきた機械装備設定装置1A(機械装備設定プログラム131A)によれば、上記実施形態1に係る機械装備設定装置1A(機械装備設定プログラム131A)と同様の効果を奏する。すなわち、機械装備設定装置1A(機械装備設定プログラム131A)によれば、自動定義された時間制約式によって、費用が最小となる、作物の栽培に必要な各作業の時期毎の実施面積、および用意しておく機械の台数の算出を容易に行うことができる。また、機械装備設定装置1A(機械装備設定プログラム131A)によれば、ユーザがプログラミングや最適化手法の知識を持ち合わせていない場合であっても実施面積、および機械の台数を算出することができる。
【0059】
また、実施形態2に係る機械装備設定装置1A(機械装備設定プログラム131A)は、労働調達に制限がある場合を想定した最適解を算出するよう構成されている。具体的には、機械装備設定装置1Aは、作業期間情報(1日あたり作業可能時間、期間内にパート雇用可能な延べ時間、期間内のパート賃金単価)を入力可能となっている。このため、実施形態2に係る機械装備設定装置1A(機械装備設定プログラム131A)によれば、時期的に天候不順が多い作業期間については、作業日数および作業可能時間の少なくとも一方を、他の作業期間よりも短く設定して最適解を算出することが可能となる。また、日長が異なる季節ごとに、1日あたりの作業可能時間を調整(例えば、日長の長い夏の作業可能時間を春や秋より長く設定)して最適解を算出することも可能となる。また、農繁期におけるパート雇用の制限や、作業期間シート118により、農繁期における賃金単価の上昇を最適値の算出に反映させることもできる。
【0060】
また、実施形態2に係る機械装備設定装置1Aは、能率情報の一つとして、作業に必要な要員数を入力可能となっている。このため、実施形態2に係る機械装備設定装置1A(機械装備設定プログラム131A)によれば、必要となる要員数が決まっている作業(例えば施肥作業は施肥作業を行う要員と肥料を運搬・補助する要員の2名、収穫作業は収穫機械のオペレータ1名、ダンプ運搬要員4名、運搬先での作業員2名の計7名等)について、所定の要員数を入力することにより、より実情に即した(当該作業の要員数に限定がない場合より正確な)最適解を算出することが可能となる。
【0061】
また、実施形態2に係る機械装備設定装置1A(機械装備設定プログラム131A)は、償却費情報の一つとして、機械台数の上限・下限を入力可能となっている。このため、実施形態2に係る機械装備設定装置1A(機械装備設定プログラム131A)によれば、例えば、作業内容が特殊等の理由で当該作業に用いる機械のオペレータの確保に制限がある場合、当該機械の台数に上限を設けることで、より実情に即した(当該機械の台数に制限がない場合より正確な)最適解を算出することが可能となる。
【0062】
<機械装備設定方法>
次に、他の発明の実施形態に係る機械装備設定方法について説明する。
【0063】
図15に示したように、機械装備設定方法は、取得ステップS1と、第一制約式定義ステップS2(定義ステップ)と、を含む。機械装備設定方法は、第一変数定義ステップS3と、第二変数定義ステップS4と、第二制約式定義ステップS5と、関数定義ステップS6と、算出ステップS7と、出力ステップS8と、を更に含んでもよい。
【0064】
(取得ステップ)
初めの取得ステップS1では、コンピュータが、作業暦情報と、作業・機械情報と、能率情報と、を取得する。取得ステップS1では、作物情報と、作物・作業情報と、償却費情報と、を更に取得してもよい。取得する各種情報は、コンピュータが備える操作部によって当該コンピュータに入力されたものであってもよいし、コンピュータが他の装置から受信したものであってもよい。取得ステップS1は、上記機械装備設定装置1を用いて行ってもよいし、他の装置を用いて行ってもよい。なお、取得ステップS1では、作業期間情報と、オペレータ情報と、上記機械装備設定装置の実施形態2で説明した作物情報と、減価償却費と、能率情報と、をさらに取得してもよい。
【0065】
(第一変数定義ステップ)
取得ステップS1で作業暦情報を取得した後は、第一制約式定義ステップS2を行う前に、第一変数定義ステップS3を行ってもよい。第一変数定義ステップS3では、作業暦情報に基づいて、各作業の時期毎の実施面積の変数を内生変数として定義する。このようにすれば、実施面積の変数を人が定義してコンピュータに入力する手間が省けるため、数値の算出を更に容易に行うことができる。なお、第一変数定義ステップS3を行うコンピュータは、取得ステップS1を行ったコンピュータと同じものであってもよいし、異なるものであってもよい。
【0066】
(第二変数定義ステップ)
また、取得ステップS1で作業・機械情報を取得した後であって、第一変数定義ステップS3を行った場合、第一制約式定義ステップS2を行う前に、第二変数定義ステップS4を行ってもよい。第二変数定義ステップS4では、作業・機械情報に基づいて、機械台数の変数を内生変数として定義する。このようにすれば、機械台数の変数を人が定義してコンピュータに入力する手間が省けるため、数値の算出を更に容易に行うことができる。なお、第二変数定義ステップS4を行うコンピュータは、取得ステップS1を行ったコンピュータと同じものであってもよいし、異なるものであってもよい。
【0067】
(第一制約式定義ステップ)
取得ステップS1で作業暦情報、作業・機械情報、および能率情報を取得した後は、第一制約式定義ステップS2を行う。第一制約式定義ステップS2では、作業暦情報、作業・機械情報、能率情報、および機械台数の変数に基づいて、時間制約式を定義する。このようにすれば、時間制約式を人が定義してコンピュータに入力する手間が省けるため、数値の算出を更に容易に行うことができる。なお、第一制約式定義ステップS2では、作業暦情報、作業・機械情報、能率情報、および機械台数の変数の他、各作業の時期毎の実施面積の変数を加味して時間制約式を定義してもよい。また、第一制約式定義ステップS2を行うコンピュータは、取得ステップS1を行ったコンピュータと同じものであってもよいし、異なるものであってもよい。なお、上記取得ステップS1で作業期間情報を取得した場合、第一制約式定義ステップS2では、作業暦情報、作業・機械情報、能率情報、作業期間情報および機械台数の変数に基づいて、時間制約式を定義してもよい。
【0068】
(第二制約式定義ステップ)
また、取得ステップS1で作物・作業情報を更に取得した場合、関数定義ステップS6を行う前に、第二制約式定義ステップS5を更に行ってもよい。第二制約式定義ステップS5では、作業暦情報、作物情報、および作物・作業情報に基づいて、面積制約式を定義する。このようにすれば、面積制約式を人が定義してコンピュータに入力する手間が省けるため、数値の算出を更に容易に行うことができる。なお、第二制約式定義ステップS5では、作業暦情報、作物情報、および作物・作業情報の他、各作業の時期毎の実施面積の変数を加味して面積制約式を定義してもよい。また、第二制約式定義ステップS5を行うコンピュータは、取得ステップS1を行ったコンピュータと同じものであってもよいし、異なるものであってもよい。
【0069】
上記取得ステップS1で作業期間情報、オペレータ情報、および上記機械装備設定装置の実施形態2で説明した減価償却費を取得した場合は、関数定義ステップS6を行う前に、第三制約式定義ステップ、第四制約式定義ステップ、第五制約式定義ステップを更に行ってもよい。第三制約式定義ステップでは、作業時間作業別制約式を、作業ごと及び作業時期ごとに定義する。第四制約式定義ステップでは、作業時間時期別制約式を、作業時期ごとに定義する。第五制約式定義ステップでは、償却費情報に基づいて、機械装備制約式を、機械ごとに定義する。
【0070】
(関数定義ステップ)
また、取得ステップS1で作物情報、および償却費情報を取得した場合であって、第二制約式定義ステップを行った場合、関数定義ステップS6を行ってもよい。関数定義ステップS6では、コンピュータが、作物情報、および償却費情報に基づいて、費用関数を定義する。なお、関数定義ステップS6では、作物情報、および償却費情報の他、機械台数の変数、オペレータ情報等を加味して費用関数を定義してもよい。また、関数定義ステップS6を行うコンピュータは、取得ステップS1を行ったコンピュータと同じものであってもよいし、異なるものであってもよい。
【0071】
(算出ステップ)
また、関数定義ステップS6で費用関数を定義した後は、算出ステップS7を行ってもよい。算出ステップS7では、コンピュータが、費用関数が最小となる、各作業の時期毎の実施面積、および用意しておく機械の台数(最適解)を算出する。その際、定義した面積制約式群、時間制約式群、オペレータ作業時間・作業別制約式群、オペレータ作業時間時期別制約式群、および機械装備上限・下限制約式群が示す制約の下で最適解を算出してもよい。算出ステップS7では、各機械の1年間の減価償却費の合計である年間機械償却費を更に算出してもよい。算出ステップS7を行うコンピュータは、取得ステップS1、第一制約式定義ステップS2を行ったコンピュータと同じものであってもよいし、異なるものであってもよい。
【0072】
(出力ステップ)
また、算出ステップS7で最適解を算出した後は、出力ステップS8を行ってもよい。出力ステップS8では、算出ステップS7において算出した最適解を出力する。出力は、表示によって行ってもよいし、印刷、音声出力、信号送信によって行ってもよい。出力ステップS8を行うコンピュータは、取得ステップS1、第一制約式定義ステップS2、算出ステップS7を行ったコンピュータと同じものであってもよいし、異なるものであってもよい。
【0073】
[機械装備設定方法の作用効果]
以上説明してきた機械装備設定方法では、コンピュータに作業暦情報、作業・機械情報、および能率情報を入力するとコンピュータが時間制約式を自動定義する。また、機械装備設定方法では、コンピュータにそれまでと異なる情報が入力されると、コンピュータが入力された情報に合わせて時間制約式を自動で再定義する。このため、ユーザは、複雑かつ膨大な時間制約式を自分で定義して入力する必要が無くなる。このため、機械装備設定方法によれば、上記機械装備設定装置1、1A(機械装備設定プログラム131、131A)と同様、自動定義された時間制約式によって、費用が最小となる、作物の栽培に必要な各作業の時期毎の実施面積、および用意しておく機械の台数の算出を容易に行うことができる。また、ユーザがプログラミングや最適化手法の知識を持ち合わせていない場合であっても実施面積、および機械の台数を算出することができる。また、本実施形態に係る機械装備設定方法では、コンピュータに作物情報、および作物・作業情報を追加で入力するとコンピュータが面積制約式も自動定義する。このため、本実施形態に係る機械装備設定方法によれば、自動定義された時間制約式及び面積制約式によって、最適解の算出をさらに容易に行うことができる。
【0074】
<変形例>
本発明は上述した各実施形態に限定されるものではなく、特許請求の範囲に示した範囲で種々の変更が可能である。また、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【0075】
例えば、上記機械装備設定装置1、1Aは、出力部11および操作部12を備えていたが、機械装備設定装置1、1Aは、これらを備えず、代わりに出力部11および操作部12に相当する機能を有する他の装置と通信するよう構成されていてもよい。そして、機械装備設定装置1、1Aは、他の装置に入力された各種情報を受信し、各種情報に基づいて最適解を算出し、最適解を他の装置へ送信するよう構成されていてもよい。
【0076】
また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本発明の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。
【0077】
また、上記各実施形態で説明した各処理は、AI(Artificial Intelligence:人工知能)に実行させてもよい。この場合、AIは上記制御装置で動作するものであってもよいし、他の装置(例えばエッジコンピュータまたはクラウドサーバ等)で動作するものであってもよい。
【0078】
また、上記機械装備設定プログラム131、131Aは、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、上記装置が備えていてもよいし、備えていなくてもよい。後者の場合、上記機械装備設定プログラム131、131Aは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
【符号の説明】
【0079】
1 機械装備設定装置
11 出力部
111 操作・出力画面
B1 ファイル選択ボタン
B2 計算開始ボタン
R 計算結果表示領域
112 作物情報シート
113 作物・作業シート
114 作業・機械シート
115、115A 減価償却費シート
116、116A 作業能率シート
117 作業暦シート
118 作業期間シート
119 オペレータシート
12 操作部
13 記憶部
131 機械装備設定プログラム
132、132A 入力フォームのデータ
14、14A 演算部
141、141A 取得部
142、142A 第一制約式定義部(定義部)
143 第一変数定義部
144 第二変数定義部
145 第二制約式定義部
146、146A 関数定義部
147 算出部
148、148A 出力処理部
149 第三制約式定義部
150 第四制約式定義部
151 第五制約式定義部
S1 取得ステップ
S2 第一制約式定義ステップ(定義ステップ)
S3 第一変数定義ステップ
S4 第二変数定義ステップ
S5 第二制約式定義ステップ
S6 関数定義ステップ
S7 算出ステップ
S8 出力ステップ