(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-06
(45)【発行日】2023-10-17
(54)【発明の名称】情報処理装置、情報処理方法、および情報処理システム
(51)【国際特許分類】
G06Q 10/08 20230101AFI20231010BHJP
G06F 16/903 20190101ALI20231010BHJP
G06Q 10/04 20230101ALI20231010BHJP
【FI】
G06Q10/08
G06F16/903
G06Q10/04 300
(21)【出願番号】P 2019125228
(22)【出願日】2019-07-04
【審査請求日】2022-03-14
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】100091982
【氏名又は名称】永井 浩之
(74)【代理人】
【識別番号】100091487
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100105153
【氏名又は名称】朝倉 悟
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118876
【氏名又は名称】鈴木 順生
(74)【代理人】
【識別番号】100206243
【氏名又は名称】片桐 貴士
(72)【発明者】
【氏名】斎藤 秀和
(72)【発明者】
【氏名】國信 茂太
(72)【発明者】
【氏名】赤木 琢磨
(72)【発明者】
【氏名】江原 浩二
【審査官】樋口 龍弥
(56)【参考文献】
【文献】特開2018-092255(JP,A)
【文献】特開平11-282909(JP,A)
【文献】特開2011-034510(JP,A)
【文献】特開平06-110772(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 ー 99/00
G06F 16/903
(57)【特許請求の範囲】
【請求項1】
第1集合に含まれる各要素に対して情報を割り当てる情報処理装置であって、
前記第1集合に含まれていて現時点において情報の割り当てを行ってもよいとされる要素から成る第1部分集合と、前記第1集合に含まれていて現時点において情報の割り当てを行なわないとされる要素から成る第2部分集合と、を利用して、前記第1部分集合に含まれる少なくとも一つの要素に対して、情報を割り当てる割当部
を備える情報処理装置。
【請求項2】
前記割当部は、
複数のルールごとに、前記第1部分集合に含まれる各要素に対して割り当てる情報の候補を算出する第1算出を行い、
前記第1算出の複数の結果に対して、前記第2部分集合に含まれる各要素に対して割り当てる情報の候補を算出する第2算出を行い、
前記第2算出の複数の結果に基づき、割り当てる情報を決定する
請求項1に記載の情報処理装置。
【請求項3】
前記第1部分集合および前記第2部分集合の要素を更新するための更新情報を取得する取得部と、
前記更新情報、または、情報の割り当ての結果に基づき、前記第1部分集合および前記第2部分集合に対する更新を行う更新部
をさらに備え、
前記割当部は、前記更新により前記第1部分集合に要素が追加される度に、更新された前記第1部分集合および前記第2部分集合を利用して、前記第1部分集合に含まれる少なくとも一つの要素に対して、情報を割り当てることにより、前記第1集合に含まれる各要素に対して断続的に情報を割り当てていく
請求項1または2に記載の情報処理装置。
【請求項4】
前記複数のルールを記憶する記憶部と、
前記記憶部に対して、新規ルールの追加、または、既存ルールの編集もしくは削除を行う管理部と、
をさらに備える請求項2、または、請求項2に従属する請求項3に記載の情報処理装置。
【請求項5】
前記複数のルールそれぞれの、割り当てる情報を決定するために用いられた回数に基づいて、前記複数のルールから一部を選択する管理部
をさらに備え、
前記割当部は、選択されたルールを用いて、割り当てる情報を決定する
請求項2、または、請求項2に従属する請求項3に記載の情報処理装置。
【請求項6】
前記複数のルールそれぞれにおける、前記第1算出、前記第2算出、および両方のいずれかに要した時間に基づいて、前記複数のルールから一部を選択する管理部
をさらに備え、
前記割当部は、選択されたルールを用いて、割り当てる情報を決定する
請求項2、または、請求項2に従属する請求項3に記載の情報処理装置。
【請求項7】
前記複数のルールの少なくとも一部を含む、複数のルールセットを生成する管理部
をさらに備え、
前記割当部が、前記複数のルールセットごとに、割り当てる情報を決定し、
前記管理部が、前記複数のルールセットそれぞれの割り当てる情報に基づき、前記複数のルールから一部を選択し、
前記割当部は、選択されたルールを用いて、割り当てる情報を決定する
請求項2、または、請求項2に従属する請求項3に記載の情報処理装置。
【請求項8】
所定の条件を満たす場合に、前記割当部が、情報の割り当てを保留することを決定し、保留することが決定されたときの前記第1集合に含まれる要素が、次に情報の割り当てを行う際にも、前記第1集合に含まれたままである
請求項1ないし7のいずれか一項に記載の情報処理装置。
【請求項9】
前記割当部により決定された情報を出力する出力部
をさらに備える請求項1ないし8のいずれか一項に記載の情報処理装置。
【請求項10】
第1集合に含まれる各要素に対して情報を割り当てる情報処理方法であって、
情報処理装置が、前記第1集合に含まれていて現時点において情報の割り当てを行ってもよいとされる要素から成る第1部分集合と、前記第1集合に含まれていて現時点において情報の割り当てを行なわないとされる要素から成る第2部分集合と、を利用して、前記第1部分集合に含まれる少なくとも一つの要素に対して、情報を割り当てるステップ
を備える情報処理方法。
【請求項11】
第1集合に含まれる各要素に対して情報を割り当てる情報処理システムであって、
前記第1集合に含まれていて現時点において情報の割り当てを行ってもよいとされる要素に関する情報を提供する情報提供装置と、
前記情報提供装置からの情報に基づき、前記第1集合に含まれる各要素に対して情報を割り当てる情報処理装置と、
を備え、
前記情報処理装置は、
前記情報提供装置からの情報を取得する取得部と、
前記第1集合に含まれていて現時点において情報の割り当てを行ってもよいとされる要素から成る第1部分集合と、前記第1集合に含まれていて現時点において情報の割り当てを行なわないとされる要素から成る第2部分集合と、を、前記情報提供装置からの情報に基づき更新する更新部と、
更新された前記第1部分集合および前記第2部分集合を利用して、割り当てる情報を決定する割当部と、
を備える情報処理システム。
【請求項12】
第1集合に含まれる各要素に対して情報を割り当てる情報処理装置であって、
前記第1集合に含まれていて情報の割り当てを行ってもよいとされる要素から成る第1部分集合と、前記第1集合に含まれていて
前記第1部分集合に含まれる要素よりも後に情報の割り当てを行
うとされる要素から成る第2部分集合と、を利用して、前記第1部分集合に含まれる少なくとも一つの要素に対して、情報を割り当てる割当部
を備える情報処理装置。
【請求項13】
第1集合に含まれる各要素に対して情報を割り当てる情報処理方法であって、
情報処理装置が、前記第1集合に含まれていて情報の割り当てを行ってもよいとされる要素から成る第1部分集合と、前記第1集合に含まれていて
前記第1部分集合に含まれる要素よりも後に情報の割り当てを行
うとされる要素から成る第2部分集合と、を利用して、前記第1部分集合に含まれる少なくとも一つの要素に対して、情報を割り当てるステップ
を備える情報処理方法。
【請求項14】
第1集合に含まれる各要素に対して情報を割り当てる情報処理システムであって、
前記第1集合に含まれていて情報の割り当てを行ってもよいとされる要素に関する情報を提供する情報提供装置と、
前記情報提供装置からの情報に基づき、前記第1集合に含まれる各要素に対して情報を割り当てる情報処理装置と、
を備え、
前記情報処理装置は、
前記情報提供装置からの情報を取得する取得部と、
前記第1集合に含まれていて情報の割り当てを行ってもよいとされる要素から成る第1部分集合と、前記第1集合に含まれていて
前記第1部分集合に含まれる要素よりも後に情報の割り当てを行
うとされる要素から成る第2部分集合と、を、前記情報提供装置からの情報に基づき更新する更新部と、
更新された前記第1部分集合および前記第2部分集合を利用して、割り当てる情報を決定する割当部と、
を備える情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、情報処理方法、および情報処理システムに関する。
【背景技術】
【0002】
情報処理技術を用いて、作業の効率化、資源の効率的な活用などが進められている。例えば、複数の荷物を箱に詰める場合において、箱の充填率が高まるように各荷物の詰込位置を決定する処理により、使用される箱の数を減らすことが可能である。このように、目的を達成するために、適切とされる情報を割り出し、複数の対象に割り当てることが行われている。
【0003】
しかし、情報を複数の対象に割り当てる場合において、情報を割り当てる順番は、任意に決められることが前提とされている。例えば、荷物の詰込位置を決定する処理では、通常、詰込対象の荷物は、どの順番で詰め込まれてもよいとされている。しかし、運送業の世界では、到着した荷物から先に箱に詰めていくことも一般的に行われている。荷物の到着の度に、その荷物に対して詰込位置を決めていくことは、既存技術では対応することができていない。このように、全ての要素に対して情報を一度に割り当てるのではなく、断続的に割り当てていく場合でも、対応可能な仕組みが求められている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2001-236340号公報
【文献】特開平10-310258号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の一実施形態は、複数の要素に情報を断続的に割り当てていく場合に、目的が達成される可能性を高める。
【課題を解決するための手段】
【0006】
本発明の一実施形態としての情報処理装置は、第1集合に含まれる各要素に対して情報を割り当てる情報処理装置であって、割当部を備える。前記割当部は、第1部分集合と、第2部分集合と、を利用して、前記第1部分集合に含まれる少なくとも一つの要素に対して情報を割り当てる。前記第1部分集合は、前記第1集合に含まれていて現時点において情報の割り当てを行ってもよいとされる要素から成る。前記第2部分集合は、前記第1集合に含まれていて現時点において情報の割り当てを行なわないとされる要素から成る。
【図面の簡単な説明】
【0007】
【
図1】第1の実施形態に関する情報処理装置の一例を示すブロック図。
【
図2】第1の実施形態に関する情報処理装置の活用の一例を示す概念図。
【
図5】情報が割り当てられた後の第2算出の結果の一例を示す平面図。
【
図7】複数のルールを用いた場合の効果を説明するための箱ひげ図。
【
図8】情報の割り当ての他の例を説明するための平面図。
【
図9】
図8の例において1番目の荷物の詰込位置が確定した後の検討を説明するための平面図。
【
図10】想定のプロセスとキャッシュを説明する図。
【
図11】既存の方法によるキャッシュの割り当てを説明する図。
【
図12】現状における第2算出結果の一例を示す図。
【
図13】仮想状況における第2算出結果の一例を示す図。
【
図15】第1の実施形態に関する情報処理装置の全体処理の概略フローチャート。
【
図16】第2の実施形態に関する情報処理装置の一例を示すブロック図。
【
図17】本発明の一実施形態におけるハードウェア構成の一例を示すブロック図。
【発明を実施するための形態】
【0008】
以下、図面を参照しながら、本発明の実施形態について説明する。
【0009】
(第1の実施形態)
図1は、第1の実施形態に関する情報処理装置の一例を示すブロック図である。第1の実施形態に関する情報処理装置1は、記憶部111と、入力部121と、更新部122と、検討部123と、評価部124と、決定部125と、出力部126と、を備える。
【0010】
なお、
図1に示した情報処理装置の各構成要素は、細分化されてもよいし、集約されてもよい。例えば、記憶部111は、記憶する情報ごとに細分化されてもよい。また、
図1に示すように、検討部123と、評価部124と、決定部125と、をまとめて割当部とみなしてもよいし、記憶部111以外の構成要素を演算部とみなしてもよい。
【0011】
情報処理装置1は、所定の複数の対象に対して、情報を割り当てる装置である。例えば、複数の荷物に対して、詰込位置を割り当てることが想定される。あるいは、コンピュータにおける複数のプロセスに対して、当該コンピュータが有するキャッシュなどのリソースを割り当てることが想定される。このように、情報が割り当てられる対象と、割り当てられる情報は、多岐にわたる。しかし、情報処理装置1は、割当対象の全てに対して、情報を一度に割り当てない。情報処理装置1は、情報の割り当てを行ってもよいとされる対象を断続的に認識し、そして、情報の割り当てを行ってもよいとされる対象の少なくとも一つに対して断続的に情報を割り当てる。
【0012】
なお、ここでは、情報が割り当てられる対象全てが含まれる集合を「全体集合(第1集合)」と記載する。また、情報が割り当てられる対象は、全体集合に含まれる要素であるため、「要素」とも記載する。
【0013】
具体例を用いて、情報処理装置1を説明する。
図2は、第1の実施形態に関する情報処理装置1の活用の一例を示す概念図である、
図2では、情報処理装置1を用いて、荷物の詰込作業を行う例が示されている。倉庫から荷物が作業場に送られて、当該作業場において荷物が指定された領域に詰め込まれることが想定されている。
図2の例では、タイプAの荷物が2個、タイプBの荷物が1個、タイプCの荷物が1個、タイプDの荷物が2個、の合計6個の荷物が詰込対象とされている。
【0014】
なお、以降、荷物が詰込まれる領域を「詰込領域」と記載する。詰込領域は、特に限られるものではなく、例えば、単なる箱でもよいし、荷物が当初格納されている倉庫とは別の倉庫でもよい。あるいは、倉庫、敷地などにおいて、仮想的に仕切られた空間を詰込領域としてもよい。
【0015】
なお、
図2に示された「仮置き場」は、到着した荷物を詰込領域内に詰め込まずに、一時的に溜めておく領域を意味する。作業場には、このような仮置き場があることが想定されるが、仮置き場が必須なわけではない。
【0016】
まず、荷物が格納されている倉庫の管理サーバ2などから、詰込対象の全ての荷物に関する情報、つまり、全体集合に関する情報が、情報処理装置1に送信される。これにより、情報処理装置1が詰込対象の全ての荷物を認識する。全体集合に関する情報を、以降、「全体情報」と記載する。
【0017】
その後、詰込対象の荷物が、「一度に」ではなく「断続的」に、倉庫から作業場に到着する。例えば、ベルトコンベアにより、荷物が作業場に運び込まれることが想定される。
図2では、荷物Aが作業場に到着したことが示されている。なお、複数の荷物が同時に到着してもよい。
【0018】
到着した荷物は識別され、情報処理装置1は当該識別結果を取得する。例えば、作業場にいる作業員が、荷物を識別して、情報処理装置1に識別結果を入力することが考えられる。あるいは、作業場に設けられた荷物識別装置が荷物を識別し、識別結果を情報処理装置1に送信することが考えられる。
図2では、荷物識別装置の例として、荷物の画像から荷物を識別するカメラ装置3A、荷物に貼付されたバーコードから荷物を識別するバーコード読み取り装置3Bが示されている。識別結果は、後述する第1部分集合および第2部分集合を更新するために用いられる。そのため、識別結果を「更新情報」とも記載する。
【0019】
情報処理装置1は、更新情報に含まれる荷物を、情報の割り当てを行ってもよいとされる要素とみなして、詰込位置という情報を割り当てる。この割当結果は、例えば、
図2に示すロボットアーム4Aのような荷物を自動的に詰め込む装置に出力されてもよい。あるいは、例えば
図2に示すモニタ4Bのような表示装置に割当結果が出力されてもよい。割当結果が表示されることにより、作業員が、決定された詰込位置に、対象の荷物を置くことができる。このように、荷物の到着の度に、更新情報の取得と、情報の割り当てと、割当結果の出力と、が繰り返されることにより、詰込領域内に荷物が断続的に詰め込まれることになる。
【0020】
なお、前述の仮置き場がある場合には、情報処理装置1は、到着した荷物に対し、情報の割り当てを保留することがあり得る。情報の割り当てが保留された場合は、到着した荷物は仮置き場に置かれる。なお、仮置き場に置くことが可能な荷物の個数、仮置き場のサイズといった仮置き場に関する情報は、予め情報処理装置1の記憶部111に記憶されているもとする。当該情報に基づいて保留可能かどうかが判断される。
【0021】
なお、情報の割り当てを行ってもよいとされる要素全てに対して、一度に情報を割り当てる必要はない。つまり、情報処理装置1は、1回に付き、少なくとも一つの要素に対して情報を割り当てればよい。例えば、仮置き場に置かれた複数の荷物全てに対し、一度に詰込位置を決定する必要はない。
【0022】
次に、情報処理装置1の構成要素について、主に
図2の例を用いて説明する。
【0023】
記憶部111は、割り当てを行うための情報を記憶する。具体的には、現時点において情報の割り当てを行ってもよいとされる要素から成る集合が記憶される。ここでは、当該集合を第1部分集合と記載する。つまり、第1部分集合には、現時点における割当対象の要素が示される。また、現時点において情報の割り当てを行なわないとされる要素から成る集合も記憶される。ここでは、当該集合を第2部分集合と記載する。つまり、第2部分集合には、現時点における割当非対象の要素が示される。
【0024】
また、割り当てを行う際に用いられるルールも記憶される。ルールは、公知のルールでよい。例えば、一般に縦積みと呼ばれる、詰込領域の奥、左、下の順に優先して詰め込むBLD(Bottom-left-deep)法も用いられ得るし、一般に平積みと呼ばれる、詰込領域の下、奥、左の順に優先して詰め込むDBL(Deep-bottom-left)法も用いられ得る。用いられるルールは、情報の割当対象、割当結果の活用内容などに応じて、適宜に定めて、記憶部111に格納しておけばよい。
【0025】
また、情報の割り当ての現状(局面)を示すデータも記憶される。当該データを「現状データ」と記載する。例えば、現状データは詰込領域内の状況を示し、現状データから、詰込領域内の割当可能な領域を読み取ることができる。つまり、現状データに基づいて、既に割り当てた情報と、これから割り当てることが可能な情報と、を認識する。なお、既に割り当てた情報が、再び、これから割り当てることが可能な情報となることもあり得る。例えば、倉庫内に荷物Aと荷物Bを詰め込んだが、荷物Aが倉庫から取り除かれた場合は、現状データは荷物Bのみの詰込位置を示す。
【0026】
なお記憶部111は、上記以外の情報を記憶してもよい。例えば、情報処理装置1の各構成要素の処理結果などが記憶部111に逐次記憶されてもよい。
【0027】
入力部121は、
図2の例で示した管理サーバ2、カメラ装置3Aなどといった、全体情報および更新情報を提供する情報提供装置からこれらの情報を取得する。
【0028】
更新部122は、入力部121からの情報に基づき、記憶部111に記憶された第1部分集合および第2部分集合を更新する。例えば、荷物はまだ到着していないが、前述の詰込対象の6個の荷物を示す全体情報が取得されたとする。その場合、現時点において全ての荷物が割当非対象であるため、第2部分集合に{A、A、B、C、D、D}と記憶される。一方、第1部分集合は空の状態である。また、その後、荷物Aが到着したとの更新情報が取得された場合、更新部122は、第2部分集合から要素Aを1個取り出して、第1部分集合に移す。これにより、第1部分集合は{A}、第2部分集合は{A、B、C、D、D}と記憶される。
【0029】
また、更新部122は、第1部分集合に含まれる要素に情報が割り当てられた後に、第1部分集合から当該要素を削除する。これは、当該要素が詰込領域に詰め込まれた後の状態に更新することを意味する。例えば、第1部分集合に{A}、第2部分集合に{A、B、C、D、D}と記憶されていた場合に、要素Aに情報が割り当てられたときは、第1部分集合は空となり、第2部分集合は{A、B、C、D、D}のままである。情報が割り当てられた要素を第1部分集合から削除する処理は、例えば、詰込位置が割り当てられた荷物が実際に詰め込まれたことを示す情報が、入力部121等を介して取得されたときに行われてもよい。あるいは、時間経過により自動的に更新が行われてもよい。
【0030】
なお、荷物のタイプではなく、荷物に一意に付与された個体識別番号などにより、荷物が区別されてもよい。以降では、説明の便宜上、A1、A2、D1、D2のように、同種の荷物でも添え字を用いて区別して記載する。また、ここでは、説明の便宜上、どのルールでも添え字の数が小さい方が先に詰め込まれるものとして説明する。
【0031】
検討部123は、記憶部111に記憶されたルールを用いて、各要素に対して割り当てる情報を検討し、検討結果、つまり、割り当てる情報の候補、を算出する。検討部123は、まず、第1部分集合に含まれる各要素に対して割り当てる情報を検討し、検討結果を算出する。当該検討を第1算出と記載する。複数のルールを用いる場合、ルールごとに第1算出が行われる。そして、第1算出の結果に基づき、第2部分集合に含まれる各要素に対して割り当てる情報を検討し、検討結果を算出する。当該検討を第2算出と記載する。
【0032】
図2で示された状況下における検討部123の処理を説明する。当該状況は、i)仮置き場に荷物Aと荷物Bが1個ずつ置かれており、ii)作業場に荷物Aが運ばれてきて、iii)1個の荷物Cと2個の荷物Dがまだ到着していないという状況である。当該状況下では、第1部分集合が{A
1、A
2、B}で示され、第2部分集合が{C、D
1、D
2}で示される。
【0033】
ここでは、第1詰込ルールと第2詰込ルールの2種類を用いて、検討が行われるとする。第1および第2詰込ルールとも、仮置き場が空いている場合は、仮置き場に荷物を置くことを優先する。本状況では、仮置き場が空いていないため、情報の割り当ては保留されずに、第1部分集合に含まれる、荷物A1と、荷物A2と、荷物Bと、の少なくともいずれかに対して、情報が割り当てられる。
【0034】
そして、第1詰込ルールは、底面積の大きい荷物を先に置くことを優先する。なお、ここでは、荷物B、荷物A、荷物C、荷物Dの順に、底面積が大きいものとする。また、詰込領域のなるべく左に、その次になるべく奥に置くことを優先する。また、荷物は、平面視において、その長手方向が
図2の詰込領域に示されたY軸またはX軸に平行になるように設置され、Y軸に平行に設置されることが優先される。つまり、長手方向がY軸に平行になるように設置できない場合、荷物を回転させてX軸に平行に設置される。
【0035】
第2詰込ルールは、底面積の小さい荷物を先に置くことを優先する。また、詰込領域のなるべく右に、その次になるべく手前に置くことを優先する。また、第1詰込ルールと同様、荷物は、その長手方向が
図2のY軸またはX軸に平行になるように設置され、Y軸に平行に設置されることが優先される。
【0036】
検討部123は、まず第1算出を行う。ここでは、第1部分集合に含まれる荷物A
1、荷物A
2、および荷物Bの位置が、各ルールごとに導出される。
図3は、第1算出の結果の一例を示す平面図である。なお、ドット模様の領域は、詰込領域内の空きスペースを意味する。
図3(A)には、第1詰込ルールを用いた場合の第1算出の結果が示されている。つまり、
図3(A)は、荷物B、荷物A
1、荷物A
2の順に、詰込領域のなるべく左(LEFT)に、その次になるべく奥(BOTTOM)に、それらの荷物を設置した結果を示す。一方、
図3(B)には、第2詰込ルールを用いた場合の第1算出の結果が示されている。つまり、
図3(B)は、荷物A
1、荷物A
2、荷物Bの順に、詰込領域のなるべく右(RIGHT)に、その次になるべく手前(NEAR)に、それらの荷物を設置した結果を示す。
【0037】
検討部123は、第1算出後に、第2算出を行う。ここでは、第1詰込ルールによる第1算出の結果に対して、第1詰込ルールによる第2算出を行い、第2詰込ルールによる第1算出の結果に対して、第2詰込ルールによる第2算出を行う。なお、第1算出で生じた検討結果それぞれに対し、各詰込ルールによる第2算出が行われてもよい。つまり、第1詰込ルールによる第1算出の結果に対して、第2詰込ルールによる第2算出が行われてもよいし、第2詰込ルールによる第1算出の結果に対して、第1詰込ルールによる第2算出が行われてもよい。その場合は、合計で四つの第2算出結果が生じる。
【0038】
図4は、第2算出の結果の一例を示す平面図である。
図4(A)には、第1算出および第2算出の両方で第1詰込ルールを用いて検討した結果が示されている。つまり、
図4(A)は、
図3(A)の結果に対し、荷物C、荷物D
1、荷物D
2の順に、詰込領域のなるべく左に、その次になるべく奥に、それらの荷物を設置しようとした結果を示す。しかし、
図4(A)では、荷物D
1の設置後、スペースがなくなったため、荷物D
2は設置されていない。
【0039】
図4(B)には、第1算出および第2算出の両方で第2詰込ルールを用いて検討した結果が示されている。つまり、
図4(B)は、
図3(B)の結果に対し、荷物D
1、荷物D
2、荷物Cの順に、詰込領域のなるべく右に、その次になるべく手前に設置しようとした結果を示す。しかし、荷物D
2の設置後、スペースがなくなったため、荷物Cは設置されていない。
【0040】
評価部124は、検討部123による各検討結果を評価する。例えば、各検討結果に対し、所定の算出式に基づいて、スコアを算出することが考えられる。例えば、詰め込むことができた荷物の数、充填率などを、当該算出式の変数として用いることが考えられる。その他、箱内の隙間の数および位置、荷物同士の接触率といったものも、当該変数として用いられてもよい。なお、隙間は、鉛直方向および水平方向のいずれに関するものでもよい。例えば、積み上げられた荷物の最高点と天井面との隙間であってもよい。このように変数は、情報の割当対象、割当結果の活用内容などに応じて、適宜に定めればよい。
【0041】
決定部125は、評価部124の評価に基づき、第1部分集合に含まれる少なくとも一つの要素に対して割り当てる情報を決定する。例えば、全ての検討結果のうち、最もスコアが高い検討結果を最良とみなし、最良の検討結果による詰込位置を確定する。
【0042】
例えば、
図4(A)の検討結果と、
図4(B)の検討結果と、に対しては、底面の占有率が大きい
図4(A)の検討結果のほうが高く評価されたとする。その場合、決定部125は、荷物A
1と、荷物A
2と、荷物Bとの少なくともいずれかの詰込位置を、
図4(A)に示された位置に確定する。いずれの荷物の詰込位置を決定するかは、予め定めた条件に基づいて決定すればよい。例えば、第1算出において最初に詰め込まれた荷物の詰込位置だけを確定してもよい。あるいは、三つの荷物のうち、体積が最小または最大の荷物の詰込位置だけを確定してもよい。なお、荷物A
1と、荷物A
2と、荷物Bと、の全ての詰込位置を確定してもよい。なお、1回の検討において確定させる荷物の数は少ない方が、残りの荷物の設置可能な位置が多くなり、充填率が低下するリスクを抑えることができるため、好ましい。ここでは、最初に詰め込まれた荷物Bの詰込位置だけが確定されるとする。
【0043】
なお、情報を割り当てる要素の個数は、変えてもよい。例えば、最初は1回につき、第1部分集合の要素1個に対して情報を割り当てていたが、第2部分集合の要素がなくなった時点で、第1部分集合の全ての要素に対して情報を割り当ててもよい。
【0044】
なお、第1算出の結果に基づき、第2算出を行わずに、割り当てる情報が決定されてもよい。例えば、第1詰込ルールによる第1算出では、第1部分集合に含まれる全ての荷物が設置可能であったが、第2詰込ルールによる第1算出では、第1部分集合に含まれる全ての荷物が設置できなかった場合、全ての荷物が設置可能であった第1算出の結果から、詰込位置が確定されてもよい。
【0045】
決定部125は、決定された詰込位置を、更新部122に送る。これにより、更新部122を介して、記憶部に記憶された現状データ、第1部分集合、および第2部分集合が更新される。
【0046】
そして、荷物Bの詰込位置の確定後、荷物D1が作業場に到着したとする。更新部122は、荷物D1を第1部分集合に追加し、検討部123は、先ほどと同様に、第1算出および第2算出を行う。このように、割当対象の荷物が到着する度に、言い換えれば、第1部分集合に要素が追加される度に、第1部分集合に含まれる要素に対する情報の割り当てが実行される。こうして、第1集合に含まれる各要素に対して断続的に情報が割り当てられていく。
【0047】
図5は、情報が割り当てられた後の第2算出の結果の一例を示す平面図である。先程と同様、
図5(A)は、第1算出および第2算出の両方で第1詰込ルールを用いて検討した結果を示す。
図5(B)は、第1算出および第2算出の両方で第2詰込ルールを用いて検討した結果を示す。
図5(A)および5(B)において、前回の検討により詰込位置が確定された荷物Bは黒色に塗りつぶされている。
【0048】
荷物Bの詰込位置だけが確定されて、荷物D
1が新たに到着したため、第1部分集合は{A
1、A
2、D
1}と更新されている。第2部分集合は{C、D
2}と更新されている。ゆえに、第1算出において、荷物A
1と、荷物A
2と、荷物D
1とに対する位置が導出され、第2算出において荷物Cと荷物D
2に対する位置が導出される。
図5(A)に示すように、第1詰込ルールを用いると、荷物D
1の設置後は、荷物D
2と荷物Cのためのスペースがない。一方、
図5(B)に示すように、第2詰込ルールを用いると、全ての荷物が設置可能である。したがって、今回は、第2詰込ルールによる検討結果が高く評価され、荷物A
1と、荷物A
2と、荷物D
1と、の少なくともいずれかの詰込位置が、第2詰込ルールにより示された位置に確定する。
【0049】
このようにして、検討部123と、評価部124と、決定部125と、により、第1部分集合と、第2部分集合と、を利用して、第1部分集合に含まれる少なくとも一つの要素に対して、情報が割り当てられていくことになる。
【0050】
出力部126は、決定された情報を出力する出力先に出力する。これにより、出力された情報に基づき、荷物が詰込領域に実際に詰め込まれていくことになる。
【0051】
図6は、最終的な割当結果の一例を示す平面図である。
図6(A)は、第1詰込ルールだけが用いられた場合の割当結果を示す。
図6(B)は、第2詰込ルールだけが用いられた場合の割当結果を示す。
図6(C)は、前述のように、第1詰込ルールおよび第2詰込ルールの両方が用いられた場合の割当結果を示す。なお、ここでは、荷物D
1の次に、荷物Cが到着したものとする。また、第1算出において最初に置かれた荷物の詰込位置だけが確定されるものとする。
【0052】
第1詰込ルールだけを用いた場合、まず荷物A
1と、荷物A
2と、荷物Bとから、荷物Bが設置される。次に荷物A
1と、荷物A
2と、荷物D
1とから、荷物A
1が設置される。次に荷物A
2と、荷物D
1と、荷物Cとから、荷物A
2が設置される。次に荷物D
1と、荷物Cと、荷物D
2とから、荷物Cが設置される。そして荷物D
1と荷物D
2から、荷物D
1が設置される。この後は、スペースがないため荷物D
2は設置されず、
図6(A)に示されたようになる。
【0053】
第2詰込ルールだけを用いた場合、まず荷物A
1と、荷物A
2と、荷物Bとから、荷物A
1が設置される。次に荷物A
2と、荷物Bと、荷物D
1とから、荷物D
1が設置される。次に荷物A
2と、荷物Bと、荷物Cとから、荷物Cが設置される。次に荷物A
2と、荷物Bと、荷物D
2とから、荷物D
2が設置される。そして荷物A
2と荷物Bとから、荷物A
2が設置される。この後は、スペースがないため荷物Bは設置されず、
図6(B)に示されたようになる。
【0054】
第1詰込ルールおよび第2詰込ルールの両方を用いた場合は、前述の通り、まず荷物Bが設置され、次に荷物A
1が設置される。その後は、今回の場合では、各検討において第1詰込ルールの結果のほうが第2詰込ルールよりも高く評価されており、荷物A
2、荷物C、荷物D
1、荷物D
2の順になるべく左奥に設置され、
図6(C)に示されたようになる。このように複数のルールを用いた場合、一つのルールを用いた場合よりも、詰込領域の充填率を向上することが有り得る。
【0055】
図7は、複数のルールを用いた場合の効果を説明するための箱ひげ図である。大きさが異なる50個の荷物を用意し、これらの荷物の到着の順番を変えた100個のテストパターンを作成し、テストを行った。全テストパターンにおいて設置領域のサイズは同じである。また、全テストパターンにおいて、仮置き場には荷物が二個置けるものとし、荷物の詰込位置は1回の検討につき1個ずつ確定させている。
図7には、これらのテストパターンにおける充填率の分布が示されている。DBL法のみを用いた結果を左側に示し、BLD法のみを用いた結果を真中に示している。DBL法とBLD法の両方を用いた結果を右側に示している。
【0056】
図7から分かるように、DBL法とBLD法の両方を用いた結果は、最小値、第1四分意点、中央値、第3四分意点、最大値のいずれも、他の結果と比べて、高くなっている。ゆえに、複数のルールを用いるたほうが、充填率の向上などといった目的の達成される可能性を向上させることができる。
【0057】
なお、仮置き場が無い、荷物のサイズが同一である、といった場合でも、上記のように割り当てることにより、充填率を高めるなどといった所望の効果を得ることが可能である。
図8は、情報の割り当ての他の例を説明するための平面図である。ここでは、同一サイズの四つの荷物を一つずつ詰め込む例を説明する。
図8(A)には、前述の第1詰込ルールを用いて検討した結果が示されている。
図8(B)には、前述の第2詰込ルールを用いて検討した結果が示されている。両詰込ルールとも三つの荷物を詰め込むことができるが、ここでは、詰め込むことができる荷物の数が同数の場合は第1詰込ルールを優先するものとする。ゆえに、
図8(C)に示す通り、1番目の荷物は、第1詰込ルールにより示された左奥に詰め込まれる。
【0058】
図9は、
図8の例において1番目の荷物の詰込位置が確定した後の検討を説明するための平面図である。
図9(A)には、1番目の荷物の詰込位置が確定した後に、第1詰込ルールを用いて検討した結果が示されている。
図9(B)には、1番目の荷物の詰込位置が確定した後に、第2詰込ルールを用いて検討した結果が示されている。第2詰込ルールを用いることにより、第1詰込ルールを用いる場合よりも多い、四つの荷物を詰め込むことが可能である。ゆえに、
図9(C)に示す通り、2番目の荷物は、第2詰込ルールにより示された右手前に詰め込まれる。
【0059】
この後の検討では、第1詰込ルールと第2詰込ルールともに同数の荷物を詰め込むことが可能であるため、第1詰込ルールが優先されて、3番目の荷物が左手前に、4番目の荷物が右奥に、詰め込まれて、最終的に
図9(D)に示す状態となる。第1詰込ルールまたは第2詰込ルールを単独で用いると、
図8(A)または8(B)が示す結果と同じになり、三つの荷物しか詰め込めないが、第1詰込ルールおよび第2詰込ルールの両方を用いて検討することにより、四つの荷物を詰め込めることができる。
【0060】
前述の通り、情報が割り当てられる対象と、割り当てられる情報と、は、多岐にわたる。つまり、情報が割り当てられる要素が荷物であるとは限らない。そこで、情報処理装置1の活用の他の一例を説明する。ここでは、ハードディスクレコーダのようなストリーミング処理を行うコンピュータ装置が、ストリーミング処理に必要であって順次生成されていくプロセスを、キャッシュに割り当てていくことを想定する。当該コンピュータ装置が「情報処理装置1」に該当する。また、プロセスが「要素」に該当し、キャッシュが
図2の例の「詰込領域」に該当し、プロセスのために確保されるキャッシュの位置が「割り当てられる情報」に該当する。
【0061】
情報処理装置1は、各プロセスをキャッシュに割り当てようとする。キャッシュに割り当てることができなかったプロセスはメモリに割り当てられるが、その場合、キャッシュに割り当てられた場合よりも処理速度が遅くなる。ゆえに、処理の迅速化のために、なるべく多くのプロセスをキャッシュに割り当てることが要求される。
【0062】
図10は、想定のプロセスとキャッシュを説明する図である。前述のストリーミング処理においてプロセスAからプロセスDの四つのプロセスが生成されることを想定する。
図10には、各プロセスごとに、キャッシュに必要な容量と、平均継続時間と、が示されている。必要な容量が大きい程、プロセスを示す棒グラフが長く表示されている。平均継続時間は、キャッシュに割り当てられてから、キャッシュを解放するまでの時間の平均値である。これらの情報は、全体情報として取得されるものとする。なお、実際の継続時間は、平均継続時間に対して前後する。また、平均継続時間は、情報の割り当てを検討する際に用いられる。詳細は後述する。
【0063】
図10には、キャッシュを示す棒グラフも示されており、その長さが容量の大きさを示す。キャッシュの容量は、各プロセスよりも大きいが、全プロセスの合計の200よりも小さい190と想定されている。ゆえに、全てのプロセスを同時にキャッシュに割り当てることはできない。
【0064】
ここでは、以下のようにキャッシュが割り当てられることを想定する。時刻t=0において、容量70のプロセスAが生成され、キャッシュに割り当てられる。時刻t=10において、容量40のプロセスBが生成され、キャッシュに割り当てられる。時刻t=20において、平均継続時間よりも早くプロセスAが消滅し、プロセスAに割り当てられたキャッシュが解放される。時刻t=30において、再びプロセスAが生成され、キャッシュに割り当てられる。時刻t=40において、容量30のプロセスCが生成され、キャッシュに割り当てられる。時刻t=160において、プロセスBが、平均継続時間通りに消滅し、プロセスBに割り当てられたキャッシュが解放される。時刻t=170において、プロセスDが生成される。
【0065】
このようなプロセスの生成および消滅に関する情報が、更新情報に該当する。プロセスの生成に関する情報が入力部121により取得された場合、更新部122は、当該プロセスを第2部分集合から削除して、第1部分集合に追加する。こうして、第1部分集合に要素が追加される度に、第1部分集合に含まれるプロセスに対する情報の割り当てが実行される。プロセスに対する情報の割り当てが実行された場合、更新部122が現状データを更新し、割り当てられたプロセスの領域が現状データに含まれる。また、プロセスの消滅に関する情報が入力部121により取得された場合、更新部122は、現状データと第2部分集合とを更新する。すなわち、現状データにおける当該プロセスの領域が空き領域に変更され、当該プロセスが第2部分集合に追加される。
【0066】
図11は、既存の方法によるキャッシュの割り当てを説明する図である。
図11(A)は、生成されたキャッシュを左詰めで割り当てた場合の例を示す図である。この生成されたプロセスを左詰めでキャッシュに割り当てるルールを、第1キャッシュルールと記載する。
図11(B)は、生成されたキャッシュを右詰めで割り当てた場合の例を示す図である。この生成されたプロセスを右詰めでキャッシュに割り当てるルールを第2キャッシュルールと記載する。キャッシュを示す棒グラフ上のプロセスを示す棒グラフがプロセスに割り当てられたキャッシュ内の領域を示す。当該領域を「割当領域」と記載する。また、プロセスに割り当てられていないキャッシュ内の領域を「空領域」と記載する。
【0067】
キャッシュ内において各プロセスが隣接するように割り当てられても、その後にキャッシュが消滅すると、空領域が複数に別れてしまうことがある。例えば、時刻t=40において、プロセスA、プロセスB、およびプロセスCが、隙間なくキャッシュに割り当てられている。しかし、時刻t=160において、プロセスAとプロセスCの間に存在していたプロセスBが消滅したため、時刻t=170において、容量90未満の二つの空領域が存在する。ゆえに、時刻t=170において、キャッシュ全体では合計90の空容量があるが、空領域が別れているため、容量90を必要とするプロセスDは、キャッシュに割り当てることができない。このような事態を防ぐために、情報処理装置1がキャッシュの割り当てを効率化する。
【0068】
情報処理装置1の処理を、時刻t=10の場面を用いて説明する。時刻t=10においてプロセスBが生成されると、更新部122により、プロセスBが第2部分集合から第1部分集合に移される。これにより、第1部分集合にはプロセスBが、第2部分集合には、プロセスCとプロセスDが含まれる。
【0069】
検討部123は、第1キャッシュルールおよび第2キャッシュルールの両方を用いて検討を行う。まず、第1部分領域に含まれるプロセスに対する第1算出を行う。時刻t=10の場合、プロセスBの配置が検討される。第1キャッシュルールによる第1算出結果では、プロセスBがプロセスAの右隣に配置され、第2キャッシュルールによる第1算出結果では、プロセスBがキャッシュの右端に配置される。
【0070】
そして、検討部123は、第1算出の結果に対して、第2部分領域に含まれるプロセスに対する第2算出を行う。ここでは、第1キャッシュルールと第2キャッシュルールとも、容量の大きいプロセスから、割り当てることを優先する。
図12は、現状における第2算出結果の一例を示す図である。なお、プロセスAおよびプロセスBが存在する現状における第2算出を、後述の仮想状況における第2算出と区別するために、現状における第2算出と記載している。
図12(A)は、第1キャッシュルールによる検討結果を示す。
図12(B)は、第2キャッシュルールによる検討結果を示す。第1算出の両結果とも、容量80の一つ空き領域が出来るため、容量90のプロセスDは配置できず、容量30のプロセスCのみが配置されている。
【0071】
評価部124は、現状における第2算出結果に対し、ここでは、第2部分領域に含まれるプロセスのうちキャッシュに割り当てられた各プロセスの容量の合計をスコアとして評価する。
図12(A)および
図12(B)に示すように、両検討結果とも、プロセスCのみが配置されたため、スコアは同じである。
【0072】
このように、現状における各第2算出結果が同じ評価になった場合は、仮想状況において第2算出を再度行う。具体的には、現状存在するプロセスのうちの一つが消滅したという仮想状況において、第2部分領域に含まれるプロセスを割り当てる。消滅すると仮定するプロセスは、プロセスの生存時間と、平均継続時間と、に基づいて決定される。生存時間は、プロセスが生成してから経過した時間を意味する。例えば、時刻t=10においては、プロセスAとプロセスBが存在する。プロセスAの残り継続時間は、平均継続時間150から生存時間10を減らした140と算出される。一方、プロセスBの残り継続時間は、生成されたばかりなので、平均継続時間と同じ150である。ゆえに、プロセスAが早く消滅する可能性が高いことから、プロセスAが消滅すると仮定する。
【0073】
図13は、仮想状況における第2算出結果の一例を示す図である。なお、
図13の割当領域内の150という数字は、該当するプロセスの残り継続時間を示す。
図13(A)は、第1キャッシュルールによる検討結果を示す。
図13(B)は、第2キャッシュルールによる検討結果を示す。第1キャッシュルールの第1算出結果では、プロセスAの右隣にプロセスBが存在していた。ゆえに、プロセスAが消滅すると、容量70と容量80の二つの空きスペースが生まれる。第2部分集合に含まれるプロセスCとプロセスDのうち、容量90のプロセスDを割り当てることはできず、
図13(A)のように、容量30のプロセスCだけが左端に割り当てられる。一方、第2キャッシュルールの第1算出結果では、プロセスBがキャッシュの右端に存在していた。ゆえに、プロセスAが消滅すると、容量150の一つの空きスペースが生まれる。ゆえに、
図13(B)のように、プロセスDとプロセスCの両方が割り当てられる。
【0074】
評価部124は、現状における第2算出結果と同様に、仮想状況における第2算出結果を評価する。
図13の例では、第1キャッシュルールの検討結果はスコア30と評価され、第2キャッシュルールの検討結果はスコア120と評価される。ゆえに、決定部125は、第2キャッシュルールの検討結果を採用し、プロセスBの位置をキャッシュの右端と決定する。
【0075】
なお、仮想状況において消滅したとされたプロセスを、第2部分集合に含めて第2算出を行ってもよい。上記の例では、プロセスAが消滅したと仮定されたため、プロセスAを第2部分集合に追加し、プロセスAと、プロセスCと、プロセスDと、の三つを用いて、第2算出を行ってもよい。その場合、
図13(A)の空き容量70には、プロセスCではなくプロセスAが配置される。なお、仮想状況における第2算出が終了したときには、第2部分集合からプロセスAが削除されて、第2部分集合は元に戻される。
【0076】
図14は、最終的な割当結果の他の一例を示す図である。
図11(A)および9(B)と異なり、時刻t=160において、容量90の一つの空きスペースが存在する。そのため、時刻t=170においてプロセスDが生成されたときは、当該空きスペースにプロセスDが割り当てられる。このように、単に左詰めまたは右詰めといった方法では、キャッシュに割り当てることができなかったプロセスを、キャッシュに割り当てることができる可能性が高まる。
【0077】
このように、情報処理装置1は、様々な用途に活用することができるため、特定の作業用途に限定されるべきものではないことに留意されたい。
【0078】
次に、構成要素の各処理の流れについて説明する。
図15は、第1の実施形態における情報処理装置1の全体処理の概略フローチャートである。本フロー開始時において、第1部分集合および第2部分集合は初期化されており、第1部分集合および第2部分集合に要素は含まれていないものとする。
【0079】
入力部121が情報提供装置から全体情報を取得する(S101)。更新部122が全体集合の各要素を第2部分集合に追加する(S102)。つまり、第1部分集合は空の状態のままである。情報提供装置から更新情報を取得するまで、この状態が保たれる。
【0080】
入力部121が、情報提供装置から更新情報を取得し、情報を割り当ててもよい要素を認識する(S103)。更新部122が、情報を割り当ててもよい要素を第2部分集合から第1部分集合に移すことにより、第1部分集合と第2部分集合を更新する(S104)。第1部分集合に要素が追加されたため、第1部分集合の要素に情報を割り当てるか否かが検討される。
【0081】
検討部123は、ルールごとに第1部分集合に対する第1算出を実行し(S105)、第1算出の複数の結果に対して第2算出を実行する(S106)。なお、
図2の例のような仮置き場が存在する場合は、保留するかどうかが先に検討され、保留される場合は、S105からS108の処理が省略されて、S109の出力の処理に移ってもよい。評価部124は、例えばスコアなどを算出することにより、検討部123による各検討結果を評価する(S107)。決定部125は、評価結果に基づいて複数の検討結果から一つを選択することにより、情報を割り当てる要素と割り当てる情報を決定する(S108)。
【0082】
そして、出力部126が割当結果を出力する(S109)。当該出力を受けて、作業員、またはロボットアームといった作業装置が、作業を行うことになる。
【0083】
更新部122は、割当結果に基づき現状データと第1部分集合を更新する(S110)。情報が割り当てられた場合には、第1部分集合から情報が割り当てられた要素は削除される。なお、情報の割り当てが保留された場合は、更新は行われない。
【0084】
終了条件を満たさない場合(S111のNO)、例えば、第2部分集合にまだ要素が残っている場合は、再び待機となり、情報提供装置から次の更新情報が送られることにより、S103からS109の処理が繰り返される。終了条件を満たす場合(S111のYES)、例えば、全体集合に含まれる全ての要素に情報が割り当てられて、第2部分集合に要素が残っていない場合は、処理が完了となる。なお、最初の荷物を詰め込んでからの経過時間などを終了条件にし、第2部分集合に要素が残っていても、処理を完了としてもよい。
【0085】
なお、本フローチャートは一例であり、必要とされる処理結果を得ることができれば処理の順序等は限られるものではない。例えば、出力部126が割当結果を出力する処理(S109)の前に、更新部122が第1部分集合を更新する処理(S110)を行ってもよい。また、割当結果を出力する前に、入力部121が次の更新要素の情報を取得した場合は、処理を中断し、更新部122が第1および第2部分集合を更新する処理(S104)に戻ってもよい。また、検討部123は、各ルールに対する処理を並列に行ってもよいし、順番に行ってもよい。また、各処理の処理結果は、逐次、記憶部111に記憶され、各構成要素は当該記憶部111を参照して処理結果を取得してもよい。
【0086】
なお、各ルールの処理を、情報処理装置1を実現するコンピュータ装置のCPU(Central Processing Unit)のコアそれぞれに割り当てることにより、計算時間を短縮することができる。
【0087】
以上のように、本実施形態の情報処理装置1は、情報を割り当てる各要素を、現時点において情報の割り当てを行ってもよいとされる要素から成る第1部分集合と、現時点において情報の割り当てを行なわないとされる要素の第2部分集合と、に分ける。そして、割り当てる情報についての検討を、第1部分集合に対する第1算出と、第2部分集合に対する第2算出と、に分けて行う。これにより、情報を割り当てる順番を任意に決定することができない場合でも、目的を達成する可能性が高まる。
(第2の実施形態)
図16は、第2の実施形態に関する情報処理システムの一例を示すブロック図である。第2の実施形態に関する情報処理装置1は、第1の実施形態に対し、管理部127をさらに備える。
【0088】
情報処理装置1は、様々な対象に用いることができるため、使用されるルールも多岐に渡ることが想定される。しかし、使用されるルールが多くなると、処理負荷などの増加につながる。ゆえに、使用可能なルール全てを用いるのではなく、適切なルールのみが用いられたほうが好ましい。そこで、本実施形態では、管理部127がルールを管理する。
【0089】
例えば、実行すべきルールが、情報処理装置1のユーザから、入力部121を介して、管理部127に指示されてもよい。管理部127は、各ルールの使用是非を、記憶部111に記憶させる。そして、検討部123は、検討部123による検討が実行される前に、使用が許可されたルールのみを使用するよう検討部123に指示する。あるいは、検討部123が、記憶部111からルールを抽出する際に、各ルールの使用是非を読み込み、使用が許可されたルールのみを抽出してもよい。
【0090】
また、管理部127が、用途に適したルールを選出してもよい。例えば、荷物の詰め込むに関する処理を行うことが入力部121を介して指定された場合には、管理部127は荷物の詰め込むに関するルールを選出する。この場合、ユーザは登録されているルールのいずれがこれから使用する用途に対して適切かを判断する必要がなく、ユーザの負担を軽減することができる。なお、用途とルールの関係性は、予め記憶部111に記憶されているとする。
【0091】
また、管理部127は、各ルールの最終的な使用頻度に基づいて、ルールの要否を判断し、必要とされるルールだけを検討部123に指定してもよい。例えば、決定部125は、割り当てる情報を決定した際に、当該決定に用いられたルールを管理部127に送信する。管理部127は、各ルールごとに、当該決定に用いられた回数をカウントして、統計情報として記録する。そして、管理部127は、当該回数に基づき、各ルールの使用是非を判断してもよい。例えば、管理部127は、当該回数が所定の閾値よりも低いルールを使用しないと判断してもよい。あるいは、全ルールの使用回数の総和に対する第1詰込ルールの用いられた回数の割合が閾値よりも低いときに、管理部127は第1詰込ルールを使用しないと判断してもよい。このように、記憶部111に記憶された複数のルールのうちの一部が、当該複数のルールそれぞれの、割り当てる情報を決定するために用いられた回数に基づき選択され、選択されたルールを用いて、割り当てる情報が決定されてもよい。これにより、処理時間の短縮、処理負荷の抑制といった効果が得られる。
【0092】
また、管理部127が、処理時間が長すぎるルールを選択しないことにより処理時間を抑制してもよい。例えば、検討部123は、第1算出および第2算出を行う際に、処理時間を測定して、統計情報として記録する。そして、第1算出、第2算出、および両方のいずれかに要した時間に基づいて、複数のルールから一部を選択する。例えば、第1算出または第2算出に要した時間が、第1算出または第2算出に係る所定の閾値を超えた場合、管理部127は、そのルールを使用しないと決定してもよい。あるいは、第1算出および第2算出の両方に要した時間、つまり、第1算出に要した時間と第2算出に要した時間との総和が、所定の閾値を超えた場合、管理部127は、そのルールを使用しないと決定してもよい。このように、記憶部111に記憶された複数のルールのうちの一部が、複数のルールそれぞれにおける、第1算出、第2算出、および両方のいずれかに要した時間に基づいて選択され、選択されたルールを用いて、割り当てる情報が決定されてもよい。これにより、処理時間が長すぎることによるユーザの不満等を解消することができる。処理時間の測定は、コンピュータのOS(オペレーティングシステム)などに備えられた機能を用いることにより、実現可能である。
【0093】
なお、管理部127の選択は、割当結果が算出されるたびに、変更されてもよい。例えば、「割り当ての組合せを全列挙する」というルールがあった場合、割当対象の要素の数が多いと、当該ルールによる計算は時間を要する。そのため、管理部127は、計算時間が長いと予想される期間においては、当該ルールを選択せず、計算時間が短いと予想される期間においては、当該ルールを選択するとしてもよい。計算時間の長さは、割当対象の要素の数に基づいて判断することが考えられる。例えば、割当対象の要素の数が所定の閾値を下回るときは、計算時間が短いと判断してもよい。あるいは、割当対象の要素の当初の数に対する現在の数の割合に基づき、選択可否が判断されてもよい。例えば、現在の数が、当初の数の半分以下になるまでは、前述のルールを選択しないとしてもよい。
【0094】
なお、検討に用いられるルールが多ければ多いほど結果が良くなるとは限らない。ゆえに、使用するルールの組み合わせを変えて検討を行い、検討結果を比較することにより、検討結果に悪影響を与えるルールを特定し、特定されたルールを使用しないようにしてもよい。例えば、第1から第3ルールがあった場合に、管理部127が、第1から第3ルールを含む第1のルールセットと、第3ルールは含まずに、第1ルールと第2ルールを含む第2のルールセットと、を生成する。なお、ルールセットに含めるルールは適宜に定めてよい。そして、割当部が、各ルールセットに対し、割り当てる情報を決定し、管理部127が、各ルールセットの割り当てる情報を比較する。第3ルールを含まない第2のルールセットの検討結果のほうが良好である場合、管理部127は、第3ルールの重要性が低いと学習し、第3ルールが選択される確率を下げる。例えば、高いほど選択されやすくなる優先度をルールごとに予め設定しておき、管理127は、選択される重要性が低いと判断されたルールに対して、当該優先度を下げるといったことが考えられる。このように、含まれるルールが異なる複数のルールセットを生成し、複数のルールセットごとに割り当てる情報を決定し、複数のルールセットそれぞれの割り当てる情報に基づき、記憶部111に記憶された複数のルールのうちの一部が選択されてもよい。つまり、複数のルールから良好なルールを学習し、学習後は、良好なルールだけを用いて検討を行ってもよい。また、学習後に、良好ではないと判断されたルールを用いて再度検討を行い、ルールに対する評価を改めてもよい。
【0095】
また、管理部127は、ユーザから、入力部121を介して、新規ルールの追加を受け付けて、新規ルールを記憶部111に記憶してもよい。また、入力部121を介して指定された既存ルールを、記憶部111から抽出して、当該ルールの編集および削除を行ってもよい。これにより、情報処理装置1を用途に応じてカスタマイズする、最新のルールを導入する、などといった運用が可能になる。
【0096】
管理部127の処理は、検討部123がルールを用いて第1算出(
図15のS105)を行う前に、実行されればよい。第2の実施形態に関する情報処理装置の全体処理の概略フローチャートは、省略する。
【0097】
以上のように、本実施形態の情報処理装置1は、複数のルールを管理し、検討に用いられるルールを絞ることができる。これにより、ユーザの利便性の向上、装置の処理負荷の抑制といった効果を得られる。また、ルールを自由に追加および削除することができることにより、汎用性の高い情報処理装置1とすることができる。
【0098】
なお、上記の実施形態の少なくとも一部は、プロセッサ、メモリなどを実装しているIC(Integrated Circuit:集積回路)などの専用の電子回路(すなわちハードウェア)により実現されてもよい。また、上記の実施形態の少なくとも一部は、ソフトウェア(プログラム)を実行することにより、実現されてもよい。例えば、汎用のコンピュータ装置を基本ハードウェアとして用い、コンピュータ装置に搭載されたCPUなどのプロセッサにプログラムを実行させることにより、上記の実施形態の処理を実現することが可能である。
【0099】
例えば、コンピュータが読み取り可能な記憶媒体に記憶された専用のソフトウェアをコンピュータが読み出すことにより、コンピュータを上記の実施形態の装置とすることができる。記憶媒体の種類は特に限定されるものではない。また、通信ネットワークを介してダウンロードされた専用のソフトウェアをコンピュータがインストールすることにより、コンピュータを上記の実施形態の装置とすることができる。こうして、ソフトウェアによる情報処理が、ハードウェア資源を用いて、具体的に実装される。
【0100】
図17は、本発明の一実施形態におけるハードウェア構成の一例を示すブロック図である。情報処理装置1は、プロセッサ51と、主記憶装置52と、補助記憶装置53と、ネットワークインタフェース54と、デバイスインタフェース55と、を備え、これらがバス56を介して接続されたコンピュータ装置5として実現できる。記憶部111は、主記憶装置52または補助記憶装置53により実現可能であり、割当部など記憶部111以外の構成要素は、プロセッサ51により実現可能である。
【0101】
なお、
図17のコンピュータ装置5は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、
図17では、1台のコンピュータ装置5が示されているが、ソフトウェアが複数のコンピュータ装置にインストールされて、当該複数のコンピュータ装置それぞれがソフトウェアの異なる一部の処理を実行してもよい。
【0102】
プロセッサ51は、コンピュータの制御装置および演算装置を含む電子回路である。プロセッサ51は、コンピュータ装置5の内部構成の各装置などから入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各装置などに出力する。具体的には、プロセッサ51は、コンピュータ装置5のOS(オペレーティングシステム)や、アプリケーションなどを実行し、コンピュータ装置5を構成する各装置を制御する。プロセッサ51は、上記の処理を行うことができれば特に限られるものではない。
【0103】
主記憶装置52は、プロセッサ51が実行する命令および各種データなどを記憶する記憶装置であり、主記憶装置52に記憶された情報がプロセッサ51により直接読み出される。補助記憶装置53は、主記憶装置52以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、メモリでもストレージでもよい。また、メモリには、揮発性メモリと、不揮発性メモリがあるが、いずれでもよい。
【0104】
ネットワークインタフェース54は、無線または有線により、通信ネットワーク6に接続するためのインタフェースである。ネットワークインタフェース54は、既存の通信規格に適合したものを用いればよい。ネットワークインタフェース54により、通信ネットワーク6を介して通信接続された外部装置7Aと情報のやり取りが行われてもよい。
【0105】
デバイスインタフェース55は、外部装置7Bと直接接続するUSBなどのインタフェースである。外部装置7Bは、外部記憶媒体でもよいし、データベースなどのストレージ装置でもよい。
【0106】
外部装置7Aおよび7Bは出力装置でもよい。出力装置は、例えば、画像を表示するための表示装置でもよいし、音声などを出力する装置などでもよい。例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、スピーカなどがあるが、これらに限られるものではない。
【0107】
なお、外部装置7Aおよび7Bは入力装置でもよい。入力装置は、キーボード、マウス、タッチパネルなどのデバイスを備え、これらのデバイスにより入力された情報をコンピュータ装置5に与える。入力装置からの信号はプロセッサ51に出力される。
【0108】
上記に、本発明の一実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、移行を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0109】
1 情報処理装置
111 記憶部
121 入力部
122 更新部
123 検討部
124 評価部
125 決定部
126 出力部
127 管理部
2 管理サーバ
3A カメラ装置
3B バーコード読み取り装置
4A ロボットアーム
4B モニタ
5 コンピュータ装置
51 プロセッサ
52 主記憶装置
53 補助記憶装置
54 ネットワークインタフェース
55 デバイスインタフェース
56 バス
6 通信ネットワーク
7Aおよび7B 外部装置