IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱重工業株式会社の特許一覧

特開2024-142737配置計画立案装置、配置計画立案手法およびプログラム
<>
  • 特開-配置計画立案装置、配置計画立案手法およびプログラム 図1
  • 特開-配置計画立案装置、配置計画立案手法およびプログラム 図2A
  • 特開-配置計画立案装置、配置計画立案手法およびプログラム 図2B
  • 特開-配置計画立案装置、配置計画立案手法およびプログラム 図3
  • 特開-配置計画立案装置、配置計画立案手法およびプログラム 図4
  • 特開-配置計画立案装置、配置計画立案手法およびプログラム 図5
  • 特開-配置計画立案装置、配置計画立案手法およびプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024142737
(43)【公開日】2024-10-11
(54)【発明の名称】配置計画立案装置、配置計画立案手法およびプログラム
(51)【国際特許分類】
   G06Q 10/087 20230101AFI20241003BHJP
   G06Q 10/08 20240101ALI20241003BHJP
   B65G 63/00 20060101ALI20241003BHJP
【FI】
G06Q10/087
G06Q50/28
B65G63/00 G
B65G63/00 H
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023055039
(22)【出願日】2023-03-30
(71)【出願人】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【弁理士】
【氏名又は名称】伊藤 英輔
(74)【代理人】
【識別番号】100161702
【弁理士】
【氏名又は名称】橋本 宏之
(74)【代理人】
【識別番号】100189348
【弁理士】
【氏名又は名称】古都 智
(74)【代理人】
【識別番号】100196689
【弁理士】
【氏名又は名称】鎌田 康一郎
(72)【発明者】
【氏名】森本 陽
(72)【発明者】
【氏名】古賀 祐一
(72)【発明者】
【氏名】牧野 和久
【テーマコード(参考)】
5L010
5L049
【Fターム(参考)】
5L010AA16
5L049AA16
5L049CC51
(57)【要約】
【課題】荷物搬入後の将来の作業効率を考慮した荷物の配置場所を計画することができる計画システムを提供する。
【解決手段】配置計画立案装置は、一端から荷物の搬入と搬出を行う列状の前記荷物の配置場所を示す配置リストが行列状に配置されたエリアへ搬入される前記荷物の配置を計画する計画システムであって、前記エリアのレイアウト情報と、1つの配置リストに配置できる荷物の上限と、荷物の搬入・搬出予定情報を取得するデータ取得部と、配置リストに配置する荷物の上限を制約する制約式等を制約条件として設定する制約条件定義部と、配置対象の荷物を配置した配置リストの数や当該配置リストが存在する範囲を算出する計算式を目的関数として設定する目的関数定義部と、制約条件を満たしつつ目的関数を最小化するような荷物の配置計画を計算する配置計画最適化部と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
スタック形式で荷物の搬入と搬出を行う前記荷物の配置場所を示す配置リストが行列状に配置されたエリアへ搬入される前記荷物の配置を計画する計画システムであって、
前記エリアのレイアウト情報と、1つの前記配置リストに配置できる前記荷物の数と、前記荷物の搬入予定情報と、前記荷物の搬出予定情報と、を取得するデータ取得部と、
前記配置リストに配置する前記荷物の数の上限を制約する制約式と、搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、搬出予定の前記荷物を前記配置リストの何れかから必ず搬出することを制約する制約式と、全ての前記配置リストに配置された前記荷物の在庫数の整合性を制約する制約式と、配置対象の前記荷物を種類別に分類したときに異なる種類の前記荷物をなるべく同一の前記配置リストに配置しないことを制約する制約式と、を制約条件として設定する制約条件定義部と、
配置対象の前記荷物を配置した前記配置リストの数を算出する計算式と、前記行列状に配置された前記配置リストにおける行方向に前記荷物の配置に用いる搬送機器が移動する場合に、配置対象の前記荷物を配置した前記配置リストが含まれる列の数を算出する計算式と、の加重和を目的関数として設定する目的関数定義部と、
前記制約条件を満たしつつ、前記目的関数を最小化するような前記荷物の配置計画を計算する配置計画最適化部と、
を備える配置計画立案装置。
【請求項2】
前記目的関数定義部は、前記目的関数と、前記配置リストにおいて前記上限を超えて配置された前記荷物の数の合計を算出する計算式と、の加重和を新たな目的関数として設定する、
請求項1に記載の配置計画立案装置。
【請求項3】
前記目的関数定義部は、前記目的関数と、異なる前記種類の前記荷物が配置された前記配置リストについて、前記種類の数の合計を算出する計算式と、の加重和を新たな目的関数として設定する、
請求項1又は請求項2に記載の配置計画立案装置。
【請求項4】
前記目的関数定義部は、前記目的関数と、所定の第1の前記種類の前記荷物を配置することが推奨されない前記配置リストを示す非優先情報に基づいて、前記第1の前記種類の前記荷物が配置された前記非優先情報が示す前記配置リストの数の合計を算出する計算式と、の加重和を新たな目的関数として設定する、
請求項1又は請求項2に記載の配置計画立案装置。
【請求項5】
前記目的関数定義部は、前記目的関数と、隣り合う前記配置リストに配置された前記荷物の数の差分の合計を算出する計算式と、の加重和を新たな目的関数として設定する、
請求項1又は請求項2に記載の配置計画立案装置。
【請求項6】
スタック形式で荷物の搬入と搬出を行う前記荷物の配置場所を示す配置リストが行列状に配置されたエリアへ搬入される前記荷物の配置を計画する計画方法であって、
前記エリアのレイアウト情報と、1つの前記配置リストに配置できる前記荷物の数と、前記荷物の搬入予定情報と、前記荷物の搬出予定情報と、を取得するステップと、
前記配置リストに配置する前記荷物の数の上限を制約する制約式と、搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、搬出予定の前記荷物を前記配置リストの何れかから必ず搬出することを制約する制約式と、全ての前記配置リストに配置された前記荷物の在庫数の整合性を制約する制約式と、配置対象の前記荷物を種類別に分類したときに異なる種類の前記荷物をなるべく同一の前記配置リストに配置しないことを制約する制約式と、を制約条件として設定するステップと、
配置対象の前記荷物を配置した前記配置リストの数を算出する計算式と、前記行列状に配置された前記配置リストにおける行方向に前記荷物の配置に用いる搬送機器が移動する場合に、配置対象の前記荷物を配置した前記配置リストが含まれる列の数を算出する計算式と、の加重和を目的関数として設定するステップと、
前記制約条件を満たしつつ、前記目的関数を最小化するような前記荷物の配置計画を計算するステップと、
を有する配置計画立案手法。
【請求項7】
コンピュータに、
スタック形式で荷物の搬入と搬出を行う前記荷物の配置場所を示す配置リストが行列状に配置されたエリアへ搬入される前記荷物の配置を計画する処理であって、
前記エリアのレイアウト情報と、1つの前記配置リストに配置できる前記荷物の数と、前記荷物の搬入予定情報と、前記荷物の搬出予定情報と、を取得するステップと、
前記配置リストに配置する前記荷物の数の上限を制約する制約式と、搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、搬出予定の前記荷物を前記配置リストの何れかから必ず搬出することを制約する制約式と、全ての前記配置リストに配置された前記荷物の在庫数の整合性を制約する制約式と、配置対象の前記荷物を種類別に分類したときに異なる種類の前記荷物をなるべく同一の前記配置リストに配置しないことを制約する制約式と、を制約条件として設定するステップと、
配置対象の前記荷物を配置した前記配置リストの数を算出する計算式と、前記行列状に配置された前記配置リストにおける行方向に前記荷物の配置に用いる搬送機器が移動する場合に、配置対象の前記荷物を配置した前記配置リストが含まれる列の数を算出する計算式と、の加重和を目的関数として設定するステップと、
前記制約条件を満たしつつ、前記目的関数を最小化するような前記荷物の配置計画を計算するステップと、
を含む処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、配置計画立案装置、配置計画立案手法およびプログラムに関する。
【背景技術】
【0002】
特許文献1には、コンテナヤードに外来シャーシが搬入したコンテナを蔵置する作業に関し、コンテナの蔵置作業が発生する都度、コンテナ荷役手段の稼動状況、各蔵置場所におけるコンテナ積み段数の情報などを入手し、それらの情報に基づいて、状況に応じた最適なコンテナ蔵置場所を決定する方法が開示されている。特許文献1の方法によれば、コンテナの蔵置作業を、状況の変化に応じて効率的に行うことができ、外来シャーシの有効活用、物流効率の向上、物流コストの低減を実現することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4410515号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
コンテナが来訪したときの状況に応じて、その都度、コンテナの蔵置場所を決定すればそのときの作業を効率化することはできる。しかしながら、搬入・搬出するコンテナの種類やサイズを考慮せずに、各コンテナの配置場所を決定すると、コンテナの配置場所が分散し、将来、例えば、配置したコンテナを船積みするとき等に作業効率の低下を起こす可能性がある。
【0005】
本開示は、上記課題を解決することができる配置計画立案装置、配置計画立案手法およびプログラムを提供する。
【課題を解決するための手段】
【0006】
本開示の配置計画立案装置は、スタック形式で荷物の搬入と搬出を行う前記荷物の配置場所を示す配置リストが行列状に配置されたエリアへ搬入される前記荷物の配置を計画する計画システムであって、前記エリアのレイアウト情報と、1つの前記配置リストに配置できる前記荷物の数と、前記荷物の搬入予定情報と、前記荷物の搬出予定情報と、を取得するデータ取得部と、前記配置リストに配置する前記荷物の数の上限を制約する制約式と、搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、搬出予定の前記荷物を前記配置リストの何れかから必ず搬出することを制約する制約式と、全ての前記配置リストに配置された前記荷物の在庫数の整合性を制約する制約式と、配置対象の前記荷物を種類別に分類したときに異なる種類の前記荷物をなるべく同一の前記配置リストに配置しないことを制約する制約式と、を制約条件として設定する制約条件定義部と、配置対象の前記荷物を配置した前記配置リストの数を算出する計算式と、前記行列状に配置された前記配置リストにおける行方向に前記荷物の配置に用いる搬送機器が移動する場合に、配置対象の前記荷物を配置した前記配置リストが含まれる列の数を算出する計算式と、の加重和を目的関数として設定する目的関数定義部と、前記制約条件を満たしつつ、前記目的関数を最小化するような前記荷物の配置計画を計算する配置計画最適化部と、を備える。
【0007】
また、本開示の配置計画立案手法は、スタック形式で荷物の搬入と搬出を行う前記荷物の配置場所を示す配置リストが行列状に配置されたエリアへ搬入される前記荷物の配置を計画する計画方法であって、前記エリアのレイアウト情報と、1つの前記配置リストに配置できる前記荷物の数と、前記荷物の搬入予定情報と、前記荷物の搬出予定情報と、を取得するステップと、前記配置リストに配置する前記荷物の数の上限を制約する制約式と、搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、搬出予定の前記荷物を前記配置リストの何れかから必ず搬出することを制約する制約式と、全ての前記配置リストに配置された前記荷物の在庫数の整合性を制約する制約式と、配置対象の前記荷物を種類別に分類したときに異なる種類の前記荷物をなるべく同一の前記配置リストに配置しないことを制約する制約式と、を制約条件として設定するステップと、配置対象の前記荷物を配置した前記配置リストの数を算出する計算式と、前記行列状に配置された前記配置リストにおける行方向に前記荷物の配置に用いる搬送機器が移動する場合に、配置対象の前記荷物を配置した前記配置リストが含まれる列の数を算出する計算式と、の加重和を目的関数として設定するステップと、前記制約条件を満たしつつ、前記目的関数を最小化するような前記荷物の配置計画を計算するステップと、を有する。
【0008】
また、本開示のプログラムは、コンピュータに、スタック形式で荷物の搬入と搬出を行う前記荷物の配置場所を示す配置リストが行列状に配置されたエリアへ搬入される前記荷物の配置を計画する処理であって、前記エリアのレイアウト情報と、1つの前記配置リストに配置できる前記荷物の数と、前記荷物の搬入予定情報と、前記荷物の搬出予定情報と、を取得するステップと、前記配置リストに配置する前記荷物の数の上限を制約する制約式と、搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、搬出予定の前記荷物を前記配置リストの何れかから必ず搬出することを制約する制約式と、全ての前記配置リストに配置された前記荷物の在庫数の整合性を制約する制約式と、配置対象の前記荷物を種類別に分類したときに異なる種類の前記荷物をなるべく同一の前記配置リストに配置しないことを制約する制約式と、を制約条件として設定するステップと、配置対象の前記荷物を配置した前記配置リストの数を算出する計算式と、前記行列状に配置された前記配置リストにおける行方向に前記荷物の配置に用いる搬送機器が移動する場合に、配置対象の前記荷物を配置した前記配置リストが含まれる列の数を算出する計算式と、の加重和を目的関数として設定するステップと、前記制約条件を満たしつつ、前記目的関数を最小化するような前記荷物の配置計画を計算するステップと、を含む処理を実行させる。
【発明の効果】
【0009】
上述の配置計画立案装置、配置計画立案手法およびプログラムによれば、将来の作業効率を考慮した荷物の配置場所を計画することができる。
【図面の簡単な説明】
【0010】
図1】実施形態に係る計画システムの一例を示すブロック図である。
図2A】実施形態に係る荷物の配置場所の一例を示す第1の図である。
図2B】実施形態に係る荷物の配置場所の一例を示す第2の図である。
図3】実施形態に係る荷物の配置方法の一例を示す図である。
図4】実施形態に係る問題のモデル化について説明する図である。
図5】実施形態に係る計画作成処理の一例を示すフローチャートである。
図6】実施形態に係る計画システムのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0011】
<実施形態>
以下、各実施形態に係る計画システムについて、図1図6を参照しながら詳しく説明する。
(構成)
図1は、本発明の実施形態に係る計画システムの一例を示すブロック図である。本実施形態において、計画システムは、例えば、1台のPCやサーバ装置などのコンピュータ装置によって構成される。計画システム10は、港湾のコンテナターミナル等に搬入された荷物を配置場所に格納する場面において、将来の作業効率を考慮に入れた荷物の配置計画を作成する。より具体的には、一端からスタック形式で荷物を出し入れする列状の荷物の配置場所(配置リストと称する場合がある。)が行列状に設けられた荷物の配置場所に、移動コストが大きい搬送装置を使って荷物を配置する場合に、どの配置リストに荷物を配置すると、将来、船積みや陸揚げを行う際に、搬送装置の移動を少なくした荷物の搬入・搬出が可能か等を考慮に入れて荷物の配置計画を作成する。
【0012】
図1が示すように、計画システム10は、データ取得部11と、計画部12と、出力部13と、記憶部14と、を備えている。
データ取得部11は、荷物の配置計画の作成に必要な情報として、荷物格納場のレイアウトの情報(行列状に何個の配置リストが設けられているか、1つの配置リストに何個の荷物を格納できるか、各配置リストからコンテナターミナルにおける荷物の搬入口、搬出口との距離など)、搬入・搬出する荷物の情報(搬入出する荷物の種類やサイズとその荷物の搬入予定日、搬出予定日など)及び在庫情報(既に配置リストに格納されている荷物に関して、何処にどの種類の荷物が配置されているか)等の情報を取得し、以下で説明する最適化処理で扱えるよう整形する機能、取得した情報や整形した情報を記憶部14に書き込んで記録する機能を有する。
【0013】
計画部12は、荷物の最適な格納計画を作成する。計画部12は、制約条件定義部121と、目的関数定義部122と、配置計画最適化部123と、を備える。
制約条件定義部121は、データ取得部11が取得した情報を基に、荷物を複数の配置リストの何れかに必ず配置させることや、荷物の配置に関して、配置可能数の上限を超えて配置しないことなど、6種類(20個)の制約条件(後述)を定義する機能を有する。
目的関数定義部122は、同じ種類の荷物をなるべく近い範囲に配置することなどを含む目的関数を定義する機能を有する。
配置計画最適化部123は、制約条件定義部121が定義した制約条件を遵守し、目的関数定義部122が定義した目的関数を混合整数計画問題として定式化し、一般に提供されているソルバーにより最適化計算を行う機能を有する。
【0014】
出力部13は、配置計画最適化部123が最適化計算したことによって得られた結果に基づいて各荷物の配置場所を出力する機能を有する。
記憶部14は、荷物の最適な格納計画の作成に必要な諸々の情報を記憶する。
【0015】
(荷物配置場所の構成)
図2A図2Bはそれぞれ実施形態に係る荷物の配置場所の一例を示す第1の図、第2の図である。図2Aに荷物配置場所の平面図を示す。図2Bにエリア30の断面図を示す。エリア30は、搬送機器20の稼働範囲や設備の種類(例えば、冷凍設備)などで分けられた荷物の配置場所の集合を表す。図2Aには1つのエリア30を示しているが、エリア30は複数存在してもよいし、図2Aのエリア30を例えば2つに分割して、それぞれを別のエリア30A,30Bとして扱ってもよい。搬送機器20は、搬入口31に搬入された荷物を、紙面横方向(エリア30の行方向)に移動しながらエリア30の何れかに荷物を配置する。また、搬送機器20は、エリア30に配置された荷物を搬出口32へ搬送する。サブエリア40は、搬送機器20が停車したまま搬入および搬出の作業が可能な配置場所の集合を表す。図2Aの行列状に分割されたエリア30の各列はサブエリア40である。配置リスト50は、一方向につめて荷物を配置できる配置場所の集合を表す。図2Aの1つのセルは、配置リスト50を示す。図2Bに示すように配置リスト50には、スタック形式で荷物を搬入、搬出することができる。配置リスト50において、紙面の上下方向に積まれているのがコンテナ等の荷物である。1つの配置リスト50は、複数の配置場所60を含む。配置場所60は、荷物の配置場所である。1つの配置場所60には1個の荷物を配置することができる。配置リスト50に積むことができる荷物の数には作業効率や安全上の観点から上限が設けられている。計画システム10は、ある荷物をエリア30のどの配置場所60に配置するのかを計画するのではなく、同じ種類の荷物群を配置する場所を、エリア30内のどこに確保するかを計画する。同じ種類の荷物は、船積みの際、船体の近い場所に積むことが多いので、コンテナターミナルでも同じ種類の荷物をまとめて配置した方が作業効率上好ましい。また、エリア30に荷物を分散して配置すると、搬送機器20の移動回数、移動距離が増大し、作業効率が低下する。その為、同じ種類の荷物をエリア30内のなるべく近い位置にまとめて配置する計画を作成する。例えば、ある配置リスト50に同じ種類の荷物をまとめて配置できれば搬送機器20の移動を最低限に抑えることができる。同様に、1つのサブエリア40に同じ種類の荷物をまとめて配置できれば、搬送機器20を移動させる必要が無い。また、例えば、狭い範囲(互いの距離が近く、できるだけサブエリア数が少ない範囲)のサブエリア40に分散して同じ種類の荷物を配置できれば、搬送機器20の移動回数を少なくすることができる。計画システム10は、同じ種類の荷物をなるべく近い位置に配置できるような配置計画を作成する。なお、本実施形態では、荷物の種類を、計画大グループと計画小グループを使って分類する。計画大グループとは、配置場所の確保時にできるだけまとめて置く対象となる単位を表し、例えば、同じ船に積載する予定の荷物のグループを指す。計画小グループとは、配置エリアを確保する際に識別が不要な計画の集合を表す。例えば、同じ船に積載する荷物(同じ計画大グループの荷物群)のうち、冷凍品の荷物群を1つの計画小グループ、同じ大きさの荷物群を1つの計画小グループとして設定する。例えば、20フィートのコンテナと40フィートのコンテナが存在する場合、20フィートのコンテナ群が1つの計画小グループ、40フィートのコンテナ群が別の1つの計画小グループである。
【0016】
図3に荷物の配置方法の一例を示す。エリア30に搬入される荷物の搬入予定、エリア30から搬出される荷物の搬出予定は定められていて、例えば、8月1日から8月3日までの間、計画小グループG1の荷物(荷物G1と記載する。)が、連日2個ずつ搬入される予定であるとする。また、例えば、8月3日の荷物G1の搬入前に、エリア30における紙面の上端から3~4行目、左端から14列目の配置リスト50に配置された荷物G2が1つずつ搬出される予定であるとする。図3のパターンAでは、荷物G1が搬入される度に、そのときに空いている配置場所60に荷物を配置している。このような処理を行うと、荷物G1が分散して配置される可能性があり、将来的に作業効率が低下する(搬送機器20の移動回数や移動距離が増加する。)可能性がある。一方、パターンBでは、荷物の搬入予定、搬出予定に基づいて、最終的に6個の荷物を配置しなければならないこと、8月3日に荷物G2が搬出され、その配置場所60が空くことなどを見通して、なるべく荷物G1をまとめて置けるように計算して配置している。このように荷物の搬入予定および搬出予定に基づく、時系列の各配置リスト50の在庫数変化などを考慮に入れながら、最適な荷物の配置計画を算出するために、時空間ネットワークモデルを導入して問題をモデル化する。例えば、コンテナターミナルについて、日別に搬入する予定のコンテナを、最大で4個まで積み上げることのできる配置リスト50のどこに配置すれば搬送機器20の移動回数が最小となるかを決定する問題を考える。
【0017】
図4に時空間ネットワークモデルの一例を示す。時間と場所の2軸上に点を作り、点と点を結ぶ枝を作る。これを時空間ネットワークと呼ぶ。上記した問題をモデル化するための時空間ネットワークモデルを次のように定義する。(1)計画対象期間(例えば、4日間)を離散時間に等分割する。図4の例の場合、4日間を1日ごとに分割する。(2)点集合を場所(搬入口、配置リスト1、配置リスト2、搬出口)と時間の組で作成する。簡単な例として、エリア30にはサブエリア40が2つあり、各サブエリア40には配置リスト50が1つずつ(配置リスト1、2)存在するとしている。(3)枝集合として、搬入口から配置リスト1および配置リスト2に向かう枝、配置リスト1および配置リスト2から搬出口に向かう枝、同じ配置リスト間での在庫を引継ぐ枝(縦方向の枝)を作成する。これにより、図4に例示する時空間ネットワークモデルが生成される。図4の時空間ネットワークモデルの縦軸は期間、横軸は、搬入口、配置リスト1、配置リスト2、搬出口など荷物の移動の拠点となる場所を示している。時空間上の点は、各期間における各場所を表したものである。縦軸の期間は時間の経過を示しており、隣接する2つの期間の間(例えば、区間=0~1の間)は、1日である。2つの点を結んだ矢印は、荷物の時空間上の移動を示している。この矢印を枝と呼ぶ。各枝は、時間遷移による事象、その事象に要する時間を表している。例えば、横方向の枝は、荷物が場所を移動することを表し、縦の枝は、荷物が同一の場所に留まることを示している。
【0018】
ここで、ある4日間の間に、搬入口、搬出口、及び同時に4個の荷物しか配置できない配置リスト1と配置リスト2からなる場内に2種類の荷物aと荷物bを搬入する際の搬入先と搬出元を決める問題を考える。期間0の時点で荷物aを配置リスト2に配置した場合、期間1以降に搬入する荷物bは配置リスト2に空きがあるものの、異なる種類の荷物はできるだけ同じ配置リストにはおかないという方針から、配置リスト1に配置する。このような考え方で期間0に搬入口に搬入された1個の荷物a、期間1に搬入口に搬入された1個の荷物aと1個の荷物b、期間2に搬入口に搬入された1個の荷物bの配置先を、同じ種類の荷物はなるべくまとめて配置することを配置目標として様々に算出する。図4の枝401~409は、このようにして算出された荷物の配置方法の一例を示している。例えば、枝401は、荷物aの搬入口から配置リスト2への移動を示す。枝402は、荷物aが期間=0~1の間、配置リスト2に存在することを示す。1つの配置計画は、例えば、枝401~枝409および各枝とそれに対応する変数(後述する変数x)によって構成される。計画システム10は、時空間ネットワークモデルに基づいて、配置目標を満たす様々な枝の組合せ(配置計画)の中から効率の良い(搬送機器20がなるべく移動しない)配置計画を探索する。
【0019】
(混合整数計画問題)
図4の時空間ネットワークに基づいて、効率の良い配置計画を算出する問題は、例えば、搬送機器20の移動を減らすために、目的関数を同一の種類の荷物の配置範囲を最小化すること等と定め、諸々の制約条件を設定することにより、混合整数計画問題として定式化することができる。混合整数計画問題は、一般に提供されているソルバーを使用することで解くことができる。時空間ネットワークモデルに基づいて定式化することで、期間ごとの搬入、搬出による配置リスト50における在庫量の変化を管理すればよくなり、時々刻々と荷物の搬入、搬出を考えることで変数が膨大となる問題を解消することができる。具体的な定数、変数、制約条件、目的関数等を以下に記載する。
【0020】
(定数)
定数として、例えば、c_place_num_in_list、c_place_limit_in_list、c_all_receiving_num、c_all_shipping_num、c_target_flag、c_target_flag_by_plan_group、c_receiving_node、c_shipping_node、c_not_target_product_num、c_receiving_num、c_shipping_num、c_size、c_sub_area、c_size_prohibited_flag、c_distance、c_max_distance、c_neighbor_list、c_neighbor_sub_area、c_list_front、c_list_back、c_org_step、c_objective_weightなど(後述する制約条件の項でさらにいくつかの定数を扱う。)を定義する。
(1)c_place_num_in_listは、任意の配置リスト50に同時に配置可能な荷物数を表す非負整数であり、引数は配置リスト50の識別情報である。
【0021】
(2)c_place_limit_in_listは、任意の配置リスト50に同時に配置可能な荷物数を表す非負整数であり、引数は配置リスト50の識別情報である。ただし、c_place_num_in_listと異なり、超過することが可能である。
【0022】
(3)c_all_receiving_numは、任意の時間枠に任意の計画小グループの荷物が搬入する数を表す非負整数であり、引数は時間枠の識別情報と計画小グループの識別情報である。
【0023】
(4)c_all_shipping_numは、任意の時間枠に任意の計画小グループの荷物が搬出する数を表す非負整数であり、引数は時間枠の識別情報と計画小グループの識別情報である。
【0024】
(5)c_target_flagは、任意の計画小グループが最適化対象か否かを表す論理型の値(true:対象、false:非対称)であり、引数は計画小グループの識別情報である。
【0025】
(6)c_target_flag_by_plan_groupは、任意の計画大グループが最適化対象か否かを表す論理型の値(true:対象、false:非対称)であり、引数は計画大グループの識別情報である。
【0026】
(7)c_receiving_nodeは、任意の計画小グループが搬入するノード(搬入口31)を表す文字列であり、引数は計画小グループの識別情報である。
【0027】
(8)c_shipping_nodeは、任意の計画小グループが搬出するノード(搬出口32)を表す文字列であり、引数は計画小グループの識別情報である。
【0028】
(9)c_not_target_product_numは、任意の時間枠に任意の配置リスト50に配置される最適化対象以外の荷物の個数を表す非負整数であり、引数は時間枠の識別情報、配置リスト50の識別情報である。
【0029】
(10)c_receiving_numは、任意の時間枠に任意の計画小グループの荷物が任意の配置リスト50に配置される荷物の個数を表す非負整数であり、引数は時間枠の識別情報、計画小グループの識別情報、配置リスト50の識別情報である。
【0030】
(11)c_shipping_numは、任意の時間枠に任意の計画小グループの荷物が任意の配置リスト50から搬出される荷物の個数を表す非負整数であり、引数は時間枠の識別情報、計画小グループの識別情報、配置リスト50の識別情報である。
【0031】
(12)c_sizeは、任意の計画小グループのサイズを表す非負整数であり、引数は計画小グループの識別情報である。
【0032】
(13)c_sub_areaは、任意の配置リスト50が所属するサブエリア40を表す文字列であり、引数は配置リスト50の識別情報である。
【0033】
(14)c_size_prohibited_flagは、任意の計画小グループが任意の時間枠で任意のサブエリア40にサイズが理由で配置できるか否かを表す論理型の値(true:可能、false:不可)であり、引数は時間枠の識別情報、計画小グループの識別情報、サブエリア40の識別情報である。
【0034】
(15)c_distanceは、任意の配置リスト50から到達可能な搬出口までの距離の平均を表す非負実数であり、引数は配置リスト50の識別情報である。
【0035】
(16)c_max_distanceは、配置リスト50から搬出口までの距離で最大となる値を表す非負実数であり、引数は配置リスト50の識別情報である。
【0036】
(17)c_neighbor_listは、任意の配置リスト50と隣り合う配置リスト50を表す文字列であり、引数は配置リスト50の識別情報である。
【0037】
(18)c_neighbor_sub_areaは、任意のサブエリア40と隣り合うサブエリア40を表す文字列であり、引数はサブエリアの識別情報である。
【0038】
(19)c_list_frontは、任意の配置リスト50とサブエリア内で搬送機器停車位置から遠い場所で隣り合う配置リスト50を表す文字列であり、引数は配置リスト50の識別情報である。
【0039】
(20)c_list_backは、任意の配置リスト50とサブエリア内で搬送機器停車位置から近い場所で隣り合う配置リスト50を表す文字列であり、引数は配置リスト50の識別情報である。
【0040】
(21)c_org_stepは、任意の時間枠に隣り合う2つの配置リスト1と配置リスト2の計画済の荷物数の差を表す非負整数である。引数は時間枠の識別情報、配置リスト1の識別情報、配置リスト2の識別情報である。
【0041】
(22)c_objective_weightは、任意の目的関数の重みを表す非負実数である。引数は目的関数項目(後述)の識別情報である。
【0042】
(集合)
集合として、以下を定義する。
(1)TimeWindowは、時間枠の集合を表す。(2)PlaceListは、配置リスト50の集合を表す。(3)PlanGroupは、計画大グループの集合を表す。(4)SubPlanGroupは、計画大グループの識別情報を引数とする計画小グループの集合を表す。(5)Areaは、エリアの集合を表す。(6)SubAreaは、エリアの識別情報を引数とするサブエリアの集合を表す。(7)ProhibitedPlaceListは、計画小グループの識別情報を引数とする、任意の計画小グループの配置が優先されない配置リスト50の集合を表す。
【0043】
(変数)
変数として、x、y、z、u、v、w、r、s、v_area、v_sub_area、v_place_list、v_stepを定義する。これらの変数は、最適化計算によって算出される値である。これらのうちxが決定変数、残りは補助変数である。
(1)xは、任意の時間枠で任意の計画小グループが移動元の配置リスト50から移動先の配置リスト50へ移動する個数を表す非負整数である。引数は、時間枠の識別情報、計画小グループの識別情報、配置リスト50(移動元)の識別情報、配置リスト50(移動先)の識別情報である。なお、搬入口31は配置リスト50(移動元)の一種である。搬出口32は配置リスト50(移動先)の一種である。
【0044】
(2)yは、任意の時間枠で任意の計画小グループが任意の配置リスト50に存在する在庫数を表す非負実数である。引数は、時間枠の識別情報、計画小グループの識別情報、配置リスト50の識別情報である。
【0045】
(3)zは、任意の時間枠で任意の配置リスト50に存在する在庫数を表す非負実数である。引数は、時間枠の識別情報、配置リスト50の識別情報である。
【0046】
(4)uは、任意の時間枠で任意の計画小グループが任意のエリアを使用するか否かを表す0-1変数(1:使用する、0:使用しない)であり、引数は、時間枠の識別情報、計画小グループの識別情報、エリアの識別情報である。
【0047】
(5)vは、任意の時間枠で任意の計画小グループが任意のエリア、サブエリア40を使用するか否かを表す0-1変数(1:使用する、0:使用しない)であり、引数は、時間枠、計画小グループの識別情報、エリアの識別情報、サブエリア40の識別情報である。
【0048】
(6)wは、任意の時間枠で任意の計画小グループが任意の配置リスト50を使用するか否かを表す0-1変数(1:使用する、0:使用しない)であり、引数は、時間枠の識別情報、計画小グループの識別情報、配置リスト50の識別情報である。
【0049】
(7)rは、任意の配置リスト50の段積の考慮上限を超過して段積みされる個数を表す非負実数であり、引数は、配置リスト50の識別情報である。
【0050】
(8)sは、任意の配置リスト50に段積みされる計画小グループの数を表す非負実数であり、引数は、配置リスト50の識別情報である。
【0051】
(9)v_areaは、任意の計画大グループが任意のエリアを使用するか否かを表す0-1変数(1:使用する、0:使用しない)であり、引数は、計画大グループの識別情報、エリアの識別情報である。
【0052】
(10)v_sub_areaは、任意の計画大グループが任意のエリア30、サブエリア40を使用するか否かを表す0-1変数(1:使用する、0:使用しない)であり、引数は、計画大グループの識別情報、エリア30の識別情報、サブエリア40の識別情報である。
【0053】
(11)v_place_listは、任意の計画大グループが任意の配置リスト50を使用するか否かを表す0-1変数(1:使用する、0:使用しない)であり、引数は、計画大グループの識別情報、配置リスト50の識別情報である。
【0054】
(12)v_stepは、任意の時間枠で任意の配置リスト50が同一サブエリア40内で隣り合う配置リスト50との段差の最大を表す非負実数であり、引数は、時間枠の識別情報、配置リスト50の識別情報である。
【0055】
(制約条件)
次の6種類20個の制約条件を設ける。
(1)配置リスト50に同時に配置する荷物の数に関し、次の制約条件を設ける。
(制約条件1:同時配置数の上限)
制約条件1は、配置リスト50に同時に配置できる荷物数には上限があることを制約する。制約条件1の制約式は、次の式(1)で表すことができる。
【0056】
【数1】
【0057】
(2)作業の遂行に関し、次の2つの制約条件を設ける。
(制約条件2-1:搬入の遂行)
制約条件2-1は、計画対象の計画小グループを対象として、搬入予定の荷物を時間枠内に全て搬入することを制約する。制約条件2-1の制約式は、次の式(2)で表すことができる。
【0058】
【数2】
【0059】
(制約条件2-2:搬出の遂行)
制約条件2-2は、計画対象の計画小グループを対象として、搬出予定の荷物を時間枠内に全て搬出することを制約する。制約条件2-2の制約式は、次の式(3)で表すことができる。
【0060】
【数3】
【0061】
(3)在庫に関し、次の6つの制約条件を設ける。
(制約条件3-1:初期在庫)
最適化計算対象となる計画小グループは搬入量に関する変数(y)が用意され、その変数の初期値が入力で与えられる(c_init_inventoryは初期在庫数を表す定数)。制約条件3-1は、任意の配置リスト50の初期在庫は、入力で与えられた値と一致することを制約する。制約条件3-1の制約式は、次の式(2)で表すことができる。
【0062】
【数4】
【0063】
(制約条件3-2:初期在庫以外)
制約条件3-2は、最適化計算対象となる計画小グループについて、任意の配置リスト50に置かれる計画小グループの在庫数は、直前の時間枠の最初の時点の在庫数に、直前の時間枠で搬入した荷物の数を加えて、さらに搬出する荷物の数を差し引いた値となることを制約する。制約条件3-2の制約式は、次の式(5)で表すことができる。
【0064】
【数5】
【0065】
(制約条件3-3:全体の在庫量)
制約条件3-3は、任意の配置リスト50における任意の時間枠の在庫量は、その時間枠における最適化対象の計画小グループの在庫量(右辺第一項)と、それ以外の計画グループの在庫量(右辺第二項)の合計で表されることを制約する。制約条件3-3の制約式は、次の式(6)で表すことができる。なお、次式(6)のc_not_target_product_numは、計画外の荷物の数(定数)を示すが、これは例えば、既に何れかの配置リスト50に配置されている荷物の数を表す。また、制約条件3-1~3-3は在庫量の整合性を担保するための制約条件である。
【0066】
【数6】
【0067】
(制約条件3-4:在庫量上限)
制約条件3-4は、最適化対象の計画小グループの荷物を任意の時間枠で任意の配置リスト50に搬入する場合、考慮上限を超過する場合はその個数分のペナルティを変数rに計上することを制約する。なお、右辺は、(例えば、ユーザの意向などにより)既に考慮上限を超過して段積みされている場合は、考慮上限が0となることを表す。考慮上限とは、例えば、6段まで詰める配置リスト50の場合、6段積んでしまうと作業効率が悪化する(最下段の荷物を出し入れする場合など)ことや、風にあおられて荷物が崩れる可能性があることを考慮して定められた、配置リスト50に積む荷物の上限(例えば、4段)のことである。制約条件3-4の制約式は、次の式(7)で表すことができる。
【0068】
【数7】
【0069】
(制約条件3-5:搬送機器停車位置から遠い場所で隣り合う配置リストとの段差比較)
制約条件3-5は、任意の配置リスト50の在庫数と、当該配置リスト50が含まれるサブエリア40における搬送機器20の停車位置から遠い側で隣り合う配置リスト50の在庫数との差が、ある時点で計画済の差分(c_org_step)を超えて段積みされないことを制約する(差分を超えて段積みされると風の影響などで崩れる可能性があるのでこれを防ぐ)。超える場合には、ペナルティ値v_stepが計上される。制約条件3-5の制約式は、次の式(8)で表すことができる。
【0070】
【数8】
【0071】
(制約条件3-6:搬送機器停車位置から近い場所で隣り合う配置リストとの段差比較)
制約条件3-6は、任意の配置リスト50の在庫数と、当該配置リスト50が含まれるサブエリア40における搬送機器20の停車位置から近い側で隣り合う配置リスト50の在庫数との差が、ある時点で計画済の差分を超えて段積みされないことを制約する。超える場合には、ペナルティ値v_stepが計上される。制約条件3-6の制約式は、次の式(9)で表すことができる。
【0072】
【数9】
【0073】
(4)計画小グループの配置有無の判断に関し、次の6つの制約条件を設ける。これらの制約条件は、0-1変数v、w、v_area、v_sub_area、v_place_listの判定のための制約条件である。
(制約条件4-1:配置リストでの存在有無)
制約条件4-1は、任意の配置リスト50に配置された最適化対象の計画小グループの荷物の数は、当該配置リスト50の配置可能数(c_stack_num)に変数wを乗じた値以下となることを制約する。任意の配置リスト50に1つでも計画小グループの荷物が配置されていれば、その配置リスト50を計画小グループが使用している(w=1)と判定することができる。制約条件4-1の制約式は、次の式(10)で表すことができる。
【0074】
【数10】
【0075】
(制約条件4-2:隣接する配置リストの使用有無)
制約条件4-2は、最適化対象の計画小グループについて、荷物が隣り合う2つの配置リスト50を使用する場合(荷物のサイズが通常の2倍の場合)は、任意の配置リスト50に配置されるのと同時に、隣り合う配置リスト50にも配置されると判定することを制約する。制約条件4-2の制約式は、次の式(11)で表すことができる。
【0076】
【数11】
【0077】
(制約条件4-3:計画グループのエリアの使用有無)
制約条件4-3は、最適化対象の計画大グループの荷物について、その荷物が任意のサブエリア40に配置されているなら、そのサブエリア40を含むエリア30にも配置されていると判定することを制約する。制約条件4-3の制約式は、次の式(12)で表すことができる。
【0078】
【数12】
【0079】
(制約条件4-4:計画グループのサブエリアの使用有無)
制約条件4-4は、最適化対象の計画大グループの荷物について、その荷物が任意の配置リスト50に配置されているなら、その配置リスト50が含まれるサブエリア40にも配置されていると判定することを制約する。制約条件4-4の制約式は、次の式(13)で表すことができる。
【0080】
【数13】
【0081】
(制約条件4-5:計画グループの場所の使用有無)
制約条件4-5は、最適化対象の計画大グループの荷物について、その荷物が任意の配置リスト50に配置されているなら、その配置リスト50が使用されていると判定することを制約する。制約条件4-5の制約式は、次の式(14)で表すことができる。
【0082】
【数14】
【0083】
(制約条件4-6:計画セットのサブエリアの使用有無)
制約条件4-6は、最適化対象の計画小グループの荷物について、その荷物が任意の配置リスト50に配置されているなら、その配置リスト50が含まれるサブエリア40にも配置されていると判定することを制約する。制約条件4-6の制約式は、次の式(15)で表すことができる。
【0084】
【数15】
【0085】
(5)複数の計画小グループを同じ配置リストに配置することに関し、次の2つの制約条件を設ける。
(制約条件5-1:最適化対象以外の計画小グループとの比較)
制約条件5-1は、最適化対象以外の荷物が配置されている配置リスト50について、最適化対象の荷物を配置する個数分のペナルティsが計上されることを制約する。制約条件5-1の制約式は、次の式(16)で表すことができる。式(16)のlistは、計画対象外の荷物が既に配置された配置リスト50の識別情報である。
【0086】
【数16】
【0087】
(制約条件5-2:最適化対象の計画小グループとの比較)
制約条件5-2は、これから配置する最適化対象同士の2つの計画小グループの荷物について、任意の時間枠で任意の配置リスト50に同時に配置できないことを制約する。制約条件5-2の制約式は、次の式(17)で表すことができる。
【0088】
【数17】
【0089】
(6)同一サブエリアに異なるサイズの荷物を配置することを禁止することに関し、次の3つの制約条件を設ける。
(制約条件6-1:最適化対象外の計画小グループとの比較)
制約条件6-1は、最適化対象の計画小グループについて、任意の時間枠、任意のサブエリアで、既に異なるサイズの荷物が配置されている場合、配置できないことを制約する。制約条件6-1の制約式は、次の式(18)で表すことができる。
【0090】
【数18】
【0091】
(制約条件6-2:最適化対象との比較)
制約条件6-2は、サイズの異なる任意の2つの最適化対象の計画小グループのこれから配置する荷物について、同じ配置リスト50に同時に配置できないことを制約する。制約条件6-2の制約式は、次の式(19)で表すことができる。
【0092】
【数19】
【0093】
(制約条件6-3:最適化対象と隣り合うサブエリアでの比較)
制約条件6-3は、サイズの異なる任意の2つの最適化対象の計画小グループのこれから配置する荷物について、サイズが2となる計画小グループ(sub_plan_group1)が任意のサブエリア40に配置されている場合、サイズが1となる計画小グループ(sub_plan_group2)は隣り合うサブエリア40に配置できないことを表す。制約条件6-3の制約式は、次の式(20)で表すことができる。
【0094】
【数20】
【0095】
(目的関数)
目的関数は、目的関数項目の識別情報をc_object、目的関数項目をObject[c_object]、目的関数項目への重み付けをc_objective_weight[c_object]とした場合、以下の式(21)で定義する。最適化計算では、この目的関数を最小化する変数x、y、z、u、v、w、r、s、v_area、v_sub_area、v_place_list、v_stepの組合せを算出する。
【0096】
【数21】
【0097】
目的関数項目Object[c_object]は、例えば、以下の8つである。
【0098】
(目的関数項目1:配置数の上限超過数)
この項目は、配置リスト50の上限を超過した荷物数の合計を表す。目的関数項目1は、以下の計算式(22)で表すことができる。
【0099】
【数22】
【0100】
(目的関数項目2:同時配置種類数)
この項目は、配置リスト50に配置される計画小グループの種類数の合計を表す。目的関数項目2は、以下の計算式(23)で表すことができる。
【0101】
【数23】
【0102】
(目的関数項目3:エリア使用数)
この項目は、最適化対象の計画小グループのエリア使用数の合計を表す。目的関数項目3は、以下の計算式(24)で表すことができる。
【0103】
【数24】
【0104】
(目的関数項目4:サブエリア使用数)
この項目は、最適化対象の計画小グループのサブエリア使用数の合計を表す。目的関数項目4は、以下の計算式(25)で表すことができる。
【0105】
【数25】
【0106】
(目的関数項目5:配置リスト使用数)
この項目は、最適化対象の計画小グループの配置リスト使用数の合計を表す。目的関数項目5は、以下の計算式(26)で表すことができる。
【0107】
【数26】
【0108】
(目的関数項目6:配置場所距離)
この項目は、配置場所から搬出口までの距離の合計を表す。目的関数項目6は、以下の計算式(27)で表すことができる。計算式(27)のc_distance/c_max_distanceは距離を0~1の範囲に正規化した値である。
【0109】
【数27】
【0110】
(目的関数項目7:配置優先度)
この項目は、優先配置場所以外に配置される場合のペナルティの合計を表す。目的関数項目7は、以下の計算式(28)で表すことができる。
【0111】
【数28】
【0112】
(目的関数項目8:配置リスト間の段差)
この項目は、同一サブエリア内で隣り合う配置リスト50の在庫の差分の合計を表す。目的関数項目8は、以下の計算式(29)で表すことができる。
【0113】
【数29】
【0114】
(動作)
次に本実施形態の荷物の配置計画の作成処理の流れを説明する。
図5は、実施形態に係る計画作成処理の一例を示すフローチャートである。
最初にデータ取得部11が、計画作成に必要なデータ、例えば、エリア30のレイアウト、荷物の搬入予定、搬出予定、エリア30に既に配置された荷物の在庫情報などを取得する(ステップS1)。例えば、データ取得部11は、上記の定数や集合を取得する。データ取得部11は、取得した各種のデータを記憶部14に書き込んで保存する。
【0115】
次にユーザが、計画システム10に対して、荷物の配置計画の作成を指示する操作を行う。計画システム10は、この指示操作を受け付け、配置計画作成処理の実行を計画部12に指示する。すると、計画部12が、制約条件定義部121、目的関数定義部122、配置計画最適化部123を用いて以下の処理を実行する。
まず、制約条件定義部121が、制約条件を設定する(ステップS2)。例えば、制約条件定義部121は、上記で説明した20個の制約式を制約条件として設定する。
次に、目的関数定義部122が、目的関数を設定する(ステップS3)。目的関数定義部122は、ステップS1にて記憶部14に保存された重み係数c_objective_weightを読み出して、式(21)の目的関数を設定する。
【0116】
次に、配置計画最適化部123が、荷物の配置計画を最適化する計算を実行する(ステップS4)。ここで、配置計画最適化部123は、最適化問題を解く一般的なソルバーである。配置計画最適化部123は、ステップS2で設定された制約条件と、ステップS3で設定された目的関数によって定式化される混合整数計画問題を解いて、ステップS2で設定された制約条件を満たしつつ、ステップS3で設定された目的関数の値を最小化する変数x、y、z、u、v、w、r、s、v_area、v_sub_area、v_place_list、v_stepを算出する。
【0117】
次に出力部13が作成した計画を出力する(ステップS5)。例えば、出力部13は、変数xに基づいて、期間(時間枠)毎に、当該期間に搬入予定の荷物について、どの計画小グループの荷物をどの配置リスト50に配置すればよいかを表示する。
【0118】
(効果)
以上説明したように、本実施形態によれば、将来の作業効率を考慮した荷物の配置場所を計画できるようになる。より具体的には、(1)同じ種類の荷物がなるべく近い範囲にまとめて配置されるような配置計画を算出することができる。これにより、搬送機器20の移動回数や移動距離を低減し、作業効率を向上することができる。(将来の船積み・陸揚げ時の作業効率だけでなく、搬入・配置時の作業効率も向上することができる。)(2)また、1つの配置リスト50に異なる計画小グループの荷物が配置されないような配置計画を作成できるので、搬出対象の荷物の搬出のために、搬出対象外の荷物を一時的に取り出すなどの作業が発生することを抑制することができる。(3)また、1つの配置リスト50に配置する荷物の考慮上限をなるべく超えないような配置計画、隣接する配置リスト50の高さとの段差がなるべく小さくなるような配置計画を作成することができる。これらにより、荷物崩れの発生を防ぐことができる。また、荷物の配置数の上限を抑えることで、作業効率の低下(あまり高く積みすぎると下に積まれた荷物を取り出すときに効率が悪くなる。)を防ぐことができる。(4)また、ある種類の荷物の配置が推奨されない配置リスト50へ、当該種類の荷物を配置することを回避するような作業計画を作成することができる。(5)また、本実施形態によれば、混合整数計画法を用いた荷物の配置場所の厳密解を算出することが可能になる。
【0119】
上記の実施形態では、コンテナターミナルに対する荷物の配置計画を例として挙げたが、コンテナターミナルだけではなく、一般的な物流倉庫への荷物の搬入、搬出における配置場所を決定する処理などにも適用することができる。
【0120】
図6は、実施形態に係る計画システムのハードウェア構成の一例を示す図である。
コンピュータ900は、CPU901、主記憶装置902、補助記憶装置903、入出力インタフェース904、通信インタフェース905を備える。上述の計画システム10は、コンピュータ900に実装される。そして、上述した各機能は、プログラムの形式で補助記憶装置903に記憶されている。CPU901は、プログラムを補助記憶装置903から読み出して主記憶装置902に展開し、当該プログラムに従って上記処理を実行する。また、CPU901は、プログラムに従って、記憶領域を主記憶装置902に確保する。また、CPU901は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置903に確保する。
【0121】
なお、計画システム10の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各機能部による処理を行ってもよい。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、CD、DVD、USB等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また、このプログラムが通信回線によってコンピュータ900に配信される場合、配信を受けたコンピュータ900が当該プログラムを主記憶装置902に展開し、上記処理を実行しても良い。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0122】
以上のとおり、本開示に係るいくつかの実施形態を説明したが、これら全ての実施形態は、例として提示したものであり、発明の範囲を限定することを意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これらの実施形態及びその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0123】
<付記>
各実施形態に記載の配置計画立案装置、配置計画立案手法およびプログラムは、例えば以下のように把握される。
【0124】
(1)第1の態様に係る配置計画立案装置(計画システム10)は、スタック形式で荷物の搬入と搬出を行う前記荷物の配置場所を示す配置リストが行列状に配置されたエリアへ搬入される前記荷物の配置を計画する計画システムであって、前記エリアのレイアウト情報と、1つの前記配置リストに配置できる前記荷物の数と、前記荷物の搬入予定情報と、前記荷物の搬出予定情報と、を取得するデータ取得部と、前記配置リストに配置する前記荷物の数の上限を制約する制約式と、搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、搬出予定の前記荷物を前記配置リストの何れかから必ず搬出することを制約する制約式と、全ての前記配置リストに配置された前記荷物の在庫数の整合性を制約する制約式(制約式3-1~3-3)と、配置対象の前記荷物を種類別に分類したときに異なる種類の前記荷物をなるべく(=制約条件5-1、既に配置された荷物に関しては許容し、変数sで最小化する。)同一の前記配置リストに配置しないことを制約する制約式と、を制約条件として設定する制約条件定義部と、配置対象の前記荷物を配置した前記配置リストの数を算出する計算式と、前記行列状に配置された前記配置リストにおける行方向に前記荷物の配置に用いる搬送機器が移動する場合に、配置対象の前記荷物を配置した前記配置リストが含まれる列の数を算出する計算式と、の加重和を目的関数として設定する目的関数定義部と、前記制約条件を満たしつつ、前記目的関数を最小化するような前記荷物の配置計画を計算する配置計画最適化部と、を備える。
これにより、将来の作業効率を考慮した荷物の配置場所を計画することができる。具体的には、荷物の配置先の配置リスト、サブエリア数を少なくすることで、搬送機器の移動回数、移動距離を少なくする配置計画を作成することができる。
【0125】
(2)第2の態様に係る配置計画立案装置(計画システム10)は、(1)の配置計画立案装置であって、前記目的関数定義部は、前記目的関数と、前記配置リストにおいて前記上限を超えて配置された前記荷物の数の合計を算出する計算式と、の加重和を新たな目的関数として設定する。
これにより、配置リストに荷物を過剰に配置することによる作業効率の低下や、風の影響で荷物が崩れること等を防ぐことができる。
【0126】
(3)第3の態様に係る配置計画立案装置(計画システム10)は、(1)~(2)の配置計画立案装置であって、前記目的関数定義部は、前記目的関数と、異なる前記種類の前記荷物が配置された前記配置リストについて、前記種類の数の合計を算出する計算式と、の加重和を新たな目的関数として設定する。
これにより、同一配置リストに異なる計画小グループの荷物が混在しないようにすることができ、ある計画小グループの荷物を搬出するために他の計画小グループの荷物を一時的に移動させるなどの作業がなるべく発生しないような荷物の配置計画を作成することができる。
【0127】
(4)第4の態様に係る配置計画立案装置(計画システム10)は、(1)~(3)の配置計画立案装置であって、前記目的関数定義部は、前記目的関数と、所定の第1の前記種類の前記荷物を配置することが推奨されない前記配置リストを示す非優先情報に基づいて、前記第1の前記種類の前記荷物が配置された前記非優先情報が示す前記配置リストの数の合計を算出する計算式と、の加重和を新たな目的関数として設定する。
これにより、ある配置リストへの配置が推奨されない荷物を当該配置リストへ配置することを抑制することができる。
【0128】
(5)第5の態様に係る配置計画立案装置(計画システム10)は、(1)~(4)の配置計画立案装置であって、前記制約条件定義部は、さらに、隣り合う前記配置リストに配置された前記荷物の数の差分がなるべく(=c_org_step)所定の値を超えないことを制約する制約式を設定し、前記目的関数定義部は、前記目的関数と、前記差分の合計を算出する計算式と、の加重和を新たな目的関数として設定する。
これにより、隣接する荷物との段差が少なくなるような荷物の配置計画を作成することができ、風の影響などにより荷物が崩れることを抑制することができる。
【0129】
(6)第6の態様に係る配置計画立案手法は、スタック形式で荷物の搬入と搬出を行う前記荷物の配置場所を示す配置リストが行列状に配置されたエリアへ搬入される前記荷物の配置を計画する計画方法であって、前記エリアのレイアウト情報と、1つの前記配置リストに配置できる前記荷物の数と、前記荷物の搬入予定情報と、前記荷物の搬出予定情報と、を取得するステップと、前記配置リストに配置する前記荷物の数の上限を制約する制約式と、搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、搬出予定の前記荷物を前記配置リストの何れかから必ず搬出することを制約する制約式と、全ての前記配置リストに配置された前記荷物の在庫数の整合性を制約する制約式と、配置対象の前記荷物を種類別に分類したときに異なる種類の前記荷物をなるべく同一の前記配置リストに配置しないことを制約する制約式と、を制約条件として設定するステップと、配置対象の前記荷物を配置した前記配置リストの数を算出する計算式と、前記行列状に配置された前記配置リストにおける行方向に前記荷物の配置に用いる搬送機器が移動する場合に、配置対象の前記荷物を配置した前記配置リストが含まれる列の数を算出する計算式と、の加重和を目的関数として設定するステップと、前記制約条件を満たしつつ、前記目的関数を最小化するような前記荷物の配置計画を計算するステップと、を有する計画方法。
【0130】
(7)第7の態様に係るプログラムは、コンピュータ900に、スタック形式で荷物の搬入と搬出を行う前記荷物の配置場所を示す配置リストが行列状に配置されたエリアへ搬入される前記荷物の配置を計画する処理であって、前記エリアのレイアウト情報と、1つの前記配置リストに配置できる前記荷物の数と、前記荷物の搬入予定情報と、前記荷物の搬出予定情報と、を取得するステップと、前記配置リストに配置する前記荷物の数の上限を制約する制約式と、搬入予定の前記荷物を前記配置リストの何れかに必ず配置することを制約する制約式と、搬出予定の前記荷物を前記配置リストの何れかから必ず搬出することを制約する制約式と、全ての前記配置リストに配置された前記荷物の在庫数の整合性を制約する制約式と、配置対象の前記荷物を種類別に分類したときに異なる種類の前記荷物をなるべく同一の前記配置リストに配置しないことを制約する制約式と、を制約条件として設定するステップと、配置対象の前記荷物を配置した前記配置リストの数を算出する計算式と、前記行列状に配置された前記配置リストにおける行方向に前記荷物の配置に用いる搬送機器が移動する場合に、配置対象の前記荷物を配置した前記配置リストが含まれる列の数を算出する計算式と、の加重和を目的関数として設定するステップと、前記制約条件を満たしつつ、前記目的関数を最小化するような前記荷物の配置計画を計算するステップと、を含む処理を実行させる。
【符号の説明】
【0131】
10・・・計画システム
11・・・データ取得部
12・・・計画部
121・・・制約条件定義部
122・・・目的関数定義部
123・・・配置計画最適化部
13・・・出力部
14・・・記憶部
900・・・コンピュータ
901・・・CPU
902・・・主記憶装置
903・・・補助記憶装置
904・・・入出力インタフェース
905・・・通信インタフェース
図1
図2A
図2B
図3
図4
図5
図6