(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022097942
(43)【公開日】2022-07-01
(54)【発明の名称】解導出パラメータベクトルの作成方法、解導出パラメータベクトルの作成システム、解導出パラメータベクトルの作成プログラム、及び、解導出プログラム
(51)【国際特許分類】
G06N 99/00 20190101AFI20220624BHJP
G06Q 10/08 20120101ALI20220624BHJP
【FI】
G06N99/00 180
G06Q10/08 300
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2020211205
(22)【出願日】2020-12-21
(71)【出願人】
【識別番号】000000099
【氏名又は名称】株式会社IHI
(71)【出願人】
【識別番号】504182255
【氏名又は名称】国立大学法人横浜国立大学
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100170818
【弁理士】
【氏名又は名称】小松 秀輝
(74)【代理人】
【識別番号】100206966
【弁理士】
【氏名又は名称】崎山 翔一
(72)【発明者】
【氏名】小熊 祐司
(72)【発明者】
【氏名】中田 雅也
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA16
(57)【要約】
【課題】人の好み及び知見を反映させる選好パラメータベクトルが容易且つ確実に決定され得る。
【解決手段】解導出パラメータベクトルの作成方法は、基準パラメータベクトルに対して所定の演算を行うことによって、複数の仮パラメータベクトルを作成することと、作成された複数の仮パラメータベクトルの各々を設定した複数の仮モデルを作成することと、作成された複数の仮モデルの各々に仮入力データを入力することによって、複数の仮解を導出することと、導出された複数の仮解を表示することと、表示された複数の仮解に対する選択情報を取得することと、取得された選択情報に基づいて、基準パラメータベクトルを更新することと、入力データの入力に応じて解を出力する解導出モデルに設定される解導出パラメータベクトルとして、更新された前記基準パラメータベクトルを決定することと、を含んでいる。
【選択図】
図8
【特許請求の範囲】
【請求項1】
仮入力データを取得することと、
基準パラメータベクトルを取得することと、
前記基準パラメータベクトルに対して所定の演算を行うことによって、複数の仮パラメータベクトルを作成することと、
作成された前記複数の仮パラメータベクトルの各々を設定した複数の仮モデルを作成することと、
作成された前記複数の仮モデルの各々に前記仮入力データを入力することによって、複数の仮解を導出することと、
導出された前記複数の仮解を表示することと、
表示された前記複数の仮解に対する選択情報を取得することと、
取得された選択情報に基づいて、前記基準パラメータベクトルを更新することと、
入力データの入力に応じて解を出力する解導出モデルに設定される解導出パラメータベクトルとして、更新された前記基準パラメータベクトルを決定することと、を含んでいる、解導出パラメータベクトルの作成方法。
【請求項2】
前記複数の仮パラメータベクトルの作成において、少なくとも一つの数値を前記基準パラメータベクトルに対して加算又は減算することによって前記複数の仮パラメータベクトルが導出される、請求項1に記載の解導出パラメータベクトルの作成方法。
【請求項3】
前記少なくとも一つの数値は、互いに異なる数値を含んでいる、請求項2に記載の解導出パラメータベクトルの作成方法。
【請求項4】
前記少なくとも一つの数値は、乱数を導出する演算処理によって導出された数値である、請求項2又は3に記載の解導出パラメータベクトルの作成方法。
【請求項5】
表示された前記複数の仮解のうち少なくとも一つが選択された場合に、前記基準パラメータベクトルの更新において、前記少なくとも一つの仮解の演算に用いられた前記仮パラメータベクトルに基づいて、前記基準パラメータベクトルが更新される、請求項1から4のいずれか一項に記載の解導出パラメータベクトルの作成方法。
【請求項6】
更新された前記基準パラメータベクトルに対して前記所定の演算を行うことで、前記複数の仮パラメータベクトルを作成することをさらに含んでおり、
前記複数の仮パラメータベクトルの作成と、前記複数の仮解の導出と、前記複数の仮解の表示と、前記基準パラメータベクトルの更新とは、複数回行われ、
前記解導出パラメータベクトルの決定において、複数回更新された前記基準パラメータベクトルが前記解導出パラメータベクトルとして決定される、請求項1から5のいずれか一項に記載の解導出パラメータベクトルの作成方法。
【請求項7】
前記仮入力データ及び前記入力データは、積み荷のサイズ及び数に関する情報を含んでおり、
前記仮解及び前記解は、複数の積み荷の積み付けのパターンである、請求項1から6のいずれか一項に記載の解導出パラメータベクトルの作成方法。
【請求項8】
仮入力データを取得する第一取得部と、
基準パラメータベクトルを取得する第二取得部と、
前記基準パラメータベクトルに対して所定の演算を行うことで、複数の仮パラメータベクトルを作成する仮パラメータベクトル作成部と、
作成された前記複数の仮パラメータベクトルの各々を設定した複数の仮モデルを作成する仮モデル作成部と、
作成された前記複数の仮モデルの各々に前記仮入力データを入力することによって、複数の仮解を導出する導出部と、
導出された前記複数の仮解を表示する表示部と、
表示された前記複数の仮解に基づいて、前記基準パラメータベクトルを更新する更新部と、
入力データの入力に応じて解を出力する解導出モデルに設定される解導出パラメータベクトルとして、更新された前記基準パラメータベクトルを決定する決定部と、を備えている、解導出パラメータベクトルの作成システム。
【請求項9】
仮入力データ、及び、基準パラメータベクトルを取得することと、
前記基準パラメータベクトルに対して所定の演算を行うことで、複数の仮パラメータベクトルを作成することと、
作成された前記複数の仮パラメータベクトルの各々を設定した複数の仮モデルを作成することと、
作成された前記複数の仮モデルの各々に前記仮入力データを入力することによって、複数の仮解を導出することと、
導出された前記複数の仮解を表示することと、
表示された前記複数の仮解に基づいて、前記基準パラメータベクトルを更新することと、
入力データの入力に応じて解を出力する解導出モデルに設定される解導出パラメータベクトルとして、更新された前記基準パラメータベクトルを決定することと、をコンピュータに実行させる、解導出パラメータベクトルの作成プログラム。
【請求項10】
前記入力データと、請求項1から7のいずれか一項に記載の作成方法によって作成された解導出パラメータベクトルとを取得することと、
前記解導出パラメータベクトルが設定された解導出モデルに前記入力データを入力することによって、前記解を導出することと、をコンピュータに実行させる解導出プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、解導出パラメータベクトルの作成方法、解導出パラメータベクトルの作成システム、解導出パラメータベクトルの作成プログラム、及び、解導出プログラムに関する。
【背景技術】
【0002】
生産及び物流等において、労働力、時間、及び、費用などのコストを低減する最適な運用又は運転が望まれている。最適な運用又は運転のために考慮すべき指標は、多くの場合において複数存在する。これらの指標の最適な値を明確に定義することは困難であるため、最適な運用又は運転の決定の自動化は困難である。多くの場合において、運用又は運転を行う人の経験及び慣習等に基づいて、最適と思われる運用又は運転が計画されていた。
【0003】
人工知能技術又は数理最適化技術などを用いることによって、最適な運用又は運転の効率化が模索されている。たとえば、特許文献1には、積み荷の積付計画の最適化において、最適な積付計画に関する解を導出する装置が記載されている。特許文献2には、複数の機器を有する発電プラントの運転計画の最適化において、最適な運転計画に関する解をコンピュータが導出するシステムが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2020-083486号公報
【特許文献2】特開2009-030476号公報
【非特許文献】
【0005】
【非特許文献1】N.Hansen: “The CMA Evolution Strategy: A Tutorial,”arXiv:1604.00772[cs, LG] (2016)
【発明の概要】
【発明が解決しようとする課題】
【0006】
種々の運用又は運転の計画において、各種計画は計画者の好み又は知見が反映されるように立てられる。たとえば、積み荷の積付計画、工場生産のスケジューリング、又は、発電プラントの運転計画等において、計画者の経験若しくは慣習等の知見又は好みが満たされるように各種計画が立てられていた。計画者の好み又は知見を満たす最適な運用又は運転のために考慮すべき指標は、積み荷のサイズ若しくは数、作業人数、労働若しくは稼働時間、又は、設備の稼働効率等の定量的なデータの他に、計画者の経験若しくは感性又は慣習等に関する複数種のパラメータを含む。これら複数種のパラメータを設定することによって、計画者の好み又は知見に合った最適解が導出され得る。以下、計画者の経験若しくは感性又は慣習等に関するパラメータを「選好パラメータ」という。1つの運用又は運転の計画に用いられる複数種の選好パラメータを「選好パラメータベクトル」という。
【0007】
たとえば、計画者の種々の好み又は知見が反映される積付計画において、上記定量的なデータの他に、解に人の好み又は知見を反映させるための複数種の選好パラメータが要される。複数種の選好パラメータは、たとえば使用するパレット数を決定するパラメータ、各パレットの積載率を決定するパラメータ、同じ種類の積み荷をまとめる度合いを決定するパラメータ、積み荷の安定性を決定するパラメータ等を含んでいる。使用するパレット数を決定するパラメータは、輸送コストの低減のために、使用するパレット数が低減されるように設定され得る。各パレットの積載率を決定するパラメータは、輸送コストの低減のために、各パレットの積載率が増加するように設定され得る。同じ種類の積み荷をまとめる度合いを決定するパラメータは、検品の容易性向上のために、同じ種類の積み荷をまとめる度合いが増加するように設定され得る。積み荷の安定性を決定するパラメータは、荷崩れの抑制のために、積み荷の安定性が増加するように設定され得る。
【0008】
各種計画において、複数種の選好パラメータは、互いにトレードオフの関係にある場合が多い。このような場合、全ての選好パラメータを一律に最大化又は最小化することはできない。また、選好パラメータベクトルは、予測できない様々な状況、及び、計画者ごとの好みなどによっても変化する。このため、計画者が、計画のたびに、経験若しくは慣習等の知見又は好みに基づいて選好パラメータベクトルを設定することが考えられる。選好パラメータベクトルは各種計画の解を求めるアルゴリズムの挙動と直接的に関連しており、アルゴリズムに関する知見をもたない者が選好パラメータベクトルを調整することは困難である。
【0009】
特許文献1に記載されている装置は選好パラメータベクトルに相当するパラメータが既に設定されていることを前提としており、特許文献1は最適な選好パラメータベクトルを決定する処理について記載していない。人の好み及び知見が確実に反映された解が導出されるかも不明である。特許文献2に記載されているシステムは、計画者によって設定されたパラメータの下、最適な運転計画に関する解を提示する。このシステムにおいて、計画者は、提示された解に満足するか否かを判断し、満足しない場合にはパラメータを再設定する。選好パラメータベクトルが人によって直接入力されることが前提とされているため、このシステムが用いられたとしても、計画者等の人の好み及び知見が確実に反映されるように各種計画に関する解を導出することは依然として困難である。
【0010】
本開示は、人の好み及び知見を反映させる選好パラメータベクトルが容易且つ確実に決定され得る解導出パラメータベクトルの作成方法、解導出パラメータベクトルの作成システム、及び、解導出パラメータベクトルの作成プログラム、並びに、人の好み及び知見が確実に反映された解が自動的に出力され得る解導出プログラムを説明する。
【課題を解決するための手段】
【0011】
本開示の解導出パラメータベクトルの作成方法は、仮入力データを取得することと、基準パラメータベクトルを取得することと、基準パラメータベクトルに対して所定の演算を行うことによって、複数の仮パラメータベクトルを作成することと、作成された複数の仮パラメータベクトルの各々を設定した複数の仮モデルを作成することと、作成された複数の仮モデルの各々に仮入力データを入力することによって、複数の仮解を導出することと、導出された複数の仮解を表示することと、表示された複数の仮解に対する選択情報を取得することと、取得された選択情報に基づいて、基準パラメータベクトルを更新することと、入力データの入力に応じて解を出力する解導出モデルに設定される解導出パラメータベクトルとして、更新された基準パラメータベクトルを決定することと、を含んでいる。
【0012】
この解導出パラメータベクトルの作成方法において、複数の仮パラメータベクトルが作成され、これらの仮パラメータベクトルに基づいて複数の仮解が導出される。導出された複数の仮解は表示され、表示された複数の仮解の選択情報に基づいて基準パラメータベクトルが更新される。更新された基準パラメータは、解導出モデルに設定される解導出パラメータベクトルとして決定される。この場合、直接的に複数種の選好パラメータを入力することなく、仮解の選択情報に応じて人の好み及び知見が反映された解導出パラメータベクトルが決定される。このため、人の好み及び知見を反映させる解導出パラメータベクトルが容易且つ確実に決定され、人の好み及び知見を確実に反映させた解を導出する解導出モデルが作成され得る。
【0013】
上記解導出パラメータベクトルの作成方法において、複数の仮パラメータベクトルの作成において、少なくとも一つの数値を基準パラメータベクトルに対して加算又は減算することによって複数の仮パラメータベクトルが導出されてもよい。この場合、基準パラメータベクトルに基づく複数の仮パラメータベクトルが容易に作成され得る。
【0014】
上記解導出パラメータベクトルの作成方法において、少なくとも一つの数値は、互いに異なる数値を含んでいてもよい。この場合、より多くの仮パラメータベクトルが導出されるため、より効率的に解導出パラメータベクトルが決定され得る。
【0015】
上記解導出パラメータベクトルの作成方法において、少なくとも一つの数値は、乱数を導出する演算処理によって導出された数値であってもよい。この場合、よりバリエーションに富んだ複数の仮解が表示され、より効率的に解導出パラメータベクトルが決定され得る。
【0016】
上記解導出パラメータベクトルの作成方法において、表示された複数の仮解のうち少なくとも一つが選択された場合に、基準パラメータベクトルの更新において、上記少なくとも一つの仮解の演算に用いられた仮パラメータベクトルに基づいて、基準パラメータベクトルが更新されてもよい。この場合、選択された仮解に応じた仮パラメータベクトルが解導出パラメータベクトルとして決定される。
【0017】
上記解導出パラメータベクトルの作成方法において、更新された基準パラメータベクトルに対して所定の演算を行うことで、複数の仮パラメータベクトルを作成することをさらに含んでおり、複数の仮パラメータベクトルの作成と、複数の仮解の導出と、複数の仮解の表示と、基準パラメータベクトルの更新とは、複数回行われ、解導出パラメータベクトルの決定において、複数回更新された基準パラメータベクトルが解導出パラメータベクトルとして決定されてもよい。この場合、より確実に人の好み及び知見を反映させる解導出パラメータベクトルが決定される。
【0018】
上記解導出パラメータベクトルの作成方法において、仮入力データ及び入力データは、積み荷のサイズ及び数に関する情報を含んでおり、仮解及び解は、複数の積み荷の積み付けのパターンであってもよい。この場合、複数の積み荷の積み付けパターンの選択情報に応じた解導出パラメータベクトルが決定される。この結果、積み付けに関する人の好み及び知見を反映させた解導出パラメータベクトルが容易且つ確実に決定され、人の好み及び知見を確実に反映させた積み付けパターンを出力する解導出モデルが作成され得る。
【0019】
本開示の解導出モデルの作成システムは、第一取得部と、第二取得部と、仮パラメータベクトル作成部と、仮モデル作成部と、導出部と、表示部と、更新部と、決定部と、を備えている。第一取得部は、仮入力データを取得する。第二取得部は、基準パラメータベクトルを取得する。仮パラメータベクトル作成部は、基準パラメータベクトルに対して所定の演算を行うことで、複数の仮パラメータベクトルを作成する。仮モデル作成部は、作成された複数の仮パラメータベクトルの各々を設定した複数の仮モデルを作成する。導出部は、作成された複数の仮モデルの各々に仮入力データを入力することによって、複数の仮解を導出する。表示部は、導出された複数の仮解を表示する。更新部は、表示された複数の仮解に基づいて、基準パラメータベクトルを更新する。決定部は、入力データの入力に応じて解を出力する解導出モデルに設定される解導出パラメータベクトルとして、更新された基準パラメータベクトルを決定する。
【0020】
本開示の解導出パラメータベクトルの作成プログラムは、仮入力データを取得することと、基準パラメータベクトルを取得することと、基準パラメータベクトルに対して所定の演算を行うことによって、複数の仮パラメータベクトルを作成することと、作成された複数の仮パラメータベクトルの各々を設定した複数の仮モデルを作成することと、作成された複数の仮モデルの各々に仮入力データを入力することによって、複数の仮解を導出することと、導出された複数の仮解を表示することと、表示された複数の仮解に対する選択情報を取得することと、取得された選択情報に基づいて、基準パラメータベクトルを更新することと、入力データの入力に応じて解を出力する解導出モデルに設定される解導出パラメータベクトルとして、更新された基準パラメータベクトルを決定することと、をコンピュータに実行させる。
【0021】
本開示の解導出プログラムは、入力データと、上記の解導出パラメータベクトルの作成方法によって作成された解導出パラメータベクトルとを取得することと、解導出パラメータベクトルが設定された解導出モデルに上記入力データを入力することによって、解を導出することと、をコンピュータに実行させる。この場合、人の好み及び知見が確実に反映された解が自動的に出力され得る。
【発明の効果】
【0022】
本開示の解導出パラメータベクトルの作成方法、解導出パラメータベクトルの作成システム、及び、解導出パラメータベクトルの作成プログラムによれば、人の好み及び知見を反映させる選好パラメータベクトルが容易且つ確実に決定され得る。本開示の解導出プログラムによれば、人の好み及び知見が確実に反映された解が自動的に出力され得る。
【図面の簡単な説明】
【0023】
【
図1】
図1は、本実施形態の解導出システムのブロック図である。
【
図2】
図2(a)及び
図2(b)は、積み荷ブロックの例を示す図である。
【
図3】
図3は、積み付け可能位置を示す概念図である。
【
図5】
図5は、解導出パラメータベクトルの作成システムのブロック図である。
【
図6】
図6は、仮解の表示画面の一例を示す図である。
【
図7】
図7は、解導出パラメータベクトルの作成システム及び解導出システムのハードウェア構成の一例を示す図である。
【
図8】
図8は、解導出パラメータベクトルの作成方法を示すフローチャートである。
【
図9】
図9は、仮パラメータベクトルの演算処理を示すフローチャートである。
【
図10】
図10は、仮解の演算処理を示すフローチャートである。
【
図11】
図11は、解導出モデルを用いた解導出方法を示すフローチャートである。
【
図12】
図12は、学習前の選好パラメータベクトルを用いて導出された解の一例を示す図である。
【
図13】
図13は、学習後の選好パラメータベクトルを用いて導出された解の一例を示す図である。
【
図14】
図14は、学習過程の各種の選好パラメータの推移を示す図である。
【発明を実施するための形態】
【0024】
以下、添付図面を参照しながら本開示の解導出システム及び解導出モデルの作成システムを詳細に説明する。図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【0025】
まず、
図1を参照して、本実施形態における解導出システム1の概略構成について説明する。
図1は、解導出システム1のブロック図である。解導出システム1は、後述する解導出モデルの作成システム20において作成された解導出モデルを用いて解を導出する。解導出モデルの作成システム20は、解導出パラメータベクトルの作成システムを兼ねている。解導出モデルは、入力データの入力に応じて解を出力するように学習されたモデルである。解導出モデルには、解導出パラメータベクトルが設定されている。解導出パラメータベクトルは、解の導出に用いられる選好パラメータベクトルであり、複数種の選好パラメータを含んでいる。解導出システム1は、入力データと、解導出モデルとを取得する。解導出システム1は、取得された解導出モデルに、取得された入力データを入力して、解を出力する。
【0026】
本実施形態では、一例として、積み荷の積付計画に関する解の導出について説明するが、解導出システム1及び作成システム20はこれに限定されない。たとえば、解導出システム1及び作成システム20は、工場生産のスケジューリング、又は、発電プラントの運転計画等に関するものであってもよい。本実施形態において、解は、積み荷の積み付けパターンである。
【0027】
解導出システム1は、格納部2と、入力データ取得部3と、解導出モデル取得部4と、解導出部5と、画像作成部6と、出力部7とを備えている。格納部2は、予め記憶されたデータを格納しており、他の機能部から取得され種々のデータを格納する。格納部2は、作成システム20及び解導出システム1以外の外部の機器から入力されたデータを格納していてもよい。格納部2は、作成システム20において作成された解導出パラメータベクトルを格納している。
【0028】
入力データ取得部3は、入力データを取得する。入力データは、格納部2に予め記憶されていてもよい。入力データは、解くべき問題に用いられる問題データである。問題データは、定量的なデータである。本実施形態において、問題データは、たとえば、積み付ける積み荷の種類、各種類の積み荷のサイズ、及び、各種類の積み荷の個数に関する情報を含んでいる。各積み荷は、たとえば、内容物が収容された段ボールなどのケースである。以下の表1に、入力データとしての問題データの一例を示す。入力データは、表1に示されているデータの他に、たとえば、各積み荷の重量、及び、各積み荷の置き場所の情報を含んでいてもよい。また、同表では積み荷の種類が4つとなっているが、積み荷の種類数は2つ又は3つであってもよく、5つ以上であってもよい。
【表1】
【0029】
解導出モデル取得部4は、解導出モデルを取得する。本実施形態において、解導出モデル取得部4は、格納部2から解導出パラメータベクトルを取得する。解導出モデル取得部4は、取得された解導出パラメータベクトルが設定された解導出モデルを作成することによって、解導出モデルを取得する。解導出モデル取得部4は、既に解導出パラメータベクトルが設定された解導出モデルを格納部2から取得してもよい。本実施形態において、解導出パラメータベクトルに含まれる複数種の選好パラメータの各々は、対応する属性を他の選好パラメータが示す属性に対して優先させる重みを示す。属性は、たとえば、ユーザの好み又は知見に関する。ユーザは、たとえば、計画者である。たとえば、各選好パラメータは、ケースの体積、ケースの種類、及び、ケースの位置などに関する属性の重みを示す。
【0030】
解導出部5は、入力データ取得部3によって取得された入力データと解導出モデル取得部4によって取得された解導出モデルとに基づいて解を導出する。解導出部5は、解導出パラメータベクトルが設定された解導出モデルに入力データを入力し、解導出モデルから解を出力する。本実施形態において、解は、複数の積み荷の積み付けのパターンである。
【0031】
画像作成部6は、解導出部5において導出された解に基づいて、ユーザに表示する画像を作成する。本実施形態において、画像作成部6は、解導出部5において導出された解に基づいて、積み荷の積み付けパターンを示す画像を作成する。
【0032】
出力部7は、解導出部5において導出された解を出力する。本実施形態において、出力部7は、画像作成部6において作成された画像を出力する。たとえば、出力部7は、画像作成部6において作成された画像を画面に表示させる。
【0033】
次に、本実施形態における解導出モデルの一例について説明する。本実施形態において、解導出モデルは、積み荷の積み付け計画に用いられる学習済みモデルである。解導出モデルは、解導出パラメータベクトルに含まれている各選好パラメータを係数とする式を含んでいる。本実施形態における積み付け計画は、同一種のケースを組み合わせたブロックが作成され、これらのブロックがパレットに順番に積み付けられることを前提とする。
図2(a)及び
図2(b)は、ブロックの一例を示している。本実施形態において、ブロックは、直方体形状である。
図2(a)は、奇数段と偶数段とでケースを互い違いにおくピンホール積みを示している。ピンホール積みは、安定性に優れている。
図2(b)は、ケースを密集させて配置する棒積みを示している。棒積みは、積載率に優れている。棒積みにおいて、幅方向に並べる数、奥行方向に並べる数、高さ方向に並べる数などは任意である。解導出システム1及び作成システム20は、この他にも多様なブロックの構成を適用可能である。
【0034】
本実施形態における解導出モデルは、パレットの特定の位置に特定のブロックを積み付け、その後、解導出パラメータベクトルが設定された式を用いてブロックを1つずつ積み付ける。
図3及び
図4は、積み付け過程の一例を説明するための概念図である。
図3において、二点鎖線は、ブロックを積み付け可能な位置を示している。以下、ブロッを積み付け可能な位置を、単に「積み付け可能位置」という。たとえば、
図3に示されているように、パレットの左奥に特定のブロックB1が積み付けられ、以降は解導出パラメータベクトルが設定された式に基づいて積み付け可能位置のいずれにブロックを積み付けかが決定される。積み付け可能位置は、たとえば、既に積み付けられたブロックの上側、手前側、及び、右側である。この際、新たなブロックの積み付けは、物理的な制約、すなわち空間に入り切るか否かも考慮される。
【0035】
図4は、積み付け過程を木構造として示している。「T」は、上側を示している。「F」は、手前側を示している。「R」は、右側を示している。パレット底面11の上側にブロックB1を積み付け、積み付け可能な「T」、「F」、及び、「R」のうち、ブロックB1の右側に別のブロックB2が積み付けられた状態を示している。
図4に示されている状態からさらにブロックを積みつける際には、ブロックB1の上側及び手前側、並びに、ブロックB2の上側、手前側、及び、右側のいずれかに次のブロックを積み付けることができる。このように、ブロックの積み付けに応じて変わりうる積み付け可能位置をもとに逐次ブロックの積み付けを行う。解導出部5は、解導出パラメータベクトルが設定された式に基づいて、1つずつブロックを積み付け、積み付けるブロックがなくなった時点において、解の生成を終了する。解導出部5は、1つの解として、問題データとして入力されたケースを全て積みつけた積み付けパターンを導出する。
【0036】
積み付け可能位置は、既に積みつけられたブロックの上側、手前側、及び、右側の3箇所に限定されない。これら以外の位置が、積み付け可能位置であってもよい。たとえば、本実施形態の変形例として、既に積み付けられたブロックから離間した位置に、積み付け可能位置が設定されてもよい。
【0037】
本実施形態において、解導出モデルは、上述した積み付け過程を前提として、作成される。解導出モデルは、上述した式として、たとえば、以下に示される式(1)を含んでいる。解導出モデル取得部4は、たとえば、式(1)におけるw
total_size、w
unity、w
proximity、w
stability、w
area、w
zmax、及び、w
heightの各々に、一つの解導出パラメータベクトルにおける対応する選好パラメータを設定することによって、解導出モデルを作成する。式(1)は、積み荷の積み付け計画における解導出パラメータベクトルが設定された式の一例を示している。積み荷の積み付け計画において解導出モデルに含まれる式は、式(1)に限定されない。
【数1】
【0038】
Fは、スコアである。上述した積み付け過程において、解導出部5は、解導出モデルに基づいて、どの種類のケースをどのようなブロックの構成でどの積み付け可能位置に積むべきかを決定する。解導出部5は、積み付け可能位置及び各種条件のすべてに対して、式(1)で計算されるスコアFを演算し、これが最大となるものを選択する。解導出モデルは、多目的最適化問題である。
【0039】
wtotal_size、wunity、wproximity、wstability、warea、wzmax、及び、wheightの各々は、選好パラメータであり、解導出モデル取得部4によって格納部2から取得される。式(1)は、これらの選好パラメータを含む解導出パラメータベクトルから、解導出モデル取得部4によって作成される。wtotal_sizeは、体積が大きい種類のケースを積みつける優先度を示す属性の重みに関する選好パラメータである。wunityは、同じ種類のケースを同じパレットに置く優先度を示す属性の重みに関する選好パラメータである。wproximityは、同じ種類のケースを隣同士に置く優先度を示す属性の重みに関する選好パラメータである。wstabilityは、偶数段と奇数段とが互い違いとなる積み方を行う優先度を示す属性の重みに関する選好パラメータである。wareaは、ブロックの上面積を大きくする優先度を示す属性の重みに関する選好パラメータである。wzmaxは、ブロックの積み付け後の頭頂部を小さくする優先度を示す属性の重みに関する選好パラメータである。wheightは、ブロックの高さを低くする優先度を示す属性の重みに関する選好パラメータである。これらの選好パラメータの値は、アルゴリズムの知見をもたない者が直接調整することは至難である。
【0040】
ftotal_size、funity、fproximity、fstability、farea、vzmaz、及び、vheightの各々は、サブスコアである。各サブスコアは、その値が概ね0~1となるように規格化されている。各サブスコアは、解導出部5によって、問題データと上述した前提の条件とに基づいて決定される。各サブスコアは、積み付けの進捗状況、ケースの種類、ブロックの構成、及び、ブロックの積み付け可能位置などによって決定される。サブスコアは、ブロックの積み付け可能位置などに応じて、複数のパターンを取り得る。ftotal_sizeは、積み付けようとしているブロックを構成するケースの総体積を、残りケースの総体積によって割った値である。funityは、既に積み付けられた同じ種類のケースと同じパレットに置く場合に1の値をとり、それ以外の場合にゼロの値をとる。fproximityは、既に積み付けられた同じ種類のケースと隣接した位置に置く場合に1の値をとり、それ以外の場合にゼロの値をとる。fstabilityは、ピンホール積みのブロックである場合に1の値をとり、それ以外の場合にゼロの値をとる。fareaは、積み付けようとしているブロックの上面積を、パレットの面積によって割った値である。vzmazは、積み付け後の積み荷の最上部の高さを、パレットに積み付け可能な最大の高さによって割った値である。vheightは、積み付けようとしているブロックの高さを、パレットに積み付け可能な最大の高さによって割った値である。
【0041】
次に、
図5を参照して、本実施形態における解導出パラメータベクトルの作成システム20の概略構成について説明する。
図5は、作成システム20のブロック図である。作成システム20は、種々のデータに基づいて学習された選好パラメータを解導出パラメータベクトルとして出力する。
【0042】
作成システム20は、格納部21と、仮入力データ取得部22と、基準パラメータ取得部23と、仮パラメータベクトル作成部24と、仮モデル作成部25と、仮解導出部26と、画像作成部27と、表示部28と、を備えている。作成システム20は、さらに、選択情報取得部31と、基準パラメータベクトル更新部32と、パラメータベクトル決定部33と、解導出モデル決定部34とを備えている。
【0043】
格納部21は、予め記憶されたデータを格納しており、他の機能部から取得され種々のデータを格納する。格納部21は、作成システム20の外部の機器から入力されたデータを格納していてもよい。たとえば、格納部21は、仮入力データ取得部22、基準パラメータ取得部23、仮パラメータベクトル作成部24、及び、選択情報取得部31の少なくとも一つから取得されたデータを格納する。
【0044】
仮入力データ取得部22は、仮入力データを取得する。仮入力データは、格納部21に予め記憶されていてもよい。仮入力データは、各種の選好パラメータの学習に用いられる教師データの一部である。仮入力データは、上述した入力データと同一の種別のデータから成る仮の問題データである。本実施形態において、仮入力データは、たとえば、上述した入力データと同様に、積み付ける積み荷の種類、各種類の積み荷のサイズ、及び、各種類の積み荷の個数に関する情報を含んでいる。
【0045】
本実施形態において、仮入力データ取得部22は、仮入力データ作成部41を含んでいる。仮入力データ作成部41は、仮入力データを作成する。たとえば、仮入力データ作成部41は、格納部21に格納されている一部の仮の問題データから、仮想的な仮の問題データを作成する。たとえば、仮入力データ作成部41は、過去のデータに基づいて仮想的な仮の問題データをランダムに生成する。たとえば、仮入力データ作成部41は、積み付けに関する過去の問題データにα,β,γの3種類のケースが含まれている場合に、過去の問題データにおける各ケースα,β,γの最小個数と最大個数との範囲内において個数をランダムに設定した仮の問題データを作成する。たとえば、仮入力データ作成部41は、ケースαの個数が10~100個であり、ケースβの個数が20~100個であり、ケースγの個数が50~400個である場合、ケースαを30個、ケースβを50個、ケースγを200個などとした仮の問題データを作成する。
【0046】
基準パラメータ取得部23は、基準パラメータを取得する。基準パラメータは、たとえば、解導出パラメータベクトルに含まれている複数種の選好パラメータのいずれかと同一の属性を有するパラメータである。基準パラメータは、解導出パラメータベクトルに含まれている複数種の選好パラメータのいずれかと同一の構成を有している。たとえば、複数種の基準パラメータの各々は、wtotal_size、wunity、wproximity、wstability、warea、wzmax、及び、wheightのいずれかに対応する。
【0047】
本実施形態において、基準パラメータ取得部23は、解導出パラメータベクトルに含まれている複数種の選好パラメータの各々に対応する基準パラメータを取得する。解導出パラメータベクトルに含まれている複数種の選好パラメータの各々に対応する基準パラメータは、基準パラメータベクトルを構成する。基準パラメータ取得部23は、解導出パラメータベクトルに対応する基準パラメータベクトルを取得する。基準パラメータ取得部23は、たとえば、格納部21から基準パラメータを取得する。基準パラメータは、格納部21にデータベースを構築する際に設定された値であってもよいし、一つ前の学習よって得られた値であってもよい。
【0048】
仮パラメータベクトル作成部24は、基準パラメータ取得部23において取得された基準パラメータに基づいて、仮パラメータベクトルを作成する。仮パラメータベクトル作成部24は、基準パラメータベクトルに対して所定の演算を行うことで、複数の仮パラメータベクトルを作成する。各仮パラメータベクトルは、解導出パラメータベクトルと同一の構成を有している。各仮パラメータベクトルは、複数種の仮パラメータを含んでいる。各仮パラメータベクトルに含まれる複数種の仮パラメータの各々は、解導出パラメータベクトルに含まれている複数種の選好パラメータの各々に対応する。たとえば、複数種の仮パラメータベクトルの各々は、wtotal_size、wunity、wproximity、wstability、warea、wzmax、及び、wheightのいずれかに対応する。仮パラメータは、基準パラメータを摂動させた値である。
【0049】
仮パラメータベクトル作成部24は、数値導出部42と、仮パラメータベクトル導出部43とを含んでいる。仮パラメータベクトル作成部24は、数値導出部42において導出された数値を基準パラメータベクトルに対して加算又は減算することによって、複数の仮パラメータベクトルを作成する。
【0050】
数値導出部42は、たとえば、仮パラメータベクトルの作成に用いられる少なくとも一つの数値を導出する。数値導出部42は、たとえば、乱数を導出する演算処理に基づいて、上記数値を導出する。換言すれば、数値導出部42によって導出される数値は、乱数に関する数値である。「乱数に関する数値」とは、ユーザがいずれの数値に決定されるか予測できない数値である。数値導出部42は、たとえば、複数種の基準パラメータの少なくとも一つに対して、独立かつ適当な大きさの数値を導出する。数値導出部42は、たとえば、各基準パラメータに対して、独立かつ適当な大きさの数値を導出する。すなわち、数値導出部42は、複数の数値を導出する。本実施形態において、複数の数値は、演算処理によって演算された複数の乱数に関する数値である。複数の数値は、同一の値を含んでいてもよい。
【0051】
仮パラメータベクトル導出部43は、基準パラメータ取得部23において取得された基準パラメータに対して、数値導出部42において導出された少なくとも一つの数値を加算又は減算することによって、複数の仮パラメータベクトルを作成する。たとえば、仮パラメータベクトル導出部43は、基準パラメータベクトルに含まれる全ての基準パラメータの各々に対して、数値導出部42において導出された数値を加算又は減算する。これによって、各仮パラメータベクトルが作成される。この場合、複数の基準パラメータが同時に摂動されるため、多様な仮パラメータが導出される。このため、この手法は、ユーザの好み又は知見をおおまかに反映させる学習初期に適している。
【0052】
本実施形態の変形例として、仮パラメータベクトル導出部43は、基準パラメータベクトルに含まれる基準パラメータを選択し、選択された基準パラメータに対して、数値導出部42において導出された数値を加算又は減算してもよい。この手法は、特定の基準パラメータのみを摂動させるため、得られる仮パラメータベクトルの多様性は欠くが、学習末期における細かなチューニングに適している。
【0053】
本実施形態の変形例として、数値導出部42は、一つ前の学習によって更新された基準パラメータの共分散行列Cを計算し、多変数正規分布N(0,C)にしたがう乱数に基づく数値を導出する。仮パラメータベクトル導出部43は、数値導出部42によって導出された乱数に基づく数値を基準パラメータに加算又は減算する。たとえば、この乱数に基づく値は、多変数正規分布N(0,C)にしたがう乱数の定数倍である。たとえば、以下の式(2)、式(3)、及び式(4)が成り立つ。
【数2】
【数3】
【数4】
【0054】
式(3)は、乱数ベクトルrが多変数正規分布N(0,C)にしたがって作成されることを示している。式(2)の右辺の第一項は、基準パラメータ取得部23によって取得された基準パラメータベクトルである。σは、正の適当な定数である。式(2)の右辺の第二項は、σと乱数ベクトルrとの積である。式(2)の左辺は、iの添字の値に対応する一つの仮パラメータベクトルを示している。L’は、一つ前の学習によって更新された基準パラメータの添字集合である。|L’|は、L’の個数である。
【0055】
式(2)から式(4)を用いた手法は、特許文献3に記載の手法に関する。この場合、基準パラメータベクトルに含まれる基準パラメータ間の相関を考慮した摂動が行われる。複数種の基準パラメータが互いに強く関連するような場合に適している。
【0056】
仮モデル作成部25は、仮パラメータベクトル作成部24において作成された仮パラメータベクトルに基づいて、仮モデルを作成する。仮モデルは、仮入力データの入力に応じて仮解を出力する仮の解導出モデルである。仮モデルは、解導出モデルと同一の構成を有している。たとえば、仮モデルは、式(1)と同様の式を含んでいる。1つの仮モデルには、1つの仮パラメータベクトルが設定される。仮モデル作成部25は、複数の仮パラメータベクトルの各々を設定した複数の仮モデルを作成する。仮モデルにおいては、仮パラメータベクトルがwtotal_size、wunity、wproximity、wstability、warea、wzmax、及び、wheightに設定される。仮モデル作成部25は、式(1)におけるwtotal_size、wunity、wproximity、wstability、warea、wzmax、及び、wheightの各々に、一つの仮パラメータベクトルにおける対応する仮パラメータを設定することによって、仮モデルを作成する。本実施形態において、仮モデル作成部25は、仮パラメータベクトル作成部24によって作成された複数の仮パラメータベクトルの各々に対応する仮モデルを作成する。すなわち、仮モデル作成部25は、複数の仮モデルを作成する。
【0057】
仮解導出部26は、仮入力データ取得部22によって取得された仮入力データと、仮モデル作成部25によって作成された仮モデルとに基づいて、仮解を導出する。仮解導出部26は、仮モデル作成部25によって作成された仮モデルに仮入力データを入力し、仮モデルから仮解を出力する。本実施形態において、仮解導出部26は、解導出部5が解を導出する手法と同様の手法によって、仮解を導出する。仮解導出部26は、複数の仮モデルに基づいて、複数の仮解を導出する。仮解導出部26は、複数の仮モデルの各々に仮入力データを入力することによって、各仮モデルに対応する仮解を導出する。本実施形態において、仮解は、解と同様に、複数の積み荷の積み付けのパターンである。
【0058】
画像作成部27は、仮解導出部26において導出された複数の仮解に基づいて、ユーザに表示する画像を作成する。本実施形態において、画像作成部27は、仮解導出部26において導出された仮解に基づいて、積み荷の積み付けパターンを示す複数の画像を作成する。複数の画像は、仮解導出部26において導出された複数の仮解に対応している。複数の画像と複数の仮解とは、一対一の関係で対応している。
【0059】
表示部28は、画像作成部27において作成された複数の画像を表示する。換言すれば、表示部28は、導出された複数の仮解を表示する。表示部28は、たとえば、
図6に示されているように、互いに異なる仮解を示す複数の画像を並べて表示する。たとえば、ユーザは、
図6において、「学習」と表示されているボタンをクリックすることによって、ボタンに対応する画像を選択する。
【0060】
選択情報取得部31は、ユーザによって選択された仮解に対応する選択情報を取得する。選択情報取得部31は、ユーザによって選択された仮解に対応する仮パラメータベクトルを特定する情報を取得する。たとえば、ユーザは、表示部28によって表示された複数の画像から少なくとも一つを選択する。選択情報取得部31は、ユーザによって選択された画像に対応する仮パラメータベクトルを特定する情報を取得する。換言すれば、選択情報取得部31は、ユーザによって選択された仮解に対応する仮パラメータベクトルを特定する情報を取得する。選択情報取得部31は、仮解が選択されなかった場合には、たとえば、仮パラメータベクトル作成部24に再度仮パラメータベクトルを作成させ、仮解導出部26に新たに仮解を導出させる。本実施形態の変形例として、選択情報取得部31は、ユーザの選択によって、複数の仮解に対応する複数の仮パラメータベクトルの優先順位を取得してもよい。選択情報は、仮解が選択されないという情報であってもよい。
【0061】
基準パラメータベクトル更新部32は、表示された複数の仮解に基づいて、基準パラメータベクトルを更新する。基準パラメータベクトル更新部32は、選択情報取得部31によって取得された選択情報に基づいて、基準パラメータベクトルを更新する。換言すれば、基準パラメータベクトル更新部32は、ユーザによって選択された仮解に対応する仮パラメータベクトルに基づいて、基準パラメータベクトルを更新する。本実施形態において、基準パラメータベクトル更新部32は、選択された仮解の一つに対応する仮パラメータベクトルを基準パラメータベクトルとして更新する。
【0062】
本実施形態の変形例において、基準パラメータベクトル更新部32は、選択された複数の仮解に対応する複数の仮パラメータベクトルの平均値を演算し、演算された平均値を基準パラメータベクトルとして更新してもよい。この場合、基準パラメータベクトル更新部32は、算術平均によって平均値を演算してもよいし、重み付き平均によって平均値を演算してもよい。たとえば、選択情報取得部31が、複数の仮パラメータベクトルの優先順位を取得した場合には、取得された優先順位に応じた重み付けが行われてもよい。
【0063】
本実施形態のさらに別の変形例において、基準パラメータベクトル更新部32は、1未満の学習率を設定して、基準パラメータベクトルを更新してもよい。たとえば、基準パラメータベクトル更新部32は、式(5)によって求められた値に、基準パラメータベクトルを更新してもよい。
【数5】
【0064】
ηは、学習率であり、0より大きく1より小さい。式(5)の第一項は、現在の基準パラメータベクトルを示している。式(5)の第二項は、選択された仮解に対応する仮パラメータベクトルから現在の基準パラメータベクトルを減算し、学習率を積算した値である。式(5)の第二項における、選択された仮解に対応する仮パラメータベクトルは、選択された仮解の一つに対応する仮パラメータベクトルであってもよいし、選択された複数の仮解に対応する複数の仮パラメータベクトルの平均値であってもよい。
【0065】
パラメータベクトル決定部33は、基準パラメータベクトル更新部32において更新された基準パラメータベクトルを、解導出モデルに設定される解導出パラメータベクトルとして決定する。パラメータベクトル決定部33は、基準パラメータベクトルの学習を終了する場合に、その時点での基準パラメータベクトルを、解導出パラメータベクトルとして決定する。本実施形態では、パラメータベクトル決定部33が、基準パラメータベクトルの学習を終了するか否かを判断する。
【0066】
解導出モデル決定部34は、パラメータベクトル決定部33において決定された解導出パラメータベクトルに基づいて、解導出モデルに関する情報を決定し、決定された情報を格納部21に格納する。解導出モデル決定部34は、パラメータベクトル決定部33において決定された解導出パラメータベクトルが設定された解導出モデル自体を格納部21に格納してもよいし、解導出パラメータベクトルを格納部21に格納してもよい。
【0067】
次に、
図7を参照して、解導出システム1及び作成システム20のハードウェア構成について説明する。
図7は、解導出システム1及び作成システム20のハードウェア構成の一例を示す図である。
図7に示されている例において、解導出システム1と作成システム20とは、一体に構成されている。解導出システム1と作成システム20とは、互いに分離して構成されていてもよい。
【0068】
解導出システム1と作成システム20とは、システム100を含んでいる。システム100は、プロセッサ101と、主記憶装置102と、補助記憶装置103と、通信装置104と、入力装置105と、出力装置106とを備えている。システム100は、これらのハードウェアと、プログラム等のソフトウェアとにより構成された1又は複数のコンピュータを含んでいる。解導出システム1と作成システム20とは、ハードウェアと協働して実現されている。
【0069】
システム100が、複数のコンピュータによって構成される場合には、これらのコンピュータはローカルで接続されてもよいし、インターネット又はイントラネットなどの通信ネットワークを介して接続されてもよい。この接続によって、論理的に1つの解導出システム1と作成システム20とが構築される。
【0070】
プロセッサ101は、オペレーティングシステム及びアプリケーション・プログラムなどを実行する。主記憶装置102は、ROM(Read Only Memory)及びRAM(Random Access Memory)により構成される。たとえば、解導出システム1及び解導出モデルの作成システム20の各種機能部の少なくとも一部は、プロセッサ101及び主記憶装置102によって実現され得る。
【0071】
補助記憶装置103は、ハードディスク及びフラッシュメモリなどにより構成される記憶媒体である。補助記憶装置103は、一般的に主記憶装置102よりも大量のデータを記憶する。たとえば、格納部2,21の少なくとも一部は、補助記憶装置103によって実現され得る。
【0072】
通信装置104は、ネットワークカード又は無線通信モジュールにより構成される。たとえば、入力データ取得部3、解導出モデル取得部4、出力部7、仮入力データ取得部22、及び、基準パラメータ取得部23の少なくとも一部は、通信装置104によって実現され得る。入力装置105は、キーボード、マウス、及び、タッチパネルなどにより構成される。たとえば、入力データ取得部3、仮入力データ取得部22、及び、選択情報取得部31の少なくとも一部は、入力装置105によって実現され得る。出力装置106は、ディスプレイ及びプリンタなどにより構成される。たとえば、出力部7、及び、表示部28の少なくとも一部は、出力装置106によって実現され得る。たとえば、出力装置106は、画像作成部6及び画像作成部27の少なくとも一つにおいて作成された画像をディスプレイに表示する。
【0073】
補助記憶装置103は、予め、プログラム及び処理に必要なデータを格納している。解導出プログラムは、解導出システム1の各機能要素をコンピュータに実行させる。解導出モデル作成プログラムは、解導出モデルの作成システム20の各機能要素をコンピュータに実行させる。解導出モデル作成プログラムは、解導出パラメータベクトル作成プログラムを兼ねている。プログラムによって、たとえば、後述する処理S11から処理S22、処理S31から処理S32、処理S41から処理S45、及び、処理S51から処理S56がコンピュータにおいて実行される。このプログラムは、たとえば、CD-ROM、DVD-ROM、半導体メモリなどの有形の記録媒体に記録された上で提供されてもよい。このプログラムは、データ信号として通信ネットワークを介して提供されてもよい。
【0074】
次に、
図8、
図9、及び、
図10を参照して、解導出パラメータベクトルの作成方法について説明する。
図8は、解導出パラメータベクトルの作成方法を示すフローチャートである。まず、仮入力データ取得部22が仮入力データを取得する(処理S11)。
【0075】
次に、基準パラメータ取得部23が基準パラメータを取得する(処理S12)。本実施形態において、基準パラメータ取得部23は、格納部21から、複数種の基準パラメータを含む基準パラメータベクトルを取得する。
【0076】
次に、仮パラメータベクトル作成部24が仮パラメータベクトルの演算処理を実行する(処理S13)。本実施形態において、仮パラメータベクトル作成部24は、この演算処理において、処理S12において取得された基準パラメータベクトルに基づいて、複数の仮パラメータベクトルを作成する。仮パラメータベクトル作成部24は、基準パラメータベクトルに対して所定の演算を行うことによって、複数の仮パラメータベクトルを作成する。
【0077】
次に、仮モデル作成部25が仮モデルを作成する(処理S14)。仮モデル作成部25は、処理S13において作成された仮パラメータベクトルに基づいて仮モデルを作成する。仮モデル作成部25は、仮パラメータベクトルを設定した仮モデルを作成する。本実施形態において、仮モデル作成部25は、処理S13において導出された複数の仮パラメータベクトルから一つを選択し、選択された仮パラメータベクトルが設定された仮モデルを作成する。仮モデル作成部25は、たとえば、式(1)のwtotal_size、wunity、wproximity、wstability、warea、wzmax、及び、wheightに、選択された仮パラメータベクトルを設定する。
【0078】
次に、仮解導出部26が仮解の演算処理を実行する(処理S15)。仮解導出部26は、処理S11において取得された仮入力データと、処理S14において作成された仮モデルとに基づいて仮解を導出する。仮解導出部26は、処理S14において作成された仮モデルに仮入力データを入力することによって仮解を導出する。
【0079】
次に、仮解導出部26は、処理S13において作成された全ての仮パラメータベクトルについて、仮解が導出されたか否かを判断する(処理S16)。全ての仮パラメータベクトルについて仮解が導出されていないと判断された場合には、処理は処理S14に戻る。これによって、処理S14及び処理S15が複数回行われることによって、仮モデル作成部25は複数の仮パラメータベクトルの各々を設定した複数の仮モデルを作成し、仮解導出部26は複数の仮解を導出する。仮解導出部26は、複数の仮モデルの各々に仮入力データを入力することによって、複数の仮解を導出する。
【0080】
全ての仮パラメータベクトルについて仮解が導出されたと判断された場合には、画像作成部27が画像を作成する(処理S17)。画像作成部27は、処理S14から処理S16によって導出された複数の仮解のそれぞれに対応する複数の画像を作成する。本実施形態において、複数の画像の各々は、各仮解に対応する積み荷の積み付けパターンを示している。
【0081】
処理S17が終了すると、表示部28が画像を表示する(処理S18)。表示部28は、処理S17において作成された複数の画像を表示する。換言すれば、表示部28は、複数の仮解を表示する。
【0082】
処理S18が終了すると、選択情報取得部31が選択情報が取得されたか否かを判断する(処理S19)。選択情報取得部31は、処理S18において表示された仮解に対する選択情報を取得する。選択情報取得部31は、ユーザによって選択された画像に対応する選択情報を取得する。換言すれば、選択情報取得部31は、ユーザによって選択された仮解に対応する仮パラメータベクトルを特定する情報を取得する。選択情報が取得されていないと判断された場合には、選択情報取得部31は、処理S19を繰り返す。
【0083】
選択情報が取得されたと判断された場合には、基準パラメータベクトル更新部32が基準パラメータベクトルを更新する(処理S20)。基準パラメータベクトル更新部32は、処理S19において取得された選択情報に基づいて、基準パラメータベクトルを更新する。換言すれば、基準パラメータベクトル更新部32は、処理S19において選択された仮解に対応する仮パラメータベクトルに基づいて、基準パラメータベクトルを更新する。さらに換言すれば、基準パラメータベクトル更新部32は、表示された複数の仮解のうち少なくとも一つが選択された場合に、選択された少なくとも一つの仮解の演算に用いられた仮パラメータベクトルに基づいて、基準パラメータベクトルを更新する。
【0084】
処理S20が終了すると、パラメータベクトル決定部33が基準パラメータベクトルの学習を終了するか否かを判断する(処理S21)。学習を終了しないと判断された場合には、処理は処理S13に戻る。この場合、処理S13から処理S21は、複数回行われる。この場合、処理S13において、更新された基準パラメータベクトルに対して所定の演算を行うことで、複数の仮パラメータベクトルを導出する。パラメータベクトル決定部33は、予め決められた回数の学習が行われた場合に学習を終了すると判断する。パラメータベクトル決定部33は、ユーザの操作に応じて学習を終了すると判断してもよい。
【0085】
学習を終了すると判断された場合には、パラメータベクトル決定部33が解導出パラメータベクトルを決定する(処理S22)。パラメータベクトル決定部33は、直前の処理S20において更新された基準パラメータベクトルを解導出パラメータベクトルとして決定する。パラメータベクトル決定部33は、処理S13から処理S21が複数回行われることによって、複数回更新された基準パラメータベクトルを解導出パラメータベクトルとして決定する。
【0086】
処理S22が終了すると、解導出モデル決定部34が解導出モデルに関する情報を決定する(処理S23)。解導出モデル決定部34は、処理S21において決定された解導出パラメータベクトルに基づいて、解導出モデルに関する情報を決定する。処理S23が終了すると、一連の処理が終了する。
【0087】
次に、
図9を参照して、処理S13における仮パラメータベクトルの演算処理について詳細に説明する。
図9は、仮パラメータベクトルの演算処理を示すフローチャートである。
【0088】
まず、数値導出部42が乱数に関する数値を導出する(処理S31)。少なくとも一つの数値は、乱数を導出する演算処理によって導出された数値である。本実施形態において、数値導出部42は、演算処理によって演算された複数の乱数を複数の数値として導出する。複数の数値は、互いに異なる数値を含むように調整されてもよい。
【0089】
次に、仮パラメータベクトル導出部43が、処理S12において取得された基準パラメータベクトルと処理S31において導出された数値とに基づいて、仮パラメータベクトルを導出する(処理S32)。仮パラメータベクトル導出部43は、基準パラメータベクトルに対して、処理S31において導出された少なくとも一つの数値を加算又は減算することによって、複数の仮パラメータベクトルを導出する。各仮パラメータベクトルは、たとえば、式(1)におけるwtotal_size、wunity、wproximity、wstability、warea、wzmax、及び、wheightの仮の選好パラメータを含んでいる。処理S32が終了すると、仮パラメータベクトルの演算処理が終了され、導出された複数の仮パラメータベクトルが返される。
【0090】
次に、
図10を参照して、処理S14における仮解の演算処理について詳細に説明する。
図10は、仮解の演算処理を示すフローチャートである。
【0091】
まず、仮解導出部26が、処理S11において取得された仮入力データに基づいて、サブスコアを決定する(処理S41)。サブスコアは、たとえば、式(1)におけるftotal_size、funity、fproximity、fstability、farea、vzmaz、及び、vheightである。仮解導出部26は、設定され得るサブスコアの複数のパターンから1つのパターンを決定する。
【0092】
次に、仮解導出部26が、スコアを演算する(処理S42)。仮解導出部26は、処理S41において決定されたサブスコアと、処理S32において導出された仮パラメータベクトルが設定された式(1)とからスコアを演算する。
【0093】
次に、仮解導出部26が、サブスコアの全てのパターンについて、スコアを演算したか否かを判断する(処理S43)。全てのパターンについてスコアが演算されていないと判断された場合には、処理は処理S41に戻る。
【0094】
全てのパターンについてスコアが演算されたと判断された場合には、仮解導出部26は、演算されたスコアに基づいてパターンを決定する(処理S44)。仮解導出部26は、処理S41から処理S43の繰り返しによって演算された複数のスコアのうち最も大きいスコアに対応するパターンを決定する。換言すれば、仮解導出部26は、処理S44において1つのブロックの種類及び配置などを決定する。
【0095】
処理S44が終了すると、仮解導出部26は、仮解が作成されたか否かを判断する(処理S45)。仮解が作成されていないと判断された場合には、処理は処理S41に戻る。仮解導出部26は、処理S41から処理S44を繰り返すことによって、1つずつブロックを積み付ける。仮解導出部26は、たとえば、積み付けるブロックがないと判断した場合に、仮解が作成されたと判断する。仮解が作成されたと判断された場合には、仮解の演算処理が終了され、仮解が返される。
【0096】
以上、解導出パラメータベクトルの作成方法の一例について説明したが、各処理の順序はこれに限定されない。たとえば、処理S11は、処理S15の前に実行されればよい。
【0097】
次に、
図11を参照して、解導出システム1を用いた解導出方法について説明する。
図11は、解導出パラメータベクトルの作成方法を示すフローチャートである。この解導出方法の前に、格納部2に解導出パラメータベクトルが格納されている。たとえば、格納部2には、解導出パラメータベクトルの作成方法における処理S22において決定された解導出パラメータベクトルが格納されている。まず、入力データ取得部3が入力データを取得する(処理S51)。
【0098】
次に、解導出モデル取得部4が解導出パラメータベクトルを取得する(処理S52)。本実施形態において、解導出モデル取得部4は、格納部2から、複数種の選好パラメータを含む解導出パラメータベクトルを取得する。
【0099】
次に、解導出モデル取得部4が解導出モデルを取得する(処理S53)。解導出モデル取得部4は、処理S52において取得された解導出パラメータベクトルが設定された解導出モデルを取得する。解導出モデル取得部4は、たとえば、式(1)のwtotal_size、wunity、wproximity、wstability、warea、wzmax、及び、wheightに、解導出パラメータベクトルが設定された解導出モデルを取得する。
【0100】
次に、解導出部5が解の演算処理を実行する(処理S54)。解導出部5は、処理S51において取得された入力データと、処理S53において取得された解導出モデルとに基づいて解を導出する。解導出部5は、仮解導出部26と同様に、解導出パラメータベクトルを摂動させたパラメータを作成することによって、複数の解を導出してもよい。
【0101】
解導出部5によって実行される解の演算処理は、仮解導出部26によって実行される仮解の演算処理と同様である。解導出部5によって実行される解の演算処理は、処理S41から処理S45を、仮解導出部26を解導出部5に、仮入力データを入力データに、仮パラメータベクトルを解導出パラメータベクトルに、仮解を解に、それぞれ読み替えた処理を実行する。
【0102】
次に、画像作成部6が画像を作成する(処理S55)。画像作成部6は、処理S54によって導出された解に対応する画像を作成する。本実施形態において、作成された画像は、解に対応する積み荷の積み付けパターンを示している。処理S54において、複数の解が導出された場合には、画像作成部6は、複数の解のそれぞれに対応する複数の画像を作成する。
【0103】
次に、出力部7が解を出力する(処理S56)。たとえば、出力部7は、画像作成部6において作成された画像を画面に表示させる。出力部7は、画像作成部6において作成された画像を別の機器に出力してもよい。
【0104】
以上、解導出方法の一例について説明したが、各処理の順序はこれに限定されない。たとえば、処理S51は、処理S54の前に実行されればよい。
【0105】
次に、本開示の解導出パラメータベクトルの作成方法、解導出パラメータベクトルの作成システム、解導出パラメータベクトルの作成プログラム、及び、解導出プログラムの作用効果について説明する。
【0106】
本開示の解導出パラメータベクトルの作成方法、作成システム、及び、作成プログラムにおいて、複数の仮パラメータベクトルが作成され、これらの仮パラメータベクトルに基づいて複数の仮解が導出される。導出された複数の仮解は表示され、表示された複数の仮解の選択情報に基づいて基準パラメータベクトルが更新される。更新された基準パラメータは、解導出モデルに設定される解導出パラメータベクトルとして決定される。この場合、ユーザが直接的に複数種の選好パラメータを入力することなく、仮解の選択情報に応じて人の好み及び知見が反映された解導出パラメータベクトルが決定される。このため、人の好み及び知見を反映させる解導出パラメータベクトルが容易且つ確実に決定され、人の好み及び知見を確実に反映させた解を導出する解導出モデルが作成され得る。たとえば、ユーザが直接選好パラメータを設定しなくとも、熟練の計画者の好み及び知見を反映させる解導出パラメータベクトルが容易且つ確実に決定され得る。
【0107】
図12は、予め格納部21に格納されている基準パラメータベクトルを用いて導出された解としての積み付けパターンを示す画像の一例を示している。換言すれば、
図12は、本開示の学習前の選好パラメータベクトルを用いて導出された解の一例を示す図である。
図13は、本開示の解導出パラメータベクトルを用いて導出された解としての積み付けパターンを示す画像の一例を示している。換言すれば、
図13は、本開示の学習後の選好パラメータベクトルを用いて導出された解の一例を示す図である。解導出パラメータベクトルの作成においては、「同じ種類のケースがまとまって置かれている」仮解の画像を選択した。
図14は、解導出パラメータベクトルの作成方法において仮解の選択と基準パラメータベクトルの更新とを繰り返す過程における、各種の基準パラメータの推移を示している。換言すれば、
図14は、学習過程の各種の選好パラメータの推移を示している。
図14において、データD1はw
total_sizeを示し、データD2はw
unityを示し、データD3はw
proximityを示し、データD4はw
stabilityを示し、データD5はw
areaを示し、データD6はw
zmaxを示し、データD7はw
heightを示している。
【0108】
図14に示されているように、当初の基準パラメータベクトルにおいてはw
area及びw
unityの値が大きい。このため、
図12に示されているように、上面積の大きいブロックが優先的に下方に積み付けられていた。仮解の選択と基準パラメータベクトルの更新とを繰り返すにつれて、w
total_sizeの値が大きくなっている。そして、
図13に示されているように、解導出パラメータベクトルを用いて導出された解では、総体積の大きい種類のケースをまとめたブロックを下方に積み付けられるようになった。解導出パラメータベクトルの作成過程において、ユーザは一切個々の選好パラメータの数値を参照しておらず、ユーザによる選好パラメータの直接的な入力は行われていない。
【0109】
複数の仮パラメータベクトルの作成において、少なくとも一つの数値を基準パラメータベクトルに対して加算又は減算することによって複数の仮パラメータベクトルが導出される。この場合、基準パラメータベクトルに基づく複数の仮パラメータベクトルが容易に作成され得る。
【0110】
少なくとも一つの数値は、互いに異なる数値を含んでいてもよい。この場合、より多くの仮パラメータベクトルが導出されるため、より効率的に解導出パラメータベクトルが決定され得る。
【0111】
少なくとも一つの数値は、乱数を導出する演算処理によって導出された数値であってもよい。この場合、よりバリエーションに富んだ複数の仮解が表示され、より効率的に解導出パラメータベクトルが決定され得る。
【0112】
表示された複数の仮解のうち少なくとも一つが選択された場合に、基準パラメータベクトルの更新において、上記少なくとも一つの仮解の演算に用いられた仮パラメータベクトルに基づいて、基準パラメータベクトルが更新される。この場合、選択された仮解に応じた仮パラメータベクトルが解導出パラメータベクトルとして決定される。
【0113】
更新された基準パラメータベクトルに対して所定の演算を行うことで、複数の仮パラメータベクトルが作成される。複数の仮パラメータベクトルの作成と、複数の仮解の導出と、複数の仮解の表示と、基準パラメータベクトルの更新とは、複数回行われる。解導出パラメータベクトルの決定において、複数回更新された基準パラメータベクトルが解導出パラメータベクトルとして決定される。この場合、より確実に人の好み及び知見を反映させる解導出パラメータベクトルが決定される。
【0114】
仮入力データ及び入力データは、積み荷のサイズ及び数に関する情報を含んでおり、仮解及び解は、複数の積み荷の積み付けのパターンである。この場合、複数の積み荷の積み付けパターンの選択情報に応じた解導出パラメータベクトルが決定される。この結果、積み付けに関する人の好み及び知見を反映させた解導出パラメータベクトルが容易且つ確実に決定され、人の好み及び知見を確実に反映させた積み付けパターンを出力する解導出モデルが作成され得る。
【0115】
本開示の解導出プログラムは、入力データと、上記の解導出パラメータベクトルの作成方法によって作成された解導出パラメータベクトルとを取得し、解導出パラメータベクトルが設定された解導出モデルに上記入力データを入力することによって、解を導出することと、をコンピュータに実行させる。この場合、人の好み及び知見が確実に反映された解が自動的に出力され得る。熟練の計画者の知見を反映した積み付け計画が自動的に得られるため、たとえばロボット等による積み付けにおいても、積付作業全体が適切かつ迅速に行われる。
【符号の説明】
【0116】
20 作成システム
22 仮入力データ取得部
23 基準パラメータ取得部
24 仮パラメータベクトル作成部
25 仮モデル作成部
26 仮解導出部
28 表示部
32 基準パラメータベクトル更新部
33 パラメータベクトル決定部