(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024142735
(43)【公開日】2024-10-11
(54)【発明の名称】配置場所計画立案装置、配置場所計画立案手法およびプログラム
(51)【国際特許分類】
G06Q 10/04 20230101AFI20241003BHJP
G06Q 10/087 20230101ALI20241003BHJP
B65G 63/00 20060101ALI20241003BHJP
【FI】
G06Q10/04
G06Q10/087
B65G63/00 G
B65G63/00 H
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023055037
(22)【出願日】2023-03-30
(71)【出願人】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【弁理士】
【氏名又は名称】伊藤 英輔
(74)【代理人】
【識別番号】100161702
【弁理士】
【氏名又は名称】橋本 宏之
(74)【代理人】
【識別番号】100189348
【弁理士】
【氏名又は名称】古都 智
(74)【代理人】
【識別番号】100196689
【弁理士】
【氏名又は名称】鎌田 康一郎
(72)【発明者】
【氏名】森本 陽
(72)【発明者】
【氏名】古賀 祐一
(72)【発明者】
【氏名】井川 芳克
(72)【発明者】
【氏名】牧野 和久
【テーマコード(参考)】
5L010
5L049
【Fターム(参考)】
5L010AA04
5L010AA16
5L049AA04
5L049AA16
(57)【要約】
【課題】荷物搬入後の将来の作業効率を考慮した荷物の配置場所を計画することができる計画システムを提供する。
【解決手段】配置場所計画立案装置は、荷物の搬入と搬出の方向が定められた列状の荷物の配置場所を示す配置リストを複数含む荷物配置場所へ搬入される前記荷物の配置計画する計画システムであって、搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式等を制約条件として設定する制約条件定義部と、搬出対象の前記荷物が配置された場所と前記荷物配置場所における前記荷物の搬出口の距離の総和を計算する計算式を目的関数として設定する目的関数定義部と、前記制約条件を満たしつつ、目的関数を最小化するような、前記荷物の配置計画を計算する配置計画最適化部と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
荷物の搬入と搬出の方向が定められた列状の荷物の配置場所を示す配置リストを複数含む荷物配置場所へ搬入される前記荷物の配置を計画する計画システムであって、
前記荷物配置場所のレイアウト情報と、前記荷物の搬入予定日時の情報と、前記荷物の搬出予定日時の情報と、を取得するデータ取得部と、
搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、任意の期間における任意の前記配置リストに格納された前記荷物の在庫数は、当該期間に当該配置リストに配置される前記荷物の数の総和であることを制約する制約式と、任意の前記配置リストに配置可能な前記荷物の上限を超えて、当該配置リストに前記荷物を搬入できないことを制約する制約式と、任意の期間に任意の前記配置リストに搬入可能な前記荷物の数の上限は、当該配置リストに配置できる前記荷物の上限から既に当該配置リストに配置されている前記荷物の数を差し引いた値であることを制約する制約式と、を制約条件として設定する制約条件定義部と、
搬出対象の前記荷物が配置された場所と前記荷物配置場所における前記荷物の搬出口の距離の総和を計算する計算式を目的関数として設定する目的関数定義部と、
前記制約条件を満たしつつ、前記目的関数を最小化するような、前記荷物を複数の前記配置リストのうちの何れに配置するかを含む配置計画を計算する配置計画最適化部と、
を備える配置場所計画立案装置。
【請求項2】
前記制約条件定義部は、さらに、搬出予定日時が相対的に早い第1の前記荷物よりも搬出口に近い場所に、搬出予定日時が相対的に遅い第2の前記荷物をできるだけ配置しないことを制約する制約式を設定し、
前記目的関数定義部は、前記計算式と、前記第1の前記荷物よりも搬出口に近い場所に前記第2の前記荷物を配置した場合に加算されるペナルティ値の大きさを計算する計算式の加重和を目的関数として設定する、
請求項1に記載の配置場所計画立案装置。
【請求項3】
前記目的関数定義部は、前記目的関数と、前記荷物を配置する場所を空けるために前記配置リストに既に配置された前記荷物を移動する回数を計算する計算式の加重和を新たな目的関数として設定する、
請求項1又は請求項2に記載の配置場所計画立案装置。
【請求項4】
前記配置計画最適化部は、前記目的関数を最小化するときの、前記荷物をどの前記配置リストに配置するかと、前記配置リストそれぞれの配置可能数と、を計算する、
請求項1又は請求項2に記載の配置場所計画立案装置。
【請求項5】
前記配置計画最適化部は、所定の期間ごとに、前記目的関数を最小化する、当該期間に搬入する予定がある前記荷物を配置する前記配置リストを計算する、
請求項1又は請求項2に記載の配置場所計画立案装置。
【請求項6】
荷物の搬入と搬出の方向が定められた列状の荷物の配置場所を示す配置リストを複数含む荷物配置場所へ搬入される前記荷物の配置を計画する計画方法であって、
前記荷物配置場所のレイアウト情報と、前記荷物の搬入予定日時の情報と、前記荷物の搬出予定日時の情報と、を取得するステップと、
搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、任意の期間における任意の前記配置リストに格納された前記荷物の在庫数は、当該期間に当該配置リストに配置される前記荷物の数の総和であることを制約する制約式と、任意の前記配置リストに配置可能な前記荷物の上限を超えて、当該配置リストに前記荷物を搬入できないことを制約する制約式と、任意の期間に任意の前記配置リストに搬入可能な前記荷物の数の上限は、当該配置リストに配置できる前記荷物の上限から既に当該配置リストに配置されている前記荷物の数を差し引いた値であることを制約する制約式と、を制約条件として設定するステップと、
搬出対象の前記荷物が配置された場所と前記荷物配置場所における前記荷物の搬出口の距離の総和を計算する計算式を目的関数として設定するステップと、
前記制約条件を満たしつつ、前記目的関数を最小化するような、前記荷物を複数の前記配置リストのうちの何れに配置するかを含む配置計画を計算するステップと、
を有する配置場所計画立案手法。
【請求項7】
コンピュータに、
荷物の搬入と搬出の方向が定められた列状の荷物の配置場所を示す配置リストを複数含む荷物配置場所へ搬入される前記荷物の配置を計画する処理であって、
前記荷物配置場所のレイアウト情報と、前記荷物の搬入予定日時の情報と、前記荷物の搬出予定日時の情報と、を取得するステップと、
搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、任意の期間における任意の前記配置リストに格納された前記荷物の在庫数は、当該期間に当該配置リストに配置される前記荷物の数の総和であることを制約する制約式と、任意の前記配置リストに配置可能な前記荷物の上限を超えて、当該配置リストに前記荷物を搬入できないことを制約する制約式と、任意の期間に任意の前記配置リストに搬入可能な前記荷物の数の上限は、当該配置リストに配置できる前記荷物の上限から既に当該配置リストに配置されている前記荷物の数を差し引いた値であることを制約する制約式と、を制約条件として設定するステップと、
搬出対象の前記荷物が配置された場所と前記荷物配置場所における前記荷物の搬出口の距離の総和を計算する計算式を目的関数として設定するステップと、
前記制約条件を満たしつつ、前記目的関数を最小化するような、前記荷物を複数の前記配置リストのうちの何れに配置するかを含む配置計画を計算するステップと、
を含む処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、配置場所計画立案装置、配置場所計画立案手法およびプログラムに関する。
【背景技術】
【0002】
特許文献1には、コンテナヤードに外来シャーシが搬入したコンテナを蔵置する作業に関し、コンテナの蔵置作業が発生する都度、コンテナ荷役手段の稼動状況、各蔵置場所におけるコンテナ積み段数の情報などを入手して、それらの情報に基づいて、状況に応じた最適なコンテナ蔵置場所を決定する方法が開示されている。特許文献1の方法によれば、コンテナの搬送作業を、状況の変化に応じて効率的に行うことができ、外来シャーシの有効活用、物流効率の向上、物流コストの低減を実現することができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
コンテナが来訪したときの状況に応じて、その都度、コンテナの蔵置場所を決定すればそのときの蔵置作業の効率化を実現することはできる。しかしながら、蔵置されたコンテナを船積みするときの搬出作業や、今後、コンテナヤードに搬入されるコンテナの搬入作業については考慮されない為、将来の作業効率の低下を起こす可能性がある。
【0005】
本開示は、上記課題を解決することができる配置場所計画立案装置、配置場所計画立案手法およびプログラムを提供する。
【課題を解決するための手段】
【0006】
本開示の配置場所計画立案装置は、荷物の搬入と搬出の方向が定められた列状の荷物の配置場所を示す配置リストを複数含む荷物配置場所へ搬入される前記荷物の配置を計画する計画システムであって、前記荷物配置場所のレイアウト情報と、前記荷物の搬入予定日時の情報と、前記荷物の搬出予定日時の情報と、を取得するデータ取得部と、搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、任意の期間における任意の前記配置リストに格納された前記荷物の在庫数は、当該期間に当該配置リストに配置される前記荷物の数の総和であることを制約する制約式と、任意の前記配置リストに配置可能な前記荷物の上限を超えて、当該配置リストに前記荷物を搬入できないことを制約する制約式と、任意の期間に任意の前記配置リストに搬入可能な前記荷物の数の上限は、当該配置リストに配置できる前記荷物の上限から既に当該配置リストに配置されている前記荷物の数を差し引いた値であることを制約する制約式と、を制約条件として設定する制約条件定義部と、搬出対象の前記荷物が配置された場所と前記荷物配置場所における前記荷物の搬出口の距離の総和を計算する計算式を目的関数として設定する目的関数定義部と、前記制約条件を満たしつつ、前記目的関数を最小化するような、前記荷物を複数の前記配置リストのうちの何れに配置するかを含む配置計画を計算する配置計画最適化部と、を備える。
【0007】
また、本開示の配置場所計画立案手法は、荷物の搬入と搬出の方向が定められた列状の荷物の配置場所を示す配置リストを複数含む荷物配置場所へ搬入される前記荷物の配置を計画する計画方法であって、前記荷物配置場所のレイアウト情報と、前記荷物の搬入予定日時の情報と、前記荷物の搬出予定日時の情報と、を取得するステップと、搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、任意の期間における任意の前記配置リストに格納された前記荷物の在庫数は、当該期間に当該配置リストに配置される前記荷物の数の総和であることを制約する制約式と、任意の前記配置リストに配置可能な前記荷物の上限を超えて、当該配置リストに前記荷物を搬入できないことを制約する制約式と、任意の期間に任意の前記配置リストに搬入可能な前記荷物の数の上限は、当該配置リストに配置できる前記荷物の上限から既に当該配置リストに配置されている前記荷物の数を差し引いた値であることを制約する制約式と、を制約条件として設定するステップと、搬出対象の前記荷物が配置された場所と前記荷物配置場所における前記荷物の搬出口の距離の総和を計算する計算式を目的関数として設定するステップと、前記制約条件を満たしつつ、前記目的関数を最小化するような、前記荷物を複数の前記配置リストのうちの何れに配置するかを含む配置計画を計算するステップと、を有する。
【0008】
また、本開示のプログラムは、コンピュータに、荷物の搬入と搬出の方向が定められた列状の荷物の配置場所を示す配置リストを複数含む荷物配置場所へ搬入される前記荷物の配置を計画する処理であって、前記荷物配置場所のレイアウト情報と、前記荷物の搬入予定日時の情報と、前記荷物の搬出予定日時の情報と、を取得するステップと、搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、任意の期間における任意の前記配置リストに格納された前記荷物の在庫数は、当該期間に当該配置リストに配置される前記荷物の数の総和であることを制約する制約式と、任意の前記配置リストに配置可能な前記荷物の上限を超えて、当該配置リストに前記荷物を搬入できないことを制約する制約式と、任意の期間に任意の前記配置リストに搬入可能な前記荷物の数の上限は、当該配置リストに配置できる前記荷物の上限から既に当該配置リストに配置されている前記荷物の数を差し引いた値であることを制約する制約式と、を制約条件として設定するステップと、搬出対象の前記荷物が配置された場所と前記荷物配置場所における前記荷物の搬出口の距離の総和を計算する計算式を目的関数として設定するステップと、前記制約条件を満たしつつ、前記目的関数を最小化するような、前記荷物を複数の前記配置リストのうちの何れに配置するかを含む配置計画を計算するステップと、を含む処理を実行させる。
【発明の効果】
【0009】
上述の配置場所計画立案装置、配置場所計画立案手法およびプログラムによれば、荷物配置後の将来の作業効率を考慮した荷物の配置場所を計画することができる。
【図面の簡単な説明】
【0010】
【
図1】実施形態に係る計画システムの一例を示すブロック図である。
【
図2】実施形態に係る荷物配置場所および荷物の搬入・搬出の一例を示す図である。
【
図3A】実施形態に係る問題のモデル化について説明する第1の図である。
【
図3B】実施形態に係る問題のモデル化について説明する第2の図である。
【
図4】実施形態に係る計画作成処理の一例を示すフローチャートである。
【
図5】実施形態に係る計画システムのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0011】
<実施形態>
以下、各実施形態に係る計画システムについて、
図1~
図5を参照しながら詳しく説明する。
(構成)
図1は、本発明の実施形態に係る計画システムの一例を示すブロック図である。本実施形態において、計画システムは、例えば、1台のPCやサーバ装置などのコンピュータ装置によって構成される。計画システム10は、港湾のコンテナヤードや自動駐車サービスの駐車場等に搬入された荷物や車両を配置場所に格納する場面において、将来の作業効率を考慮に入れた荷物等の配置計画を作成する。より具体的には、荷物の搬入方向と搬出方向が定められた列状の荷物の配置場所(配置リストと称する場合がある。)が複数存在する場合に、どの配置リストに荷物を配置すると効率よく荷物を搬出できるか等を考慮に入れて、格納する荷物の配置計画を作成する。配置リストへの荷物の搬入・搬出方式にはキュー形式とスタック形式が考えられる。例えば、コンテナヤードに荷物を格納する場合にはスタック形式、駐車場へ車両を格納する場合にはキュー形式となる。以下では、一例として、荷物をキュー形式で搬入・搬出する場合を例として説明を行うが、本実施形態に係る配置計画方法は、スタック形式で荷物を搬入・搬出する場合にも適用可能である。以下の荷物とは、例えば、自動駐車サービスにおいて駐車場に駐車する車両のことである。
【0012】
図1が示すように、計画システム10は、データ取得部11と、計画部12と、出力部13と、記憶部14と、を備えている。
データ取得部11は、荷物の配置計画の作成に必要な情報として、荷物格納場のレイアウトの情報(何個の配置リストが何処に設けられているか、1つの配置リストに何個の荷物を格納できるか、各配置リストの搬出口と駐車場等における荷物の搬入出口との距離など)、搬入・搬出する荷物の情報(識別情報が付された各荷物の搬入予定日時、搬出予定日時など)、及び在庫情報(既に配置リストに格納されている荷物について、何処にどの荷物が配置されているか)等の情報を取得し、以下で説明する最適化処理で扱えるよう整形する機能、取得した情報や整形した情報を記憶部14に書き込んで記録する機能を有する。
【0013】
計画部12は、荷物の最適な格納計画を作成する。計画部12は、制約条件定義部121と、目的関数定義部122と、配置計画最適化部123と、を備える。
制約条件定義部121は、データ取得部11が取得した情報を基に、荷物を複数の配置リストの何れかに必ず配置させることや、荷物の配置に関して、配置可能数の上限を超えて配置しないことなど、5種類6個の制約条件(後述)を定義する機能を有する。
目的関数定義部122は、搬出する荷物の搬出口からの距離の総和がなるべく短くなるように荷物を配置することや、搬出予定日時の早い荷物ほどなるべく搬出口の近くに配置することなどを含む目的関数を定義する機能を有する。
配置計画最適化部123は、制約条件定義部121で定義した制約条件を遵守し、目的関数定義部で定義した目的関数を混合整数計画問題として定式化し、一般に提供されているソルバーにより最適化計算を行う機能を有する。
【0014】
出力部13は、配置計画最適化部123が最適化計算したことによって得られた結果に基づいて各荷物の配置場所を出力する機能を有する。
記憶部14は、荷物の最適な格納計画の作成に必要な諸々の情報を記憶する。
【0015】
図2は、実施形態に係る荷物配置場所および荷物の搬入・搬出の一例を示す図である。
図2の荷物配置場所100は、駐車場等に搬入された荷物(例えば、車両)の配置場所である。荷物配置場所100は、キュー又はスタック形式で荷物を出し入れする配置リスト101~105を含む。例えば、配置リスト101~105の各々は4つの配置場所を有している。配置リスト101を例にすると、紙面最上部の配置場所101a、上から2番目の配置場所101b、上から3番目の配置場所101c、紙面最下部の配置場所101dの各配置場所を有している。配置リスト102~105についても同様である。1つの配置場所には、1つの荷物が配置される。荷物配置場所100には、荷物201~210が配置されている。具体的には、配置リスト101の配置場所101aに荷物201が配置され、配置場所101bに荷物202が配置されている。配置リスト102の配置場所102bに荷物203が配置され、配置場所102cに荷物204が配置されている。配置リスト103の配置場所103bに荷物205が配置され、配置リスト104の配置場所104a~104cには、この順に荷物206~208が配置されている。配置リスト105の配置場所105cに荷物209が配置され、配置場所105dに荷物210が配置されている。これらのうち、荷物202、203、206は、搬出予定日時が早い(近い)荷物である。荷物201、207、209は、搬出予定日時が中間の荷物である。荷物204、205、208、210は、搬出予定日時が遅い(遠い)荷物である。配置リスト101~105に対しては、予め定められた方向で荷物の出し入れを行う。例えば、配置リスト101に格納する荷物について、配置場所101d側から荷物を搬入し、配置場所101a側から荷物を搬出するキュー形式とするか、又は、配置場所101a側から荷物を搬入および搬出するスタック形式で荷物を格納することができる。以下では、一例として、配置リスト101~105に対してキュー形式で荷物を搬入、搬出する場合を例に説明を行う。例えば、配置リスト101に荷物を格納する場合、搬入出口300から荷物を搬入して配置場所101d側から入れ、101a~101dの何れかに配置して保管し、この荷物を搬出する際には、配置場所101a側から搬出して搬入出口300から目的地へ搬送する。また、キュー形式の場合、荷物の配置場所よりも搬出口側には荷物を配置することができない。
図2の例では、配置場所102a,103a,105a、105bは配置不可領域、配置場所101c,101d,102d、103c、103d、104dは配置可能領域である。例えば、荷物205を搬出すると(荷物205の搬出予定日が遅であることは無視する。)、配置リスト103は、4個の荷物が配置可能な状態となる(
図2の右図)。ここで、配置リスト101に注目すると、出庫予定日時が早い荷物202よりも搬出口側に出庫予定日時が中間の荷物201が配置されている。このような場合、荷物202を搬出しようとすると、荷物201を一時的に配置リスト101の外に搬出してから荷物202を搬出しなければならず、効率的ではない。また、配置リスト102に関して、搬出予定日時の早い荷物203を配置場所102bに配置すると、搬出時に他の荷物を移動する必要はないものの、配置場所102aに配置する場合に比べて、搬入出口300からの距離が遠くなってしまう。
【0016】
ここで、同一方向に4つの荷物を詰めて配置することができる5つの配置リスト101~105において、配置リストの搬出口(例えば、配置場所101a)に近い配置場所から配置リストの搬入口(例えば、配置場所101d)に向けて可能な限り搬出日時順(搬出予定日時が早いものから遅いもの順)に荷物を配置する配置計画を算出する問題を考える。
【0017】
この問題は、荷物を区間グラフで表し、区間グラフの頂点(荷物)を配置リストに割り付ける問題としてモデル化することができる。
図3Aのグラフ31は、荷物A~Gが荷物配置場所に滞在する期間(搬入されてから搬出されるまでの期間)を示している。グラフ31の縦軸は荷物、横軸は時間を示している。荷物A~Dの滞在期間には重複する期間がある。荷物を頂点、滞在する荷物同士を隣接させて辺で結んだ区間グラフを定義する。例えば、荷物Aは荷物B、C、Dと滞在期間が重複するため、荷物Aと荷物B、C,Dとを辺で連結させる。他の荷物B~Dについても同様に滞在期間に重複が有るもの同士を辺で接続する。すると、
図3A下段の区間グラフ32が得られる。また、配置計画を算出する対象期間を期間T1~T3の各時間窓に分割し、分割後の期間T1、T2、T3ごとに制約条件を守るように荷物を配置リストに割り付ける問題に近似して考える。一例として、期間T2を取り出す(
図3Bのグラフ33)。次に取り出した期間T2に滞在する荷物A、C、D、Eを配置リストP1~P5の何れかに割り当てる問題にモデル化する(
図3Bのグラフ34)。例えば、この場合の制約条件は、荷物A、C、D、Eには必ず1つの場所が割り当てる、各配置リストP1~P5には容量以上の荷物は割り付けない等である。
【0018】
(混合整数計画問題)
このモデルに基づいて、上記の問題を、搬出予定日時が早い荷物ほど搬出口の近くに配置されるような配置計画を算出することを目的関数に含む混合整数計画問題として定式化する。この目的関数により、配置リストにおける搬出口に近い配置場所が早い時間に空くこととなり、荷物が各配置リストの搬出口の近くに優先的に配置されることで、搬入出口300までの移動距離が短くなり、荷物を搬送する搬送機器の負荷を軽減することが可能となる。この問題において遵守しなければならない制約条件は、(制約条件1)搬入予定がある全ての荷物について、その全てを何れかの配置リストに配置する、(制約条件2)配置リストに配置された荷物の在庫数が整合すること、(制約条件3)1つの配置リストに搬入できる荷物の数には制限があること、(制約条件4)1つの配置リストに配置可能な荷物の数には上限があること、(制約条件5)なるべく出庫予定日時順に配置すること、である。また、滞在する荷物を区間グラフ化し、任意の期間で区切ることで、荷物の時系列の動きを考えずに、各荷物の配置場所を算出すればよいこととなり、最適化計算で算出すべき変数を後述する5つの変数に絞ることができる。具体的な定数、変数、制約条件、目的関数等を以下に記載する。
【0019】
(定数)
定数として、例えば、c_place_num_in_list、c_distance、c_receiving_time、c_shipping_time、c_objective_weightを定義する。
c_place_num_in_listは、任意の配置リストの最大配置可能数を表す非負整数の定数であり、引数は配置リストの識別情報である。例えば、
図2の配置リスト101の識別情報を引数として与えると、c_place_num_in_listの値は4となる。
【0020】
c_distanceは、任意の配置リストの搬入出口からの距離を表す非負整数の定数であり、引数は配置リストの識別情報である。例えば、
図2の配置リスト101の識別情報を引数として与えると、c_distanceは、配置場所101aから搬入出口300までの距離となる。
【0021】
c_receiving_timeは、任意の荷物の搬入予定日時を表す非負整数の定数であり、引数は荷物の識別情報である。例えば、荷物201の識別情報を引数として与えると、c_receiving_timeは、荷物201の搬入予定日時となる。
【0022】
c_shipping_timeは、任意の荷物の搬出予定日時を表す非負整数の定数であり、引数は荷物の識別情報である。例えば、荷物201の識別情報を引数として与えると、c_shipping_timeは、荷物201の搬出予定日時となる。
【0023】
c_objective_weightは、任意の目的関数の重みを表す非負整数の定数であり、引数は目的関数項目(後述)の識別情報である。
また、これらに加えて、配置リストが何個存在するかといった情報も定義される。
【0024】
(変数)
変数として、x、y、z、u、pを定義する。これらの変数は、最適化計算によって算出される値である。これらのうちxが決定変数、残りは補助変数である。
xは、任意の荷物が配置リストに配置されるか否かを表す0-1変数(1:配置される、0:配置されない)であり、引数は、荷物の識別情報と配置リストの識別情報である。
yは、任意の期間の任意の配置リストの配置可能数を表す非負実数であり、引数は、荷物の識別情報と配置リストの識別情報である。
zは、任意の期間の任意の配置リストの在庫を表す非負実数であり、引数は、荷物の識別情報と配置リストの識別情報である。
uは、任意の期間の任意の配置リストの奥詰め可否を表す0-1変数(1:奥詰め可能、0:奥詰め不可能)であり、引数は、荷物の識別情報と配置リストの識別情報である。
pは、任意の荷物1と荷物2が同じ配置リストに置かれるか否かを表す0-1変数(1:置かれる、0:置かれない)であり、引数は、荷物1の識別情報と荷物2の識別情報である。
【0025】
(集合)
集合として、例えば、以下の6つを定義する。TimeWindowは期間(
図3Aの期間T1など)の集合である。Productは荷物の集合である。PlaceListは配置リストの集合である。ProductOnTimeWindowは期間の識別情報を引数とする当該期間内に滞在する荷物の集合である。ReceivingProductは期間の識別情報を引数とする当該期間に搬入する予定の荷物の集合である。ShippingProductは期間の識別情報を引数とする当該期間に搬出する予定の荷物の集合である。
【0026】
(制約条件)
制約条件として次の5種類(6個)を設ける。
(制約条件1:作業遂行)
制約条件1は、配置予定の荷物はいずれかの配置リストに必ず配置されることを制約する。制約条件1の制約式は、次の式(1)で表すことができる。式(1)の左辺の第1項は任意の荷物について任意の配置リストに配置するか否かを表す0-1変数の総和を表し、この値が右辺の1と等しいことを制約することで、ある荷物がいずれかの配置リストに配置されることを表す。
【0027】
【0028】
(制約条件2:在庫量上限)
制約条件2は、各期間の在庫量は、その期間に滞在する可能性のある荷物によって決まることを制約する(在庫量の整合性)。制約条件2の制約式は、次の式(2)で表すことができる。式(2)の右辺は、任意の期間、任意の配置リストに荷物が滞在するか否かを表す変数の総和を表し、左辺は、当該期間における当該配置リストの在庫量を表す。この制約条件は、矛盾なく最適化計算を行う為に必要となる制約条件である。
【0029】
【0030】
(制約条件3:搬入数の制限)
制約条件3は、配置可能数を超えてその期間には荷物を搬入できないことを制約する。制約条件3の制約式は、次の式(3)で表すことができる。式(3)の右辺は、任意の期間、任意の配置リストにおける配置可能数を表し、左辺は、当該期間における搬入予定の荷物のうち、当該配置リストに配置する荷物の総和を表す。左辺の搬入数が右辺の搬入可能数より小さいことを制約することで、搬入数の制限を規定している。
【0031】
【0032】
(制約条件4:配置可能数の制限)
制約条件4は、配置可能数の上限を制約する制約式と、配置可能数の上限の変化に関する制約の2つからなる。
【0033】
(制約条件4-1:配置可能数の上限)
制約条件4-1は、各期間で各配置リストに配置可能な荷物数の上限は決まっていることを制約する。制約条件4-1の制約式は、次の式(4-1)で表すことができる。式(4-1)では、右辺の第1項の任意の配置リストの配置可能数の上限から、第2項の1つ前の期間の在庫数を差し引き、この値が、左辺が示す当該期間、当該配置リストにおける配置可能数以上であることを制約することで、当該期間、当該配置リストにおける配置可能数の上限を表す。
【0034】
【0035】
(制約条件4-2:配置可能数の上限の変化)
制約条件4-2は、直前の時間枠で配置リストに荷物がなくなる場合は、配置可能数が最大値に戻ることを制約する。この制約条件4-2は、荷物の搬入・搬出の形式がスタックの場合には不要である。制約条件4-2の制約式は、次の式(4-2)で表すことができる。式(4-2)では、荷物を奥詰めする場合(例えば、
図2の配置リスト102にて、配置場所102bに配置された荷物203を配置場所102aへ詰めること)は、奥詰めした数分(荷物を配置していない場所数)だけ荷物を配置できるようになることから、式(4-2)の右辺の第2項で、奥詰めする場合(u=1の場合)は、1つ前の期間における任意の配置リストの配置可能数に、当該配置リストの配置可能数上限を計上し、そこから配置可能数から在庫数(1つ前の期間における当該配置リストへの搬入数)を差し引いたものとなる。式(4-2)では、この値が、左辺に示す次期間の配置可能数以上であることを制約することで、奥詰めによる配置可能数の変化を表す。
【0036】
【0037】
(制約条件5:搬出予定日時順の遵守)
制約条件5は、各期間の同じ配置リスト内では、各荷物について、搬出予定日時が遅い荷物よりも手前にはできるだけ配置しないことを制約する。制約条件5の制約式は、次の式(5)で表すことができる。式(5)の左辺では、搬入予定日時の順番と搬出予定日時の順番が逆転している2つの荷物が同一の配置リストに配置される場合に2(=1+1)を計上することを表し、右辺では、左辺が2以上の場合のみ、ペナルティを表す変数pが1以上となる。これにより、搬出予定日時順が逆転して配置された場合のペナルティを表現する。後述するように、目的関数でペナルティpを最小化することで可能な限り搬出予定日時順を遵守できるようにする。
【0038】
【0039】
(目的関数)
目的関数は、目的関数項目の識別情報をc_object、目的関数項目をObject[c_object]、目的関数項目への重み付けをc_objective_weight[c_object]とした場合、以下の式(6)で定義する。最適化計算では、この目的関数を最小化する変数x、y、z、u、pの組合せを算出する。
【0040】
【0041】
目的関数項目Object[c_object]は、例えば、以下の3つである。
【0042】
(目的関数項目1:搬出予定順違反時のペナルティの総和)
この項目は、搬出予定順を違反することで発生するペナルティpの総和を表す。ペナルティpの総和が小さくなるような配置を算出することで、搬出のために他の荷物を移動する作業が発生しないような配置を算出することができ、作業効率の低下を抑制することができる。目的関数項目1は、以下の計算式(7)で表すことができる。
【0043】
【0044】
(目的関数項目2:搬出口からの距離の総和)
この項目は、荷物の配置場所の搬出口からの距離の総和を表す。ただし、将来の搬入出も考慮して、搬出予定日時の早い荷物を搬出口近くに置いておき、その場所にできるだけ荷物が置かれるようにする。目的関数項目2は、以下の計算式(8)で表すことができる。計算式(8)の最初の重み(c_max_distance)に関し、スタックからの搬出口までの距離を搬出口から最も遠い位置にある配置場所からの距離(c_max_distance)で割ることで0~1の範囲に正規化している。2つ目の重み(c_max_shipping_time)に関し、搬出予定日時を最も遅い時間の日時(c_max_shipping_time)で割ることで0~1の範囲に正規化している。
【0045】
【0046】
(目的関数項目3:奥詰め回数の総和)
この項目は、奥詰め回数が最小になることを表す。奥詰め回数が小さくなるような配置を算出することで、配置場所を空けるために配置済みの荷物を移動(奥詰め)する作業が発生しないような配置を算出することができ、作業効率の低下を抑制することができる。この項目は、荷物の搬入・搬出の形式がスタックの場合は不要である。目的関数項目3は、以下の計算式(9)で表すことができる。
【0047】
【0048】
(動作)
次に本実施形態の荷物の配置計画の作成処理の流れを説明する。
図4は、実施形態に係る計画作成処理の一例を示すフローチャートである。
最初にデータ取得部11が、計画作成に必要なデータ、例えば、荷物配置場所100のレイアウト、荷物の搬入予定日時、搬出予定日時などを取得する(ステップS1)。より具体的には、データ取得部11は、上記の定数(c_place_num_in_list、c_distance、c_receiving_time、c_shipping_time、c_objective_weight)、集合(TimeWindow、Product、PlaceList、ProductOnTimeWindow、ReceivingProduct、ShippingProduct)等を取得する。データ取得部11は、取得した各種のデータを記憶部14に書き込んで保存する。
【0049】
次にユーザが、計画システム10に対して、荷物の配置計画の作成を指示する操作を行う。計画システム10は、この指示操作を受け付け、配置計画作成処理の実行を計画部12に指示する。すると、計画部12が、制約条件定義部121、目的関数定義部122、配置計画最適化部123を用いて以下の処理を実行する。
まず、制約条件定義部121が、制約条件を設定する(ステップS2)。制約条件定義部121は、上記で説明した6つの制約式(1)、(2)、(3)、(4-1)、(4-2)、(5)を制約条件として設定する。
次に、目的関数定義部122が、目的関数を設定する(ステップS3)。目的関数定義部122は、ステップS1にて記憶部14に保存された目的関数項目ごとの重み係数c_objective_weightを読み出して、式(6)の目的関数を設定する。
【0050】
次に、配置計画最適化部123が、荷物の配置計画を最適化する計算を実行する(ステップS4)。ここで、配置計画最適化部123は、最適化問題を解く一般的なソルバーである。配置計画最適化部123は、荷物の搬入予定日時、搬出予定日時に基づいて、計算対象期間を所定の長さの期間(TimeWindow)ごとに分割し(
図3Aの期間T1~T3)、各期間について、ステップS2で設定された制約条件と、ステップS3で設定された目的関数によって定式化される混合整数計画問題を解いて、ステップS2で設定された制約条件を満たしつつ、ステップS3で設定された目的関数の値を最小化する変数x、y、z、u、pを算出する。
【0051】
次に出力部13が作成した計画を出力する(ステップS5)。例えば、出力部13は、変数xに基づいて搬入予定の荷物をどの配置リストに割り付けるか(配置するか)を表示する。また、出力部13は、変数x、yに基づいて搬入予定の荷物をどの配置リストのどの配置場所に配置するかを出力してもよい。
【0052】
(効果)
以上説明したように、本実施形態によれば、将来の作業効率性を考慮した荷物の配置場所を計画できるようになる。より具体的には、(1)搬出口に近い場所に優先的に荷物が配置されるような配置計画(荷物をどの配置リストに割り付けるかを示す計画)を算出することができるので、搬出口までの移動距離が短くなり、搬送機器の負荷を軽減することが可能となる。(2)また、搬出順が逆になるような荷物の配置を抑制し、奥詰め回数を低減するような荷物の配置計画を算出することができるので荷物を搬入した後の余計な作業を低減し、搬入・搬出作業の効率化を図ることができる。(3)また、本実施形態によれば、混合整数計画法を用いた荷物の配置場所の厳密解を算出することが可能になる。
【0053】
なお、上記の実施形態では荷物の搬入・搬出の形式がキューの場合を例に説明を行ったが、本実施形態の荷物の配置計画の作成処理は、荷物の搬入・搬出の形式がスタックの場合にも適用することができる。この場合、制約条件4-2と目的関数項目3は不要である。また、例えば、実施形態では、駐車サービスにおける車両の駐車位置を決定する場合を例として挙げたが、一般的な物流倉庫やコンテナターミナルに荷物を搬入・搬出する際の荷物の配置場所を決定する処理などにも適用することができる。
【0054】
図5は、実施形態に係る計画システムのハードウェア構成の一例を示す図である。
コンピュータ900は、CPU901、主記憶装置902、補助記憶装置903、入出力インタフェース904、通信インタフェース905を備える。上述の計画システム10は、コンピュータ900に実装される。そして、上述した各機能は、プログラムの形式で補助記憶装置903に記憶されている。CPU901は、プログラムを補助記憶装置903から読み出して主記憶装置902に展開し、当該プログラムに従って上記処理を実行する。また、CPU901は、プログラムに従って、記憶領域を主記憶装置902に確保する。また、CPU901は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置903に確保する。
【0055】
なお、計画システム10の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各機能部による処理を行ってもよい。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、CD、DVD、USB等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また、このプログラムが通信回線によってコンピュータ900に配信される場合、配信を受けたコンピュータ900が当該プログラムを主記憶装置902に展開し、上記処理を実行しても良い。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0056】
以上のとおり、本開示に係るいくつかの実施形態を説明したが、これら全ての実施形態は、例として提示したものであり、発明の範囲を限定することを意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これらの実施形態及びその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0057】
<付記>
各実施形態に記載の配置場所計画立案装置、配置場所計画立案手法およびプログラムは、例えば以下のように把握される。
【0058】
(1)第1の態様に係る配置場所計画立案装置(計画システム10)は、荷物の搬入と搬出の方向が定められた列状の荷物の配置場所を示す配置リストを複数含む荷物配置場所へ搬入される前記荷物の配置を計画する配置場所計画立案装置であって、前記荷物配置場所のレイアウト情報と、前記荷物の搬入予定日時の情報と、前記荷物の搬出予定日時の情報と、を取得するデータ取得部と、搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、任意の期間における任意の前記配置リストに格納された前記荷物の在庫数は、当該期間に当該配置リストに配置される前記荷物の数の総和であることを制約する制約式と、任意の前記配置リストに配置可能な前記荷物の上限を超えて、当該配置リストに前記荷物を搬入できないことを制約する制約式と、任意の期間に任意の前記配置リストに搬入可能な前記荷物の数の上限は、当該配置リストに配置できる前記荷物の上限から既に当該配置リストに配置されている前記荷物の数を差し引いた値であることを制約する制約式と、を制約条件として設定する制約条件定義部と、搬出対象の前記荷物が配置された場所と前記荷物配置場所における前記荷物の搬出口の距離の総和を計算する計算式を目的関数として設定する目的関数定義部と、前記制約条件を満たしつつ、前記目的関数を最小化するような、前記荷物を複数の前記配置リストのうちの何れに配置するかを含む配置計画を計算する配置計画最適化部と、を備える。
これにより、荷物の搬出作業を効率化する配置計画を作成することができる。
【0059】
(2)第2の態様に係る配置場所計画立案装置(計画システム10)は、(1)の配置場所計画立案装置であって、前記制約条件定義部は、さらに、搬出予定日時が相対的に早い第1の前記荷物よりも搬出口に近い場所に、搬出予定日時が相対的に遅い第2の前記荷物をできるだけ配置しないことを制約する制約式を設定し、前記目的関数定義部は、前記計算式と、前記第1の前記荷物よりも搬出口に近い場所に前記第2の前記荷物を配置した場合に加算されるペナルティ値の大きさを計算する計算式の加重和を目的関数として設定する。
これにより、荷物の搬出順を考慮した配置計画を作成することができる。荷物の搬出時に搬出しない他の荷物を一時的に移動する作業が抑制されるような配置となるので、荷物の搬入後の作業効率を向上することができる。
【0060】
(3)第3の態様に係る配置場所計画立案装置(計画システム10)は、(1)~(2)の配置場所計画立案装置であって、前記目的関数定義部は、前記目的関数と、前記荷物を配置する場所を空けるために前記配置リストに既に配置された前記荷物を移動する回数を計算する計算式の加重和を新たな目的関数として設定する。
これにより、荷物を置くに詰めるなどの作業がなるべく発生しないような荷物の配置計画を作成することができる。
【0061】
(4)第4の態様に係る配置場所計画立案装置(計画システム10)は、(1)~(3)の配置場所計画立案装置であって、前記配置計画最適化部は、前記目的関数を最小化するときの、前記荷物をどの前記配置リストに配置するかと(変数x)、前記配置リストそれぞれの配置可能数と(変数y)、を計算する。
これにより、どの配置リストに荷物を配置するかを算出することができる。また、配置リストそれぞれの配置可能数を算出することで、どの配置リストのどの配置場所に荷物を配置するかを算出することができる。
【0062】
(5)第5の態様に係る配置場所計画立案装置(計画システム10)は、(1)~(4)の配置場所計画立案装置であって、前記配置計画最適化部は、所定の期間ごとに、前記目的関数を最小化する、当該期間に搬入する予定がある前記荷物を配置する前記配置リストを計算する。
期間ごとに配置計画を算出することで、変数に時間の要素を含めずに配置計画を算出することができ、計算負荷を低減することができる。
【0063】
(6)第6の態様に係る配置場所計画立案手法は、荷物の搬入と搬出の方向が定められた列状の荷物の配置場所を示す配置リストを複数含む荷物配置場所へ搬入される前記荷物の配置を計画する計画方法であって、前記荷物配置場所のレイアウト情報と、前記荷物の搬入予定日時の情報と、前記荷物の搬出予定日時の情報と、を取得するステップと、搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、任意の期間における任意の前記配置リストに格納された前記荷物の在庫数は、当該期間に当該配置リストに配置される前記荷物の数の総和であることを制約する制約式と、任意の前記配置リストに配置可能な前記荷物の上限を超えて、当該配置リストに前記荷物を搬入できないことを制約する制約式と、任意の期間に任意の前記配置リストに搬入可能な前記荷物の数の上限は、当該配置リストに配置できる前記荷物の上限から既に当該配置リストに配置されている前記荷物の数を差し引いた値であることを制約する制約式と、を制約条件として設定するステップと、搬出対象の前記荷物が配置された場所と前記荷物配置場所における前記荷物の搬出口の距離の総和を計算する計算式を目的関数として設定するステップと、前記制約条件を満たしつつ、前記目的関数を最小化するような、前記荷物を複数の前記配置リストのうちの何れに配置するかを含む配置計画を計算するステップと、を有する。
【0064】
(7)第7の態様に係るプログラムは、コンピュータ900に、荷物の搬入と搬出の方向が定められた列状の荷物の配置場所を示す配置リストを複数含む荷物配置場所へ搬入される前記荷物の配置を計画する処理であって、前記荷物配置場所のレイアウト情報と、前記荷物の搬入予定日時の情報と、前記荷物の搬出予定日時の情報と、を取得するステップと、搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、任意の期間における任意の前記配置リストに格納された前記荷物の在庫数は、当該期間に当該配置リストに配置される前記荷物の数の総和であることを制約する制約式と、任意の前記配置リストに配置可能な前記荷物の上限を超えて、当該配置リストに前記荷物を搬入できないことを制約する制約式と、任意の期間に任意の前記配置リストに搬入可能な前記荷物の数の上限は、当該配置リストに配置できる前記荷物の上限から既に当該配置リストに配置されている前記荷物の数を差し引いた値であることを制約する制約式と、を制約条件として設定するステップと、搬出対象の前記荷物が配置された場所と前記荷物配置場所における前記荷物の搬出口の距離の総和を計算する計算式を目的関数として設定するステップと、前記制約条件を満たしつつ、前記目的関数を最小化するような、前記荷物を複数の前記配置リストのうちの何れに配置するかを含む配置計画を計算するステップと、を含む処理を実行させる。
【符号の説明】
【0065】
10・・・計画システム
11・・・データ取得部
12・・・計画部
121・・・制約条件定義部
122・・・目的関数定義部
123・・・配置計画最適化部
13・・・出力部
14・・・記憶部
900・・・コンピュータ
901・・・CPU
902・・・主記憶装置
903・・・補助記憶装置
904・・・入出力インタフェース
905・・・通信インタフェース