(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024030118
(43)【公開日】2024-03-07
(54)【発明の名称】組合せ最適化問題求解方法、組合せ最適化問題求解装置及び組合せ最適化問題求解プログラム
(51)【国際特許分類】
G06N 3/126 20230101AFI20240229BHJP
G06N 99/00 20190101ALI20240229BHJP
【FI】
G06N3/12 160
G06N99/00 180
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022132691
(22)【出願日】2022-08-23
(71)【出願人】
【識別番号】504117958
【氏名又は名称】独立行政法人エネルギー・金属鉱物資源機構
(74)【代理人】
【識別番号】100224270
【弁理士】
【氏名又は名称】児嶋 秀平
(72)【発明者】
【氏名】国司 洋介
(57)【要約】
【課題】最適解に近い解を容易に得ることができる組合せ最適化問題求解方法を提供する。
【解決手段】本発明に係る組合せ最適化問題求解方法は、次世代個体群の多様性を評価するステップ6と、前記多様性が所定の評価値以下である場合に、当該評価値の安定性を評価するステップ7と、前記安定性が所定の評価値以上である場合に、前記次世代個体群の一部の個体の遺伝子データを書き換えて前記多様性を増加させるステップ8と、を有する求解方法である。
【選択図】
図2
【特許請求の範囲】
【請求項1】
複数の遺伝子データを有する個体群の中から適合度の高い複数の個体が有利に選択される個体選択ステップと、
前記複数の個体の遺伝子データを交配させて次世代個体を生成する次世代個体生成ステップと、
求解目的に対する前記次世代個体の適合度を評価する適合度評価ステップと、
前記次世代個体を含む複数の個体を次世代個体群として選定する次世代個体群選定ステップと、
前記次世代個体群の多様性を評価する個体群多様性評価ステップと、
前記多様性を評価した評価値の安定性を評価する評価値安定性評価ステップと、
前記個体群多様性評価ステップで多様性が減少したと評価された場合、前記次世代個体群の個体の遺伝子データを、前記評価値安定性評価ステップで得られた評価値安定性評価値に応じて書き換える個体群多様性増加ステップと、
を有する組合せ最適化問題求解方法。
【請求項2】
前記個体群多様性増加ステップは、前記次世代個体群の中で前記適合度が最も高い個体の遺伝子データは書き換えない、
請求項1に記載の組合せ最適化問題求解方法。
【請求項3】
複数の遺伝子データを有する個体の集合体である個体群の遺伝子データを個体ごとに記憶する個体群データ記憶部と、
前記個体群の中から適合度の高い個体が有利に選択する個体選択部と、
選択された複数の個体の遺伝子データを交配させて次世代個体を生成する次世代個体生成部と、
生成した次世代個体の求解目的に対する適合度を評価する適合度評価部と、
前記次世代個体を含む複数の個体を次世代個体群として選定する次世代個体群選定部と、
前記次世代個体群の多様性を評価する個体群多様性評価部と、
前記多様性を評価した評価値の安定性を評価する評価値安定性評価部と、
前記個体群多様性評価部で多様性が低下したと評価された場合に、前記次世代個体群の複数の個体の遺伝子データを前記評価値安定性評価部で得られた評価値安定性評価値に応じて書き換える個体群多様性増加部と、
複数世代で最も適合度の高い個体の遺伝子情報を記憶する高適合度個体記憶部と、
を有する組合せ最適化問題求解装置。
【請求項4】
前記高適合度個体記憶部は、前記個体群データ記憶部の一部であることを特徴とする
請求項3に記載の組合せ最適化問題求解装置。
【請求項5】
請求項1又は2に記載の組合せ最適化問題求解方法の各ステップをコンピュータに実行させることを特徴とする組合せ最適化問題求解プログラム。
【請求項6】
コンピュータを、請求項3又は4に記載の組合せ最適化問題求解装置として機能させるための組合せ最適化問題求解プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、組合せ最適化問題求解方法、組合せ最適化問題求解装置及び組合せ最適化問題求解プログラムに関する。
【背景技術】
【0002】
「組合せ最適化問題」とは、応用数学や情報工学における組み合わせ論の最適化問題をいう。例えば、セールスマンが所定の複数の都市を1回だけ巡回する場合の最短経路を求める「巡回セールスマン問題」等が、その代表例である。
【0003】
従来、このような組合せ最適化問題に対する求解方法として、遺伝的アルゴリズムが広く知られている。遺伝的アルゴリズム(GA)は、複数の遺伝子データを有するデータの集合体である個体を複数用意して個体群とし、(1)個体群から、個体を親個体として複数(通常は2)選抜し、親個体の遺伝子をマージして次世代個体を得る交配プロセスと、(2)得られた次世代個体の遺伝子データから当該次世代個体を評価することで、求解目的に対する適合度を求める評価プロセスと、を複数世代繰り返すことによって、求解目的により適合するデータの組み合わせの発見を試みる方法である。このような遺伝的アルゴリズムは、問題の解法が不明であっても、個体の評価ができれば一定の解を得ることが可能となる。しかしながら、このようにして得られた局所解が最適解又は最適解近傍の解である保証はない。
【0004】
特に、個体数や評価関数の設定の如何によっては、世代の早いうちに最適解から遠い局所解に収束してしまうことが知られている(初期収束問題)。
【0005】
このような「初期収束問題」は、例えば自動販売機内の在庫量を管理しながら自動販売機への物品配送経路を最適化する「自動販売機補充問題」のような、複数の評価項目を有する組合せ最適化問題において、より発生しやすくなる。このため、遺伝的アルゴリズムを現実の問題に適用しようとすると、かかる初期収束問題を回避するため、パラメータの設定には担当者の経験と試行錯誤が必要とされている。
【0006】
初期収束問題の原因となる個体群の多様性減少という問題に対しては、例えば特許文献1では、遺伝子が2値をとる単純遺伝的アルゴリズム(SGA)に対し、各遺伝子座ごとの遺伝子の発現率(0/1の発現率)と、その多様性減少速度とから、多様性を強制的に増加させる方法が提案されている。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1の提案する方法は、多様性の判定の前提として、各遺伝子が0/1の値をとることを前提としており、各遺伝子が複数値をとる場合、遺伝子座ごとの多様性を定義することは困難である。このため、特許文献1の技術を単純遺伝的アルゴリズム(SGA)以外に直接適用することができない。また、単純遺伝的アルゴリズム(SGA)に適用しても、多様性減少速度を常にモニタする必要があるため、特に遺伝子数が多い場合は計算量が多くなるという問題がある。
【0009】
初期収束問題についてさらに詳しく説明すれば、次のとおりである。すなわち、局所解近傍では、得られた個体がその個体群の中で適合度が高いため、より次世代個体を残す確率が高くなる。その結果、交配を繰り返すうち、個体群の中の個体がほぼ同一の遺伝子構成となり多様性が減少する。これにより、当該局所解の近傍を集中的に探索することが可能になる反面、他により良い解が存在してもそれを見つけることができなくなるのである。
【0010】
このような状態を緩和するため、通常、遺伝的アルゴリズムでは、交配プロセスにおいて一定の確率で子個体の遺伝子を親からもらった以外の遺伝子に書き換える「突然変異」を導入し、さらに、個体数および世代数を十分大きく設定することで、局所解の外を探索することを可能としているが、この方法では計算量が増大する。
【0011】
また、複数の自動販売機に商品を補充する際の最適ルートを求める自動販売機補充問題のように商品の欠品が許されないような制約条件付きの問題では、評価関数の設定も初期収束に影響しうる。
【0012】
このように、遺伝的アルゴリズムは、理論的には評価ができれば解を得ることが出来るとされているが、現実の組合せ最適化問題への適用においては、個体数・世代数・突然変異の設定・評価関数など多くのパラメータを経験的に設定する必要があった。
【0013】
本発明は、上記課題を解決するため、従来の遺伝的アルゴリズムを構成する(1)交配プロセス及び(2)次世代個体の評価プロセスに、(3)次世代個体群の多様性評価プロセス及び(4)多様性増加プロセスを追加することによって、より少ない計算量で最適解に近い解を得ることを可能とするとともに、個体数や評価関数など、経験的・実験的に定める必要がある事項をより簡略に設定可能な、組合せ最適化問題求解方法、組合せ最適化問題求解装置及び組合せ最適化問題求解プログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
上記の課題を解決するための第1の発明に係る組合せ最適化問題求解方法は、
複数の遺伝子データを有する個体群の中から適合度の高い複数の個体が有利に選択される個体選択ステップと、
複数の個体の遺伝子データを交配させて次世代個体を生成する次世代個体生成ステップと、
求解目的に対する次世代個体の適合度を評価する適合度評価ステップと、
次世代個体を含む複数の個体を次世代個体群として選定する次世代個体群選定ステップと、
次世代個体群の多様性を評価する個体群多様性評価ステップと、
多様性を評価した評価値の安定性を評価する評価値安定性評価ステップと、
個体群多様性評価ステップで多様性が減少したと評価された場合、次世代個体群の個体の遺伝子データを、評価値安定性評価ステップで得られた評価値安定性評価値に応じて書き換える個体群多様性増加ステップと、
を有する。
【0015】
このような方法を使用することで、次世代個体群の多様性が減少した場合に、局所解に陥ったと判定し、次世代個体群の一部または全部の個体の遺伝子データを書き換えることによって強制的に多様性を増加させる。また、局所解に陥った期間が長い程、評価値安定性評価値が増加し、これを遺伝子データの書き換え数に反映させ、より広い範囲の探索を行うことで局所解からの抜け出しが可能となるとともに、無駄な局所解近傍の繰り返し探索を減らし、比較的短時間で最適解を得ることができる。この結果、より少ない計算量で最適解に近い解を得ることが可能となるとともに、評価関数の設定や、終了判定条件、個体数等の経験的・実験的に定める必要があるパラメータの設定を簡略化することが可能となる。
【0016】
第2の発明に係る組合せ最適化問題求解方法は、第1の発明に係る組合せ最適化問題求解方法において、前記個体群多様性増加ステップは、前記次世代個体群の中で前記適合度が最も高い個体の遺伝子データを書き換えないことを特徴とする。
【0017】
このような方法を使用して、最も適合度の高い個体をデータ書き換えの対象外とすることによって、仮に解が最適解周辺のものであれば、確実に当該解の周辺に戻り探索を続けることが可能となる。あわせて、他の個体の遺伝子データの書き換えの程度を大きくすることによって、局所解周辺の集中的な探索と、より広域の探索を両立することが可能となる。
【0018】
上記の課題を解決するための第3の発明に係る組合せ最適化問題求解装置は、
複数の遺伝子データを有する個体の集合体である個体群の遺伝子データを個体ごとに記憶する個体群データ記憶部と、
個体群の中から適合度の高い個体を有利に選択する個体選択部と、
選択された複数の個体の遺伝子データを交配させて次世代個体を生成する次世代個体生成部と、
生成した次世代個体の求解目的に対する適合度を評価する適合度評価部と、
次世代個体を含む複数の個体を次世代個体群として選定する次世代個体群選定部と、
次世代個体群の多様性を評価する個体群多様性評価部と、
多様性を評価した評価値の安定性を評価する評価値安定性評価部と、
個体群多様性評価部で多様性が低下したと評価された場合に、次世代個体群の複数の個体の遺伝子データを評価値安定性評価部で得られた評価値安定性評価値に応じて書き換える個体群多様性増加部と、
複数世代で最も適合度の高い個体の遺伝子情報を記憶する高適合度個体記憶部と、
を有する
【0019】
上記装置によれば、次世代個体群の多様性が減少した場合に、局所解に陥ったと判定し、次世代個体群の一部または全部の個体の遺伝子データを書き換えることによって強制的に多様性を増加させる。また、局所解に陥った期間が長い程、評価値安定性判定値が増加し、これを遺伝子データの書き換え数に反映させ、より広い範囲の探索を行うことで局所解からの抜け出しが可能となるとともに、無駄な局所解近傍の繰り返し探索を減らし、比較的短時間で最適解を得ることができる。この結果、より少ない計算量で最適解に近い解を得ることが可能となるとともに、評価関数の設定や、終了判定条件、個体数等の経験的・実験的に定める必要があるパラメータの設定を簡略化することが可能となる。
【0020】
上記の課題を解決するための第4の発明に係る組合せ最適化問題求解装置は、高適合度個体記憶部が個体群データ記憶部の一部であることを特徴とする。
【0021】
上記の課題を解決するための第5の発明に係る組合せ最適化問題求解プログラムは、第1または第2の発明に係る組合せ最適化問題求解方法の各ステップをコンピュータに実行させる。また、上記の課題を解決するための第6の発明に係る組合せ最適化問題求解プログラムは、コンピュータを、第3又は第4の発明に係る組合せ最適化問題求解装置として機能させる。
【0022】
このようなプログラムを使用することで、次世代個体群の多様性が減少したと判断されれば、そのことをトリガーとして、次世代個体群の一部または全部の個体の遺伝子データを書き換えることによって強制的に多様性を増加させる。このとき、1個体あたりの書き換える遺伝子数を評価値安定性評価値に基づき調整することで、局所解からの抜け出しが可能となるとともに、比較的短時間で最適解を得ることができる。この結果、より少ない計算量で最適解に近い解を得ることが可能となるとともに、評価関数、終了判定条件、個体数等の経験的に定める必要があるパラメータの設定を簡略化することが可能となる。
【発明の効果】
【0023】
本発明により、従来の遺伝的アルゴリズムを構成する(1)交配プロセス及び(2)次世代個体の評価プロセスに、(3)次世代個体群の多様性評価プロセス及び(4)多様性増加プロセスを追加することによって、より少ない計算量で最適解に近い解を得ることが可能となるとともに、評価関数、終了判定条件、個体数等の実験的・経験的に定める必要があるパラメータの設定を簡略化することが可能となる。
【図面の簡単な説明】
【0024】
【
図1】本実施形態の組合せ最適化問題求解装置の構成を示すブロック図である。
【
図2】本実施形態の組合せ最適化問題求解方法の処理手順を示すフロー図である。
【発明を実施するための形態】
【0025】
以下、図面を用いて本発明を実施するための形態について説明する。
【0026】
図1は、本実施形態である組合せ最適化問題求解装置の構成を示すブロック図である。
【0027】
本実施形態の組合せ最適化問題求解装置10は、複数の遺伝子データを有する個体の集合体である個体群の遺伝子データを個体ごとに記憶する個体群データ記憶部1と、個体群の中から適合度の高い個体を有利に選択する個体選択部2と、選択された複数の個体の遺伝子データを交配させて次世代個体を生成する次世代個体生成部3と、生成した次世代個体の求解目的に対する適合度を評価する適合度評価部4と、次世代個体を含む複数の個体を次世代個体群として選定する次世代個体群選定部5と、次世代個体群の多様性を評価する個体群多様性評価部6と、多様性を評価した評価値の安定性を判定する評価値安定性判定部7と、個体群多様性評価部で多様性が低下したと評価された場合に次世代個体群の複数の個体の遺伝子データを評価値安定性判定部で得られた評価値安定性評価値に応じて書き換える個体群多様性増加部8と、複数世代で最も適合度の高い個体の遺伝子情報を記憶する高適合度個体記憶部9と、を有している。
【0028】
個体群データ記憶部1は、複数の遺伝子データを有する個体の集合体である個体群の遺伝子データを個体ごとに記憶する、組合せ最適化問題求解装置10の一構成部である。個体群データ記憶部1は、各個体の評価値や適合度を記憶してもよい。また、組合せ最適化問題求解装置10は、個体群のデータの初期化を行う個体群データ初期化部を備えていてもよい。個体選択部2は、個体群の中から適合度の高い個体を有利に選択する、組合せ最適化問題求解装置10の一構成部である。適合度とは、求解目的に対する個体の適合度をいう。
次世代個体生成部3は、選択された複数の個体の遺伝子データを交配させて次世代個体を生成する、組合せ最適化問題求解装置10の一構成部である。 適合度評価部4は、生成した次世代個体の求解目的に対する適合度を評価する、組合せ最適化問題求解装置10の一構成部である。また、次世代個体群選定部5は、次世代個体を含む複数の個体を次世代個体群として選定する、組合せ最適化問題求解装置10の一構成部である。
【0029】
個体群多様性評価部6は、次世代個体群の多様性を評価する、組合せ最適化問題求解装置10の一構成部である。評価値安定性評価部7は、多様性を評価した評価値の安定性を判定する、組合せ最適化問題求解装置10の一構成部である。個体群多様性増加部8は、個体群多様性評価部で多様性が低下したと評価された場合に次世代個体群の複数の個体の遺伝子データを評価値安定性評価部で得られた評価値安定性評価値に応じて書き換える、組合せ最適化問題求解装置10の一構成部である。高適合度個体記憶部9は、複数世代で最も適合度の高い個体の遺伝子情報を記憶する、組合せ最適化問題求解装置10の一構成部である。 過去世代も含め、最も適合度の高い個体の遺伝子データを記憶する。これにより、処理終了後、最も適合度の高い個体の遺伝情報を確実に得ることができる。高適合度個体記憶部9は、個体群データ記憶部の一部を使用することができる。
【0030】
上記組合せ最適化問題求解装置10によれば、次世代個体群の多様性が減少した場合に、局所解に陥ったと判定し、次世代個体群の一部または全部の個体の遺伝子データを書き換えることによって強制的に多様性を増加させる。また、局所解に陥った期間が長い程、評価値安定性判定値が増加し、これを遺伝子データの書き換え数に反映させ、より広い範囲の探索を行うことで局所解からの抜け出しが可能となるとともに、無駄な局所解近傍の繰り返し探索を減らし、比較的短時間で最適解を得ることができる。この結果、より少ない計算量で最適解に近い解を得ることが可能となるとともに、評価関数の設定や、終了判定条件、個体数等の経験的・実験的に定める必要があるパラメータの設定を簡略化することが可能となる。
【0031】
図2は、本実施形態の組合せ最適化問題求解方法の処理手順を示すフロー図である。
図2に示すように、まず、個体群データの初期化を行う(S1)。個体群とは、複数の遺伝子データを有するデータの集合体である個体が複数集まった集合をいう。
【0032】
次に、個体選択を行う(S2、個体選択ステップ)。すなわち、初期化された個体群データの中から、複数(通常は2)の個体を「親個体」として選択する。選択方法は、ルーレット選択、トーナメント選択、ランキング選択等、従来の遺伝的アルゴリズムで使用される選択方法を適宜使用することができるが、本実施形態では、収束が早い反面、初期収束が起きやすいとされる、評価値の高い個体のみを少なくとも一方の「親個体」に用いるエリート選択を用いることができ、この場合、選択する個体の少なくとも一つは、適合度の高い個体から順に選択する。
【0033】
次に、次世代個体生成を行う(S3、次世代個体生成ステップ)。すなわち、選択された親個体から遺伝子を選択して交配し、次世代個体(子個体)を生成する。遺伝子の選択には、従来提唱されている各種の選択方法を採用すればよい。例えば、第1の親個体と第2の親個体から、同一遺伝子座の遺伝子をランダムに選択し子個体の遺伝子とする一様交叉法を用いてもよい。また、第2の親個体から一定の長さの遺伝子を切り出し、対応する第1の親個体の遺伝子座の遺伝子と置き換える2点交叉又は多点交叉法を用いてもよい。これらの方法を適宜選択し、組み合わせることもできる。
【0034】
次世代個体生成(S3、次世代個体生成ステップ)においては、遺伝的アルゴリズムで広く使用される突然変異プロセスを含んでもよい。突然変異プロセスとは、子個体の遺伝子のうちの一つをランダムに書き換えるものである。なお、本実施形態において「交配」という用語には、突然変異プロセスを含みうる。
【0035】
次に、適合度評価を行う(S4、適合度評価ステップ)。すなわち、各子個体の遺伝子データから求解目的に応じた適合度を算出する。適合度評価は、個体の遺伝子データから表現型を算出する遺伝子-表現型変換プロセスと、1又は複数の観点の評価値を求める1以上の個体評価プロセスと、1又は複数の観点の評価値から適合度を算出する適合度評価算出プロセスと、によって行う。
【0036】
遺伝子-表現型変換プロセスは、遺伝子データが直接表現型を表す場合は省略することができる。また、評価項目が一つの場合、個体評価プロセスは適合度評価算出プロセスを兼ねることができる。得られた適合度は個体に紐づけて保存され、例えば、個体に付随して個体データの一部として管理することができる。
【0037】
次に、次世代個体群選定を行う(S5、次世代個体群選定ステップ)。すなわち、次世代を残す個体の候補を選定するプロセスで、上記記載(0032段落)の親個体の選定におけるルーレット選択、トーナメント選択、ランキング選択等各種手法に応じた既知の手法を適用できるが、例えばエリート選択を用いる場合、子個体と親個体の中から次世代の親となりうる個体を生成する。例えば、適合度評価(S4)までの処理手順によって、2N個の親個体データとN個の子個体データが生成されている場合、次世代個体群選定(S5)は、2N個の親個体データ中の下位N個の個体データをN個の子個体データで置き換え、各個体の適合度をキーにソートする。このような処理によって、より適合度の高い次世代個体群の選定を行うことができる。
【0038】
次に、個体群多様性評価を行う(S6、個体群多様性評価ステップ)。遺伝的アルゴリズムでは、複数世代にわたり交配を行い、最適解又は最適解以外の局所解に近い個体が生成されると、やがて、個体群は同一もしくは、ほぼ均一な遺伝子の組み合わせの個体で占められるようになり、その解の周辺を集中的に探索するようになる。そこで、このような状態になっているか否かを個体群多様性評価で判定する。
【0039】
多様性の評価は、例えば、個体群から選んだ2個体の遺伝子データベクトルの内積を求めてもよい。また、より簡便には適合性の上位2個体、例えば1番目と2番目、あるいは1番目と√N番目の個体の適合度が等しければ多様性が減少したと判断することもできる。
【0040】
ステップ6で耐用性が減少したと判断された場合には、評価値安定性を評価する、評価値安定性評価プロセスを行う(S7、評価値安定性評価ステップ)。即ち、最も適合度の高い個体の適合度が変化しない世代数をカウントすることによって、局所解の安定性を評価する。評価値安定性評価は、計算量が小さいため、各世代毎に実施してもよいし、個体群多様性評価(S6)において個体群の多様性が減少したと判断する場合に実施してもよい。
【0041】
遺伝的アルゴリズムでは、複数世代にわたり交配を行い、最適解又は局所解に近い個体が生成されると、個体群はほぼ均一な遺伝子の組み合わせの個体で占められるようになる。これに対し、次世代個体生成(S3)における突然変異プロセスは、交配時に予め設定された割合(おおよそ0.1~5%が適切とされる)の個体の遺伝子を一部書き換えることで、多様性を増加させることを意図して実施される。
【0042】
しかしながら、通常、突然変異個体は適合度が低下するため、大半の突然変異個体は次世代に遺伝子を残すことが出来ない。このため、複数の遺伝子を同時に変化させなければ得られないような解には容易に到達することができず、多くの場合、局所解の周辺を探索し続けることとなる。その結果、その局所解の周辺を探索することは可能だが、他の解を探索することは著しく困難になる。
【0043】
そこで、本実施形態では、個体群多様性評価(S6)において個体群の多様性が減少したと判断する場合、個体群多様性増加を行う(S8、個体群多様性増加ステップ)。すなわち、親個体となる個体の遺伝子データを強制的に書き換えることで、局所解の外の解の探索を行うようにする。個体群多様性増加(S8)においては、多様性が減少したと判断された場合に、親個体となる個体の遺伝子データを強制的に書き換えることで、局所解の外の解の探索を行うようにするのである。この時、評価値の安定性が高い場合には、より書き換えの程度を大きくすることで局所解の周辺からより広い範囲に探索を広げることが可能となる。
【0044】
この時、最も適合度の高い個体の遺伝子データを記憶することで、評価を実施した範囲で最も適合度の高い個体のデータを確実に読み出すことが可能になる。また、エリート選択を採用した場合、個体群中の最も適合度の高い個体のデータを書き換えの対象外とすることで、個体群の他に、最も適合度の高い個体の遺伝子データを記憶する必要がなくなるとともに、解が最適解周辺のものであれば当該解の周辺に戻り探索を続けることが可能となる。このような処理により、局所解周辺の集中的な探索と、より広域の探索を両立することが可能となる。
【0045】
個体群多様性増加(S8)を行った後、終了条件判定を行う(S9、終了条件判定ステップ)。また、個体群多様性評価(S6)において個体群の多様性が減少したと判断しない場合は、評価値安定性評価(S7)及び個体群多様性増加(S8)を行う必要はないので、そのまま終了条件判定(S9)に移行する(S12)。
【0046】
終了条件判定(S9)は、求解目的の性質により、例えば一定の時間になれば終了する、評価値安定性が一定ならば終了する、世代数に対し評価値安定性が所定の割合を示せば終了する、等、適宜設定することができる。
【0047】
設定した終了条件を満たす場合は、結果出力を行い(S10)、処理を終了する(S11)。一方、設定した終了条件を満たさない場合は、個体選択(S2)に戻り(S13)、さらに世代を重ねて、設定した終了条件を満たすまで処理を継続する。以上が、本発明に係る組合せ最適化問題求解方法の処理手順である。
【0048】
<実施例1>
次に、より産業の現場に即した本発明の一つの実施例として、液状炭化水素を複数の生産地と消費地間でタンカー輸送する場合における経費最適化問題の求解について説明する。
【0049】
表1は、液状炭化水素を輸送するタンカーの寄港地の座標を示す表である。全35地点中、P1~P3は液状炭化水素の生産地であり、P4~P35は消費地である。
【表1】
【0050】
表2は、各寄港地間の輸送に要する時間を示す表である。この時間には、液状炭化水素の積み下ろしの時間も含んでいる。
(便宜上、表2は、横列をP1からP12までの表2Aと、P13から24までの表2Bと、P25から35までの表2Cの3つの表に分けて記載する。)
【表2A】
【表2B】
【表2C】
【0051】
表3は、各寄港地における液状炭化水素の需要(消費量)と、陸上タンクの最大容量を示す表である。P1~P3は液状炭化水素の生産地であり、陸上タンクの容量が非常に大きい。P4およびP5の陸上タンクは中間貯蔵施設としての役割を有し、タンカーから液状炭化水素を受け入れるとともに、タンカーに液状炭化水素を供給する能力を有する。
【表3】
【0052】
陸上タンクの建設コストは式1で規定される。
陸上タンクの建設コスト=タンク容量^0.4+20 [MM$] - 式1
【0053】
表4は、各タンカーのサイズ及びコストを示す表である。コストには、初期費用(購入費用)及び所定期間中の運用コスト(ランニング費用)が含まれる。
【表4】
【0054】
表5は、各寄港地における桟橋建設コストを示す表である。桟橋建設コストは、寄港できるタンカーの最大サイズを規定する。
【表5】
【0055】
寄港地P4~P35においては、液状炭化水素が表3で与えられる割合で消費される。このため、陸上タンク中の液状炭化水素は、経過時間×消費量分減少する。タンカーが入港すれば、陸上タンクの空き量分又はタンカーの残量分の液状炭化水素が供給される。タンカーは、液状炭化水素を陸上タンクに移送するとその分の液状炭化水素が減少する。
【0056】
寄港地が積み出しモードの時は、陸上タンクの残量を上限にタンカータンク容量上限まで液状炭化水素が供給される。寄港地P1~P3は常時積み出しモードに、P4及びP5はタンカーごとに設定される寄港地シーケンスで積み出しモードが設定される。すなわち、移送量は寄港地の陸上タンクの残量とタンカーの空き容量の少ない方となる。移送量の分、寄港地の陸上タンクの残量が減少しタンカーの残量が増加する。
【0057】
本問題は、陸上タンクの液状炭化水素がゼロにならないという拘束条件を満たす範囲で、タンカーの大きさと数、各タンカーの寄港地の順番を定め、その上で、タンカーコスト、陸上タンクコスト、桟橋建設コストの合計を最小にする経費最適化に関する組合わせを見つける問題である。
【0058】
すなわち、寄港地P4~P35において、所定期間(26280時間=3年間)、各寄港地の貯蔵タンクがゼロにならないという拘束条件を満たし、かつ、タンカー購入費、タンカー運航費、寄港地タンク建設費及び消費地港湾設備費の合計である経費面で最も有利な、タンカーサイズ、寄港地陸上タンクサイズ、桟橋長さ、各タンカーのタンカー寄港地の順番の組合せを求める問題である(以下、「本問題」という)。
【0059】
このような複雑な本問題を、本実施形態に係る組合せ最適化問題求解方法を実現する求解装置が、いかにして求解するかについて、以下に説明する。
【0060】
なお、以下の説明においては、本実施形態に係る組合せ最適化問題求解方法における各処理手順である、個体群データ初期化、個体選択、次世代個体生成、適合度評価、次世代個体群選定、個体群多様性評価、評価値安定性評価、個体群多様性増加、終了条件判定及び結果出力を実現する求解装置内の各構成部は、それぞれ、個体群データ初期化部、個体選択部、次世代個体生成部、適合度評価部、次世代個体群選定部、個体群多様性評価部、評価値安定性評価部、個体群多様性増加部、終了条件判定部及び結果出力部という。また、各構成部にはさらに下位の構成部を備えていてもよく、その場合は以下の説明においてその都度説明する。
【0061】
本実施例の個体は、個体データD[j]で、例えばj=1..N、(ただし本実施例ではN=461)の浮動小数点データの配列データとして実装される。このうちD[1]は、個体の適合度データである。また、D[j] (j=2~461)は0以上1未満の値をとる小数点データである。このうちD[j] (j=2~391)は、T1からT30の30隻のタンカー情報を表し、各タンカーは13個の遺伝情報を有する(13×30=390の遺伝子群)。また、D[j] (j=392~426)の35個の遺伝子は、寄港地P1~P35の陸上タンクサイズを表す。D[j] (j=427~461)の35個の遺伝子は、寄港地P1~P35の桟橋サイズを表す遺伝子である。
【0062】
タンカー遺伝子、陸上タンクサイズ遺伝子、桟橋サイズ遺伝子は、適合度評価部内の遺伝子-表現型変換部によって、それぞれ、タンカーデータ、寄港地タンクサイズデータ、寄港地桟橋データの表現型に変換される。本実施例では、T1~T30の30隻分のタンカーデータが存在し、各タンカーデータは同一フォーマットの13個の整数データからなる。
【0063】
表6は、タンカーの遺伝子データを示す表である。以下、表7を参照しつつ、一番目のタンカーT1におけるT1,1~T1,13によって、タンカーデータを説明する。
(便宜上、表6は、横列をT1,1からT1,6までの表6Aと、T1,7からT1,13までの表6Bの2つの表に分けて記載する。)
【表6A】
【表6B】
【0064】
遺伝子-表現型変換部は、D[2]~D[15]の遺伝子をタンカーT1のデータT1,1~T1,13のデータに変換する。タンカーデータの最初のデータT1,1はタンカーサイズを表すデータで、0~8の整数をとる。タンカーの積載容量は
図6で定義される。タンカーサイズの0は、容量0、コストゼロを意味し、寄港地に入港しても移送量0とする。また、タンカーサイズが寄港地桟橋サイズを超える寄港地に寄港した場合も、タンカーと寄港地タンクの間の移送量は0となる。
【0065】
T1,2~T1,13のデータの絶対値は、タンカーT1が寄港する寄港地の番号を示す。表7において、タンカーT1はP1→P26→P16→P5→P9→P35→P4→P20の順で寄港する。T1,9はゼロであり、この場合、タンカーT1はT1,2に戻ることを意味する。寄港地番号が負の値の場合、液状炭化水素は寄港地タンクからタンカーT1に向け移送されることを意味し、正の場合はタンカーT1から寄港地タンクに移送されることを意味する。
【0066】
遺伝子-表現型変換部は、寄港地番号が1,2,3の場合は常に負の値を、4,5の場合は遺伝子データの値に応じ-4,4および-5,5のいずれかを、6から35の場合は常に正の値として、表現データを生成する。T1,13(12番目の寄港地)は、遺伝子データの値によらず常に0に翻訳される。また、寄港地間の所要時間は
図4による。
【0067】
遺伝子-表現型変換部は、D[392]~D[426]の35個の遺伝子データをP1~P35の35個の寄港地データに変換する。遺伝子-表現型変換部は、また、D[397]~D[461]の35個の遺伝子データをP1~P35の35個の桟橋長さデータに変換する。
【0068】
個体データは、個体群データ記録部に記録される。個体群データ記録部は2M個体分の個体データを記録する記憶部で、例えば倍精度配列変数DP[i,j](i=1 to 2M、j=1 to N)として実装される。また、i番目の個体Iiは個体群データ記録部中では以下の通り記録される。
・DP[i,1]:個体の評価値(0~-1E200の正数)
・DP[i,j]:遺伝子データ(j=2~N)、0=<DA[i,j]<1の正数
【0069】
個体群データ初期化部は、個体群データ記録部中のデータを初期化する。この時、各個体の遺伝子データであるGi,j(i=1~2M,j=2~N)には、乱数発生器で発生させた1未満の正の実数がセットされる。また、各個体の評価値Gi,j(i=1..2M,j=1)は、-1E200が代入される
【0070】
個体選択部は、次世代個体の親となる二つの個体Ipi0,Ipi1を、個体群データ記録部から選択する。ただし、i0=1 to Mである。また、もう一方の親個体Ipi1で、i1は、i1<>i0 でかつ、1~2Mの範囲からランダムに選択される。
【0071】
次世代個体生成部は、次のように機能する。まず交配であり、二つの「親」個体の遺伝子をマージし次世代の「子」個体Ici0を生成する。交差パターンとして、Ipi0とIpi1の遺伝子データをマージし次世代個体Ici0とし、これを個体群データ一時記憶部に記録する。なお、個体群データ一時記憶部は、上記個体群データ記憶部とは別に、次世代個体のデータを一時的に記憶するための構成部である。すなわち、Ipi0の遺伝子データDP[i0,j]とIpi1の遺伝子データDP[i1,j]をマージし、個体群データ一時記憶部は配列DC[i0,jc]を記憶する(1=<i0=<M、1=<jc=<N)。
【0072】
ここで、マージ方法は次のいずれかがランダムに選択される。
・A)一様交叉
j=2~Nで、乱数でDP[i0,j]かDP[i1,j]を選択し、DC[i0,j]に代入する。
・B)多点交叉
2/Nの確率で、0-1が反転するビット列を生成し、
0ならDC[i0,j]=DP[i0,j]
1ならDC[i0,j]=DP[i1,j] とする。
【0073】
また、次世代個体生成部は突然変異プロセスを実行する。すなわち、上記A)またはB)で得られた次世代個体Ici0に対し、設定された確率で突然変異を発生させる。0~1の範囲の乱数を生成させ、突然変異確率Pm(本実施例では0.03)より小さければ、個体Ici0の遺伝子DC[i0,jm]を0~1の乱数で置き換える(ただし、jmは乱数で生成させた2~Nの範囲の整数である)。このようにして得られた次世代個体Ici0の遺伝子データは、適合度評価部に送られる。
【0074】
適合度評価部は、次のように機能する。まず、遺伝子‐表現型翻訳部が、次世代個体Ici0の遺伝子データを表現型データに変換する。すなわち、460個の遺伝子データを、それぞれ、タンカーT1~T30のデータ、寄港地タンクサイズ、寄港地桟橋サイズに変換し、表現型データを得る。
【0075】
次に、個体評価部が、遺伝子-表現型翻訳部で変換された表現型データに基づき、各個体の評価値を求める。本実施例では、拘束条件である陸上タンクの在庫量がゼロにならないことを確認する個体評価部Z1と、本問題の求解目的である資金最適化条件を算出する個体評価部Z2の二つの個体評価部を用いる。
【0076】
個体評価部Z1は、表現型データと、寄港地P1~P35の液状炭化水素消費量、タンカー1~30の入港時間及び寄港地タンク-タンカーの移送量を、所定期間Tdef(=26280時間)シミュレートし、スタートから寄港地P4~P35の寄港地タンクのいずれかがゼロになるまでの時間をTpt0を求める。このとき、
・Tdef<=Tpt0なら、Tpt0=Tdefとし、シミュレーション終了とする。
また、この個体評価部Z1のプロセスは、個体評価部2のプロセスに比較して計算量が多く、かつ条件分岐も複数必要なため、最適化が難しい。このため、
所定期間Tdef内に寄港地タンクがゼロになればシミュレーション終了することで、計算量を削減することができる。
【0077】
また、個体評価部Z1の評価値Ev1は
・Tpt0>=Tdefなら、Ev1=0
・Tpt0<Tdefなら 拘束条件を満たさないため、Ev1=1E8+(Tdef-Tpt0)×1E3 とする。
【0078】
すなわち本問題では、消費地のタンクがゼロになることは拘束条件を満たさないため、ペナルティ1E8を加える。また、経費と合わせて最適解を得るため、経費の条件による局所解を起こりにくくするため1E3を乗じる。すなわちEv1は0が最も好ましく、0でなければより値が小さい程好ましい。Ev1が0でない場合は、ペナルティ分が上乗せされた評価値となる。
【0079】
個体評価部Z2は、本問題の求解目的である寄港地タンクコスト、タンカーコスト、桟橋コストの合計値を求め、Ev2とする。本問題は必要とする液状炭化水素を消費地に配送するコストを最小化することが目的であるので、Ev2は小さい程望ましい。
【0080】
適合度算出部は、2種類の個体評価値Ev1とEv2から、次世代個体適応度Efitを算出する。本実施例では、Ev1及びEv2ともに評価値が小さいほど好ましいため、説明の煩雑を避けるため、次世代個体の適合度Efitを以下で定義する。
Efit=ー(Ev1+Ev2)
したがって、得られた次世代個体の個体適応度Efitは、値が大きいほど個体の形質として好ましくなる。Efitは次世代個体Ici0の評価値として、個体群データ一時記憶部において配列DC[i0,1]として記録される。
DC[i0,1]=Ead
以上、次世代個体の「親」選択をi0=1~Mで繰り返す。
【0081】
次世代個体群選定部は、次世代に子孫を残す個体を選定する。本実施例では、最も適合度の高い個体が確実に残るようにするために、適合度の高い個体から順に子孫を残す「エリート選択」を採用する。すなわち、個体群データ一時記憶部中の次世代個体データを、個体群データ記憶部のM+1~2M番目に転送する。
DP[i+M,j]=DC[i,j] ただしi=1~M,j=2~N
【0082】
本実施例の個体群データ記憶部内の個体は、適合度の高い順にソートされて配置されているため、親世代の適合度の高い個体は、個体群データ記憶部内に残り、適合度の低い個体が次世代個体と置き換えられる。これにより、個体群として見れば、より適合度が高くなる。また、前世代個体の適合度が高い個体を次世代に残すことで、最も適合度の高い個体が確実に個体群データ記憶部内に残ることを保証する。
【0083】
次いで、個体群データ記憶部内の個体は、評価値DP[i,1]をキーに、個体群データソート部で適合度が高い順にソートされる。これにより、個体評価部Z1の評価値Ev1、個体評価部Z2の評価値Ev2の合計値であるEvの絶対値が小さいものから順に、個体のデータが個体群データ記憶部中に配置される。
【0084】
次世代個体で、最も適合度の高い個体が存在しなければ、個体群データ記憶部内の最初の個体DP[1,j](j=1..N)は、書き換えられない。一方、次世代個体で、最も適合度の高い個体が存在すれば、個体群データ記憶部内の最初の個体DP[1,j](j=1..N)は、書き換えられる。
【0085】
遺伝的アルゴリズムにおいて局所解に陥ると、最も評価値の高い個体の評価値は長い世代で変化しなくなる。評価値安定性評価部は、局所解に陥ったことを検出し、求解装置が局所解近傍をどの程度の期間探索しているかの指標として評価値安定性を算出する。本実施例における評価値安定性評価部は、個体群データソート部の動作の前後で、DP[1,1]を比較する。
【0086】
より具体的には、評価値安定性評価部は、評価値記録部Ev0と評価値安定性カウンタCstを有し、個体群データソート部の動作の前に、全世代の最も適合度の高い個体の評価値DP[1,1]の値をEv0に記録し、さらに個体群データソート部の動作後に、DP[1,1]とEv0を比較する。DP[1,1]=Ev0ならば、評価値安定性カウンタCstはカウンタ内のデータをインクリメントし、DP[1,1]<>Ev0ならば、評価値安定性カウンタCst=0となる。これにより、最も評価の高い個体が何世代評価値が変わらないかを求めることができる。
【0087】
遺伝的アルゴリズムにおいて局所解に陥ると、個体群の多様性は減少し、最終的にはほとんど同じ遺伝子の個体のみで個体群が構成されるようになる。この状態では、交配を繰り返しても得られる個体は同じ遺伝子を持つため、評価値の向上が見込めなくなる。そこで本実施形態は、個体群の多様性の減少を検出する個体群多様性評価部を有する。
【0088】
個体群多様性評価部は、例えば、評価上位の2個体の遺伝子データベクトルの内積が一定以下であれば評価値が減少すると判断してもよいが、より簡便には、最上位と適宜設定された順位の個体の評価値との差を見ることで判定を行う。本実施例においては、適合度が最も高い個体と二番目の個体で適合度が一致した場合、個体群の多様性が減少したと判断する。すなわち、DP[1,1]=DP[2,1]なら、多様性減少と判定する。
【0089】
個体群の多様性が減少すると、その近傍の解を重点的に調べることが可能になる。反面、その解が局所解の場合、そこから抜け出すことが困難になる。これに対応するために遺伝的アルゴリズムでは、突然変異プロセスが導入されるが、通常、その頻度が少なく、かつ、突然変異で得られた個体の適合度は、通常低下するため、次世代に遺伝子を残しにくいため、局所解から抜け出すには多くの世代が必要になる。そこで、本実施形態では、個体群多様性評価部により、個体群データ記憶部内の個体の遺伝的多様性が減少したと判断された場合に、個体群多様性増加部が起動される。
【0090】
個体群多様性評価部は、評価上位個体以外のすべての個体の遺伝子を評価値安定性計算で求めた評価値安定性カウンタCstの値に応じて乱数で書き換える。本実施例では、i=2~2Mで、1個体あたりk個の遺伝子をランダムに選択し、0~1未満の乱数で置き換える。
【0091】
なお、本実施例ではk=int(3+log(Cts))としているが、例えば
k=int((Cts)^ 0.5)
k=1+int(Cts/10)
でもほぼ同様の効果を得ることができる。
【0092】
また、本実施例では、個体群多様性増加部によって遺伝子データを書き換えた個体は、適合度を最も低い値に強制的に書き換える。すなわち、i=2~2MでDP[i,1]=-1E200とすることで、最も評価値の高い既知の個体であるIp1は、確実に次世代に子孫を残すことが可能となり、Ip1最適解近傍の解であればIp1近傍を引き続き探査を続けることができる。
すなわち、本実施例では、個体群データ記憶部内の最も適合度の高い個体に対する、個体群多様性増加部における多様性増加処理を除外することで、高適合度個体記憶部を個体群データ記憶部内に置くことを可能とし、かつ、局所解の最適化と、局所解外の探索を効率よく処理することが可能になる。
【0093】
また、長い世代でIp1が変化しない場合、多くの遺伝子の書き換えを行うことで、多様性をより増加させることができる。また、i=2~2Mで強制的に評価値を下げることで、多様性を増加させた個体間での交配が起こるため、局所解近傍を含む、より広い範囲の解を探索することが可能となる局所解近傍の探査と、局所解外の広域の探索を並行して行うことができる。
【0094】
さらに、個体群多様性増加部によって遺伝子データを書き換えた個体を親個体とする子個体の多くは、拘束条件をみたさない。このため、このような子個体に対しては、個体評価部1の評価では、評価を途中で打ち切ることができる。ため、局所解近傍以外の解の多くについて、計算量を減らすことが可能となり、局所解外の迅速な探索が可能になる。
【0095】
表7は、実施例1と比較例1と比較例2による試験結果を示す表である。以上に説明した実施例1に沿って、出願人において個体数M=100で20000世代の試験を5回繰り返したところ、いずれも最も評価値の高い個体は拘束条件を満たし(Ev0=0)、その時最も適合度の高い個体の個体評価値Ev2(総コスト)の5回の平均は、表8に示す通り、23008.91であった。
【表7】
【0096】
これに対し、比較例1として、個体群多様性増加部の動作を止めた以外は実施例1と同じ設定で試験を行ったところ、表8に示す通り、拘束条件を満たす解は得られなかった(Efit<-1E8)。
【0097】
また、比較例2として、個体数M=1000で2000世代とした他は比較例1と同じ設定で試験を行ったところ、表8に示す通り、拘束条件を満たした個体が得られたのは1例のみで、その個体で得られた総コストは48147.46で実施例1より高くなった。
以上が、本実施形態に係る組合せ最適化問題求解方法の実施例1である。
【0098】
<実施例2>
次に、実施例2について説明する。表8は、実施例2と比較例3による試験結果を示す表である。実施例2は、実施例1の適合度Efit=-(Ev1+Ev2)に代えて、
If Ev1>0 then
Efit=-Ev1
Else
Efit=-Ev2
End if
とした他は、実施例1と同じ設定で試験を行ったところ、表8に示す通り、5例いずれも拘束条件を満たすとともに、5例中4例で実施例1と同様の評価値となった。
【表8】
【0099】
これに対し、比較例3として、多様性増加部を停止し、個体数M=1000で世代数を2000世代とした他は実施例2と同じ設定で試験を行ったところ、表8に示す通り、拘束条件を満たす個体は得られなかった。
以上が、本実施形態に係る組合せ最適化問題求解方法の実施例2である。
【0100】
<実施例3>
次に、実施例3について説明する。実施例3は、本実施形態の組合せ最適化問題求解方法の他の用途を示す例である。すなわち、P1~P35の35点間の距離のテーブルから、元のP1~P35の相対的な座標を計算することができる。
【0101】
表9は、各寄港地間の距離を示す表である。表9に示す通り、本実施例の個体は、個体データD[j](j=1..N、ただしN=71)の浮動小数点データの配列として実装される。このうち、D[1]は適合度で、D[2]~D[36]は、P1~P35のX座標、D[37]~D[71]は、P1~P35のY座標を示す。D[2]~D[71]はそれぞれ、-20~+20の範囲の小数である。
(便宜上、表9は、横列をP1からP12までの表9Aと、P13から24までの表9Bと、P25から35までの表9Cの3つの表に分けて記載する。)
【表9A】
【表9B】
【表9C】
【0102】
個体群データ記憶部は、2M(M=100)の個体データを記憶する。
【0103】
適合度評価部は、遺伝子‐表現型翻訳部、個体評価部、適合度評価部を有する。次世代個体Ici0の遺伝子データは、遺伝子‐表現型翻訳部で表現型データに変換される。すなわち、遺伝子‐表現型翻訳部は、次世代個体Ici0の70個の遺伝子データに対し、1~35番目の値を寄港地PIic01~PIic035のX座標、36~70番目の値をY座標として付与する。
【0104】
個体評価部は、次世代個体Ici0の35組のX,Y座標から、次世代個体寄港地距離テーブルを作成する。次いで、実寄港地距離テーブルと次世代個体寄港地距離テーブルとのそれぞれ対応するデータの残差平方和を求め、次世代個体の評価値とする。本実施例の評価部は残差平方和を評価値とするため、評価値は常に0又は正の値であり、評価値が低い程よい評価となる。
【0105】
適合度評価部は、個体評価部で得られた評価値に―1を乗じて、次世代個体適応度Efitとする。また、終了判定部は、世代数と個体数Mの積が4E6を超えたときに処理を終了する。
【0106】
表10は、実施例3と実施例4と比較例4による試験結果を示す表である。
実施例3に沿って5回の処理を行った結果、表10に示す通り、最も評価値の高い個体の寄港地距離テーブルと次世代個体寄港地距離テーブルとの残差平方和の平均は124であった。
以上が、本実施形態に係る組合せ最適化問題求解方法の実施例3である。
【表10】
【0107】
<実施例4>
次に、実施例4について説明する。実施例4は、個体群多様性評価部で全ての個体の多様性を増加させるように設定した。また、最も適合度の高い個体を世代によらず保持するため、高適合度個体記憶部を設け、各世代で最も適合度の高い個体と高適合度個体記憶部中の個体の評価値を比較し、より高い適合度を示す個体データを高適合度個体記憶部中に蓄積した。
【0108】
実施例4において、上記の他は実施例3と同様の処理を行ったところ、表10に示す通り、高適合度個体記憶部中の個体データの寄港地距離テーブルと次世代個体寄港地距離テーブルとの残差平方和の平均は126であった。
【0109】
これに対し、比較例4として、M=500とし多様性増加部を停止した他は、実施例3と同様の処理を行ったところ、表10に示す通り、寄港地距離テーブルと次世代個体寄港地距離テーブルとの残差平方和の平均は511であった。
以上が、本実施形態に係る組合せ最適化問題求解方法の実施例4である。
【0110】
本実施形態は本実施形態のプログラムにより、コンピュータ上に実装されてもよいし、例えば、74181等のALUやその他の演算手段と、レジスタ・メモリ等の記憶素子を布線論理等で制御した専用ハードウェア、さらにはFPGA等のプログラマブルな論理回路で実装してもよい。また、エリート選択、ルーレット選択、トーナメント選択、ランキング選択等、遺伝的アルゴリズムの選択方法を適宜、または、組み合わせて選択することができる。
【0111】
以上に説明した実施形態は本発明を説明するための例示であり、本発明はこれらの実施形態に限定されるものではない。本発明はその要旨を逸脱しない限り種々の形態で実施することができる。
【産業上の利用可能性】
【0112】
国内外の事業環境の複雑化及び多様化に伴い、液状炭化水素のタンカー輸送に係る経費最適化問題をはじめとして、様々な産業現場において複雑な組合せ最適化問題を早く正確に求解するニーズは今後ますます高まると予測される。よって、本発明は産業上の利用可能性を有するものである。
【符号の説明】
【0113】
1 個体群データ記憶部
2 個体選択部
3 次世代個体生成部
4 適合度評価部
5 次世代個体群選定部
6 個体群多様性評価部
7 評価値安定性評価部
8 個体群多様性増加部
9 高適合度個体記憶部
10 組合せ最適化問題求解装置
S1 個体群データ初期化ステップ
S2 個体選択ステップ
S3 次世代個体生成ステップ
S4 適合度評価ステップ
S5 次世代個体群選定ステップ
S6 多様性減少判断ステップ
S7 評価値安定性ステップ
S8 個体群多様性増加ステップ
S9 終了条件判定ステップ
S10 結果出力ステップ
S11 終了
S12 多様性減少と判断されない場合
S13 終了条件を満たさない場合