JPH07230443A - 染色体の割当て方法および装置 - Google Patents
染色体の割当て方法および装置Info
- Publication number
- JPH07230443A JPH07230443A JP2076594A JP2076594A JPH07230443A JP H07230443 A JPH07230443 A JP H07230443A JP 2076594 A JP2076594 A JP 2076594A JP 2076594 A JP2076594 A JP 2076594A JP H07230443 A JPH07230443 A JP H07230443A
- Authority
- JP
- Japan
- Prior art keywords
- chromosome
- amount
- request
- elements
- processing
- 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
Links
- 210000000349 chromosome Anatomy 0.000 title claims abstract description 148
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000002068 genetic effect Effects 0.000 claims abstract description 32
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 30
- 238000012384 transportation and delivery Methods 0.000 claims description 84
- 238000011156 evaluation Methods 0.000 claims description 51
- 238000012545 processing Methods 0.000 claims description 37
- 238000003860 storage Methods 0.000 claims description 33
- 230000008685 targeting Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000035772 mutation Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000013011 mating Effects 0.000 description 3
- 108090000623 proteins and genes Proteins 0.000 description 3
- 238000012896 Statistical algorithm Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002759 chromosomal effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007850 degeneration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Landscapes
- Apparatus Associated With Microorganisms And Enzymes (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
- Feedback Control In General (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
(57)【要約】
【目的】遺伝的アルゴリズムによって組み合わせ問題を
解く場合において、最適解への収束を十分に速くするこ
とのできる染色体の割当て方法および装置を提供する。 【構成】それぞれ要求量を有する要求要素(配送先)と
それぞれ処理可能量(最大積載量)が定義された処理要
素(トラック)との間の対応関係を染色体30に表現す
る場合に、染色体30の各遺伝子座31の値としてそれ
ぞれトラックの運行番号を重複を許さずに割当てる。そ
して、1番目の配送先から、順次、その配送先の要求量
を満足するまでトラックを割当てる。配送先ごとのトラ
ックの割当ては、最大積載量の和がその配送先の要求量
以上となるまで、染色体30の一端側から遺伝子座31
を順に探索し、各遺伝子座31の値に対応するトラック
の最大積載量を最大積載量テーブル11から読み出すこ
とによって行なう。
解く場合において、最適解への収束を十分に速くするこ
とのできる染色体の割当て方法および装置を提供する。 【構成】それぞれ要求量を有する要求要素(配送先)と
それぞれ処理可能量(最大積載量)が定義された処理要
素(トラック)との間の対応関係を染色体30に表現す
る場合に、染色体30の各遺伝子座31の値としてそれ
ぞれトラックの運行番号を重複を許さずに割当てる。そ
して、1番目の配送先から、順次、その配送先の要求量
を満足するまでトラックを割当てる。配送先ごとのトラ
ックの割当ては、最大積載量の和がその配送先の要求量
以上となるまで、染色体30の一端側から遺伝子座31
を順に探索し、各遺伝子座31の値に対応するトラック
の最大積載量を最大積載量テーブル11から読み出すこ
とによって行なう。
Description
【0001】
【産業上の利用分野】本発明は、遺伝的アルゴリズムを
使用して組み合わせ問題を解決する場合における、染色
体の割当て方法および装置に関する。
使用して組み合わせ問題を解決する場合における、染色
体の割当て方法および装置に関する。
【0002】
【従来の技術】組み合わせ問題は最適化問題の1種であ
って、変数や要素の組み合わせによって値が定まる目的
関数(評価関数)が与えられたとき、所定の制約条件の
下でこの目的関数の値を最大あるいは最小とする組み合
わせを見つけ出そうとするものである。代表的な例とし
て、複数の都市を各1回ずつ訪れる場合に最短の移動距
離となるような訪問順を求める巡回セールスマン問題
や、それぞれ重量と価値が定められている複数の品物が
ある場合に所定の総重量の範囲内で価値の和が最大とな
るように品物を選択するナップザック問題などがある。
通信ネットワークの設計、ジョブスケジューリング、図
形の配置などの問題も、この組み合わせ問題を解くこと
に帰着する場合が多い。組み合わせ問題は、多くの場
合、数学的に解こうとすると総当たりで場合を調べる必
要に迫られるなど、必ずしも短時間かつ少ない計算量で
解決できるものではない。
って、変数や要素の組み合わせによって値が定まる目的
関数(評価関数)が与えられたとき、所定の制約条件の
下でこの目的関数の値を最大あるいは最小とする組み合
わせを見つけ出そうとするものである。代表的な例とし
て、複数の都市を各1回ずつ訪れる場合に最短の移動距
離となるような訪問順を求める巡回セールスマン問題
や、それぞれ重量と価値が定められている複数の品物が
ある場合に所定の総重量の範囲内で価値の和が最大とな
るように品物を選択するナップザック問題などがある。
通信ネットワークの設計、ジョブスケジューリング、図
形の配置などの問題も、この組み合わせ問題を解くこと
に帰着する場合が多い。組み合わせ問題は、多くの場
合、数学的に解こうとすると総当たりで場合を調べる必
要に迫られるなど、必ずしも短時間かつ少ない計算量で
解決できるものではない。
【0003】近年、遺伝的アルゴリズムという解探索手
法が開発されている。遺伝的アルゴリズムは、確率的探
索法の一手法であって、生物の進化過程(選択淘汰、突
然変異)をモデルとしたものである。図1(a)は、遺伝
的アルゴリズムの概要を説明する図、(b)は染色体にお
ける配座例を示す図である。以下、遺伝的アルゴリズム
の概要について説明する。
法が開発されている。遺伝的アルゴリズムは、確率的探
索法の一手法であって、生物の進化過程(選択淘汰、突
然変異)をモデルとしたものである。図1(a)は、遺伝
的アルゴリズムの概要を説明する図、(b)は染色体にお
ける配座例を示す図である。以下、遺伝的アルゴリズム
の概要について説明する。
【0004】まず、複数の遺伝子座を有し、各変数ある
いは各要素がそれぞれ遺伝子座に割り付けられた「染色
体(遺伝子)200」を考え、このような染色体を複数
本発生させて(ステップ201)、第1世代の個体群2
02とする。各染色体200は、それぞれ、その含まれ
る変数あるいは要素によって決定される特定の組み合わ
せに対応する。第1世代に属する染色体は、乱数を用い
て生成するのが一般的であるが、予め定めた初期値を用
いるようにしてもよい。
いは各要素がそれぞれ遺伝子座に割り付けられた「染色
体(遺伝子)200」を考え、このような染色体を複数
本発生させて(ステップ201)、第1世代の個体群2
02とする。各染色体200は、それぞれ、その含まれ
る変数あるいは要素によって決定される特定の組み合わ
せに対応する。第1世代に属する染色体は、乱数を用い
て生成するのが一般的であるが、予め定めた初期値を用
いるようにしてもよい。
【0005】次に、第1世代の個体群202について、
目的関数の値に応じた適応度を各染色体200ごとに算
出し、適応度の高い染色体を選択し、さらにこの選択さ
れた染色体に交差(生物相同染色体間の交差に対応す
る)や突然変異(一定の確率でランダムに遺伝子座にマ
ッピングされた変数あるいは要素を変化させる)といっ
た操作を加え(ステップ203)、第2世代の個体群2
04を生成する。この過程で、適応度の小さい染色体
(個体)は淘汰される。なお、交差や突然変異で生成す
る新たな染色体の数は、淘汰された染色体の数と同じに
なるようにし、全体としての個体数が一定に維持される
ようにするのが一般的である。そして第2世代の個体群
204に対しても、選択、交差(交配)、突然変異、淘
汰などからなる同様の進化プロセスを施して第3世代の
個体群を生成し、以下、進化プロセスを繰り返して次世
代の個体群を順次生成することにより、第n世代の個体
群205が生成する。
目的関数の値に応じた適応度を各染色体200ごとに算
出し、適応度の高い染色体を選択し、さらにこの選択さ
れた染色体に交差(生物相同染色体間の交差に対応す
る)や突然変異(一定の確率でランダムに遺伝子座にマ
ッピングされた変数あるいは要素を変化させる)といっ
た操作を加え(ステップ203)、第2世代の個体群2
04を生成する。この過程で、適応度の小さい染色体
(個体)は淘汰される。なお、交差や突然変異で生成す
る新たな染色体の数は、淘汰された染色体の数と同じに
なるようにし、全体としての個体数が一定に維持される
ようにするのが一般的である。そして第2世代の個体群
204に対しても、選択、交差(交配)、突然変異、淘
汰などからなる同様の進化プロセスを施して第3世代の
個体群を生成し、以下、進化プロセスを繰り返して次世
代の個体群を順次生成することにより、第n世代の個体
群205が生成する。
【0006】進化プロセスにおいて適応度の小さい個体
が淘汰されているので、第1世代の個体群202に比
べ、第n世代の個体群205は適応度の高い染色体から
構成されていることになる。このようにして世代を追う
ごとに適応度のより高い染色体が得られることになり、
上述のように各染色体はそれぞれ組み合わせに対応して
いるので、より最適に近い組み合わせが見つけられるこ
とになる。また、この遺伝的アルゴリズムでは、進化の
過程で突然変異が加えられていることにより解空間の中
をくまなく探索することになるので、大域的最適解に的
確に到達することが可能となる。現実の多くの問題で
は、遺伝的アルゴリズムを用いることにより、総当たり
で探索する場合に比べ、はるかに短い時間で最適解に到
達できることが知られている(実例としては、「遺伝的
アルゴリズム」、北野宏明編、産業図書、1993年(I
SBN4-7828-5136-7)を参照)。
が淘汰されているので、第1世代の個体群202に比
べ、第n世代の個体群205は適応度の高い染色体から
構成されていることになる。このようにして世代を追う
ごとに適応度のより高い染色体が得られることになり、
上述のように各染色体はそれぞれ組み合わせに対応して
いるので、より最適に近い組み合わせが見つけられるこ
とになる。また、この遺伝的アルゴリズムでは、進化の
過程で突然変異が加えられていることにより解空間の中
をくまなく探索することになるので、大域的最適解に的
確に到達することが可能となる。現実の多くの問題で
は、遺伝的アルゴリズムを用いることにより、総当たり
で探索する場合に比べ、はるかに短い時間で最適解に到
達できることが知られている(実例としては、「遺伝的
アルゴリズム」、北野宏明編、産業図書、1993年(I
SBN4-7828-5136-7)を参照)。
【0007】ここで、染色体の構成について説明する。
図1(b)は、トラックの配車計画の作成に遺伝的アルゴ
リズムを適用した場合の染色体200の構成例を示すも
のである。ここでは、25台のトラックを使用して22
箇所の配送先(A社〜V社)に荷物を配送する場合を考
える。トラックごとに規定積載量が定められ、配送先ご
とに荷物の量が定められ、各トラックはそれぞれ1日に
3往復できるものとする。なお、ある配送先への荷物の
量はトラック1回で運べる量であるとは限らず、このよ
うな場合には何台ものトラック(同一のトラックが複数
回往復してもよい)を用いて輸送するものとする。ちな
みに、待機することも考慮して組み合わせの数を計算す
ると、全体で75(=25×3)往復であって、各往復
ごとに22箇所の配送先のいずれかあるいは待機の計2
3通りの場合があるから、単純に計算すれば、23
75(≒1.35×10102)通りとなる。
図1(b)は、トラックの配車計画の作成に遺伝的アルゴ
リズムを適用した場合の染色体200の構成例を示すも
のである。ここでは、25台のトラックを使用して22
箇所の配送先(A社〜V社)に荷物を配送する場合を考
える。トラックごとに規定積載量が定められ、配送先ご
とに荷物の量が定められ、各トラックはそれぞれ1日に
3往復できるものとする。なお、ある配送先への荷物の
量はトラック1回で運べる量であるとは限らず、このよ
うな場合には何台ものトラック(同一のトラックが複数
回往復してもよい)を用いて輸送するものとする。ちな
みに、待機することも考慮して組み合わせの数を計算す
ると、全体で75(=25×3)往復であって、各往復
ごとに22箇所の配送先のいずれかあるいは待機の計2
3通りの場合があるから、単純に計算すれば、23
75(≒1.35×10102)通りとなる。
【0008】染色体200は、それぞれのトラックの各
回の往復での行き先を示すものであって、染色体200
上には75個の遺伝子座210が設けられている。ま
た、各遺伝子座210に付与された数字は配送先の番号
を表わし、番号0は待機を表わしている。すなわち、第
m番目(1≦m≦25)のトラックの第n回目(1≦n
≦3)の往復での行き先は、3m+n−3番目の遺伝子
座によって表わされる。図1(b)に例示した染色体20
0では、1番目のトラックは、1回目に8番の配送先
(H社)へ行き、2回目は待機、3回目に22番の配送
先(V社)へ行くこととなり、25番目のトラックは、
1回目、2回目とも10番の配送先(J社)へ行き、3
回目は待機ということになる。
回の往復での行き先を示すものであって、染色体200
上には75個の遺伝子座210が設けられている。ま
た、各遺伝子座210に付与された数字は配送先の番号
を表わし、番号0は待機を表わしている。すなわち、第
m番目(1≦m≦25)のトラックの第n回目(1≦n
≦3)の往復での行き先は、3m+n−3番目の遺伝子
座によって表わされる。図1(b)に例示した染色体20
0では、1番目のトラックは、1回目に8番の配送先
(H社)へ行き、2回目は待機、3回目に22番の配送
先(V社)へ行くこととなり、25番目のトラックは、
1回目、2回目とも10番の配送先(J社)へ行き、3
回目は待機ということになる。
【0009】このように設計された染色体を用い、遺伝
的アルゴリズムにより最適な組み合わせ(=最適な配車
計画)を求めるためには、各遺伝子座210にランダム
に配送先(待機も含む)を設定して第1世代の個体群を
形成し、例えば、下記式で表わされるような評価関数f
を用いて選択を行なうようにすればよい。この評価関数
fでは、値が小さいほど優れているすなわち適応度が高
くなっている。
的アルゴリズムにより最適な組み合わせ(=最適な配車
計画)を求めるためには、各遺伝子座210にランダム
に配送先(待機も含む)を設定して第1世代の個体群を
形成し、例えば、下記式で表わされるような評価関数f
を用いて選択を行なうようにすればよい。この評価関数
fでは、値が小さいほど優れているすなわち適応度が高
くなっている。
【0010】
【数1】 もちろん、各配送先への荷物が全て配送されることが前
提(制約条件)なので、各トラックの規定積載量を考慮
して配送先ごとに実際に配送され得る荷物の量を計算
し、計算された荷物の量が配送先ごとに設定された荷物
の量より多いかどうかをチェックし、この条件を満たさ
ない染色体については、淘汰されるべきものとして、極
端に大きな値を評価関数fに与えるすなわち極端に悪い
適応度を与えるようにすればよい。
提(制約条件)なので、各トラックの規定積載量を考慮
して配送先ごとに実際に配送され得る荷物の量を計算
し、計算された荷物の量が配送先ごとに設定された荷物
の量より多いかどうかをチェックし、この条件を満たさ
ない染色体については、淘汰されるべきものとして、極
端に大きな値を評価関数fに与えるすなわち極端に悪い
適応度を与えるようにすればよい。
【0011】
【発明が解決しようとする課題】遺伝的アルゴリズムを
用いて組み合わせ問題を解決しようとする場合、染色体
の設計の良否が、最適解への収束の速さや計算量を規定
する重要な要素となっている。同一の問題を解く場合で
あっても、染色体の設計次第で最適解への収束速度が何
桁も異なる場合もある。極端な場合、染色体の設計が悪
ければ、ランダムサーチと同程度の収束速度しかみせな
いこともある。
用いて組み合わせ問題を解決しようとする場合、染色体
の設計の良否が、最適解への収束の速さや計算量を規定
する重要な要素となっている。同一の問題を解く場合で
あっても、染色体の設計次第で最適解への収束速度が何
桁も異なる場合もある。極端な場合、染色体の設計が悪
ければ、ランダムサーチと同程度の収束速度しかみせな
いこともある。
【0012】上述したようなトラックの配車問題を解決
する場合、複数のトラックの中には同一種類のトラック
(車種や最大積載量、運送コストなどがすべて同じトラ
ックのこと)が2台以上含まれる場合がある。同一種類
のトラックが複数含まれると、図1(b)に示した染色体
の設計方法では、同一車種のトラックに対応する遺伝子
座の間で変数を相互に入れ替えても評価関数の値は全く
同じであり、このことによって最適解への収束が遅くな
るという問題点がある。同様に、午前中なのか午後なの
かといった配送時間帯によっては評価関数の値が影響さ
れないとすると、各トラックについて1回目の行き先と
2回目の行き先とを交換しても評価関数の値は同一であ
り、最適解への収束が遅くなることになる。配送時間帯
による評価関数への影響が認められる場合であってもそ
の影響は軽微であると考えられるから、1回目と2回目
の行き先を交換したとしても、評価関数の値の差はわず
かであり、評価関数の値がばらつかないこととなって、
収束が遅くなる。収束が遅くなるのは、個体群中の染色
体が相互に似ているような場合には、局所最適解に陥り
易く、突然変異によってのみ大域的最適解に到達できる
ようになるからである。
する場合、複数のトラックの中には同一種類のトラック
(車種や最大積載量、運送コストなどがすべて同じトラ
ックのこと)が2台以上含まれる場合がある。同一種類
のトラックが複数含まれると、図1(b)に示した染色体
の設計方法では、同一車種のトラックに対応する遺伝子
座の間で変数を相互に入れ替えても評価関数の値は全く
同じであり、このことによって最適解への収束が遅くな
るという問題点がある。同様に、午前中なのか午後なの
かといった配送時間帯によっては評価関数の値が影響さ
れないとすると、各トラックについて1回目の行き先と
2回目の行き先とを交換しても評価関数の値は同一であ
り、最適解への収束が遅くなることになる。配送時間帯
による評価関数への影響が認められる場合であってもそ
の影響は軽微であると考えられるから、1回目と2回目
の行き先を交換したとしても、評価関数の値の差はわず
かであり、評価関数の値がばらつかないこととなって、
収束が遅くなる。収束が遅くなるのは、個体群中の染色
体が相互に似ているような場合には、局所最適解に陥り
易く、突然変異によってのみ大域的最適解に到達できる
ようになるからである。
【0013】本発明の目的は、遺伝的アルゴリズムによ
って組み合わせ問題を解く場合において、最適解への収
束が十分に速くなる染色体の割当て方法および装置を提
供することにある。
って組み合わせ問題を解く場合において、最適解への収
束が十分に速くなる染色体の割当て方法および装置を提
供することにある。
【0014】
【課題を解決するための手段】本発明の染色体の割当て
方法は、それぞれ要求量が定義され順序が設定され複数
個設けられた要求要素とそれぞれ処理可能量が定義され
複数個用意された処理要素との間の対応関係を定める組
み合わせ問題を遺伝的アルゴリズムによって解決するた
めに使用される染色体の割当て方法であって、前記染色
体の各遺伝子座の値としてそれぞれ前記処理要素を重複
を許さずに割当て、前記処理可能量もしくは前記処理可
能量の和が前記順序の先頭順位の前記要求要素の要求量
以上となるまで、前記染色体の一端側の前記遺伝子座か
ら順に前記処理要素を読み出して当該要求要素と前記取
り出された処理要素との間に対応関係を設定し、順次、
次順位の前記要求要素について、前記処理要素が読み出
されていない遺伝子座を対象として、前記対応関係を設
定する処理を繰り返す。
方法は、それぞれ要求量が定義され順序が設定され複数
個設けられた要求要素とそれぞれ処理可能量が定義され
複数個用意された処理要素との間の対応関係を定める組
み合わせ問題を遺伝的アルゴリズムによって解決するた
めに使用される染色体の割当て方法であって、前記染色
体の各遺伝子座の値としてそれぞれ前記処理要素を重複
を許さずに割当て、前記処理可能量もしくは前記処理可
能量の和が前記順序の先頭順位の前記要求要素の要求量
以上となるまで、前記染色体の一端側の前記遺伝子座か
ら順に前記処理要素を読み出して当該要求要素と前記取
り出された処理要素との間に対応関係を設定し、順次、
次順位の前記要求要素について、前記処理要素が読み出
されていない遺伝子座を対象として、前記対応関係を設
定する処理を繰り返す。
【0015】本発明の染色体の割当て装置は、それぞれ
要求量が定義され複数個設けられた要求要素とそれぞれ
処理可能量が定義され複数個用意された処理要素との間
の対応関係を定める組み合わせ問題を遺伝的アルゴリズ
ムによって解決するために使用される染色体の割当て装
置であって、前記組み合わせ問題が、前記要求要素ごと
に、当該要求要素の要求量を下回らない処理可能量が割
り当てられるように1ないし複数の前記処理要素を当該
要求要素に対応させ、かつ所定の評価関数を最小もしく
は最大にする組み合わせを探索するものであり、前記要
求要素ごとに当該要求要素の要求量を記憶する第1の記
憶手段と、前記処理要素ごとに当該処理要素の処理可能
量を記憶する第2の記憶手段と、前記処理要素の個数に
対応する個数の記憶要素からなり、前記各記憶要素が前
記染色体の各遺伝子座に対応するものである染色体記憶
手段と、前記記憶要素ごとに当該記憶要素の値として前
記処理要素を重複を許さずに割当てて格納し、前記処理
可能量もしくは前記処理可能量の和が前記第1の記憶手
段における先頭順位の前記要求要素の要求量以上となる
まで、前記第2の記憶手段を参照しながら、前記染色体
記憶手段の一端側から前記記憶要素を順に探索して前記
処理要素を読み出して当該要求要素と前記取り出された
処理要素との間に対応関係を設定し、順次、次順位の前
記要求要素について、前記処理要素が読み出されていな
い記憶要素を対象として、前記対応関係を設定する処理
を繰り返す割当て手段、とを有する。
要求量が定義され複数個設けられた要求要素とそれぞれ
処理可能量が定義され複数個用意された処理要素との間
の対応関係を定める組み合わせ問題を遺伝的アルゴリズ
ムによって解決するために使用される染色体の割当て装
置であって、前記組み合わせ問題が、前記要求要素ごと
に、当該要求要素の要求量を下回らない処理可能量が割
り当てられるように1ないし複数の前記処理要素を当該
要求要素に対応させ、かつ所定の評価関数を最小もしく
は最大にする組み合わせを探索するものであり、前記要
求要素ごとに当該要求要素の要求量を記憶する第1の記
憶手段と、前記処理要素ごとに当該処理要素の処理可能
量を記憶する第2の記憶手段と、前記処理要素の個数に
対応する個数の記憶要素からなり、前記各記憶要素が前
記染色体の各遺伝子座に対応するものである染色体記憶
手段と、前記記憶要素ごとに当該記憶要素の値として前
記処理要素を重複を許さずに割当てて格納し、前記処理
可能量もしくは前記処理可能量の和が前記第1の記憶手
段における先頭順位の前記要求要素の要求量以上となる
まで、前記第2の記憶手段を参照しながら、前記染色体
記憶手段の一端側から前記記憶要素を順に探索して前記
処理要素を読み出して当該要求要素と前記取り出された
処理要素との間に対応関係を設定し、順次、次順位の前
記要求要素について、前記処理要素が読み出されていな
い記憶要素を対象として、前記対応関係を設定する処理
を繰り返す割当て手段、とを有する。
【0016】
【作用】遺伝的アルゴリズムにおける染色体の設計の指
針として、完備性(解空間上の解候補は全て染色体に
表現できること)、健全性(染色体表現空間上の染色
体は全て解空間内の解候補に対応付けられること)のほ
かに、非冗長性(染色体と解候補がなるべく1対1に
対応付けられること)などが知られているが、本発明の
染色体の割当て方法および装置は、この非冗長性を高め
ようとするものである。
針として、完備性(解空間上の解候補は全て染色体に
表現できること)、健全性(染色体表現空間上の染色
体は全て解空間内の解候補に対応付けられること)のほ
かに、非冗長性(染色体と解候補がなるべく1対1に
対応付けられること)などが知られているが、本発明の
染色体の割当て方法および装置は、この非冗長性を高め
ようとするものである。
【0017】本発明において、組み合わせ問題の内容と
しては各種のものが考えられるが、典型的な例として、
トラックの配車計画の作成が挙げられる。以下、本発明
の作用をトラックの配車問題を例にして例にして説明す
るが、本発明の応用範囲はこれに限られるものではな
い。
しては各種のものが考えられるが、典型的な例として、
トラックの配車計画の作成が挙げられる。以下、本発明
の作用をトラックの配車問題を例にして例にして説明す
るが、本発明の応用範囲はこれに限られるものではな
い。
【0018】トラックの配車計画を組み合わせ問題とし
てとらえたとき、所定の量の荷物の配送を要求した配送
先が要求要素となり、配送を行なうトラックが供給要素
となる。要求量は、その配送先(あて先)に配送すべき
荷物の量であり、処理可能量は、それぞれのトラックの
最大積載量ということになる。「従来の技術」の欄で図
1(b)を用いて説明した染色体では、各遺伝子座そのも
のがトラックに対応し、遺伝子座の値は配送先を示して
いた。これに対し本発明の染色体の割当て方法および装
置では、各遺伝子座の値がトラックに対応し、染色体と
配送先との関連付けは、要求量(配送すべき荷物の量)
と処理可能量(最大積載量)とを介した間接的なものと
なる。このように染色体の割当てを行なうことにより、
同一種類のトラックが存在するような場合、従来の割当
て方法では染色体の縮退が起こって遺伝的アルゴリズム
による解探索に時間がかかるようになるのに対し、本発
明の基づいて染色体の割当てを行なった場合には、染色
体の縮退が極めて起こりにくいので、最適解を短時間で
見つけられる。簡単に言えば、従来の割当て方法では、
解空間内の要素(組み合わせ)と染色体表現空間内の要
素(染色体)とが1対1では対応しないのに対し、本発
明によれば、1対1に近く対応するようになって、効率
良く探索を行なうことができるようになる。
てとらえたとき、所定の量の荷物の配送を要求した配送
先が要求要素となり、配送を行なうトラックが供給要素
となる。要求量は、その配送先(あて先)に配送すべき
荷物の量であり、処理可能量は、それぞれのトラックの
最大積載量ということになる。「従来の技術」の欄で図
1(b)を用いて説明した染色体では、各遺伝子座そのも
のがトラックに対応し、遺伝子座の値は配送先を示して
いた。これに対し本発明の染色体の割当て方法および装
置では、各遺伝子座の値がトラックに対応し、染色体と
配送先との関連付けは、要求量(配送すべき荷物の量)
と処理可能量(最大積載量)とを介した間接的なものと
なる。このように染色体の割当てを行なうことにより、
同一種類のトラックが存在するような場合、従来の割当
て方法では染色体の縮退が起こって遺伝的アルゴリズム
による解探索に時間がかかるようになるのに対し、本発
明の基づいて染色体の割当てを行なった場合には、染色
体の縮退が極めて起こりにくいので、最適解を短時間で
見つけられる。簡単に言えば、従来の割当て方法では、
解空間内の要素(組み合わせ)と染色体表現空間内の要
素(染色体)とが1対1では対応しないのに対し、本発
明によれば、1対1に近く対応するようになって、効率
良く探索を行なうことができるようになる。
【0019】本発明の染色体の割当て方法および装置が
対象とする組み合わせ問題は、上述のトラックの配車計
画の作成に代表される運送産業でのスケジューリング問
題のほか、各種のスケジューリング、生産工程における
最適条件の算出、実時間制御、ロボットの適応制御など
の分野における組み合わせ問題がが挙げられる。
対象とする組み合わせ問題は、上述のトラックの配車計
画の作成に代表される運送産業でのスケジューリング問
題のほか、各種のスケジューリング、生産工程における
最適条件の算出、実時間制御、ロボットの適応制御など
の分野における組み合わせ問題がが挙げられる。
【0020】
【実施例】次に本発明の実施例について図面を参照して
説明する。図2は本発明の一実施例の染色体の割当て装
置の構成を示すブロック図である。この割当て装置は、
本発明の方法によって染色体の割当てを行なうとともに
各染色体の評価値(目的関数、評価関数の値)を算出
し、この評価値に応じて遺伝的アルゴリズムによる選
択、交配、淘汰を行なうように構成されている。ここで
は、トラックの配車計画を作成する場合を例に挙げて説
明する。
説明する。図2は本発明の一実施例の染色体の割当て装
置の構成を示すブロック図である。この割当て装置は、
本発明の方法によって染色体の割当てを行なうとともに
各染色体の評価値(目的関数、評価関数の値)を算出
し、この評価値に応じて遺伝的アルゴリズムによる選
択、交配、淘汰を行なうように構成されている。ここで
は、トラックの配車計画を作成する場合を例に挙げて説
明する。
【0021】問題設定としては、「従来の技術」で述べ
た場合と同様に、25台のトラックを使用して22箇所
の配送先に荷物を配送する場合の配車計画の作成であ
り、各トラックは同一配送先および異なる配送先に対し
て3往復し、各往復では1箇所の配送先のみに荷物を配
送するか待機しているというものである。本実施例で
は、1〜75までの運行番号によってどのトラックの何
回目の往復かを識別するものとする。第m番目のトラッ
クの第n回目(n=1〜3)の往復は、運行番号X=3
m+n−2で表される。例えば15番目のトラックの2
回目の往復は、運行番号44で表わされる。各トラック
には処理可能量に対応する最大積載量がそれぞれ定めら
れ、各配送先には配送先に送るべき荷物の量すなわち要
求量がそれぞれ定められている。要求量の中には、最大
積載量の最大値を越えるものもあり、このような配送先
には複数回の往復(同一トラックでも異なるトラックで
もよい)で配送する必要がある。また、各トラックに
は、最大積載量の範囲内で最適積載量が定められてお
り、この最適積載量の荷物を運ぶ場合に、遺伝的アルゴ
リズムにおける評価値が最良となるようにされている。
た場合と同様に、25台のトラックを使用して22箇所
の配送先に荷物を配送する場合の配車計画の作成であ
り、各トラックは同一配送先および異なる配送先に対し
て3往復し、各往復では1箇所の配送先のみに荷物を配
送するか待機しているというものである。本実施例で
は、1〜75までの運行番号によってどのトラックの何
回目の往復かを識別するものとする。第m番目のトラッ
クの第n回目(n=1〜3)の往復は、運行番号X=3
m+n−2で表される。例えば15番目のトラックの2
回目の往復は、運行番号44で表わされる。各トラック
には処理可能量に対応する最大積載量がそれぞれ定めら
れ、各配送先には配送先に送るべき荷物の量すなわち要
求量がそれぞれ定められている。要求量の中には、最大
積載量の最大値を越えるものもあり、このような配送先
には複数回の往復(同一トラックでも異なるトラックで
もよい)で配送する必要がある。また、各トラックに
は、最大積載量の範囲内で最適積載量が定められてお
り、この最適積載量の荷物を運ぶ場合に、遺伝的アルゴ
リズムにおける評価値が最良となるようにされている。
【0022】次に、本実施例の割当て装置について説明
する。この割当て装置は、各トラックごとの最大積載量
を記憶する最大積載量テーブル11と、配送先ごとの要
求量を記憶する配送量テーブル12と、染色体を格納す
る染色体格納部13と、最大積載量テーブル11、配送
量テーブル12および染色体格納部13を参照して本発
明の方法に基づき染色体の割当てを行ない各染色体の評
価値を算出する評価値算出部14と、算出された評価値
に基づいて各染色体の適応度を算出し遺伝的アルゴリズ
ムによって染色体の選択、交差、突然変異などの操作を
行ない染色体格納部13内の染色体を次世代の染色体に
置き換えるGA処理部15と、初期値の染色体(第1世
代の個体群の染色体)を乱数によって発生して染色体格
納部13に格納する初期値発生部16とによって構成さ
れている。遺伝的アルゴリズムでは、一般に、100個
とか200個とかの染色体によって各世代の個体群が形
成されるので、それに対応し、染色体格納部13は1世
代の個体群の染色体全体を格納するだけの容量を有して
いる。また、各染色体は複数(この場合は75個)の遺
伝子座によって構成されており、各遺伝子座ごとに染色
体格納部13の記憶要素が割り当てられている。ここで
記憶要素とは、1単位の記憶を行なうものであって、典
型的には染色体格納部13内の各記憶アドレスに対応す
るものである。
する。この割当て装置は、各トラックごとの最大積載量
を記憶する最大積載量テーブル11と、配送先ごとの要
求量を記憶する配送量テーブル12と、染色体を格納す
る染色体格納部13と、最大積載量テーブル11、配送
量テーブル12および染色体格納部13を参照して本発
明の方法に基づき染色体の割当てを行ない各染色体の評
価値を算出する評価値算出部14と、算出された評価値
に基づいて各染色体の適応度を算出し遺伝的アルゴリズ
ムによって染色体の選択、交差、突然変異などの操作を
行ない染色体格納部13内の染色体を次世代の染色体に
置き換えるGA処理部15と、初期値の染色体(第1世
代の個体群の染色体)を乱数によって発生して染色体格
納部13に格納する初期値発生部16とによって構成さ
れている。遺伝的アルゴリズムでは、一般に、100個
とか200個とかの染色体によって各世代の個体群が形
成されるので、それに対応し、染色体格納部13は1世
代の個体群の染色体全体を格納するだけの容量を有して
いる。また、各染色体は複数(この場合は75個)の遺
伝子座によって構成されており、各遺伝子座ごとに染色
体格納部13の記憶要素が割り当てられている。ここで
記憶要素とは、1単位の記憶を行なうものであって、典
型的には染色体格納部13内の各記憶アドレスに対応す
るものである。
【0023】次に、本実施例における染色体の割当てに
ついて、図3を用い、具体例を挙げて説明する。
ついて、図3を用い、具体例を挙げて説明する。
【0024】図3(a)に示されるように,染色体30に
は75個の遺伝子座31が設けられ、各遺伝子座31は
値としてトラックの運行番号を保持している。遺伝子座
31の個数の75個は、運行番号が1〜75までである
ことに対応している。この場合、同一の運行番号が異な
る遺伝子座31には現れないようになっている。すなわ
ち、各遺伝子座は、重複を許さずに運行番号を値として
格納している。図示1番左の遺伝子座(第1番目の遺伝
子座)の値は43であるので、この遺伝子座は15番目
のトラックの1回目の往復を表現しており、左から2番
目の遺伝子座(値59)は20番目のトラックの2回目
の往復を表わしている。以下、第m番目のトラック(ト
ラック番号がmのトラック)のことをトラック#mと記
載し、第n番目の配送先(配送先番号nの配送先)のこ
とを配送先#nと記載することにする。
は75個の遺伝子座31が設けられ、各遺伝子座31は
値としてトラックの運行番号を保持している。遺伝子座
31の個数の75個は、運行番号が1〜75までである
ことに対応している。この場合、同一の運行番号が異な
る遺伝子座31には現れないようになっている。すなわ
ち、各遺伝子座は、重複を許さずに運行番号を値として
格納している。図示1番左の遺伝子座(第1番目の遺伝
子座)の値は43であるので、この遺伝子座は15番目
のトラックの1回目の往復を表現しており、左から2番
目の遺伝子座(値59)は20番目のトラックの2回目
の往復を表わしている。以下、第m番目のトラック(ト
ラック番号がmのトラック)のことをトラック#mと記
載し、第n番目の配送先(配送先番号nの配送先)のこ
とを配送先#nと記載することにする。
【0025】図3(b)は最大積載量テーブル11の具体
的内容の例を示しており、各トラックごとに最大積載量
が示されている。なお、最大積載量テーブル11には、
どのトラックの何回目の往復がどの運行番号に対応する
かを示すために、運行番号欄が設けられている。また、
図3(c)は配送量テーブル12の具体的内容の例を示し
ており、各配送先ごとに、その配送先に配送すべき荷物
の量が要求量として記憶され、さらに、その配送先まで
の往復の所要時間が記憶されている。往復の所要時間
は、染色体の評価値算出の際に使用されるものである。
的内容の例を示しており、各トラックごとに最大積載量
が示されている。なお、最大積載量テーブル11には、
どのトラックの何回目の往復がどの運行番号に対応する
かを示すために、運行番号欄が設けられている。また、
図3(c)は配送量テーブル12の具体的内容の例を示し
ており、各配送先ごとに、その配送先に配送すべき荷物
の量が要求量として記憶され、さらに、その配送先まで
の往復の所要時間が記憶されている。往復の所要時間
は、染色体の評価値算出の際に使用されるものである。
【0026】本実施例において、染色体の割当ては、各
染色体に対する評価値の算出を行なう際に行なわれる。
選択、交配、淘汰、突然変異などの遺伝子操作の過程で
は、既に求められている評価値に応じた適応度に基づい
て各遺伝子座31の値のみを操作すればよいので、遺伝
子座の値すなわちトラックの運行番号と配送先との関係
が対応付けられている必要がないが、評価値の算出を行
なう場合には、この対応付けが確定していることが前提
となる。
染色体に対する評価値の算出を行なう際に行なわれる。
選択、交配、淘汰、突然変異などの遺伝子操作の過程で
は、既に求められている評価値に応じた適応度に基づい
て各遺伝子座31の値のみを操作すればよいので、遺伝
子座の値すなわちトラックの運行番号と配送先との関係
が対応付けられている必要がないが、評価値の算出を行
なう場合には、この対応付けが確定していることが前提
となる。
【0027】図3(a)に示した染色体30において、ト
ラックと配送先との対応付けは、図示左端側の遺伝子座
から開始される。配送量テーブル12を参照するに、配
送先#1の要求量は0であるのでこの配送先#1への配
車は行なわず、続いて、配送先#2の要求量を読み出
す。配送先#2の要求量は3トンであり、最大積載量の
和が3トン以上となるまで、染色体30の遺伝子座31
を図示左端側から探索して、トラックを割り当てる。図
示左端の遺伝子座の値は43であり、これは最大積載量
が3トンであるトラック#15の2回目の往復に対応す
るから、配送先#2へはトラック#15の2回目の往復
で配送するものとする。
ラックと配送先との対応付けは、図示左端側の遺伝子座
から開始される。配送量テーブル12を参照するに、配
送先#1の要求量は0であるのでこの配送先#1への配
車は行なわず、続いて、配送先#2の要求量を読み出
す。配送先#2の要求量は3トンであり、最大積載量の
和が3トン以上となるまで、染色体30の遺伝子座31
を図示左端側から探索して、トラックを割り当てる。図
示左端の遺伝子座の値は43であり、これは最大積載量
が3トンであるトラック#15の2回目の往復に対応す
るから、配送先#2へはトラック#15の2回目の往復
で配送するものとする。
【0028】次に、配送先#3の要求量をみると2.9
トンであるから、最大積載量の和が2.9トン以上とな
るまで、染色体30の左端から2番目以降の遺伝子座3
1を順次探索してトラックを割り当てる。2番目の遺伝
子座(値59)はトラック#20(最大積載量3トン)
の2回目の往復なので、この往復で配送先#3に行くも
のとする。
トンであるから、最大積載量の和が2.9トン以上とな
るまで、染色体30の左端から2番目以降の遺伝子座3
1を順次探索してトラックを割り当てる。2番目の遺伝
子座(値59)はトラック#20(最大積載量3トン)
の2回目の往復なので、この往復で配送先#3に行くも
のとする。
【0029】配送先#4の要求量は1.9トンである
が、3番目の遺伝子座(値73)は最大積載量1トンの
トラック#25の1回目の往復であるから、これだけで
は要求量1.9トンを満足できない。そこで4番目の遺
伝子座(値70)を参照するとこれは最大積載量1トン
のトラック#24の1回目の往復であり、これらトラッ
ク#25の1回目とトラック#24の1回目の往復での
最大積載量の和は2トンとなる。そこで、配送先#4に
は、トラック#25の1回目とトラック#24の1回目
の往復で荷物を配送するものとする。
が、3番目の遺伝子座(値73)は最大積載量1トンの
トラック#25の1回目の往復であるから、これだけで
は要求量1.9トンを満足できない。そこで4番目の遺
伝子座(値70)を参照するとこれは最大積載量1トン
のトラック#24の1回目の往復であり、これらトラッ
ク#25の1回目とトラック#24の1回目の往復での
最大積載量の和は2トンとなる。そこで、配送先#4に
は、トラック#25の1回目とトラック#24の1回目
の往復で荷物を配送するものとする。
【0030】以下、図示されるように配送先#5,#6
へのトラックの割り付けを行ない、さらに順次、次の配
送先に関し、どのトラックの何回目の往復で配送するの
かを決定して、トラックと配送先との対応付けを完成さ
せていく。この操作の一般的手順は、後述する図5でフ
ローチャートとして表わされている。図3(a)に示した
例では、染色体30の右端から5番目(左端から数えれ
ば71番目)の遺伝子座に達したところで、全ての配送
先(配送先#1〜配送先#22)に対するトラックの割
当てが完了している。このため、染色体30の右端から
4個の遺伝子座は使用しないトラック、すなわち待機す
るトラックを表わしている。例えば、右端から4番目の
遺伝子座の値は1となっているので、トラック#1は1
回目の往復を行なわないことになる。
へのトラックの割り付けを行ない、さらに順次、次の配
送先に関し、どのトラックの何回目の往復で配送するの
かを決定して、トラックと配送先との対応付けを完成さ
せていく。この操作の一般的手順は、後述する図5でフ
ローチャートとして表わされている。図3(a)に示した
例では、染色体30の右端から5番目(左端から数えれ
ば71番目)の遺伝子座に達したところで、全ての配送
先(配送先#1〜配送先#22)に対するトラックの割
当てが完了している。このため、染色体30の右端から
4個の遺伝子座は使用しないトラック、すなわち待機す
るトラックを表わしている。例えば、右端から4番目の
遺伝子座の値は1となっているので、トラック#1は1
回目の往復を行なわないことになる。
【0031】評価値計算部14は、このようにして各染
色体について配送先とトラックとの対応付けを行ない、
各染色体について評価値を算出する。
色体について配送先とトラックとの対応付けを行ない、
各染色体について評価値を算出する。
【0032】次に、この染色体の割当て装置を用い遺伝
的アルゴリズムによって組み合わせ問題を解決する場合
の手順、すなわち最適の配車計画を得る手順について、
図4のフローチャートを用いて説明する。
的アルゴリズムによって組み合わせ問題を解決する場合
の手順、すなわち最適の配車計画を得る手順について、
図4のフローチャートを用いて説明する。
【0033】まず、初期値発生部16により乱数によっ
て染色体30をn個発生させ、第1世代の個体群を生成
する(ステップ111)。各染色体30は上述の図3
(a)で示した構造を有している。そして各染色体30の
それぞれについて、評価値算出部14により、評価値を
算出する(ステップ112)。評価値fとしてはさまざ
まなものが考えられるが、例えば、
て染色体30をn個発生させ、第1世代の個体群を生成
する(ステップ111)。各染色体30は上述の図3
(a)で示した構造を有している。そして各染色体30の
それぞれについて、評価値算出部14により、評価値を
算出する(ステップ112)。評価値fとしてはさまざ
まなものが考えられるが、例えば、
【0034】
【数2】 に表わされるものを使用できる。ここでは評価値が小さ
いほどよい染色体、すなわち適応度の大きい染色体であ
る。さらに、燃費や人件費などを考慮して評価値が定め
られるようにしてもよい。なお、低温輸送を必要とする
荷物を通常の(冷蔵でない)トラックで配送するような
ことになっている染色体や、その他、遵守することが強
く求められている制約条件に反するような染色体につい
ては、式(2)による評価値でなく極めて悪い評価値が与
えられたり、乱数によって生成される別の染色体に置き
換えられたりするようにしてもよい。
いほどよい染色体、すなわち適応度の大きい染色体であ
る。さらに、燃費や人件費などを考慮して評価値が定め
られるようにしてもよい。なお、低温輸送を必要とする
荷物を通常の(冷蔵でない)トラックで配送するような
ことになっている染色体や、その他、遵守することが強
く求められている制約条件に反するような染色体につい
ては、式(2)による評価値でなく極めて悪い評価値が与
えられたり、乱数によって生成される別の染色体に置き
換えられたりするようにしてもよい。
【0035】次に、GA処理部15に制御を移し、各染
色体ごとにその評価値から適応度を算出し、選択用ルー
レットを作成する(ステップ113)。選択用ルーレッ
トは、各染色体をその適応度に応じた確率で選択するた
めのものである。そして、選択用ルーレットを用い親と
なる染色体を各1個ずつ選択し全部でn/2組の両親を
選び出し(ステップ114)、両親となる染色体から子
となる染色体を交差により各2個ずつ生成する(ステッ
プ115)。そして、子の染色体に対し適当な確率で突
然変異を施し(ステップ116)、第2世代の個体群を
生成し、染色体格納部15に格納する。このとき、第2
世代の個体群の各染色体において、その染色体内の遺伝
子座の値に重複が生じないように、交差や突然変異を行
なわせるものとする。そしてこの第2世代の各染色体に
ついて上述と同様に評価値を計算する(ステップ11
7)。続いて終了条件を満足しているかどうかの判定、
すなわち配車が終了したかどうかの判定を行なう(ステ
ップ122)。ここでの終了条件としては、例えば、最
良の染色体の評価値が何世代にわたってほとんど変化し
ないとか、評価値が所定の値に達したなどの条件を採用
することができる。終了条件が満足されていれば遺伝的
アルゴリズムによる処理を終了し、満足していなければ
ステップ113に戻って次の世代で同様の処理を繰り返
す。
色体ごとにその評価値から適応度を算出し、選択用ルー
レットを作成する(ステップ113)。選択用ルーレッ
トは、各染色体をその適応度に応じた確率で選択するた
めのものである。そして、選択用ルーレットを用い親と
なる染色体を各1個ずつ選択し全部でn/2組の両親を
選び出し(ステップ114)、両親となる染色体から子
となる染色体を交差により各2個ずつ生成する(ステッ
プ115)。そして、子の染色体に対し適当な確率で突
然変異を施し(ステップ116)、第2世代の個体群を
生成し、染色体格納部15に格納する。このとき、第2
世代の個体群の各染色体において、その染色体内の遺伝
子座の値に重複が生じないように、交差や突然変異を行
なわせるものとする。そしてこの第2世代の各染色体に
ついて上述と同様に評価値を計算する(ステップ11
7)。続いて終了条件を満足しているかどうかの判定、
すなわち配車が終了したかどうかの判定を行なう(ステ
ップ122)。ここでの終了条件としては、例えば、最
良の染色体の評価値が何世代にわたってほとんど変化し
ないとか、評価値が所定の値に達したなどの条件を採用
することができる。終了条件が満足されていれば遺伝的
アルゴリズムによる処理を終了し、満足していなければ
ステップ113に戻って次の世代で同様の処理を繰り返
す。
【0036】次に、評価値の計算(ステップ112,1
17)の詳細について、図5を用いて説明する。この評
価値の計算過程では、上述したように、本発明の方法に
よる染色体の割当てが実行される。ここでは、第i番目
の配送先(配送先#i)の要求量をD(i)で表わし、第
j番目の遺伝子座の値に対応するトラックの最大積載量
をA(j)で表わすものとして、染色体の割当て過程を一
般的に説明する。ここでは、上述の運行番号が異なれば
別のトラックであるとして話を進める。
17)の詳細について、図5を用いて説明する。この評
価値の計算過程では、上述したように、本発明の方法に
よる染色体の割当てが実行される。ここでは、第i番目
の配送先(配送先#i)の要求量をD(i)で表わし、第
j番目の遺伝子座の値に対応するトラックの最大積載量
をA(j)で表わすものとして、染色体の割当て過程を一
般的に説明する。ここでは、上述の運行番号が異なれば
別のトラックであるとして話を進める。
【0037】まず、変数iとjをそれぞれ1に初期化す
る(ステップ120)。配送先#iの要求量が0である
かをチェックし(ステップ121)、0である場合に
は、次の配送先についての処理を行なうために後述のス
テップ131へ移行してiに1を加算し、0でない場合
には、変数MINにjを代入し(ステップ122)、最
大積載量の和を表わす変数Tを0に初期化する(ステッ
プ123)。そして、第j番目の遺伝子座の値に対応す
るトラックの最大積載量A(j)を変数Tに加算する(ス
テップ124)。ここでjの値をチェックし(ステップ
125)、jが遺伝子座の総数と等しい場合、すなわち
遺伝子座の末端に達した場合には、後述するステップ1
33に移行し、末端に達していない場合には次のステッ
プ126へ移行する。第1回目にステップ125を通過
する場合には、一般的には、遺伝子座の末端には到達し
ていないので、ステップ126へ行くことになる。
る(ステップ120)。配送先#iの要求量が0である
かをチェックし(ステップ121)、0である場合に
は、次の配送先についての処理を行なうために後述のス
テップ131へ移行してiに1を加算し、0でない場合
には、変数MINにjを代入し(ステップ122)、最
大積載量の和を表わす変数Tを0に初期化する(ステッ
プ123)。そして、第j番目の遺伝子座の値に対応す
るトラックの最大積載量A(j)を変数Tに加算する(ス
テップ124)。ここでjの値をチェックし(ステップ
125)、jが遺伝子座の総数と等しい場合、すなわち
遺伝子座の末端に達した場合には、後述するステップ1
33に移行し、末端に達していない場合には次のステッ
プ126へ移行する。第1回目にステップ125を通過
する場合には、一般的には、遺伝子座の末端には到達し
ていないので、ステップ126へ行くことになる。
【0038】ステップ126では、jに1を加算する。
続いて、変数Tが配送先#iの要求量D(i)以上となっ
ているかをチェックし(ステップ127)、D(i)≦T
であれば配送先#iの要求量を満足してトラックが割当
てられているのでステップ128に移行する。D(i)>
Tの場合には、配送先#iの要求量がまだ満足されてい
ない場合なので、次の遺伝子座に対応するトラックもこ
の配送先#iに割り当てるために、ステップ124に戻
る。ステップ124に戻った時点では、T≠0であっ
て、既にこの配送先#iに割り付けられたトラックの最
大積載量の和がTとなっているから、このループを繰り
返すことにより、配送先#iの要求量を満足するまで次
々とトラックが割り付けられることになる。
続いて、変数Tが配送先#iの要求量D(i)以上となっ
ているかをチェックし(ステップ127)、D(i)≦T
であれば配送先#iの要求量を満足してトラックが割当
てられているのでステップ128に移行する。D(i)>
Tの場合には、配送先#iの要求量がまだ満足されてい
ない場合なので、次の遺伝子座に対応するトラックもこ
の配送先#iに割り当てるために、ステップ124に戻
る。ステップ124に戻った時点では、T≠0であっ
て、既にこの配送先#iに割り付けられたトラックの最
大積載量の和がTとなっているから、このループを繰り
返すことにより、配送先#iの要求量を満足するまで次
々とトラックが割り付けられることになる。
【0039】ステップ127でD(i)≦Tであって配送
先#iに対するトラックの割り付けが完了したら、ステ
ップ128において、j−1をMAXに代入する。この
時点で、配送先#iに対応付けられた遺伝子座のうちの
最初のものの番号が変数MINに、最後のものの番号が
変数MAXに代入されているから、次に、変数MINと
MAXの間の遺伝子座に対応する各トラックと配送先#
iとの対応付けを行ない、配送先#iについての処理を
終了する(ステップ129)。そして、未処理の配送先
が残っているかを判断し(ステップ130)、未処理の
配送先が残っていなければ、この染色体についての割当
てが全て完了した場合なので評価値を算出して(ステッ
プ132)、評価値算出処理をすべて終了する。評価値
算出の際、トラックの使用台数を評価関数に加味して評
価値を良くしてもよい。一方、ステップ130で配送先
が残っている場合には、次の配送先の処理に移るため、
iに1を加算し(ステップ131)、ステップ121に
戻る。
先#iに対するトラックの割り付けが完了したら、ステ
ップ128において、j−1をMAXに代入する。この
時点で、配送先#iに対応付けられた遺伝子座のうちの
最初のものの番号が変数MINに、最後のものの番号が
変数MAXに代入されているから、次に、変数MINと
MAXの間の遺伝子座に対応する各トラックと配送先#
iとの対応付けを行ない、配送先#iについての処理を
終了する(ステップ129)。そして、未処理の配送先
が残っているかを判断し(ステップ130)、未処理の
配送先が残っていなければ、この染色体についての割当
てが全て完了した場合なので評価値を算出して(ステッ
プ132)、評価値算出処理をすべて終了する。評価値
算出の際、トラックの使用台数を評価関数に加味して評
価値を良くしてもよい。一方、ステップ130で配送先
が残っている場合には、次の配送先の処理に移るため、
iに1を加算し(ステップ131)、ステップ121に
戻る。
【0040】ステップ125で遺伝子座の末端に到達し
たことが検出されたときは、未処理の配送先があるにも
関わらず未割当てのトラックがなくなった場合であり、
所定の配送を行なうことができない場合である。このと
きは、ステップ133において、変数MAXにjを代入
する。この時点で、配送先#iに対応付けられた遺伝子
座のうちの最初のものの番号が変数MINに、最後のも
のの番号が変数MAXに代入されているから、次に、変
数MINとMAXの間の遺伝子座に対応する各トラック
と配送先#iとの対応付けを行なう(ステップ13
4)。そして、所定の配送を実行することができない染
色体として、極端に悪い評価値をこの染色体に与えて、
あるいは未積載量を評価値に加えて(ステップ13
5)、評価値算出処理を全て終了する。ただし、ステッ
プ135の時点で、D(i)≦Tかつiが最後の配送先に
対応する場合は、所定の配送が行なえている場合である
ので、ステップ132と同様に、通常の評価値をこの染
色体に与えるものとする。あるいは、トラックの使用台
数を評価関数に加味して評価値を良くしてもよい。
たことが検出されたときは、未処理の配送先があるにも
関わらず未割当てのトラックがなくなった場合であり、
所定の配送を行なうことができない場合である。このと
きは、ステップ133において、変数MAXにjを代入
する。この時点で、配送先#iに対応付けられた遺伝子
座のうちの最初のものの番号が変数MINに、最後のも
のの番号が変数MAXに代入されているから、次に、変
数MINとMAXの間の遺伝子座に対応する各トラック
と配送先#iとの対応付けを行なう(ステップ13
4)。そして、所定の配送を実行することができない染
色体として、極端に悪い評価値をこの染色体に与えて、
あるいは未積載量を評価値に加えて(ステップ13
5)、評価値算出処理を全て終了する。ただし、ステッ
プ135の時点で、D(i)≦Tかつiが最後の配送先に
対応する場合は、所定の配送が行なえている場合である
ので、ステップ132と同様に、通常の評価値をこの染
色体に与えるものとする。あるいは、トラックの使用台
数を評価関数に加味して評価値を良くしてもよい。
【0041】以上の処理を各染色体30に施すことによ
り、各染色体30の評価値をそれぞれ算出することがで
きる。
り、各染色体30の評価値をそれぞれ算出することがで
きる。
【0042】次に、本実施例によって染色体の割当てを
行ない、遺伝的アルゴリズムによって配車計画を作成し
た場合と、「従来の技術」欄で図1(b)を用いて説明し
た染色体を使用し遺伝的アルゴリズムによって配車計画
を作成した場合(従来例)を比較した結果を説明する。
問題設定は、本実施例において上述したものとし、ま
た、本実施例に基づき50万世代の世代交代を行なわ
せ、配車計画の最良解を得ておいた。その結果、本実施
例によれば、4000世代の進化で、最良解との重量誤
差が4.3トン、時間誤差が3.3時間である解が得られ
たのに対し、従来例によれば、20000世代の進化
で、最良解との重量誤差が5.0トン、時間誤差が10.
6時間である解が得られた。結局、従来の方法を用いた
場合に比べ、本発明によれば、短時間でよりよい解が得
られることが確認された。
行ない、遺伝的アルゴリズムによって配車計画を作成し
た場合と、「従来の技術」欄で図1(b)を用いて説明し
た染色体を使用し遺伝的アルゴリズムによって配車計画
を作成した場合(従来例)を比較した結果を説明する。
問題設定は、本実施例において上述したものとし、ま
た、本実施例に基づき50万世代の世代交代を行なわ
せ、配車計画の最良解を得ておいた。その結果、本実施
例によれば、4000世代の進化で、最良解との重量誤
差が4.3トン、時間誤差が3.3時間である解が得られ
たのに対し、従来例によれば、20000世代の進化
で、最良解との重量誤差が5.0トン、時間誤差が10.
6時間である解が得られた。結局、従来の方法を用いた
場合に比べ、本発明によれば、短時間でよりよい解が得
られることが確認された。
【0043】遺伝的アルゴリズムでは、各染色体にその
適応度に応じた淘汰圧力が加わることになるが、単純に
適応度に比例して染色体が選択される(適応度比例戦
略)ようにするだけでなく、例えば、最もよい染色体
は必ず次世代に生き残るようにする(エリート保存戦
略)、適応度によって各染色体をいくつかのランクの
うちの1つにランク付けしランクに応じた確率で子孫を
残せるようにする(ランク戦略)、各染色体が残す子孫
の期待値を計算した上でその染色体が選択された場合に
その期待値から0.5を引く(期待値戦略)などの戦略
をとるようにしてもよい。エリート保存戦略は最良の染
色体を生き残らす戦略であり、期待値戦略は染色体数が
少ない場合の乱数のゆらぎの影響を抑える戦略である。
適応度に応じた淘汰圧力が加わることになるが、単純に
適応度に比例して染色体が選択される(適応度比例戦
略)ようにするだけでなく、例えば、最もよい染色体
は必ず次世代に生き残るようにする(エリート保存戦
略)、適応度によって各染色体をいくつかのランクの
うちの1つにランク付けしランクに応じた確率で子孫を
残せるようにする(ランク戦略)、各染色体が残す子孫
の期待値を計算した上でその染色体が選択された場合に
その期待値から0.5を引く(期待値戦略)などの戦略
をとるようにしてもよい。エリート保存戦略は最良の染
色体を生き残らす戦略であり、期待値戦略は染色体数が
少ない場合の乱数のゆらぎの影響を抑える戦略である。
【0044】
【発明の効果】以上説明したように本発明は、それぞれ
要求量が定義され複数個設けられた要求要素とそれぞれ
処理可能量が定義され複数個用意された処理要素との間
の対応関係を定める組み合わせ問題を遺伝的アルゴリズ
ムによって解決する場合に、染色体の各遺伝子座の値と
してそれぞれ処理要素を重複を許さずに割当て、処理可
能量の和が要求要素の要求量以上となるまで遺伝子座を
順に探索して処理要素を読み出して当該要求要素と取り
出された処理要素との間に対応関係を設定することを繰
り返すことにより、染色体の非冗長性が向上して、より
短い時間で最適の組み合わせを求めることができるよう
になるという効果がある。特に本発明によれば、運送産
業でのスケジューリングや配送計画を短時間で作成でき
るようになる。
要求量が定義され複数個設けられた要求要素とそれぞれ
処理可能量が定義され複数個用意された処理要素との間
の対応関係を定める組み合わせ問題を遺伝的アルゴリズ
ムによって解決する場合に、染色体の各遺伝子座の値と
してそれぞれ処理要素を重複を許さずに割当て、処理可
能量の和が要求要素の要求量以上となるまで遺伝子座を
順に探索して処理要素を読み出して当該要求要素と取り
出された処理要素との間に対応関係を設定することを繰
り返すことにより、染色体の非冗長性が向上して、より
短い時間で最適の組み合わせを求めることができるよう
になるという効果がある。特に本発明によれば、運送産
業でのスケジューリングや配送計画を短時間で作成でき
るようになる。
【図1】(a)は遺伝的アルゴリズムの概要を説明する
図、(b)は染色体の構成例を示す図である。
図、(b)は染色体の構成例を示す図である。
【図2】本発明の一実施例の染色体の割当て装置の構成
を示すブロック図である。
を示すブロック図である。
【図3】(a)は染色体の割当て例を示す図、(b)は最大積
載量テーブルの内容の例を示す図、(c)は配送量テーブ
ルの内容の例を示す図である。
載量テーブルの内容の例を示す図、(c)は配送量テーブ
ルの内容の例を示す図である。
【図4】図2の装置における遺伝的アルゴリズムによる
処理を示す流れ図である。
処理を示す流れ図である。
【図5】染色体の割当ておよび評価値算出の過程を示す
流れ図である。
流れ図である。
11 最大積載量テーブル 12 配送量テーブル 13 染色体格納部 14 評価値算出部 15 GA処理部 16 初期値発生部 30,200 染色体 31,210 遺伝子座 111〜118,120〜135,201,203
ステップ 202,204,205 個体群
ステップ 202,204,205 個体群
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 C12Q 1/68 Z 9453−4B G06F 15/18 550 C 9071−5L 17/60 // G05B 13/02 M 7531−3H G06F 15/21 C
Claims (4)
- 【請求項1】 それぞれ要求量が定義され順序が設定さ
れ複数個設けられた要求要素とそれぞれ処理可能量が定
義され複数個用意された処理要素との間の対応関係を定
める組み合わせ問題を遺伝的アルゴリズムによって解決
するために使用される染色体の割当て方法であって、 前記染色体の各遺伝子座の値としてそれぞれ前記処理要
素を重複を許さずに割当て、 前記処理可能量もしくは前記処理可能量の和が前記順序
の先頭順位の前記要求要素の要求量以上となるまで、前
記染色体の一端側の前記遺伝子座から順に前記処理要素
を読み出して当該要求要素と前記取り出された処理要素
との間に対応関係を設定し、順次、次順位の前記要求要
素について、前記処理要素が読み出されていない遺伝子
座を対象として、前記対応関係を設定する処理を繰り返
す、染色体の割当て方法。 - 【請求項2】 それぞれ要求量が定義され複数個設けら
れた要求要素とそれぞれ処理可能量が定義され複数個用
意された処理要素との間の対応関係を定める組み合わせ
問題を遺伝的アルゴリズムによって解決するために使用
される染色体の割当て装置であって、 前記組み合わせ問題が、前記要求要素ごとに、当該要求
要素の要求量を下回らない処理可能量が割り当てられる
ように1ないし複数の前記処理要素を当該要求要素に対
応させ、かつ所定の評価関数を最小もしくは最大にする
組み合わせを探索するものであり、 前記要求要素ごとに当該要求要素の要求量を記憶する第
1の記憶手段と、 前記処理要素ごとに当該処理要素の処理可能量を記憶す
る第2の記憶手段と、 前記処理要素の個数に対応する個数の記憶要素からな
り、前記各記憶要素が前記染色体の各遺伝子座に対応す
るものである染色体記憶手段と、 前記記憶要素ごとに当該記憶要素の値として前記処理要
素を重複を許さずに割当てて格納し、前記処理可能量も
しくは前記処理可能量の和が前記第1の記憶手段におけ
る先頭順位の前記要求要素の要求量以上となるまで、前
記第2の記憶手段を参照しながら、前記染色体記憶手段
の一端側から前記記憶要素を順に探索して前記処理要素
を読み出して当該要求要素と前記取り出された処理要素
との間に対応関係を設定し、順次、次順位の前記要求要
素について、前記処理要素が読み出されていない記憶要
素を対象として、前記対応関係を設定する処理を繰り返
す割当て手段、とを有する染色体の割当て装置。 - 【請求項3】 前記組み合わせ問題が運送産業でのスケ
ジューリング問題である請求項2に記載の染色体の割当
て装置。 - 【請求項4】 前記第1の要素があて先に対応し、前記
要求量が対応するあて先から要求された配送量であり、
前記第2の要素が運搬手段による1回の運搬に対応し、
前記処理可能量が対応する運搬手段の最大運搬可能量で
ある請求項3に記載の染色体の割当て装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2076594A JPH07230443A (ja) | 1994-02-18 | 1994-02-18 | 染色体の割当て方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2076594A JPH07230443A (ja) | 1994-02-18 | 1994-02-18 | 染色体の割当て方法および装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07230443A true JPH07230443A (ja) | 1995-08-29 |
Family
ID=12036281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2076594A Withdrawn JPH07230443A (ja) | 1994-02-18 | 1994-02-18 | 染色体の割当て方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07230443A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5897629A (en) * | 1996-05-29 | 1999-04-27 | Fujitsu Limited | Apparatus for solving optimization problems and delivery planning system |
JP2021103417A (ja) * | 2019-12-25 | 2021-07-15 | 株式会社豊田中央研究所 | 最適化装置、最適化方法、および、コンピュータプログラム |
WO2024104003A1 (zh) * | 2022-11-16 | 2024-05-23 | 上海宝信软件股份有限公司 | 适用于智能排程***的cpu并行加速方法和*** |
-
1994
- 1994-02-18 JP JP2076594A patent/JPH07230443A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5897629A (en) * | 1996-05-29 | 1999-04-27 | Fujitsu Limited | Apparatus for solving optimization problems and delivery planning system |
JP2021103417A (ja) * | 2019-12-25 | 2021-07-15 | 株式会社豊田中央研究所 | 最適化装置、最適化方法、および、コンピュータプログラム |
WO2024104003A1 (zh) * | 2022-11-16 | 2024-05-23 | 上海宝信软件股份有限公司 | 适用于智能排程***的cpu并行加速方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zheng et al. | Multi-objective multi-population biased random-key genetic algorithm for the 3-D container loading problem | |
Liu et al. | Novel multi-objective resource allocation and activity scheduling for fourth party logistics | |
Borumand et al. | A developed genetic algorithm for solving the multi-objective supply chain scheduling problem | |
Başligil et al. | A distribution network optimization problem for third party logistics service providers | |
JPH10222562A (ja) | 多目的意思決定支援方法 | |
Jamrus et al. | Extended priority-based hybrid genetic algorithm for the less-than-container loading problem | |
Wauters et al. | A decomposition approach to dual shuttle automated storage and retrieval systems | |
Chen et al. | Integrated scheduling of zone picking and vehicle routing problem with time windows in the front warehouse mode | |
JP2816802B2 (ja) | 配送問題における最適な配車と配送順序の探索装置および探索方法 | |
CN110705765A (zh) | 基于遗传算法和启发式策略的电商订单装箱优化方法 | |
Ayadi et al. | Memetic Algorithm for a Multi-Objective Vehicle Routing Problem with Multiple Trips. | |
Hajiaghaei-Keshteli et al. | Addressing the freight consolidation and containerization problem by recent and hybridized meta-heuristic algorithms | |
CN110942251B (zh) | 一种基于联合蚁群算法的批调度方法 | |
CN117669992B (zh) | 面向智能仓储多移动机器人实时两阶段调度方法及*** | |
Singh et al. | Carton Set Optimization in E‐commerce Warehouses: A Case Study | |
JPH07234997A (ja) | 配車計画立案方法及び配車計画立案システム | |
Queirolo et al. | Warehouse layout design: minimizing travel time with a genetic and simulative approach—methodology and case study | |
JP2022031949A (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
Rüther et al. | A grouping genetic algorithm for multi depot pickup and delivery problems with time windows and heterogeneous vehicle fleets | |
JPH07230443A (ja) | 染色体の割当て方法および装置 | |
Roohnavazfar et al. | A hybrid algorithm for the Vehicle Routing Problem with AND/OR Precedence Constraints and time windows | |
JPH07219920A (ja) | 最適化問題解決処理方法および装置 | |
Kozan | An integrated material handling system for a truck assembly plant | |
Aziz et al. | Genetic algorithm based approach for the mufti product multi period inventory routing problem | |
CN114493181A (zh) | 一种智能仓储环境下的多负载agv任务调度方法 |
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: 20010508 |