(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-12
(45)【発行日】2024-03-21
(54)【発明の名称】多分木探索に基づく多箱型3次元積載の最適化方法及びシステム
(51)【国際特許分類】
G06Q 10/04 20230101AFI20240313BHJP
G06N 5/01 20230101ALI20240313BHJP
【FI】
G06Q10/04
G06N5/01
(21)【出願番号】P 2023503127
(86)(22)【出願日】2022-04-14
(86)【国際出願番号】 CN2022086791
(87)【国際公開番号】W WO2023103243
(87)【国際公開日】2023-06-15
【審査請求日】2023-01-16
(31)【優先権主張番号】202111503424.6
(32)【優先日】2021-12-09
(33)【優先権主張国・地域又は機関】CN
【早期審査対象出願】
(73)【特許権者】
【識別番号】518005942
【氏名又は名称】広東工業大学
【氏名又は名称原語表記】GUANGDONG UNIVERSITY OF TECHNOLOGY
【住所又は居所原語表記】No. 729 Dongfengdong Road, Yuexiu District Guangzhou, Guangdong 510062 (CN)
(74)【代理人】
【識別番号】110001139
【氏名又は名称】SK弁理士法人
(74)【代理人】
【識別番号】100130328
【氏名又は名称】奥野 彰彦
(74)【代理人】
【識別番号】100130672
【氏名又は名称】伊藤 寛之
(72)【発明者】
【氏名】張 浩
(72)【発明者】
【氏名】劉 強
(72)【発明者】
【氏名】王 潤欽
(72)【発明者】
【氏名】魏 麗軍
(72)【発明者】
【氏名】洪 奕輝
【審査官】大野 朋也
(56)【参考文献】
【文献】特開2016-088630(JP,A)
【文献】特開2015-148926(JP,A)
【文献】国際公開第2021/160445(WO,A1)
【文献】中国特許出願公開第107977756(CN,A)
【文献】中国特許出願公開第109685278(CN,A)
【文献】米国特許出願公開第2015/0138211(US,A1)
【文献】米国特許出願公開第2021/0133677(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G06N 5/01
(57)【特許請求の範囲】
【請求項1】
多分木探索に基づく多箱型3次元積載の最適化システムが実行する、多分木探索に基づく多箱型3次元積載の最適化方法であって、
以下のステップを含み、
モデル構築:多箱型3次元積載最適化モデルを構築し、
モデル構築のステップにおいて、S(S∈[1,S])種類の規格の箱を与え、各種類の箱の体積はV
sであり、多種類の箱から1種類又は複数種類の箱を1つ又は複数選択し、箱の積載率が最大、即ち、全ての貨物を積載するのに使用される箱の総体積が最小となるように、総数がnの貨物を全て積載し、各貨物の体積はV
i(i∈[1,n])であり、
x軸の正方向を前方向、x軸の負方向を後方向、y軸の正方向を右方向、y軸の負方向を左方向、z軸の正方向を上方向、z軸の負方向を下方向として正方向の直交座標系を作成し、
定義:座標系内にある貨物の後左下の隅を点A、座標系内にある貨物の前右上の隅を点Bとし、
モデル構築:全ての貨物を積載するのに使用される箱の総体積を
に最小化し、f箱に貨物が入った場合、y
f=1、数式:
であり、
全ての貨物が完全に積載され、且つ1つの箱に1つの貨物しか積載できない場合、数式:
であり、
いずれか1つの貨物が箱に積載された後、点Aと点Bの座標がいずれも箱のサイズを超えてはならない場合、数式:
であり、
6種類の方式のうちの1種類のみで貨物を配置でき、且つ点Bの座標が点Aの座標から導出される場合、数式:
であり、
点Aの座標から点Bの座標を導出する数式は、
であり、
同一箱内のいずれか2つの貨物が交差しない場合、即ち、k貨物がi貨物の前後左右上下にある場合、数式:
前:(x
1)
kf-(x
2)
if=α,α≧0
後:(x
1)
if-(x
2)
kf=β,β≧0
左:(y
1)
if-(y
2)
kf=γ,γ≧0
右:(y
1)
kf-(y
2)
if=δ,δ≧0
上:(z
1)
kf-(z
2)
if=ε,ε≧0
下:(z
1)
if-(z
2)
kf=ζ,ζ≧0
であり、ここで、i,k=1,2,...,n且つi≠kであり、
前記数式は、
y
if(y
ikf1α+y
ikf2β+y
ikf3γ+y
ikf4δ+y
ikf5ε+y
ikf6ζ)≧0
y
if(y
ikf1+y
ikf2+y
ikf3+y
ikf4+y
ikf5+y
ikf6-1)≧0
に変換することができ、
式中、Sは選択可能な箱の種類数であり、
num
Sは、初歩的に予測されたS番目の箱の使用量であり、
Fは
であり、
fは箱の番号f=1,2,...,Fであり、
V
fはf箱の体積であり、
L
fはf箱の長さであり、
W
fはf箱の幅であり、
H
fはf箱の高さであり、
y
fはゼロワン変数であり、f番目の箱が使用されているか否かを表し、
y
ifはゼロワン変数であり、i番目の貨物がf箱に積載されているか否かを表し、
Mは無限大数であり、
(x
1)
ifは、i貨物がf箱内の後左下位置にある場合のx座標であり、
(x
1)
kfは、k貨物がf箱内の後左下位置にある場合のx座標であり、
(y
1)
ifは、i貨物がf箱内の後左下位置にある場合のy座標であり、
(y
1)
kfは、k貨物がf箱内の後左下位置にある場合のy座標であり、
(z
1)
ifは、i貨物がf箱内の後左下位置にある場合のz座標であり、
(z
1)
kfは、k貨物がf箱内の後左下位置にある場合のz座標であり、
(x
2)
ifは、i貨物がf箱内の前右上位置にある場合のx座標であり、
(x
2)
kfは、k貨物がf箱内の前右上位置にある場合のx座標であり、
(y
2)
ifは、i貨物がf箱内の前右上位置にある場合のy座標であり、
(y
2)
kfは、k貨物がf箱内の前右上位置にある場合のy座標であり、
(z
2)
ifは、i貨物がf箱内の前右上位置にある場合のz座標であり、
(z
2)
kfは、k貨物がf箱内の前右上位置にある場合のz座標であり、
m
iは貨物の配置方式であり、i=1,2,3,4,5,6であり、
l
iはi貨物の長さであり、
w
iはi貨物の幅であり、
h
iはi貨物の高さであり、
y
ikfqはゼロワン変数であり、i,k=1,2,...であり、n,q=1,2,3,4,5,6であり、
多分木探索構造の構築:多箱型3次元積載最適化問題を求解する多分木探索構造を構築し、
アルゴリズム最適化:多分木探索過程において、ノードを展開生成するたびに、単一箱3次元積載最適化アルゴリズムを呼び出し、最適な単一箱積載スキームを取得し、
アルゴリズム最適化ステップにおいて、単一箱3次元積載最適化アルゴリズムは、具体的に以下のステップを採用し、
残り空間の表示:極大空間で箱内の残り空間を表し、
1つのブロックリストの作成:弱異種計算例のために単純ブロックを構築し、強異種計算例のために一刀切り可能ブロックを構築し、
残り空間リストからの適切な空間の選択:マンハッタン距離が最小の残り空間を適切な空間として選択し、
適応性が最も高いブロックの選択:適応性が最も高いブロックを選択して残り空間に入れ、
位置確定:dステップ貪欲先読み探索により位置を確定し、選択された適応性が最も高いブロックを残り空間に入れ、
探索アルゴリズム:二重反復に基づく貪欲先読み探索アルゴリズムにより過程全体を探索し、
多分木探索に基づいて多箱型3次元積載最適化問題を求解する基礎は、以下のステップを含み、
ステップ1:ルートノードを作成し、ルートノードの属性値を初期化し、具体的には、unplacedCargosを積載される全ての貨物の集合に設定し、usedVをセロに設定し、bestUsedVは全ての貨物を積載するのに使用される箱の最小総体積であり、無限大に設定し、
ステップ2:深度が1のノードを展開し、具体的には、ルートノードにある場合、全ての貨物が積載されていないため、貨物リストは空ではなく、ルートノードを展開して子ノードを取得しなければならず、
ステップ3:各深度が1のノードをトラバースし、具体的には、まず、ノードの未積載貨物リストが空かどうかを判断し、空である場合、それが位置するブランチにおける貨物は全て既に積載されたことを示し、このノードを下に展開して子ノードを取得する必要がなく、この場合、現在ノードのusedVがbestUsedVより小さいかどうかを判断する必要があり、小さい場合、bestUsedVを現在ノードのusedVに更新し、空ではない場合、このノードを下に展開し、再帰探索に入る必要があり、
ステップ4:木全体の展開が終了し、即ち、全てのリーフノードの未積載貨物リストが空になった後、bestUsedV及び最適解に対応するブランチが使用した箱リストに戻り、
多分木探索に基づいて多箱型3次元積載最適化問題を求解するアルゴリズム最適化は、ヒューリスティックな剪定戦略を用いた最適化を含み、ノード対象に属性unPlacedVcを追加し、前記unPlacedVcは、現在ノードまで積載されていない貨物総体積であり、
bestUsedVを用いて木探索過程で探索された全ての貨物を積載するのに使用される箱の最小総体積をリアルタイムで保存し、1つのノードに対応するusedVがbestUsedVよりも大きいと予測された場合、このノードへ展開する必要がなく、これらのノードを全て切り除き、
下記の数式により1つの子ノードの最小usedVを予測し、
全ての貨物を積載するのに使用される箱の最小体積の予測=node.usedV+nextBoxVolume+getMinVolume(boxList,node.unplacedVc-usedVolume)
式中、node.usedVは、現在ノードまで使用された箱の総体積を示し、
nextBoxVolumeは、展開される次の子ノードが使用する箱の体積を示し、
boxListは、選択可能な箱の集合を示し、
node.unplacedVcは、現在ノードまで積載されていない貨物の総体積を示し、
usedVolumeは、親ノードが現在ノードと同じであり且つ使用する箱のタイプが展開される次の子ノードが使用する箱のタイプと同じであるノードの箱によって積載可能な貨物の総体積を示し、
getMinVolumeは、取得される箱リストから組み合わせて得られる(node.unplacedVc-usedVolume)以上の最小体積を示し、
多分木探索に基づいて多箱型3次元積載最適化問題を求解するアルゴリズム最適化は、漏斗型のノード数制御戦略により最適化を行うことを含み、具体的には、
深度が1のノードの場合、積載率が最大積載率から公差を引いた範囲以上のノードを展開し、
深度が2以上のノードの場合、親ノードが同じである子ノードを
積載率に基づいて降順で並べ替え、その後、積載率が上位にランクインするretainNum個のノードのみを展開し、
多分木探索過程において、ヒューリスティックな剪定戦略及び漏斗型のノード数制御戦略によりアルゴリズムを最適化し、
結果出力:実験及び分析を行い、積載率の結果を出力することを特徴とする、多分木探索に基づく多箱型3次元積載の最適化方法。
【請求項2】
結果出力のステップは、計算実験及び分析ステップを含み、具体的には、
規格が異なる複数の貨物を選択し、全ての貨物の長さ、幅及び高さは、いずれも高さとすることができ、箱への貨物の積載は、完全支持制約を満たさなければならず、即ち、各貨物の底部が必ず他の貨物の頂部又は箱の底部によって完全に支持されなければならず、使用される各箱子の積載率を実験及び分析し、各箱の積載率の結果を得ることを特徴とする、請求項1に記載の多分木探索に基づく多箱型3次元積載の最適化方法。
【請求項3】
請求項1又は2に記載の多分木探索に基づく多箱型3次元積載の最適化方法を実行することを特徴とする、多分木探索に基づく多箱型3次元積載の最適化システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物品積載の技術分野に関し、特に多分木探索に基づく多箱型3次元積載の最適化方法及びシステムに関する。
【背景技術】
【0002】
3次元積載問題は、ドック積載、エアコンテナ積載、パレタイジングなどの物流業界に広く存在しており、積載問題の最適化は物流企業の収益向上に重要な役割を果たしている。現在、たくさんの学者は単一箱3次元積載問題を研究している。単一箱3次元積載の分野には多くの優れたアルゴリズムが存在する。しかし、多箱型3次元積載問題については現在の研究が少なく、この問題は次のシナリオで広く存在する。
1、物流の仕分けと梱包の過程で、物流会社は注文された商品を異なるカートンに仕分けして梱包する必要がある。目標は、カートンの最適な組み合わせを選択し、カートンの積載率を最大化し、カートンのコストを最小限に抑えるための積載スキームを策定することである。
2、物流配送の過程において、物流会社は顧客が注文した商品をさまざまなモデルまたは異なる規格のコンテナに積み込む必要があり、目標は、車またはコンテナの積載率を最大化し、輸送コストを最小限に抑えることである。
3、航空貨物運送会社では、顧客から注文された商品を規格の異なるコンテナに積み込み、航空機の貨物室に積み込む必要があり、目標は、コンテナの積載率を最大化し、航空貨物のコストを最小限に抑えることである。
近年、オンラインショッピングの便利さのおかげで、必要な製品をオンラインで購入することを選択する人がますます増えており、膨大な取引量が物流会社に大きな課題をもたらしている。多箱型3次元積載最適化問題は、さまざまな物流企業に存在する。現在、ほとんどの企業は、箱を選択する際に主に従業員の経験に依存している。箱選択は組み合わせ最適化問題であるため、データ量が増えると指数関数的に計算規模が大きくなり、従業員が経験に基づいてより良い箱タイプの組み合わせを選択することは困難であり、その結果、梱包材の無駄が多くなり、輸送コストが高くなる。単一箱3次元積載の最適化問題については、多くの学者が研究しており、設計されたアルゴリズムにより箱の空間利用率が約90%の高品質の解を求めることができる。しかし、物流業界では、解決しようとする課題は、単一箱の空間利用率の向上だけではなく、全体的に積載結果を最適化することにある。
【発明の概要】
【0003】
本発明の目的は、多分木探索に基づく多箱型3次元積載の最適化方法及びシステムを提供することである。単一箱3次元積載最適化アルゴリズムを呼び出すことにより現在最適な積載スキームを得るとともに、ヒューリスティックな剪定戦略及び漏斗型のノード数制御戦略により木の探索規模を減少させ、探索効率を向上させ、大量の冗長探索を減少させ、計算時間を短縮させる。
この目的を達成するために、本発明は、以下の技術的手段を採用する。
以下のステップを含む多分木探索に基づく多箱型3次元積載の最適化方法であって、モデル構築:多箱型3次元積載最適化モデルを構築し;多分木探索構造の構築:多箱型3次元積載最適化問題を求解する多分木探索構造を構築し;アルゴリズム最適化:多分木探索過程において、ノードを展開生成するたびに単一箱3次元積載最適化アルゴリズムを呼び出し、最適な単一箱積載スキームを取得し、多分木探索過程において、ヒューリスティックな剪定戦略及び漏斗型のノード数制御戦略によりアルゴリズムを最適化し;結果出力:実験及び分析を行い、積載率結果を出力する最適化方法。
【0004】
好ましくは、モデル構築のステップにおいて、S(S∈[1,S])種類の規格の箱を与え、各種類の箱の体積はVsであり、多種類の箱から1種類又は複数種類の箱を1つ又は複数選択し、箱の積載率が最大、即ち、全ての貨物を積載するのに使用される箱の総体積が最小となるように、総数がnの貨物を全て積載し、各貨物の体積はVi(i∈[1,n])である。
【0005】
好ましくは、モデル構築の的ステップにおいて、x軸の正方向を前方向、x軸の負方向を後方向、y軸の正方向を右方向、y軸の負方向を左方向、z軸の正方向を上方向、z軸の負方向を下方向として正方向の直交座標系を作成し、
定義:座標系内にある貨物の後左下の隅を点A、座標系内にある貨物の前右上の隅を点Bとし、
モデル構築:全ての貨物を積載するのに使用される箱の総体積を
同一箱内のいずれか2つの貨物が交差しない場合、即ち、k貨物がi貨物の前後左右上下にある場合、数式:
前:(x
1)
kf-(x
2)
if=α,α≧0
後:(x
1)
if-(x
2)
kf=β,β≧0
左:(y
1)
if-(y
2)
kf=γ,γ≧0
右:(y
1)
kf-(y
2)
if=δ,δ≧0
上:(z
1)
kf-(z
2)
if=ε,ε≧0
下:(z
1)
if-(z
2)
kf=ζ,ζ≧0
であり、ここで、i,k=1,2,...,n且つi≠kであり、
前記数式は、
y
if(y
ikf1α+y
ikf2β+y
ikf3γ+y
ikf4δ+y
ikf5ε+y
ikf6ζ)≧0
y
if(y
ikf1+y
ikf2+y
ikf3+y
ikf4+y
ikf5+y
ikf6-1)≧0
に変換することができ、
式中、Sは選択可能な箱の種類数であり、
num
Sは、初歩的に予測されたS番目の箱の使用量であり、
fは箱の番号f=1,2,...,Fであり、
V
fはf箱の体積であり、
L
fはf箱の長さであり、
W
fはf箱の幅であり、
H
fはf箱の高さであり、
y
fはゼロワン変数であり、f番目の箱が使用されているか否かを表し、
y
ifはゼロワン変数であり、i番目の貨物がf箱に積載されているか否かを表し、
Mは無限大数であり、
(x
1)
ifは、i貨物がf箱内の後左下位置にある場合のx座標であり、
(x
1)
kfは、k貨物がf箱内の後左下位置にある場合のx座標であり、
(y
1)
ifは、i貨物がf箱内の後左下位置にある場合のy座標であり、
(y
1)
kfは、k貨物がf箱内の後左下位置にある場合のy座標であり、
(z
1)
ifは、i貨物がf箱内の後左下位置にある場合のz座標であり、
(z
1)
kfは、k貨物がf箱内の後左下位置にある場合のz座標であり、
(x
2)
ifは、i貨物がf箱内の前右上位置にある場合のx座標であり、
(x
2)
kfは、k貨物がf箱内の前右上位置にある場合のx座標であり、
(y
2)
ifは、i貨物がf箱内の前右上位置にある場合のy座標であり、
(y
2)
kfは、k貨物がf箱内の前右上位置にある場合のy座標であり、
(z
2)
ifは、i貨物がf箱内の前右上位置にある場合のz座標であり、
(z
2)
kfは、k貨物がf箱内の前右上位置にある場合のz座標であり、
m
iは貨物の配置方式であり、i=1,2,3,4,5,6であり、
l
iはi貨物の長さであり、
w
iはi貨物の幅であり、
h
iはi貨物の高さであり、
y
ikfqはゼロワン変数であり、i,k=1,2,...であり、n,q=1,2,3,4,5,6である。
【0006】
好ましくは、アルゴリズム最適化ステップにおいて、単一箱3次元積載最適化アルゴリズムは、具体的に以下のステップを採用し、
残り空間の表示:極大空間で箱内の残り空間を表し、
1つのブロックリストの作成:弱異種計算例のために単純ブロックを構築し、強異種計算例のために一刀切り可能ブロックを構築し、
残り空間リストからの適切な空間の選択:マンハッタン距離が最小の残り空間を適切な空間として選択し、
適応性が最も高いブロックの選択:適応性が最も高いブロックを選択して残り空間に入れ、
位置確定:dステップ貪欲先読み(Lookahead)探索により位置を確定し、選択された適応性が最も高いブロックを残り空間に入れ、
探索アルゴリズム:二重反復に基づく貪欲先読み探索アルゴリズムにより過程全体を探索する。
【0007】
好ましくは、アルゴリズム最適化のステップにおいて、多分木探索に基づいて多箱型3次元積載最適化問題を求解する基礎は、以下のステップを含み、
ステップ1:ルートノードを作成し、ルートノードの属性値を初期化し、具体的には、unplacedCargosを積載される全ての貨物の集合に設定し、usedVをセロに設定し、bestUsedVは全ての貨物を積載するのに使用される箱の最小総体積であり、無限大に設定し、
ステップ2:深度が1のノードを展開し、具体的には、ルートノードにある場合、全ての貨物が積載されていないため、貨物リストは空ではなく、ルートノードを展開して子ノードを取得しなければならず、
ステップ3:各深度が1のノードをトラバースし、具体的には、まず、ノードの未積載貨物リストが空かどうかを判断し、空である場合、それが位置するブランチにおける貨物は全て既に積載されたことを示し、このノードを下に展開して子ノードを取得する必要がなく、この場合、現在ノードのusedVがbestUsedVより小さいかどうかを判断する必要があり、小さい場合、bestUsedVを現在ノードのusedVに更新し、空ではない場合、このノードを下に展開し、再帰探索に入る必要があり、
ステップ4:木全体の展開が終了し、即ち、全てのリーフノードの未積載貨物リストが空になった後、bestUsedV及び最適解に対応するブランチが使用した箱リストに戻る。
【0008】
好ましくは、多分木探索に基づいて多箱型3次元積載最適化問題を求解するアルゴリズム最適化は、ヒューリスティックな剪定戦略を用いた最適化を含み、ノード対象に属性unPlacedVcを追加し、前記unPlacedVcは、現在ノードまで積載されていない貨物総体積であり、
bestUsedVを用いて木探索過程で探索された全ての貨物を積載するのに使用される箱の最小総体積をリアルタイムで保存し、1つのノードに対応するusedVがbestUsedVよりも大きいと予測された場合、このノードへ展開する必要がなく、これらのノードを全て切り除き、
下記の数式により1つの子ノードの最小usedVを予測し、
全ての貨物を積載するのに使用される箱の最小体積の予測=node.usedV+nextBoxVolume+getMinVolume(boxList,node.unplacedVc-usedVolume)
式中、node.usedVは、現在ノードまで使用された箱の総体積を示し、
nextBoxVolumeは、展開される次の子ノードが使用する箱の体積を示し、
boxListは、選択可能な箱の集合を示し、
node.unplacedVcは、現在ノードまで積載されていない貨物の総体積を示し、
usedVolumeは、親ノードが現在ノードと同じであり且つ使用する箱のタイプが展開される次の子ノードが使用する箱のタイプと同じであるノードの箱によって積載可能な貨物の総体積を示し、
getMinVolumeは、取得される箱リストから組み合わせて得られる(node.unplacedVc-usedVolume)以上の最小体積を示す。
【0009】
好ましくは、アルゴリズム最適化のステップにおいて、多分木探索に基づいて多箱型3次元積載最適化問題を求解するアルゴリズム最適化は、漏斗型のノード数制御戦略により最適化を行うことを含み、具体的には、
深度が1のノードの場合、積載率が最大積載率から公差を引いた範囲以上のノードを展開し、
深度が2以上のノードの場合、親ノードが同じである子ノードを照積載率に基づいて降順で並べ替え、その後、積載率が上位にランクインするretainNum個のノードのみを展開する。
【0010】
好ましくは、結果出力のステップは、計算実験及び分析ステップを含み、具体的には、
規格が異なる複数の貨物を選択し、全ての貨物の長さ、幅及び高さは、いずれも高さとすることができ、箱への貨物の積載は、完全支持制約を満たさなければならず、即ち、各貨物の底部が必ず他の貨物の頂部又は箱の底部によって完全に支持されなければならず、使用される各箱子の積載率を実験及び分析し、各箱の積載率の結果を得る。
【0011】
前記多分木探索に基づく多箱型3次元積載の最適化方法を使用する多分木探索に基づく多箱型3次元積載の最適化システム。
【0012】
本発明の有益な効果は、以下の通りである。
本発明は、多箱型3次元積載最適化問題に対してモデルを構築し、多分木階層検索アルゴリズムにより多箱型積載探索を行い、探索の過程において単一箱3次元積載最適化アルゴリズムを継続的に呼び出して現在の最適な積載スキームを取得し、ヒューリスティックな剪定戦略及び漏斗型のノード数制御戦略により木の探索規模を減縮し、探索効率を向上させ、大量の冗長探索を減少させ、計算時間を短縮させ、ハードウェアに対する実行装置の需要を減少させ、このアルゴリズムが短時間内で最適解又は最適解の近似解を探索できることを保証することができる。多箱型3次元積載最適化問題を合理的に解決することは、箱の浪費を減少できるとともに、充填物の使用量も減少できるため、物流コストを大幅に削減し、スタッフの作業効率も向上させることができる。
【図面の簡単な説明】
【0013】
【
図3】本発明の一実施例の貨物の配置方式の模式図である。
【
図4】本発明の一実施例の箱内の残り空間の模式図である。
【
図5】本発明の一実施例の生成ブロックの模式図である。
図5aは、単純ブロックの模式図である。
図5bは、一刀切り可能ブロックの模式図である。
【
図6】本発明の一実施例の残り空間と箱との間のアンカー距離の模式図である。
【
図7】本発明の一実施例の2ステップ先読み木探索の模式図である。
【
図8】本発明の一実施例の単一箱型積載アルゴリズムの総フローの模式図である。
図8における(a)線は
図9における(a)線に接続される。
【
図9】本発明の一実施例の単一箱型積載アルゴリズムの別の総フローの模式図のである。
図8における(b)線は
図10における(b)線に接続される。
【
図10】本発明の一実施例の単一箱型積載アルゴリズムの別の総フローの模式図である。
【
図11】本発明の一実施例の木探索により多箱型3次元積載最適化問題を解決する模式図である。
【
図12】本発明の一実施例漏斗式探索の模式図である。
【
図13】本発明の一実施例の最適化戦略使用前の模式図である。
【
図14】本発明の一実施例の最適化戦略使用後の模式図である。
【発明を実施するための形態】
【0014】
以下、図面を参照しながら具体的な実施形態により本発明の技術的手段を説明する。
【0015】
以下、本発明の実施例を詳しく説明する。以下の実施例の例示は図面に示される。類似又は同じ符号は、類似若しくは同じ素子又は類似若しくは同じ機能を有する素子を示す。以下、図面により説明される実施例は例示的なものであり、本発明を解釈するものであり、本発明を制限するものではない。
【0016】
図1から
図14に示されるように、多分木探索に基づく多箱型3次元積載最適化方法は、以下のステップを含む。モデル構築:多箱型3次元積載最適化モデルを構築する。多分木探索構造の構築:多箱型3次元積載最適化問題を求解する多分木探索構造を構築する。アルゴリズム最適化:多分木探索の過程において、ノードを展開生成するたびに、単一箱3次元積載最適化アルゴリズムを呼び出し、最適な単一箱積載スキームを取得し、多分木探索の過程において、ヒューリスティックな剪定戦略及び漏斗型のノード数制御戦略によりアルゴリズムを最適化する。結果出力:実験及び分析を行い、積載率結果を出力する。
【0017】
本発明は、多箱型3次元積載最適化問題に対してモデルを構築し、多分木階層検索アルゴリズムにより多箱型積載探索を行い、探索の過程において単一箱3次元積載最適化アルゴリズムを継続的に呼び出して現在の最適な積載スキームを取得し、ヒューリスティックな剪定戦略及び漏斗型のノード数制御戦略により木の探索規模を減縮し、探索効率を向上させ、大量の冗長探索を減少させ、計算時間を短縮させ、ハードウェアに対する実行装置の需要を減少させ、このアルゴリズムが短時間内で最適解又は最適解の近似解を探索できることを保証することができる。
【0018】
電子商取引業界の台頭に伴い、ネット通販による注文量は膨大であることから、多箱型3次元積載最適化問題を合理的に解決することは、箱の浪費を減少できるとともに、充填物の使用量も減少できるため、物流コストを大幅に削減し、スタッフの作業効率も向上させることができる。
【0019】
用語説明
単一箱3次元積載最適化問題:1つの貨物リストを与え、各貨物のサイズは、li×wi×hiで表される。貨物を互いに直交するように長さL、幅W、高さがHの箱内に積載ることが要求される。目標は、箱の空間利用率ができるだけ高いように、箱内での各貨物の位置を合理的に計算することである。
【0020】
多箱型積載最適化問題:数に限りがありかつ三次元サイズが同じ又は異なる積載される1群の貨物を与え、三次元サイズが異なる選択可能な1群の箱があり、そのうちから同じ又は異なるタイプの1つ又は複数の箱を選択し、箱の総空間利用率が最大となるように与えられた貨物を全て積載する必要がある。
【0021】
好ましくは、モデル構築のステップにおいて、S(S∈[1,S])種類の規格の箱を与え、各種類の箱の体積はVsであり、多種類の箱から1種類又は複数種類の箱を1つ又は複数選択し、箱の積載率が最大、即ち、全ての貨物を積載するのに使用される箱の総体積が最小となるように、総数がnの貨物を全て積載し、各貨物の体積はVi(i∈[1,n])である。
【0022】
具体的には、モデル構築のステップにおいて、x軸の正方向を前方向、x軸の負方向を後方向、y軸の正方向を右方向、y軸の負方向を左方向、z軸の正方向を上方向、z軸の負方向を下方向として正方向の直交座標系を作成する。
定義:座標系内にある貨物の後左下の隅を点A、座標系内にある貨物の前右上の隅を点Bとする。
図2に示すように、貨物の1対の対角座標を用いれば1つの貨物の配置位置及び配置方向を表すことができる。
モデル準備:まず、S番目の箱の使用可能な数を決定し、即ち、
同一箱内のいずれか2つの貨物が交差しない場合、即ち、k貨物がi貨物の前後左右上下にある場合、数式:
前:(x
1)
kf-(x
2)
if=α,α≧0
後:(x
1)
if-(x
2)
kf=β,β≧0
左:(y
1)
if-(y
2)
kf=γ,γ≧0
右:(y
1)
kf-(y
2)
if=δ,δ≧0
上:(z
1)
kf-(z
2)
if=ε,ε≧0
下:(z
1)
if-(z
2)
kf=ζ,ζ≧0
であり、ここで、i,k=1,2,...,nかつi≠kである。
前記数式は、
y
if(y
ikf1α+y
ikf2β+y
ikf3γ+y
ikf4δ+y
ikf5ε+y
ikf6ζ)≧0;
y
if(y
ikf1+y
ikf2+y
ikf3+y
ikf4+y
ikf5+y
ikf6-1)≧0;
に変換することができる。
式中、Sは選択可能な箱の種類数であり、
num
Sは、初歩的に予測されたS番目の箱の使用量であり、
fは箱の番号f=1,2,...,Fであり、
V
fはf箱の体積であり、
L
fはf箱の長さであり、
W
fはf箱の幅であり、
H
fはf箱の高さであり、
y
fはゼロワン変数であり、f番目の箱が使用されているか否かを表し、
y
ifはゼロワン変数であり、i番目の貨物がf箱に積載されているか否かを表し、
Mは無限大数であり、
(x
1)
ifは、i貨物がf箱内の後左下位置にある場合のx座標であり、
(x
1)
kfは、k貨物がf箱内の後左下位置にある場合のx座標であり、
(y
1)
ifは、i貨物がf箱内の後左下位置にある場合のy座標であり、
(y
1)
kfは、k貨物がf箱内の後左下位置にある場合のy座標であり、
(z
1)
ifは、i貨物がf箱内の後左下位置にある場合のz座標であり、
(z
1)
kfは、k貨物がf箱内の後左下位置にある場合のz座標であり、
(x
2)
ifは、i貨物がf箱内の前右上位置にある場合のx座標であり、
(x
2)
kfは、k貨物がf箱内の前右上位置にある場合のx座標であり、
(y
2)
ifは、i貨物がf箱内の前右上位置にある場合のy座標であり、
(y
2)
kfは、k貨物がf箱内の前右上位置にある場合のy座標であり、
(z
2)
ifは、i貨物がf箱内の前右上位置にある場合のz座標であり、
(z
2)
kfは、k貨物がf箱内の前右上位置にある場合のz座標であり、
m
iは貨物の配置方式であり、i=1,2,3,4,5,6であり、
l
iはi貨物の長さであり、
w
iはi貨物の幅であり、
h
iはi貨物の高さであり、
y
ikfqはゼロワン変数であり、i,k=1,2,...であり、n,q=1,2,3,4,5,6である。
【0023】
全ての貨物を積載するのに使用される箱の総体積の最小化モデルを構築し、このモデルに対してアルゴリズム最適化を行い、最適解を得る。
【0024】
本発明において、アルゴリズム最適化のステップでは、多分木用いて探索する際に、1つのノードを展開するために、単一箱3次元積載最適化アルゴリズムを呼び出し、即ち、使用される単一箱3次元積載最適化アルゴリズムはブロック構築方法に基づく。ブロックとは、貨物の集合を指す。与えられた貨物を組み合わせてブロックを形成した後、各ステップではブロックを箱の残り空間に入れ、全てのブロックが完全に積載されるか又は箱にブロックを積載するための残り空間がなくなるまでこのステップを繰り返す。単一箱3次元積載最適化アルゴリズムは、具体的に、以下のステップを採用する。
残り空間の表示:極大空間で箱内の残り空間を表す。箱に1つの貨物が存在する場合、残り空間は、3つの直方体/立方体で表すことができ、それぞれの直方体/立方体は、貨物に交差することがない。
図4は、3つの个残り空間の表示である。
1つのブロックリストの作成:弱異種計算例のために単純ブロックを構築し、強異種計算例のために一刀切り可能ブロックを構築する。
単純ブロック:1タイプの貨物のみからなり、全ての貨物は同じ方式で配置される。
図5aに示されるのは単純ブロックの構成方式である。
一刀切り可能ブロック:複数のタイプの貨物又は異なる方向で配置される貨物からなる。
図5bに示されるのは一刀切り可能ブロックの構成方式である。
異種性判断:各タイプの貨物の平均貨物数ht=Σ
kN
k/Kを異種性判断の指標とする。ht>6の場合、弱異種計算例であり、単純ブロックを構築し、そうではない場合、強異種計算例であり、一刀切り可能ブロックを構築する。
残り空間リストからの適切な空間の選択:マンハッタン距離が最小の残り空間を適切な空間として選択する。
マンハッタン距離:両点について、点Aの座標が(x
1,y
1,z
1)、点Bの座標が(x
2,y
2,z
2)である場合、それらのマンハッタン距離は|x
1-x
2|+|y
1-y
2|+|z
1-z
2|である。
残り空間選択戦略:残り空間に8つの隅点あり、箱にも8つの隅点がある。箱の各隅点と対応する残り空間の隅点とは対応して8セットの隅点(A
1,B
1)、(A
2,B
2)、...、(A
8,B
8)を構成する。マンハッタン距離が最小の隅はアンカー隅と呼ばれ、アンカー隅と、対応する箱の隅点との距離はアンカー距離である。例えば、A
2-B
2のマンハッタン距離が最も短い場合、A
2はアンカー隅であり、A
2-B
2間のマンハッタン距離はアンカー距離と呼ばれる。残り空間を選択する際に、アンカー距離が最小の空間を適切な空間として選択する。
図6に示されるのは、残り空間と箱との間のアンカー距離である。
このように、優先的に箱の隅、箱の辺、箱面に近い残り空間を選択して積載することにより、残りの空間は箱の中央に集中し、可能な残り空間の連続性が保証される。2つの空間のアンカー距離が等しいである場合、辞書順が比較的小さい空間を優先的に使用する。
【0025】
適応性が最も高いブロックの選択:適応性が最も高いブロックを選択して残り空間に入れる。
定義:ブロックbは、与えられた残り空間rに対する適応性が∫(r,b)=V-(Vloss+Vwaste)であり、ここで、Vはブロックにおける貨物の総体積であり、Vlossはブロックbがrに入れられて浪費した体積であり、Vwasteはブロックbにおける浪費したブロック体積、即ち、ブロックの体積からブロックにおける貨物の総体積を引いた体積である。
【0026】
位置確定:dステップ貪欲先読み探索により位置を確定し、選択された適応性が最も高いブロックを残り空間に入れる。
残り空間に入れられるブロックの位置の確定:それぞれのブロックが1つの残り空間に入れられる際に、いつもブロックの1つの角が残り空間の1つの隅と重なり合うように配置される。いずれかのブロックが残り空間の8つの隅のうちのいずれか1つの隅に置かれても良いため、|R|個の残り空間及び|B|このブロックを与えると、最大8|R||B|個の可能な配置位置があり、木探索戦略によりブロックの最適な配置位置を確定する。
木のルートノードについて、適応性関数に基づいてm個の配置位置を計算し、m個の深度が1のノードを得る。深度が1の各ノードについて、再度m個の配置位置を計算し、m2個の深度が2のノードを得る。このようにして木を深度dまで拡張する。深度がdの各ノードについて、貪欲法により最適な配置スキームを選択し、即ち、貨物を積載するための体積が最大の位置を選択する。木探索期間において、与えられた状態Sについて、関数place(S,p)によりp配置を実行した後の次の状態に入る。
【0027】
図7には、m=3、d=2の木が示される。最適位置がS
3の子木の下にあるため、p
3はsの最適位置である。現在状態のm個の配置位置の取得方式は、m
1×m
2≦mを満たす2つのm
1及びm
2を与え、関数rankに基づいて残り空間リストからm
1個の残り空間を選択し、それぞれの選択された残り空間rについて、適応性に応じて降順で並べ替え、上位m
2個のrに最適なブロックを選択することで最大mに達する個の配置位置を得る。
【0028】
探索アルゴリズム:二重反復に基づく貪欲先読み探索アルゴリズムにより過程全体を探索する。
【0029】
図8に示すように、solve関数はアルゴリズム総入口である。まず、計算例の異種性の強さに応じて構築し、その後、積載反復最適化過程に入り、毎回の反復において貪欲先読み法を呼び出して完全な積載スキームを生成し、次に最適解と比較し、現在解が大域的最適解よりも良い場合、大域的最適解を更新する。アルゴリズムは、毎回反復を完成した後、wを倍増させ、即ち、mは大きくなり、木の探索範囲は広くなり、目標はよりより良い解を探すことであり、計算時間が上限に達すると、探索過程で探索された大域的最適解に戻る。rank関数は、残り空間リストから適切な残り空間を探し、選択される残り空間に応じてマッチ度が比較的高いブロックをいくつか選択し、最終的に1つの配置位置集合を戻し、1a関数が現在最適な放置位置を選択するのに供される。wはmの大きさを制御するパラメータであり、初期に1に設定され、その後、毎回反復の後に倍増させ続けることでmを大きくし、このようにして、所定の計算時間の上限に達するまで木の探索規模が大きくなり続ける(
図8)。
【0030】
多分木探索において、全てのブロックが完全に積載されるか又は箱に積載するための残り空間がなくなるまで、1つのノードを展開するたびに単一箱3次元積載最適化アルゴリズムを呼び出し、箱の残り空間を新たに分画及び積載し、ブロックの最適な配置位置を確定することによって、積載作業が完成する。
【0031】
好ましくは、アルゴリズム最適化ステップにおいて、多分木探索に基づいて多箱型3次元積載最適化問題を求解する基礎は、以下のステップを含む。ステップ1:ルートノードを作成し、ルートノードの属性値を初期化する。具体的には、unplacedCargosを積載される全ての貨物の集合に設定し、usedVをセロに設定し、bestUsedVは全ての貨物を積載するのに使用される箱の最小総体積であり、無限大に設定する。ステップ2:深度が1のノードを展開し、具体的には、ルートノードにある場合、全ての貨物が積載されていないため、貨物リストは空ではなく、ルートノードを展開して子ノード(即ち、
図9のノード1、2、3)を取得しなければならない。ステップ3:各深度が1のノードをトラバースし、即ち、
図9のノード1、2、3をトラバースする。まず、ノードの未積載貨物リストが空かどうかを判断し、空である場合、それが位置するブランチにおける貨物は全て既に積載されたことを示し、このノードを下に展開して子ノードを取得する必要がなく、例えば、
図9のノード13は子ノードを有しない。この場合、現在ノードのusedVがbestUsedVより小さいかどうかを判断する必要がある。小さい場合、bestUsedVを現在ノードのusedVに更新し、空ではない場合、このノードを下に展開し、再帰探索に入る必要がある。ステップ4:木全体の展開が終了し、即ち、全てのリーフノードの未積載貨物リストが空になった後、bestUsedV及び最適解に対応するブランチが使用した箱リストに戻る。
【0032】
ノードに記憶する必要が情報は以下の通りである。
1、unplacedCargos:現在ノードに対応する未積載貨物リスト。総貨物リストが{cargo1,cargo2,cargo3,cargo4,cargo5}であり、rootノードがBox3まで展開され、Box3に貨物{cargo1,cargo2,cargo5}が積載された場合、現在ノードに対応する未積載貨物リストは{cargo3,cargo4}である。
2、usedV:現在ノードまで使用された箱の総体積。例えば、rootがBox3まで展開され、さらにBox3まで展開された場合、使用された箱の体積は2VBox3である。
【0033】
1群のデータを与え、データに複数の貨物及び複数種類の箱型が含まれ、選択可能な箱型は{Box1,Box2,Box3}であり、各箱型を体積に応じてBox1>Box2>Box3に降順で並べ替え、木探索により多箱型3次元積載最適化問題を解決する過程は以下の通りである。
貨物を貨物集合に記憶し、木のルートノードから始まり、まず、各種類の箱型を用いて貨物集合について積載計算を行い、計算結果を得た後、計算結果をルートノードの子ノードに記憶する。例えば、選択可能な箱型の数が3である場合、ルートノードの子ノードの数は3である。ルートノードの3つの子ノード、即ち、
図9のノード1、2、3を取得した後、ルートノードの子ノードに対して同様の探索プロセスを実行する。親ノードが同じ子ノードについて、探索過程において優先的に積載率が比較的高い子ノードを展開する。
図9に示すように、ノード3の積載率が最大であるため、それを優先的に展開して、ノード4、5、6を得る。ノード4、5、6のうち、ノード5の積載率が最大であるため、ノード5を優先的に展開してノード7,8,9を得る。ノード7、8、9のうち、ノード9の積載率が最大であるため、ノード9を展開すべきであるが、ノード9に対応する未積載貨物リストが空であり、即ち、積載が完成し、現在の大域的最適解が無限大であるため、大域的最適解は更新される。ノード9を処理した後、引き続きノード8を展開する。ノード8の未積載貨物も空であり、即ち、積載が完成したが、V
Bax3+V
Bax2+V
Box2>V
Box3+V
Box2+V
Box3であるため、大域的最適解は更新されない。同様に、ノード7の未積載貨物リストも空であるため、さらに展開できることで、ノード4、6に戻る。ノード6の積載率がより高きため、ノード6を優先的に展開する。後の探索プロセスは前と同様であり、即ち、深度優先トラバースの戦略によるものである。引き続き展開可能なリーフノードがない場合、木探索過程は終了し、見つかった大域的最適解はV
Box3+V
Box1であり、即ち、まずBox3及びBox1を用いてこのパッチの貨物を積載し、このようにして箱の空間利用率は最大である。
【0034】
bestUsedVの大きさを求め、求められたbestUsedVのリーフノードに基づいてブランチ全体がどの箱を使用したかを取得する。上記方法により問題を求解できるが、このような方式は暴力的探索に属し、問題規模の増大につれ、木全体の大きさも爆発的増大し、アルゴリズムの時間複雑度も空間複雑度も非常に高いため、探索過程を最適化して木全体の規模を縮小する必要がある。
【0035】
具体的には、アルゴリズム最適化ステップにおいて、多分木探索に基づいて多箱型3次元積載最適化問題を求解するアルゴリズム最適化は、ヒューリスティックな剪定戦略により最適化することを含む。ノード対象に属性unPlacedVcを追加し、前記unPlacedVcは、現在ノードまで積載されていない貨物総体積である。
ヒューリスティックな剪定戦略を実行した後、木探索過程において、未積載貨物リストが空ではないリーフノードは全て引き続き下にノードを展開する必要があるわけではない。問題の目標は、箱の空間利用率を最大化し、空間利用率=貨物総体積/使用される箱の総体積であるため、即ち、全ての貨物を積載するのに使用される箱の総体積を最小化することである。bestUsedVを用いて木探索過程で探索された全ての貨物を積載するのに使用される箱の最小総体積をリアルタイムで保存し、1つのノードに対応するusedVがbestUsedVよりも大きいと予測された場合、このノードへ展開する必要がなく、これらのノードを全て切り除き、大量の冗長探索を減少させ、木の規模を縮小する。
下記の数式により1つの子ノードの最小usedVを予測する。全ての貨物を積載するのに使用される箱の最小体積の予測=node.usedV+nextBoxVolume+getMinVolume(boxList,node.unplacedVcusedVolume)。
ここで、node.usedVは、現在ノードまで使用された箱の総体積を示す。
図9に示されるノード4が使用した箱の総体積はV
Box3+V
Box1である。
nextBoxVolumeは、展開される次の子ノードが使用する箱の体積を示す。例えば、現在ノードが
図9のノード5である場合、現在ノードは、ノード7へ展開し、nextBoxVolumeはV
Box1である。
boxListは、選択可能な箱の集合を示す。
node.unplacedVcは、現在ノードまで積載されていない貨物の総体積を示す。
usedVolumeは、親ノードが現在ノードと同じであり且つ使用する箱のタイプが展開される次の子ノードが使用する箱のタイプと同じであるノードの箱によって積載可能な貨物の総体積を示す。現在ノードが
図9のノード5である場合、ノード9へ展開し、usedVolumeはノード6のBox3が積載可能な貨物総体積である。現在ノードが
図9のノード12である場合、ノード14へ展開し、usedVolumeはノード11のBox2が積載可能な貨物総体積である。この体積用いて子ノードの最小体積を予測するのは、貨物が積載されるにつれ、同じタイプの箱において、後の時点で積載して得られる空間利用率は、必ず前の時点で積載して得られる空間利用率よりも小さいためである。前の時点で使用される箱の隙間にいくつかの小さい貨物で充填され、小さい貨物が全部使用された後、後の時点で使用される箱の隙間は充填できなくなるため、空間利用率は比較的低くなる。サイズが未積載貨物リストにおいけるいずれかの貨物サイズよりも小さい箱がある場合、この箱には何の貨物も積載することができず、貨物積載体積にゼロが付与され、後にノードの展開にもこのような箱を探索する必要がなく、このような箱が積載可能な貨物体積は必ずセロであり、本明細書において冗長探索を回避するためにこのような箱に対応するブランチを切り除く。
【0036】
getMinVolumeは、取得される箱リストから組み合わせて得られる(node.unplacedVc-usedVolume)以上の最小体積を示す。実際な積載中で箱の空間利用率は100%以下であり、使用される箱の体積は必ずgetMinVolume関数により得られる最小体積以上である。Cplexソルバーと用いてこの最小体積を求解する。この問題のモデル構築方式は以下の通りである。
【0037】
本発明において、アルゴリズム最適化ステップにおいて、多分木探索に基づいて多箱型3次元積載最適化問題を求解するアルゴリズムの最適化は、漏斗型のノード数制御戦略により最適化することを含む。
深度が1のノードの場合、積載率が最大積載率から公差を引いた範囲以上のノードを展開する。ルートノードの子ノード1、2、3の積載率がそれぞれ57%、85%、93%であり、maxLoadingRate=93%であり、tolerance=20%に設定される場合、ノード1は下へノードを展開しない。
深度が2以上のノードの場合、親ノードが同じである子ノードを照積載率に基づいて降順で並べ替え、その後、積載率が上位にランクインするretainNum個のノードのみを展開する。
図10に示すように、retainNum=1に設定すると、d=2である場合、ノード6、ノード14及びノード24のみについて展開するretainNum。
木探索過程において、積載率が比較的低いノードが現れる場合がある。それは、使用される箱がこの貨物集合の貨物の積載に適用できないためである。例えば、箱に1つの貨物1のみが積載でき、他の種類の貨物を積載できないが、貨物1が積載された後の残り空間のサイズが貨物1に近い場合、箱全体の空間利用率は、五十数%だけであり、大量の空間が浪費される。アルゴリズムで計算された箱の選択スキームは、できるだけ上記状況の発生を回避すべきであるため、漏斗型のノード制御戦略により前記状況が発生するブランチを削減する。retainNumは、1つのノードに対する保留する子ノードの数である。
【0038】
引き続き展開されないノードについては、本明細書においてこれらのノードの未積載貨物リストが空であるかどうかを判断する。その目的は、最適解を逃すことをできるだけ回避することである。この戦略を採用しないと、
図10のノード4の解(最適解)が逃される。これらのノードのうち、1つのみのノードの未積載貨物リストが空である場合、このノードの解が大域的最適解よりも優れるかどうかを判断し、より優れるである場合、最適解を更新する。例えば、
図10のノード4の未積載貨物リストが空であり、ノード5の未積載貨物リストが空ではない場合、そのままノード4の解と大域的最適解とを比較する。これらのノードのうち、複数のノードの未積載貨物リストが空である場合、その中から積載率が最大のノードを選択し、このノードの解と大域的最適解とを比較する。例えば、
図10のノード16及び17の未積載貨物リストはいずれも空であり、ノード17の積載率がより高いため、ノード17の解のみを最適解と比較する。
【0039】
計算例の増大につれ、全ての貨物を積載するのに使用される大量の箱、即ち木の深度は非常に大きくなる。求解できないことを回避するために、本発明ではretainNum自己適応調整戦略を使用する。例えば、1つの計算例に合計15個の箱が選択可能であり、retainNumは最初10に設定され、1つのブランチが使用する箱の数が30を超えた場合、retainNumを2に調整し、このようにして、木全体の規模は大きく縮小され、メモリオーバーフローの発生が回避される。この戦略では、積載率が比較的高いノードを優先的に選択して展開し、積載率が比較的低いノードは削除される。
【0040】
ヒューリスティックな剪定戦略及び漏斗型のノード制御戦略を使用する前後の効果比較
図11及び
図12は、1つの計算例で最適化戦略する前後の実際計算状況を示す。この計算例には、3種類の選択可能な箱Box1(体積1200000cm
3)、Box2(体積1050000cm
3)、Box3(体積432000cm
3)がある。この3種類の箱は、
図12においてそれぞれ1、2、3で示され、
図11において木のノードが比較的多いため、番号が付けられていないが、各親ノードに対応する子ノードは左から右へ1、2、3である。
【0041】
図11、
図12及び表2から分かるように、最適化戦略を使用した後、木の規模は大幅に減少した。最適化前に、木探索過程に大量の冗長探索が存在し、これによって、計算時間は長くなりすぎるだけでなく、規模の拡大について、コンピュータが運算する際にメモリオーバーフローが発生する可能性があり、大量のコンピュータ計算力が浪費される。これに対し、最適化した後の木探索は、比較的短い時間内で最適解又は最適解の近似解を見つけることができる。
【0042】
好ましくは、結果出力ステップは、計算実験及び分析ステップを含む。規格が異なる複数の貨物を選択し、全ての貨物の長さ、幅及び高さは、いずれも高さとすることができ、箱への貨物の積載は、完全支持制約を満たさなければならず、即ち、各貨物の底部が必ず他の貨物の頂部又は箱の底部によって完全に支持されなければならず、使用される各箱子の積載率を実験及び分析し、各箱の積載率の結果を得る。
【0043】
多分木探索に基づく多箱型3次元積載最適化システムは、前記多分木探索に基づく多箱型3次元積載最適化方法を使用する。
【0044】
多分木探索に基づく多箱型3次元積載最適化システムにより、ユーザは計算データを導入し、計算例の大きさに応じてアルゴリズムの一部のパラメータを設定することができ、システムは、計算例を計算し、最終的な結果を可視化表示することができる。
【0045】
計算実験及び分析
本試験例は、39種の異なる規格(合計5605件貨物)からなり、計算例において全ての貨物の長さ、幅及び高さは、いずれも高さとすることができ、箱への貨物の積載は、完全支持制約を満たさなければならず、即ち、各貨物の底部が必ず他の貨物の頂部又は箱の底部によって完全に支持されなければならない。
【0046】
箱のサイズは以下の通りである。
一部の結果から分かるように、これらの貨物を全部積載するのに合計34個の箱を用いる必要があり、総積載率は96.32%に達し、計算時間は1889.939秒である。
【0047】
本明細書において、「実施例」、「示例」などの用語とは、この実施例又は例で説明される具体的な特徴、構造又は材料が本発明の少なくとも1つの実施例又は例に含まれることを意味する。本明細書において、前記用語の模式的表現は、必ずしも同じ実施例又は例を指すわけではない。また、説明された具体的な特徴、構造、材料又は特点は、いずれか1つ又は複数の実施例又は例では適切な方式で組み合わせることができる。
【0048】
以上、具体的な実施例により本発明の技術的原理を説明した。これらの説明は、本発明の原理を解釈するものに過ぎず、本発明の保護範囲を制限するものではない。ここでの解釈に基づいて、当業者が創造的な努力なしで本発明の他の実施形態を想到することができ、これらの実施形態は本発明の保護範囲内に含まれるべきである。