(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-08
(45)【発行日】2024-05-16
(54)【発明の名称】情報処理装置、最適化方法および最適化プログラム
(51)【国際特許分類】
B65G 1/137 20060101AFI20240509BHJP
G06Q 10/08 20240101ALI20240509BHJP
G06Q 10/04 20230101ALN20240509BHJP
B65G 67/60 20060101ALN20240509BHJP
【FI】
B65G1/137 A
G06Q10/08
G06Q10/04
B65G67/60 G
(21)【出願番号】P 2020137654
(22)【出願日】2020-08-17
【審査請求日】2023-05-11
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】山口 秀史
【審査官】加藤 三慶
(56)【参考文献】
【文献】特開2003-173366(JP,A)
【文献】特開2002-211757(JP,A)
【文献】特開平08-153085(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B65G 1/137
G06Q 10/08
G06Q 10/04
B65G 67/60
(57)【特許請求の範囲】
【請求項1】
出入口を有し、複数の区画に区分けされる対象空間に関し、前記複数の区画、前記複数の区画の相互間の経路および前記複数の区画それぞれから前記出入口への経路に関する空間情報を受け付ける受付部と、
前記複数の区画それぞれに含まれる複数の領域ごとに、
前記複数の区画全体の貨物の積み下ろし貨物数を指定する搬入出情報に基づき特定される前記複数の領域への配置対象である貨物数と前記複数の領域それぞれに配置可能な最大積載数とを用いて、前記複数の区画全体の前記積み下ろし貨物数が前記領域の最大積載数よりも小さい場合は前記積み下ろし貨物数を前記領域の最大積載数で除算した値、前記積み下ろし貨物数が前記領域の最大積載数以上の場合は1、とする重み係数を設定する設定部と、
前記空間情報に基づいて、前記貨物の運び入れ時および運び出し時に、運び入れ対象または運び出し対象の貨物から前記出入口への前記経路上に他の貨物が存在しないことを示す第1の制約条件と、
前記搬入出情報で定義される運び入れる貨物数および運び出す貨物数
は前記搬入出情報で指定された値であり、前記複数の領域それぞれへ配置する貨物数を前記重み係数で制限することを示す第2の制約条件と、
前記複数の区画それぞれには予め設定される積載量を超えない範囲で貨物を配置するとともに、前記複数の領域それぞれに積載する貨物数を前記重み係数で制限すること示す第3の制約条件を生成する生成部と、
前記第1の制約条件、前記第2の制約条件、および、前記第3の制約条件に基づいて前記対象空間における貨物の配置を決定する決定部と
を有することを特徴とする情報処理装置。
【請求項2】
前記設定部は、前記複数の区画の数と、配置対象の貨物の個数とを用いて、前記複数の領域の数を算出し、算出した前記領域ごとに前記
重み係数を設定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記設定部は、前記複数の領域ごとに、当該領域の最大積載量と前記空間情報に基づく当該領域への配置対象の貨物数とを用いて、前記
重み係数を算出することを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記決定部は、前記第1の制約条件と前記第2の制約条件と前記第3の制約条件との和に基づくエネルギー関数をイジングマシンに入力して、前記イジングマシンによる求解結果を用いて、前記配置を決定することを特徴とする請求項1から3のいずれか一つに記載の情報処理装置。
【請求項5】
コンピュータが、
出入口を有し、複数の区画に区分けされる対象空間に関し、前記複数の区画、前記複数の区画の相互間の経路および前記複数の区画それぞれから前記出入口への経路に関する空間情報を受け付け、
前記複数の区画それぞれに含まれる複数の領域ごとに、
前記複数の区画全体の貨物の積み下ろし貨物数を指定する搬入出情報に基づき特定される前記複数の領域への配置対象である貨物数と前記複数の領域それぞれに配置可能な最大積載数とを用いて、前記複数の区画全体の前記積み下ろし貨物数が前記領域の最大積載数よりも小さい場合は前記積み下ろし貨物数を前記領域の最大積載数で除算した値、前記積み下ろし貨物数が前記領域の最大積載数以上の場合は1、とする重み係数を設定し、
前記空間情報に基づいて、前記貨物の運び入れ時および運び出し時に、運び入れ対象または運び出し対象の貨物から前記出入口への前記経路上に他の貨物が存在しないことを示す第1の制約条件と、
前記搬入出情報で定義される運び入れる貨物数および運び出す貨物数
は前記搬入出情報で指定された値であり、前記複数の領域それぞれへ配置する貨物数を前記重み係数で制限することを示す第2の制約条件と、
前記複数の区画それぞれには予め設定される積載量を超えない範囲で貨物を配置するとともに、前記複数の領域それぞれに積載する貨物数を前記重み係数で制限することを示す第3の制約条件を生成し、
前記第1の制約条件、前記第2の制約条件、および、前記第3の制約条件に基づいて前記対象空間における貨物の配置を決定する
処理を実行することを特徴とする最適化方法。
【請求項6】
コンピュータに、
出入口を有し、複数の区画に区分けされる対象空間に関し、前記複数の区画、前記複数の区画の相互間の経路および前記複数の区画それぞれから前記出入口への経路に関する空間情報を受け付け、
前記複数の区画それぞれに含まれる複数の領域ごとに、
前記複数の区画全体の貨物の積み下ろし貨物数を指定する搬入出情報に基づき特定される前記複数の領域への配置対象である貨物数と前記複数の領域それぞれに配置可能な最大積載数とを用いて、前記複数の区画全体の前記積み下ろし貨物数が前記領域の最大積載数よりも小さい場合は前記積み下ろし貨物数を前記領域の最大積載数で除算した値、前記積み下ろし貨物数が前記領域の最大積載数以上の場合は1、とする重み係数を設定し、
前記空間情報に基づいて、前記貨物の運び入れ時および運び出し時に、運び入れ対象または運び出し対象の貨物から前記出入口への前記経路上に他の貨物が存在しないことを示す第1の制約条件と、
前記搬入出情報で定義される運び入れる貨物数および運び出す貨物数
は前記搬入出情報で指定された値であり、前記複数の領域それぞれへ配置する貨物数を前記重み係数で制限することを示す第2の制約条件と、
前記複数の区画それぞれには予め設定される積載量を超えない範囲で貨物を配置するとともに、前記複数の領域それぞれに積載する貨物数を前記重み係数で制限することを示す第3の制約条件を生成し、
前記第1の制約条件、前記第2の制約条件、および、前記第3の制約条件に基づいて前記対象空間における貨物の配置を決定する
処理を実行させることを特徴とする最適化プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、最適化方法および最適化プログラムに関する。
【背景技術】
【0002】
階層建ての倉庫、平面の駐車場、車両輸送船などに貨物を配置する際、貨物や車両の運び入れや運び出し時に貨物等が通行の妨げにならないように、貨物等を運び入れるときの配置を最適化することが行われている。
【0003】
例えば、1階建ての天井がオープンな船に複数の倉庫から薄板コイルを運搬して船に2段積みで積載する時に、船のバランス等を最適化する技術が知られている。また、複数の配送元から複数の配送先に配送品を配送する場合、各配送先で配送品を卸した後に他の配送品を積んで次の配送先に配送するために、運送効率の良い配送計画を作成する技術が知られている。また、自動車専用船への積付計画(車両配置)において、船内のブロック内で船内障害物を避けブロークンスペースを作らないように個別の車両配置を決定する技術が知られている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開平10-305929号公報
【文献】特開2005-112609号公報
【文献】特開平1-127526号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記技術では、複数回の運び入れと運び出しが発生する場合に、制約条件が多く、最適化にかかる時間が長くなる。例えば、複数の港で車両を積み込み、複数の港で陸揚げを行う車両輸送船を考える。この場合、車両輸送船内の各ブロックに車両を配置するプランニングを行うときに、運び入れ及び陸揚げが可能であることを考慮しながら行う必要がある。これらのプランニングは手作業で行われることが一般的であり、非常に多くの時間がかかる。
【0006】
一つの側面では、貨物配置の最適化にかかる時間を短縮することができる情報処理装置、最適化方法および最適化プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
第1の案では、情報処理装置は、出入口を有し、複数の区画に区分けされる対象空間に関し、前記複数の区画、前記複数の区画の相互間の経路および前記複数の区画それぞれから前記出入口への経路に関する空間情報を受け付ける受付部を有する。情報処理装置は、前記複数の区画それぞれに含まれる複数の領域ごとに、前記複数の領域の各々に配置される貨物の最大積載量を変更する係数を設定する設定部を有する。情報処理装置は、前記空間情報に基づいて、前記貨物の運び入れ時および運び出し時に、運び入れ対象または運び出し対象の貨物から前記出入口への前記経路上に他の貨物が存在しないことを示す第1の制約条件と、前記係数を用いて算出される、運び入れる貨物数および運び出す貨物数を示す第2の制約条件と、前記係数を用いて算出される、前記複数の領域の各々の前記最大積載量を示す第3の制約条件を生成する生成部を有する。情報処理装置は、前記第1の制約条件、前記第2の制約条件、および、前記第3の制約条件に基づいて前記対象空間における貨物の配置を決定する決定部を有する。
【発明の効果】
【0008】
一実施形態によれば、貨物配置の最適化にかかる時間を短縮することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施例1にかかる情報処理装置を説明する図である。
【
図3】
図3は、実施例1にかかる情報処理装置の機能構成を示す機能ブロック図である。
【
図5】
図5は、車両運搬船の空間をグラフ構造で表した図である。
【
図7】
図7は、ブロックのセル分割を説明する図である。
【
図8】
図8は、ブロックをセルに分割した模式図である。
【
図9】
図9は、最適化装置による求解と解が表す車両配置の演算を説明する図である。
【
図10】
図10は、最適化処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に、本願の開示する情報処理装置、最適化方法および最適化プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例1】
【0011】
[情報処理装置の説明]
図1は、実施例1にかかる情報処理装置10を説明する図である。
図1に示す情報処理装置10は、階層建ての倉庫、平面の駐車場、車両輸送船などに貨物を配置する際、貨物や車両の運び入れや運び出し時に貨物等が通行の妨げにならないように、貨物等を運び入れるときの貨物配置を最適化するコンピュータ装置の一例である。
【0012】
実施例1では、貨物配置の一例として、1回の航海で複数の港で車両を積み込み、複数の港で陸揚げする車両輸送船を例にして説明する。なお、車両は、貨物の一例であり、車両輸送船は、貨物を配置する対象空間の一例である。
【0013】
図1に示すように、情報処理装置10は、複数の区画に区分けされるとともに、複数の区画間の経路および複数の区画それぞれから出入口への経路が定義された、車両を配置する車両輸送船内に関する空間情報の入力を受け付ける。同様に、情報処理装置10は、どの港で何台の車両を積み込み、どの港で何台の車両を陸揚げするかを示す、いわゆる車両搬入出表に該当する搬入出情報の入力を受け付ける。
【0014】
そして、情報処理装置10は、入力された情報を用いて、制約条件を生成する。例えば、情報処理装置10は、車両の積み込み時および陸揚げ時に、積み込みまたは陸揚げ対象の車両から出入口への経路上に他の車両が存在しないことを示す第1の制約条件を生成する。また、情報処理装置10は、積み込み数および陸揚げ数は搬入出情報で指定されている値であることを示す第2の制約条件を生成する。また、情報処理装置10は、複数の区画それぞれには予め設定される積載量(最大積載量)を越えない範囲で車両を配置することを示す第3の制約条件を生成する。その後、情報処理装置10は、アニーリング計算機やイジングマシンなどの最適化装置50を用いて、第1の制約条件、第2の制約条件、および、第3の制約条件の条件下において最適な車両の配置を決定する。
【0015】
ところが、この3つの制約条件では、車両配置のスペースを有効活用できない場合がある。例えば、車両輸送船内は、ブロックと呼ばれる区画に区分けされるとともに、各ブロックは配置対象の領域を示すセル単位に分割される。そして、情報処理装置10は、上記3つの制約条件を用いて、各セルに配置する車両数を最適化することが考えられるが、このときに全セルを万遍なく使用した最適化が実行されることから、有効活用できないセルが発生することがある。
【0016】
図2は、問題点を説明する図である。なお、本実施例で用いる車両カテゴリは、配置対象の車両を示し、車両の積み込み港と陸揚げ港との組合せにより決定される。例えば、後述する
図6の車両搬入出表15の場合は9個の車両カテゴリが存在する。
【0017】
図2では、配置対象の車両(車両カテゴリ)を3つのセルに振り分けて配置する例を示している。
図2の(a)は、配置対象の車両数が140台であり、各セルに50台、50台、40台と配置が決定された例を示している。この場合、空きスペースが小さいので、セルを有効活用できている。一方、
図2の(b)は、配置対象の車両数が45台であり、各セルに20台、15台、10台と配置が決定された例を示している。この場合、どのセルにも車両が配置されるので、空きスペースが大きく、セルを有効活用できていない。
【0018】
つまり、車両搬入出表の車両カテゴリの台数がセルの台数より大きい場合、車両カテゴリの台数はセルの台数の倍数になっているとは限らないので、車両が配置されない空きスペースが生じてしまうが、車両カテゴリの台数に比べるとその値は小さい。しかし、車両カテゴリの台数がセルの台数より小さい場合、少量の車両カテゴリがセル1個を占有したときに、そのセルを他の車両カテゴリは占有できないので車両カテゴリの台数に比べて大きな空きスペースが生じてしまう。その結果、車両搬入出表の全ての車両を船に積載できなくなる。また、最適化装置50の制約からセルの大きさを小さくしていくと必要なビット数が増加し計算量が大きくなるという問題がある。
【0019】
そこで、実施例1では、第2の制約条件と第3の制約条件とに対して、複数の区画それぞれにおける車両を配置するセルごとに、各セルに配置する車両の最大積載量を変更する係数を設定する。このようにすることで、情報処理装置10は、貨物配置の最適化にかかる時間を短縮しつつ、セルの台数より少ない台数の車両を配置する必要がある場合でも、大きな空きスペースが生じない車両配置方法を提供することができる。
【0020】
[情報処理装置の機能構成]
図3は、実施例1にかかる情報処理装置10の機能構成を示す機能ブロック図である。
図3に示すように、情報処理装置10は、通信部11、表示部12、記憶部13、制御部20を有する。
【0021】
通信部11は、他の装置の間の通信を制御する処理部であり、例えば通信インタフェースなどにより実現される。例えば、通信部11は、管理者などが利用する装置などの外部装置との間で、各種データの送受信を実行する。
【0022】
表示部12は、各種情報を表示する処理部であり、例えばディスプレイやタッチパネルなどにより実現される。例えば、表示部12は、最終的に得られた車両の配置結果や、算出された求解結果などを表示する。
【0023】
記憶部13は、各種データや制御部20が実行するプログラムなどを記憶する処理部であり、例えばメモリやハードディスクなどにより実現される。この記憶部13は、船舶情報14や車両搬入出表15を記憶する。
【0024】
船舶情報14は、複数の区画に区分けされるとともに、複数の区画間の経路および複数の区画それぞれから出入口への経路が定義された、車両を配置する車両輸送船に関する空間情報の一例である。例えば、船舶情報14は、車両運搬船の模式図をグラフ化した情報などが該当する。
【0025】
まず、車両運搬船の模式図について説明する。
図4は、車両運搬船の模式図である。
図4に示す模式図に示すように、車両輸送船は、1階のデッキ1から6階のデッキ6まで6階建てあり、各デッキはブロックに分割されるとともに、出入口は1箇所でデッキ3にあり、各デッキはスロープS1、S2、S3で繋がっている。
【0026】
また、デッキ6は、ブロック1から4の4つのブロックに分割され、デッキ5は、ブロック5から8の4つのブロックに分割され、デッキ4は、ブロック9から12の4つのブロックに分割される。同様に、デッキ3は、ブロック13から16の4つのブロックに分割され、デッキ2は、ブロック17から19の3つのブロックに分割され、デッキ1は、ブロック20から22の3つのブロックに分割される。
【0027】
また、スロープS1は、デッキ6およびデッキ5からデッキ3の出入口までの経路であり、スロープS2は、デッキ4から出入口までの経路であり、スロープS3は、デッキ2およびデッキ1から出入口までの経路である。
【0028】
次に、車両運搬船の模式図をグラフ化した情報について説明する。
図5は、車両運搬船の空間をグラフ構造で表した図である。
図5に示すように、同一デッキ内の各ブロックは、相互に繋がっている。また、デッキ6のブロック1からブロック4は、ブロック2、ブロック6、ブロック13を順に経由して出入口に繋がる。デッキ5のブロック5からブロック8は、ブロック6、ブロック13を順に経由して出入口に繋がる。デッキ4のブロック9からブロック12は、ブロック10、ブロック13を順に経由して出入口に繋がる。
【0029】
デッキ3のブロック13からブロック16は、ブロック13を経由して出入口に繋がる。デッキ2のブロック17からブロック19は、ブロック17、ブロック14、ブロック13を順に経由して出入口に繋がる。デッキ1のブロック20からブロック22は、ブロック20、ブロック17、ブロック14、ブロック13を順に経由して出入口に繋がる。
【0030】
なお、船舶情報14には、
図5に示したデッキ位置、ブロック位置、スロープ位置などを含むグラフ構造の情報以外にも、各ブロックの最大積載量などが定義された積載情報も含まれる。
【0031】
図3に戻り、車両搬入出表15は、寄港順や積み下ろし台数などを定めた搬入出情報の一例である。
図6は、車両搬入出表15を説明する図である。
図6に示すように、車両搬入出表15は、車両を積み込む積み込み港と、車両を陸揚げする陸揚げ港と、それぞれの車両数とが対応付けられる。
【0032】
具体的には、車両搬入出表15では、港A→港B→港C→港D→港E→港Fの順で寄港することが定義されている。また、車両搬入出表15の数字は、各港で積み下ろしする車両の台数を示している。例えば、車両(8)の1600台は、港Bで積み込まれて、港Fで陸揚げされる。
【0033】
制御部20は、情報処理装置10全体を司る処理部であり、例えばプロセッサなどにより実現される。この制御部20は、受付部21、セル分割部22、定式化部23、最適化部24、出力演算部25を有する。なお、受付部21、セル分割部22、定式化部23、最適化部24、出力演算部25は、プロセッサなどの電子回路で実現することもでき、プロセッサが実行するプロセスの一例として実現することもできる。
【0034】
受付部21は、船舶情報14や車両搬入出表15を受け付ける処理部である。例えば、受付部21は、通信部11を介して、管理者端末などから船舶情報14や車両搬入出表15を受け付けて、記憶部13に格納する。なお、船舶情報14や車両搬入出表15は、管理者などが人為的に生成した情報でもよく、公知のツールなどを用いて生成された情報でもよい。
【0035】
セル分割部22は、船舶情報14および車両搬入出表15に基づき、各ブロックをセルに分割する処理部である。具体的には、セル分割部22は、ブロックの数と、台数が0台より大きい車両カテゴリの個数とを用いて、各ブロックをセルに分割する。分割するセルの数は、最適化装置50の仕様により決定されることが好ましい。例えば、セルを細かく分割し過ぎると、変数が多くなり、最適化装置50により最適化が遅くなるので、最適化装置50の処理能力にしたがって決定されることが好ましい。
【0036】
例えば、
図7を用いて具体的に説明する。
図7は、ブロックのセル分割を説明する図である。
図7の例では、積み込み港と陸揚げ港の数がそれぞれ3港で、ブロックの数が3個でそれぞれの積載可能台数が「ブロック1=73台、ブロック2=106台、ブロック3=63台」で、最適化装置50の使用可能ビット数が64の例を示している。ここで、分割したセルの積載可能台数をz台とする。x
ijlkが何通り存在するか考えると式(1)が成り立つ。なお、車両搬入出表15に基づき、1セルにつき9通りの車両カテゴリが配置可能である。また、「x
ijkm」の詳細については後述する。
【0037】
【0038】
そして、セル分割部22は、この式を解くことにより、「z≧34.0」を算出する。よって、ブロック1のセルの個数は2.1個、ブロック2のセルの個数は3.1個、ブロック3のセルの個数は1.9個となり、四捨五入で整数に変換すると、2個、3個、2個となる。したがって、
図7に示すように、ブロック1は2個のセルに分割され、ブロック2は3個のセルに分割され、ブロック3は2個のセルに分割されるので、各ブロックは、セルの大きさが31から37台となる。実際に使用するビット数は、「3×3×(2+3+2)=63」ビットとなる。なお、セル分割部22は、セルの個数を整数に変換したために、使用ビット数が64ビットを超える場合は、zの値を34.0より大きくして使用ビット数が64以下になるように変換する。
【0039】
定式化部23は、船舶情報14、車両搬入出表15やセルの分割結果などを用いて、制約条件の定式化を実行する処理部である。具体的には、定式化部23は、実施例1にかかる最適化問題を数理最適化問題と捉え、複数の制約条件を生成する。
【0040】
(前提)
ここで、定式化部23は、各ブロックをセルに分割して、各セルにバイナリ変数を割り当てる。
図8は、ブロックをセルに分割した模式図である。
図8では、各ブロックは、3つのセルに分割されている。なお、
図8では、各ブロックが同じ数のセルに分割されている例を示しているが、これに限定されるものではなく、各ブロックのセル数が異なっていてもよい。
【0041】
そして、定式化部23は、変数および定数の定義を以下のように定める。「xijkm」は、「1」または「0」の値である。なお、「1」のときは、積み込み港i、陸揚げ港jの車両がブロックk内のセルmに存在することを示し、それ以外を「0」とする。「cij」は、積み込み港iで積み込み、陸揚げ港jで陸揚げする車両の台数である。「bkm」は、ブロックk内のセルmの最大積載台数である。「M」は、積み込み港の数であり、「N」は、陸揚げ港の数であり、「R」は、ブロックの数であり、「Sk」は、ブロックk内のセルの数である。
【0042】
(制約条件1)
次に、制約条件1について説明する。例えば、定式化部23は、貨物の運び入れ時および運び出し時に、運び入れまたは運び出し対象の貨物から出入口への経路上に他の貨物が存在しないことを示す制約条件1を生成する。すなわち、定式化部23は、「あるブロックを車が通過する時にそのブロックに存在する車両が0台でないと通過できない」とする制約条件1を生成する。
【0043】
例えば、あるセルに車両があるときに、そのセルと出入口との間にあるブロックに着目すると、その車両の積み込み港より前の積み込み港の車両がそのブロックに無い、かつ、その車両の陸揚げ港より後の陸揚げ港の車両がそのブロックに無い、となればよい。したがって、定式化部23は、ブロックr内のセルsに積み込み港p、陸揚げ港qの車両があり、セルsと出入口との間にあるブロックk´として、通過の妨げになる車両ypqを、式(2)のように定義できる。
【0044】
【0045】
ここで、あるxpqrsについて、(xpqrs=1のときypq=0)かつ(xpqrs=のときypqは任意の値)となればよいことは、式(3)のように定義でき、このとき(xpqrs・ypq)は最小である。よって、すべてのp、q、r、sについて和をとった式(4)が成り立てばよい。このようにして、定式化部23は、式(4)を制約条件1(B)として生成する。
【0046】
【0047】
(制約条件2)
次に、制約条件2について説明する。例えば、定式化部23は、運び入れる貨物数および運び出す貨物数は搬入出情報で指定される値であることを示す制約条件2を生成する。すなわち、定式化部23は、「積み込み港で積み込み、陸揚げ港で陸揚げする車両の台数は車両搬入出表15で指定された値である」を示す制約条件2を生成する。
【0048】
例えば、積み込み港p、陸揚げ港qの車両の車両輸送船全体での総和が車両搬入出表15における値cpqと等しくなればよく、これを式(5)で定義する。よって、すべてのp、qについて和をとった式(6)が成り立てばよい。
【0049】
【0050】
ここで、定式化部23は、上記問題点を改善するために、セルごとに、各セルに配置する貨物の最大積載量を変更する重み係数を設定する。具体的には、定式化部23は、セルごとに、当該セルに配置する車両数と船舶情報14に基づき当該セルへの配置対象である車両数とに基づき、重み係数を算出する。
【0051】
例を挙げると、定式化部23は、セルの台数と車両カテゴリの台数を比較して、車両カテゴリの台数がセルの台数より小さい時は「(車両カテゴリの台数)/(セルの台数)」を重み係数「w
ijkm」として定義し、変数「x
ijkm」との積を用いて最適化問題を解く。なお、ここでの車両カテゴリの台数とは、
図6に示す車両(1)の800台などに該当する。
【0052】
具体的には、定式化部23は、あるブロックk内のあるセルmについて、式(7)に示すように、「wijkm」を重み係数として、「cij<bkm」のとき「wijkm=cij/bkm」と定め、「cij≧bkm」のとき「wijkm=1」と定める。そして、定式化部23は、式(6)において変数「xijkm」で表していた車両を「重み係数×変数=wijkm×xijkm」で表す式(8)を制約条件2「C´」として生成する。なお、定式化部23は、セルの大きさ「bkm」は一様ではないのですべてのセルについて重み係数「wijkm」を算出しておく。
【0053】
【0054】
(制約条件3)
次に、制約条件3について説明する。例えば、定式化部23は、複数の区画それぞれには予め設定される積載量を越えない範囲で貨物を配置することを示す制約条件3を生成する。すなわち、定式化部23は、「1つのセルに積載可能量以上の車両を積み込むことはできない」を示す制約条件3を生成する。
【0055】
例えば、セルにいずれかの車両カテゴリの車両が存在するが、2つの車両カテゴリの車両が同一のセルに存在することはない。つまり、あるブロックr内にあるセルsについて、すべての港の総和が0または1になればよく、これを式(9)で定義する。あるxpqrsについては式(10)で定義できる。よって、すべてのr、sについて和をとった式(11)が成り立てばよい。
【0056】
【0057】
ここで、定式化部23は、上記問題点を改善するために、式(7)で算出する重み係数「wijkm」を式(11)にも導入する。すなわち、定式化部23は、式(11)において変数「xijkm」で表していた車両を「重み係数×変数=wijkm×xijkm」で表す式(12)を制約条件3「D´」として生成する。
【0058】
【0059】
以上のように、定式化部23は、制約条件1、制約条件2、制約条件3を生成して、最適化部24に出力する。
【0060】
最適化部24は、制約条件1、制約条件2、制約条件3の条件に基づいて車両運搬船における最適な車両の配置を決定する処理部である。具体的には、最適化部24は、式(4)と式(8)と式(12)の和であるエネルギー関数を式(13)のように定義し、この式(13)を用いて最適化装置50で問題を解く。すなわち、最適化部24は、エネルギー関数Eを、イジングマシンやアニーリング計算機などの最適化装置50に入力し、最適化装置50を実行することで、最適な車両の配置を算出する。
【0061】
【0062】
出力演算部25は、最適な車両配置を演算する処理部である。具体的には、出力演算部25は、最適化部24により取得された最適化装置50による求解結果を用いて、最適な車両配置を決定する。そして、出力演算部25は、決定された車両配置を表示部12に表示したり、記憶部13に格納したりする。
【0063】
図9は、最適化装置による求解と解が表す車両配置の演算を説明する図である。
図9に示すように、出力演算部25は、z
nというバイナリ変数を定義し、z
1=x
1111やz
2=x
1112などのように、z
nとx
ijkmとを対応付ける。例えば、z
n=0,(000・・・000)を初期解として最適化装置で演算を行うと、
図9の式(A)に示す解(z
1=1、z
2=0、・・・、z
13=1・・・)が得られる。
【0064】
ここで、出力演算部25は、zn=1のときに車両が存在するので、zn=1となるnを抽出して、対応するi,j,k,mを求めることにより、車両が存在する積み込み港i、陸揚げ港j、ブロックk内のセルmを算出できる。例えば、出力演算部25は、積み込み港をi、陸揚げ港をjとする車両搬入出表15内の交点の数字をc、積み込み数をMとすると、「c=i+M(j-1)」と表すことができるので、ブロックk内のセルmに車両cが存在すると表すことができる。
【0065】
上述した処理を実行することにより、出力演算部25は、車両が存在する積み込み港i、陸揚げ港j、ブロックk内のセルmを算出し、これらを模式図に対応付けることで、車両配置を決定する。
【0066】
[処理の流れ]
図10は、最適化処理の流れを示すフローチャートである。
図10に示すように、情報処理装置10の受付部21は、処理が開始されると(S101:Yes)、船舶情報14を取得し(S102)、車両搬入出表15を取得する(S103)。
【0067】
続いて、セル分割部22は、船舶情報14および車両搬入出表15に基づき、各ブロックをセルに分割する(S104)。そして、定式化部23は、船舶情報14や車両搬入出表15に基づいて、各制約条件を生成する(S105)。
【0068】
そして、最適化部24は、各制約条件を加算したエネルギー関数を生成して最適化装置50に入力して、最適化装置50による求解の結果を取得する(S106)。その後、出力演算部25は、最適化装置50による求解の結果(解)が表す車両配置を演算し(S107)、演算により得られた車両配置を出力する(S108)。
【0069】
[効果]
上述したように、情報処理装置10は、問題を数理最適化問題として捉え、入力データから制約条件を定め、最適化装置を用いて解くことにより、複数回の運び入れと運び出しが発生する場合であっても、最適化にかかる時間を短縮することができる。例えば、手作業で解くのに30分かかっていた問題であっても、最適化装置により5分程度で制約を満たした車両配置を求めることができる。
【0070】
また、情報処理装置10は、重み係数「wijkm」を導入することにより、一つのセルに複数の車両カテゴリの車両を配置することが可能となる。その結果、情報処理装置10は、空いたセルに他の車両カテゴリの車両を配置することが可能となり、車両搬入出表15の全ての車両を船に積載することが可能となる。
【0071】
図11は、効果を説明する図である。
図11の上図に示すように、重み係数「w
ijkm」を導入しない場合、1つのセルに1つの車両カテゴリしか配置できない。つまり、それぞれが50台配置可能であるセル1、セル2、セル3のそれぞれに対して、車両カテゴリAの20台、車両カテゴリBの15台、車両カテゴリCの10台を配置する場合、セル1に車両カテゴリA、セル2に車両カテゴリB、セル3に車両カテゴリCしか配置できないので、セル1は30台、セル2は35台、セル3は40台の空きスペースが発生する。
【0072】
一方で、重み係数「wijkm」を導入する場合、1つのセルに複数の車両カテゴリが配置できる。つまり、それぞれが50台配置可能であるセル1、セル2、セル3のそれぞれに、車両カテゴリAの20台、車両カテゴリBの15台、車両カテゴリCの20台を配置する場合、セル1に車両カテゴリA、B、Cの全45台を配置することができるので、セル2とセル3に他の車両カテゴリの車両を配置することができ、運搬する車両数を増やすことができる。
【0073】
ここで、制約条件3を用いて、この重み係数「wijkm」の導入により、空きスペースを抑制できる最適解が得られる点について説明する。例えば、大きさが50台のセルに車両カテゴリ(1)が10台、車両カテゴリ(2)が40台配置されている状態が最適解であるとする。その時の制約条件3のエネルギー値を算出すると、1個のセルに2種類の車両カテゴリの車両が配置されているので、重み係数「wijkm」を導入しない手法では、上記式(11)により、式(14)の通りとなる。一方、重み係数「wijkm」を導入した手法では、車両カテゴリ(1)と車両カテゴリ(2)の重み係数「wijkm」はそれぞれ「0.2」と「0.8」であるので、上記式(12)により、式(15)の通りとなる。
【0074】
【0075】
したがって、重み係数を用いた方がエネルギーの値が小さい。よって、最適化装置50で求解を行った時に、重み係数を用いない参考技術では最適解が選択される確率は低いが、重み係数を用いた手法では最適解が選択される確率が高くなる。なお、参考技術であっても、セルの大きさを小さくすれば最適解を得られる確率が高くなるが、上記実施例で説明した手法ではセルの大きさが大きくても最適解が求められるので、計算量の削減も実現できる。
【実施例2】
【0076】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【0077】
[目的関数]
車両輸送船の安定性を高めるためには、車両輸送船の重心位置をできるだけ低くすることが好ましい。そこで、定式化部23は、車両輸送船の不安定度合いを算出する目的関数を生成して上述したエネルギー関数に加えることもできる。
【0078】
ここで、目的関数について説明する。例えば、定式化部23は、車両輸送船の不安定性の度合いを示す値Giを、デッキの上半分の積載量と下半分の積載量との差として定義する。すなわち、実施例1においては「Gi=(デッキ4よりも上の積載量)-(デッキ3よりも下の積載量)」と定義する。このため、それぞれの港を出港するときのGiは式(16)で定義できる。例えば、式(16)におけるG1は、積み込み港Aを出港する時の不安定度合いに該当する。これらの結果、目的関数はGiの平均を用いた式(17)で表せられる。
【0079】
【0080】
そして、最適化部24は、制約条件1、制約条件2、制約条件3の条件下において目的関数を最適化することで、制約条件付きの最適化問題を解くことにより、不安定度合いを最小とする(できるだけ低くする)解を算出することもできる。このようにすることで、情報処理装置10は、複雑な制約条件を自動で生成することができるので、車両配置の最適化にかかる時間を短縮することができる。
【0081】
[目的関数の別例]
上述した車両輸送船の不安定度合いの一例である重心の算出の別例を説明する。一般に、x軸上の点x1、x2、・・・、xn上にそれぞれ質量m1、m2、・・・、mnの物体が存在するとき、全体の重心は式(18)で表される。
【0082】
【0083】
ここで、各ブロックごとに存在する車両の総重量を求め、式(18)を用いて鉛直方向の重心を算出する。車両1台の重量をρ、ブロックkの船底からの高さをH(k)とおくと、ある港を出港したときの式(18)の分子は式(19)のように表せる。また、式(18)の分母は船内に積載されている全車両の重量の合計でありxijkmによらない定数となり、式(20)のように表せる。
【0084】
【0085】
上記結果、定式化部23は、n番目の港を出港する時の重心をGnとおくと、それぞれの港を出港するときのGiは式(21)で定義でき、目的関数Gは式(22)のようにGnの平均で表すことができる。
【0086】
【0087】
そして、最適化部24は、制約条件1、制約条件2、制約条件3の条件下において目的関数を最適化することで、制約条件付きの最適化問題を解くことにより、不安定度合いを最小とする解を算出することもできる。このようにすることで、情報処理装置10は、複雑な制約条件を自動で生成することができるので、車両配置の最適化にかかる時間を短縮することができる。
【0088】
[数値等]
上記実施例で用いた車両数、港数、船内の構成図等は、あくまで一例であり、任意に変更することができる。また、上記実施例では、車両輸送船のブロックを複数のセルに分割した例を説明したが、これに限定されるものではなく、1ブロックが1セルであってもよい。また、最適化を実行する最適化装置50は、情報処理装置10と各種バスやネットワークなどにより接続される外部装置を用いることもでき、情報処理装置10が内蔵するプロセッサなどを用いることもできる。なお、エネルギー関数や目的関数の最適化の手法は、公知の様々な手法を採用することができる。また、不安定度合いの指標の一例としては重心などである。
【0089】
[貨物]
上記実施例では、車両輸送船を例にして説明したが、これに限定されるものではなく、階層建ての倉庫、平面の駐車場、貨物保管庫など、様々な貨物と空間を対象とすることができる。なお、貨物についても、車両に限らず、段ボール箱などのような各種配送物についても同様に処理することができる。
【0090】
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0091】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。なお、受付部21は、受付部の一例であり、セル分割部22は、設定部の一例であり、定式化部23は、生成部の一例であり、最適化部24と出力演算部25は、決定部の一例である。
【0092】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0093】
[ハードウェア]
次に、情報処理装置10のハードウェア構成例を説明する。
図12は、ハードウェア構成例を説明する図である。
図12に示すように、情報処理装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、
図7に示した各部は、バス等で相互に接続される。
【0094】
通信装置10aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD10bは、
図3に示した機能を動作させるプログラムやDBを記憶する。
【0095】
プロセッサ10dは、
図3に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、
図3等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、情報処理装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、受付部21、セル分割部22、定式化部23、最適化部24、出力演算部25等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、受付部21、セル分割部22、定式化部23、最適化部24、出力演算部25等と同様の処理を実行するプロセスを実行する。
【0096】
このように、情報処理装置10は、プログラムを読み出して実行することで最適化方法を実行する情報処理装置として動作する。また、情報処理装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、情報処理装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【0097】
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【0098】
10 情報処理装置
11 通信部
12 表示部
13 記憶部
14 船舶情報
15 車両搬入出表
20 制御部
21 受付部
22 セル分割部
23 定式化部
24 最適化部
25 出力演算部