JP2005084848A - 最適化プログラムおよび配送計画プログラム - Google Patents

最適化プログラムおよび配送計画プログラム Download PDF

Info

Publication number
JP2005084848A
JP2005084848A JP2003314925A JP2003314925A JP2005084848A JP 2005084848 A JP2005084848 A JP 2005084848A JP 2003314925 A JP2003314925 A JP 2003314925A JP 2003314925 A JP2003314925 A JP 2003314925A JP 2005084848 A JP2005084848 A JP 2005084848A
Authority
JP
Japan
Prior art keywords
delivery
solution
delivery destination
order
individual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2003314925A
Other languages
English (en)
Inventor
Akio Shinagawa
明雄 品川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003314925A priority Critical patent/JP2005084848A/ja
Publication of JP2005084848A publication Critical patent/JP2005084848A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】 近接性の要件を損なうことなく、より良好な解を探索することのできる最適化プログラムを提供する。
【解決手段】 解探索方針最適化手段1は、与えられた最適化問題の解探索方針を示す染色体を有する個体3a,3b,3c,・・・を、遺伝的アルゴリズムを用いて生成する。順序検討手段1aは、所定の空間内に固定されて存在する要素種の各要素を結ぶ経路のうち距離が最も短くなる経路を所定のアルゴリズムで求め、その経路上の第2の要素種の配列を要素種検討順序5として決定する。解探索手段2は、個々の解探索方針および要素種検討順序5に従って個々の解探索を行い、解候補を生成する。そして、解探索方針最適化手段1は、解探索によって得られた解候補4a,4b,4c,・・・の適応度関数値を計算し、次の世代の解候補を探索する必要がなければ、適応度関数値の最も良い解候補を最適化問題の解とする。
【選択図】 図1

Description

本発明は最適化プログラムおよび配送計画プログラムに関し、特に遺伝的アルゴリズムを用いて最適化問題の解を求める最適化プログラムおよび配送計画プログラムに関する。
最適化問題とは、一般に、1ないし複数の変数とこれらの変数によって定義される目的関数(評価関数)とが与えられ、所定の制約条件の下でこの目的関数の値を最大あるいは最小とする変数の値の組(最適解)を求める問題である。
従来、広く用いられている最適化問題の解の探索手法の一つとして、山登り法と呼ばれる探索手法がある。山登り法は、可能解(制約条件の全てを満たした変数の値の組)の変数の値をすこしずつ変化させながら、目的関数の値を最適解に近づけるものである(但し、可能解の集合内に閉じた変化は、山登り法の一部においては必須ではない)。
ところが、問題によっては、山登り法のような手法では最適解(あるいは、必ずしも最適解ではないが、最適解との違い(目的関数値の差)がある程度の許容範囲内にある許容解)を得ることができない場合がある。即ち、周辺(一部または全ての変数の値を少しだけ変化させた場合)と比べれば一番良い値の可能解が得られても、周辺を越えたある程度以上離れた位置(変数の値をある程度以上変化させた場合)にはもっと良い値の可能解が存在することがある。従って、一般的な山登り法では、この様に離れた位置に最適解が存在していても、その解を導き出すことができない。
そこで、上記の問題を取り除くための一手法として、遺伝的アルゴリズム(GA)という解探索手法が用いられる。遺伝的アルゴリズムとは、生物の遺伝の機構を模倣して、それを工学的に応用した技術である。
生物進化の過程では、既存の個体(親)から新たな個体(子)が生まれる際に、個体の持つ染色体同士の交叉、染色体上の遺伝子の突然変異などが起こり、既存の個体とは異なる性質の個体が生まれる。そして、環境に適応した個体は、環境に適応しない個体よりも高い確率で新たな子孫を作ることができる。これにより、環境により適応した個体の集団が、世代を経て形成されていく。
このような生物進化の機構を工学的に実現したものが、遺伝的アルゴリズムによる解探索手法であり、それによって多くの最適化問題を解決することができる。遺伝的アルゴリズムでは、解候補を個体の持つ染色体に見立て、解候補に含まれる変数を、個体の持つ染色体上の遺伝子として取り扱う。そして、最適化問題の目的関数に対応して定義される適応度関数が適応対象の環境を表し、適応度関数の値が各個体の環境への適応度を表す。適応度関数は、目的関数を最適にする解ほど大きい値を取るような関数である。適応度関数の値(適応度関数値)を用いて各個体の環境への適応度を判断し、適応度関数値が大きい解候補ほど子孫を作ることができるように、即ち、高確率で親として選択されるように制御する。換言すると、後述する選択操作において、適応度関数値が大きい解候補ほど、より選択されるように制御する。
以上のような定義に基づき、個体の染色体に見立てた複数の解候補に対して、選択(Selection)(自己複製(Reproduction))、交叉(Crossover)、突然変異(Mutation)の操作を繰り返し行う。以下に、遺伝的アルゴリズムの最適解探索の手順を、簡単に説明する。
まず、例えばそれぞれがランダムな(変数)値の配列(遺伝子の配列)である染色体を持つ複数の個体を生成する。これらの個体の集団を第1世代と呼ぶ。そして、選択の操作を行う。選択では、第1世代の各個体の染色体の適応度関数値を(遺伝子の一次元配列に基づいて)求め、その中からより適応度の高い個体をより高い確率で選択する。選択は、結果が対をなすように、2個体ずつ行う。この個体対が、次世代の個体対(即ち子)の親になる。
次に、交叉の操作を行う。交叉では、個体対のそれぞれの個体の持つ染色体の部分同士を結合したような(即ち染色体の一部分は第1の親の染色体パターンを持ち、残りの部分は、第2の親の染色体パターンを持つような)染色体を持つ、新たな個体(即ち子)を生成する。このようにして生成された個体は、双方の親の性質をある程度ずつ引き継いでいる。
さらに、突然変異の操作を行う。突然変異では、交叉によって生成された個体の染色体の、ランダムに選ばれた一部の遺伝子を、ランダムに選ばれた別の値に置き換える。(他に、ランダムに選ばれた、同一染色体上の他の遺伝子と交換するという操作、あるいは他の操作を行う場合もある。)この突然変異によって、親の持っていない遺伝子を有する個体が生まれ得る。このようにして生成された複数の個体(集団)が第2世代の集団となる。
以後、選択、交叉、突然変異を繰り返し、世代を重ねていく。その結果、適応度の低い個体が淘汰されて、集団がより適応度の高い個体で形成されるようになっていく。また解空間の中を大域的に、且つ確率的に探索していくため、特に、多峰性解空間においては、山登り法のように適応度値の小さな局所解に陥ることがない(陥る可能性が低い)。
最適化問題の一つに、配送計画問題がある。配送計画問題は、与えられた複数の配送先に対して荷物を配送する際に、配送先毎の受付可能時間、配送車毎の許容積載量(重量、体積)など様々な制約条件のもとで、(例えば)配送コストを最小化するような、最適配送計画を求める問題である。配送計画問題では、上記のような遺伝的アルゴリズムを適用することが、良好な解を得るための有効な手段となり得る。しかし、現実に即した配送状況を考慮すると、非常に多くの制約条件が存在することとなり、解空間に多数の局所解が生じて解探索が困難になる(即ち解探索時間が増大する)ため、遺伝的アルゴリズムは実用に適さなくなってしまう場合が少なくない。
例えば、荷物の配送計画問題において、配送コスト低減、制約条件満足度等の観点から遺伝的アルゴリズムにより最適解を探索する場合を考える。この場合、配送センタの業務時間、配送先の受付可能時間、配送車の使用可能時間等、様々な制約条件がある。これらの全ての制約条件を考慮した場合、解空間に局所解が多数生じるが、そのような解空間を遺伝的アルゴリズム単独で探索した場合、現在の計算機では、実用可能な時間内で解を得ることは難しいことが多い。
現在、遺伝的アルゴリズムと他のアルゴリズムとを併用することで、遺伝的アルゴリズムの解探索を効率化し、大局的な解探索を行った上で最適解を高速に求めることを可能にした最適化装置が考案されている。また、このような最適化装置を用いて、配送コストを低減した配送計画を高速に探索する配送計画システムも考案されている。例えば、ある配送計画システムでは、遺伝的アルゴリズムにより、配送先検討開始配送先や配送先検討方向などを含む解探索方針が決定される。そして、解探索方針に従って解候補が探索される(例えば、特許文献1参照)。
特開平10−55349号公報
ところで、上記の配送計画システムでは、一つの解候補を形成する過程で、まず配送車を選択し、起点である配送センタを中心として扇状に配送先を走査する。そして、検出された順に配送先を選択し、その配送先に対して、選択されている配送車で配送が可能か否かの検討を行う。
しかし、検討対象とする配送先を扇状に走査した場合、実際の空間上では、(相互間の移動に要する時間の観点で)近接していない配送先同士が配送先検討順序列上で隣接するということが起こり得る。そのため、現実に配送する際に要求される配送先間の近接性を考慮した解が、アルゴリズムによる(自動)検討上、俎上に載らない(解候補として登場しない)ということが起きてしまう可能性がある。
図30は、従来の配送計画システムの走査状況を示す図である。二点鎖線(想像線)はそれぞれ、動径310の移動後の位置を表す。
配送センタ300の周囲に位置する、(遠隔地に位置するものも含む)各配送先301,・・・,306の位置は、配送センタ300を原点とし、原線311を角度の基準とした極座標によって認識される。動径310は、原点を軸に回転する半直線である。ここで、原線311と動径310との成す角をθとする(動径310が、原線311から反時計回りに回転した時に原線となす角を正とする)。
図30の例では、θを0から増加させることで、動径310を反時計回りに回転させ、極座標上を走査する。これは、動径310の回転に伴い、動径310に接触する配送先(配送先の位置が動径310上にあること)の有無を検出する処理である。そして、動径310の走査によって検出された順番に配送先の検討を行う。このため、配送先の配置によっては以下のような問題が生じる。
例えば、山320の周囲に配された配送先301,302,303では、動径310と接触する配送先301、配送先303、配送先302の順に検討が行われる。即ち、まず配送先301が検討対象となる。次に、極座標(の角度)では近接していても、現実には配送先301から山320に沿って大きく迂回しないと到達できない配送先303が検討対象となる。荷物の積載制限など制約上の問題がなければ、これらの配送先301,303に、同一配送車で配送可能と判断されてしまい、配送計画の解として導出されるということが起こり得る。即ち、もしこの場合が、「配送先301と配送先303への荷物は、異なる配送車を割当てて配送したほうがよい場合」であったとしても、(その可能性は全く検討されないまま、)同一配送車を割当てて配送する計画が導出されてしまうということが起こり得る。
また、道330沿いに位置する配送先304,305,306に対しても同様に、動径310と接触する配送先304、配送先306、配送先305の順に検討が行われる。即ち、まず配送先304が検討対象となる。次に、道330に沿って迂回した場所に位置する配送先306が検討対象となる。その結果、上記と同様の問題が発生し得る。
これらはいずれも、配送先を極座標(の角度)で認識したときの近接性と、現実の配置における(相互間の移動に要する時間的)近接性との乖離のために生じる問題であり、極座標にて配送先を走査する限り、この問題を回避することはできない。
本発明はこのような点に鑑みてなされたものであり、より良好な解を求めることができる最適化プログラムおよび配送計画プログラムを提供することを目的とする。また、本発明の他の目的は、より良好な配送計画を求めることができる最適化プログラムおよび配送計画プログラムを提供することである。
本発明の第1の態様では、上記課題を解決するために、最適化問題の解を求める最適化プログラムにおいて、コンピュータを、図1に示すように、最適化問題の解を構成する要素を、空間内に固定されていない第1の要素種と、所定の空間内に固定されて存在する第2の要素種とに分け、最適化問題の解探索方針を示す染色体に、第1の要素種の要素の検討順序を表す情報を格納して、染色体を有する個体3a,3b,3c,・・・を生成し、解探索方針を遺伝的アルゴリズムで最適化する解探索方針最適化手段1、第2の要素種の各要素を結ぶ経路のうち距離が最も短くなる経路を所定のアルゴリズムで求め、求めた経路に沿った第2の要素種の配列を、要素種検討順序5として決定する順序検討手段1a、個々の解探索方針および要素種検討順序5に従って個々の解探索を行い、解候補4a,4b,4c,・・・を生成する解探索手段2、として機能させることを特徴とする最適化プログラムが提供される。
このような手段としてコンピュータを機能させることで、コンピュータは最適化装置として機能する。この最適化装置において、解探索方針最適化手段1は、与えられた最適化問題の解を構成する要素を空間内に固定されていない第1の要素種と、所定の空間内に固定されて存在する第2の要素種とに分け、最適化問題の解探索方針を示す染色体に、第1の要素種の要素の検討順序を表す情報を格納して、染色体を有する個体3a,3b,3c,・・・を生成し、これらをまとめた個体群3を解探索手段2に渡す。また、順序検討手段1aは、第2の要素種の各要素を結ぶ経路のうち距離が最も短くなる経路を所定のアルゴリズムで求め、求めた経路に沿った第2の要素種の配列を要素種検討順序5として決定し、解探索手段2に渡す。解探索手段2は、個体群3を構成する個体3a,3b,3c,・・・の染色体に示された解探索方針と要素種検討順序5に従って個々の解探索を行い、個体3a,3b,3c,・・・に対応した解候補4a,4b,4c,・・・を生成し、これらをまとめた解候補群4を解探索方針最適化手段1に渡す。
また、本発明の第2の態様では、上記課題を解決するために、最適化問題の解を求める最適化プログラムにおいて、コンピュータを、図21に示すように、最適化問題の解を構成する要素を、空間内に固定されていない第1の要素種と、所定の空間内に固定されて存在する第2の要素種とに分け、最適化問題の解探索方針を示す染色体81a,82a,83a,・・・に、第1の要素種の要素の検討順序および第2の要素種の要素の検討順序を表す情報81b,82b,83b,・・・を格納して、染色体81a,82a,83a,・・・を有する個体81,82,83,・・・を生成し、解探索方針を遺伝的アルゴリズムで最適化する解探索方針最適化手段71、個々の解探索方針に従って個々の解探索を行い、解候補90a,90b,90c,・・・を生成する解探索手段72、として機能させることを特徴とする最適化プログラムが提供される。
このような手段としてコンピュータを機能させることで、コンピュータは最適化装置として機能する。この最適化装置において、解探索方針最適化手段71は、与えられた最適化問題の解を構成する要素を空間内に固定されていない第1の要素種と、所定の空間内に固定されて存在する第2の要素種とに分け、最適化問題の解探索方針を示す染色体81a,82a,83a,・・・に、第1の要素種の要素の検討順序および第2の要素種の要素の検討順序を表す情報81b,82b,83b,・・・を格納して、染色体81a,82a,83a,・・・を有する個体81,82,83,・・・を生成し、これらをまとめた個体群80を解探索手段72に渡す。解探索手段72は、個体群80を構成する個体81,82,83,・・・の持つ染色体81a,82a,83a,・・・に示された解探索方針に従って個々の解探索を行い、個体81,82,83,・・・に対応した解候補90a,90b,90c,・・・を生成し、これらをまとめた解候補群90を解探索方針最適化手段71に渡す。
以上説明したように、本発明に係る最適化プログラムを実行するコンピュータは、所定の空間に固定された第2の要素種の各要素を結ぶ経路のうち距離が最も短くなる経路を所定のアルゴリズムで求め、求めた経路に沿った第2の要素種の順序をもとにして、個体の染色体によって示される解探索方針に対応した解を探索することで、良好な解の探索を行うことができる。
また、本発明に係る別の最適化プログラムを実行するコンピュータは、所定の空間に固定された第2の要素種の要素の検討順序を表す情報を染色体に格納して、遺伝的アルゴリズムを通して最適化していくことで、多様的な解の探索を行うことができる。
また、本発明に係る配送計画プログラムを実行するコンピュータは、与えられた配送先の順序列である配送先検討順序を染色体に格納して、遺伝的アルゴリズムを通して最適化していくことで、多様な配送計画の探索を行うことができる。
以下、本発明の実施の形態を図面を参照して説明する。
本発明の実施の形態は、大別して以下のような4つの発明を含んでいる。
第1の発明は、所定の空間内に固定されて存在する要素種の各要素を結ぶ経路のうち距離が最も短くなる経路を所定のアルゴリズムで求め、その経路に沿った上記要素種の配列を予め決定した上で、遺伝的アルゴリズムを用いて最適化問題の解を求める最適化装置であり、この装置の機能は、最適化プログラムがコンピュータ上で動作することによって実現される。第2の発明は、上記の最適化装置を適用して配送計画問題の解を求める配送計画装置であり、この装置の機能は、配送計画プログラムがコンピュータ上で動作することによって実現される。
第3の発明は、所定の空間内に固定されて存在する要素種の要素の検討順序を表す情報を染色体に格納して遺伝的アルゴリズムの過程で最適化していくことで、最適化問題の解を求める最適化装置であり、この装置の機能は、上記とは別の最適化プログラムがコンピュータ上で動作することによって実現される。第4の発明は、この最適化装置を適用して配送計画問題の解を求める配送計画装置であり、この装置の機能は、上記とは別の配送計画プログラムがコンピュータ上で動作することによって実現される。
これらのうち、第1および第2の発明については第1の実施の形態で説明を行い、第3および第4の発明については第2の実施の形態で説明を行う。
(第1の実施の形態)
図1は、第1の実施の形態の最適化装置の原理構成図である。
この最適化装置に最適化問題が入力されると、解探索方針最適化手段1は、与えられた最適化問題の解を構成する要素を、空間内に固定されていない第1の要素種と、所定の空間内に固定されて存在する第2の要素種とに分ける。次に、解探索方針最適化手段1は、解探索方針を示す染色体を有する個体3a,3b,3c,・・・を生成する。個体3a,3b,3c,・・・には、染色体として第1の要素種の要素の検討順序が格納されている。そして、解探索方針最適化手段1は、これらの個体3a,3b,3c,・・・をまとめた個体群3を、解探索手段2に渡す。染色体が示す解探索方針は、解探索方針最適化手段1において、遺伝的アルゴリズムを通して最適化されていく。
順序検討手段1aは、第2の要素種の各要素を空間上で結ぶ経路のうち距離が最も短くなる経路を所定のアルゴリズムで求め、求めた経路に沿った第2の要素種の配列を、要素種検討順序5として決定する。この所定のアルゴリズムで求めた経路は、探索した経路の中では最も距離が短い経路であるが、必ずしも(絶対的な)最短経路ではない。すなわち、所定のアルゴリズムで探索していない経路の中には、探索した中で最短であった経路よりも距離が短いものが存在する可能性もある。順序検討手段1aは、決定した要素種検討順序5を解探索手段2に渡す。
解探索手段2は、個体群3内の各個体3a,3b,3c,・・・の染色体で示された解探索方針に従って最適化問題の解を探索する。この際、第2の要素種の要素の検討順序は、要素種検討順序5に示された順番に従う。このようにして、個体3a,3b,3c,・・・に対する解候補4a,4b,4c,・・・を生成する。このとき、解候補4aは個体3aに基づき、解候補4bは個体3bに基づき、解候補4cは個体3cに基づき、それぞれ独立に生成される。そして、解候補4a,4b,4c,・・・をまとめた解候補群4を、解探索方針最適化手段1に渡す。
解探索方針最適化手段1は、解候補群4の各解候補4a,4b,4c,・・・の適応度関数値を求める。そして、さらに次の世代の解候補を探索する必要があれば、適応度関数値を用いて個体3a,3b,3c,・・・から個体対を選択し、個体対のそれぞれが持つ染色体間で交叉を行い、交叉によって生成された個体の染色体に対して突然変異の処理を施す。そして、このように生成された複数の個体を、次の世代の個体群として解探索手段2に渡す。一方、次の世代の解候補を探索する必要がなければ、適応度関数値の最も良い解候補を、この最適化問題の解とする。なお、多くの場合、この解は厳密な意味の最適解ではなく、予め定められた許容範囲内にある許容解(最適解ではないが、採用できる解)である。
このように、最適化問題を解く遺伝的アルゴリズムとは別個に、第2の要素種の要素の検討順序を、例えば、これらを結ぶ経路が短くなるように、予め決定しておく。この順序を基に、個体3a,3b,3c,・・・の染色体によって示される解探索方針に対応した解を探索することで、上記第2の要素種の近接性の要件を極端に損なうことなく、より良好な解の探索を行うことができる。
次に、上記の最適化装置を適用した配送計画装置を用いて、配送計画問題の解を求める配送計画システムについて説明する。
図2は、配送計画システム全体の概略構成を示すブロック図である。この配送計画システムは、配送計画装置100を中心に構成されている。この配送計画装置100は、遺伝的アルゴリズムと逐次添加的および逐次改善的手法とを用いて配送計画の計算を行う。
配送計画の計算を行う際には、配送計画装置100に対して、シミュレーション条件91、地図情報92、配送先/配送車情報93、および出荷データ94が入力される。シミュレーション条件91は、制約条件、適応度関数、および遺伝的アルゴリズムを用いる際に第何世代まで計算するかなどの計算条件である。地図情報92には、配送先の位置情報、配送先内所要時間情報、および道路情報などが含まれる。配送先/配送車情報93には、配送先の店着指定時刻、納品時間、停車車種制限などが含まれる。出荷データ94は、配送すべき荷物の出荷伝票のデータである。この出荷データ94は、品物の在庫や、注文の受付などを管理している基幹システムから送られてくる。
必要な情報を受け取った配送計画装置100は、配送計画を計算する。算出された配送計画は、ルート表示部95とタイムチャート表示部96に送られる。ルート表示部95は、表示装置上に地図ウィンドウを開き、そのウィンドウの中に周辺の地図を表示し、さらに、その地図上に各配送ルートを表示する。
タイムチャート表示部96は、地図ウィンドウとは別のタイムチャートウィンドウを開く。そのタイムチャートウィンドウには、各配送ルートにおける時間経過に伴う配送車両の状態の変化がタイムチャートで表示される。
図3は、配送計画装置のハードウェア構成例である。
配送計画装置100は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、HDD(Hard Disk Drive)104、グラフィック処理部105、入力I/F(Interface)106および通信I/F(Interface)107などによって構成され、これらはバス108を介して相互に接続されている。
ここで、CPU101は、HDD104に格納されているプログラムに応じて装置の各部を制御する。ROM102は、CPU101が実行する基本的なプログラムやデータを格納している。RAM103は、CPU101が実行途中のプログラムや、演算途中のデータを一時的に格納する。HDD104は、CPU101が実行するOS(Operating System)や、アプリケーションプログラムを格納する。
グラフィック処理部105には、ディスプレイなどの表示装置97が接続されており、CPU101からの描画命令に従って、表示装置97の画面上に画像を表示させる。入力I/F106には、マウス106aやキーボード106bが接続されており、これらにより入力された情報を受信し、バス108を介してCPU101に送信する。通信I/F107は、ネットワーク98に接続され、データの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、最適化装置についても、同様のハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図4は配送計画装置の内部構成を示すブロック図である。
配送計画装置100内には、配送計画の作成に当って、配送が可能か不可能かの検討の対象となる要素(配送車や配送先)の選択方針を決定する検討要素選択方針決定手段110と、指定された解探索方針に従って逐次添加的および逐次改善的手法により配送計画案を作成する配送計画作成手段120とが設けられている。
検討要素選択方針決定手段110は、配送車割当順序決定手段111と配送先検討順序決定手段112とを有する。配送車割当順序決定手段111は、遺伝的アルゴリズムにより、検討すべき配送車の配送先への割当順序などの解探索方針を最適化する。配送先検討順序決定手段112は、検討対象とする配送先の選択順を決定する。より詳細には、以下の通りである。
配送車割当順序決定手段111は、遺伝的アルゴリズムによる処理機能を有しており、解探索方針を染色体で示す個体の群に対して、選択、交叉、および突然変異の操作を繰り返し行う。これにより、個体群の子孫が順次生成される。解探索方針としては、検討の対象とする配送車の配送先への割当検討順序、最初の配送車の検討を行う際に、初めに検討対象とすべき配送先の指定、および配送先の検討を順次行う際の配送先の選択方向指定がある。
配送先検討順序決定手段112は、全配送先を結ぶ経路のうち最も距離が短くなる経路を、所定のアルゴリズムによって求める。そして、配送先検討順序決定手段112は、求めた経路に沿った配送先の順序列を、配送先検討順序として決定する。このような経路は、例えば、巡回セールスマン問題の近似解法の一つであるLin−Kernighanの方法によって求めることができる。
配送車割当順序決定手段111が選択を行う際には、その世代の個体群を配送計画作成手段120に渡し、各個体に対応して作成された配送計画案を配送計画作成手段120から受け取る。すると、配送車割当順序決定手段111は、受け取った配送計画案の各々から適応度関数値を計算し、適応度関数値に基づいて選択を行い、次世代を生成するための(次世代を生成するために本世代で交叉を行う対象である)個体対を作る。また、処理の終了条件を満たした場合には、その世代の中で適応度関数値の大きい配送計画案を解とする。
配送計画作成手段120は、各個体に対応した正式配送経路を作成する配送経路立案手段121と、上記正式配送経路を受け取って時間が最短となるような改善を加える配送経路改善手段122とを有している。
配送経路立案手段121は、まず配送先検討順序決定手段112から配送先検討順序を受け取る。以後、配送先検討順序は、各世代の個体群に対して共通に用いられる。そして、配送車割当順序決定手段111から送られたある世代の個体群を受け取ると、個体の染色体に示されている順番で検討対象の配送車を選択する。続いて、検討対象の配送車について、配送先検討順序に示された配送先の順番に従って、その配送先への荷物を積むかどうかの検討を行い、各配送車を配送先に割当てた正式配送経路を作成する。
配送経路改善手段122は、正式配送経路を受け取り、各配送車が配送すべき配送先の配送順の入替えを行い、時間が最短になるような配送順の発見を図る。改善が加えられた配送経路が、最終的に求める配送経路となる。同様にして、全ての配送車に対する最終的に求める配送経路を確定し、配送計画案が作成される。そして、各個体に対応して作成した配送計画案を配送車割当順序決定手段111に送る。
以上のような配送計画システムにより、遺伝的アルゴリズムと逐次添加的および逐次改善的手法とを組み合わせて、最適解を探索する。以下に配送計画問題の具体例を用いて、上記の配送計画システムの処理手順を説明する。
図5は、配送計画問題の配送センタ、配送先、および配送車を示す図である。
配送センタ31の周囲に計10ケ所の配送先32a,・・・,32jが存在しており、それぞれに対して1対1に番号が付与されている(図中の丸で囲まれた1,・・・,10の数字)。これらを配送先番号とする(以下、図7、図15、図18、図20においても、丸で囲まれた数字を配送先番号とする)。また、これらの配送先に対して荷物を配送する4台の配送車61,・・・,64があり、こちらもそれぞれに対して1対1に番号が付与されている(各配送車内部に記した1,・・・,4の数字)。これらを配送車番号とする。
上記のような配送計画問題の例において、ここでは、配送コストの低減を目的として最適化する。配送コストを左右する要素には、使用配送車数、配送時間(人件費に影響する)、配送車走行距離(燃料費に影響する)などがある。ここでは、特に使用配送車数の削減を主たる目的とし、合わせて配送車積載重量総和の削減も副次的目的として、最適化を行う。1台の配送車両の一年間の維持費は高額であり、配送センタに必要な配送車両の数を減らせれば、コストの削減の効果が非常に大きいためである。
このような目的に対して考慮すべき制約条件としては、「配送センタの業務時間制約」、「配送先の受付時間制約」、「配送先への進入制約(道路事情による進入が可能か不可能か)」、「配送先の受付配送車種類制約(配送先A社には、A社の社名入りの配送車しか使用することができない場合など)」、「配送車の容量制約」、「配送車の積載温度制約」、「配送車の稼働時間制約」、「配送車の走行距離制約」、「配送車台数制約」などがある。なお、「配送車の容量制約」には、「配送車積載重量制約」、「配送車積載体積制約」、「配送車積載寸法制約」が含まれる。
そこで、各個体の染色体が示す解探索方針で作成された配送計画案の適応度関数fを
f=1/(a×配送車数+b×配送車積載重量総和+c×配送車不足)
と定義する。a,b,cは、予め設定された定数(正の実数)である。配送車不足は、配送車が不足する場合は「1」、そうでない場合は「0」である。この適応度関数を最大にする解を求めれば、必要な配送車数および配送車積載重量総和を(この関数で表現しているような意味で)最小にすることができる。なお、cの値は、aやbよりも十分大きな値とする。cの値を大きな値とすることにより、配送車が不足するような解が生成される個体は、淘汰される可能性が大きくなる。
また、k番目(kは自然数)の個体の染色体が示す解探索方針で作成された配送計画案の適応度関数値をfkとすると、この個体の選択確率は
選択確率=fk n /Σ(fk n
とする。なお、Σは和を示す記号であり、Σ(fk n )は、f1 n,f2 n,・・・,fk nの和を示している。適応度関数値fk をn乗(nは実数)したのは、このnの値を変えることにより、個体の選択確率を容易に調整することができるようにするためである。即ち、nの値を大きくすれば、適応度関数値fk の大きな個体が選択される可能性が大きくなり、nの値を小さくすれば、適応度関数値fk の小さな個体であっても選択される可能性が大きくなる。
また、交叉には2点交叉(2点交叉の中でも、同一遺伝子の重複や、ある遺伝子の欠落が起こらないように修復を行うもの)を用い、突然変異は2遺伝子の交換とする。
以上のような情報が配送計画装置100(図2および図4に示す)に入力された後、最適解の探索にあたって、配送先検討順序決定手段112は、与えられた配送先に対し配送先検討順序を算出する。
図6は、配送先検討順序の一例を示す図である。
配送先検討順序15は、全ての配送先を結ぶ経路のうち距離が最も短くなる経路を所定のアルゴリズムで求め、求めた経路に沿って配送先を並べた配送先の順序列である。配送先検討順序15は、図のように、配送先番号を左から右に並べた1次元配列として表される。
図7は、図6で示した配送先検討順序の内容を示す図である。配送先検討順序15に示された配送先を順にたどると、図7のような配送先が矢印で結合された閉ループを成す経路となる。この経路は、全ての配送先を結ぶ最短経路(所定のアルゴリズムで探索した範囲内で最も距離の短い経路)であり、経路決定に当って、山33や道34の存在が(ある程度)考慮されていると見なせる。配送先への荷物を積むかどうかの検討は、このような経路に沿って行われる。
そして、配送車割当順序決定手段111の遺伝的アルゴリズム処理機能は、与えられた配送計画問題の解探索方針を示す染色体(を持つ個体)を生成する。
図8は、染色体の構成を示す図である。この染色体50は、6個の遺伝子を有している。染色体50は3つの部分染色体から構成されており、遺伝子51、遺伝子52、および遺伝子53,・・・,56がそれぞれ一つの部分染色体を形成している。なお、図中では染色体50を構成する各遺伝子51,・・・,56の具体的な値を記しているが、実際には染色体50は、このような値を持つ特定の染色体ではなく、この配送計画問題で生成される一般的な染色体を示すものとする。
配送先検討方向50aは、遺伝子51からなる部分染色体であり、「+」あるいは「−」のいずれかの値が設定される。遺伝子51が「+」のときは、配送先検討順序15の左から右に向かって配送先の検討を行う(右端に到達したら、右端が左端につながっていると考え、左端より右に向かって引き続き配送先の検討を行う)。遺伝子51が「−」のときは、配送先検討順序15の右から左に向かって配送先の検討を行う(左端に到達したら、左端が右端に繋がっていると考え、右端より左に向かって引き続き配送先の検討を行う)。
検討開始配送先50bは、遺伝子52からなる部分染色体であり、配送先番号(1,・・・,10のいずれか)が設定される。1番目に検討を行う配送車の積荷検討(配送先毎に、その配送先への荷物を積むべきか否かの検討)は、この遺伝子52に設定された配送先番号の配送先に対するものから開始する。
配送車割当順序50cは、遺伝子53,・・・,56からなる部分染色体であり、それぞれに対して配送車番号が設定される。ここでは、配送先への割当ての検討を行う配送車の順番を指定し、遺伝子53→遺伝子54→遺伝子55→遺伝子56の順で、その遺伝子の示す配送車の配送先への割当てを検討する。
このような染色体を有する個体が複数集まることで個体群が形成され、配送車割当順序決定手段111が中心となって配送計画の最適解の探索が開始される。
次に、配送計画装置100が最適解を探索する処理手順について、フローチャートを用いて説明する。
図9は、検討要素選択方針決定手段の処理手順を示すフローチャートである。なお、このフローチャートの各ステップは、特に断らない限り、配送車割当順序決定手段111によって処理される。
[S1]配送先検討順序決定手段112が、配送先検討順序15を決定する。
[S2]集団の初期化として、第1世代を構成する個体の集団(個体群)を生成する。この第1世代の各個体は、例えば、ランダムに遺伝子を組み合わせることによって生成する。この処理の詳細は、図10において説明する。
[S3]生成された集団の各個体から、所定の判断基準に基づき個体対を選択する。この処理の詳細は、図11において説明する。
[S4]ステップS3によって選択された個体対の各個体の染色体を2点交叉(2点交叉の中でも、同一遺伝子の重複や、ある遺伝子の欠落が起こらないように修復を行うもの)によって交叉させ、新たな染色体を生成する。
[S5]ステップS4で生成された各染色体の中の2つの遺伝子の値を互いに他方の値に変える(即ち交換する)ことにより、突然変異を行う。このステップで生成された染色体を有する個体が、次の世代の個体群となる。
[S6]処理が終了か否かを判断する。判断基準としては、例えば、「ある一定世代に達しているか否か」を用い、当該一定世代に到達していれば判断基準を満たしているとみなす。処理を終了するための基準を満たしていなければ、ステップS3に進み、次の世代の処理を行う(解の探索を継続する)。処理を終了すると判断した場合には、現在の世代で得られた配送計画案の中で、適応度関数値が最も良いものを解とする。
図10は、集団の初期化の処理手順(図9のステップS2)を示すフローチャートである。この処理は全て、配送車割当順序決定手段111によって行われる。
[S11]kの初期値として「1」を設定する。
[S12]部分染色体である配送車割当順序50cの初期値を発生させる。
[S13]部分染色体である検討開始配送先50bの初期値を発生させる。
[S14]部分染色体である配送先検討方向50aの初期値を発生させる。
ステップS12,・・・,S14の各処理で生成された部分染色体によって、k番目の染色体が構成される。
[S15]予め設定されている「kmax」(集団内の個体の総数(この例の場合は、集団内の染色体の総数と等しい))とkを比較し、等しければ処理を終了する。kmaxに達していなければ、次のステップS16に進む。即ち、kmaxに達した時点で、全ての染色体について初期化がなされたことになる。
[S16]kの値を1だけインクリメントしてステップS12に進み、上記と同様の処理を行う。これにより、kの値がkmaxに達するまで処理が繰り返される。
図11は、選択処理手順(図9のステップS3)を示すフローチャートである。この処理は、全て配送車割当順序決定手段111によって行われる。
[S21]個体の集団を配送計画作成手段120に渡し、配送計画作成手段120から、逐次添加的および逐次改善的手法により作成された個体毎の配送計画案を受け取る。
[S22]受け取った配送計画案の適応度関数値を、個体毎に計算する。
[S23]適応度関数値を判断基準として、個体対を選択する。
図12は、図11のステップS21において配送車割当順序決定手段が配送計画作成手段に与える個体およびその染色体と、配送計画作成手段から受け取る配送計画案の組の例を示す図である。配送計画案41,42,43は、配送計画作成手段120から送られてくる。配送計画案41,42,43から適応度関数値を求めることにより、染色体50−1,50−2,50−3を評価することができる。図12の例では、染色体50−1の適応度関数値が83、染色体50−2の適応度関数値が65、染色体50−3の適応度関数値が58である。
以上が、検討要素選択方針決定手段110の処理手順である。次に、配送計画作成手段120の処理手順を説明する。
図13は、配送計画作成手段の処理手順を示すフローチャートである。なお、以下のフローチャートの各ステップは、特に断らない限り、配送経路立案手段121によって処理される。
[S31]iの初期値として「1」を設定する。iは、検討対象配送車を指定するための数値である。配送車割当順序50cにおいて図8中の左からi番目の遺伝子で示された番号の配送車が、検討対象配送車となる。
[S32]検討対象配送車として、配送車割当順序50c内のi番目の遺伝子を選択する。この場合のiは、染色体50の配送車割当順序50cに内包される遺伝子を左側から数えた場合の順番に対応しており、遺伝子53が1番目、以下、遺伝子54、遺伝子55、遺伝子56が、それぞれ2番目、3番目、4番目に対応する。
[S33]検討対象配送車の積荷(配送車に積む荷物)の検討を行う。この処理の詳細は、図14において説明する。
[S34]配送する荷物が尽きていれば(既に、ここまでの処理で全ての荷物が配送車に割当てられていれば)、処理を終了する。
[S35]予め設定されている「imax」(運行可能な配送車の数)とiを比較し、等しければ処理を終了する。imaxに達していなければ、次のステップS36に進む。即ち、imaxに達した時点で、全ての配送車について検討されたことになる。
[S36]iの値を1だけインクリメントしてステップS32に進み、上記と同様の処理を行う。これにより、iの値がimaxに達するまで処理が繰り返される。
図14は、検討対象の配送車の積荷の検討処理(図13のステップS33)の詳細を示すフローチャートである。以下のフローチャートの各ステップは、特に示さない限り配送経路立案手段121によって処理される。
[S41]初期化処理を行う。初期化処理では、まだいずれの配送車も割当てられていない配送先に対する未割当配送先検討順序を示す番号の設定、jの初期値設定、およびjmaxの設定が行われる。ここで、未割当配送先検討順序とは、まだいずれの配送車も割当てられていない配送先を配送車割当ての検討対象として選択する順番である。jは検討対象の配送先を示す番号である。まだいずれの配送車も割当てられていない配送先のうち未割当配送先検討順序を示す番号がjである配送先が、検討対象の配送先となる。jmaxは、図14のフローチャート開始時点で、まだいずれの配送車も割当てられていない配送先の総数である。具体的には、以下の処理が行われる。
まず、まだいずれの配送車も割当てられていない配送先に対する未割当配送先検討順序を示す番号の設定処理について説明する。未割当配送先検討順序を示す番号の設定処理では、まだいずれの配送車も割当てられていない配送先に対して、配送先検討順序決定手段112で決定された配送先検討順序15上での配送先間の先後関係を保ったまま、未割当配送先検討順序を示す番号を設定する。このとき、検討開始配送先50bで示される配送先から配送先検討方向50aで示される方向に向かって、まだいずれの配送車も割当てられていない配送先の検索が行われる。
なお、未割当配送先検討順序を示す番号は、図13のフローチャートにおけるi(検討対象配送車を示す番号)が異なる毎に、図14のフローチャートに入った時点でステップS41において振り直される。従って、各配送先に対して、未割当配送先検討順序を示す番号を振る処理は、以下のように、iが1(最初の検討対象配送車)のときと、iが2以上のときとで異なる内容とすることができる。
iが1のときは、検討開始配送先50bで示される配送先に対して、未割当配送先検討順序を示す番号として1を設定する。以下、配送先検討順序15を配送先検討方向50aに示す方向に検索し、検出された配送先の順に2,3,・・・と番号を振っていく。なお、検索対象が配送先検討順序15の端の配送先に達した場合は反対側の端にとび、配送先検討方向50aに示す方向に検索して番号を振っていく。
iがm(mは2以上の自然数)のときは、未割当配送先検討順序を示す番号の設定において、配送車割当順序50c上での順番が1番から「m−1」番までのいずれかの配送車を割当てた配送先は、検索の対象外とされる。その上で、検討開始配送先50bの示す配送先(単なるスタート位置となる)から開始して、いずれの配送車も割当てられていない配送先を配送先検討方向50aに示す方向に検索する。そして、最初に検出された配送先に対して、未割当配送先検討順序を示す番号として1を設定する。その後、配送先検討方向50aに示す方向に検索を続け、検出される未割当配送先の順に2,3,・・・と番号を振っていく。なお、検索対象が配送先検討順序の端に達した場合は反対側の端にとび、配送先検討方向50aに示す方向に検索して番号を振っていく。
このように、以前に配送車の割当てを検討したものの配送車を割当てることができなかった配送先は、次の配送車を検討する際に、優先的に割当ての検討が行われる。
なお、上記の説明において、配送先に対して未割当配送先検討順序を示す番号を振る処理は、iが1のときと、iが2以上のときとで異なる内容になるものとして説明したが、iが2以上のときの処理内容をiが1のときに適用しても、同一の結果を得ることができる。したがって、前述のiが2以上のときの処理内容を、iの値に関係なく全ての場合に適用してもよい。
次に、jの初期値設定処理について説明する。jには初期値として「1」を設定する。jに「1」を設定することで、まだいずれの配送車も割り当てられていない配送先のうち、未割当配送先検討順序が「1」の配送先が検討対象となる。
次に、jmaxの設定処理について説明する。iが1のときは、jmaxの初期値は配送先の総数(この例では10)である。このjmaxの値は、図14のフローチャートで示す処理が終了しても維持される。そして、iがm(mは2以上の自然数)のときは、iが「m−1」のときのステップS41の処理で設定されたjmaxの値を更新する。
具体的には、検討対象配送車毎に、その検討対象配送車を割当てた配送先の総数を変数として保持する。この変数の値は、図14のフローチャートで示す処理が終了しても保持し続ける。しかも、保持している変数の値を、次の検討対象配送車に関する処理のときに参照できるようにしておく。そして、iがmのときは、このフローチャートが開始された時点で、1つ前の配送車への配送先割当検討時のjmaxの値から上記の変数に保持された配送先の数を引いて、再びjmaxに代入する。
このようにjmaxを設定することにより、jがjmaxに達したならば、このフローチャートの処理が開始された時点で、いずれの配送車も割当てられていなかった全ての配送先について検討されたことになる。
[S42]検討対象配送先として、j番目の配送先を選択する。j番目の配送先とは、配送先検討順序15上の、対応する(ステップS41で設定した)未割当配送先検討順序を示す番号がjである配送先である。
[S43]検討対象配送先へ配送すべき荷物を、検討対象配送車に配送させることができるか否かを検討する。この処理の詳細は、図16において説明する。
[S44]検討対象配送車にまだ荷物を載せる余地があるか否かを判断する。さらに積載可能であれば次のステップS45に進み、積載不可能であればステップS47に進む。
[S45]予め設定されている「jmax」(このフローチャートの処理が開始された時点で、いずれの配送車も割当てられていない配送先の総数)とjを比較し、等しければステップS47に進む。等しくなくて、jがjmaxに達していなければ、次のステップS46に進む。
[S46]jの値を1だけインクリメントしてステップS42に進み、上記と同様の処理を行う。これにより、jの値がjmaxに達するか、あるいは当該配送車に更に荷物を積載することが不可能となるまで処理が繰り返される。
[S47]配送経路改善手段122は、正式配送経路の改善を行い処理を終了する。ここで、正式配送経路とは、ステップS43の処理によって決定された配送経路である。この正式配送経路に含まれる配送先の配送順を入れ換えることで、正式配送経路を改善する。改善された後の正式配送経路が、対応する染色体に基づいて決定される配送計画案である。この処理の詳細は、図19において説明する。
図15は検討対象配送車の積荷の検討処理の進行状況を示す図である。この例では、配送経路立案手段121が、染色体50−1(図12参照)の最初の検討対象配送車に対して、配送先検討順序15に従って各荷物を積むべきか否かの検討を行うものとして説明する(配送先検討順序15上の配送先は、いずれもまだ配送車の割当がなされていないものとする)。また、この図に関する以下の説明において、特定の配送先を指示する際は、符号の後に配送先番号を「(配送先番号)」のように併記する。
(A)は最初の配送先の検討状況を示す図である。染色体50−1の最初の検討対象配送車は配送車番号2を持つ配送車62である。また、最初の検討対象配送車の配送先検討なので、染色体50−1の検討開始配送先に設定された配送先32f(6)から検討が始まる。(この例では、配送車62に配送先32f(6)の荷物を積むことができるとして、)配送計画システムは、配送先32f(6)の荷物を積むことができると判断し、配送センタ31と配送先32f(6)との間を往復する順路を決定する(結果の順路は、(B)に示す)。
(B)は2つめの配送先の検討状況を示す図である。染色体50−1の配送先検討方向は「+」の方向であり、配送先32j(10)が(2つめの)検討対象配送先となる。(この例では、この段階で、配送車62に配送先32j(10)の荷物も積むことができるとして、)配送計画システムは、この配送先32j(10)にも配送できると判断し、その経路を確定する。この際、配送先32f(6)に向かう途中で配送先32j(10)に寄るべきか、配送先32f(6)からの帰り路に寄るべきかを判断し、最適な方を選ぶ。(この例では、配送上の制約条件を満たした上で、配送コストが最も安い方を選ぶものとする。)ここでは、最適な経路として配送先32f(6)からの帰り路で寄る方を選ぶ(結果の順路は、(C)に示す)。
(C)は3つめの配送先の検討状況を示す図である。配送先検討順序15の配送先32j(10)の右隣にある配送先32a(1)が(3つめの)検討対象配送先となる。(この例では、この段階で、配送車62に配送先32a(1)の荷物も積むことができるとして、)配送計画システムは、この配送先32a(1)にも配送できると判断し、その経路を確定する。この際、配送先32a(1)を、配送センタ31と配送先32f(6)との間の区間、配送先32f(6)と配送先32j(10)との間の区間、および配送先32j(10)と配送センタ31との間の区間のどこで、新たに加える配送先32a(1)に寄るべきかを判断し、最適な区間を選んでそこに挿入し(そこで寄ることとし)、最良の経路を決定する(結果の順路は、(D)に示す)。
(D)は3つの配送先への配送順序の検討結果を示す図である。この例では、配送先32f(6)、配送先32a(1)、配送先32j(10)の順序が、検討結果として得られている。(この経路を更に改善する処理が、他に用意されているが、それについては後述する。)。これ以降も同様に、配送先検討順序15に示された配送先を右方向に一つずつ検討していく。
以上の過程で、ある配送先への配送が(例えば、配送先の受付時間制約、配送車の容量制約、配送車の走行距離制約などが満たせないために、)不可能である場合には、その配送先への配送はできないと判断し、(検討対象配送先が尽きていない場合には、)次の配送先への配送可能性を検討する。
図16は検討対象配送先への配送に関する検討の処理(図14のステップS43)の詳細を示すフローチャートである。以下のフローチャートの各ステップは、全て配送経路立案手段121によって処理される。
[S51]重量制約(配送車積載重量制約)を満足しているか否かを判断する。配送車積載重量制約とは、積載する荷物の総重量が、検討対象配送車の積載重量の制限を超えてはならないという制約である。重量制約を満足していればステップS52に進み、満足していなければ処理を終了する。
[S52]体積制約(配送車積載体積制約)を満足しているか否かを判断する。体積制約とは、積載する荷物の総体積が、検討対象配送車の荷台容量を超えてはならないという制約である。体積制約を満足していればステップS53に進み、満足していなければ処理を終了する。
[S53]寸法制約(配送車積載寸法制約)を満足しているか否かを判断する。寸法制約とは、積載する荷物が、検討対象配送車の荷台から所定値以上はみ出してはならないという制約である。寸法制約を満足していればステップS54に進み、満足していなければ処理を終了する。
[S54]進入制約を満足しているか否かを判断する。進入制約とは、道幅等の制限により検討対象配送車では進入できない経路が、配送先への進入経路上にあってはならないという制約である。進入制約(配送先への進入制約)を満足していなければステップS55に進み、満足していなければ処理を終了する。
[S55]車種制約(配送先の受付配送車種類制約)を満足しているか否かを判断する。車種制約は、配送先が配送車の種類を指定していた場合、検討対象配送車が指定された車種でなければならないという制約である。車種制約を満足していればステップS56に進み、満足していなければ処理を終了する。
[S56]最短時間の経路を探索する。結果として、仮配送経路が作成される。この処理の詳細は、図17において説明する。
[S57]時間制約(配送センタの業務時間制約、配送先の受付時間制約)を満足しているか否かを判断する。(時間制約を満たしているか否かの判断は、ステップS56の過程で行っているが、結果として、仮配送経路として時間制約を満足しているものが得られたか否かの判断(確認)を、このステップで行う。)時間制約を満足していればステップS57に進み、満足していなければ処理を終了する。
[S58]走行距離制約(配送車の走行距離制約)を満足しているか否かを判断する。(走行距離制約を満たしているか否かの判断は、ステップS56の過程で行っているが、結果として仮配送経路として走行距離制約を満足しているものが得られたか否かの判断(確認)を、このステップで行う。)走行距離制約を満足していればステップS59に進み、満足していなければ処理を終了する。
[S59]ステップS56で作成された仮配送経路を、正式な配送経路として、処理を終了する。
図17は最短経路探索の処理(図16のステップS56)の詳細を示すフローチャートである。以下のフローチャートの各ステップは、全て配送経路立案手段121によって処理される。
[S61]このフローチャートの処理が開始された時点で確定している配送経路上に検討対象配送先を挿入し、挿入箇所の異なる配送経路の各々を配送経路候補として、配送経路候補毎の配送コストを計算する。ここで配送コストとは、配送時間や走行距離を考慮に入れた関数値である。
[S62]新たに割当てられる検討対象配送先を、ステップS61で計算した配送コストが最小になる位置に挿入し、最善の仮配送経路を生成する。
図18は、最短経路探索の処理内容を説明する図である。例として、図15の(C)に示すような配送経路「配送センタ31→配送先32f→配送先32j→配送センタ31」が確定している状態で、さらに配送先32aを追加する場合を考える。
この場合、配送先32aを、どこに挿入すれば配送コストが安くなるかを計算する。この例では、3通りの計算が必要である。そして、配送コストが最も安い位置に配送先32aを挿入し、配送先32aを加えた仮配送経路を生成する。
ここで、図14のステップS47における処理(正式配送経路の改善)について説明する。そもそも、仮配送経路作成においては、例えば最初の段階と最後の段階で比較すると、検討対象配送先を挿入する位置の選択肢の多さに不平等が生じているため、結果として得られる正式配送経路よりも、さらに配送コストの安い配送経路が存在する可能性がある。しかし、上記の不平等を解消すべく予め配送先の順番を決めておくような処理を行うと、様々な制約条件(特に時間的な制約)を満たす配送経路を得ることが困難になるため、図16に示されるフローチャートの処理のように、一つ一つの配送先を逐次的に決定していくことが要求される。
そこで、正式配送経路を逐次添加的な処理で決定した上で、更に一つ一つの配送先の位置を変えて配送コストを検討する処理を行う。これにより、正式配送経路の解が少なくとも一つあることは保障される、しかも、配送先が全て確定しているので、どの配送先についても配送順(挿入位置)の選択肢を平等として検討することができる。
図19は、図14のステップS47における処理内容を説明する図である。ここでは、例として図15の(D)に示すような配送経路「配送センタ31→配送先32f→配送先32a→配送先32j→配送センタ31」が正式配送経路として得られているものとして、この正式配送経路に対して正式配送経路の改善の処理を施すこととする。
図において、各配送先の上の数字は、配送順を示している。この状態から、まず、配送先32fを他の位置に移動した場合に、制約条件を守る範囲で、配送コストが向上するか否かを判断する。そして、配送コストが最も向上する位置に、配送先32fを移動する。
もし、配送先32fが他の場所、例えば、配送先32aと配送先32jとの間に移動すると、配送先32aが前(図中、左側)にずれる。このように、検討した配送先32fが移動した場合には、もう一度、配送順が「1」である配送先(配送先32aが該当する)を他の場所に移動して、配送コストの向上が図れるか否かを判断する。
検討した配送先32fが移動しなかった場合には、次の配送順の配送先32aについて検討する。このようにして、3番目の配送先まで検討する。これにより、最善の正式配送経路を選択することかできる。以上のような移動による改善を更に何回か行う。(予め与えられた回数に到達した時点、または全く改善がなされなかった時点で終了する。)
この段階で、上記の移動によって配送時間にゆとりが生じ、しかも元々積載容量にゆとりがある場合は、更に配送先を追加するという考え方を導入することも可能である。
図20は、配送計画案の一例を示す図である。この例では、図6に示すような配送先検討順序15が決定されているものとする。また、これは染色体50−1(図12参照)の示す探索条件に従って作成された配送計画案である。このように、各配送車61,・・・,64がどの配送先をどのような順番で巡回するのかを示す情報が含まれている。
具体的には、配送車61は「配送センタ31→配送先32h→配送先32c→配送先32g→配送センタ31」のように巡回し、配送車62は「配送センタ31→配送先32f→配送先32a→配送先32j→配送センタ31」のように巡回し、配送車63は「配送センタ31→配送先32b→配送先32d→配送センタ31」のように巡回し、配送車64は「配送センタ31→配送先32i→配送先32e→配送センタ31」のように巡回する。
上記のような配送計画案において、例えば、配送車63の巡回ルートを見ると、配送先32bの次は配送先32dに向かうルートになっていて、配送先32bから山33の反対側に位置する配送先32iに向かうようなルートは作成されていない。これは、配送先32bの次の検討対象配送先が、配送センタ31を原点とした極座標上で近接する配送先32iではなく、配送先検討順序15で示される経路上の配送先32dであることから得られた結果である。
また、配送車61の巡回ルートでは、配送先32cの次に配送先32gに向かうルートになっていて、配送先32cから道34に沿って迂回した場所に位置する配送先32jに向かうようなルートは作成されていない。これも上記と同様に、配送先32cの次の検討対象配送先が、極座標上で近接する配送先32jではなく、配送先検討順序15で示される経路上の配送先32gであることから得られた結果である。
このように、予め配送先検討順序15によって全配送先を結ぶ経路のうち距離が最も短くなる経路を所定のアルゴリズムで求め、その経路に沿って配送先への荷物を検討対象配送車に積むべきか否かの検討を行っていくことで、現実的な近接性を考慮した配送計画を導出することが可能になる。
(第2の実施の形態)
次に、第2の実施の形態について説明する。
図21は、第2の実施の形態の最適化装置の原理構成図である。
この最適化装置に最適化問題が入力されると、解探索方針最適化手段71は、与えられた最適化問題の解を構成する要素を、空間内に固定されていない第1の要素種と、所定の空間内に固定されて存在する第2の要素種とに分け、解探索方針を示す染色体81a,82a,83a,・・・に、上記第1の要素種の要素の検討順序および第2の要素種の要素の検討順序を表す情報81b,82b,83b,・・・を格納して、染色体81a,82a,83a,・・・を有する個体81,82,83,・・・を生成する。そして、これらをまとめた個体群80を、解探索手段72に渡す。染色体81a,82a,83a,・・・が示す解探索方針は、解探索方針最適化手段71において、遺伝的アルゴリズムを通して最適化されていく。
解探索手段72は、個体群80内の各個体81,82,83,・・・の染色体81a,82a,83a,・・・で示された解探索方針に従って最適化問題の解を探索する。このようにして、個体81,82,83,・・・に対する解候補90a,90b,90c,・・・を生成する。このとき、解候補90aは個体81に基づき、解候補90bは個体82に基づき、解候補90cは個体83に基づき、それぞれ独立に生成される。そして、解候補90a,90b,90c,・・・をまとめた解候補群90を解探索方針最適化手段71に渡す。
解探索方針最適化手段71は、解候補群90の各解候補90a,90b,90c,・・・の適応度関数値を求める。そして、さらに次の世代の解候補を探索する必要があれば、適応度関数値を用いて個体81,82,83,・・・から個体対を選択し、個体対のそれぞれが持つ染色体間で交叉を行い、交叉によって生成された個体の染色体に対して突然変異の処理を施す。このように生成された複数の個体を、次の世代の個体群として解探索手段72に渡す。一方、次の世代の解候補を探索する必要がなければ、適応度関数値の最も良い解候補を、この最適化問題の解とする。なお、多くの場合、この解は厳密な意味の最適解ではなく、予め定められた許容範囲内にある許容解(最適解ではないが、採用できる解)である。
このように、解探索方針を示す染色体81a,82a,83a,・・・に、第1の要素種の要素の検討順序および第2の要素種の要素の検討順序を表す情報81b,82b,83b,・・・を格納して、遺伝的アルゴリズムを用いて解探索方針の最適化を行うことで、広範囲の解探索空間から良好な解の探索を行うことができる。
次に、上記の最適化装置を適用した配送計画装置を用いて、配送計画問題の解を求める配送計画システムについて説明する。
図22は、配送計画システム全体の概略構成を示すブロック図である。第1の実施の形態での配送計画システムと同じものには同じ番号を付し、説明を省略する。
この配送計画システムは、配送計画装置200を中心に構成されている。この配送計画装置200は、遺伝的アルゴリズムと逐次添加的および逐次改善的手法とを用いて配送計画の計算を行う。配送計画の計算を行う際には、配送計画装置200に対して、シミュレーション条件91、地図情報92、配送先/配送車情報93、および出荷データ94を入力する。配送計画の計算結果は、ルート表示部95とタイムチャート表示部96に送られる。
第2の実施の形態の最適化装置および配送計画装置200も、第1の実施の形態と同様に、図3に示すようなハードウェア構成で実現することができる。
図23は配送計画装置の内部構成を示すブロック図である。
配送計画装置200内には、遺伝的アルゴリズムにより、配送先へ割当てる検討対象配送車の順序等の解探索方針を最適化する検討要素選択方針決定手段210と、指定された解探索方針に従って逐次添加的および逐次改善的手法により配送計画案を作成する配送計画作成手段220とが設けられている。
検討要素選択方針決定手段210は、配送車割当順序および配送先検討順序決定手段211を有している。配送車割当順序および配送先検討順序決定手段211は、遺伝的アルゴリズムによる処理機能を有しており、解探索方針を染色体で示す個体の群に対して、選択、交叉、および突然変異の操作を繰り返し行う。これにより、個体群の子孫を順次生成する。解探索方針としては、配送先に割当てる検討対象配送車の順序、最初の配送車の検討を行う際に、初めに検討対象とすべき配送先の指定、配送先の検討を順次行う際の配送先の選択方向指定、および第2の実施の形態で新たに加わる配送先の検討順序列である。
配送車割当順序および配送先検討順序決定手段211が選択を行う際には、その世代の個体群を配送計画作成手段220に渡し、各個体に対応して作成された配送計画案を配送計画作成手段220から受け取る。この配送計画案の各々から適応度関数値を計算し、適応度関数値に基づいて選択を行い、次世代を生成するための(次世代を生成するために本世代で交叉を行う対象である)個体対を作る。また、処理の終了条件を満たした場合には、その世代の中で適応度関数値の大きい配送計画案を解とする。
配送計画作成手段220は、各個体に対応した仮配送経路を作成する配送経路立案手段221と、上記仮配送経路を受け取って時間が最短となるような改善を加える配送経路改善手段222とを有している。
配送経路立案手段221は、配送車割当順序および配送先検討順序決定手段211から送られたある世代の個体群を受け取ると、個体の部分染色体に示されている順番で検討対象の配送車を選択する。続いて、検討対象の配送車について、個体の部分染色体に示された配送先の順番に従って荷物を載せるかどうか検討を行い、検討対象配送車を配送先に割当てた正式配送経路を作成する。
配送経路改善手段222は、正式配送経路を受け取り、各配送車が配送すべき配送先の配送順の入替えを行い、時間が最短になるような配送順の発見を図る。改善が加えられた配送経路が、最終的に求める配送経路となる。同様にして、全ての配送車に対する最終的に求める配送経路を確定し、配送計画案が作成される。そして、各個体に対応して作成した配送計画案を検討要素選択方針決定手段210に送る。
以上のような配送計画システムにより、遺伝的アルゴリズムと逐次添加的および逐次改善的手法とを組み合わせて、最適解を探索する。以下に配送計画問題の具体例を用いて、上記の配送計画システムの処理手順を説明する。
説明に用いる配送計画問題の例は、第1の実施の形態で説明した図5と同様にし、このような配送計画問題の例に対する制約条件、適応度関数fおよび選択確率も第1の実施の形態と同様とする。また、遺伝子の操作についても、第1の実施の形態と同様に、交叉には2点交叉を用い、突然変異は2遺伝子の交換とする。
以上のような情報が配送計画装置200に入力された後、配送計画の最適解の探索が開始される。最適解の探索に先立ち、配送車割当順序および配送先検討順序決定手段211の遺伝的アルゴリズム処理機能は、与えられた配送計画問題に対応した個体群を生成する。
ここで、上記の個体群を構成する個体が有する染色体について説明する。
図24は、染色体の構成を示す図である。この染色体150は、16個の遺伝子を有している。染色体150は4つの部分染色体から構成されており、遺伝子151、遺伝子152、遺伝子153,・・・,156、および遺伝子157,・・・,166がそれぞれ一つの部分染色体を形成している。なお、図中では染色体150を構成する各遺伝子151,・・・,166の具体的な値を記しているが、実際には染色体150は、このような値を持つ特定の染色体ではなく、この配送計画問題で生成される一般的な染色体を示すものとする。
配送先検討方向150aは、遺伝子151からなる部分染色体であり、「+」あるいは「−」のいずれかの値が設定される。第1の実施の形態の配送先検討方向50aでは、遺伝的アルゴリズムとは別個に算出した配送先検討順序15に対する操作を意味したが、第2の実施の形態の配送先検討方向150aでは、染色体150の部分染色体である配送先検討順序150dに対する操作を意味する。即ち、遺伝子151が「+」のときは、配送先検討順序150dの左から右に向かって配送先の検討を行い(右端に到達したら、右端が左端につながっていると考え、左端より右に向かって引き続き配送先の検討を行う)、遺伝子151が「−」のときは、配送先検討順序150dの右から左に向かって配送先の検討を行う(左端に到達したら、左端が右端に繋がっていると考え、右端より左に向かって引き続き配送先の検討を行う)。
検討開始配送先150bは、遺伝子152からなる部分染色体であり、配送先番号(1,・・・,10のいずれか)が設定される。1番目に検討を行う配送車に乗せる荷物の検討は、配送先検討順序150dにおいて、この遺伝子152に設定された配送先番号の配送先に対して配送する荷物から開始する。
配送車割当順序150cは、遺伝子153,・・・,156からなる部分染色体であり、内容は第1の実施の形態の配送車割当順序50cと同様のため、説明を省略する。
配送先検討順序150dは、遺伝子157,・・・,166からなる部分染色体であり、それぞれの遺伝子には配送先番号が設定され、与えられた配送先の順序列を示す。第1の実施の形態の配送先検討順序15は、染色体50とは別個に存在し、一度算出された後は変わることがなかったが、第2の実施の形態の配送先検討順序150dは、染色体150の部分染色体であり、遺伝的アルゴリズムの過程で最適化されていく。
次に、配送計画装置200が最適解を探索する処理手順について、フローチャートを用いて説明する。
図25は、配送車割当順序および配送先検討順序決定手段の処理手順を示すフローチャートである。
ここでは、第1の実施の形態における配送先検討順序15を決定する処理(図9のフローチャートのステップS1)が不要になる。ステップS101,・・・,S105の各処理は、それぞれ図9のフローチャートに示したステップS2,・・・,S6の処理と同様であるため、説明を省略する。
図26は、集団の初期化の処理手順(図25のステップS101)を示すフローチャートである。このフローチャートは、第1の実施の形態の図10のフローチャートに対応する。両フローチャートを比較すると、以下のような相違点がある。
第1に、初期化の対象が、配送車割当順序50cから配送車割当順序150cに、検討開始配送先50bが検討開始配送先150bに、また配送先検討方向50aが配送先検討方向150aにそれぞれ変更されることである。
第2に、図26のフローチャートでは、ステップS115が追加されることである。ステップS115では、配送先検討順序150dの初期化が行われる。ここでは、第1の実施の形態と同様に、例えばLin−Kernighanの方法によって求められた全配送先を結ぶ最短経路(所定のアルゴリズムで検討した経路のなかで最も距離の短い経路)を初期値とする。
他の処理は、図10のフローチャートに示した処理と同様である。具体的には、ステップS111,・・・,S114の各処理は、それぞれ図10のステップS11,・・・,S14の処理と同じであり、ステップS116,S117の各処理は、それぞれ図10のステップS15,S16の処理と同じである。これらの図10のフローチャートに示した処理と同様の処理については説明を省略する。
なお、配送先検討順序150dの初期値は、上記のような最短経路をある程度変更(例えばランダムに変更)したものに設定することもできる。また、完全にランダムな値とすることもできる。さらに、染色体150毎に、これらの初期値のいずれかを用いることにより、複数タイプの初期値で染色体集団を構成することもできる。
選択処理(図25のステップS102)の詳細は、配送車割当順序および配送先検討順序決定手段211によって行われることと、配送計画作成手段120が配送計画作成手段220に変更になること以外は、第1の実施の形態における図11のフローチャートに示した処理と同様のため、図25のステップS102の説明およびフローチャートの図示は省略する。
図27は、配送車割当て順序および配送車検討順序決定手段が配送計画作成手段に与える個体およびその染色体と、配送計画作成手段から受け取る配送計画案の組の例を示す図である。配送計画案141,142,143は、配送計画作成手段220から送られてくる。配送計画案141,142,143から適応度関数値を求めることにより、染色体150−1,150−2,150−3を評価することができる。
以上が、検討要素選択方針決定手段210の処理手順である。次に、配送計画作成手段220の処理手順を説明する。
図28は、配送計画作成手段の処理手順を示すフローチャートである。このフローチャートは、第1の実施の形態の図13のフローチャートに対応する。また、このフローチャートの各ステップは、特に断らない限り、配送経路立案手段221によって処理される。
[S131]iの初期値として、「1」を設定する。iは、検討対象配送車を指定するための数値である。配送車割当順序150cにおいて、図24中の左からi番目の遺伝子で示された番号の配送車が、検討対象配送車となる。
[S132]配送車割当順序150cにおいて、配送車割当順序150c内のi番目の遺伝子を選択する。この場合iは、染色体150の配送車割当順序150cに内包される遺伝子を左側から数えた場合の順序に対応しており、遺伝子153が1番目、以下、遺伝子154、遺伝子155、遺伝子156が、それぞれ2番目、3番目、4番目に対応する。
他のステップS133,・・・,S136の処理については、それぞれ図13のフローチャートに示したステップS33,・・・,S36の処理と同様であるため、説明を省略する。
図29は、検討対象の配送車の積荷の検討処理(図28のステップS133)の詳細を示すフローチャートである。このフローチャートは、第1の実施の形態の図14のフローチャートに対応する。
[S141]初期化処理を行う。初期化処理では、まだいずれの配送車も割当てられていない配送先に対する未割当配送先検討順序を示す番号の設定、jの初期値設定、およびjmaxの設定が行われる。未割当配送先検討順序、j、およびjmaxの意味については、第1の実施の形態と同様である。
未割当配送先検討順序を示す番号の設定処理については、第2の実施の形態では、部分染色体である配送先検討順序150dを対象として処理が行われる。さらに、いずれの配送車も割当てられていない配送先の検索の際、検索方向は配送先検討方向150aに従い、検索のスタート位置(iが1のときは、未割当配送先検討順序を示す番号として1を設定される配送先)は検討開始配送先150bに従う。
他の処理(jの初期値設定およびjmaxの設定)については、第1の実施の形態の図14に示したフローチャートのステップS41の内容と同様のため、説明を省略する。また、このフローチャートのステップS142,・・・,S147の処理については、第1の実施の形態の図14に示したフローチャートに示したステップS42,・・・,S47の処理と同様であるため、説明を省略する。
検討対象配送先への配送に関する検討の処理(図29のステップS143)の詳細は、第1の実施の形態の図16のフローチャートに示した処理と同様であるため、説明を省略する。
最短経路探索の処理の詳細については、第1の実施の形態の図17のフローチャートに示した処理と同様であるため、説明を省略する(第1の実施の形態では、具体的な例を挙げて説明しているが、処理の内容自体は第2の実施の形態でも同様である)。
正式配送経路の改善(図29のステップS147)の詳細については、第1の実施の形態と同様であるため、説明を省略する(第1の実施の形態では、具体的な例を挙げて説明しているが、処理の内容自体は第2の実施の形態でも同様である)。
このように、配送先の順序列である配送先検討順序を染色体に格納して、遺伝的アルゴリズムを通して最適化していくことで、現実的な近接性を考慮した配送計画を導出することが可能になり、しかも、第1の実施の形態と比較して、より多様な解探索を行うことが可能となる。
なお、上記の説明では、染色体150の部分染色体である検討開始配送先150bには配送先番号が設定されるとして説明したが、次のように設定することもできる。即ち、配送先検討順序150dの左端または右端に位置する遺伝子を先頭として位置番号「1」とし、その隣の遺伝子が「2」、次の遺伝子が「3」というように、それぞれの遺伝子に対して先頭から順に数えた位置番号を振っていくことで、検討開始配送先150bの設定値を、所望の配送先番号が設定された遺伝子の位置番号で表すこともできる(例えば図24において、配送先検討順序150dの左端を先頭とすると、遺伝子158を示す検討開始配送先150bには、配送先番号「7」の代わりに遺伝子158の位置番号「2」が設定される)。また、他の方法として、最初の検討対象配送車での検討を配送先検討順序150dの右端か左端のいずれかから検討を開始するとして、検討開始配送先150bを不要とすることもできる。
また、上記の説明では、配送先検討順序150dは、全ての配送先の順序列からなるとして説明したが、明らかに順序を決定できるような部分が存在する場合は、その部分を構成する配送先の順序を固定しておき、残りの配送先について決定した順序列を配送先検討順序150dとしてもよい。また、遺伝的アルゴリズムによる最適化の過程で、配送先検討順序150dを構成する遺伝子に変化のないような箇所が現れた場合は、その箇所を遺伝的アルゴリズムの途中で固定し、残りの部分について最適化を行っていくこともできる。
また、上記の説明では、個体の有する染色体は一つであり、複数の部分染色体から構成されるとして説明したが、部分染色体をそれぞれ独立した染色体として扱うことで、個体が複数の染色体を有するものとして構成することも可能である。
また、上記の説明では、配送コストの低減を目的として適応度関数を定義したが、例えば、配送の負荷バランスの観点から適応度関数を定義することもできる。また、各々の場合に、配送車台数制約以外の制約条件も合わせて考えた制約条件満足度の観点から、適応度関数を定義することもできる。制約条件満足度には、例えば、配送指定時間の遵守がある。なお、配送コストの低減と制約条件満足度とを組み合わせて、双方を適度に満足するような適応度関数を定義してもよい。
また、上記の説明では、まだいずれの配送車も割当てられていない各配送先に対して、配送先検討順序を示す番号を設定する処理(図14のステップS41)において、iがm(mは2以上の自然数)の場合、検討開始配送先50bの示す配送先(単なるスタート位置となる)から開始して配送先検討順序を配送先検討方向50aに示す方向に検索するものとしているが、検索のスタート位置となる配送先を任意に設定することもできる。例えば、直前の検討対象配送車において最後に検討された配送先を検索のスタート位置としてもよい。
また、上記第1の実施の形態の最適化装置と配送計画装置100、および上記第2の実施の形態の最適化装置と配送計画装置200の処理機能は、コンピュータによって実現することができる。その場合、配送計画システムが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
(付記1) 最適化問題の解を求める最適化プログラムにおいて、
コンピュータを、
前記最適化問題の解を構成する要素を、空間内に固定されていない第1の要素種と、所定の空間内に固定されて存在する第2の要素種とに分け、前記最適化問題の解探索方針を示す染色体に、前記第1の要素種の要素の検討順序を表す情報を格納して、前記染色体を有する個体を生成し、前記解探索方針を遺伝的アルゴリズムで最適化する解探索方針最適化手段、
前記第2の要素種の各要素を結ぶ経路のうち距離が最も短くなる経路を所定のアルゴリズムで求め、求めた経路に沿った前記第2の要素種の配列を要素種検討順序として決定する順序検討手段、
個々の前記解探索方針および前記要素種検討順序に従って個々の解探索を行い、解候補を生成する解探索手段、
として機能させることを特徴とする最適化プログラム。
(付記2) 最適化問題の解を求める最適化プログラムにおいて、
コンピュータを、
前記最適化問題の解を構成する要素を、空間内に固定されていない第1の要素種と、所定の空間内に固定されて存在する第2の要素種とに分け、前記最適化問題の解探索方針を示す染色体に、前記第1の要素種の要素の検討順序および前記第2の要素種の要素の検討順序を表す情報を格納して、前記染色体を有する個体を生成し、前記解探索方針を遺伝的アルゴリズムで最適化する解探索方針最適化手段、
個々の前記解探索方針に従って個々の解探索を行い、解候補を生成する解探索手段、
として機能させることを特徴とする最適化プログラム。
(付記3) 最適化問題の解を求める最適化装置において、
前記最適化問題の解を構成する要素を、空間内に固定されていない第1の要素種と、所定の空間内に固定されて存在する第2の要素種とに分け、前記最適化問題の解探索方針を示す染色体に、前記第1の要素種の要素の検討順序を表す情報を格納して、前記染色体を有する個体を生成し、前記解探索方針を遺伝的アルゴリズムで最適化する解探索方針最適化手段と、
前記第2の要素種の各要素を結ぶ経路のうち距離が最も短くなる経路を所定のアルゴリズムで求め、求めた経路に沿った前記第2の要素種の配列を要素種検討順序として決定する順序検討手段、
個々の前記解探索方針および前記要素種検討順序に従って個々の解探索を行い、解候補を生成する解探索手段と、
を有することを特徴とする最適化装置。
(付記4) 最適化問題の解を求める最適化装置において、
前記最適化問題の解を構成する要素を空間内に固定されていない第1の要素種と、所定の空間内に固定されて存在する第2の要素種とに分け、前記最適化問題の解探索方針を示す染色体に、前記第1の要素種の要素の検討順序および前記第2の要素種の要素の検討順序を表す情報を格納して、前記染色体を有する個体を生成し、前記解探索方針を遺伝的アルゴリズムで最適化する解探索方針最適化手段と、
個々の前記解探索方針に従って個々の解探索を行い、解候補を生成する解探索手段と、
を有することを特徴とする最適化装置。
(付記5) 配送計画問題の解を求める配送計画プログラムにおいて、
コンピュータを、
前記配送計画問題の解探索方針を示す染色体に、配送車の順序列である配送車割当順序を格納して、前記染色体を有する個体を生成し、前記解探索方針を遺伝的アルゴリズムで最適化する配送車割当順序決定手段、
配送先を結ぶ経路のうち距離が最も短くなる経路を所定のアルゴリズムで求め、求めた経路に沿った前記配送先の配列を配送先検討順序として決定する配送先検討順序決定手段、
個々の前記解探索方針および前記配送先検討順序に従って個々の解探索を行い、解候補を生成する配送計画作成手段、
として機能させることを特徴とする配送計画プログラム。
(付記6) 前記配送車割当順序決定手段は、前記解探索方針として、配送先検討方向、検討開始配送先、および配送車割当順序を指定することを特徴とする付記5記載の配送計画プログラム。
(付記7) 前記配送計画作成手段は、複数の前記個体および前記配送先検討順序に従って正式配送経路を作成する配送経路立案手段と、前記正式配送経路に改善を加えて配送計画案を作成する配送経路改善手段とからなることを特徴とする付記5記載の配送計画プログラム。
(付記8) 配送計画問題の解を求める配送計画プログラムにおいて、
コンピュータを、
前記配送計画問題の解探索方針を示す染色体に、配送車の順序列である配送車割当順序および配送先の順序列である配送先検討順序を格納して、前記染色体を有する個体を生成し、前記解探索方針を遺伝的アルゴリズムで最適化する配送車割当順序決定手段、
個々の前記解探索方針に従って個々の解探索を行い、解候補を生成する配送計画作成手段、
として機能させることを特徴とする配送計画プログラム。
(付記9) 前記配送車割当順序決定手段は、前記解探索方針として、配送先検討方向、検討開始配送先、配送車割当順序、および前記配送先検討順序を指定することを特徴とする付記8記載の配送計画プログラム。
(付記10) 前記配送先検討順序は、配送先を結ぶ略最短経路、配送先のランダムな順序列、前記略最短経路の一部を変更した順序列のいずれかであることを特徴とする付記8記載の配送計画プログラム。
(付記11) 配送計画問題の解を求める配送計画装置において、
前記配送計画問題の解探索方針を示す染色体に、配送車の順序列である配送車割当順序を格納して、前記染色体を有する個体を生成し、前記解探索方針を遺伝的アルゴリズムで最適化する配送車割当順序決定手段と、
配送先を結ぶ経路のうち距離が最も短くなる経路を所定のアルゴリズムで求め、求めた経路に沿った前記配送先の配列を配送先検討順序として決定する配送先検討順序決定手段と、
個々の前記解探索方針および前記配送先検討順序に従って個々の解探索を行い、解候補を生成する配送計画作成手段と、
を有することを特徴とする配送計画装置。
(付記12) 配送計画問題の解を求める配送計画装置において、
前記配送計画問題の解探索方針を示す染色体に、配送車の順序列である配送車割当順序および配送先の順序列である配送先検討順序を格納して、前記染色体を有する個体を生成し、前記解探索方針を遺伝的アルゴリズムで最適化する配送車割当順序決定手段と、
個々の前記解探索方針に従って個々の解探索を行い、解候補を生成する配送計画作成手段と、
を有することを特徴とする配送計画装置。
(付記13) 最適化問題の解を求める処理をコンピュータに機能させるプログラムを格納したコンピュータ読取り可能な記録媒体において、
コンピュータを、
前記最適化問題の解を構成する要素を空間内に固定されていない第1の要素種と、所定の空間内に固定されて存在する第2の要素種とに分け、前記最適化問題の解探索方針を示す染色体に、前記第1の要素種の要素の検討順序を表す情報を格納して、前記染色体を有する個体を生成し、前記解探索方針を遺伝的アルゴリズムで最適化する解探索方針最適化手段、
前記第2の要素種の各要素を結ぶ経路のうち距離が最も短くなる経路を所定のアルゴリズムで求め、求めた経路に沿った前記第2の要素種の配列を要素種検討順序として決定する順序検討手段、
個々の前記解探索方針および前記要素種検討順序に従って個々の解探索を行い、解候補を生成する解探索手段、
として機能させるプログラムを記録したコンピュータ読取り可能な記録媒体。
(付記14) 最適化問題の解を求める処理をコンピュータに機能させるプログラムを格納したコンピュータ読取り可能な記録媒体において、
コンピュータを、
前記最適化問題の解を構成する要素を空間内に固定されていない第1の要素種と、所定の空間内に固定されて存在する第2の要素種とに分け、前記最適化問題の解探索方針を示す染色体に、前記第1の要素種の要素の検討順序および前記第2の要素種の要素の検討順序を表す情報を格納して、前記染色体を有する個体を生成し、前記解探索方針を遺伝的アルゴリズムで最適化する解探索方針最適化手段、
個々の前記解探索方針に従って個々の解探索を行い、解候補を生成する解探索手段、
として機能させるプログラムを記録したコンピュータ読取り可能な記録媒体。
(付記15) 配送計画問題の解を求める処理をコンピュータに記録させるプログラムを格納したコンピュータ読取り可能な記録媒体において、
コンピュータを、
前記配送計画問題の解探索方針を示す染色体に、配送車の順序列である配送車割当順序を格納して、前記染色体を有する個体を生成し、前記解探索方針を遺伝的アルゴリズムで最適化する配送車割当順序決定手段、
配送先を結ぶ経路のうち距離が最も短くなる経路を所定のアルゴリズムで求め、求めた経路に沿った前記配送先の配列を配送先検討順序として決定する配送先検討順序決定手段、
個々の前記解探索方針および前記配送先検討順序に従って個々の解探索を行い、解候補を生成する配送計画作成手段、
として機能させるプログラムを記録したコンピュータ読取り可能な記録媒体。
(付記16) 配送計画問題の解を求める処理をコンピュータに記録させるプログラムを格納したコンピュータ読取り可能な記録媒体において、
コンピュータを、
前記配送計画問題の解探索方針を示す染色体に、配送車の順序列である配送車割当順序および配送先の順序列である配送先検討順序を格納して、前記染色体を有する個体を生成し、前記解探索方針を遺伝的アルゴリズムで最適化する配送車割当順序決定手段、
個々の前記解探索方針に従って個々の解探索を行い、解候補を生成する配送計画作成手段、
として機能させるプログラムを記録したコンピュータ読取り可能な記録媒体。
(付記17) 最適化問題の解を求める最適化方法において、
前記最適化問題の解を構成する要素を空間内に固定されていない第1の要素種と、所定の空間内に固定されて存在する第2の要素種とに分け、
前記最適化問題の解探索方針を示す染色体に、前記第1の要素種の要素の検討順序を表す情報を格納して、前記染色体を有する個体を生成し、
配送先を結ぶ経路のうち距離が最も短くなる経路を所定のアルゴリズムで求め、求めた経路に沿った前記配送先の配列を、配送先検討順序として決定し、
個々の前記解探索方針および前記要素種検討順序に従って個々の解探索を行い、前記個体に対応した解候補を生成し、
予め定義された適応度関数で前記解候補の適応度を判断し、前記解探索方針を遺伝的アルゴリズムで最適化する
ことを特徴とする最適化方法。
(付記18) 最適化問題の解を求める最適化方法において、
前記最適化問題の解を構成する要素を空間内に固定されていない第1の要素種と、所定の空間内に固定されて存在する第2の要素種とに分け、
前記最適化問題の解探索方針を示す染色体に、前記第1の要素種の要素の検討順序および前記第2の要素種の要素の検討順序を表す情報を格納して、
前記染色体を有する個体を生成し、
個々の前記解探索方針に従って個々の解探索を行い、前記個体に対応した解候補を生成し、
予め定義された適応度関数で前記解候補の適応度を判断し、前記解探索方針を遺伝的アルゴリズムで最適化する
ことを特徴とする最適化方法。
(付記19) 配送計画問題の解を求める配送計画方法において、
前記配送計画問題の解探索方針を示す染色体に、配送車の順序列である配送車割当順序を格納して、前記染色体を有する個体を生成し、
配送先を結ぶ経路のうち距離が最も短くなる経路を所定のアルゴリズムで求め、求めた経路に沿った前記配送先の配列を、配送先検討順序として決定し、
個々の前記解探索方針および前記配送先検討順序に従って個々の解探索を行い、前記個体に対応した解候補を生成し、
予め定義された適応度関数で前記解候補の適応度を判断し、前記解探索方針を遺伝的アルゴリズムで最適化する
ことを特徴とする配送計画方法。
(付記20) 配送計画問題の解を求める配送計画方法において、
前記配送計画問題の解探索方針を示す染色体に、配送車の順序列である配送車割当順序および配送先の順序列である配送先検討順序を格納して、
前記染色体を有する個体を生成し、
個々の前記解探索方針に従って個々の解探索を行い、前記個体に対応した解候補を生成し、
予め定義された適応度関数で前記解候補の適応度を判断し、前記解探索方針を遺伝的アルゴリズムで最適化する
ことを特徴とする配送計画方法。
第1の実施の形態の最適化装置の原理構成図である。 配送計画システム全体の概略構成を示すブロック図である。 配送計画装置のハードウェア構成例である。 配送計画装置の内部構成を示すブロック図である。 配送計画問題の配送センタ、配送先、および配送車を示す図である。 配送先検討順序の一例を示す図である。 図6で示した配送先検討順序の内容を示す図である。 染色体の構成を示す図である。 検討要素選択方針決定手段の処理手順を示すフローチャートである。 集団の初期化の処理手順(図9のステップS2)を示すフローチャートである。 選択処理手順(図9のステップS3)を示すフローチャートである。 図11のステップS21において、配送車割当順序決定手段が配送計画作成手段に与える個体およびその染色体と、配送計画作成手段から受け取る配送計画案の組の例を示す図である。 配送計画作成手段の処理手順を示すフローチャートである。 検討対象の配送車の積荷の検討処理(図13のステップS33)の詳細を示すフローチャートである。 検討対象配送車の積荷の検討処理の進行状況を示す図である。 検討対象配送先への配送に関する検討の処理(図14のステップS43)の詳細を示すフローチャートである。 最短経路探索の処理(図16のステップS56)の詳細を示すフローチャートである。 最短経路探索の処理内容を説明する図である。 図14のステップS47における処理内容を説明する図である。 配送計画案の一例を示す図である。 第2の実施の形態の最適化装置の原理構成図である。 配送計画システム全体の概略構成を示すブロック図である。 配送計画装置の内部構成を示すブロック図である。 染色体の構成を示す図である。 配送車割当順序および配送先検討順序決定手段の処理手順を示すフローチャートである。 集団の初期化の処理手順(図25のステップS101)を示すフローチャートである。 配送車割当て順序および配送車検討順序決定手段が配送計画作成手段に与える個体およびその染色体と、配送計画作成手段から受け取る配送計画案の組の例を示す図である。 配送計画作成手段の処理手順を示すフローチャートである。 検討対象の配送車の積荷の検討処理(図28のステップS133)の詳細を示すフローチャートである。 従来の配送計画システムの走査状況を示す図である。
符号の説明
1 解探索方針最適化手段
1a 順序検討手段
2 解探索手段
3 個体群
3a,3b,3c,・・・ 個体
4 解候補群
4a,4b,4c,・・・ 解候補
5 要素種検討順序
15 配送先検討順序
31 配送センタ
32a,・・・,32j 配送先
50 染色体
71 解探索方針最適化手段
72 解探索手段
80 個体群
81,82,83,・・・ 個体
81a,82a,83a,・・・ 染色体
81b,82b,83b,・・・ 第2の要素種の要素の検討順序を表す情報
90 解候補群
90a,90b,90c,・・・ 解候補
100 配送計画装置
110 検討要素選択方針決定手段
111 配送車割当順序決定手段
112 配送先検討順序決定手段
150 染色体
150d 配送先検討順序
200 配送計画装置
210 検討要素選択方針決定手段
211 配送車割当順序および配送先検討順序決定手段
220 配送計画作成手段

Claims (3)

  1. 最適化問題の解を求める最適化プログラムにおいて、
    コンピュータを、
    前記最適化問題の解を構成する要素を、空間内に固定されていない第1の要素種と、所定の空間内に固定されて存在する第2の要素種とに分け、前記最適化問題の解探索方針を示す染色体に、前記第1の要素種の要素の検討順序を表す情報を格納して、前記染色体を有する個体を生成し、前記解探索方針を遺伝的アルゴリズムで最適化する解探索方針最適化手段、
    前記第2の要素種の各要素を結ぶ経路のうち距離が最も短くなる経路を所定のアルゴリズムで求め、求めた経路に沿った前記第2の要素種の配列を要素種検討順序として決定する順序検討手段、
    個々の前記解探索方針および前記要素種検討順序に従って個々の解探索を行い、解候補を生成する解探索手段、
    として機能させることを特徴とする最適化プログラム。
  2. 最適化問題の解を求める最適化プログラムにおいて、
    コンピュータを、
    前記最適化問題の解を構成する要素を、空間内に固定されていない第1の要素種と、所定の空間内に固定されて存在する第2の要素種とに分け、前記最適化問題の解探索方針を示す染色体に、前記第1の要素種の要素の検討順序および前記第2の要素種の要素の検討順序を表す情報を格納し、前記染色体を有する個体を生成し、前記解探索方針を遺伝的アルゴリズムで最適化する解探索方針最適化手段、
    個々の前記解探索方針に従って個々の解探索を行い、解候補を生成する解探索手段、
    として機能させることを特徴とする最適化プログラム。
  3. 配送計画問題の解を求める配送計画プログラムにおいて、
    コンピュータを、
    前記配送計画問題の解探索方針を示す染色体に、配送車の順序列である配送車割当順序および配送先の順序列である配送先検討順序を格納して、前記染色体を有する個体を生成し、前記解探索方針を遺伝的アルゴリズムで最適化する配送車割当順序決定手段、
    個々の前記解探索方針に従って個々の解探索を行い、解候補を生成する配送計画作成手段、
    として機能させることを特徴とする配送計画プログラム。
JP2003314925A 2003-09-08 2003-09-08 最適化プログラムおよび配送計画プログラム Withdrawn JP2005084848A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003314925A JP2005084848A (ja) 2003-09-08 2003-09-08 最適化プログラムおよび配送計画プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003314925A JP2005084848A (ja) 2003-09-08 2003-09-08 最適化プログラムおよび配送計画プログラム

Publications (1)

Publication Number Publication Date
JP2005084848A true JP2005084848A (ja) 2005-03-31

Family

ID=34415337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003314925A Withdrawn JP2005084848A (ja) 2003-09-08 2003-09-08 最適化プログラムおよび配送計画プログラム

Country Status (1)

Country Link
JP (1) JP2005084848A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016052938A (ja) * 2014-09-04 2016-04-14 国立大学法人秋田大学 倉庫作業支援装置及び倉庫作業支援プログラム
CN107490959A (zh) * 2017-08-11 2017-12-19 潘金文 一种有效的机器人路径规划系统
JP2019031352A (ja) * 2017-08-04 2019-02-28 オムロン株式会社 シミュレーション装置、制御装置、及びシミュレーションプログラム
JP2019125040A (ja) * 2018-01-12 2019-07-25 トヨタ自動車株式会社 情報システム、情報処理方法およびプログラム
CN110674968A (zh) * 2019-08-02 2020-01-10 重庆大学 一种快递配送途中客户需求动态变更的车辆路径优化方法
JP7449975B2 (ja) 2022-05-11 2024-03-14 アスクル株式会社 情報処理装置、情報処理方法、プログラム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016052938A (ja) * 2014-09-04 2016-04-14 国立大学法人秋田大学 倉庫作業支援装置及び倉庫作業支援プログラム
JP2019031352A (ja) * 2017-08-04 2019-02-28 オムロン株式会社 シミュレーション装置、制御装置、及びシミュレーションプログラム
JP6992312B2 (ja) 2017-08-04 2022-01-13 オムロン株式会社 シミュレーション装置、制御装置、及びシミュレーションプログラム
US11507088B2 (en) 2017-08-04 2022-11-22 Omron Corporation Simulator, control device, and non-transitory computer-readable recording medium
CN107490959A (zh) * 2017-08-11 2017-12-19 潘金文 一种有效的机器人路径规划系统
JP2019125040A (ja) * 2018-01-12 2019-07-25 トヨタ自動車株式会社 情報システム、情報処理方法およびプログラム
CN110060427A (zh) * 2018-01-12 2019-07-26 丰田自动车株式会社 信息系统、信息处理方法及存储介质
CN114267127A (zh) * 2018-01-12 2022-04-01 丰田自动车株式会社 信息系统、信息处理方法及存储介质
CN114267127B (zh) * 2018-01-12 2022-11-29 丰田自动车株式会社 信息系统、信息处理方法及存储介质
US11715058B2 (en) 2018-01-12 2023-08-01 Toyota Jidosha Kabushiki Kaisha Information system, information processing method, and storage medium
CN110674968A (zh) * 2019-08-02 2020-01-10 重庆大学 一种快递配送途中客户需求动态变更的车辆路径优化方法
JP7449975B2 (ja) 2022-05-11 2024-03-14 アスクル株式会社 情報処理装置、情報処理方法、プログラム

Similar Documents

Publication Publication Date Title
Bräysy et al. Evolutionary algorithms for the vehicle routing problem with time windows
Thangiah A hybrid genetic algorithm, simulated annealing and tabu search heuristic for vehicle routing problems with time windows
US5897629A (en) Apparatus for solving optimization problems and delivery planning system
Francis Gorman An application of genetic and tabu searches to the freight railroad operating plan problem
Kachitvichyanukul et al. Two solution representations for solving multi-depot vehicle routing problem with multiple pickup and delivery requests via PSO
Expósito et al. A fuzzy GRASP for the tourist trip design with clustered POIs
Sze et al. A hybridisation of adaptive variable neighbourhood search and large neighbourhood search: Application to the vehicle routing problem
CN111309837B (zh) 智能仓储地图平台搭建及agv路径优化方法
Park et al. ScheduleNet: Learn to solve multi-agent scheduling problems with reinforcement learning
CN110135644B (zh) 一种用于目标搜索的机器人路径规划方法
Ting et al. Multi-vehicle selective pickup and delivery using metaheuristic algorithms
Lu et al. An effective memetic algorithm for the generalized bike-sharing rebalancing problem
Hildebrandt et al. Supervised learning for arrival time estimations in restaurant meal delivery
Solano-Charris et al. Solving the bi-objective robust vehicle routing problem with uncertain costs and demands
JP2005084848A (ja) 最適化プログラムおよび配送計画プログラム
Kocatürk et al. The multi-depot heterogeneous VRP with backhauls: formulation and a hybrid VNS with GRAMPS meta-heuristic approach
Eydi et al. A bi-objective vehicle routing problem with time windows and multiple demands
Rüther et al. A grouping genetic algorithm for multi depot pickup and delivery problems with time windows and heterogeneous vehicle fleets
Bouanane et al. Multi-depots vehicle routing problem with simultaneous delivery and pickup and inventory restrictions: Formulation and resolution
Blocho et al. LCS-based selective route exchange crossover for the pickup and delivery problem with time windows
Sancaklı et al. Design of a routing algorithm for efficient order picking in a non-traditional rectangular warehouse layout
JP3535342B2 (ja) 配送計画システム、及び配送計画プログラムを記録したコンピュータ読み取り可能な記録媒体
CN115936568A (zh) 动态车辆配送任务的路径规划方法、电子设备和存储介质
CN113741418B (zh) 异构车机编队协同路径的生成方法和装置
CN116151497A (zh) 一种带有取送货的多隔间车辆路径规划方法及系统

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20061205