JP2022090249A - 最適化装置、最適化方法、及び最適化プログラム - Google Patents

最適化装置、最適化方法、及び最適化プログラム Download PDF

Info

Publication number
JP2022090249A
JP2022090249A JP2020202515A JP2020202515A JP2022090249A JP 2022090249 A JP2022090249 A JP 2022090249A JP 2020202515 A JP2020202515 A JP 2020202515A JP 2020202515 A JP2020202515 A JP 2020202515A JP 2022090249 A JP2022090249 A JP 2022090249A
Authority
JP
Japan
Prior art keywords
optimization
value
objective function
continuous
value group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2020202515A
Other languages
English (en)
Inventor
昭人 丸尾
Akito Maruo
武志 添田
Takeshi Soeda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020202515A priority Critical patent/JP2022090249A/ja
Priority to EP21193224.9A priority patent/EP4009200A1/en
Priority to US17/458,651 priority patent/US20220180210A1/en
Priority to CN202111076139.0A priority patent/CN114595549A/zh
Publication of JP2022090249A publication Critical patent/JP2022090249A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06EOPTICAL COMPUTING DEVICES; COMPUTING DEVICES USING OTHER RADIATIONS WITH SIMILAR PROPERTIES
    • G06E1/00Devices for processing exclusively digital data
    • G06E1/02Devices for processing exclusively digital data operating upon the order or content of the data handled
    • G06E1/04Devices for processing exclusively digital data operating upon the order or content of the data handled for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/06Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Genetics & Genomics (AREA)
  • Physiology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】連続値の変数と離散値の変数の両方を含む最適化問題の最適化に必要となる計算コストを抑制して効率的に最適化を行うことができる最適化装置等の提供。【解決手段】連続変数及び離散変数を含む目的関数式を用いて表される最適化問題の最適化を行う最適化装置であって、目的関数式を最適化する最適化処理部は、連続値データの中から選択した複数のデータ値からなる第n世代データ値群を取得し、第n世代データ値群を用いて目的関数式の最適化処理を焼き鈍し法により行うことにより、第n世代データ値群における複数のデータ値の各々の評価値を特定し、評価値に基づき、遺伝的アルゴリズムを用いて、連続値データの中から選択した複数のデータ値からなり、第n世代データ値群とは異なる第n+1世代データ値群を取得し、第n世代データ値群を第n+1世代のデータ値群に置き換える、最適化装置等である。【選択図】図24

Description

本件は、最適化装置、最適化方法、及び最適化プログラムに関する。
材料、創薬、デバイスなどの開発の場面においては、連続値の変数と離散値の変数の両方を最適化することが求められる場合がある。例えば、モータの設計を行う際には、磁石の内径、磁石の厚さ、ギャップの大きさ等が連続値の変数となり、磁石の配置(小磁石の向き)等が離散値の変数となる。
連続値の変数を最適化する手法としては、実数値遺伝的アルゴリズム(実数値GA)が挙げられ、この手法を用いることにより、実用的な時間で比較的優れた解を求めることができることが知られている(例えば、非特許文献1参照)。
実数値GAにおける具体的な交叉の手法としては、例えば、「REXstar」と称される手法が挙げられる。REXstarにおいては、親個体の位置ベクトルに対する鏡映点を作成し、親個体と鏡映点の中から上位半分の個体の重心を求めることで大域降下方向を特定して、大域降下方向にステップサイズtだけ個体の分布を移動させる。こうすることにより、REXstarでは、実数値遺伝的アルゴリズムにおける他の交叉の手法と比べて、より適切な方向に解を探索することができるため、解の探索性能が高いとされている。
また、実数値GAにおける具体的な世代交代の手法としては、例えば、「JGG(Just Generation Gap)」と称される手法が挙げられる(例えば、非特許文献1参照)。JGGにおいては、個体群からn個の個体をランダムに選択して親個体とし、親個体に対し交叉を行って生成した子個体の中から、評価が上位の個体をn個選び、次の世代の親個体とする。こうすることにより、JGGでは、他の手法と比べて、少ない個体の数(集団サイズ)で安定して解を収束させることができる。
また、離散値の変数の最適化に関する技術としては、離散値の組合せを最適化する組合せ最適化問題を効率的に最適化することが可能な「焼き鈍し法(アニーリング)」を利用した技術が挙げられる。例えば、離散値の変数の最適化に関する技術として、飛行経路の候補から最適な飛行経路を特定するために、GAを利用して大域的探索を行い、次にシミュレーテッドアニーリング(SA)により局所的探索を行う技術が提案されている(例えば、特許文献1)。
ここで、焼き鈍し法(アニーリング)を利用して、効率的に連続値の変数を含む最適化問題の最適化を行おうとする場合には、連続値の変数を所定の刻み幅で分割(離散化)して離散値として表現して最適化を行うときがある。このとき、連続値を離散化して離散値として表現する際には、多くの離散変数(計算に用いるビット)が必要となるため、計算コストが膨大になってしまい、計算が困難になってしまうことがあった。
特開平11-295098号公報
小林重信,"実数値GAのフロンティア",人工知能学会誌,Vol.24,No.1 pp.147-162,2009.
一つの側面では、本件は、連続値の変数と離散値の変数の両方を含む最適化問題の最適化に必要となる計算コストを抑制して効率的に最適化を行うことができる最適化装置等を提供することを目的とする。
上記の課題を解決するための手段の一つの実施態様は、以下の通りである。
すなわち、一つの実施態様では、最適化装置は、連続値データからなる連続変数、及び、離散値データからなる離散変数を含む目的関数式を用いて表される最適化問題の最適化を行う最適化装置であって、
目的関数式を最適化する最適化処理部を有し、
最適化処理部は、
連続変数として、連続値データの中から選択した複数のデータ値からなる第n世代データ値群(n≧1)を取得し、
第n世代データ値群を用いて目的関数式の最適化処理を焼き鈍し法により行うことにより、第n世代データ値群における複数のデータ値の各々の評価値を特定し、
評価値に基づき、遺伝的アルゴリズムを用いて、連続値データの中から選択した複数のデータ値からなり、第n世代データ値群とは異なる第n+1世代データ値群を取得し、
連続変数として、第n世代データ値群を第n+1世代のデータ値群に置き換える。
一つの側面では、本件は、連続値の変数と離散値の変数の両方を含む最適化問題の最適化に必要となる計算コストを抑制して効率的に最適化を行うことができる最適化装置等を提供できる。
図1Aは、モータの一例を示す図である。 図1Bは、モータにおける磁石の一例を示す図である。 図2は、REXstar及びJGGを用いた実数値GAの流れの一例を示すフローチャートである。 図3は、QUBO形式のイジングモデル式に最小値を与えるビットの組合せを探索する際の様子の一例を示す図である。 図4は、本件で開示する最適化装置のハードウェア構成の一例を示す図である。 図5は、本件で開示する最適化装置のハードウェア構成の他の一例を示す図である。 図6は、本件で開示する最適化装置の機能構成の一例を示す図である。 図7は、本件で開示する技術の一例を用いて、連続値データからなる連続変数、及び、離散値データからなる離散変数を含む目的関数式を用いて表される最適化問題を最適化する際の流れの一例を示すフローチャートである。 図8は、本件で開示する技術の一例における、短時間の簡易的な評価(サブフロー1)の流れの一例を示すフローチャートである。 図9は、本件で開示する技術の一例における、最適解に達し得る十分な評価(サブフロー2)の流れの一例を示すフローチャートである。 図10は、本件で開示する技術の一例を用いて、短時間の簡易的な評価と十分な評価を切り替えて用いる際のそれぞれの評価における焼き鈍し法の反復回数を決定する際の流れの一例を示すフローチャートである。 図11は、本件で開示する技術の一例を用いて、遺伝的アルゴリズムのパラメータを事前に決定する際の流れの一例を示すフローチャートである。 図11は、図11におけるS602の詳細な流れの一例を示すフローチャートである。 図13は、焼き鈍し法に用いるアニーリングマシンの機能構成の一例を示す図である。 図14は、遷移制御部の動作フローの一例を示す図である。 図15は、実施例における、解析対象とする振動発電デバイスの一例を示す図である。 図16は、磁石MGをN個の小磁石に分割したときの様子の一例を示す図である。 図17は、磁石の状態変数sj,kと、磁石の状態変数sj,kが表すj番目の小磁石Nにおける磁化の向きとの対応の一例を示す図である。 図18は、実施例におけるコイルの分割手法の一例を示す図である。 図19は、実施例における、連続変数をランダムに設定した目的関数式の、焼き鈍し法の反復回数と、当該目的関数式のエネルギー値の関係の一例を示す図である。 図20は、実施例における、連続変数をランダムに設定した目的関数式の、焼き鈍し法の反復回数と、焼き鈍し法による最適化に必要となる解析時間の関係の一例を示す図である。 図21は、実施例における、ステップサイズtの値をそれぞれ異ならせて設定した目的関数式の、データ値群(個体群)の世代数と、当該目的関数式のエネルギー値の関係の一例を示す図である。 図22は、実施例における、振動発電デバイスのコイルの位置と磁石配置を最適化するための目的関数式の、データ値群(個体群)の世代数と、当該目的関数式のエネルギー値の関係の一例を示す図である。 図23は、実施例において、振動発電デバイスのコイルの位置と磁石配置を最適化したときの、コイルと磁石の配置等の一例を示す図である。 図24は、本件で開示する技術の一実施形態における、処理の流れの一例を示す図である。 図25は、本件で開示する技術の一実施形態における、処理の流れの他の一例を示す図である。
(最適化装置)
本件で開示する技術は、従来技術では、連続値の変数と離散値の変数の両方を含む最適化問題の最適化を行う際に、計算コストが膨大になってしまい、このような最適化問題を効率的に最適化できないという、本発明者らの知見に基づくものである。そこで、本件で開示する技術の詳細を説明する前に、従来技術の問題点等について説明する。
上述したように、材料、創薬、デバイスなどの開発の場面において、組合せ最適化問題を解くことにより、混合物の組成の最適化、薬の候補物質の安定構造の探索、デバイスの形状の最適化などを行う技術が提案されている。このような組合せ最適化問題は、連続値の変数と離散値の変数の両方を変数として含み、連続値の最適化と離散値の最適化とが複雑に組み合わさった組合せ最適化問題となる場合がある。
ここで、組合せ最適化問題における連続値の最適化としては、例えば、機器の寸法の最適化、部材を設置する位置の最適化、材料開発における物質の混合率の最適化などが挙げられる。また、組合せ最適化問題における離散値の最適化としては、例えば、使用する材料の種類及び個数の最適化、部材の配置などが挙げられる。
連続値の変数と離散値の変数の両方を変数として含む組合せ最適化問題の具体的な一例として、図1A及び図1Bに示すように、モータを設計する際に、モータの形状等を最適化する例を考える。
図1A及び図1Bに示す例において、モータ1は、磁石2、コイル3、ポール4、及び固定子5を有し、磁石2は、図1Bに示すように、多数(この例では1080個)の小磁石により形成されている(磁石3が多数の小磁石に分割されている)。
図1A及び図1Bに示す例では、例えば、磁石2の内径、磁石2の厚さ、磁石2とコイル3とのギャップの大きさ、ポール4の高さ、ポール4の幅、固定子5(鉄心)の厚さなどが、連続値の変数となる。なお、以下では、このような連続値の変数(パラメータ)を設計パラメータと称するときがある。
また、この例では、図1Bに示すように、各小磁石の向きを、「半径方向(+半径方向)、半径方向の逆向き(-半径方向)、周方向(+周方向)、周方向の逆向き(-周方向)、回転軸方向(+回転軸方向)、回転軸方向の逆向き(-回転軸方向)、磁石なし」の7つの向きのいずれかであるとして考える。こうすることにより、図1Bに示すように、各小磁石の向きを、7つの向きに離散化して考えることができ、離散値の変数で表すことができる。
このように、図1A及び図1Bに示す例では、例えば、磁石2の内径、磁石2の厚さ、磁石2とコイル3とのギャップの大きさ、ポール4の高さ、ポール4の幅、及び固定子5(鉄心)の厚さが、連続値の変数となり、磁石2の各小磁石の向きが離散値の変数となる。したがって、図1A及び図1Bに示す例について、モータ1を設計する際に、モータの形状等を最適化する問題は、連続値の変数と離散値の変数の両方を含む組合せ最適化問題となる。つまり、図1A及び図1Bに示す例において、磁石2の各小磁石の向き(小磁石の配置)を最適化しようとする際には、連続値の変数である設計パラメータの値に依存して、各小磁石の向きの最適化の結果が変化することになる。
このため、連続値の変数と離散値の変数の両方を含む組合せ最適化問題を解く(求解する)際には、連続値の変数と離散値の変数の相互関係を考慮して適切に扱い、連続値の変数と離散値の変数の両方を適切に最適化することが求められる。
ここで、連続値の変数を最適化する手法としては、上述したように、実数値遺伝的アルゴリズム(実数値GA;Real-coded genetic algorithm)が挙げられる。実数値GAにおいては、連続値を変数とする連続関数の最適化を、遺伝的アルゴリズムにおける遺伝子を、実数値ベクトルで表現した実数値型遺伝子として行う。また、実数値GAでは、解の候補における「形質」をパラメータ空間中の座標とし、解の候補における「類似性」をパラメータ空間でのユークリッド距離として評価する。このような実数値GAを用いることにより、大域解(グローバルミニマム)を発見できる可能性を高くすることができると共に、実用的な時間内に比較的優れた解を求めることができる。
なお、実数値GAの詳細については、例えば、「九州大学 大学院工学研究院海洋システム工学部門ゼミ資料(木村),“実数値パラメータ最適化のための遺伝的アルゴリズムについて”,(http://sysplan.nams.kyushu-u.ac.jp/gen/edu/Algorithms/RGA_JGGandREX/RGA_JGG_REX.pdf)」などの文献に開示されている。
実数値GAにおける具体的な交叉の手法としては、上述したように、例えば、「REXstar」と称される手法が挙げられる。REXstarは、実数値遺伝的アルゴリズムにおける他の交叉の手法と比べて、より適切な方向に解を探索することができるため、解の探索性能が高いとされている。
REXstarでは、例えば、K個の親個体が与えられた場合、親個体の重心xに対して、親個体の位置ベクトルx、…、xの重心xに対する鏡映点をそれぞれ作成する(鏡映個体を作成する)。そして、REXstarでは、例えば、合計2K個の中で評価が上位半分の個体の重心をxとし、「x-x」を大域降下方向とし、この大域降下方向を用いて子個体を生成する。なお、この大域的降下方向への移動の大きさをステップサイズtとする。
REXstarにおける具体的な交叉の式としては、例えば、次の式を用いることができる。
Figure 2022090249000002
Figure 2022090249000003
Figure 2022090249000004
なお、上記の3つの式において、nは設計変数(連続値の変数)の数を意味し、nは親個体の数を意味し、U(a,b)はaからbの範囲の一様分布を意味する。
加えて、実数値GAにおける具体的な世代交代の手法としては、例えば、上述したように、「JGG(Just Generation Gap)」と称される手法が挙げられる。JGGでは、他の基本的な手法(MGG(Minimal Generation Gap))と比べて、少ない個体の数(集団サイズ)で安定して解を収束させることができる。
JGGでは、例えば、個体群からn個の個体をランダムに選択して親個体群とし、親個体群に対して交叉を適用して、n個の子個体で形成される子個体群を生成する。そして、JGGでは、例えば、子個体群から、評価が上位の個体をn個選び、親個体と全て入れ替えることにより、次の世代n親個体とする。このように、JGGでは、親個体と子個体の数が同数であることにより、他の手法よりも、少ない個体の数(集団サイズ)で安定して解を収束させることができる。
ここで、実数値GAにおける「個体群(世代)」とは、互いに異なる連続変数の値(互い異なるパラメータの値)を有するデータの群(集まり)を意味する。
また、REXstar及びJGGついての詳細は、例えば、上述した「小林重信,“実数値GAのフロンティア”,人工知能学会誌,Vol.24,No.1 pp.147-162,2009.」や、「佐藤孝洋,“電磁界解析を用いた電気機器の最適設計に関する研究”,2014年度北海道大学大学院情報科学研究科システム情報科学専攻博士論文,2015.」などの文献に開示されている。
ここで、図2を参照して、REXstar及びJGGを用いた実数値GAの流れの一例について説明する。
まず、実数値GAの一例では、初期個体群を生成する(S101)。初期個体群は、例えば、連続変数をランダムに設定した複数の初期個体を生成することにより、生成することができる。
次に、実数値GAの一例では、初期個体群における各個体についての評価を行う(S102)。また、各個体の評価は、連続変数xに応じた目的関数f(x)の値を計算し、計算結果を評価値とすること、連続変数xをパラメータとして設定し、数値計算を用いた解析を行い目的関数の値を定め、解析結果を評価値とすることなどにより行うことができる。
続いて、実数値GAの一例では、親個体とする個体を、初期個体群の個体から、ランダムに複数選択する(S103)。また、実数値GAの一例では、S103においては、JGGを用いて親個体を選択する。
そして、実数値GAの一例では、REXstarを用いた交叉を行い、子個体群を生成する(S104)。
次に、実数値GAの一例では、子個体群における各個体についての評価を行う(S105)。なお、子個体群における各個体についての評価は、S105と同様の手法により行うことができる。
続いて、実数値GAの一例では、子個体の世代数が上限(所定数)に達したか否かを判定し(S106)、子個体の世代数が上限に達していないと判定した場合は、処理をS107に移し、子個体の世代数が上限に達したと判定した場合は、処理を終了させる。
また、実数値GAの一例では、子個体の世代数が上限に達していないと判定した場合は、評価が高い個体と、親個体とを置き換える(S107)。また、実数値GAの一例では、S107においては、JGGを用いて評価が高い個体と親個体との置き換えを行う。
そして、実数値GAの一例では、S107の処理を終えると、処理をS103に戻し、次の世代についての計算を行う。
このようにして、REXstar及びJGGを用いた実数値GAの一例では、連続変数 についての最適化問題を最適化する。
一方、離散値の変数を最適化する手法としては、上述したように、「焼き鈍し法(アニーリング)」を利用した技術が挙げられる。より具体的には、離散値の組合せを最適化する組合せ最適化問題を高速に解くことができる技術として、アニーリングマシンなどを用いて、焼き鈍し法による計算を行う技術が提案されている。
組合せ最適化問題の求解を焼き鈍し法により行う手法としては、例えば、組合せ最適化問題における条件や制約に基づいた目的関数式を用いる手法が提案されている。目的関数式は、当該目的関数式におけるパラメータ(変数)が、組合せ最適化問題における最適な組合せとなるときに、最小の値をとる関数である。このため、目的関数式が最小の値となる離散値の変数の組合せを探索する(目的関数式を最小化する)ことにより、組合せ最適化問題の解を探索することができる。
また、アニーリングマシンなどを用いた焼き鈍し法(アニーリング)により、高速で効率的に目的関数式の最小化を行うためには、目的関数式がQUBO(Quadratic Unconstrained Binary Optimization;制限なし二次形式二値変数最適化)形式で表現されていることが必要となる場合がある。ここで、QUBO形式とは、0又は1などの2つの値のみを取り得る変数に対して、最大化又は最小化すべき目的関数式が、その2次の項までで表現でき、かつ変数空間の範囲に明示的な制限がない形式を意味する。
ここで、目的関数式をQUBO形式で表現するためには、最適化する目的関数式に含まれる変数(パラメータ)が、離散値(例えば、0又は1などの2つの値のみを取り得る二値)の変数であることが求められる。
そこで、上述したように、焼き鈍し法(アニーリング)を利用した効率的な最適化を、連続値の変数を含む最適化問題にも適用可能とする目的で、連続値の変数を所定の刻み幅で分割(離散化)して離散値として表現して最適化を行うときがある。このとき、連続値を離散化して離散値として表現する際には、計算精度を保つためには、連続値の分割するときの刻み幅を十分に小さくする必要がある。したがって、連続値の変数を所定の刻み幅で分割(離散化)して離散値として表現しようとすると、多くの離散変数(計算に用いるビット)が必要となるため、計算コストが膨大になってしまい、計算が困難になってしまうことがあった。より具体的には、焼き鈍し法の計算を高速に行うことができるアニーリングマシンを用いて、組合せ最適化問題の求解を行おうとする場合、アニーリングマシンで使用できるビット数には制限があることから、連続値を含む組合せ最適化問題への適用は困難であった。
このため、従来は、本質的には連続値の変数と離散値の変数の両方を含む組合せ最適化問題となる問題であっても、連続値の変数を固定して、離散値の変数のみの最適化を行うことが行われていた。具体的には、振動発電デバイスの最適化において、コイルの位置やデバイスの寸法などの連続値の変数となる設計パラメータは固定し、磁石の配置(小磁石の向き)の最適化を行う技術などが提案されている。この技術については、「A. Maruo,H.Igarashi,H.Oshima and S.Shimokawa,“Optimization of Planar Magnet Array Using Digital Annealer,“in IEEE Transactions on Magnetics,vol.56,no.3,pp.1-4,March 2020,Art no.7512104,doi:10.1109/TMAG.2019.2957805.」に開示されている。
このように、従来技術では、連続値の変数と離散値の変数の両方を含む最適化問題の最適化を行う際に、連続値を分割して離散化するため、計算に必要となるビットが膨大となってしまい、アニーリングマシンを用いた焼き鈍し法の適用が困難な場合があった。すなわち、従来技術においては、連続値の変数と離散値の変数の両方を含む最適化問題の最適化を行う際に、計算コストが膨大になってしまい、このような最適化問題を効率的に最適化できない場合があった。
そこで、本発明者らは、連続値の変数と離散値の変数の両方を含む最適化問題の最適化に必要となる計算コストを抑制して効率的に最適化を行うことができる装置等について鋭意検討を重ね、以下の知見を得た。
すなわち、本発明者らは、下記の最適化装置等により、連続値の変数と離散値の変数の両方を含む最適化問題の最適化に必要となる計算コストを抑制して効率的に最適化を行うことができることを知見した。
本件で開示する技術の一例としての最適化装置は、連続値データからなる連続変数、及び、離散値データからなる離散変数を含む目的関数式を用いて表される最適化問題の最適化を行う最適化装置であって、
目的関数式を最適化する最適化処理部を有し、
最適化処理部は、
連続変数として、連続値データの中から選択した複数のデータ値からなる第n世代データ値群(n≧1)を取得し、
第n世代データ値群を用いて目的関数式の最適化処理を焼き鈍し法により行うことにより、第n世代データ値群における複数のデータ値の各々の評価値を特定し、
評価値に基づき、遺伝的アルゴリズムを用いて、連続値データの中から選択した複数のデータ値からなり、第n世代データ値群とは異なる第n+1世代データ値群を取得し、
連続変数として、第n世代データ値群を第n+1世代のデータ値群に置き換える。
ここで、本件で開示する技術の一例では、連続値データからなる連続変数、及び、離散値データからなる離散変数を含む目的関数式を用いて表される最適化問題の最適化を行う。つまり、本件で開示する技術の一例では、連続値による連続変数と、離散値による離散変数との両方を含む目的関数式の最適化を行う。
そして、本件で開示する技術の一例では、連続変数として、連続値データの中から選択した複数のデータ値からなる第n世代データ値群(n≧1)を得る。つまり、本件で開示する技術の一例では、連続変数の複数のデータ値からなる第n世代データ値群(親個体群としての第n世代のデータ構造)を得る。
次いで、本件で開示する技術の一例では、第n世代データ値群を用いて目的関数式の最適化処理を焼き鈍し法により行うことにより、第n世代データ値群における複数のデータ値の各々の評価値を特定する。つまり、本件で開示する技術の一例では、焼き鈍し法により、第n世代データ値群(親個体群)における個々のデータ値の評価値を特定する。
続いて、本件で開示する技術の一例では、評価値に基づき、遺伝的アルゴリズムを用いて、連続値データの中から選択した複数のデータ値からなり、第n世代データ値群とは異なる第n+1世代データ値群を取得する。具体的には、本件で開示する技術の一例では、第n世代データ値群における、評価値に由来する評価結果の高いデータ値群に基づき、遺伝的アルゴリズムを用いて、連続値データの中から選択した複数のデータ値からなり、第n世代データ値群とは異なる第n+1世代データ値群を得る。このように、本件で開示する技術の一例では、評価結果の高い個体群に基づき、遺伝的アルゴリズムを用いて、第n世代の次の世代の第n+1世代データ値群(子個体群)を得る。
そして、本件で開示する技術の一例では、連続変数として、第n世代データ値群を第n+1世代データ値群に置き換える。つまり、本件で開示する技術の一例では、親個体群の内、評価結果の高い個体群を、子個体群(次の世代の親個体群)とした上で、目的関数式の最適化を行う。
このように、本件で開示する技術の一例では、例えば、連続変数の最適化を遺伝的アルゴリズム(GA)で行うと共に、GAにおけるデータ値群(個体群)の評価及び離散変数の最適化を焼き鈍し法により行う。つまり、本件で開示する技術の一例では、最適化問題を、連続変数の最適化と離散変数の最適化とに分離し、連続変数の最適化をGAにより連続変数のまま最適化し、最適化された連続変数の値を用いて、離散変数を焼き鈍し法により最適化する。
言い換えると、本件で開示する技術の一例では、連続値の最適化を行うGAをメインフローとし、GAにおける個体の評価の際に、GAの個体が持つ連続値の値を用いて、サブフローとしての焼き鈍し法による離散値の組合せ最適化を行う。そして、本件で開示する技術の一例では、組合せ最適化により特定された目的関数式の値を、評価値としてメインフローに返すことで、GAの個体群(第n世代データ値群)から評価結果の高い個体を抽出して、次の世代の個体群(第n+1世代データ値群)とする。
また、本件で開示する技術の一例では、上述したような、第n世代データ値群の生成と、第n世代データ値群を第n+1世代のデータ値群に置き換えること(第n+1世代データ値群の生成)とを繰り返すことが好ましい。言い換えると、本件で開示する技術の一例では、第n+1世代データ値群における個々のデータ値の評価値を特定し、第n+1世代データ値群から評価結果の高いデータ値群(個体群)抽出して、第n+2世代データ値群とするように処理を繰り返すことが好ましい。
こうすることにより、最終的に得られるデータ値群(個体群)は、より評価結果の高いデータ値群となるため、このデータ値群を用いて目的関数式を最適化することにより、最適化問題の最適化をより適切に行うことができる。
このように、本件で開示する技術の一例では、例えば、連続値の変数を所定の刻み幅で分割して離散値として表現して最適化する技術とは異なり、連続変数の最適化を、連続変数のままで、上述した実数値GA等により効率的に行うことができる。さらに、本件で開示する技術の一例では、例えば、上述した実数値GAにおける個体(所定の連続値データにより定義され、離散変数を含む関数)の評価を、焼き鈍し法により効率的に行うことができ、実数値GAにおける世代交代を効率的に行うことができる。
このため、本件で開示する技術の一例では、連続値の変数を分割して離散化する必要がなく、連続変数と離散変数の両方を効率よく最適化できるため、これらの変数を含む最適化問題の最適化に必要となる計算コストを抑制して効率的に最適化を行うことができる。
以下では、本件で開示する技術の一例を、図面を参照しながら説明する。なお、本件で開示する技術の一例としての最適化装置における、目的関数式の最適化などの処理(動作)は、例えば、最適化装置が有する最適化処理部により行うことができる。
ここで、本件で開示する最適化装置は、最適化処理部を有し、更に必要に応じてその他の部(手段)を有していてもよい。なお、最適化処理部は、例えば、CPU(Central Processing Unit)などのプロセッサと、RAM(Random Access Memory)などのメモリを結合したものや、アニーリングマシンの一部として実現できる。
本件で開示する最適化装置は、連続値データからなる連続変数、及び、離散値データからなる離散変数を含む目的関数式を用いて表される最適化問題の最適化を行う装置である。
ここで、本件で開示する技術の一例を用いて最適化を行う最適化問題としては、連続変数及び離散変数を含む目的関数式で表されるものあれば特に制限はなく、目的に応じて適宜選択することができる。連続変数及び離散変数を含む目的関数式で表される最適化問題としては、例えば、混合物の組成に関する最適化問題、薬の候補物質の安定構造の探索に関する最適化問題、デバイスの形状に関する最適化問題などが挙げられる。デバイスの形状に関する最適化問題としては、具体的には、例えば、振動発電デバイスなどの磁気デバイスにおける、磁石とコイルの形状、位置、配置等を最適化する問題などが挙げられる。
目的関数式において、連続変数として設定するパラメータと、離散変数として設定するパラメータとは、最適化問題の条件等に応じて、適宜選択することができる。また、本件で開示する技術の一例では、例えば、離散変数として設定した場合に、多くの変数(計算に用いるビット)が必要となるパラメータについては、連続変数として設定することが好ましい。
また、連続値データからなる連続変数としては、例えば、複数の連続値データ(連続的な値を取り得るデータ)による変数とすることができる。同様に、離散値データからなる離散変数としては、例えば、複数の離散値データ(離散的な値を取り得るデータ)による変数とすることができる。
<第n世代データ値群の取得>
本件で開示する技術の一例では、上述したように、連続変数として、連続値データの中から選択した複数のデータ値からなる第n世代データ値群(n≧1)を取得する。
ここで、第n世代データ値群とは、互いに異なる連続変数の値(互い異なる連続値データ)を有するデータの群(集まり)を意味し、遺伝的アルゴリズムにおける「個体群(世代)」として扱うことができる。
また、第n世代データ値群(第n世代データ構造)に関して、目的関数式の処理を行う際の最初の世代(nが1である第1世代データ値群;初期個体群)は、例えば、連続値データの中から、複数のデータをランダムに乱数を用いて選択することで得ることができる。
第1世代データ値群として選択するデータ値の数(生成する初期個体の数)としては、特に制限はなく、目的に応じて適宜選択することができるが、例えば、目的関数式に含まれる連続変数の数に基づいて決定することが好ましい。本件で開示する技術の一例では、例えば、目的関数式に含まれる連続変数の数(種類)と、第1世代データ値群として選択するデータ値の数とを比例関係として、連続変数の数が多いほど、選択するデータ値の数が多くなるようにすることが好ましい。
さらに、本件で開示する技術の一例では、第n世代データ値群と第n+1世代データ値群との置き換えを繰り返す(nが2以上である)場合、置き換えた第n+1世代データ値群(子個体群)を、次の世代の親個体としての第n世代データ値群として扱う。
こうすることにより、処理を繰り返す程に、より評価結果の高いデータ値群となるため、このデータ値群を用いて目的関数式を最適化することにより、最適化問題の最適化をより適切に行うことができる。
<評価値の特定>
本件で開示する技術の一例では、上述したように、第n世代データ値群を用いて目的関数式の最適化処理を焼き鈍し法により行うことにより、第n世代データ値群における複数のデータ値の各々の評価値を特定する。
ここで、焼き鈍し法(アニーリング)により目的関数式を最適化する際には、例えば、第n世代データ値群における個々のデータ値(個々の個体)について、焼き鈍し法による最適化を行う。つまり、本件で開示する技術の一例では、連続変数を所定のデータ値とした目的関数式について、焼き鈍し法による離散変数の組合せ最適化を行うことにより、評価値を特定する。
また、評価値としては、n世代データ値群における個々のデータ値を評価可能な値であれば、特に制限はなく、目的に応じて適宜選択することができる。より具体的には、評価値としては、例えば、連続変数を所定のデータ値とした目的関数式について、焼き鈍し法による最適化処理を行ったときの関数値(エネルギー値)とすることができる。
つまり、本件で開示する技術の一例では、例えば、連続変数を所定のデータ値とした目的関数式について、焼き鈍し法による離散変数の組合せ最適化を行い、目的関数式の最小値又は最大値を求めることで、評価値を特定することができる。
なお、連続変数を所定のデータ値とした目的関数式について、焼き鈍し法による離散変数の組合せ最適化に用いる、具体的な数式の例や計算手法の詳細については後述する。
加えて、本件で開示する技術の一例では、第n世代データ値群における複数のデータ値の各々(個体)を評価する際には、評価するデータ値群(個体群)の世代数に応じて、評価を行うための焼き鈍し法における反復回数を制御することが好ましい。言い換えると、本件で開示する技術の一例では、最適化処理部が、第n世代データ値群における複数のデータ値の各々の評価値を特定する際に、第n世代データ値群における世代数に応じて、最適化処理を実行する回数を制御することが好ましい。
ここで、目的関数式の最適化処理を焼き鈍し法により行う際には、目的関数式の最適化の程度は、焼き鈍し法の反復回数(最適化処理を実行する回数)に依存する。具体的には、目的関数式の最適化を焼き鈍し法の反復回数が少ない場合は、短時間で計算可能であるものの、最適化の途中で計算が終了することになり、最適化の精度は十分でない場合がある。一方、目的関数式の最適化を焼き鈍し法の反復回数が多い場合(十分である場合)は、計算時間は長くなるものの、十分な精度で最適化を行うことができる。
このため、本件で開示する技術の一例では、評価を行うデータ値群の世代数が所定数以下である場合に、反復回数を少なくすることが好ましい。言い換えると、本件で開示する技術の一例では、最適化処理部が、第n世代データ値群における世代数が所定数以下である場合に、最適化処理を実行する回数を減少させることが好ましい。つまり、本件で開示する技術の一例では、世代数が所定数以下の場合には、短時間の簡易的な最適化(評価)により、大まかな評価値を特定し、世代数が所定より大きい場合には、十分な反復回数の精度の高い最適化(評価)により、より正確な評価値を特定する。
こうすることにより、本件で開示する技術の一例では、短時間の簡易的な評価(最適化)と、精度の高い十分な評価とを、必要となる計算精度に応じて切り替えて用いることができ、計算コストをより抑制して、短時間で最適化を行うことができる。
また、本件で開示する技術の一例では、第n世代データ値群における世代数に応じて、焼き鈍し法における反復回数(最適化処理を実行する回数)を制御する際に、世代数を3つ以上に区分して、評価のための焼き鈍し法の反復回数を3段階以上に分けて設定してもよい。さらに、本件で開示する技術の一例では、第n世代データ値群における世代数に応じて、焼き鈍し法における反復回数を制御する際に、世代数と反復回数とが比例関係になるように、徐々に反復回数を変化せてもよい。
第n世代データ値群の評価の際に、短時間の簡易的な評価(最適化)と十分な評価を切り替えて用いる場合において、それぞれの最適化における焼き鈍し法の反復回数(最適化処理を実行する回数)としては、特に制限はなく、目的に応じて適宜設定することができる。短時間の簡易的な評価と十分な評価を切り替えて用いる際のそれぞれの評価における焼き鈍し法の反復回数は、例えば、連続変数をランダムに設定した複数のデータ値(個体)に対して、焼き鈍し法による最適化を行うことにより決定することが好ましい。
より具体的には、焼き鈍し法の反復回数を決定する際には、例えば、連続変数をランダムに設定した複数の目的関数式(ランダムなデータ値を有する個体)を用意する。そして、これらの目的関数式に対する最適化において、例えば、全ての目的関数式におけるエネルギー値の変化がなくなる(十分に最適化され、エネルギー値が一定となる)反復回数を、最適解に達し得る十分な評価(最適化)の反復回数とする。さらに、本件で開示する技術の一例では、例えば、最適解に達し得る十分な評価の反復回数における計算時間よりも、十分に短い計算時間となる反復回数を、短時間の簡易的な評価の反復回数とする。
また、連続変数をランダムに設定した目的関数式(ランダムなデータ値を有する個体)を用意する数としては、特に制限はなく目的に応じて適宜選択することができ、例えば、5個程度用意することが好ましい。
用意した全ての目的関数式におけるエネルギー値の変化がなくなっているか(十分に最適化され、エネルギー値が一定となっているか)否かの判定は、適宜行うことができ、例えば、反復回数に対するエネルギー値の変化率に応じて判定してもよい。
さらに、最適解に達し得る十分な評価の反復回数における計算時間よりも、十分に短い計算時間となる反復回数は、反復回数と計算時間の関係を考慮して、計算時間を短縮したい程度に応じて、適宜選択することができる。
<第n+1世代データ値群の取得>
本件で開示する技術の一例では、評価値に基づき、遺伝的アルゴリズムを用いて、連続値データの中から選択した複数のデータ値からなり、第n世代データ値群とは異なる第n+1世代データ値群を取得する。より具体的には、本件で開示する技術の一例では、例えば、第n世代データ値群における、評価値に由来する評価結果の高いデータ値群に基づき、遺伝的アルゴリズムを用いて、連続値データの中から選択した複数のデータ値からなり、第n世代データ値群とは異なる第n+1世代データ値群を得る。
ここで、評価値に基づき第n+1世代データ値群を取得する手法としては、特に制限はなく、目的に応じて適宜選択することができる。より具体的には、第n世代データ値群における、評価値に由来する(評価値から求められる)評価結果を用いることができ、例えば、目的関数式についての焼き鈍し法による最適化を行ったときの関数値(エネルギー値)に基づく評価結果を用いることができる。
例えば、焼き鈍し法により目的関数式の最小値を求め、求めた最小値を評価値とする場合、評価結果が高いデータ値(個体)は、最小値がより小さくなる目的関数式に対応するデータ値(個体)とすることができる。この場合、例えば、目的関数式の最小値が負の値となるときは、絶対値がより大きな負の値(大きなマイナスの値)となるデータ値群を、評価結果の高いデータ値群とすることができる。
さらに、本件で開示する技術の一例では、第n世代データ値群における評価結果の高いデータ値群(親個体群の内、評価結果が高い個体の群)に基づき、遺伝的アルゴリズムを用いて第n+1世代データ値群(子個体群)を得る。つまり、本件で開示する技術の一例では、遺伝的アルゴリズムを用いることで、第n世代データ値群における評価結果の高いデータ値群に対し、交叉、世代交代などの処理を行うことで、次の世代のデータ値群(第n+1世代データ値群)を生成して取得する。
第n+1世代データ値群を得るために用いる遺伝的アルゴリズムとしては、連続値データの中から選択した複数のデータ値からなり、第n世代データ値群とは異なるデータ値群を得ることができれば、特に制限はなく、目的に応じて適宜選択することができる。遺伝的アルゴリズムとしては、交叉の手法として、上述した「REXstar」を用い、世代交代の手法として、上述した「JGG」を用いた実数値遺伝的アルゴリズム(実数値GA)とすることが好ましい。
本件で開示する技術の一例では、REXstar及びJGGついては、例えば、上述した「小林重信,“実数値GAのフロンティア”,人工知能学会誌,Vol.24,No.1 pp.147-162,2009.」、「佐藤孝洋,“電磁界解析を用いた電気機器の最適設計に関する研究”,2014年度北海道大学大学院情報科学研究科システム情報科学専攻博士論文,2015.」などの文献に開示されている技術を適宜利用することができる。
また、第n世代データ値群を第n+1世代のデータ値群に置き換える際の遺伝的アルゴリズムのパラメータは、適宜設定することができるが、例えば、上述した短時間の簡易的な最適化を用いて、適切な値を求めて設定しておくことが好ましい。遺伝的アルゴリズムのパラメータとしては、例えば、ステップサイズ、焼き鈍し法の反復回数の切り替え世代数、世代の上限数(遺伝的アルゴリズムの繰り返し回数)などが挙げられる。なお、ステップサイズ(t)は、上述したように、REXstarにおける、大域的降下方向への移動の大きさを意味する。
遺伝的アルゴリズムのパラメータを、短時間の簡易的な最適化を用いて、適切な値を求めて設定する際には、例えば、まず、ステップサイズtの値を異ならせた、複数の目的関数式について、短時間の簡易的な最適化を行う。そして、最適化の結果のエネルギー値が最も低くなるステップサイズtを、実際の最適化(第n+1世代データ値群を得るために用いる遺伝的アルゴリズム)に適用することが好ましい。
ここで、ステップサイズtの値を異ならせた複数の目的関数式は、例えば、ステップサイズtが通常取り得る範囲の中で、ステップサイズtを適宜異ならせて、5個程度用意することが好ましい。
焼き鈍し法の反復回数の切り替え世代数(S)は、例えば、上記のステップサイズtを求めるための最適化において、目的関数式のエネルギー値が最も低くなるステップサイズtでの最適化で、エネルギー値の変化がなくなる世代数とすることができる。
また、世代の上限数(遺伝的アルゴリズムの繰り返し回数;G)は、例えば、焼き鈍し法の反復回数の切り替え世代数Sに基づいて決定することができる。より具体的には、世代の上限数Gは、焼き鈍し法の反復回数の切り替え世代数Sに基づいて、「G=S+(S/3)=(4/3)S」程度になるように設定することができる。
そして、本件で開示する技術の一例では、上述したように、連続変数として、第n世代データ値群を第n+1世代データ値群に置き換えることにより、目的関数式の最適化を行う。ここで、第n+1世代データ値群(子個体群;次の世代の親個体群)は、評価結果の高いデータ値群に基づくものであるため、第n+1世代データ値群を用いて目的関数式を最適化することにより、最適化問題の最適化をより適切に行うことができる。
また、上述したように、本件で開示する技術の一例では、第n世代データ値群の生成と、第n世代データ値群を第n+1世代のデータ値群に置き換えること(第n+1世代データ値群の生成)とを繰り返すことが好ましい。こうすることより、最終的に得られるデータ値群(個体群)は、さらに評価結果の高いデータ値群となるため、このデータ値群を用いて目的関数式を最適化することにより、最適化問題の最適化をさらに適切に行うことができる。
加えて、本件で開示する技術の一例では、第n+1世代のデータ値群(例えば、所定の繰り返し回数を終えた後の最終的なデータ値群)の内、最も評価結果の高いデータ値(個体)を用いて、最終的な目的関数式の最適化を行うことが好ましい。
この最終的な目的関数式の最適化は、例えば、焼き鈍し法(アニーリング)により行うことができる。
<<目的関数式の具体例>>
本件で開示する技術の一例では、上述したように、目的関数式としては、連続変数及び離散変数を含むものであれば、特に制限はなく、目的に応じて適宜選択することができるが、例えば、下記式(1)で表されるものを好適に用いることができる。言い換えると、本件で開示する技術の一例では、最適化処理部が、下記式(1)で表される最適化処理を行うことが好ましい。
Figure 2022090249000005
ただし、式(1)において、
E(s,x)は、目的関数式であり、
w(x)ijは、連続変数であるxの値により大きさが決定する、i番目のビットとj番目のビットの間の重み付けのための係数であり、
は、i番目のビットが0又は1であることを表すバイナリ変数であり、
は、j番目のビットが0又は1であることを表すバイナリ変数であり、
b(x)は、連続変数であるxの値により大きさが決定するi番目のビットに対するバイアスを表す数値であり、
c(x)は、連続変数であるxの値により大きさが決定する定数である。
上記式(1)は、連続変数xと離散変数の一例であるバイナリ変数sとを含んだQUBO形式の目的関数式となっている。本件で開示する技術の一例では、上述したように、例えば、上記式(1)における連続変数xの最適化を遺伝的アルゴリズムにより行い、目的関数式の評価(評価値の特定)及び離散変数sの最適化を焼き鈍し法により行う。
こうすることにより、本件で開示する技術の一例では、連続変数xと離散変数sの両方を効率よく最適化できるため、これらの変数を含む最適化問題の最適化に必要となる計算コストを抑制して効率的に最適化を行うことができる。
ここで、焼き鈍し法においては、例えば、QUBO形式でされた目的関数式をイジングモデルと呼ばれる形式に変換し、イジングモデルに変換した目的関数の値を最小化することにより、組合せ最適化問題を求解する。
QUBO形式の目的関数をイジングモデルに変換した式(イジングモデル式)としては、例えば、次式で表されるQUBO形式のイジングモデル式とすることができる。つまり、本件で開示する技術の一例では、最適化処理部が、下記式(2)で表されるイジングモデル式に変換した目的関数式に基づき最適化処理を行うことが好ましい。
Figure 2022090249000006
ただし、式(2)において、
E(s)は、イジングモデル式に変換した目的関数式であり、
ijは、i番目のビットとj番目のビットとの間の重みづけのための係数であり、
は、i番目のビットに対するバイアスを表す数値であり、
は、i番目のビットが0又は1であることを表すバイナリ変数であり、
は、j番目のビットが0又は1であることを表すバイナリ変数である。
const.は、定数である。
焼き鈍し法においては、例えば、上記のQUBO形式のイジングモデル式における各ビット(要素)を様々に変化させながら、当該イジングモデル式の最小値の探索を短時間で効率的に行うことができる。
例えば、図3に示すように、上記のQUBO形式のイジングモデル式に最小値を与えるビット(s;0又は1)の組合せを探索する(丸で囲った部分を探索する)ことにより、当該イジングモデル式を最適化することができるビットの状態を特定することができる。なお、図3において、縦軸はイジングモデル式(E(s))で算出されるエネルギーの値の大きさであり、横軸はビット(s)の組合せである。
そして、焼き鈍し法では、特定したビットの状態に基づいて、目的関数式を最適化するパラメータを求めることができるため、短時間で効率的に目的関数式を最適化することができる。
ここで、上記式(2)におけるwijは、例えば、イジングモデル式に変換する前の目的関数式における各パラメータの数値などを、xiとxjの組み合わせ毎に抽出することにより求めることができ、通常は行列となる。
上記式(2)における右辺の一項目は、全てのビットの状態から選択可能な2つの状態の全組み合わせについて、漏れと重複なく、2つの回路の状態(ステート)と重み値(ウエイト)との積を積算したものである。
また、上記式(2)における右辺の二項目は、全てのビットの状態のそれぞれのバイアスの値と状態との積を積算したものである。
つまり、イジングモデル式に変換する前の目的関数式のパラメータを抽出して、wij及びbを求めることにより、目的関数式を、上記式(2)で表されるイジングモデル式に変換することができる。
上記式(2)における「const.」は、例えば、イジングモデル式に変換する前の目的関数式における各パラメータの数値などに基づいて、適宜設定することができる。
なお、上記式(1)の目的関数式を、上記式(2)のイジングモデル式に変換する処理は、例えば、自作のプログラムを用いて「forループ」を用いて目的関数式を展開して変換する手法、数式自体を処理可能なプログラムを用いて変換する手法などが挙げられる。
さらに、本件で開示する技術の一例では、上記のようにしてイジングモデル式に変換した目的関数式の最適化(最小化)は、例えば、アニーリングマシンなどを用いた焼き鈍し法(アニーリング)を行うことにより、短時間で実行することができる。つまり、本件で開示する技術の一例では、最適化処理部が、焼き鈍し法により、イジングモデル式に変換した目的関数式を最小化することにより最適化処理を行うことが好ましい。
目的関数式の最適化に用いるアニーリングマシンとしては、例えば、量子アニーリングマシン、半導体技術を用いた半導体アニーリングマシン、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)を用いてソフトウェアにより実行されるシミュレーテッドアニーリング(Simulated Annealing)を行うマシンなどが挙げられる。また、アニーリングマシンとしては、例えば、デジタルアニーラ(登録商標)を用いてもよい。
なお、アニーリングマシンを用いた焼き鈍し法の詳細については後述する。
また、本件で開示する技術の一例では、例えば、上述したような目的関数式の焼き鈍し法による最適化(最適化処理)を、連続変数を所定のデータ値とした(連続変数を特定した)目的関数式について行うことにより、評価値を特定することができる。より具体的には、例えば、焼き鈍し法における反復回数を所定数に設定した条件で、焼き鈍し法による離散変数の組合せ最適化を行い、目的関数式の最小値を求めることにより、求めた最小値を評価値として特定することができる。
以下では、装置の構成例やフローチャートなどを用いて、本件で開示する技術の一例を更に詳細に説明する。
図4に、本件で開示する最適化装置のハードウェア構成例を示す。
最適化装置100においては、例えば、制御部101、主記憶装置102、補助記憶装置103、I/Oインターフェイス104、通信インターフェイス105、入力装置106、出力装置107、表示装置108が、システムバス109を介して接続されている。
制御部101は、演算(四則演算、比較演算、焼き鈍し法の演算等)、ハードウェア及びソフトウェアの動作制御などを行う。制御部101としては、例えば、CPU(Central Processing Unit)であってもよいし、焼き鈍し法に用いるアニーリングマシンの一部であってもよく、これらの組み合わせでもよい。
制御部101は、例えば、主記憶装置102などに読み込まれたプログラム(例えば、本件で開示する最適化プログラムなど)を実行することにより、種々の機能を実現する。
本件で開示する最適化装置における最適化処理部が行う処理は、例えば、制御部101により行うことができる。
主記憶装置102は、各種プログラムを記憶するとともに、各種プログラムを実行するために必要なデータ等を記憶する。主記憶装置102としては、例えば、ROM(Read Only Memory)及びRAM(Random Access Memory)の少なくともいずれかを有するものを用いることができる。
ROMは、例えば、BIOS(Basic Input/Output System)などの各種プログラムなどを記憶する。また、ROMとしては、特に制限はなく、目的に応じて適宜選択することができ、例えば、マスクROM、PROM(Programmable ROM)などが挙げられる。
RAMは、例えば、ROMや補助記憶装置103などに記憶された各種プログラムが、制御部101により実行される際に展開される作業範囲として機能する。RAMとしては、特に制限はなく、目的に応じて適宜選択することができ、例えば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)などが挙げられる。
補助記憶装置103としては、各種情報を記憶できれば特に制限はなく、目的に応じて適宜選択することができ、例えば、ソリッドステートドライブ(SSD)、ハードディスクドライブ(HDD)などが挙げられる。また、補助記憶装置103は、CDドライブ、DVDドライブ、BD(Blu-ray(登録商標) Disc)ドライブなどの可搬記憶装置としてもよい。
また、本件で開示する最適化装置プログラムは、例えば、補助記憶装置103に格納され、主記憶装置102のRAM(主メモリ)にロードされ、制御部101により実行される。
I/Oインターフェイス104は、各種の外部装置を接続するためのインターフェイスである。I/Oインターフェイス104は、例えば、CD-ROM(Compact Disc ROM)、DVD-ROM(Digital Versatile Disk ROM)、MOディスク(Magneto-Optical disk)、USBメモリ〔USB(Universal Serial Bus) flash drive〕などのデータの入出力を可能にする。
通信インターフェイス105としては、特に制限はなく、適宜公知のものを用いることができ、例えば、無線又は有線を用いた通信デバイスなどが挙げられる。
入力装置106としては、最適化装置100に対する各種要求や情報の入力を受け付けることができれば特に制限はなく、適宜公知のものを用いることができ、例えば、キーボード、マウス、タッチパネル、マイクなどが挙げられる。また、入力装置106がタッチパネル(タッチディスプレイ)である場合は、入力装置106が表示装置108を兼ねることができる。
出力装置107としては、特に制限はなく、適宜公知のものを用いることができ、例えば、プリンタなどが挙げられる。
表示装置108としては、特に制限はなく、適宜公知のものを用いることができ、例えば、液晶ディスプレイ、有機ELディスプレイなどが挙げられる。
図5に、本件で開示する最適化装置の他のハードウェア構成例を示す。
図5に示す例では、最適化装置100は、目的関数式を定義する処理、遺伝的アルゴリズムを用いた処理、目的関数式をイジングモデル式に変換する処理を行うコンピュータ200と、イジングモデル式の最適化を行うアニーリングマシン300とに分かれている。また、図5に示す例において、最適化装置100におけるコンピュータ200とアニーリングマシン300は、ネットワーク400により接続されている。
図5に示す例では、例えば、コンピュータ200における制御部101aとしてはCPUなどを用いることができ、アニーリングマシン300における制御部101bとしては焼き鈍し法(アニーリング)に特化した装置を用いることができる。
図5に示す例においては、例えば、コンピュータ200により、目的関数式を定義するための各種の設定を行って目的関数式を定義し、遺伝的アルゴリズムを用いた処理を行い、第n+1世代データ値群を得た後、定義した目的関数式をイジングモデル式に変換する。そして、イジングモデル式におけるウエイト(wij)及びバイアス(b)の値の情報を、コンピュータ200からアニーリングマシン300にネットワーク400を介して送信する。
次いで、アニーリングマシン300により、受信したウエイト(wij)及びバイアス(b)の値の情報に基づいてイジングモデル式の最適化(最小化)を行い、イジングモデル式の最小値と、当該最小値を与えるビットの状態(ステート)を求める。そして、求めたイジングモデル式の最小値と、当該最小値を与えるビットの状態(ステート)とを、アニーリングマシン300からコンピュータ200にネットワーク400を介して送信する。
続いて、コンピュータ200により、例えば、イジングモデル式の最小値を評価値とする処理、イジングモデル式に最小値を与えるビットの状態(ステート)に基づいて、最適化問題に応じて、デバイスの形状等を求める。
図6に、本件で開示する最適化装置の機能構成例を示す。
図6に示すように、最適化装置100は、通信機能部120と、入力機能部130と、出力機能部140と、表示機能部150と、記憶機能部160と、制御機能部170とを備える。
通信機能部120は、例えば、各種のデータを外部の装置と送受信する。通信機能部120は、例えば、外部の装置から、イジングモデル式に変換した目的関数式におけるバイアス及びウエイトのデータを受信してもよい。
入力機能部130は、例えば、最適化装置100に対する各種指示を受け付ける。また、入力機能部130は、例えば、イジングモデル式に変換した目的関数式におけるバイアス及びウエイトのデータの入力を受け付けてもよい。
出力機能部140は、例えば、最適化問題における最適化の結果に関する情報などをプリントして出力する。
表示機能部150は、例えば、最適化問題における最適化の結果に関する情報などをディスプレイに表示する。
記憶機能部160は、例えば、各種プログラム、最適化問題における最適化の結果に関する情報などを記憶する。
制御機能部170は、最適化処理部171を有する。制御機能部170は、例えば、記憶機能部160に記憶された各種プログラムを実行するとともに、最適化装置100全体の動作を制御する。
最適化処理部171は、上述したように、最適化問題を、連続変数の最適化と離散変数の最適化とに分離し、連続変数の最適化をGAにより連続変数のまま最適化し、最適化された連続変数の値を用いて、離散変数を焼き鈍し法により最適化する処理等を行う。
ここで、図7を参照して、本件で開示する技術の一例を用いて、連続値データからなる連続変数、及び、離散値データからなる離散変数を含む目的関数式を用いて表される最適化問題を最適化する際の流れの一例について説明する。また、以下では、図7に示す処理の流れを「メインフロー(メインの動き)」と称することがある。
図7に示すように、まず、最適化処理部171は、初期個体群(初期のデータ値群)を生成する(S201)。より具体的には、S201において、最適化処理部171は、連続変数における連続値データの中から、複数のデータをランダムに乱数を用いて選択することで、初期個体群を生成する。
次に、最適化処理部171は、初期個体群における各個体について、短時間の簡易的な評価(サブフロー1)を行う(S202)。なお、短時間の簡易的な評価(サブフロー1)の詳細については後述する。
続いて、最適化処理部171は、親個体とする個体を、初期個体群の個体から、ランダムに複数選択する(S203)。また、S203においては、JGGを用いて親個体を選択する。
そして、最適化処理部171は、REXstarを用いた交叉を行い、子個体群を生成する(S204)。より具体的には、S204において、最適化処理部171は、例えば、親個体の位置ベクトルに対する鏡映点を作成し、親個体と鏡映点の中から上位半分の個体の重心を求めることで大域降下方向を特定して、大域降下方向にステップサイズtだけ個体の分布を移動させる。
次に、最適化処理部171は、子個体の世代数がサブ切替値(反復回数の切り替え世代数)S以下か否かを判定する(S205)。S205において、最適化処理部171は、子個体の世代数がサブ切替値S以下であると判定した場合は、処理を206に移し、子個体の世代数がサブ切替値Sより大きいと判定した場合は、処理を207に移す。
続いて、最適化処理部171は、子個体の世代数がサブ切替値S以下であると判定した場合、子個体群における各個体について、短時間の簡易的な評価(サブフロー1)を行う(S206)。一方、子個体の世代数がサブ切替値Sより大きいと判定した場合、最適化処理部171は、子個体群における各個体について、最適解に達し得る十分な評価(サブフロー2)を行う(S207)。なお、最適解に達し得る十分な評価(サブフロー2)の詳細については後述する。
そして、最適化処理部171は、子個体の世代数が上限(所定数)に達したか否かを判定し、子個体の世代数が上限に達していないと判定した場合は、処理をS209に移し、子個体の世代数が上限に達したと判定した場合は、処理をS210に移す(S208)。
最適化処理部171は、子個体の世代数が上限に達していないと判定した場合は、評価が高い個体と、親個体とを置き換える(S209)。また、最適化処理部171は、S209においては、JGGを用いて評価が高い個体と親個体との置き換えを行う。
次に、最適化処理部171は、S209の処理を終えると、処理をS203に戻し、次の世代についての計算を行う。
また、S208において、子個体の世代数が上限に達したと判定した場合、最適化処理部171は、子個体群における最も評価結果が高い個体に基づき、下記(1)の目的関数式を定義する(S210)。
Figure 2022090249000007
ただし、式(1)において、
E(s,x)は、目的関数式であり、
w(x)ijは、連続変数であるxの値により大きさが決定する、i番目のビットとj番目のビットの間の重み付けのための係数であり、
は、i番目のビットが0又は1であることを表すバイナリ変数であり、
は、j番目のビットが0又は1であることを表すバイナリ変数であり、
b(x)は、連続変数であるxの値により大きさが決定するi番目のビットに対するバイアスを表す数値であり、
c(x)は、連続変数であるxの値により大きさが決定する定数である。
そして、最適化処理部171は、定義した目的関数式を、下記式(2)で表されるイジングモデル式に変換する(S211)。言い換えると、S211において、最適化処理部171は、定義した目的関数式におけるパラメータを抽出して、下記式(2)におけるb(バイアス)及びwij(ウエイト)を求めることにより、式(1)の目的関数式を、下記式(2)で表されるイジングモデル式に変換する。
Figure 2022090249000008
ただし、式(2)において、
E(s)は、イジングモデル式に変換した目的関数式であり、
ijは、i番目のビットとj番目のビットとの間の重みづけのための係数であり、
は、i番目のビットに対するバイアスを表す数値であり、
は、i番目のビットが0又は1であることを表すバイナリ変数であり、
は、j番目のビットが0又は1であることを表すバイナリ変数である。
const.は、定数である。
次に、最適化処理部171は、アニーリングマシンを用いて、上記式(2)を最小化する(S212)。言い換えると、S212において、最適化処理部171は、上記式(2)についての焼き鈍し法を用いた基底状態探索(最適化計算)を実行することにより、上記式(2)の最小値を算出することで、目的関数式に最小値を与えるビットの状態を特定する。
続いて、最適化処理部171は、上記式(2)に最小値を与えるビットの状態(ステート)に基づいて、最適化の結果を出力する(S213)。
そして、最適化処理部171は、最適化の結果の出力が完了すると、処理を終了させる。
続いて、図8を参照して、本件で開示する技術の一例における、短時間の簡易的な評価(サブフロー1)の流れの一例について説明する。
まず、最適化処理部171は、評価を行う個体(データ値)に基づき、上記式(1)の目的関数式を定義する(S301)。
次に、最適化処理部171は、評価を行う個体の目的関数式について、焼き鈍し法の反復回数を少なく設定した、短時間の簡易的な最適化を行う(S302)。なお、焼き鈍し法を用いた目的関数式の最適化は、上述したS211及びS212と同様に行うことができる。
そして、最適化処理部171は、最適化により得られた目的関数式のエネルギー値を、評価を行う個体の評価値とする(S303)。より具体的には、S303において、最適化処理部171は、焼き鈍し法による離散変数の組合せ最適化を行い、目的関数式の最小値を求めることで、評価値を特定する。
そして、最適化処理部171は、評価値の特定が完了すると、処理を終了させる。
続いて、図9を参照して、本件で開示する技術の一例における、最適解に達し得る十分な評価(サブフロー2)の流れの一例について説明する。
まず、最適化処理部171は、評価を行う個体(データ値)に基づき、上記式(1)の目的関数式を定義する(S401)。
次に、最適化処理部171は、評価を行う個体の目的関数式について、焼き鈍し法の反復回数を大きく設定した、最適解に達し得る十分な最適化を行う(S402)。
そして、最適化処理部171は、最適化により得られた目的関数式のエネルギー値を、評価を行う個体の評価値とする(S403)。
そして、最適化処理部171は、評価値の特定が完了すると、処理を終了させる。
次に、図10を参照して、本件で開示する技術の一例を用いて、短時間の簡易的な評価と十分な評価を切り替えて用いる際のそれぞれの評価における焼き鈍し法の反復回数を決定する際の流れの一例について説明する。
まず、最適化処理部171は、連続変数をランダムに設定した、複数の目的関数式(ランダムなデータ値を有する個体)を用意する(S501)。
次に、最適化処理部171は、連続変数をランダムに設定した目的関数式について、焼き鈍し法の反復回数を変更しながら、当該目的関数式を最適化する(S502)。また、S502において、最適化処理部171は、目的関数式が十分に最適化され得る反復回数を含むように、反復回数を変更することが好ましい。なお、焼き鈍し法を用いた目的関数式の最適化は、上述したS211及びS212と同様に行うことができる。
続いて、最適化処理部171は、最適化により得られた目的関数式のエネルギー値を出力する(S503)。
そして、最適化処理部171は、用意した全ての目的関数式の最適化が完了したか否かを判定する(S504)。S504において、最適化処理部171は、全ての目的関数式の最適化が完了したと判定した場合、処理をS505に移し、全ての目的関数式の最適化が完了していないと判定した場合、処理をS502に戻す。また、S504において、最適化処理部171は、処理をS502に戻す際には、まだ最適化を行っていない目的関数式の最適化を、S502において実行するように処理を行う。
次に、最適化処理部171は、全ての目的関数式におけるエネルギー値の変化がなくなる(十分に最適化され、エネルギー値が一定となる)反復回数を、最適解に達し得る十分な評価(サブフロー2)の反復回数とする(S505)。
続いて、最適化処理部171は、最適解に達し得る十分な評価の反復回数における計算時間よりも、十分に短い計算時間となる反復回数を、短時間の簡易的な評価(サブフロー1)の反復回数とする(S506)。
そして、最適化処理部171は、サブフロー1の反復回数の特定が完了すると、処理を終了させる。
次に、図11を参照して、本件で開示する技術の一例を用いて、遺伝的アルゴリズムのパラメータを事前に決定する際の流れの一例について説明する。
まず、最適化処理部171は、ステップサイズtを異ならせた、複数の目的関数式を用意する(S601)。S601において、最適化処理部171は、ステップサイズtが通常取り得る範囲の中で、ステップサイズtを適宜異ならせて、目的関数式を用意することが好ましい。
次に、最適化処理部171は、あるステップサイズtの目的関数式について、短時間の簡易的な評価(サブフロー1)のみを用いた、子個体の生成を行う(S602)。なお、S602の詳細については後述する。
続いて、最適化処理部171は、用意した全ての目的関数式について、子個体の生成が完了したか否かを判定する(S603)。S603において、最適化処理部171は、全ての目的関数式について子個体の生成が完了したと判定した場合、処理をS604に移し、全ての目的関数式について子個体の生成が完了していないと判定した場合、処理をS602に戻す。また、SS603において、最適化処理部171は、処理をS602に戻す際には、まだ子個体の生成が完了していない目的関数式についての子個体の生成を、S602において実行するように処理を行う。
次に、最適化処理部171は、遺伝的アルゴリズムを用いて生成した子個体についての目的関数式の、最終的なエネルギー値が最も低くなるステップサイズtを特定する(S604)。つまり、S604において、最適化処理部171は、最適化の結果のエネルギー値が最も低くなるステップサイズtを、実際の最適化に適用するステップサイズtとして特定する。
続いて、最適化処理部171は、目的関数式のエネルギー値が最も低くなるステップサイズtでの最適化において、エネルギー値の変化がなくなる世代数をサブフロー切替値Sとする(S605)。つまり、S605において、最適化処理部171は、上記のステップサイズtを求めるための最適化において、目的関数式のエネルギー値が最も低くなるステップサイズtでの最適化で、エネルギー値の変化がなくなる世代数をサブフロー切替値(焼き鈍し法の反復回数の切り替え世代数)Sとする。
そして、最適化処理部171は、サブフロー切替値Sの特定が完了すると、処理を終了させる。
次に、図12を参照して、図11におけるS602の詳細な流れの一例について説明する。なお、図12におけるS701~S704は、図7におけるS201~S204と、それぞれ同様に行うことができる。また、図12におけるS707~S710は、図7におけるS209~S212と、それぞれ同様に行うことができる。したがって、これらの処理については、説明を省略する。
S705において、最適化処理部171は、子個体群における各個体について、短時間の簡易的な評価(サブフロー1)を行う。
次に、最適化処理部171は、子個体の世代数が上限(所定数)に達したか否かを判定し、子個体の世代数が上限に達していないと判定した場合は、処理をS707に移し、子個体の世代数が上限に達したと判定した場合は、処理をS708に移す(S706)。
また、最適化処理部171は、S710を行った後、目的関数式におけるエネルギー値と世代数を出力する(S710)。
そして、最適化処理部171は、目的関数式におけるエネルギー値と世代数の出力が完了すると、処理を終了させる。
また、図7~図12においては、本件で開示する技術の一例における処理の流れについて、特定の順序に従って説明したが、本件で開示する技術においては、技術的に可能な範囲で、適宜各ステップの順序を入れ替えることができる。また本件で開示する技術においては、技術的に可能な範囲で、複数のステップを一括して行ってもよい。
以下に、焼き鈍し法及びアニーリングマシンの一例について説明する。
焼き鈍し法は、乱数値や量子ビットの重ね合わせを用いて確率的に解を求める方法である。以下では最適化したい評価関数の値を最小化する問題を例に説明し、評価関数の値をエネルギーと呼ぶことにする。また、評価関数の値を最大化する場合は、評価関数の符号を変えればよい。
まず、各変数に離散値の1つを代入した初期状態からはじめ、現在の状態(変数の値の組み合わせ)から、それに近い状態(例えば、1つの変数だけ変化させた状態)を選び、その状態遷移を考える。その状態遷移に対するエネルギーの変化を計算し、その値に応じてその状態遷移を採択して状態を変化させるか、採択せずに元の状態を保つかを確率的に決める。エネルギーが下がる場合の採択確率をエネルギーが上がる場合より大きく選ぶと、平均的にはエネルギーが下がる方向に状態変化が起こり、時間の経過とともにより適切な状態へ状態遷移することが期待できる。このため、最終的には最適解又は最適値に近いエネルギーを与える近似解を得られる可能性がある。
もし、これを決定論的にエネルギーが下がる場合に採択とし、上がる場合に不採択とすれば、エネルギーの変化は時間に対して広義単調減少となるが、局所解に到達したらそれ以上変化が起こらなくなってしまう。上記のように離散最適化問題には非常に多数の局所解が存在するために、状態が、ほとんど確実にあまり最適値に近くない局所解に捕まってしまう。したがって、離散最適化問題を解く際には、その状態を採択するかどうかを確率的に決定することが重要である。
焼き鈍し法においては、状態遷移の採択(許容)確率を次のように決めれば、時刻(反復回数)無限大の極限で状態が最適解に到達することが証明されている。
以下では、焼き鈍し法を用いて最適解を求める方法について、順序を追って説明する。
(1)状態遷移に伴うエネルギー変化(エネルギー減少)値(-ΔE)に対して、その状態遷移の許容確率pを、次のいずれかの関数f( )により決める。
Figure 2022090249000009
Figure 2022090249000010
Figure 2022090249000011
ここで、Tは、温度値と呼ばれるパラメータであり、例えば、次のように変化させることができる。
(2)温度値Tを次式で表されるように反復回数tに対数的に減少させる。
Figure 2022090249000012
ここで、Tは、初期温度値であり問題に応じて、十分大きくとることが望ましい。
(1)の式で表される許容確率を用いた場合、十分な反復後に定常状態に達したとすると、各状態の占有確率は熱力学における熱平衡状態に対するボルツマン分布に従う。
そして、高い温度から徐々に下げていくとエネルギーの低い状態の占有確率が増加するため、十分温度が下がるとエネルギーの低い状態が得られると考えられる。この様子が、材料を焼き鈍したときの状態変化とよく似ているため、この方法は焼き鈍し法(または、疑似焼き鈍し法)と称される。なお、エネルギーが上がる状態遷移が確率的に起こることは、物理学における熱励起に相当する。
図13に焼き鈍し法を行うアニーリングマシンの機能構成の一例を示す。ただし、下記説明では、状態遷移の候補を複数発生させる場合についても述べるが、基本的な焼き鈍し法は、遷移候補を1つずつ発生させるものである。
アニーリングマシン300は、現在の状態S(複数の状態変数の値)を保持する状態保持部111を有する。また、アニーリングマシン300は、複数の状態変数の値のいずれかが変化することによる現在の状態Sからの状態遷移が起こった場合における、各状態遷移のエネルギー変化値{-ΔEi}を計算するエネルギー計算部112を有する。さらに、アニーリングマシン300は、温度値Tを制御する温度制御部113、状態変化を制御するための遷移制御部114を有する。なお、アニーリングマシン300は、上記の最適化装置100の一部とすることができる。
遷移制御部114は、温度値Tとエネルギー変化値{-ΔEi}と乱数値とに基づいて、エネルギー変化値{-ΔEi}と熱励起エネルギーとの相対関係によって複数の状態遷移のいずれかを受け入れるか否かを確率的に決定する。
ここで、遷移制御部114は、状態遷移の候補を発生する候補発生部114a、各候補に対して、そのエネルギー変化値{-ΔEi}と温度値Tとから状態遷移を許可するかどうかを確率的に決定するための可否判定部114bを有する。さらに、遷移制御部114は、可となった候補から採用される候補を決定する遷移決定部114c、及び確率変数を発生させるための乱数発生部114dを有する。
アニーリングマシン300における、一回の反復における動作は次のようなものである。
まず、候補発生部114aは、状態保持部111に保持された現在の状態Sから次の状態への状態遷移の候補(候補番号{Ni})を1つまたは複数発生する。次に、エネルギー計算部112は、現在の状態Sと状態遷移の候補を用いて候補に挙げられた各状態遷移に対するエネルギー変化値{-ΔEi}を計算する。可否判定部114bは、温度制御部113で発生した温度値Tと乱数発生部114dで生成した確率変数(乱数値)を用い、各状態遷移のエネルギー変化値{-ΔEi}に応じて、上記(1)の式の許容確率でその状態遷移を許容する。
そして、可否判定部114bは、各状態遷移の可否{fi}を出力する。許容された状態遷移が複数ある場合には、遷移決定部114cは、乱数値を用いてランダムにそのうちの1つを選択する。そして、遷移決定部114cは、選択した状態遷移の遷移番号Nと、遷移可否fを出力する。許容された状態遷移が存在した場合、採択された状態遷移に応じて状態保持部111に記憶された状態変数の値が更新される。
初期状態から始めて、温度制御部113で温度値を下げながら上記反復を繰り返し、一定の反復回数に達する、又はエネルギーが一定の値を下回る等の終了判定条件が満たされたときに動作が終了する。アニーリングマシン300が出力する答えは、終了時の状態である。
図13に示されるアニーリングマシン300は、例えば、半導体集積回路を用いて実現され得る。例えば、遷移制御部114は、乱数発生部114dとして機能する乱数発生回路や、可否判定部114bの少なくとも一部として機能する比較回路や、後述のノイズテーブルなどを含んでもよい。
図13に示されている遷移制御部114に関し、(1)の式で表される許容確率で状態遷移を許容するメカニズムについて、更に詳細に説明する。
許容確率pで1を、(1-p)で0を出力する回路は、2つの入力A,Bを持ち、A>Bのとき1を出力し、A<Bのとき0を出力する比較器の入力Aに許容確率pを、入力Bに区間[0,1)の値をとる一様乱数を入力することで実現することができる。したがって、この比較器の入力Aに、エネルギー変化値と温度値Tにより(1)の式を用いて計算される許容確率pの値を入力すれば、上記の機能を実現することができる。
すなわち、fを(1)の式で用いる関数、uを区間[0,1)の値をとる一様乱数とするとき、f(ΔE/T)がuより大きいとき1を出力する回路により、上記の機能を実現できる。
また、次のような変形を行っても、上記の機能と同じ機能が実現できる。
2つの数に同じ単調増加関数を作用させても大小関係は変化しない。したがって、比較器の2つの入力に同じ単調増加関数を作用させても出力は変わらない。この単調増加関数として、fの逆関数f-1を採用すると、-ΔE/Tがf-1(u)より大きいとき1を出力する回路とすることができることがわかる。さらに、温度値Tが正であることから、-ΔEがTf-1(u)より大きいとき1を出力する回路でよいことがわかる。
図13中の遷移制御部114は、逆関数f-1(u)を実現するための変換テーブルであり、区間[0,1)を離散化した入力に対して次の関数の値を出力するノイズテーブルを含んでもよい。
Figure 2022090249000013
Figure 2022090249000014
図14は、遷移制御部114の動作フローの一例を示す図である。図14に示す動作フローは、1つの状態遷移を候補として選ぶステップ(S0001)、その状態遷移に対するエネルギー変化値と温度値と乱数値の積の比較で状態遷移の可否を決定するステップ(S0002)、状態遷移が可ならばその状態遷移を採用し、否ならば不採用とするステップ(S0003)を有する。
(最適化方法)
本件で開示する最適化方法は、連続値データからなる連続変数、及び、離散値データからなる離散変数を含む目的関数式を用いて表される最適化問題の最適化を行う最適化方法であって、
目的関数式を最適化する最適化処理工程を含み、
最適化処理工程において、
連続変数として、連続値データの中から選択した複数のデータ値からなる第n世代データ値群(n≧1)を取得し、
第n世代データ値群を用いて目的関数式の最適化処理を焼き鈍し法により行うことにより、第n世代データ値群における複数のデータ値の各々の評価値を特定し、
評価値に基づき、遺伝的アルゴリズムを用いて、連続値データの中から選択した複数のデータ値からなり、第n世代データ値群とは異なる第n+1世代データ値群を取得し、
連続変数として、第n世代データ値群を第n+1世代のデータ値群に置き換える。
本件で開示する最適化方法は、例えば、本件で開示する最適化装置により行うことができる。また、本件で開示する最適化方法における好適な態様は、例えば、本件で開示する最適化装置における好適な態様と同様にすることができる。
(最適化プログラム)
本件で開示する最適化プログラムは、連続値データからなる連続変数、及び、離散値データからなる離散変数を含む目的関数式を用いて表される最適化問題の最適化をコンピュータに行わせる最適化プログラムであって、
目的関数式を最適化する処理をコンピュータに行わせ、
処理において、
連続変数として、連続値データの中から選択した複数のデータ値からなる第n世代データ値群(n≧1)を取得し、
第n世代データ値群を用いて目的関数式の最適化処理を焼き鈍し法により行うことにより、第n世代データ値群における複数のデータ値の各々の評価値を特定し、
評価値に基づき、遺伝的アルゴリズムを用いて、連続値データの中から選択した複数のデータ値からなり、第n世代データ値群とは異なる第n+1世代データ値群を取得し、
連続変数として、第n世代データ値群を第n+1世代のデータ値群に置き換える。
本件で開示する最適化プログラムは、例えば、本件で開示する最適化方法をコンピュータに実行させるプログラムとすることができる。また、本件で開示する最適化プログラムにおける好適な態様は、例えば、本件で開示する最適化装置における好適な態様と同様にすることができる。
本件で開示する最適化プログラムは、使用するコンピュータシステムの構成及びオペレーティングシステムの種類・バージョンなどに応じて、公知の各種のプログラム言語を用いて作成することができる。
本件で開示する最適化プログラムは、内蔵ハードディスク、外付けハードディスクなどの記録媒体に記録しておいてもよいし、CD-ROM、DVD-ROM、MOディスク、USBメモリなどの記録媒体に記録しておいてもよい。
さらに、本件で開示する最適化プログラムを、上記の記録媒体に記録する場合には、必要に応じて、コンピュータシステムが有する記録媒体読取装置を通じて、これを直接又はハードディスクにインストールして使用することができる。また、コンピュータシステムから情報通信ネットワークを通じてアクセス可能な外部記憶領域(他のコンピュータなど)に本件で開示する最適化プログラムを記録しておいてもよい。この場合、外部記憶領域に記録された本件で開示する最適化プログラムは、必要に応じて、外部記憶領域から情報通信ネットワークを通じてこれを直接、又はハードディスクにインストールして使用することができる。
なお、本件で開示する最適化プログラムは、複数の記録媒体に、任意の処理毎に分割されて記録されていてもよい。
(コンピュータが読み取り可能な記録媒体)
本件で開示するコンピュータが読み取り可能な記録媒体は、本件で開示する最適化プログラムを記録してなる。
本件で開示するコンピュータが読み取り可能な記録媒体としては、特に制限はなく、目的に応じて適宜選択することができ、例えば、内蔵ハードディスク、外付けハードディスク、CD-ROM、DVD-ROM、MOディスク、USBメモリなどが挙げられる。
また、本件で開示するコンピュータが読み取り可能な記録媒体は、本件で開示する最適化プログラムが任意の処理毎に分割されて記録された複数の記録媒体であってもよい。
本件で開示する技術の一実施例について説明するが、本件で開示する技術は、この実施例に何ら限定されるものではない。
実施例として、本件で開示する最適化装置の一例を用いて、振動発電デバイスのコイルの位置と磁石配置の最適化を行った。本実施例では、図5に示すようなハードウェア構成を有する最適化装置を用いて、図7~図12のフローチャートに示した処理を適宜用いて、振動発電デバイスのコイルの位置と磁石配置の最適化を行った。
本実施例においては、遺伝的アルゴリズムとしては、交叉の手法として、上述した「REXstar」を用い、世代交代の手法として、上述した「JGG」を用いた実数値遺伝的アルゴリズム(実数値GA)を用いた。また、目的関数式の最小化(式(2)のイジングモデル式の最小化)には、デジタルアニーラ(登録商標)を用いた。
本実施例においては、図15に示すように、解析対象とする振動発電デバイスは、100個の小磁石と、x=15mm平面上に右回りコイルCRと左回りコイルCLを1つずつ有するものとする。また、100個の小磁石で形成される磁石MGは、z軸方向に25mm振動するものとする。
本実施例では、コイルに鎖交する磁束Δφが最大になるように、右回りコイルCRの中心座標(y,z)と、左回りコイルCLの中心座標(y,z)と、各小磁石の磁化の向き(小磁石の配置)とを最適化する例である。なお、本実施例においては、右回りコイルCRの中心座標(y,z)と、左回りコイルCLの中心座標(y,z)とが、連続変数となり、小磁石の磁化の向き(小磁石の配置)が離散変数となる。
図16に、磁石MGをN個の小磁石に分割したときの様子の一例を示す。図16に示すように、各小磁石が立方体になるようにN個に磁石MGを分割すると、磁石MGはN個の直方体の小磁石の集合となる。なお、図16においては、磁石MGをx軸方向から平面視した場合の一例を示している。また、図16に示すように、1からNの間の整数であるjを用いて、N個の小磁石のうちのj番目の小磁石を、小磁石Nと称する場合がある。
本実施例においては、上述したように、N=100として、磁石MGを100個の小磁石に分割した。
ここで、本実施例の目的関数式は、次式で表すことができる。
Figure 2022090249000015
ただし、上記の式において、
Hは、値が最大化されることにより最適化される目的関数式である。
Δφは、磁気デバイスのコイルの全体における鎖交磁束の変化量である。
なお、「→ max」は、目的関数式を最大化することを意味する記号である。
次に、本実施例では、目的関数式をQUBO形式に定式化する。
まず、本実施例では、磁石配置の最適化を離散変数による組合せ最適化問題として表現するため、各小磁石の配置を、磁石領域の番号jと磁化の向きの状態番号kを用いて表す。図17は、小磁石の状態変数sj,kと、小磁石の状態変数sj,kが表すj番目の小磁石Nにおける磁化の向きとの対応の一例を示す図である。図17に示すように、小磁石の状態変数sj,kは、状態番号k(k=1,2,3,4,5,6)ごとに、異なる磁化の向きを表すことができるため、状態変数sj,kの値(0又は1)により、小磁石の向きを一意に表すことができる。
ここで、本実施例では、小磁石の向きは1方向又は磁石無しとするため、状態変数sj,k(k=1,2,3,4,5,6)の内、どれか一つが「1(小磁石の向きが1方向)」又は「全てが0(磁石無し)」になるように条件を決定する。
なお、小磁石の配置の最適化に関しては、「A. Maruo,H.Igarashi,H.Oshima and S.Shimokawa,“Optimization of Planar Magnet Array Using Digital Annealer,“in IEEE Transactions on Magnetics,vol.56,no.3,pp.1-4,March 2020,Art no.7512104,doi:10.1109/TMAG.2019.2957805.」に開示されている技術を適宜利用することができる。
そして、本実施例では、図18に示すように、右回りコイルCR及び左回りコイルCLのそれぞれのコイルを、N個(図18の例では4個)のコイル領域に分割し、点Pを用いて離散的に扱う。なお、本実施例では、各コイルの一辺の長さを25mmとする。
本実施例において、図18に示したようにコイルを表現すると、右回りコイルCRと左回りコイルCLの鎖交磁束の変化量ΔφrightとΔφleftは以下のように計算することができる。
Figure 2022090249000016
Figure 2022090249000017
また、上記の鎖交磁束の変化量ΔφrightとΔφleftを表す式におけるΔφi,j,k(y,z)は、小磁石Nにおける、状態番号kで表される向きの磁化により発生する、コイル領域Nにおける鎖交磁束の変化量を意味し、次式で計算することができる。
Figure 2022090249000018
ただし、上記の式において、
Δφi,j,k(y,z)は、小磁石Nにおける、状態番号kで表される向きの磁化により発生する、中心座標が「y,z」のコイルのコイル領域Nにおける鎖交磁束の変化量である。
i,j,k(y,z)は、中心座標が「y,z」のコイルにおけるi番目のコイル領域Nの中心点に、小磁石Nの状態番号kで表される向きの磁化から発生する、変化前におけるx軸方向の磁束密度を意味する。
i,j,k(z+Δz)は、i番目のコイル領域Nの中心点に、小磁石Nの状態番号kで表される向きの磁化から発生する、磁石をz軸方向にΔz移動させた後におけるx軸方向の磁束密度を意味する。
Aは、コイル領域の面積(コイルの断面積)である。
ここで、上記の式におけるB i,j,k(z)について、更に詳しく説明する。
電磁気学の物理法則であるビオ・サバールの法則を用いると、磁化Mの磁石から観測点Pに発生する磁束密度B(Bはベクトル量)は、次式で表すことができる。
Figure 2022090249000019
ただし、上記の式において、rは、ソース点(例えば、小磁石の中心点)から、観測点Pへの距離である。
上記の式を用いると、i番目のコイル領域Nの中心点に、小磁石Nの状態番号kで表される向きの磁化から発生する磁束密度Bi,j,k(Bi,j,kはベクトル量)は、次式で表すことができる。
Figure 2022090249000020
ただし、上記の式において、
は、ソース点(例えば、小磁石の中心点)から、i番目のコイル領域Nへの距離である。
j,kは、小磁石Nの状態番号kで表される向きの磁化である。
ここで、本実施例においては、x軸方向の磁束密度の成分が、コイルと鎖交する成分となるため、上記の式におけるBi,j,kのx成分であるB i,j,kが、コイルと鎖交する磁束密度となる。このため、コイル領域Nにおける鎖交磁束の変化量Δφ′i,j,kは、B i,j,kを用いて表すことができる。
また、上記の式にソース点からi番目のコイル領域Nへの距離rが含まれていることからも明らかであるように、B i,j,kは、コイル領域Nと小磁石Nとの間の距離によって変化する。このため、上記の式に基づいて、コイル領域Nにおける鎖交磁束の変化量Δφ′i,j,kを求めることにより、コイル領域Nと小磁石Nとの間の距離を考慮して、コイルにおける鎖交磁束の変化量を最適化することができる。
以上の数式を利用すると、本実施例の目的関数式は、QUBO形式として、次式で表すことができる。
Figure 2022090249000021
ここで、上記の式において、右辺の第1項は、右回りコイルCRにおける鎖交磁束の変化量を意味し、右辺の第2項は、左回りコイルCLにおける鎖交磁束の変化量を意味する。また、上記の式において、右辺の3項目は、sj,k(k=1,2,3,4,5,6)の内のいずれかが「1」又はすべてが「0」であるものとの制約を意味する制約項である。つまり、上記の式における右辺の3項目は、sj,k(k=1,2,3,4,5,6)が、複数の状態番号kにおいて「1」となる場合、即ち、sj,kの内の複数が「1」となる場合に、目的関数式の値を大きくさせるペナルティーの項である。このため、例えば、αを大きな値とすることにより、sj,kの内の複数が「1」となる場合をより確実に排除して、最適化を行うことができる。
なお、「→ max」は、目的関数式を最大化することを意味する記号である。
また、上述したアニーリングマシンを用いた焼き鈍し法(アニーリング)により、目的関数式の最適化を行う場合は、目的関数式を最小化したときに当該目的関数が最適化される形式とする必要があることがある。このため、上記の目的関数式を、最小化したときに最適化されるように変形すると、次式のように表せる。
Figure 2022090249000022
この式は、上記の目的関数式の両辺に「マイナス(-)」をかけることにより、最小化したときに最適化されるように変形した式である。
ただし、Eは、値が最小化されることにより最適化される目的関数式である。
なお、「→ min」は、目的関数式を最小化することを意味する記号である。
ここで、上記の目的関数式においては、右辺の第1項及び第2項(コイル鎖交磁束の変化量)が、連続変数であるy及びzに依存した値となる。
<焼き鈍し法の反復回数の決定>
次に、本実施例では、図10に示すフローチャートに従って、短時間の簡易的な評価と十分な評価を切り替えて用いる際のそれぞれの評価における焼き鈍し法の反復回数を決定した。
具体的には、連続変数である「y,z,y,z」をランダム(乱数で)に設定した複数の目的関数式を5つ用意し、これらの目的関数式に対して短時間の簡易的な最適化を行った。図19に、実施例における、連続変数をランダムに設定した目的関数式の、焼き鈍し法の反復回数と、当該目的関数式のエネルギー値の関係の一例を示す。図19において、横軸は焼き鈍し法の反復回数(DA反復回数)を示し、縦軸は目的関数式のエネルギー値(Energy)を示す。
図19に示すように、本実施例では、DA反復回数が「1E+7(10)」程度であるときに、5つの目的関数式の全てにおいて、エネルギー値の変化がなくなっている(十分に最適化され、エネルギー値が一定となっている)。このため、本実施例では、最適解に達し得る十分な評価の反復回数(サブフロー2の反復回数)を10回とした。
また、図20に、実施例における、連続変数をランダムに設定した目的関数式の、焼き鈍し法の反復回数と、焼き鈍し法による最適化に必要となる解析時間の関係の一例を示す。図20において、横軸は焼き鈍し法の反復回数(DA反復回数)を示し、縦軸は焼き鈍し法による最適化に必要となる解析時間(計算時間)を示す。
図20に示すように、最適解に達し得る十分な評価の反復回数(サブフロー2の反復回数)とした10回での解析時間よりも、「1E+6(10)」回以下の反復回数では、計算時間が短くなっていることがわかる。このため、本実施例では、十分に短い計算時間となる反復回数(サブフロー1の反復回数)を10回とした。
<遺伝的アルゴリズムのパラメータの決定>
続いて、本実施例では、図11及び図12に示すフローチャートに従って、第n世代データ値群を第n+1世代のデータ値群に置き換える際の遺伝的アルゴリズムのパラメータを決定した。
具体的には、ステップサイズtの値を、「0.1、1、2、5、10」にそれぞれ設定した複数の目的関数式について、短時間の簡易的な最適化を、データ値群(個体群)の世代数が第100世代になるまで行った。図21に、実施例における、ステップサイズtの値をそれぞれ異ならせて設定した目的関数式の、データ値群(個体群)の世代数と、当該目的関数式のエネルギー値の関係の一例を示す。図21において、横軸はデータ値群の世代数(Generation)を示し、縦軸は目的関数式のエネルギー値(Energy)を示す。
図21に示すように、本実施例では、ステップサイズが「t=2」であるときに、目的関数式のエネルギー値が最も低くなることから、実際に振動発電デバイスの最適化を行う際のステップサイズtを2に設定した。
また、図21に示すように、本実施例では、焼き鈍し法の反復回数の切り替え世代数(S)について、目的関数式のエネルギー値が最も低くなるステップサイズtが2の場合の最適化で、エネルギー値の変化がなくなる世代数である60世代を切り替え世代数Sとした。
さらに、図21に示すように、本実施例では、世代の上限数(遺伝的アルゴリズムの繰り返し回数;G)は、切り替え世代数S(60世代)に基づいて、「G=S+(S/3)=(4/3)S」として、「G=60世代+20世代=80世代」とした。
<振動発電デバイスの最適化>
そして、本実施例では、設定したパラメータを用いて、図7に示すフローチャートに従って、目的関数式の最適化を行うことにより、振動発電デバイスのコイルの位置と磁石配置の最適化を行った。
ここで、本実施例では、上述したように、最適化のパラメータを以下の通りに設定した。
・十分に短い計算時間となる反復回数(サブフロー1の反復回数):10
・最適解に達し得る十分な評価の反復回数(サブフロー2の反復回数):10
・ステップサイズ:t=2
・切り替え世代数:S=60
・世代の上限数(遺伝的アルゴリズムの繰り返し回数):G=80
また、実数値遺伝的アルゴリズムによる連続変数の最適化においては、生成するデータ値群(個体群)におけるデータ値(個体)の数に関するパラメータを、連続変数の数である4を次元nとして、以下の通りに設定した。
・初期個体数:5n=20
・親個体数:n+1=5
・子個体数:4n=16
図22に、実施例における、振動発電デバイスのコイルの位置と磁石配置を最適化するための目的関数式の、データ値群(個体群)の世代数と、当該目的関数式のエネルギー値の関係の一例を示す。図22において、横軸はデータ値群の世代数(Generation)を示し、縦軸は目的関数式のエネルギー値(Energy)を示す。
図22に示すように、焼き鈍し法の反復回数の切り替え世代数Sとした60世代の近傍で、目的関数式のエネルギー値が大きく下がっていることがわかる。これは、焼き鈍し法の反復回数の切り替え世代数Sである60世代以降は、最適解に達し得る十分な評価の反復回数(サブフロー2の反復回数)により、評価を行っているためであると考えられる。
図23に、実施例において、振動発電デバイスのコイルの位置と磁石配置を最適化したときの、コイルと磁石の配置等の一例を示す。なお、図23において、磁石MGにおける各小磁石の矢印は、磁化の向きが矢印の指す方向であることを意味する。また、図23において、磁石MGにおける各小磁石の丸印は、磁化の向きが紙面手前方向(x軸のプラスの方向)であることを意味する。さらに、磁石MGにおける各小磁石のバツ印(×)は、磁化の向きが紙面奥方向(x軸のマイナスの方向)であることを意味する。
図23に示すように、本実施例では、磁石MGがz軸に振動した際に、右回りコイルCRと左回りコイルCLの鎖交磁束の変化量が大きくなるような、コイルの位置と小磁石の磁化の向きになっていることがわかる。なお、図23に示す例においては、右回りコイルCRと左回りコイルCLの鎖交磁束の変化量Δφは「6.76×10-4(Wb)」となった。また、右回りコイルCRの中心座標(y,z)は「13.99,11.55(mm)」となり、左回りコイルCLの中心座標(y,z)は「-13.99,11.66(mm)」となった。
<計算コスト(計算時間)>
上述したように、本実施例では、初期個体数を20個とし、親個体数を5個とし、子個体数を16個とした。このため、本実施例では、一つの世代あたり、親個体由来の鏡映個体5個と子個体16個とに対して焼き鈍し法による評価を行うことになる。
したがって、本実施例では、60世代までに生成される個体は「20+60×21=1280」となり、1280個となる。また、本実施例では、世代の上限数Gを80としたため、60世代以降に生成される個体は「20×21=420」となり、420個となる。さらに、本実施例では、最適化を終了するまでに生成される個体数は、「1280+420=1700」となり、合計で1700個となる。
ここで、本実施例においては、上述したように、十分に短い計算時間となる反復回数(サブフロー1の反復回数)を10回とし、最適解に達し得る十分な評価の反復回数(サブフロー2の反復回数)を10回とした。また、十分に短い計算時間となる反復回数における計算時間(解析時間)は「0.79秒」であり、最適解に達し得る十分な評価の反復回数における計算時間は「4.46秒」であった。
したがって、本実施例における、合計の計算時間を算出すると、「0.79×1280+4.46×420=2884」となり、2884秒、即ち48分程度となった。
また、比較のために、各個体の焼き鈍し法による評価における反復回数を、世代数に応じて計算せずに、最適解に達し得る十分な評価の反復回数(10回)で、全ての個体を評価した。この例では、合計の計算時間を算出すると、「4.46×1700=7582」となり、7582秒、即ち126分程度となった。
これらの結果から、各個体の焼き鈍し法による評価における反復回数を、世代数に応じて適切に切り替えることで、計算コストを大幅に抑制でき、計算時間を半分以下にすることができることが確認できた。
図24は、本件で開示する技術の一実施形態における、処理の流れの一例を示す図である。
図24に示すように、本件で開示する技術の一実施形態におけるメインフロー(焼き鈍し法(DA)×遺伝的アルゴリズム(GA))においては、連続変数と離散変数を含む最適化問題を、連続変数の最適化問題と、離散変数の最適化問題(組合せ最適化問題)に分離する。
そして、本件で開示する技術の一実施形態におけるメインフローでは、連続変数の最適化問題については、遺伝的アルゴリズム(GA)を用いて個体群(GA個体の群;データ値群)を生成する。次に、本件で開示する技術の一実施形態におけるメインフローでは、評価が高いGA個体の連続変数のデータ値に基づいて、サブフロー(サブ1orサブ2)おいて、焼き鈍し法(アニーリング)を用いた評価を行い、GA個体の評価値を特定する。また、サブフローにおいては、GAの世代数に応じて、十分に短い計算時間となる反復回数(サブ1)と、最適解に達し得る十分な評価の反復回数(サブ2)とを切り替える。
次いで、図24に示すように、本件で開示する技術の一実施形態におけるメインフローでは、所定の世代数に達するまで、遺伝的アルゴリズム(GA)によるGA個体の生成と、焼き鈍し法(DA)によるGA個体の評価とを繰り返す。
続いて、本件で開示する技術の一実施形態におけるメインフローでは、最終的に得られた最適なGA個体(最も評価値が高いGA個体)の連続変数のデータ値に基づいて、目的関数式の最適化を焼き鈍し法(DA)により行う。
そして、本件で開示する技術の一実施形態におけるメインフローでは、最適化の結果(デバイスにおける部材の配置等)の情報を出力する。
本件で開示する技術の一実施形態では、例えば、図24に示したような処理を行うことにより、連続値の変数と離散値の変数の両方を含む最適化問題の最適化に必要となる計算コストを抑制して効率的に最適化を行うことができる。
図25は、本件で開示する技術の一実施形態における、処理の流れの他の一例を示す図である。
図25に示すように、本件で開示する技術の一実施形態における学習のフローにおいては、まず、最適化問題における連続変数を任意に(ランダムに)設定した目的関数式を用意し、これらの目的関数式に対して短時間の簡易的な最適化(サブ1によるDA)を行う。次いで、本件で開示する技術の一実施形態における学習のフローでは、全ての目的関数式におけるエネルギー値の変化がなくなる反復回数を、最適解に達し得る十分な評価(サブ2)の反復回数とする。さらに、本件で開示する技術の一実施形態における学習のフローでは、最適解に達し得る十分な評価の反復回数における計算時間よりも、十分に短い計算時間となる反復回数を、短時間の簡易的な評価(サブ1)の反復回数とする。
続いて、本件で開示する技術の一実施形態における学習のフローでは、決定した焼き鈍し法(DA)の反復回数を、学習済みパラメータとしてデータベースに記録する。
そして、本件で開示する技術の一実施形態における学習のフローでは、対象とする最適化問題における、ステップサイズtの値を異ならせた目的関数式について、短時間の簡易的な最適化(サブ1)と遺伝的アルゴリズム(GA)による個体の生成を行う。そして、最適化の結果のエネルギー値が最も低くなるステップサイズtと、反復回数の切り替え世代数(サブ切替値)Sを決定する。
続いて、本件で開示する技術の一実施形態における学習のフローでは、ステップサイズtと、サブ切替値Sを、学習済みパラメータとしてデータベースに記録する。
次に、本件で開示する技術の一実施形態における運用のフローでは、学習済みパラメータとしてデータベースに記録されたパラメータを用いて、最適化問題を上述したメインフローに従って最適化し、最適化の結果を出力する。
本件で開示する技術の一実施形態では、例えば、図25に示したような処理を行うことにより、より適切なパラメータを設定した上で、連続値の変数と離散値の変数の両方を含む最適化問題の最適化を行うことができる。このため、本件で開示する技術の一実施形態では、例えば、図25に示したような処理を行うことにより、計算コストをより抑制して効率的に、精度の高い最適化を行うことができる。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
連続値データからなる連続変数、及び、離散値データからなる離散変数を含む目的関数式を用いて表される最適化問題の最適化を行う最適化装置であって、
前記目的関数式を最適化する最適化処理部を有し、
前記最適化処理部は、
前記連続変数として、前記連続値データの中から選択した複数のデータ値からなる第n世代データ値群(n≧1)を取得し、
前記第n世代データ値群を用いて前記目的関数式の最適化処理を焼き鈍し法により行うことにより、前記第n世代データ値群における前記複数のデータ値の各々の評価値を特定し、
前記評価値に基づき、遺伝的アルゴリズムを用いて、前記連続値データの中から選択した複数のデータ値からなり、前記第n世代データ値群とは異なる第n+1世代データ値群を取得し、
前記連続変数として、前記第n世代データ値群を前記第n+1世代のデータ値群に置き換える、
ことを特徴とする最適化装置。
(付記2)
前記最適化処理部が、前記第n世代データ値群における前記複数のデータ値の各々の前記評価値を特定する際に、
前記第n世代データ値群における世代数に応じて、前記最適化処理を実行する回数を制御する、付記1に記載の最適化装置。
(付記3)
前記最適化処理部が、前記第n世代データ値群における世代数が所定数以下である場合に、
前記最適化処理を実行する回数を減少させる、付記2に記載の最適化装置。
(付記4)
前記最適化処理部が、下記式(1)で表される前記最適化処理を行う、付記1から3のいずれかに記載の最適化装置。
Figure 2022090249000023
ただし、前記式(1)において、
前記E(s,x)は、前記目的関数式であり、
前記w(x)ijは、前記連続変数であるxの値により大きさが決定する、i番目のビットとj番目のビットの間の重み付けのための係数であり、
前記sは、前記i番目のビットが0又は1であることを表すバイナリ変数であり、
前記sは、前記j番目のビットが0又は1であることを表すバイナリ変数であり、
前記b(x)は、前記連続変数であるxの値により大きさが決定する前記i番目のビットに対するバイアスを表す数値であり、
前記c(x)は、前記連続変数であるxの値により大きさが決定する定数である。
(付記5)
前記最適化処理部が、下記式(2)で表されるイジングモデル式に変換した前記目的関数式に基づき前記最適化処理を行う、付記4に記載の最適化装置。
Figure 2022090249000024
ただし、前記式(2)において、
前記E(s)は、前記イジングモデル式に変換した目的関数式であり、
前記wijは、i番目のビットとj番目のビットとの間の重みづけのための係数であり、
前記bは、前記i番目のビットに対するバイアスを表す数値であり、
前記sは、前記i番目のビットが0又は1であることを表すバイナリ変数であり、
前記sは、前記j番目のビットが0又は1であることを表すバイナリ変数である。
前記const.は、定数である。
(付記6)
前記最適化処理部が、前記焼き鈍し法により、前記イジングモデル式に変換した前記目的関数式を最小化することにより前記最適化処理を行う、付記5に記載の最適化装置。
(付記7)
連続値データからなる連続変数、及び、離散値データからなる離散変数を含む目的関数式を用いて表される最適化問題の最適化を行う最適化方法であって、
前記目的関数式を最適化する最適化処理工程を含み、
前記最適化処理工程において、
前記連続変数として、前記連続値データの中から選択した複数のデータ値からなる第n世代データ値群(n≧1)を取得し、
前記第n世代データ値群を用いて前記目的関数式の最適化処理を焼き鈍し法により行うことにより、前記第n世代データ値群における前記複数のデータ値の各々の評価値を特定し、
前記評価値に基づき、遺伝的アルゴリズムを用いて、前記連続値データの中から選択した複数のデータ値からなり、前記第n世代データ値群とは異なる第n+1世代データ値群を取得し、
前記連続変数として、前記第n世代データ値群を前記第n+1世代のデータ値群に置き換える、
ことを特徴とする最適化方法。
(付記8)
前記最適化処理工程において、前記第n世代データ値群における前記複数のデータ値の各々の前記評価値を特定する際に、
前記第n世代データ値群における世代数に応じて、前記最適化処理を実行する回数を制御する、付記7に記載の最適化方法。
(付記9)
前記最適化処理工程において、前記第n世代データ値群における世代数が所定数以下である場合に、
前記最適化処理を実行する回数を減少させる、付記8に記載の最適化方法。
(付記10)
前記最適化処理工程において、下記式(1)で表される前記最適化処理を行う、付記7から9のいずれかに記載の最適化方法。
Figure 2022090249000025
ただし、前記式(1)において、
前記E(s,x)は、前記目的関数式であり、
前記w(x)ijは、前記連続変数であるxの値により大きさが決定する、i番目のビットとj番目のビットの間の重み付けのための係数であり、
前記sは、前記i番目のビットが0又は1であることを表すバイナリ変数であり、
前記sは、前記j番目のビットが0又は1であることを表すバイナリ変数であり、
前記b(x)は、前記連続変数であるxの値により大きさが決定する前記i番目のビットに対するバイアスを表す数値であり、
前記c(x)は、前記連続変数であるxの値により大きさが決定する定数である。
(付記11)
前記最適化処理工程において、下記式(2)で表されるイジングモデル式に変換した前記目的関数式に基づき前記最適化処理を行う、付記10に記載の最適化方法。
Figure 2022090249000026
ただし、前記式(2)において、
前記E(s)は、前記イジングモデル式に変換した目的関数式であり、
前記wijは、i番目のビットとj番目のビットとの間の重みづけのための係数であり、
前記bは、前記i番目のビットに対するバイアスを表す数値であり、
前記sは、前記i番目のビットが0又は1であることを表すバイナリ変数であり、
前記sは、前記j番目のビットが0又は1であることを表すバイナリ変数である。
前記const.は、定数である。
(付記12)
前記最適化処理工程において、前記焼き鈍し法により、前記イジングモデル式に変換した前記目的関数式を最小化することにより前記最適化処理を行う、付記11に記載の最適化方法。
(付記13)
連続値データからなる連続変数、及び、離散値データからなる離散変数を含む目的関数式を用いて表される最適化問題の最適化をコンピュータに行わせる最適化プログラムであって、
前記目的関数式を最適化する処理をコンピュータに行わせ、
前記処理において、
前記連続変数として、前記連続値データの中から選択した複数のデータ値からなる第n世代データ値群(n≧1)を取得し、
前記第n世代データ値群を用いて前記目的関数式の最適化処理を焼き鈍し法により行うことにより、前記第n世代データ値群における前記複数のデータ値の各々の評価値を特定し、
前記評価値に基づき、遺伝的アルゴリズムを用いて、前記連続値データの中から選択した複数のデータ値からなり、前記第n世代データ値群とは異なる第n+1世代データ値群を取得し、
前記連続変数として、前記第n世代データ値群を前記第n+1世代のデータ値群に置き換える、
ことを特徴とする最適化プログラム。
(付記14)
前記処理において、前記第n世代データ値群における前記複数のデータ値の各々の前記評価値を特定する際に、
前記第n世代データ値群における世代数に応じて、前記最適化処理を実行する回数を制御する、付記13に記載の最適化プログラム。
(付記15)
前記処理において、前記第n世代データ値群における世代数が所定数以下である場合に、
前記最適化処理を実行する回数を減少させる、付記14に記載の最適化プログラム。
(付記16)
前記処理において、下記式(1)で表される前記最適化処理を行う、付記13から15のいずれかに記載の最適化プログラム。
Figure 2022090249000027
ただし、前記式(1)において、
前記E(s,x)は、前記目的関数式であり、
前記w(x)ijは、前記連続変数であるxの値により大きさが決定する、i番目のビットとj番目のビットの間の重み付けのための係数であり、
前記sは、前記i番目のビットが0又は1であることを表すバイナリ変数であり、
前記sは、前記j番目のビットが0又は1であることを表すバイナリ変数であり、
前記b(x)は、前記連続変数であるxの値により大きさが決定する前記i番目のビットに対するバイアスを表す数値であり、
前記c(x)は、前記連続変数であるxの値により大きさが決定する定数である。
(付記17)
前記処理において、下記式(2)で表されるイジングモデル式に変換した前記目的関数式に基づき前記最適化処理を行う、付記16に記載の最適化プログラム。
Figure 2022090249000028
ただし、前記式(2)において、
前記E(s)は、前記イジングモデル式に変換した目的関数式であり、
前記wijは、i番目のビットとj番目のビットとの間の重みづけのための係数であり、
前記bは、前記i番目のビットに対するバイアスを表す数値であり、
前記sは、前記i番目のビットが0又は1であることを表すバイナリ変数であり、
前記sは、前記j番目のビットが0又は1であることを表すバイナリ変数である。
前記const.は、定数である。
(付記18)
前記処理において、前記焼き鈍し法により、前記イジングモデル式に変換した前記目的関数式を最小化することにより前記最適化処理を行う、付記17に記載の最適化プログラム。
100 最適化装置
101 制御部
102 主記憶装置
103 補助記憶装置
104 I/Oインターフェイス
105 通信インターフェイス
106 入力装置
107 出力装置
108 表示装置
109 バス
120 通信機能部
130 入力機能部
140 出力機能部
150 表示機能部
160 記憶機能部
170 制御機能部
171 最適化処理部
MG 磁石
CR 右回りコイル
CL 左回りコイル

Claims (8)

  1. 連続値データからなる連続変数、及び、離散値データからなる離散変数を含む目的関数式を用いて表される最適化問題の最適化を行う最適化装置であって、
    前記目的関数式を最適化する最適化処理部を有し、
    前記最適化処理部は、
    前記連続変数として、前記連続値データの中から選択した複数のデータ値からなる第n世代データ値群(n≧1)を取得し、
    前記第n世代データ値群を用いて前記目的関数式の最適化処理を焼き鈍し法により行うことにより、前記第n世代データ値群における前記複数のデータ値の各々の評価値を特定し、
    前記評価値に基づき、遺伝的アルゴリズムを用いて、前記連続値データの中から選択した複数のデータ値からなり、前記第n世代データ値群とは異なる第n+1世代データ値群を取得し、
    前記連続変数として、前記第n世代データ値群を前記第n+1世代のデータ値群に置き換える、
    ことを特徴とする最適化装置。
  2. 前記最適化処理部が、前記第n世代データ値群における前記複数のデータ値の各々の前記評価値を特定する際に、
    前記第n世代データ値群における世代数に応じて、前記最適化処理を実行する回数を制御する、請求項1に記載の最適化装置。
  3. 前記最適化処理部が、前記第n世代データ値群における世代数が所定数以下である場合に、
    前記最適化処理を実行する回数を減少させる、請求項2に記載の最適化装置。
  4. 前記最適化処理部が、下記式(1)で表される前記最適化処理を行う、請求項1から3のいずれかに記載の最適化装置。
    Figure 2022090249000029
    ただし、前記式(1)において、
    前記E(s,x)は、前記目的関数式であり、
    前記w(x)ijは、前記連続変数であるxの値により大きさが決定する、i番目のビットとj番目のビットの間の重み付けのための係数であり、
    前記sは、前記i番目のビットが0又は1であることを表すバイナリ変数であり、
    前記sは、前記j番目のビットが0又は1であることを表すバイナリ変数であり、
    前記b(x)は、前記連続変数であるxの値により大きさが決定する前記i番目のビットに対するバイアスを表す数値であり、
    前記c(x)は、前記連続変数であるxの値により大きさが決定する定数である。
  5. 前記最適化処理部が、下記式(2)で表されるイジングモデル式に変換した前記目的関数式に基づき前記最適化処理を行う、請求項4に記載の最適化装置。
    Figure 2022090249000030
    ただし、前記式(2)において、
    前記E(s)は、前記イジングモデル式に変換した目的関数式であり、
    前記wijは、i番目のビットとj番目のビットとの間の重みづけのための係数であり、
    前記bは、前記i番目のビットに対するバイアスを表す数値であり、
    前記sは、前記i番目のビットが0又は1であることを表すバイナリ変数であり、
    前記sは、前記j番目のビットが0又は1であることを表すバイナリ変数である。
    前記const.は、定数である。
  6. 前記最適化処理部が、前記焼き鈍し法により、前記イジングモデル式に変換した前記目的関数式を最小化することにより前記最適化処理を行う、請求項5に記載の最適化装置。
  7. 連続値データからなる連続変数、及び、離散値データからなる離散変数を含む目的関数式を用いて表される最適化問題の最適化を行う最適化方法であって、
    前記目的関数式を最適化する最適化処理工程を含み、
    前記最適化処理工程において、
    前記連続変数として、前記連続値データの中から選択した複数のデータ値からなる第n世代データ値群(n≧1)を取得し、
    前記第n世代データ値群を用いて前記目的関数式の最適化処理を焼き鈍し法により行うことにより、前記第n世代データ値群における前記複数のデータ値の各々の評価値を特定し、
    前記評価値に基づき、遺伝的アルゴリズムを用いて、前記連続値データの中から選択した複数のデータ値からなり、前記第n世代データ値群とは異なる第n+1世代データ値群を取得し、
    前記連続変数として、前記第n世代データ値群を前記第n+1世代のデータ値群に置き換える、
    ことを特徴とする最適化方法。
  8. 連続値データからなる連続変数、及び、離散値データからなる離散変数を含む目的関数式を用いて表される最適化問題の最適化をコンピュータに行わせる最適化プログラムであって、
    前記目的関数式を最適化する処理をコンピュータに行わせ、
    前記処理において、
    前記連続変数として、前記連続値データの中から選択した複数のデータ値からなる第n世代データ値群(n≧1)を取得し、
    前記第n世代データ値群を用いて前記目的関数式の最適化処理を焼き鈍し法により行うことにより、前記第n世代データ値群における前記複数のデータ値の各々の評価値を特定し、
    前記評価値に基づき、遺伝的アルゴリズムを用いて、前記連続値データの中から選択した複数のデータ値からなり、前記第n世代データ値群とは異なる第n+1世代データ値群を取得し、
    前記連続変数として、前記第n世代データ値群を前記第n+1世代のデータ値群に置き換える、
    ことを特徴とする最適化プログラム。
JP2020202515A 2020-12-07 2020-12-07 最適化装置、最適化方法、及び最適化プログラム Withdrawn JP2022090249A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020202515A JP2022090249A (ja) 2020-12-07 2020-12-07 最適化装置、最適化方法、及び最適化プログラム
EP21193224.9A EP4009200A1 (en) 2020-12-07 2021-08-26 Optimization apparatus, optimization method, and computer-readable recording medium storing optimization program
US17/458,651 US20220180210A1 (en) 2020-12-07 2021-08-27 Optimization apparatus, optimization method, and computer-readable recording medium storing optimization program
CN202111076139.0A CN114595549A (zh) 2020-12-07 2021-09-14 优化设备和方法及存储优化程序的计算机可读记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020202515A JP2022090249A (ja) 2020-12-07 2020-12-07 最適化装置、最適化方法、及び最適化プログラム

Publications (1)

Publication Number Publication Date
JP2022090249A true JP2022090249A (ja) 2022-06-17

Family

ID=77801437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020202515A Withdrawn JP2022090249A (ja) 2020-12-07 2020-12-07 最適化装置、最適化方法、及び最適化プログラム

Country Status (4)

Country Link
US (1) US20220180210A1 (ja)
EP (1) EP4009200A1 (ja)
JP (1) JP2022090249A (ja)
CN (1) CN114595549A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024047828A1 (ja) * 2022-09-01 2024-03-07 三菱電機株式会社 設計支援装置及び設計支援方法
EP4343637A1 (en) 2022-09-21 2024-03-27 Fujitsu Limited Arithmetic operation program, arithmetic operation method, and information processing apparatus

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117494630B (zh) * 2023-12-29 2024-04-26 珠海格力电器股份有限公司 一种寄存器时序优化方法、装置、电子设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3223880B2 (ja) 1998-04-10 2001-10-29 日本電気株式会社 飛行経路作成装置および飛行経路作成方法
JP7108185B2 (ja) * 2018-11-22 2022-07-28 富士通株式会社 最適化装置および最適化装置の制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024047828A1 (ja) * 2022-09-01 2024-03-07 三菱電機株式会社 設計支援装置及び設計支援方法
EP4343637A1 (en) 2022-09-21 2024-03-27 Fujitsu Limited Arithmetic operation program, arithmetic operation method, and information processing apparatus

Also Published As

Publication number Publication date
CN114595549A (zh) 2022-06-07
EP4009200A1 (en) 2022-06-08
US20220180210A1 (en) 2022-06-09

Similar Documents

Publication Publication Date Title
JP2022090249A (ja) 最適化装置、最適化方法、及び最適化プログラム
Robertson et al. Axial force between a thick coil and a cylindrical permanent magnet: Optimizing the geometry of an electromagnetic actuator
Noel A new gradient based particle swarm optimization algorithm for accurate computation of global minimum
JP6630640B2 (ja) 材料創成装置、および材料創成方法
Behnamian et al. A multi-phase covering Pareto-optimal front method to multi-objective parallel machine scheduling
Singh et al. Monte Carlo MCMC: Efficient inference by approximate sampling
JP2022082064A (ja) 混合物物性特定方法、混合物物性特定装置、及び混合物物性特定プログラム
Liao et al. Training neural networks via simplified hybrid algorithm mixing Nelder–Mead and particle swarm optimization methods
Nguyen et al. Gaussian transformation based representation in particle swarm optimisation for feature selection
CN111261235A (zh) 用于检索环状分子的结构的方法和装置以及记录介质
CN112837763A (zh) 结构搜索方法、结构搜索设备和记录介质
Kong et al. On the performance of oversampling techniques for class imbalance problems
Gross et al. Optimisation with intrinsic dimension reduction: A ridge informed trust-region method
JP2020042576A (ja) 化合物探索装置、化合物探索方法、及び化合物探索プログラム
Sutton et al. Mutation rates of the (1+ 1)-EA on pseudo-boolean functions of bounded epistasis
Ghorbel et al. Smart adaptive run parameterization (SArP): enhancement of user manual selection of running parameters in fluid dynamic simulations using bio-inspired and machine-learning techniques
US20220215137A1 (en) Information processing apparatus, information processing method, and computer-readable recording medium storing information processing program
EP3989085A1 (en) Optimization device, optimization method, and optimization program
EP3913506A1 (en) Optimization device, optimization method, and optimization program
Bhatia et al. Performance analysis of support vector machine implementations on the D-wave quantum annealer
Baldan et al. A novel multi-surrogate multi-objective decision-making optimization algorithm in induction heating
JP2021144281A (ja) 最適化装置、最適化方法、及び最適化プログラム
Wu et al. A Dimension Selection-Based Constrained Multi-Objective Optimization Algorithm Using a Combination of Artificial Intelligence Methods
Topcu et al. A multiobjective evolutionary algorithm approach for map sketch generation
Shannon et al. Enhancing exploration and exploitation of NSGA-II with GP and PDL

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20220601

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230804

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20240129