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

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

▶ 国立大学法人 名古屋工業大学の特許一覧

特許7561432共進化的組合せ最適化システムおよびプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-26
(45)【発行日】2024-10-04
(54)【発明の名称】共進化的組合せ最適化システムおよびプログラム
(51)【国際特許分類】
   G06N 99/00 20190101AFI20240927BHJP
   E21D 11/40 20060101ALI20240927BHJP
   G06Q 50/08 20120101ALN20240927BHJP
【FI】
G06N99/00 180
E21D11/40 B
G06Q50/08
【請求項の数】 4
(21)【出願番号】P 2021520857
(86)(22)【出願日】2020-05-21
(86)【国際出願番号】 JP2020020170
(87)【国際公開番号】W WO2020235649
(87)【国際公開日】2020-11-26
【審査請求日】2023-04-03
(31)【優先権主張番号】P 2019095452
(32)【優先日】2019-05-21
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】304021277
【氏名又は名称】国立大学法人 名古屋工業大学
(74)【代理人】
【識別番号】100141139
【弁理士】
【氏名又は名称】及川 周
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100147267
【弁理士】
【氏名又は名称】大槻 真紀子
(74)【代理人】
【識別番号】100181722
【弁理士】
【氏名又は名称】春田 洋孝
(72)【発明者】
【氏名】加藤 昇平
(72)【発明者】
【氏名】伊原 滉也
【審査官】渡辺 順哉
(56)【参考文献】
【文献】小森 一樹 ほか,階層構造を持つ粒子群最適化法の基礎検討,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2012年05月21日,Vol. 112, No. 69,pp. 21-24,ISSN 0913-5685
【文献】陳 明 ほか,粒子群最適化の手法を用いたハイブリッドシステムの環境負荷最小化に関する研究,日本風力エネルギー学会学会誌[online],日本,一般社団法人日本風力エネルギー学会,2010年,Vol. 32,pp. 315-318,[retrieved on 2020.06.12], Retrieved from the Internet: <URL: https://www.jstage.jst.go. jp/article/jweasympo/32/0/32_315/_pdf/-char/ja>
(58)【調査した分野】(Int.Cl.,DB名)
E21D 11/40
G06Q 10/04、50/08
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
複数の変数の関数である目的関数を制約条件の下で最適化する前記複数の変数の組を求める所定の問題を示す情報として、前記複数の変数の数と、前記複数の変数毎の定義域と、前記目的関数と、前記制約条件との組を取得する問題取得部と、
前記制約条件の下で前記目的関数を最適化するためのアルゴリズムのパラメータであって、前記複数の変数を複数の組に分割する分割数を含むパラメータを取得するパラメータ取得部と、
前記分割数に基づいて前記複数の変数が分割されて得られる複数の組それぞれについて、当該組に含まれる1以上の前記変数の組である部分解に対応する要素の複数の集まりである要素群を前記要素が位置をもつ空間である探索空間に配置する分割部と、
前記要素群に含まれる前記要素の前記探索空間内の位置に応じて評価される前記目的関数の値である評価値に基づいて、前記要素の前記探索空間内の位置であって前記所定の問題の最適解の候補の前記部分解に対応する位置である最適位置と、前記要素群に含まれる前記要素の前記探索空間内の位置とを、前記アルゴリズム及び前記パラメータに基づいて前記探索空間毎に更新する最適化部と、
前記探索空間にそれぞれ配置された前記要素群のそれぞれから選択された前記要素のそれぞれの前記探索空間内の位置に基づいて前記複数の変数の組を生成する統治部と、
前記統治部が生成した前記複数の変数の組に対して、前記評価値と、前記制約条件とを評価する評価部と、
前記探索空間それぞれについての前記最適位置に基づいて前記統治部によって生成された前記複数の変数の組を前記所定の問題の最適解として出力する出力部と、
を備える共進化的組合せ最適化システム。
【請求項2】
前記評価値と、前記制約条件から逸脱した程度とに基づいて、前記要素群に含まれる前記要素の前記探索空間内の位置同士の前記部分解としての優劣を判定する制約緩和部をさらに備え、
前記最適化部は、前記要素群に含まれる前記要素の前記探索空間内の位置と前記最適位置との優劣を前記制約緩和部が判定した結果に基づいて前記最適位置を更新する
請求項1に記載の共進化的組合せ最適化システム。
【請求項3】
前記複数の変数のうち離散値を取る変数に対応する次元の方向について前記要素の前記探索空間内の位置は当該変数が取り得る値の確率分布を示し、
前記確率分布に基づいて前記1以上の変数の組を生成する標本化部をさらに備える
請求項1または請求項2に記載の共進化的組合せ最適化システム。
【請求項4】
コンピュータに、
複数の変数の関数である目的関数を制約条件の下で最適化する前記複数の変数の組を求める所定の問題を示す情報として、前記複数の変数の数と、前記複数の変数毎の定義域と、前記目的関数と、前記制約条件との組を取得する問題取得ステップと、
前記制約条件の下で前記目的関数を最適化するためのアルゴリズムのパラメータであって、前記複数の変数を複数の組に分割する分割数を含むパラメータを取得するパラメータ取得ステップと、
前記分割数に基づいて前記複数の変数が分割されて得られる複数の組それぞれについて、当該組に含まれる1以上の前記変数の組である部分解に対応する要素の複数の集まりである要素群を前記要素が位置をもつ空間である探索空間に配置する分割ステップと、
前記要素群に含まれる前記要素の前記探索空間内の位置に応じて評価される前記目的関数の値である評価値に基づいて、前記要素の前記探索空間内の位置であって前記所定の問題の最適解の候補の前記部分解に対応する位置である最適位置と、前記要素群に含まれる前記要素の前記探索空間内の位置とを、前記アルゴリズム及び前記パラメータに基づいて前記探索空間毎に更新する最適化ステップと、
前記探索空間にそれぞれ配置された前記要素群のそれぞれから選択された前記要素のそれぞれの前記探索空間内の位置に基づいて前記複数の変数の組を生成する統治ステップと、
前記統治ステップにおいて生成された前記複数の変数の組に対して、前記評価値と、前記制約条件とを評価する評価ステップと、
前記探索空間それぞれについての前記最適位置に基づいて前記統治ステップによって生成された前記複数の変数の組を前記所定の問題の最適解として出力する出力ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、共進化的組合せ最適化システムおよびプログラムに関する。
本願は、2019年5月21日に、日本に出願された特願2019-95452号に基づき優先権を主張し、その内容をここに援用する。
【背景技術】
【0002】
次元数が極めて多く、制約の厳しい制約付組合せ最適化問題を解決するアルゴリズムが適用できる問題として、例えばトンネル工法であるシールド工法におけるセグメント割付が挙げられる。シールド工法は、都市部等の厳しい条件下でのトンネル建設に必要不可欠なトンネル工法として、世界中で広く用いられている。
【0003】
最適化問題を解決するアルゴリズムとしてはPSOやICPSO(非特許文献1)が知られている。PSO(Particle Swarm Optimization)とは位置と速度を持つ粒子の群れが探索空間を飛びまわり、最良の位置(解)を探すアルゴリズムである。群れのメンバーは良い位置について情報交換し、それに基づいて自身の位置と速度を調整する。一方、ICPSOでは、粒子の位置は直接解を表すのではなく、変数の取りうる値の確率分布として表現される。これにより、変数値が離散値でも扱うことができる。
【0004】
一方、特許文献1には、シールド工法の掘進管理システムにおいて、構築すべきセグメントリングを組み立てるのに必要なセグメントの組み合わせを作業者が入力した場合に、計画線との比較により入力の内容が妥当かどうか判定を行うことが記載されている。また、特許文献2には、複数の種類のセグメントを用いる場合に、分割片の組付位置および組付順序をオペレータの意思で簡単に決定できるようにする方法が記載されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特許03340711号公報
【文献】特開2011-080319号公報
【非特許文献】
【0006】
【文献】Strasser, Shane, et al. "A new discrete particle swarm optimization algorithm." Proceedings of the Genetic and Evolutionary Computation Conference 2016. ACM, 2016.
【文献】Potter, Mitchell A., and Kenneth A. De Jong. "Cooperative coevolution: An architecture for evolving coadapted subcomponents." Evolutionary computation 8.1 (2000): 1-29
【文献】Takahama, Tetsuyuki, Setsuko Sakai, and Noriyuki Iwane. "Constrained optimization by the ε constrained hybrid algorithm of particle swarm optimization and genetic algorithm." Australasian Joint Conference on Artificial Intelligence. Springer, Berlin, Heidelberg, 2005.
【文献】伊原滉也, 加藤昇平.「ε ccicpso を用いたシールド工法におけるセグメント割付」、人工知能学会全国大会論文集, Vol. JSAI2019, pp. 4C3-J-13-04(4pages), 2019
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、従来技術である例えばICPSOでは、変数ごとに確率分布からサンプリングされた値を使って解候補を生成するため、変数の次元数が大きいとき生成される解候補の分散が大きくなり本来探索すべき場所に解が生成できず、探索が進行しづらくなる。そこで、本発明では、次元数の大きい制約付大規模組合せ最適化問題において優位性を持つアルゴリズムを提案し、それをシールド工法におけるセグメント割付に適用することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決する本発明は以下の通りである。
(1)複数の変数の関数である目的関数を制約条件の下で最適化する前記複数の変数の組を求める所定の問題を示す情報として、前記複数の変数の数と、前記複数の変数毎の定義域と、前記目的関数と、前記制約条件との組を取得する問題取得部と、前記制約条件の下で前記目的関数を最適化するためのアルゴリズムのパラメータであって、前記複数の変数を複数の組に分割する分割数を含むパラメータを取得するパラメータ取得部と、前記分割数に基づいて前記複数の変数が分割されて得られる複数の組それぞれについて、当該組に含まれる1以上の前記変数の組である部分解に対応する要素の複数の集まりである要素群を前記要素が位置をもつ空間である探索空間に配置する分割部と、前記要素群に含まれる前記要素の前記探索空間内の位置に応じて評価される前記目的関数の値である評価値に基づいて、前記要素の前記探索空間内の位置であって前記所定の問題の最適解の候補の前記部分解に対応する位置である最適位置と、前記要素群に含まれる前記要素の前記探索空間内の位置とを、前記アルゴリズム及び前記パラメータに基づいて前記探索空間毎に更新する最適化部と、前記探索空間にそれぞれ配置された前記要素群のそれぞれから選択された前記要素のそれぞれの前記探索空間内の位置に基づいて前記複数の変数の組を生成する統治部と、前記統治部が生成した前記複数の変数の組に対して、前記評価値と、前記制約条件とを評価する評価部と、前記探索空間それぞれについての前記最適位置に基づいて前記統治部によって生成された前記複数の変数の組を前記所定の問題の最適解として出力する出力部と、を備える共進化的組合せ最適化システムである。
【0009】
(2)上記の共進化的組合せ最適化システムは、前記評価値と、前記制約条件から逸脱した程度とに基づいて、前記要素群に含まれる前記要素の前記探索空間内の位置同士の前記部分解としての優劣を判定する制約緩和部をさらに備え、前記最適化部は、前記要素群に含まれる前記要素の前記探索空間内の位置と前記最適位置との優劣を前記制約緩和部が判定した結果に基づいて前記最適位置を更新する。
【0010】
(3)上記の共進化的組合せ最適化システムは、前記複数の変数のうち離散値を取る変数に対応する次元の方向について前記要素の前記探索空間内の位置は当該変数が取り得る値の確率分布を示し、前記確率分布に基づいて前記1以上の変数の組を生成する標本化部をさらに備える。
【0011】
(4)コンピュータに、複数の変数の関数である目的関数を制約条件の下で最適化する前記複数の変数の組を求める所定の問題を示す情報として、前記複数の変数の数と、前記複数の変数毎の定義域と、前記目的関数と、前記制約条件との組を取得する問題取得ステップと、前記制約条件の下で前記目的関数を最適化するためのアルゴリズムのパラメータであって、前記複数の変数を複数の組に分割する分割数を含むパラメータを取得するパラメータ取得ステップと、前記分割数に基づいて前記複数の変数が分割されて得られる複数の組それぞれについて、当該組に含まれる1以上の前記変数の組である部分解に対応する要素の複数の集まりである要素群を前記要素が位置をもつ空間である探索空間に配置する分割ステップと、前記要素群に含まれる前記要素の前記探索空間内の位置に応じて評価される前記目的関数の値である評価値に基づいて、前記要素の前記探索空間内の位置であって前記所定の問題の最適解の候補の前記部分解に対応する位置である最適位置と、前記要素群に含まれる前記要素の前記探索空間内の位置とを、前記アルゴリズム及び前記パラメータに基づいて前記探索空間毎に更新する最適化ステップと、前記探索空間にそれぞれ配置された前記要素群のそれぞれから選択された前記要素のそれぞれの前記探索空間内の位置に基づいて前記複数の変数の組を生成する統治ステップと、前記統治ステップにおいて生成された前記複数の変数の組に対して、前記評価値と、前記制約条件とを評価する評価ステップと、前記探索空間それぞれについての前記最適位置に基づいて前記統治ステップによって生成された前記複数の変数の組を前記所定の問題の最適解として出力する出力ステップと、を実行させるためのプログラムである。
【発明の効果】
【0012】
本発明によるアルゴリズムによって、次元数の大きい制約付大規模組合せ最適化問題を優位的に解決でき、そのアルゴリズムをシールド工法におけるセグメント割付に適用することができる。
【図面の簡単な説明】
【0013】
図1】本発明の一つの実施態様である共進化的組合せ最適化システムを模式的に示した図である。
図2】CCICPSOのアルゴリズムを示した図である。
図3】ベンチマーク問題(C01)に対する実験結果を示した図である。
図4】ベンチマーク問題(C03)に対する実験結果を示した図である。
図5】ベンチマーク問題(C04)に対する実験結果を示した図である。
図6】ベンチマーク問題(C17)に対する実験結果を示した図である。
図7】ベンチマーク問題(C19)に対する実験結果を示した図である。
図8】ベンチマーク問題(C20)に対する実験結果を示した図である。
図9】セグメント割付の例について(a)計画線の配置、(b)セグメントの配置を、それぞれ模式的に示した図である。
図10】2次元シミュレーションにおけるシールド機を模式的に示した図である。
図11】シールド工事の実データを用いた二次元シミュレーション実験(以下、「二次元シミュレーション実験」と略す場合がある)におけるsg01×p101についての適応度(Fitness)の分布を示した図である。
図12】二次元シミュレーション実験におけるsg01×p102についての適応度の分布を示した図である。
図13】二次元シミュレーション実験におけるsg01×p103についての適応度の分布を示した図である。
図14】二次元シミュレーション実験におけるsg02×p101についての適応度の分布を示した図である。
図15】二次元シミュレーション実験におけるsg02×p102についての適応度を示した図である。
図16】二次元シミュレーション実験におけるsg02×p103についての適応度を示した図である。
図17】シールドマシンの側面を模式的に示した図である。
図18】シールドマシンの前面及び後面を模式的に示した図である。
図19】セグメント割付の例についてセグメントの配置を模式的に示した図である。
図20】Kピースを模式的に示した図である。
図21】Kピースの位置を模式的に示した図である。
図22】共進化的組合せ最適化システムの構成の一例を示す図である。
図23】共進化的組合せ最適化部のハードウェア構成の一例を示す図である。
図24】εCCICPSOの処理の一例を示す図である。
図25】初期化処理の一例を示す図である。
図26】共進化的組合せ最適化処理の一例を示す図である。
図27】幾何シミュレーションにおけるセグメントの一例を示す図である。
図28】幾何シミュレーションにおけるセグメントを配置するときの仮想シールドマシンの位置の一例を示す図である。
図29】第1の実験の適応度の収束の様子を示す図である。
図30】第1の実験の適応度の収束の様子を示す図である。
図31】第1の実験の適応度の収束の様子を示す図である。
図32】第2の実験の適応度を示す図である。
図33】第2の実験の実験結果に基づいてセグメントが配置された結果を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照しつつ本発明の実施の形態について説明する。本発明は、以下の実施形態に限定されるものではなく、発明の範囲を逸脱しない限りにおいて、変更、修正、改良を加え得るものである。
【0015】
(第1の実施形態)
図1に基づいて、本発明に係る共進化的組合せ最適化システムについて説明を行う。図1の入力部とは問題(次元数、各変数の定義域、目的関数、制約条件式)とアルゴリズムに関するパラメータ(分割数、終了条件、スケーリングファクタ、PSOパラメータ)を入力する部分である。分割部とは問題を部分問題に分割し、各部分問題に対して粒子群を割り当てる部分である。制約緩和部とはε制約法に従って、εレベルを制御し、εレベル比較によって解を順序付ける部分である。粒子群最適化部とは粒子群の評価値に応じてベスト位置・サンプルの更新と、各粒子の位置・速度を更新する部分である。標本化部とは確率分布を表す粒子からランダムに標本化して部分解を生成する部分である。統治部とは部分解を統合して元問題に対する解を生成する部分である。評価部とは解の目的関数値と制約違反量を評価する部分である。出力部とは各粒子群のグローバルベストサンプルを統治部で統合して生成した解を最終的な解として出力する部分である。
なお、制約緩和部、粒子群最適化部、標本化部は複数個で構成されてもよい。
【0016】
本発明を構成するCCICPSOと、それにε制約法を組み合わせたCCICPSO(以下、「εCCICPSO」と略す場合がある)は、ICPSOとCC(Cooperative Coevolution、非特許文献2)に、さらにε制約法(非特許文献3)を組み合わせたアルゴリズムである。
図2にそのCCICPSO(以下、「アルゴリズム1」と言う場合がある)を示す。ここで、ε制約法は、探索途中で閾値εまで制約違反を許容することによって一時的に制約を緩和し、解候補群に多様性を持たせて探索を行うことができる。
【0017】
CCは部分問題ごとに代表解を選出しないと解を評価することができない。また、ε制約法は、閾値εまで制約違反を許容することで、解の多様性を確保しながら探索を進行させることができるが、次元数が大きい場合には1変数ごとの違反許容量をある程度確保するとεの値が大きくなり、少数の変数が大きく違反している場合まで許容してしまうため、本来探索の必要がない空間を探索し、効率が低下する。
【0018】
εCCICPSOとCCを対比すると、εCCICPSOはCCに対して、ICPSOにおけるグローバルベストサンプルを代表解として選出することで、余分なメモリを消費することなくCCを適用できる利点を特徴として持つ。
また、εCCICPSOとε制約法を対比すると、εCCICPSOはε制約法に対して、決定変数ベクトルを分割し扱う変数ベクトルを低次元に抑えることで探索効率の低下を防ぐことができる。
【0019】
すなわち、公知技術は、(低次元の)組合せ最適化、(制約なし)大規模最適化、(低次元の)制約付最適化をそれぞれ独立に扱う手法であり、これらの複合である制約付大規模組合せ最適化問題にそのまま応用することはできない。
それに対して、εCCICPSO技術は、ICPSO、CCフレームワーク、ε制約法がそれぞれの欠点を補いあうことによって制約付組合せ最適化問題における探索効率を高めており、特に次元数の大きい制約付大規模組合せ最適化問題において優位性を持つ。
【0020】
さらにCCICPSOの説明を行う。CCICPSOはPotter・De Jong のモデルに基づいて、対象の変数ベクトルを分割し部分問題ごとに対応するサブ粒子群を用いて最適化を実行する。それぞれのサブ粒子群は同時にかつ独立に ICPSO によって進化する。ICPSOはStrasser・Goodman・Sheppard・Butcherによって提案された順序関係のない離散変数の最適化を扱う新しいPSOアルゴリズムであり、名義尺度上の離散最適化問題において他の離散PSOアルゴリズムよりも性能が上回ることが実証されている[Strasser, S., Goodman, R., Sheppard, J., and Butcher, S.: A new discrete particle swarm optimization algorithm, in Proceedings of the Genetic and Evolutionary Computation Conference (GECCO), pp. 53-60ACM(2016)]。PSOアルゴリズムでは、探索空間内の最良の位置を粒子群が探索する。それぞれの粒子は位置と速度を持ち,粒子群全個体の情報を参照して速度と位置の更新を行う。
【0021】
通常、位置と速度は連続値を前提としており、位置そのものが連続値を持つ解候補に相当する。ICPSOでは、粒子pの位置Xpは決定変数ベクトルを直接表すのではなく、Estimationof Distribution Algorithm(EDA)[Larranaga, P. and Lozano, J. A.: Estimation of distribution algorithms: A new tool for evolutionary computation, Vol. 2, Springer Science & Business Media (2002)]のように,要素ごとの取りうる値の確率分布を表す。その確率分布からサンプリングされた解Spの適応度を評価し、粒子pの適応度とする。これによって決定変数が離散値でも、位置と速度は連続値であるため、通常のPSO同様の位置と速度の更新式を用いて探索を行うことができる。位置と速度は、それまでに発見した最良位置を利用して更新される。ICPSOでは粒子pの位置XpからのサンプルSp=[sp,1,sp,2 ・ ・ ・ ,sp,n]がベストサンプルを超えた場合、ベスト位置の確率分布は各変数Xiのすべての状態j∈Vals(Xi)に対して次のように更新される。
【0022】
【数1】
【0023】
部分解の適応度は他の各粒子群から選択された部分解(コラボレータ)との組み合わせから決定される。コラボレータの選択方法は多数存在する[Wiegand, R. P., Liles, W. C., and Jong, K. A. D.: An empirical analysis of collaboration methods in cooperative coevolutionary algorithms, in Proceedings of the 3rd annual conference on genetic and evolutionary computation, pp. 1235-1242 Morgan Kaufmann Publishers Inc. (2001)]が、本稿では最も広く用いられている各集団から最良個体を選択する手法を用いる。すなわち、CCICPSOではコラボレータとして各粒子群のグローバルベストサンプルが用いられる。
【0024】
図2に示されたCCICPSOについて説明を行う。分割数をdとし、Step1-7で分割部においてd個の群れを初期化する。Step6ではグローバルベストを初期化する。コラボレータ(グローバルベストサンプル)が定義されていない状態では適応度評価ができないため、ここではランダムに選択された粒子とサンプルをグローバルベストとする。Step9から28ではd個の粒子群を各粒子群最適化部がそれぞれ進化させる。Step15と19は数式(1)に基づいて粒子pのローカルベスト位置XpBestと全群のグローバルベスト位置XgBestの位置の更新を行う。これらのベスト位置を用いて、Step24と25で位置と速度を更新する。
【0025】
換言すれば、次のようにも記載できる。分割数をdとし、Step1-7でd個の群れを初期化する。Step3は粒子pの位置Xpと速度Vpを初期化する。Step3は粒子pのローカルベスト位置XpBestpとローカルベストサンプルSpBestpを初期化する。ここでは、粒子pの位置Xpをそのままローカルベスト位置、そのサンプルSpをローカルベストサンプルとする。Step6ではグローバルベストを初期化する。コラボレータであるグローバルベストサンプルが定義されていない状態では適応度評価ができないため、ここでは群れからランダムに選択された粒子の位置とそのサンプルをその群れのグローバルベストとする。Step9-29では終了条件を満たすまでd個の粒子群をラウンドロビン方式で、順に1世代ずつ進化させる。各世代において、Step11-23で全粒子の評価を行い、その後Step24-27で全粒子の位置と速度を更新する。各粒子の評価では、まずStep12で標本化部において粒子pの位置XpからサンプルSpを得る。Step13で統治部においてSpと他の群れのグローバルベストサンプルと組み合わせて解候補Sを得る。Step14で評価部において解Sを評価し、その評価値をもとにStep15-18とStep19-22で粒子郡最適化部においてローカルベストとグローバルベストの更新をそれぞれ行う。Step16と20は数式(1)に基づいて粒子pのローカルベスト位置XpBestと全群のグローバルベスト位置XgBestの位置の更新を行う。これらのベスト位置を用いて、それぞれの粒子についてStep24で粒子郡最適化部において数式(2)に基づいて速度を更新し、Step25で数式(3)に基づいて位置を更新する。
【0026】
ステップAは第1のICとPSOの組み合わせ(Step2-5)、第1のIC(Step6)の順序であり、ステップBは第2のIC(Step11)、第1のCC(Step12)、第1のCCとICとPSOの組み合わせ(Step13)、第1のPSO(Step14)、第3のIC(Step15、16)、第2のPSO(Step18)、第2のICとPSOの組み合わせ(Step19、20)、第3のPSO(Step23)及び第3のICとPSOの組み合わせ(Step24、25)の順序である。また、ステップCはStep29がそれぞれ該当する。また、Step1-7、Step9-28ではループ構造となっている。そして、第1のPSO(Step14)と第2のPSO(Step18)においてε制約法を適用することができる。
【0027】
【数2】
【0028】
【数3】
【0029】
ここでの各演算子はベクトルの要素ごとに作用する。U(0,φ1)とU(0,φ2)はそれぞれ0からφ1までと0からφ2までの値をとる一様乱数である。ベクトルXpBestpは粒子pが今までに到達した中での最良位置(ローカルベスト位置)であり、ベクトルXgBestは群れの全粒子がこれまで到達した中での最良位置(グローバルベスト位置)である。粒子は(1)で更新された速度ベクトルを数式(2)で位置ベクトルに加算することで探索空間内を移動する。パラメータω、φ1、φ2はそれぞれinertia、cognitivecomponent、social componentと呼ばれる定数で、これらを調節することで粒子の振る舞いを制御することができる。
【0030】
ε制約法について説明を行う。ε制約法[Takahama, T. and Sakai, S.: Constrained optimization by ε constrained particle swarm optimizer with ε-level control, in Soft computing as transdisciplinary science and technology, pp. 1019-1029, Springer(2005)]では、制約付き最適化問題を直接探索法で解く際に、通常の比較の代わりにεレベル比較を用いる。εレベル比較は、制約違反の尺度である制約逸脱度と目的関数の評価値の両方を考慮した比較であり、これを用いて解候補を比較することで、制約無し最適化用に設計された既存手法が制約付き最適化問題に対応できるようになる。この手順は図2のStep14で図1の制約緩和部において実行される。制約をどの程度違反しているか量る尺度として制約逸脱度φ(x)を導入する。本発明では、次の定義を採用した。
【0031】
【数4】
【0032】
εレベル比較は目的関数値と制約逸脱度の組(f,φ)の集合上の比較である。制約逸脱度がε以下の場合と制約逸脱度が同値の場合は目的関数値の大小関係、それ以外の場合は制約逸脱度の大小関係を用いて、(f,φ)の大小を決定する。具体的にはεレベル比較<ε(ε∈(0,∞))は解x1、x2の関数値をf1、f2、制約逸脱度をφ1、φ2として次のように定義される。
【0033】
【数5】
【0034】
(ベンチマーク問題)
ベンチマーク問題はCEC2017(2017 IEEE Congress on Evolutionary Computation)のCompetitions on Real-Parameter Single Objective Optimizationで用いられたConstrained Benchmark Setを用いた。このベンチマークセットには28の制約付連続最適化問題(単目的)が含まれる。これらの問題を制約付「組み合わせ」問題として用いるために、変数の定義域を整数に限定した。以下に使用したベンチマーク問題の定義(C01(数式(7))、C02(数式(8))、C03(数式(9))、C017(数式(10))、C019(数式(11))、C020(数式(12)))を抜粋する。ただしすべて最小化問題であり、fは目的関数、gは不等式制約、hは等式制約を表し、Dは問題の次元数を表す。
【0035】
【数6】
【0036】
【数7】
【0037】
【数8】
【0038】
【数9】
【0039】
【数10】
【0040】
【数11】
【0041】
ベンチマーク問題のC01、C03、C04、C17、C19、C20を用いてアルゴリズムの性能を比較する。ここでは、前記6問題を次元数D=50として用いる。本発明のεCCICPSOをεICPSO[Ihara, K., Kato, S., Nakaya, T., Ogi, T., and Masuda, H.: A PSO Based Approach to Assign Segments for Reducing Excavated Soil in Shield Tunneling, in Proceedings of the 11th International Conference on Agents and Artificial Intelligence (ICAART), pp. RP136 (8 pages) (2019)]と比較する。比較のため、各アルゴリズムの評価回数を500,000 回までとして、各問題に対する最適化実験をそれぞれ50試行ずつ行った。両者のアルゴリズム設定は以下とした。
εCCICPSO:個体数50、分割数2、繰り返し数5000、スケーリングファクタ0.75
εICPSO:個体数50、繰り返し数10000、スケーリングファクタ0.75
実験結果を図3図8に示す。全てのアルゴリズムが各問題の各試行において実行可能解を獲得できたため,最終的な解の適応度のみ抜粋し、50試行における適応度の分布を箱ひげ図によって示す。図中の箱は第1四分位点と第3四分位点を表し、箱内の線は中央値、箱外の線は最小値と最大値を表した。全問題設定において、εCCICPSOが統計的に有意に優れた性能を示すことが確認された。
[実施例]
【0042】
以下のように、シールド工事の実データを用いた二次元シミュレーション実験によって、本発明のセグメント割付に対する有効性を検証した。
【0043】
(セグメント割付計画問題)
セグメント割付計画では、図9のように直線と曲線からなるトンネルの計画線1(planning line)に沿って、工事ごとに定められた複数タイプのセグメント(segment)を割付ける。セグメント割付には次の2つの要求がある。一つには、割付けた全てのセグメントと計画線1とのズレを許容値gt以内に収めること、二つには、割付けたセグメントを通って掘削するシールドマシンの掘削土量を少なくすることである。前者を不等式制約、後者の掘削土量を目的関数として、次のような最適化問題として定義される。
【0044】
【数12】
【0045】
ここで、xi∈{1,・・・,k}はi番目に割付けられたセグメントのタイプを表し、決定変数ベクトルx=(x1,x2,・・・,xn)は割付けたセグメントの系列を表す。使用するセグメントはkタイプあるものする。また、f(x)はセグメント列xを配置する際にシールドマシンが掘削する土量、gtはズレの許容値、gi(x)はセグメント列xにおいてi番目のセグメントの計画線1とのズレを表す。ここでいうズレとは、セグメントの中心点と計画線1のユークリッド距離である。
【0046】
(最適化フロー)
1.計画線形データ、セグメント種別データ、マシン寸法データを入力する。
2.アルゴリズムパラメータ(個体数、分割数、終了条件、スケーリングファクタ、PSOパラメータ)を設定する。
3.εCCICPSOを実行する。
アルゴリズム1のStep13において、解候補を評価する際には、後述の評価フローに従う。
4.εCCICPSOの最良個体を出力する。
分割数は、1≦分割数≦セグメント数(1:分割なし、2:2分割、・・・セグメント数:最大分割)の条件を満たす任意の整数を取ることができる。なお、シールド工事における「粒子」とは、最適化対象のセグメント列のセグメント数をN、分割数をKとすると、一つの粒子は、N/Kのセグメント列を割付するセグメントの組合せの確率分布を表現することになる。また、セグメント割付計画における離散変数とは、一つのセグメント列を構成しうるセグメントのパターンを表現し、2次元平面に簡単化した問題設定における最も簡単な例では、Type1、Type2、Type3(ストレート、左折れ、右折れ)の3つの値を取ることになる。
【0047】
(評価フロー)
解X=[X1,・・・,Xn]を評価する際のフローを以下に示す。ただし、変数Xi=∈{1,...,k}はi番目に割付けられたセグメントのタイプを表し、ベクトルXは割付けられたセグメントの系列を表す。つまりkタイプのセグメントを組合せてn個のセグメントを割付けられたものを想定する。
1.計画線形データに従って、シミュレーション空間上に計画線を生成する(図1a)。
2.計画線の始点に1番目のセグメントを配置する。
3.配置されたセグメントの後端点と計画線とのユークリッド距離を計算する(制約値)。
4.後端点に次のセグメントを配置する。
5.手順3、4をn番目のセグメントを配置するまで繰り返す(図1b)。
6.計画線の始点にシールドマシンを配置する。
7.配置されたセグメントに沿ってシールドマシンを掘進させる。
8.幾何計算により、シールドマシンの通過領域の面積を計算する(目的値)。
9.手順3で計算した制約値と手順7で計算した目的値を評価として出力する。
【0048】
(シミュレータによる適応度と制約逸脱度評価)
解の適応度と制約逸脱度の評価を、二次元シミュレータを用いて行う。シミュレータ上では図10のようなシールドマシン2を考える。掘削土量がシールドマシン2の掘削した領域の面積に比例すると仮定すると、掘削土量を最小化するにはマシンの通過領域の面積を最小化すればよい。通過領域は、あるセグメント列が与えられたとき、セグメント1つ1つに対してそれを配置するシールドマシン2の位置を計算し、そのそれぞれの前胴(front drum)、後胴(rear drum)の各頂点の軌跡から求めることができる。このとき、前胴の前面が通過する領域の面積は、前胴の幅と計画線1の全長の積で求まり、どのようなセグメント配置をしても変化しないため、この領域を除いた領域の面積を適応度とする。これは、図10の余堀り(overcut)で掘削した領域の面積に相当する。制約逸脱度は数式(2)のように許容値を超えたズレの総和として定義されている。二次元シミュレータ上においてセグメントと計画線1のズレは、セグメントの前方の辺の中点から計画線1におろした垂線の長さとして定義される。
【0049】
(比較手法)
シールド施工の現場では熟練技術者の手によってセグメントの割付が行われている。二次元に単純化したシミュレータ上において、三次元的に割付ける現実の技術者と直接比較することはできないため、先行研究[Ihara, K., Kato, S., Nakaya,
T., Ogi, T., and Masuda, H.: A PSO Based Approach to Assign Segments for Reducing Excavated Soil in Shield Tunneling,in Proceedings of the 11th International Conference on Agents and Artificial Intelligence (ICAART), pp. RP136 (8 pages) (2019)]で技術者による割付の近似として用いられたズレのみを評価とした貪欲法による手法(Engineer*)を、技術者の代わりとして比較する。加えてεDGA[Ihara, K. and Kato, S.: A GA Based Approach for Segment Assignment to Reduce Excavated Soil in Shield Tunneling, in Proceedings of the 24th International Symposium on Artificial Life and Robotics 2019, pp. 270-274 (2019)]、εICPSO[Ihara, K., Kato, S., Nakaya, T., Ogi, T., and Masuda, H.: A PSO Based Approach to Assign Segments for Reducing Excavated Soil in Shield Tunneling, in Proceedings of the 11th International Conference on Agents and Artificial Intelligence (ICAART), pp. RP136 (8 pages) (2019)]とも比較する。
【0050】
(初期個体)
制約付最適化において、特に実行可能領域が狭い場合、実行可能領域もしくはその近傍から探索を開始することが望ましい。本実験では実行可能解はシミュレータと前述のEngineer*を用いて発見できるため、獲得した実行可能解S*を用いてアルゴリズムを初期化する。εICPSOでは、粒子の速度と位置ベクトルは全てランダムに初期化される。そのうち1つの粒子のサンプリングからS*が得られたと仮定して、ローカルベストとグローバルベストの更新を行う。εCCICPSOでは、各群についてS*を分割した部分解が得られたと仮定して同様の更新を行う。εDGAでは得られたS*に一様突然変異を適用した解を初期個体として用いる。
【0051】
(問題設定)
文献[Ihara, K., Kato, S., Nakaya, T., Ogi, T., and Masuda, H.: A PSO
Based Approach to Assign Segments for Reducing Excavated Soil in Shield Tunneling,in Proceedings of the 11th International Conference on Agents and Artificial Intelligence (ICAART), pp. RP136 (8 pages) (2019)]と同様に、それぞれ長さや形の違う計画線1のpl01、pl02、pl03とセグメントセットsg01、sg02を用いて計6種のセグメント割付実験を行った。sg01には3タイプ、sg02はsg01に2タイプ加えた計5タイプのセグメントが含まれる。それぞれのセグメントで形は違うが長さは一律であるため、計画線の長さによって問題の次元数(割付るセグメント数)が決まり、pl01、pl02、pl03はそれぞれ267、210、325次元となる。各問題でセグメントと計画線のズレの許容値はgt=50[mm]とした。これらの問題設定は実際のシールド工事で用いられた値から作成した。
【0052】
(アルゴリズムの設定)
各アルゴリズムについて50試行ずつ実施した。比較のため、それぞれの試行における解候補の評価回数を最大500,000回とした、提案手法の分割数5、群サイズ50、反復数を2,000とした。スケーリングファクタはε=0.01とした。これら以外のパラメータは、文献[Ihara, K., Kato, S., Nakaya, T., Ogi, T., and Masuda, H.: A PSO Based Approach to Assign Segments for Reducing Excavated Soil in Shield Tunneling,in Proceedings of the 11th International Conference on Agents and Artificial Intelligence (ICAART), pp. RP136 (8pages) (2019), (to appear)]と同様に設定した。
【0053】
(実験結果)
提案手法はズレを許容値以下に収めたうえで、掘削土量をどの比較手法よりも削減できることが分かった。表1に各問題における実験結果を示す。全てのアルゴリズムが各問題の各試行において実行可能解を獲得できたため、最終的な解の適応度のみ抜粋した。適応度は前述の掘削土量をシミュレートした評価値になっている。表内のaverage、best、worstは各アルゴリズムの50試行における適応度の平均値、最小値、最大値を表す。平均値のうち太字で示したものは他の全てのアルゴリズムに対して統計的に有意な差があったことを示す(paired Student t-Test、α=0.01)。図11図16は全アルゴリズムの性能差を図示している。箱ひげ図はεCCICPSO、εICPSO、εDGAの50試行における解の評価値の分布を示す。ここで、箱は第1四分位点と第3四分位点を表し、箱内の線は中央値、箱外の線は最小値と最大値を表している。破線は技術者の割付の近似であるEngineer*の評価値を示している。
【0054】
【表1】
【0055】
εCCICPSOは他手法と比較して明らかに性能が上回った。全ての問題設定において、他の全アルゴリズムに対して有意水準1%で統計的に有意な差が見られた。ほとんどの問題でεCCICPSOのworstが、εICPSOのaverageを上回っている。特に次元数nの大きい問題ほど、εCCICPSOとεICPSOの性能差が顕著にみられる。一方で、計画線ごとに結果を比較すると、εCCICPSOはsg02を用いた問題設定では、sg01を用いた場合に比べて適応度が僅かに悪化していることがわかる。本来sg02はsg01のセグメントをすべて含むため、sg02を用いた問題にはsg01の場合と同等かそれ以上に良い解が存在するはずである。
【0056】
以上に説明したように、本実施形態に係る共進化的組合せ最適化システムは、(1)所定の問題(次元数、各変数の定義域、目的関数及び制約条件式)とアルゴリズムに関するパラメータ(分割数、終了条件、スケーリングファクタ、PSOパラメータ)を入力する入力部、前記問題を部分問題に分割し、各部分問題に対して粒子群を割り当てる分割部、前記粒子群の評価値に応じてベスト位置・サンプルの更新と、各粒子の位置・速度を更新する複数の粒子群最適化部、確率分布を表す粒子からランダムに標本化して部分解を生成する標本化部、前記粒子群最適化部の一つに対応する一つの標本化部を含む複数の粒子化部、部分解を統合して元問題に対する解を生成する統治部、前記解の目的関数値と制約違反量を評価する評価部、および、各粒子群のグローバルベストサンプルを前記統治部で統合して生成した解を最終的な解として出力する出力部を備え、各粒子群最適化部における粒子群内の粒子数に相当する個体数、前記粒子群最適化部の数に相当する分割数、粒子群最適化部が最適化を終了するための条件である終了条件、粒子群最適化部において最良位置の更新量を決定するスケーリングファクタ及び前記粒子群最適化部における粒子の挙動を制御するためのPSOパラメータを含む所定のアルゴリズムパラメータに対して、第1のICとPSOの組み合わせ及び第1のICを含む前記分割数を初期化するステップAと、第2のIC、第1のCC、第1のCCとICとPSOの組み合わせ、第1のPSO、第3のIC、第2のPSO、第2のICとPSOの組み合わせ、第3のPSO及び第3のICとPSOの組み合わせを含み、前記修了条件を満たすまで前記分割数の粒子群をラウンドロビン方式で順に1世代ずつ進化させるステップBと、第2のCCとICとPSOを含み、前記全粒子からグローバルベストサンプルの組合せを出力するステップCと、を含むCCICPSOアルゴリズムによって、最適化を行うことを特徴とする共進化的組合せ最適化システムである。
「粒子群最適化部の数に相当する分割数」とは「分割部において元の問題が分割された部分問題の数」とも言える。
また、「所定の問題(次元数、各変数の定義域、目的関数及び制約条件式)」とは、次元数、各変数の定義域、目的関数及び制約条件式が、所定の問題の要素として含まれることを意味する。
【0057】
また、本実施形態に係る共進化的組合せ最適化システムは、
(2)前記CCICPSOアルゴリズムにおいて、前記ステップAは第1のICとPSOの組み合わせ、第1のICの順序であり、前記ステップBは第2のIC、第1のCC、第1のCCとICとPSOの組み合わせ、第1のPSO、第3のIC、第2のPSO、第2のICとPSOの組み合わせ、第3のPSO及び第3のICとPSOの組み合わせの順序で構成されることを特徴とする(1)に記載の共進化的組合せ最適化システムである。
【0058】
また、本実施形態に係る共進化的組合せ最適化システムは、
(3)前記ステップBの第1のPSOと第2のPSOは、前記ステップBで解同士についてεレベル比較により解の優劣を決定するε制約法を適用し、前記CCICPSOアルゴリズムに、ε制約法に従って、εレベルを制御し、εレベル比較によって解を順序付ける制約緩和部を追加することで、前記CCICPSOアルゴリズムはεCCICPSOアルゴリズムであることを特徴とする(2)に記載の共進化的組合せ最適化システムである。
【0059】
また、本実施形態に係る共進化的組合せ最適化システムは、
(4)(1)~(3)に記載の共進化的組合せ最適化システムを動作させるようにコンピューターを実行させるためのプログラムである。
また、本実施形態に係る共進化的組合せ最適化システムは、
(5)(1)~(3)に記載の共進化的組合せ最適化システムにおいて、前記所定の入力部に、問題(セグメント数、セグメントタイプ、掘削土量の計算式、割付たすべてのセグメント配列と計画線のズレの計算式およびズレの許容条件)とアルゴリズムに関するパラメータ(分割数、終了条件、スケーリングファクタ、PSOパラメータ)が入力されたセグメント割付最適化システムである。
「問題(セグメント数、セグメントタイプ、掘削土量の計算式、割付たすべてのセグメント配列と計画線のズレの計算式およびズレの許容条件)」とは、セグメント数、セグメントタイプ、掘削土量の計算式、割付たすべてのセグメント配列と計画線のズレの計算式およびズレの許容条件が、問題の要素として含まれることを意味する。また、「アルゴリズムに関するパラメータ(分割数、終了条件、スケーリングファクタ、PSOパラメータ)」とは、分割数、終了条件、スケーリングファクタ、PSOパラメータが、アルゴリズムに関するパラメータとして含まれることを意味する。
【0060】
CCとは、共進化(Cooperative Coevolution) [Potter, M. A. and Jong, K. A. D.: Coopera-tive coevolution: An architecture for evolving coadapted subcomponents, Evolutionary computation, Vol. 8, No. 1,pp. 1-29 (2000)]、PSOとは、粒子群最適化(Particle Swarm Optimization)、ICとは、離散変数に対する粒子表現(Integer Categorical Particle Representation) [Strasser, S., et al.: A new discrete particle swarm optimization algorithm, Proceedings of the Genetic and Evolutionary Computation Conference 2016. pp. 53-60, (2016)]のことを、それぞれ示す。
ε制約について、また、第1~3のIC、第1のCC、第1~3のPSO、第1~3のICとPSOの組み合わせ及び第1、2のCCとICとPSOの組み合わせについては上述したとおりである。
【0061】
(第2の実施形態)
以下、図面を参照しながら本発明の第2の実施形態について詳しく説明する。
建設業界では人手不足が世界的な問題となっており、AIによる省人化や生産性向上が求められている。シールド工法は世界中で用いられているトンネル工法の1つであり、都市部等の厳しい条件下でのトンネル建設に必要不可欠な工法である。シールド工法の計画段階において、セグメント割付が行われる。セグメント割付とは、リング状のトンネル壁面の割付を計画する作業である。このリング状のトンネル壁面をセグメントという。
【0062】
従来のセグメント割付では、技術者の手によって可能な限り計画線に沿ってセグメントを割付けることを目的として計画されている。しかしながら、計画線と割付けられたセグメントとのズレは許容値以下に収めればよい。計画線と割付けられたセグメントとのズレが許容値以下であるという制約を満たす解の中には、可能な限り計画線に沿ってセグメントを割付けられる場合より施工コストの小さな割付が存在すると考えられる。例えば、ε制約法と、離散最適化のために拡張された粒子群最適化手法(CCICPSO)とを用いて、二次元シミュレーション上でセグメント割付を最適化した例が知られている(非特許文献4参照)。しかし、二次元空間におけるシミュレーションでは、三次元空間上でのセグメントリングの回転によるズレ量の変化と、その制約とが考慮されていない。
以下の説明では、計画線と割付けられたセグメントとのズレを、セグメント割付のズレという場合がある。
【0063】
本実施形態に係る共進化的組合せ最適化システムでは、セグメント割付時に三次元幾何シミュレーションを用いて、計画線と割付けられたセグメントとのズレ、及び施工コストを算出し、当該ズレの値及び当該施工コストによる解の評価に基づいて進化計算によってセグメント割付を最適化する。本実施形態に係る共進化的組合せ最適化システムでは、セグメント割付の最適に加えてマシン制御計画も同時に最適化する。
【0064】
シールド工法とは、シールドマシンと呼ばれる筒状の掘削機を地中に掘進させ、土砂の崩壊を防ぎつつシールドマシンの内部で掘削・覆工作業を行い、トンネルを築造する工法である。本実施形態に係るシールドマシン2aは、図17及び図18に示すように前胴と後胴とからなる。後胴後部ではセグメントが組立及び設置される。シールドマシン2aは、設置されたセグメントをジャッキで押すことでその反力を推進力として掘り進める。前胴と後胴との接続部は屈曲が可能である。この屈曲が可能な接続部(屈曲部、または中折部などという)において前胴と後胴との角度は中折れ角と呼ばれる。この中折れ角は、カーブを曲がるために制御される。シールドマシン2aは、前面の掘削面で土を削りながら進む際に、シールドマシン2aの後部が通過する際に土壁に衝突しないよう掘削面の外側についたコピーカッターを制御して土を余分に削る。
【0065】
ここで図19を参照し、セグメント割付計画について説明する。図19は、本実施形態に係るセグメント割付計画の一例を示す図である。図19は、トンネルを上側からみた場合に配置された複数のセグメントs_i(i=1、2、・・・、n:nはセグメントの数)を示す。複数のセグメントs_iは、計画線1aに沿って配置される。以下の説明では、複数のセグメントs_iの1つを代表させてセグメントsという場合がある。
【0066】
計画線1aは、トンネルを計画するための線であり、直線と曲線とからなる線である。セグメント割付計画では、計画線1aに沿って、工事ごとに定められた数種類のセグメントを割付ける。セグメントの形状の種類をセグメントタイプという。
一般にセグメントタイプには、直進用のストレートのセグメントと、曲進用の水平方向にテーパーがかかったセグメントとがある。テーパーがかかったセグメントは、回転させることで垂直方向にも曲進することができる。セグメントタイプST1は、ストレートのセグメントの一例である。セグメントタイプST2、及びセグメントタイプST3は、テーパーがかかったセグメントの一例である。
上述したようにセグメントsはリング状である。セグメントタイプST1のセグメントsの形状は、トンネルを上側からみた場合に長方形である。セグメントタイプST2、及びセグメントタイプST3それぞれのセグメントsの形状は、トンネルを上側からみた場合に台形である。セグメントをセグメントリングともいう。
【0067】
セグメントsは複数のピースから形成される。図20のように、セグメントsを複数のピースによって組立てる際に、最後にセグメントsを閉合させるためのピースをKピースという。図20では、i番目のセグメントs_iのKピースとして、Kピースkpiが示されている。Kピースは1つのセグメントsに必ず1つ含まれる。そのため、Kピースの位置を基準としてセグメントsの回転を考える。それぞれのKピースの位置と番号とを対応させて、その番号によってKピースの位置を示す。この番号を、Kピース番号という。図21に示すように、Kピースの位置が垂直方向真上の位置である場合、このKピースの位置とKピース番号「0」とを対応させる。Kピース番号「0」と対応するKピース位置から右回りにKピース位置に正の番号を、左回りに負の番号をそれぞれ対応させる。この場合、Kピース番号がkであるセグメントsの回転角φ(k)は、式(13)のように定まる。
【0068】
【数13】
【0069】
ここで、Δφsはセグメントsの単位回転角度であり、通常は施工ごとに共通の値を用いる。また、組立時にKピースを最後に挿入する都合上、Kピースはセグメントsの上半分にある必要がある。つまり、回転角φ(k)の値は、-π/2以上かつπ/2以下である必要がある。Kピース番号「k」は式(14)を満たす。
【0070】
【数14】
【0071】
トンネルの強度を所定の強度以上とするために、隣り合うセグメントのKピース位置には制約がある。この制約をKピース制約という。Kピース制約のために、継手の位置が重ならないようにKピース位置を選択する必要がある。一般にi番目のセグメントのKピース番号をkとすると、Kピース制約は式(15)によって示される。
【0072】
【数15】
【0073】
ここでr、KNGはそれぞれ、施工ごとに与えられる整数である。
また、セグメント割付計画においては、セグメントタイプごとに予め在庫数が定められており、セグメントsはその在庫数だけしか使用できない。
マシン制御計画では、セグメント割付計画における各セグメント配置時のジャッキ伸長、中折角、及びコピーカッター長を計画する。ジャッキ伸長によってシールドマシン2aの位置が決まる。中折角によって掘削方向が決まる。コピーカッターによって余掘り量を調整する。このとき、掘削後の土壁にシールドマシン2aに接触しないようにしなければならない。また、配置したセグメントsとシールドマシン2aが接触しないようにしなければならない。
【0074】
セグメント割付計画では、前述したKピース制約を満たしつつ、割付けた全てのセグメントsと計画線1aとのズレを許容値g以内に収めなければならない。また、マシン制御計画問題では、割付けたセグメントsを通って掘削するシールドマシン2aの掘削土量を少なくすることが求められる。割付けた全てのセグメントsと計画線1aとのズレを不等式制約とし、割付けたセグメントsを通って掘削するシールドマシン2aの掘削土量を目的関数とする。本実施形態では、セグメント割付計画及びマシン制御計画問題は、式(16)及び式(17)によって示される最適化問題として定義される。なお、以下の説明において、数式において用いられる複数の成分からなる系列、またはベクトルを、ボールドタイプのフォントによって示す。
【0075】
【数16】
【0076】
【数17】
【0077】
ここで、系列sは、sを成分とし、セグメントの系列を示す。s∈{1,・・・,t}は、i番目に配置されたセグメントs_iのセグメントタイプを表す。系列kは、kを成分とし、Kピース位置の系列を示す。k∈{-Ks,・・・,Ks}は、そのセグメントs_iのKピース位置を表す。使用するセグメントタイプは、t種類あるものする。系列jは、jを成分とし、セグメント配置時のシールドマシン2aのジャッキ伸長の系列を示す。系列σは、σを成分とし、セグメント配置時のシールドマシン2aの中折角の系列を表す。
【0078】
また、f(s,k)は系列s、kを配置する際にシールドマシン2aが掘削する土量を表す。gはズレの許容値を表す。g(s;k)は系列s、kにおいてi番目のセグメントs_iの位置と計画線1aとのズレを表す。cS,i(s,k,j,σ)は、i番目のセグメントs_i配置時のシールドマシン2aと、既に配置されているセグメントsとの最小距離を表す。cS,iは、i番目のセグメントs_i配置時のシールドマシン2aと、既に配置されているセグメントsとの距離のクリアランスを表す。このクリアランスをマシン-セグメント距離のクリアランスという場合がある。cM;i(s,k,j,σ)は、シールドマシン2aと掘削土壁との最小距離を表す。cS,i,cM;iは、シールドマシン2aと掘削土壁とのの距離のクリアランスを表す。このクリアランスをマシン-土壁距離のクリアランスという場合がある。count(s,l)は、系列sに含まれるセグメントタイプlの数をカウントする関数であり、qはその在庫数を表す。多くの場合Σ=nであり、このとき在庫数制約は等式制約である。
【0079】
[共進化的組合せ最適化システムの構成]
図22は、本実施形態に係る共進化的組合せ最適化システム3の構成の一例を示す図である。共進化的組合せ最適化システム3は、上述したεCCICPSOのアルゴリズムに基づいて制約付組合せ最適化問題を解くためシステムである。共進化的組合せ最適化システム3は、問題設定部4と、アルゴリズム設定部5と、共進化的組合せ最適化部6と、解候補生成部7と、シミュレータ8と、評価部9と、出力部10とを備える。
【0080】
問題設定部4は、所定の問題を設定する。所定の問題とは、複数の変数Xの関数である目的関数fを制約条件gの下で最適化する複数の変数Xi(i=1、2、・・・、N:Nは複数の変数の数)の組を求める問題である制約付組合せ最適化問題である。問題設定部4は、複数の変数Xiの数(次元数ともいう)と、複数の変数Xi毎の定義域Xと、目的関数fと、制約条件gとの組を指定することによって所定の問題を設定する。
【0081】
本実施形態では、所定の問題とは、セグメント割付計画問題及びマシン制御計画問題である。セグメント割付計画問題は、計画線、セグメントタイプ、Kピース位置、及び在庫制約によって指定される。マシン制御計画問題は、マシン寸法、中折れ角、ジャッキ伸長、及びセグメントと土壁とのクリアランスによって指定される。本実施形態では、複数の変数Xiは、s、k、j、及びσである。つまり、複数の変数Xiは、系列s、系列k、系列j、及び系列σである。目的関数fは、上述した式(16)によって表される。制約条件gは、式(17)によって表される。目的関数fを最適化するとは、式(17)によって表される制約条件gの下で式(16)によって表される目的関数fを最小化する複数の変数Xiは、s、k、j、及びσを求めることである。
なお、本実施形態の例のように、制約条件gの数は1つに限られず、制約条件gには複数の制約条件が含まれる場合がある。問題設定部4は、所定の問題を示す情報として、複数の変数Xiの数と、複数の変数Xi毎の定義域Xと、目的関数fと、制約条件gとの組を共進化的組合せ最適化部6に供給する。
【0082】
アルゴリズム設定部5は、所定の問題を解くためのアルゴリズムのパラメータpsを設定する。本実施形態は、所定の問題を解くためのアルゴリズムとは、制約条件gの下で目的関数fを最適化するためのアルゴリズムである。本実施形態では、所定の問題を解くためのアルゴリズムは、一例として、εCCICPSOである。パラメータpsは、複数の変数Xiを複数の組に分割する分割数Kと、粒子群サイズと、終了条件と、スケーリングファクタλと、PSOパラメータと、制約逸脱度φにおける各制約の重みwと、εレベル比較についてのパラメータとを含む。粒子群サイズは、粒子群PGkに含まれる粒子pkの数である。終了条件は、一例として、アルゴリズムの反復数である。つまり、本実施形態では、εCCICPSOは所定の回数だけ実行されると終了する。アルゴリズム設定部5は、設定したパラメータpsを共進化的組合せ最適化システム3に供給する。
【0083】
共進化的組合せ最適化部6は、εCCICPSOのアルゴリズムを実行する。共進化的組合せ最適化部6は、問題取得部60と、パラメータ取得部61と、分割部62と、制約緩和部63と、粒子群最適化部64と、標本化部65とを備える。
【0084】
問題取得部60は、所定の問題を示す情報として、複数の変数Xiの数と、複数の変数Xi毎の定義域と、目的関数fと、制約条件gとの組を問題設定部4から取得する。
パラメータ取得部61は、アルゴリズムのパラメータpsをアルゴリズム設定部5から取得する。上述したように本実施形態では、アルゴリズムはεCCICPSOである。
【0085】
分割部62は、分割数Kに基づいて複数の変数Xiを複数の組dk(k=1、2、・・・、d:dは複数の組の数)に分割する。複数の組dkは、分割数Kに基づいて複数の変数Xiが分割されて得られる。以下、複数の変数Xiのうち組dkに含まれる変数Xiを、変数Xikという場合がある。
【0086】
本実施形態では、分割部62は、一例として、分割数Kに基づいて複数の変数Xiを複数の組dkに等分割する。つまり、複数の組dkそれぞれに含まれる変数Xikの数は、複数の組dk相互間において等しい。この場合、複数の組dkそれぞれには、複数の変数Xiの数Nを分割数Kによって除算して得られる数だけ変数Xikが含まれる。
具体的には、n個のセグメントsについてのセグメント割当計画問題において、一例として、分割部62は、複数の変数Xiを、セグメントsの数と等しい数のn個の複数の組dk(k=1、2、・・・、n:nはセグメントsの数)に分割する。この場合、分割数Kの値はセグメントsの数であるn個に等しく設定されている。例えば、ある組dkには、s、k、j、及びσがそれぞれ1つずつ含まれる。
【0087】
なお、分割部62は、複数の変数Xiを複数の組dkに分割する場合に、等分割しなくてもよい。その場合、複数の組dkそれぞれに含まれる変数Xikの数には、複数の組dk相互間において等しくないものが含まれる。分割部62が等分割を行わない場合には、分割数Kは、例えば、複数の数の組によって、複数の組dkそれぞれに含まれる変数Xikの数を指定する。
【0088】
分割部62は、複数の組dkそれぞれについて、組dkに含まれる1以上の変数Xikの組に対応する粒子pkを、所定の数だけ生成する。生成される粒子pkの数は、パラメータ取得部61によって取得されるパラメータpsに含まれるPSOパラメータによって指定される。生成される粒子pkの数は、複数の組dk相互間において異なっていてよい。生成される複数の粒子pkのそれぞれを、粒子pk_g(g=1、2、・・・、Ng:Ngは粒子の数)と表す。以下では、複数の粒子pkのうち1つを代表させて、粒子pk_gという場合がある。
複数の粒子pkの集まりを粒子群PGkという。組dkに含まれる1以上の変数Xikの組は、複数の変数Xiのうちの一部分であるため、所定の問題の解の部分解である。つまり、粒子pk_gは、所定の問題の解の部分解に対応する。
目的関数fの値は、粒子群PGkに含まれる粒子pk_gの探索空間DSk内の位置に応じて評価される。粒子群PGkに含まれる要素の探索空間DSk内の位置に応じて評価される目的関数fの値を、評価値という。評価値の算出方法については後述する。
【0089】
分割部62は、初期化処理を実行する。分割部62は、初期化処理を、粒子群最適化部64が処理を開始する前の時期において実行する。初期化処理には、粒子群位置初期化処理と、最適位置初期化処理とが含まれる。
【0090】
分割部62は、粒子群位置初期化処理において、複数の組dkそれぞれについて、生成した粒子群PGkを、探索空間DSkに配置する。探索空間DSkは、粒子pkが位置をもつ空間である。探索空間DSkの次元の数は、複数の変数Xiの数と等しい。粒子群PGkを探索空間DSkに配置するとは、粒子群PGkに含まれる複数の要素のそれぞれに、当該探索空間DSk内の位置を対応づけることである。
PSOでは、粒子pk_gは、探索空間DSk内の位置、及び速度を有する。粒子pk_gの位置、及び速度は、それぞれ位置ベクトルXp、及び速度ベクトルVpによって表される。位置ベクトルXp、及び速度ベクトルVpの成分の数は、それぞれ探索空間DSkの次元数と等しい。探索空間DSkの次元数は、粒子pk_gが対応する複数の変数Xiの数に等しい。
【0091】
ここで、粒子pk_gが組dkに含まれる1以上の変数Xikの組に対応するとは、変数Xikが連続値を取るか離散値を取るかに応じて、粒子pk_gが変数Xikの組そのものを示す場合と、粒子pk_gが変数Xikの組が取り得る値の確率分布を示す場合とのいずれかを意味する。変数Xikが連続値を取る場合、探索空間DSk内の変数Xikに対応する次元の方向について粒子pk_gの位置は、変数Xikの値を示す。変数Xikが離散値を取る場合、探索空間DSk内の変数Xikに対応する次元の方向について粒子pk_gの位置は、変数Xikが取り得る値の確率分布を示す。したがって、探索空間DSkにおいて、粒子pk_gの位置は、変数Xikが連続値を取るか離散値を取るかに応じて、変数Xikに対応する次元毎に、変数Xikの値、または変数Xikが取り得る値の確率分布を示す。
なお、離散値とは、離散的な値であって値同士の大小関係が定まっている値と、離散的な値であって値同士の大小関係が定まっていない値とのいずれであってもよい。離散的な値であって値同士の大小関係が定まっていない値は、いわゆるカテゴリ変数である。
【0092】
連続値を取る変数Xikに対応する次元の方向の部分空間については、粒子pk_gの位置は所定の問題の解の部分解に対応する。そのため、探索空間DSkのこの部分空間は、所定の問題の部分解の空間そのものである。
一方、離散値を取る変数Xikは、この変数Xikに対応する次元の方向について粒子pk_gの位置が示す確率分布からサンプリングされたサンプルである。そのため、離散値を取る変数Xikに対応する次元の方向の部分空間については、粒子pk_gの位置が示す確率分布からサンプリングされたサンプルが所定の問題の解の部分解に対応する。
【0093】
本実施形態では、上述したように複数の変数Xiは、s、k、j、及びσである。複数の変数Xiのうち、si、及びkiは離散値を取り、ji、及びσiは連続値を取る。なお、ji、及びσiについて、シールドマシン2aが制御可能な最小単位に基づく離散値を取るものとして扱ってもよい。
【0094】
分割部62は、最適位置初期化処理において、複数の探索空間DSkそれぞれについて、最適位置を設定する。最適位置とは、要素の探索空間DSk内の位置であって所定の問題の最適解の候補の部分解に対応する位置である。分割部62は、一例として、複数の探索空間DSkそれぞれについて、粒子群PGkからランダムに粒子pk_gを1つ選択し、選択した粒子pk_gの位置を最適位置の初期位置として設定する。
【0095】
PSOでは、最適位置をグローバルベスト位置XgBestという。また、PSOでは、複数の粒子pk_gそれぞれについて、ローカルベスト位置XpBestpが設定される。ローカルベスト位置XpBestpとは、複数の粒子pk_gそれぞれについて設定されて、複数の粒子pk_gそれぞれの探索空間DSk内の位置であって、複数の粒子pk_gそれぞれについての所定の問題の最適解の候補の部分解に対応する位置である。分割部62は、例えば、複数の粒子pk_gそれぞれの初期位置をローカルベスト位置XpBestpとして設定する。
【0096】
分割部62は、変数Xikが離散値を取る場合、つまり粒子pk_gの位置が確率分布を示す場合、最適位置初期化処理において、グローバルベスト位置XgBest及びローカルベスト位置XpBestpとともに、グローバルベストサンプルSgBest及びローカルベストサンプルSpBestpを設定する。グローバルベストサンプルSgBestは、グローバルベスト位置XgBestが示す確率分布からサンプリングされたサンプルSpkである。ローカルベストサンプルSpBestpは、ローカルベスト位置XpBestpが示す確率分布からサンプリングされたサンプルSpkである。
【0097】
本実施形態では、制約緩和部63、粒子群最適化部64、及び標本化部65は、一例として、それぞれ複数のユニットから構成される。複数のユニットの数は、制約緩和部63、粒子群最適化部64、及び標本化部65について共通である。制約緩和部63は、制約緩和部63-k(k=1、2、・・・、d:dは複数の組の数)のd個から構成される。複数の制約緩和部63-kは、それぞれ共通の機能を有する。粒子群最適化部64は、粒子群最適化部64-k(k=1、2、・・・、d:dは複数の組の数)のd個から構成される。複数の粒子群最適化部64-kは、それぞれ共通の機能を有する。標本化部65は、標本化部65-k(k=1、2、・・・、d:dは複数の組の数)のd個から構成される。複数の標本化部65-kは、それぞれ共通の機能を有する。
制約緩和部63、粒子群最適化部64、及び標本化部65それぞれに含まれるk番目のユニットは、k番目の組である組dkについて処理を行う。例えば、制約緩和部63-k、粒子群最適化部64-k、及び標本化部65-kは、組dkについて処理を行う。
上述したように各ユニットの機能は、制約緩和部63、粒子群最適化部64、及び標本化部65毎に共通である。そのため、以下では、制約緩和部63、粒子群最適化部64、及び標本化部65の各機能を、それぞれのk番目のユニットである制約緩和部63-k、粒子群最適化部64-k、及び標本化部65-kに代表させて説明する。
【0098】
制約緩和部63-kは、目的関数fの評価値と、制約条件gから逸脱した程度とに基づいて、粒子群PGkに含まれる粒子pkの探索空間DSk内の位置同士の部分解としての優劣を判定する。
【0099】
粒子群最適化部64-kは、目的関数fの評価値に基づいて、最適位置と、粒子群PGkに含まれる粒子pkの探索空間DSk内の位置とを、アルゴリズム及びパラメータpsに基づいて探索空間DSk毎に更新する。ここで粒子群最適化部64-kは、粒子群PGkに含まれる粒子pkの探索空間DSk内の位置と最適位置との優劣を制約緩和部63-kが判定した結果に基づいて最適位置を更新する。粒子群最適化部64-kは、最適化部の一例である。
【0100】
標本化部65-kは、サンプリングによってサンプルSpkを生成する。サンプルSpkは、サンプリングによって生成された1以上の変数Xikの組である。変数Xiの値が連続値であるか離散値であるかにかかわらず、1以上の変数Xikの組を生成することをサンプリングという。
標本化部65-kは、変数Xiが離散値を取る場合に、変数Xiに対応する次元の方向について粒子pkの位置が示す確率分布からサンプリングによってサンプルSpkを生成する。つまり、標本化部65-kは、変数Xiが離散値を取る場合に、粒子pkの探索空間DSk内の位置が示す変数Xikの組(つまり、部分解)が取り得る値の組の確率分布に基づいて1以上の変数Xikの組を生成する。
【0101】
一方、標本化部65-kは、変数Xikが連続値を取る場合、変数Xikに対応する次元の方向について粒子pkの位置をサンプルSpkとする。変数Xikが連続値を取る場合には、連続値を取る変数Xikに対応する次元の方向について粒子pkの位置が、この変数Xikの値に確率の値として1をもつ確率分布と考えてもよい。その場合、変数Xikが連続値を取る場合であっても、標本化部65-kは、確率分布からサンプリングによってサンプルSpkを生成する。
なお、変数Xikが連続値を取る場合には、標本化部65は、共進化的組合せ最適化部6の構成から省略されてもよい。
【0102】
解候補生成部7は、探索空間DSkにそれぞれ配置された粒子群PGkのそれぞれから1つずつ選択された粒子pkのそれぞれの探索空間DSk内の位置に基づいて複数の変数Xiの組を生成する。つまり、解候補生成部7は、複数の粒子群PGからそれぞれ選択された部分解を組み合わせて所定の問題の解候補を生成する。部分解を組み合わせて所定の問題の解候補を生成することを、部分解を統合するともいう。
【0103】
なお、複数の変数Xiのそれぞれの値は、所定の問題の解の値を直接示していない場合がある。例えば、セグメント割付問題において、セグメント割付問題の解を示す値の組にジャッキストローク量が含まれる場合に、変数Xiとしてセグメント配置時のジャッキ伸長が扱われる場合がある。複数の変数Xiのそれぞれの値は、所定の問題の解の値を直接示していない場合、解候補生成部7は、複数の変数Xiの組を所定の問題の解へ変換する。
【0104】
シミュレータ8は、解候補生成部7が生成した複数の変数Xi(つまり、s、k、j、及びσ)に基づいて幾何シミュレーションを実行する。この幾何シミュレーションでは、仮想シールドマシンがセグメントs1つ分のトンネルを掘進する。幾何シミュレーションの詳細については後述する。シミュレータ8は、幾何シミュレーションの結果を評価部9に出力する。
【0105】
評価部9は、シミュレータ8による幾何シミュレーションの結果に基づいて、目的関数fの値と、制約条件gとを評価する。ここで幾何シミュレーションの結果は、解候補生成部7が生成した複数の変数Xiに基づいて算出された結果である。したがて、評価部9は、解候補生成部7が生成した複数の変数Xiの組に対して、目的関数fの値である評価値と、制約条件gとを評価する。
【0106】
評価部9は、評価値取得部90と、適応度算出部91と、制約評価部92とを備える。
評価値取得部90は、シミュレータ8から幾何シミュレーションの結果を取得する。
適応度算出部91は、幾何シミュレーションの結果に基づいて、評価値である目的関数fの値として、掘削土量の容積を算出する。なお、評価値は、上述した適応度と同じ意味である。
制約評価部92は、幾何シミュレーションの結果に基づいて、制約条件gを評価するための量を算出する。本実施形態では、制約評価部92は、上述した式(17)によって示される制約条件gを評価するための量として、セグメントsと計画線1aとのズレ、マシン-セグメント距離のクリアランス、マシン-土壁距離のクリアランス、Kピース位置、在庫数を、それぞれ算出する。
【0107】
出力部10は、所定の問題の最適解として、s、k、j、及びσの組を所定の問題の最適解として出力する。つまり、出力部10は、探索空間DSkそれぞれについての最適位置に基づいて解候補生成部7によって生成された複数の変数Xiの組を所定の問題の最適解として出力する。例えば、出力部10は、所定の問題の最適解としてs、k、j、及びσの組を、共進化的組合せ最適化システム3とは別体として備えられる外部装置に出力する。なお、例えば、共進化的組合せ最適化部6が表示装置を備える場合、出力部10は、所定の問題の最適解として複数の変数Xiの組を、例えば、当該表示装置に出力してもよい。
【0108】
なお、問題設定部4及びアルゴリズム設定部5は、図1に示した入力部に対応する。解候補生成部7は、図1に示した統治部に対応する。
【0109】
問題設定部4と、アルゴリズム設定部5と、共進化的組合せ最適化部6と、解候補生成部7と、シミュレータ8と、評価部9と、出力部10とは、それぞれは、一例としてコンピュータである。
一例として、問題設定部4、及びアルゴリズム設定部5はそれぞれ、パーソナルコンピュータ(Personal Computer:PC)である。ユーザは、問題設定部4に備えられるキーボード、またはマウスなどの入力装置を用いて、上述した所定の問題を示す情報を問題設定部4に入力する。また、ユーザは、アルゴリズム設定部5に備えられるキーボード、またはマウスなどの入力装置を用いて、上述したアルゴリズムのパラメータpsをアルゴリズム設定部5に入力する。
【0110】
共進化的組合せ最適化部6、解候補生成部7、シミュレータ8、評価部9、及び出力部10は、一例として、サーバである。問題設定部4と、アルゴリズム設定部5と、共進化的組合せ最適化部6と、解候補生成部7と、シミュレータ8と、評価部9とは、それぞれは、別体として備えられ、互いに通信を行うための通信機能を有する。例えば、問題設定部4と、アルゴリズム設定部5と、共進化的組合せ最適化部6と、解候補生成部7と、シミュレータ8と、評価部9とは、例えば、インターネットなどのネットワークを介して互いに通信を行う。つまり、共進化的組合せ最適化システム3においては、一例としてクラウドコンピューティング(Cloud Computing)が用いられる。
【0111】
なお、問題設定部4と、アルゴリズム設定部5と、共進化的組合せ最適化部6と、解候補生成部7と、シミュレータ8と、評価部9と、出力部10とのうち、任意の組合せが一体として備えられてもよい。例えば、問題設定部4とアルゴリズム設定部5とは、1台のPCとして備えられてもよい。出力部10と、共進化的組合せ最適化部6、あるいは解候補生成部7とが、1台のサーバとして備えられてもよい。共進化的組合せ最適化部6、解候補生成部7、シミュレータ8、及び評価部9は、1台のサーバとして備えられてもよい。また、問題設定部4と、アルゴリズム設定部5と、共進化的組合せ最適化部6と、解候補生成部7と、シミュレータ8と、評価部9と、出力部10との全てが1台のコンピュータとして備えられてもよい。
【0112】
ここで図23を参照し、共進化的組合せ最適化部6のハードウェアとしての構成について説明する。図23は、本実施形態に係る共進化的組合せ最適化部6のハードウェア構成の一例を示す図である。図22に示した共進化的組合せ最適化部6は、例えば、図23に示すコンピュータ600として実現される。コンピュータ600は、通信I/F601と、出力装置602と、入力装置603と、CPU(Central Processing Unit)604と、GPU(Graphics Processing Unit)605と、ROM(Read Only Memory)606と、RAM(Random Access Memory)607と、記憶装置608とを備える。通信I/F601と、出力装置602と、入力装置603と、CPU(Central Processing Unit)604と、GPU(Graphics Processing Unit)605と、ROM(Read Only Memory)606と、RAM(Random Access Memory)607と、記憶装置608とはそれぞれ、バス609に接続される。
【0113】
通信I/F601は、無線ネットワークを介して、各種の情報の送信及び受信を行う。通信部は、無線ネットワークを介して通信を行うためのハードウェアを備える。
出力装置602は、ディスプレイを備える。なお、図22に示した出力部10は、共進化的組合せ最適化部6と一体となって備えられて、出力装置602として実現されてもよい。
入力装置603は、タッチパネル、操作ボタン、マウス、またはキーボードを備える。なお、図22に示した問題設定部4またはアルゴリズム設定部5は、共進化的組合せ最適化部6と一体となって備えられて、入力装置603として実現されてもよい。
【0114】
CPU604、及びGPU605はそれぞれ、ROM606からプログラムを読み込み、読み込んだプログラムに従って各種の制御を実行する。CPU604、及びGPU605はそれぞれは、レジスターなどの内部記憶媒体を複数内蔵している。CPU604、及びGPU605はそれぞれは、ROM606から内部記憶媒体にデータを一時的に記憶し、これを演算処理する。CPU604、及びGPU605はそれぞれは、演算結果をレジスターに出力し、さらにレジスターからRAM607や外部の記憶媒体に出力させる。
図22に示した問題取得部60と、パラメータ取得部61と、分割部62と、制約緩和部63と、粒子群最適化部64と、標本化部65とそれぞれ、CPU604またはGPU605がROM606からプログラムを読み込んで処理を実行することにより実現される。例えば、制約緩和部63、粒子群最適化部64、及び標本化部65は、それぞれGPU605による並列計算によって好適に実現される。
記憶装置608は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。
【0115】
[εCCICPSOの処理]
次に図24から図26を参照し、共進化的組合せ最適化部6によるεCCICPSOの処理について説明する。図24は、本実施形態に係るεCCICPSOの処理の一例を示す図である。
【0116】
ステップS10:問題取得部60は、問題設定部4から所定の問題を示す情報を取得する。所定の問題を示す情報は、複数の変数Xiの数と、複数の変数Xi毎の定義域と、目的関数fと、制約条件gとの組である。問題取得部60は、取得した所定の問題を示す情報を分割部62に供給する。
【0117】
ステップS20:パラメータ取得部61は、アルゴリズム設定部5からεCCICPSOのパラメータpsを取得する。パラメータ取得部61は、取得したεCCICPSOのパラメータpsを分割部62に供給する。
【0118】
ステップS30:分割部62は、分割数Kに基づいて複数の変数Xiを複数の組dk(k=1、2、・・・、d:dは複数の組の数)に分割する。分割数Kは、パラメータ取得部61から供給されるパラメータpsに含まれる。
【0119】
ステップS40:分割部62は、初期化処理を実行する。初期化処理の詳細については、図25を参照し後述する。
【0120】
ステップS50:分割部62は、終了条件が満たされたか否かを判定する。終了条件とは、共進化的組合せ最適化処理が実行された回数が所定の回数以上となることである。所定の回数は、パラメータ取得部61から供給されるパラメータpsに含まれる。分割部62は、終了条件が満たされたと判定した場合(ステップS50;YES)、ステップS70の処理を実行する。一方、分割部62は、終了条件が満たされていないと判定した場合(ステップS50;NO)、ステップS60の処理を実行する。
【0121】
ステップS60:制約緩和部63、粒子群最適化部64、及び標本化部65は、共進化的組合せ最適化処理を実行する。つまり、終了条件が満たされるまで共進化的組合せ最適化処理は、繰り返される。共進化的組合せ最適化処理の詳細については、図26を参照し後述する。
【0122】
ステップS70:解候補生成部7は、グローバルベストサンプルSgBestを全ての粒子群PGkについて統合し解候補を生成する。解候補生成部7は、生成した解候補を出力部10に出力する。出力部10は、解候補生成部7が生成した解候補を最適解として出力する。ここで出力部10は、例えば、外部装置に最適解を出力する。
以上で、共進化的組合せ最適化部6は、εCCICPSOの処理を終了する。
【0123】
図25は、本実施形態に係る初期化処理の一例を示す図である。図25に示すステップS410からステップS470の各処理は、図24に示したステップS40の初期化処理において実行される。
ステップS410:分割部62は、粒子群PGk毎に初期化処理を開始する。分割部62は、粒子群PGk毎に初期化処理を、並列処理によって実行する。
ステップS420:分割部62は、粒子群PGkに含まれる粒子pkについて、粒子pk毎に初期化処理を開始する。
【0124】
ステップS430:分割部62は、粒子pk_gの位置及び速度をそれぞれ初期化する。分割部62は、粒子pk_gについて、位置ベクトルXp、及び速度ベクトルVpの初期値をそれぞれ、一例としてランダムに設定する。
【0125】
ステップS440:分割部62は、粒子pkのローカルベスト位置XpBestp及びローカルベストサンプルSpBestpを初期化する。分割部62は、ステップS430において初期化した粒子pk_gの位置ベクトルXpを、ローカルベスト位置XpBestpに設定する。また、分割部62は、離散値を取る変数Xikに対応する次元の方向については、設定したローカルベスト位置XpBestpが示す確率分布からサンプリングしたサンプルをローカルベストサンプルSpBestpに設定する。
ステップS450:分割部62は、粒子pk毎に初期化処理を終了する。
【0126】
ステップS460:分割部62は、粒子群PGkのグローバルベスト位置XgBest及びグローバルベストサンプルSgBestを初期化する。分割部62は、一例として、粒子群PGkに含まれる複数の粒子pkからランダムに1つの粒子pk_gを選択する。分割部62は、選択した粒子pk_gの位置ベクトルXpをグローバルベスト位置XgBestに設定する。また、分割部62は、離散値を取る変数Xikに対応する次元の方向については、選択した粒子pk_gの位置ベクトルXpが示す確率分布からサンプリングしたサンプルをグローバルベストサンプルSgBestに設定する。
【0127】
ステップS470:分割部62は、粒子群PGk毎に初期化処理を終了する。
以上で、分割部62は、初期化処理を終了する。
【0128】
図26は、本実施形態に係る共進化的組合せ最適化処理の一例を示す図である。
ステップS610:共進化的組合せ最適化部6は、粒子群PGk毎に共進化的組合せ最適化処理を開始する。共進化的組合せ最適化処理では、d個の粒子群PGkをラウンドロビン方式に基づいて、順に1世代ずつ進化させる.共進化的組合せ最適化部6は、共進化的組合せ最適化処理を、粒子群PGk毎に並列処理によって実行する。
【0129】
ステップS620:共進化的組合せ最適化部6は、粒子群PGkに含まれる粒子pk_gについて、粒子pk_g毎にローカルベスト位置XpBestp、ローカルベストサンプルSpBestp、グローバルベスト位置XgBest、及びローカルベストサンプルSpBestpをそれぞれ更新する処理を開始する。
【0130】
ステップS630:標本化部65のうち粒子群PGkに対応する標本化部65-kは、サンプリングによってサンプルを生成する。つまり、標本化部65-kは、1以上の変数Xikの組を生成する。標本化部65-kは、生成した1以上の変数Xikの組を解候補生成部7に出力する。
【0131】
ステップS640:解候補生成部7は、標本化部65-kによって粒子群PGkについて生成されたサンプルSpkと、複数の粒子群PGのうち粒子群PGk以外の粒子群それぞれから選択された部分解(コラボレータともいう)とを組み合わせて所定の問題の解候補Sを生成する。ここで解候補生成部7は、標本化部65-kによって生成されたサンプルSpk(1以上の変数Xikの組)に基づいて解候補Sを生成する。
【0132】
ここで解候補生成部7は、一例として、コラボレータとして、複数の粒子群PGのうち粒子群PGk以外の粒子群のそれぞれについてのグローバルベストサンプルSgBestを用いる。つまり、解候補生成部7は、標本化部65-kによって粒子群PGkについて生成されたサンプルSpkと、複数の粒子群PGのうち粒子群PGk以外の粒子群のそれぞれについてのグローバルベストサンプルSgBestとを組み合わせて所定の問題の解候補Sを生成する。
解候補生成部7は、生成した解候補Sをシミュレータ8に出力する。
【0133】
ステップS650:評価部9は、解候補生成部7によって生成された解候補Sについて評価処理を実行する。ここでシミュレータ8は、解候補生成部7が生成した解候補Sに基づいて幾何シミュレーションを実行する。シミュレータ8は、幾何シミュレーションの結果を評価部9に出力する。評価値取得部90は、シミュレータ8から幾何シミュレーションの結果を取得する。評価値取得部90は、取得した幾何シミュレーションの結果を適応度算出部91と、制約評価部92とにそれぞれ供給する。
【0134】
適応度算出部91は、幾何シミュレーションの結果に基づいて、評価値である目的関数fの値として、掘削土量の容積を算出する。
制約評価部92は、幾何シミュレーションの結果に基づいて、制約条件gを評価するための量を算出する。
評価部9は、適応度算出部91が算出した目的関数fの値と、制約評価部92が算出した制約条件gを評価するための量とを制約緩和部63-kに出力する。
【0135】
ステップS660:制約緩和部63-kは、解候補SがローカルベストサンプルSpBestpより優れているか否かを判定する。ここで一方の解候補(サンプルともいう)が他方の解候補よりも優れているとは、一方の解候補が、所定の問題の解として、他方の解候補よりも最適な解に近いことをいう。制約緩和部63-kは、一例として、ε制約法に基づいて判定を行う。第1の実施形態において説明したように、ε制約法では、εレベル比較に基づいて解候補同士が比較される。
【0136】
εレベル比較では、上述した式(5)に基づいて、目的関数fの値と、制約逸脱度φとの組が、解候補同士について比較される。εの値は、粒子群PGk毎に設定される。εの値をεレベルという。
【0137】
ここで従来のε制約法においては、εレベルは解集団全体で一律に設定される。一方、本実施形態に係る共進化的組合せ最適化システム3では、ε制約法とCCICPSOと組み合わせることによって、粒子群PGk毎にεレベルを設定することができる。そのため、共進化的組合せ最適化システム3では、部分問題ごとの探索の進行度合いに合わせてεレベルを調整することにより探索性能が向上させることができる。
【0138】
本実施形態のε制約法では、制約逸脱度φとして式(18)によって示される関数が用いられる。
【0139】
【数18】
【0140】
ここでC(k、ki+1)は、式(19)によって示される関数である。
【0141】
【数19】
【0142】
解候補Sに対しては、ステップS650において、適応度算出部91が算出した目的関数fの値と、制約評価部92が算出した制約条件gに基づく制約逸脱度φとの組がεレベル比較において用いられる。
【0143】
ローカルベストサンプルSpBestpについては、ローカルベストサンプルSpBestpに対して、解候補Sと同様に算出された目的関数fの値と、制約評価部92が算出した制約条件gに基づく制約逸脱度φとの組がεレベル比較において用いられる。ローカルベストサンプルSpBestpに対する目的関数fの値及び制約逸脱度φは、解候補Sの代わりにローカルベストサンプルSpBestpを用いて、ステップS640及びステップS650の処理と同様にして算出される。
ローカルベストサンプルSpBestpに対する目的関数fの値及び制約逸脱度φは、例えば、ステップS640及びステップS650が実行される度に、ステップS660が実行される前の時期において算出される。
【0144】
制約緩和部63-kは、解候補SがローカルベストサンプルSpBestpより優れていると判定した場合(ステップS670;YES)、ステップS670の処理を実行する。一方、制約緩和部63-kは、解候補SがローカルベストサンプルSpBestpより優れていないと判定した場合(ステップS670;NO)、ステップS680の処理を実行する。
【0145】
ステップS670:粒子群最適化部64-kは、粒子pk_gについて、ローカルベスト位置XpBestp、及びローカルベストサンプルSpBestpを更新する。
粒子群最適化部64-kは、ローカルベスト位置XpBestpのうち確率分布を示す成分については、それらの成分が示す確率分布において変数Xiが値jをとる確率を式(20)に基づいて更新する。
【0146】
【数20】
【0147】
ここでVals(X)は、離散値を取る変数Xiが取り得る値の集合である。スケーリングファクタλは、0以上1未満の範囲に値をもち、確率分布が更新される量を決定するパラメータである。上述したようにスケーリングファクタλは、εCCICPSOのパラメータpsに含まれる。確率d p;i、及び確率d Best;iは、それぞれ位置ベクトルXpが示す確率分布、ローカルベスト位置XpBestpの確率分布において、変数Xiが値jをとる確率を表す。
【0148】
一方、粒子群最適化部64-kは、ローカルベスト位置XpBestpのうち変数Xiの値を示す成分を、解候補Sのうちそれら変数Xiに対応する成分によって更新する。
また、粒子群最適化部64-kは、解候補SによってローカルベストサンプルSpBestpを更新する。
【0149】
ステップS680:制約緩和部63-kは、解候補SがグローバルベストサンプルSgBestより優れているか否かを判定する。制約緩和部63-kは、一例として、ステップS660と同様にして、ε制約法に基づいて判定を行う。
【0150】
ここでグローバルベストサンプルSgBestについては、グローバルベストサンプルSgBestに対して、解候補Sと同様に算出された目的関数fの値と、制約評価部92が算出した制約条件gに基づく制約逸脱度φとの組がεレベル比較において用いられる。グローバルベストサンプルSgBestに対する目的関数fの値及び制約逸脱度φは、解候補Sの代わりにグローバルベストサンプルSgBestを用いて、ステップS640及びステップS650の処理と同様にして算出される。
グローバルベストサンプルSgBestに対する目的関数fの値及び制約逸脱度φは、例えば、ステップS640及びステップS650が実行される度に、ステップS660が実行される前の時期において算出される。
【0151】
制約緩和部63-kは、解候補SがグローバルベストサンプルSgBestより優れていると判定した場合(ステップS680;YES)、ステップS690の処理を実行する。一方、制約緩和部63-kは、解候補SがグローバルベストサンプルSgBestより優れていないと判定した場合(ステップS680;NO)、ステップS6100の処理を実行する。
【0152】
ステップS690:粒子群最適化部64-kは、粒子群PGkに対して、グローバルベスト位置XgBest、及びグローバルベストサンプルSgBestを更新する。
粒子群最適化部64-kは、グローバルベスト位置XgBestのうち確率分布を示す成分については、それらの成分が示す確率分布において変数Xiが値jをとる確率を、上述した式(20)に基づいて更新する。
【0153】
一方、粒子群最適化部64-kは、グローバルベスト位置XgBestのうち変数Xiの値を示す成分を、解候補Sのうちそれら変数Xiに対応する成分によって更新する。
また、粒子群最適化部64-kは、解候補SによってグローバルベストサンプルSgBestを更新する。
【0154】
ステップS6100:共進化的組合せ最適化部6は、粒子群PGkに含まれる粒子pk_gについて、粒子pk_g毎にローカルベスト位置XpBestp、ローカルベストサンプルSpBestp、グローバルベスト位置XgBest、及びローカルベストサンプルSpBestpをそれぞれ更新する処理を終了する。
【0155】
ステップS6110:共進化的組合せ最適化部6は、粒子群PGkに含まれる粒子pk_gについて、位置ベクトルXp、及び速度ベクトルVpを更新する処理を開始する。
【0156】
ステップS6120:粒子群最適化部64-kは、粒子pk_gの速度ベクトルVpを、上述した式(2)に基づいて更新する。
【0157】
ステップS6130:粒子群最適化部64-kは、粒子pk_gの位置ベクトルXpを、上述した式(3)に基づいて更新する。
【0158】
ステップS6140:共進化的組合せ最適化部6は、粒子群PGkに含まれる粒子pk_gについて、位置ベクトルXp、及び速度ベクトルVpを更新する処理を終了する。
【0159】
ステップS6150:共進化的組合せ最適化部6は、粒子群PGk毎に共進化的組合せ最適化処理を終了する。
以上で、共進化的組合せ最適化部6は、共進化的組合せ最適化処理を終了する。
【0160】
なお、図26に示した共進化的組合せ最適化処理において、共進化的組合せ最適化部6は、ステップS620からステップS6100までの処理と、ステップS6110からステップS6140までの処理との順序を入れ替えて各処理を実行してもよい。つまり、解候補を制約条件の下で評価してグローバルベスト位置XgBest、グローバルベストサンプルSgBestを更新する処理と、粒子群PGkに含まれる粒子pk_gの位置及び速度を更新する処理とは、順序を入れ替えて実行されてもよい。あるいは、共進化的組合せ最適化部6は、ステップS620からステップS6100までの処理と、ステップS6110からステップS6140までの処理とを、並列して実行してもよい。
【0161】
[幾何シミュレーション]
次に図27及び図28を参照しながら、シミュレータ8による幾何シミュレーションについて説明する。
あるセグメント割付計画の真の評価値は、そのセグメント割付計画に従って施工し、計測することでしか測れない。しかし、1つの解候補を評価するために、実際にトンネルを施工することは、時間的コスト及び経済的コストが大きく現実的ではない。そこで、本実施形態では、幾何シミュレーションによりセグメント割付のズレと掘削土量とを評価する。セグメントsの位置は、割付られたセグメントsの形状から幾何学的に計算できる。シールドマシン2aは、実際には、マシン制御計画と施工時の土質等周囲の環境により影響を受けて掘進する。これに対してシミュレータ8は、マシン制御計画では最もシンプルな制御を採用し、理想状態で仮想シールドマシン2bがマシン制御計画通りの掘進をしたものとして幾何シミュレーションを実行する。この幾何シミュレーションによって、シミュレータ8は、施工経路と、施工経路上の掘削土量とを幾何的に計算する。
【0162】
図27は、本実施形態に係る幾何シミュレーションにおけるセグメントsの一例を示す図である。図27では、幾何シミュレーションにおいてトンネルを上側からみた場合のセグメントsが示されている。
三次元空間上の幾何シミュレーションにおいて、仮想シールドマシン2bの前胴20b及び前胴20bと、セグメントsとは、それぞれ円柱(円筒)として扱う。このとき、i番目に割付けられたセグメントs_iの坑口側の面を、そのセグメントs_iの基準面SS;iとする。基準面SS;iの中心点をPS;iとし、基準面SS;iの法線ベクトルを法線ベクトルNS;iとする。また、シミュレーション開始点Sとし、方向ベクトルNとし、計画線Lとする。
【0163】
法線ベクトルNS;iから法線ベクトルNS;i+1への回転行列は、式(21)によって定義される。
【0164】
【数21】
【0165】
ここでR(・)、R(・)、R(・)は、それぞれx軸、y軸、z軸を中心とした回転行列である。Δθsi;x、Δθsi;y、Δθsi;zそれぞれは、回転行列R(・)、R(・)、R(・)それぞれの回転角を表す。Δθsi;x、Δθsi;yは、セグメントs_iのセグメントタイプに固有の値である。Δθsi;zは、セグメントs_iのKピース位置を示す角度に相当する。同様に、方向ベクトルNから法線ベクトルNS;iへの回転行列をR(θS;i)とする。この場合と、回転行列をR(θS;i)の回転角θS;iは式(22)によって表される。
【0166】
【数22】
【0167】
式(22)によって表される回転角θS;iを用いて、i+1番目のセグメントs_i+1の基準点PS;i+1は、式(23)によって決定される。
【0168】
【数23】
【0169】
ここで、ΔPsiは、セグメントs_iのセグメントタイプごとに定まる変位ベクトルを表す。R(φsi(k))は、Kピース位置によるセグメントの回転を表す。計画線Lとセグメントs_iとのズレは、計画線Lとセグメントs_iの中心点Pとの最短距離によって評価する。
【0170】
上述した図18に示すように、シールドマシン2aにはジャッキが円状に備えられている。シールドマシン2aは、円状に備えられたジャッキによってセグメントを押し伸ばし、その反力で推進する。仮想シールドマシン2bの位置は、水平方向左右と垂直方向上下との4本のジャッキのストローク量に基づいて計算できる。図28に示す通り、セグメントs_iを配置するときの仮想シールドマシン2bの位置PM;iは、セグメントs_i-1と、左右上下のジャッキストローク量j 、j 、j 、j とによって決定される。したがって、位置PM;iは、セグメントs_i-1を配置するときの仮想シールドマシン2bの位置PM;i-1と、セグメントs_i-1と、左右上下のジャッキストローク量j 、j 、j 、j との関数として、式(24)のように表される。
【0171】
【数24】
【0172】
掘削土量は、仮想シールドマシン2bの軌跡から求まる通過領域の体積によって評価される。
通常、実際のシールドマシン2aは、配置するセグメントsの長さと同じだけ推進すればよく、ジャッキ長の左右差・上下差によってセグメントに対する相対位置と角度を調整する。ジャッキ長の左右差・上下差を変数として扱い、式(25)によって示すようにジャッキストローク量を決定する。
【0173】
【数25】
【0174】
ここでlsiはセグメントs_iのセグメント長を表し、j LR、j UDはジャッキ長の左右差と上下差を表す。
【0175】
中折部では左右方向と上下方向との間に角度をつけることができる。この角度を、中折角という。1セグメントにつき変化させられる角度には制限がある。i番目のセグメントs_iを配置した場合の左右・上下の中折角度をそれぞれσ LR、σ UDとする。中折角度σ LR、σ UDは、それぞれ式(26)のように決定される。
【0176】
【数26】
【0177】
ここで、Δσ LR、Δσ UDは中折角の変化量を表す。これらの中折変化量は、範囲[Δσmin;Δσmax]内に値をもつ。変化量の最小値Δσminと最大値Δσmaxとは、仮想シールドマシン2bによって決定される。
【0178】
[三次元シミュレーション実験]
三次元シミュレーション実験によって、本実施形態に係る共進化的組合せ最適化システム3によるセグメント割付計画の最適化、およびセグメント割付・マシン制御計画の同時最適化の有効性を検証する。
【0179】
[第1の実験]
まず、第1の実験として、共進化的組合せ最適化システム3によるセグメント割付計画の最適化の有効性を検証する。以下では、共進化的組合せ最適化システム3による結果と、非特許文献4に記載の貪欲法による手法による結果とを比較する。非特許文献4に記載の貪欲法による手法では、セグメントと計画線とのズレのみが評価されていた。非特許文献4に記載の貪欲法による手法は、技術者によってセグメントの割付が行われた場合の結果の近似として用いられる。以下の説明において、この非特許文献4に記載の貪欲法による手法を、技術者の手法(Engineer*)という。
【0180】
計画線としては、所定の実績データにおける工事計画に基づいて、曲線と緩和曲線から成る全長414mの計画線を用いた。表2に使用した計画線の線形を示す。
【0181】
【表2】
【0182】
表2に示した線形のうち一部の線形を抜き出して3つの問題T75、L75、L150として使用した。問題T75では、緩和曲線区間のみに75個のセグメントリングが配置される。問題L75、L150では、曲線区間のみにそれぞれ75、150個のセグメントリングが配置される。表3にそれぞれの問題における使用区間およびそのセグメント数を示す。
【0183】
【表3】
【0184】
セグメントとして、全問題区間共通で、ストレートと左テーパーとの2種類のセグメントを使用した。表4に使用したセグメントの詳細を示す。
【0185】
【表4】
【0186】
ストレートと左テーパーとのどちらも、Δφは2π/33radであり、Kピース位置は、K=8である。Kピース制約のパラメータは、r=4、KNG={0,1}である。また、計画線とセグメントとのズレの制約パラメータは、g=50とした。つまり、計画線とセグメントとのズレは50mm以内に収める必要がある。シールドマシンは表5に示した寸法のものを用いた。
【0187】
【表5】
【0188】
決定変数は、セグメントタイプの系列である系列sとKピース位置の系列である系列kのみを考慮する。マシンの掘削土量は、割付られたセグメントを最もシンプルな制御計画で施工した場合のマシンの通過領域の体積によって計算する。本実験ではj =lsi 、j =lsi 、j =lsi 、j =lsi 、σ LR=σ UD=0(i=1,・・・,n)とした。ここで、lsi 、lsi 、lsi 、lsi は、それぞれsiの水平方向左右と垂直方向上下のセグメント幅である。
【0189】
各パラメータ設定について20試行ずつ実施した。それぞれの試行における解候補の評価回数を最大10000回とした。分割数を1、群サイズを10、反復数を1000とした。パラメータφとφは1.49618とした。ωは0.729とした。スケーリングファクタはλ=1.0×10-3とした。式(18)によって示される制約逸脱度の定義におけるKピース制約の重みは、wk=1,10,100の3通りを採用した。また、w=1,w=w=0とした。εレベルは常に0とした。また、式(18)によって示される制約逸脱度の定義における制約に関するパラメータg、CS,t、CM,tとして、それぞれ表6に示す値を用いた。
【0190】
【表6】
【0191】
表7に実験結果を示す。
【0192】
【表7】
【0193】
表7に示す実験結果では、全アルゴリズムの全問題設定において、実行可能解を得られたため掘削土量の適応度のみ抜粋した。表7の太字は問題ごとの最も優れた評価値を示す。Kピース制約の重みwの値に関わらず、全問題設定において共進化的組合せ最適化システム3による結果は、技術者の手法(Engineer*)を上回った。また、全問題区間において、w=100が最も優れた結果となった。
【0194】
図29図30、及び図31に、共進化的組合せ最適化システム3による適応度の収束の様子を示す。グラフの値は各評価回数時における最適解の適応度平均(全20試行)を示している。黒の破線は技術者の手法(Engineer*)の評価値を示している。探索の序盤から終盤までの収束の速度を比較してもw=100が最も優れた結果となった。一方でパラメータwの違いによる差は非常に小さく、共進化的組合せ最適化システム3による結果のパラメータwに対するロバスト性が示唆された。
【0195】
[第2の実験]
次に、第2の実験として、共進化的組合せ最適化システム3によるセグメント割付・マシン制御計画の同時最適化の有効性を検証する。
第2の実験では、第1の実験と同様に表2に示した計画線から、表3に示した3つの問題T75,L75,L150を用いた。セグメントとシールドマシンも同様に表4、5に示した設定を用いた。制約に関するパラメータは表6に示した値を用いた。計画線とセグメントとのズレは、第1の実験と同様に50mm以内に収めなければならず、シールドマシンは、セグメントと掘削土壁とのいずれとも接触してはならない。決定変数は、セグメントタイプの系列である系列s、Kピース位置の系列である系列k、ジャッキ左右差の系列である系列jLR、上下差の系列である系列jUD、中折角度の左右変化量の系列である系列ΔσLR、及び上下変化量の系列である系列ΔσUDの合計6種類のn次元のベクトルとする。ジャッキの左右差・上下差の最小値は-74mm、最大値は74mmとする。左右・上下ともに中折角の最小値は-5°、最大値は5°とした。中折角の変化量の最小値は、-1°、最大値は1°とした。これらの変数値は、実際のシールドマシンにおいて制御できる最小単位に基づき、ジャッキの左右差・上下差については、1mm刻み、中折角の変化量については0.1°刻みで選択できるものとした。
【0196】
各パラメータ設定について20試行ずつ実施した。分割数を5、群サイズを100、反復数を100とそれぞれした。パラメータφの値と、φの値とは、それぞれ1.49618、ωの値は0.729を採用した。スケーリングファクタは、λ=1:0×10-3とした。制約逸脱度の定義におけるKピース制約の重みは、w=10、在庫制約の重みはw=50とした。またw=w=1とした。εレベルは常に0とした。
【0197】
図32に、第2の実験の実験結果を示す。図32では、全試行において実行可能解を得られたため掘削土量の適応度のみ抜粋し、その分布を箱ひげ図によって示す。ここで、箱は第1四分位点と第3四分位点を表し、箱内の線は中央値、箱外の線は最小値と最大値を表している。破線は従来手法の評価値を示す。全問題の全試行において共進化的組合せ最適化システム3による結果は、技術者の手法(Engineer*)を上回った。図33に、共進化的組合せ最適化システム3による第2の実験の実験結果に基づいてセグメントが配置された結果を示す。
【0198】
共進化的組合せ最適化システム3によって、シールド工法におけるセグメント割付計画およびマシン制御計画を制約付き組合せ最適化問題として解決した。三次元幾何シミュレーションによる解評価と、三次元幾何シミュレーションによる解評価に基づいた進化計算によってセグメント割付を最適化した。また、共進化的組合せ最適化システム3の有効性検証のため、実データを用いた三次元シミュレーションによる最適化実験を行った。全問題設定において、提案手法は技術者の結果を上回った。上述した第1の実験及び第2の実験では、トンネルのセグメント総数が比較的少ないため、セグメントタイプ、ジャッキ伸長、中折角の変数ベクトルごとに問題を部分問題に分割した。計画対象のトンネルが長い場合には、分割数を大きくし、計画線形における区間内でも問題を分割することで、高効率な最適化が可能となる。
【0199】
以上に説明したように、本実施形態に係る共進化的組合せ最適化システム3は、問題取得部60と、パラメータ取得部61と、分割部62と、最適化部(本実施形態において粒子群最適化部64)と、統治部(本実施形態において解候補生成部7)と、評価部9と、出力部10と、を備える。
問題取得部60は、複数の変数Xiの関数である目的関数fを制約条件gの下で最適化する複数の変数Xiの組を求める所定の問題(本実施形態においてセグメント割付計画問題及びマシン制御計画問題)を示す情報として、複数の変数Xiの数と、複数の変数Xi毎の定義域と、目的関数fと、制約条件gとの組を取得する。
パラメータ取得部61は、制約条件gの下で目的関数fを最適化するためのアルゴリズム(本実施形態においてεCCICPSO)のパラメータであって、複数の変数Xiを複数の組に分割する分割数Kを含むパラメータpsを取得する。
分割部62は、分割数Kに基づいて複数の変数Xiが分割されて得られる複数の組それぞれについて、当該組に含まれる1以上の変数Xikの組である部分解に対応する要素(本実施形態において粒子pk)の複数の集まりである要素群(本実施形態において粒子群PGk)を要素(本実施形態において粒子pk)が位置をもつ空間である探索空間DSkに配置する。
最適化部(本実施形態において粒子群最適化部64)は、要素群(本実施形態において粒子群PGk)に含まれる要素(本実施形態において粒子pk)の探索空間DSk内の位置に応じて評価される目的関数fの値である評価値に基づいて、要素(本実施形態において粒子pk)の探索空間DSk内の位置であって所定の問題(本実施形態においてセグメント割付計画問題及びマシン制御計画問題)の最適解の候補の部分解に対応する位置である最適位置(本実施形態においてグローバルベスト位置XgBest)と、要素群(本実施形態において粒子群PGk)に含まれる要素(本実施形態において粒子pk)の探索空間DSk内の位置(本実施形態において位置ベクトルXp)とを、アルゴリズム(本実施形態においてεCCICPSO)及びパラメータpsに基づいて探索空間DSk毎に更新する。
統治部(本実施形態において解候補生成部7)は、探索空間DSkにそれぞれ配置された要素群(本実施形態において粒子群PGk)のそれぞれから選択された要素(本実施形態において粒子pk)のそれぞれの探索空間DSk内の位置(本実施形態において位置ベクトルXp、またはグローバルベスト位置XgBest)に基づいて複数の変数Xiの組を生成する。
評価部9は、統治部(本実施形態において解候補生成部7)が生成した複数の変数Xiの組に対して、評価値(本実施形態において目的関数fの値)と、制約条件gとを評価する。
出力部10は、探索空間DSkそれぞれについての最適位置(本実施形態においてグローバルベスト位置XgBest)に基づいて統治部(本実施形態において解候補生成部7)によって生成された複数の変数Xiの組を所定の問題(本実施形態においてセグメント割付計画問題及びマシン制御計画問題)の最適解として出力する。
【0200】
この構成により、本実施形態に係る共進化的組合せ最適化システム3は、複数の変数の関数である目的関数を制約条件の下で最適化する所定の問題において複数の変数の数が多い場合であっても、部分解を組み合わせて生成される解候補についての評価値に基づいて部分解を探索空間毎に更新できるため、ICPSOなどの従来のアルゴリズムに比べてより最適な解を生成できる。
【0201】
また、本実施形態に係る共進化的組合せ最適化システム3は、制約緩和部63をさらに備える。
制約緩和部63は、評価値(本実施形態において目的関数fの値)と、制約条件gから逸脱した程度とに基づいて、要素群(本実施形態において粒子群PGk)に含まれる要素(本実施形態において粒子pk)の探索空間DSk内の位置同士の部分解としての優劣を判定する。
最適化部(本実施形態において粒子群最適化部64)は、要素群(本実施形態において粒子群PGk)に含まれる要素(本実施形態において粒子pk)の探索空間DSk内の位置と最適位置(本実施形態においてグローバルベスト位置XgBest)との優劣を制約緩和部63が判定した結果に基づいて最適位置(本実施形態においてグローバルベスト位置XgBest)を更新する。
【0202】
この構成により、本実施形態に係る共進化的組合せ最適化システム3は、解候補の探索途中において閾値εまで制約違反を許容することによって一時的に制約を緩和できるため、制約を緩和しない場合に比べて解候補群に多様性を持たせて探索を行うことができる。
【0203】
また、本実施形態に係る共進化的組合せ最適化システム3では、標本化部65をさらに備える。複数の変数Xiのうち離散値を取る変数に対応する次元の方向について要素(本実施形態において粒子pk)の探索空間DSk内の位置は当該変数が取り得る値の確率分布を示す。
標本化部65は、確率分布に基づいて1以上の変数Xikの組を生成する。
【0204】
この構成により、本実施形態に係る共進化的組合せ最適化システム3は、複数の変数に離散値が含まれている場合であっても探索空間内の離散値を取る変数に対応する次元の方向についての位置は当該変数が取り得る値の確率分布を示すため、離散値に対して確率分布に基づいて解候補を生成できる。
【0205】
なお、本実施形態ではアルゴリズムがεCCICPSOである場合の一例について説明したが、これに限られない。上述したようにεCCICPSOは、ε制約法と、CCと、ICと、PSOとを組み合わせたアルゴリズムである。εCCICPSOを構成するε制約法と、CCと、ICと、PSOとのうちいずれか1つ以上が他の類似したアルゴリズムによって置き換えられてもよい。所定の問題の種類によってε制約法と、CCと、ICと、PSOとのうちいずれか1つ以上が省略されてもよい。
【0206】
例えば、制約を緩和するアルゴリズムとして、ε制約法の代わりに、ペナルティ項、遺伝的アルゴリズムにおける致死遺伝子などが用いられてもよい。
ペナルティ項が用いられる場合、目的関数にペナルティ項が加算、あるいは乗算される。制約逸脱度としてペナルティが評価値から減算あるいは積算される。目的関数にペナルティ項が加算される場合、制約を違反すると評価値は、逸脱度に応じて減少する。目的関数にペナルティ項が乗算される場合、制約を違反すると評価値は、0になる。
致死遺伝子が用いられる場合、解候補が制約を違反した場合、この解候補は探索空間から除外される。
【0207】
また、制約を緩和するアルゴリズムが省略されてもよい。制約を緩和するアルゴリズムが省略される場合、図26に示したステップS660、及びステップS680において、解候補が制約を違反した場合、この解候補はローカルベストサンプルSpBestpあるいはグローバルベストサンプルSgBestより優れていないと判定される。解候補が制約を違反していない場合に、評価値として目的関数fの値のみが評価される。
【0208】
また、分割と統治のアルゴリズムとして、CCの代わりに、グループワークなどが用いられてもよい。グループワークが用いられる場合、要素群からそれぞれ任意の1つの要素が選択されて構成されるグループが複数構成される。要素についての評価値は、この要素を含むグループの評価値に基づいて算出される。
【0209】
また、複数の変数が連続値を取る場合、要素の位置は部分解を示すため、ICは不要である。
【0210】
また、最適解を算出するアルゴリズムとして、PSOの代わりに、差分進化(Differential evolution:DE)、またはホタルアルゴリズム(Firefly Algorithm: FA)などが用いられてもよい。
DEでは、複数の親個体が設定され、第1世代の複数の親個体のうち1つが初期解に設定される。個体の位置、スケーリングファクタ、及びバイナリー交叉のパラメータに基づいて、各個体の位置が更新される。
FAでは、ホタルの特性と動きに基づくアルゴリズムである。FAでは、複数のホタルについて、目的関数の値とホタルの明るさとが対応づけられて、各ホタルは、他のホタルの明るさに応じて他のホタルに引き寄せられるように移動する。
【0211】
また、本実施形態では、要素群(本実施形態において、粒子群PGk)毎に最適化処理が並列処理として行われる場合の一例について説明したが、これに限られない。最適化処理は、並列処理に変えて、直列処理として行われてもよい。
また、本実施形態では、要素群毎の最適化処理において、共通のアルゴリズム(εCCICPSO)が用いられる場合の一例について説明したが、これに限られない。要素群毎の最適化処理において、要素群毎に異なるアルゴリズムが用いられてもよい。
【0212】
また、要素群毎に用いられるアルゴリズムは、最適解を探索する過程において、評価値に基づいて更新されてもよい。例えば、ある要素群について、評価値が低い要素群において用いられるアルゴリズムが、評価値が高い要素群において用いられる他のアルゴリズムによって更新されてよい。
また、分割部62による分割のパターンが、最適解を探索する過程において、評価値に基づいて更新されてもよい。例えば、最適解を探索する過程において分割数Kの値を大きくしてゆき、分割数Kの値を変化に対する評価値の変化の割合が所定の値以下となった場合に、分割数Kの値を固定してもよい。
【0213】
なお、本実施形態においては、共進化的組合せ最適化システム3が所定の問題の最適解を算出する場合の一例について説明したが、これに限られない。共進化的組合せ最適化システム3は、最適解とともに、この最適解に近いと評価される1以上の解候補を算出してもよい。
【0214】
なお、上記の実施形態における各装置が備える各部は、専用のハードウェアにより実現されるものであってもよく、また、メモリおよびマイクロプロセッサにより実現させるものであってもよい。
【0215】
なお、各装置が備える各部は、メモリおよびCPU(中央演算装置)により構成され、各装置が備える各部の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【0216】
また、各装置が備える各部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、制御部が備える各部による処理を行ってもよい。
なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0217】
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【産業上の利用可能性】
【0218】
本発明によって、シールド工法におけるセグメント割付計画問題を制約付き組合せ最適化問題として解決することができる。
【符号の説明】
【0219】
1:計画線
2、2a:シールドマシン
3:共進化的組合せ最適化システム
4:問題設定部
5:アルゴリズム設定部
6:共進化的組合せ最適化部
60:問題取得部
61:パラメータ取得部
62:分割部
63:制約緩和部
64:粒子群最適化部
65:標本化部
7:解候補生成部
8:シミュレータ
9:評価部
90:評価値取得部
91:適応度算出部
92:制約評価部
10:出力部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33