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

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

Info

Publication number
JP7137074B2
JP7137074B2 JP2018243292A JP2018243292A JP7137074B2 JP 7137074 B2 JP7137074 B2 JP 7137074B2 JP 2018243292 A JP2018243292 A JP 2018243292A JP 2018243292 A JP2018243292 A JP 2018243292A JP 7137074 B2 JP7137074 B2 JP 7137074B2
Authority
JP
Japan
Prior art keywords
individual
generation
individuals
current generation
constraint
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.)
Active
Application number
JP2018243292A
Other languages
English (en)
Other versions
JP2020106957A (ja
Inventor
聡 下川
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 JP2018243292A priority Critical patent/JP7137074B2/ja
Priority to US16/661,265 priority patent/US11386332B2/en
Priority to EP19205458.3A priority patent/EP3674959A1/en
Priority to CN201911094251.XA priority patent/CN111382540A/zh
Publication of JP2020106957A publication Critical patent/JP2020106957A/ja
Application granted granted Critical
Publication of JP7137074B2 publication Critical patent/JP7137074B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2115Selection of the most significant subset of features by evaluating different subsets according to an optimisation criterion, e.g. class separability, forward selection or backward elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • 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
    • 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]

Description

本発明は、最適化計算方法、最適化計算装置及び最適化計算プログラムに関する。
従来、遺伝子アルゴリズムのように、複数の解候補(以下、個体とも呼ぶ)を進化させながら最適解を求めるアルゴリズムが提案されている。このようなアルゴリズムでは、各設計変数に制約条件が与えられ、その制約条件に基づいて個体のシミュレーション(以下、評価とも呼ぶ)を行うことにより、目的関数の算出を行うことが一般的である。
これに対し、各個体の制約条件に対する不適合が評価後に判明する問題の場合、評価によって得られる目的関数には、必然的に不適合なものが含まれることになる。そのため、設計者は、この場合、例えば、予め多数の子個体の生成及び評価を行うことによって目的関数をそれぞれ算出し、その中から制約条件(評価後に判明する制約条件)を満たすものを抽出する方法を採用する(例えば、特許文献1及び2参照)。
特開平11-085720号公報 特開2003-248810号公報
しかしながら、上記の方法を採用する場合、初期値に対する依存が大きくなる場合や、過剰な数の個体の評価が行われる場合が発生する。また、上記の方法では、トライアンドエラーによる反復作業や設計者の経験に依存する面が多くなる。そのため、設計者は、作業効率や再現性の観点から上記の方法を採用することができない場合がある。
そこで、一つの側面では、本発明は、効率的であってかつ再現が容易な最適化計算を実現することを可能とする最適化計算方法、最適化計算装置及び最適化計算プログラムを提供することを目的とする。
実施の形態の一態様では、複数の個体を世代ごとに進化させながら最適解を求めるアルゴリズムを用いることにより、前世代において選択された個体を親個体として当世代の個体を生成し、所定の評価関数を用いることにより、前記当世代の各個体を評価し、前記前世代の制約条件値と、前記当世代の個体の半数以上が達成する制約条件暫定値とに基づいて、前記当世代の制約条件値を算出し、前記当世代の各個体についての前記評価の結果が前記当世代の制約条件値を満たすか否かを判定し、前記評価の結果が前記当世代の制約条件値を満たす個体のうち、突然変異を発生させる処理によって生成された各個体の属性に基づいて所定のオフセットを決定し、前記突然変異を発生させる処理によって次世代の各個体を生成する際に用いる乱数に対して前記所定のオフセットを付加する、処理をコンピュータに実行させる。
一つの側面によれば、効率的であってかつ再現が容易な最適化計算を実現することを可能とする。
図1は、情報処理システム10の構成について説明する図である。 図2は、最適化計算処理によって解の算出が行われる問題の具体例について説明する図である。 図3は、最適化計算処理によって解の算出が行われる問題の具体例について説明する図である。 図4は、最適化計算処理によって解の算出が行われる問題の具体例について説明する図である。 図5は、最適化計算処理によって解の算出が行われる問題の具体例について説明する図である。 図6は、最適化計算処理によって解の算出が行われる問題の具体例について説明する図である。 図7は、情報処理装置1のハードウエア構成を説明する図である。 図8は、情報処理装置1の機能のブロック図である。 図9は、第1の実施の形態における最適化計算処理の概略を説明するフローチャート図である。 図10は、第1の実施の形態における最適化計算処理の詳細を説明するフローチャート図である。 図11は、第1の実施の形態における最適化計算処理の詳細を説明するフローチャート図である。 図12は、第1の実施の形態における最適化計算処理の詳細を説明するフローチャート図である。 図13は、第1の実施の形態における最適化計算処理の詳細を説明するフローチャート図である。 図14は、第1の実施の形態における最適化計算処理の詳細を説明するフローチャート図である。 図15は、符号情報132の具体例を説明する図である。 図16は、符号情報132の具体例を説明する図である。 図17は、S31の処理の具体例を説明する図である。 図18は、S32の処理の具体例を説明する図である。 図19は、S34の処理の具体例を説明する図である。 図20は、設計変数Aに対応するオフセットηのオフセット量の決定方法の具体例について説明する図である。 図21は、S53の処理の詳細について説明する図である。 図22は、本実施の形態における最適化計算処理をインダクタコアの形状最適化に適用した場合の結果を説明する図である。
[情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。図1は、情報処理システム10の構成について説明する図である。
図1に示す情報処理システム10は、情報処理装置1(以下、最適化計算装置1とも呼ぶ)と、操作端末2とを有する。操作端末2は、ネットワークNWを介することによって情報処理装置1とアクセスが可能である。
操作端末2は、例えば、1台以上のPC(Personal Computer)であり、設計者が情報処理装置1に対して操作を行う端末である。
情報処理装置1は、例えば、1台以上の物理マシンから構成され、遺伝子アルゴリズムを用いることによって所定の問題の解を算出する処理(以下、最適化計算処理とも呼ぶ)を行う装置である。具体的に、情報処理装置1は、例えば、各個体の制約条件に対する不適合が評価後に判明する問題の解(最適解)を、制約条件を世代ごとに動的に変化させていくことによって取得する。
[問題の具体例]
次に、最適化計算処理によって解の算出が行われる問題の具体例について説明を行う。図2から図6は、最適化計算処理によって解の算出が行われる問題の具体例について説明する図である。具体的に、図2から図6は、磁気デバイスの一つであるインダクタコアの形状を最適化する問題の具体例について説明を行う。
初めに、インダクタコアの一例について説明を行う。図2から図5は、インダクタコアの一例について説明する図である。具体的に、図2は、インダクタコアの斜視図であり、図3は、インダクタコアの正面図である。また、図4は、図2及び図3に示すE型コアの平面図及び正面図であり、図5は、図2及び図3に示すI型コアの平面図及び正面図である。
図2から図5に示すように、インダクタコア20は、E型コア22及びI型コア23がフェライト系の磁性材料で形成され、中央脚の周りに巻かれたコイル21に電流を流すことによって磁束が発生し、電気回路で必要とされるインダクタンス(L値)を生み出す。
インダクタコア20は、回路の一部品として用いられる。そのため、インダクタコア20には、所望のインダクタンス値を満たすことが要求される他、所定の寸法内に収まることや、磁性体内部での損失及び体積(重量)がなるべく小さいことが要求される。情報処理装置1は、例えば、インダクタコア20の設計最適化問題を解き、E型コア22及びI型コア23の寸法(図4及び図5に示すAからJ)の上下限値とインダクタンスの下限値とを制約条件としながら、損失と体積との最小値を求める。そのため、この例では、損失と体積とが目的関数となる。
次に、インダクタコアの最適化計算処理(寸法最適化処理)について説明を行う。図6は、インダクタコアの寸法最適化処理について説明する図である。具体的に、図6は、第i世代において行われる処理を説明する図である。なお、情報処理装置1は、例えば、3次元モデルをベースにした磁界シミュレーションを活用して最適設計を行う。
情報処理装置1は、図6に示すように、第i世代の個体を生成し(図6の(1))、設計変数として各個体の寸法であるAからJを与える(図6の(2))。そして、情報処理装置1は、各個体の寸法が制約条件から外れている場合、寸法の上下限値でリミットをかけることによって、制約条件による寸法パラメータの修正を行う(図6の(3))。この結果、設計変数は、A´からJ´に変更される(図6の(4))。なお、この時点で、目的関数の一つである体積(V)については算出が可能となる(図6の(5))。
続いて、情報処理装置1は、磁界シミュレーションを行うことによって、制約条件の一つであるインダクタンス(L)と、目的関数である損失(P)とを算出する(図6の(6)及び(7))。
その後、情報処理装置1は、目的関数の一つである損失(P)について、磁界シミュレーションを実行することによって判明した制約条件の一つであるインダクタンス(L)による適用判定を行う(図6の(8))。具体的に、情報処理装置1は、第i世代の各個体について、シミュレーションによって算出されたインダクタンス値が、予め設定された制約条件値L以上であるか否かを判定する。
その結果、情報処理装置1は、シミュレーションによって算出されたインダクタンス値が制約条件値L以上であると判定した場合、その個体を適用と判定する。一方、情報処理装置1は、シミュレーションによって算出されたインダクタンス値が制約条件値L未満であると判定した場合、その個体を不適用と判定する。
ここで、図2から図6で説明した方法の場合、設計者は、制約条件を満たす個体の数を必要数に到達させる必要性から、予め多数の子個体の生成及び評価を行う必要がある。そのため、設計者は、結果として、過剰な数の個体の評価が行う場合が発生する。また、この方法では、トライアンドエラーによる反復作業や設計者の経験に依存する面が多くなる。したがって、設計者は、作業効率や再現性の観点からこの方法を採用することができない場合がある。
そこで、本実施の形態における情報処理装置1は、複数の個体を世代ごとに進化させながら最適解を求める遺伝的アルゴリズム等のアルゴリズムを用いることにより、前世代において選択された個体を親個体として当世代の個体を生成する。そして、情報処理装置1は、所定の評価関数を用いることにより、当世代の各個体を評価する。その後、前世代の制約条件値と、当世代の個体の半数以上が達成する制約条件暫定値とに基づいて、当世代の制約条件値を算出する。
すなわち、遺伝的アルゴリズムでは、個体群(例えば、数十~数百個の個体で構成された個体群)を各世代で生成し、比較的優れたものの中から交叉や突然変異を施すことで、次世代の個体を生成する。そのため、遺伝的アルゴリズムでは、必ずしも全個体が制約条件を満たす必要はない。しかしながら、遺伝的アルゴリズムでは、少なくとも個体群の半数以上が制約条件を満たすような条件で世代交代を進めていかなければ、確率的に、制約条件のクリアと目的関数の最小化を両立させることが難しくなる。言い換えれば、遺伝的アルゴリズムでは、不適合の割合が大きい場合、制約条件を満たしつつ最適解を得ることが困難となる。そこで、情報処理装置1は、ある世代の過半数の個体が制約条件を満たしている場合、突然変異が完全な乱数発生によるものであれば、確率的に制約条件を満たす方向へ次世代の個体群が進化していくことを利用し、制約条件を動的に変化させながら世代ごとに設定する。
さらに、本実施の形態における情報処理装置1は、当世代の各個体についての評価の結果が当世代の制約条件値を満たすか否かを判定し、評価の結果が当世代の制約条件値を満たす個体のうち、突然変異(以下、突現変異処理と呼ぶ)によって生成された各個体の属性に基づいてオフセット(以下、所定のオフセットとも呼ぶ)を決定する。そして、情報処理装置1は、突然変異によって次世代の各個体を生成する際に用いる乱数に対して所定のオフセットを付加する。
すなわち、情報処理装置1は、突然変異を施すことによって子個体を生成する際に、制約条件を満たす確率がより高くなる分布を作り出す乱数を用いる。
これにより、情報処理装置1は、各個体の制約条件に対する不適合が評価後に判明する問題に対しても、効率的であってかつ再現が容易な最適化計算を行うことが可能になる。
[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。図7は、情報処理装置1のハードウエア構成を説明する図である。
情報処理装置1は、図7に示すように、プロセッサであるCPU101と、メモリ102と、外部インターフェース(I/Oユニット)103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
記憶媒体104は、例えば、最適化計算処理を行うためのプログラム110を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体104は、例えば、最適化計算処理を行う際に用いられる情報を記憶する記憶部130(以下、情報格納領域130とも呼ぶ)を有する。なお、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Sokid State Drive)であってよい。
CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行して最適化計算処理を行う。
外部インターフェース103は、例えば、ネットワークNWを介して操作端末2と通信を行う。
[情報処理システムの機能]
次に、情報処理システム10の機能について説明を行う。図8は、情報処理装置1の機能のブロック図である。
情報処理装置1は、図7に示すように、例えば、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、情報受付部111と、情報管理部112と、個体生成部113と、事前処理部114と、個体評価部115と、制約条件算出部116と、結果判定部117と、評価変更部118と、解選択部119と、オフセット決定部120と、オフセット付加部121と、終了判定部122とを含む各種機能を実現する。
また、情報処理装置1は、例えば、図8に示すように、集団データ131と、符号情報132とを情報格納領域130に記憶する。
情報受付部111は、例えば、設計者が操作端末2を介して入力した最適化計算処理の開始指示を受け付ける。また、情報受付部111は、例えば、設計者が操作端末2を介して入力した集団データ131を受け付ける。さらに、情報受付部111は、例えば、設計者が操作端末2を介して入力した各種情報(最適化計算に用いられる制約条件やパラメータ等)を受け付ける。そして、情報管理部112は、例えば、情報受付部111が受け付けた集団データ131や各種パラメータ(図示しない)を情報格納領域130に記憶する。
個体生成部113は、遺伝的アルゴリズムを用いることにより、前世代において選択された個体を親個体として当世代の個体を生成する。すなわち、個体生成部113は、世代ごとに、遺伝的アルゴリズムにおける遺伝子操作によって新たな個体を生成する。なお、遺伝的操作は、例えば、比較的優れた個体に対して交叉や突然変異を施す操作である。
具体的に、個体生成部113は、情報格納領域130に記憶された集団データ131の中からランダムに個体(初期個体)を選択し、選択した個体に対して遺伝的操作を行うことにより、所定数の第1世代の個体を生成する。
また、個体生成部113は、第2世代以降において、遺伝的操作対象となる親個体を、前世代において選択された個体の中から選択する。個体生成部113は、例えば、バイナリトーナメント選択を行うことにより、前世代において選択された個体から親個体を選択する。バイナリトーナメントは、前世代において選択された個体から一定数の個体をランダムに取り、その中で最も適用度の高いものを親個体として選択する処理である。そして、個体生成部113は、選択した親個体に対して、遺伝的操作である交叉や突然変異を施して子個体を生成する。その後、情報管理部112は、個体生成部113が生成した子個体のうち、突然変異を施して生成した子個体を生成する際に用いた乱数の符号を示す情報(以下、符号情報132とも呼ぶ)を情報格納領域130に記憶する。符号情報132の具体例については後述する。
事前処理部114は、制約条件のうちの予め設定されている制約条件(以下、事前制約条件とも呼ぶ)に適合するように、当世代の各個体(例えば、各個体の設計変数)を修正する。
個体評価部115は、所定の関数を用いることによって、当世代の各個体を評価する。具体的に、個体評価部115は、シミュレーション等を行うことによって、当世代の各個体の特性を評価する。各個体の特性は、例えば、最適化計算処理における目的関数に対応する特性値や制約条件に対応する特性値である。
制約条件算出部116は、当世代の一つ前の世代の制約条件値と、当世代の個体の半数以上が達成する制約条件暫定値とに基づいて、当世代の制約条件値を設定する。
また、制約条件算出部116は、当世代が第1世代である場合、第1世代の制約条件値として、制約条件暫定値よりも小さい値を設定する。すなわち、制約条件算出部116は、この場合、制約条件を満たす個体の割合がより増えるように制約条件値を設定する。
結果判定部117は、当世代の各個体について、評価結果が当世代の制約条件値を満たすか否かを判定する。
評価変更部118は、当世代の制約条件値を満たさない個体の評価結果を低下させる変更を行う。すなわち、評価変更部118は、結果判定部117が当世代の制約条件値を満たさないと判定した個体の淘汰を促進するために、この個体の評価結果が低下させる。具体的に、評価変更部118は、例えば、制約条件を満たさないと判定された個体のランキングまたは評価値を低下させる。なお、評価変更部118は、制約条件値を満たさないと判定された個体を削除するものであってもよい。
解選択部119は、例えば、結果判定部117による処理が実行された個体(評価変更部118による処理がさらに実行された個体を含む)の中から、解候補となる個体を選択する。具体的に、解選択部119は、例えば、結果判定部117による処理が実行された個体と、当世代の一つ前世代でパレート解候補とされた個体との中からパレート解を選択し、端切り処理による解候補選択またはランキングによる解候補選択を行う。
オフセット決定部120は、評価結果が当世代の制約条件値を満たすと結果判定部117が判定した個体のうち、個体生成部113が突然変異によって生成した各個体の属性に基づいて所定のオフセットを決定する。各個体の属性は、例えば、突然変異において各個体に対して付加された乱数の符号である。オフセット決定部120による処理の詳細については後述する。
オフセット付加部121は、突然変異によって次世代の各個体を生成する際に用いる乱数に対して所定のオフセットを付加する。オフセット決定部120による処理の詳細については後述する。
終了判定部122は、最適化計算処理の終了条件を満たすか否かを判定する。具体的に、終了判定部122は、処理を行った当世代が世代数の上限に達したか否かを判定する。
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。図9は、第1の実施の形態における最適化計算処理の概略を説明するフローチャート図である。具体的に、図9は、第i世代において行われる処理を説明する図である。
情報処理装置1は、図9に示すように、第i世代についての最適化計算処理を実行するタイミングになるまで待機する(S1のNO)。具体的に、情報処理装置1は、例えば、設計者が操作端末2を介して最適化計算処理の実行を開始する旨を入力するまで待機する。また、情報処理装置1は、例えば、第i-1世代についての最適化計算処理の実行が完了するまで待機する。
そして、第i世代についての最適化計算処理を実行するタイミングになった場合(S1のYES)、情報処理装置1は、前世代において選択された個体を親個体として当世代の個体を生成する(S2)。
続いて、情報処理装置1は、所定の評価関数を用いることにより、当世代の各個体を評価する(S3)。
次に、情報処理装置1は、前世代の制約条件値と、当世代の個体の半数以上が達成する制約条件暫定値とに基づいて、当世代の制約条件値を算出する(S4)。
そして、情報処理装置1は、当世代の各個体についての評価の結果が当世代の制約条件値を満たすか否かを判定し、評価の結果が当世代の制約条件値を満たす個体のうち、突然変異によって生成された各個体の属性に基づいて所定のオフセットを決定する(S5)。
その後、情報処理装置1は、突然変異によって次世代の各個体を生成する際に用いる乱数に対して所定のオフセットを付加する(S6)。
これにより、情報処理装置1は、各個体の制約条件に対する不適合が評価後に判明する問題に対しても、効率的であってかつ再現が容易な最適化計算を行うことが可能になる。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図10から図14は、第1の実施の形態における最適化計算処理の詳細を説明するフローチャート図である。また、図15から図22は、第1の実施の形態における最適化計算処理の詳細を説明する図である。なお、以下、処理が行われている世代を示す変数をiとし、iの初期値が1であるものとして説明を行う。
情報処理装置1の情報受付部111は、図10に示すように、最適化計算処理実行タイミングになるまで待機する(S11のNO)。最適化計算処理実行タイミングは、例えば、設計者が操作端末2を介して最適化計算処理の実行を開始する旨の入力を行ったタイミングであってよい。
そして、最適化計算処理実行タイミングになった場合(S11のYES)、情報処理装置1の個体生成部113は、情報格納領域130に記憶された集団データ131に含まれる初期個体から第1世代の評価個体を生成する(S12)。
具体的に、個体生成部113は、情報格納領域130に記憶された集団データ131の中からランダムに個体を選択し、選択した個体に対して遺伝的操作を行うことにより、所定数の第1世代の個体を生成する。さらに具体的に、個体生成部113は、例えば、集団データ131の中から選択した1つの個体に対して遺伝的操作を行うことにより、第1世代の個体として100個の個体を生成する。なお、ここでの乱数発生は0中心であり、確率的に正値と負値とが同数になるように実施される。
その後、情報管理部112は、S12の処理で第1世代の個体を生成する際に用いた乱数の符号情報132を設計変数ごとにソートして情報格納領域130に記憶する(S13)。
具体的に、情報管理部112は、S12の処理で生成された第1世代の個体のうち、突然変異を施すことによって生成された個体を特定する。そして、情報管理部112は、特定した個体の生成に用いられた乱数の符号情報132を情報格納領域130に記憶する。
また、情報管理部112は、S12の処理で生成した第1世代の個体を解候補(図示しない)として情報格納領域130に記憶する(S13)。以下、符号情報132の具体例について説明を行う。
[符号情報の具体例]
図15及び図16は、符号情報132の具体例を説明する図である。具体的に、図15は、設計変数ごとにソートする前の符号情報132(個体ごとに集計された状態の符号情報132)の具体例を説明する図である。また、図16は、設計変数ごとにソートした後の符号情報132(S13の処理で情報格納領域130に記憶される状態の符号情報132)の具体例を説明する図である。
初めに、設計変数ごとにソートする前の符号情報132の具体例について説明を行う。
図15に示す符号情報132は、各個体を識別する情報が記憶される「個体」と、各個体の設計変数を識別する情報が記憶される「設計変数」と、各設計変数に対応する乱数符号が記憶される「乱数符号」とを項目として有する。
具体的に、図15に示す符号情報132において、例えば、「個体」が「A」であって「設計変数」が「X(A)」である情報(1行目の情報)には、「乱数符号」として「+」が記憶されている。すなわち、この情報は、個体Aの設計変数Aに与えられた乱数の符号が正であることを示している。
また、図15に示す符号情報132において、例えば、「個体」が「A」であって「設計変数」が「X(B)」である情報(2行目の情報)には、「乱数符号」として「-」が記憶されている。すなわち、この情報は、個体Aの設計変数Bに与えられた乱数の符号が負であることを示している。
さらに、図15に示す符号情報132において、例えば、「個体」が「A」であって「設計変数」が「X(A)」である情報(5行目の情報)には、「乱数符号」として「-」が記憶されている。すなわち、この情報は、個体Aの設計変数Aに与えられた乱数の符号が負であることを示している。図15に含まれる他の情報についての説明は省略する。
次に、設計変数ごとにソートした後の符号情報132の具体例について説明を行う。
図16に示す符号情報132は、各個体の設計変数を識別する情報が記憶される「設計変数」と、各設計変数に対応する乱数符号が記憶される「乱数符号」とを項目として有する。
具体的に、図16に示す符号情報132において、例えば、「設計変数」が「X(A)」である情報(1行目の情報)には、「乱数符号」として「+」が記憶されている。すなわち、この情報は、個体Aの設計変数Aに与えられた乱数の符号が正であることを示している。
また、図16に示す符号情報132において、例えば、「設計変数」が「X(A)」である情報(2行目の情報)には、「乱数符号」として「-」が記憶されている。すなわち、この情報は、個体Aの設計変数Aに与えられた乱数の符号が負であることを示している。
さらに、図16に示す符号情報132において、例えば、「設計変数」が「X(B)」である情報(5行目の情報)には、「乱数符号」として「-」が記憶されている。すなわち、この情報は、個体Aの設計変数Bに与えられた乱数の符号が負であることを示している。図16に含まれる他の情報についての説明は省略する。
図10に戻り、情報処理装置1の事前処理部114は、S12の処理または後述するS54の処理で生成した第i世代の個体に対して事前処理を行う(S14)。具体的に、事前処理部114は、寸法制約等が予め設定されている事前制約条件に適合するように、第i世代の各個体の設計変数を修正する。
そして、情報処理装置1の個体評価部115は、S14の処理で事前処理を行った第i世代の個体に対して評価処理を行う(S15)。具体的に、個体評価部115は、例えば、シミュレーションを行うことによって第i世代の各個体の特性を評価する。
続いて、情報処理装置1の制約条件算出部116は、S15の処理で評価処理を行った第i世代の個体の半数以上が達成する制約条件暫定値L´を特定する(S16)。
次に、制約条件算出部116は、図11に示すように、最適化計算処理において実行されている処理が第1世代についての処理であるか否かを判定する(S21)。
その結果、最適化計算処理において実行されている処理が第1世代についての処理でないと判定した場合(S21のYES)、制約条件算出部116は、下記の式(1)を用いて第i世代の制約条件値Lを特定する(S22)。
=(1-K)×L-1+K×L´ ・・・(式1)
上記の以下の式(1)において、Lは、当世代(第i世代)の制約条件値を示し、Li-1は、一つ前の世代(第i-1世代)の制約条件値を示し、L´は、当世代(第i世代)の個体の半数以上が達成する制約条件暫定値を示し、Kは、進化の進度に関する任意の係数(0<K≦1)を示している。
すなわち、制約条件算出部116は、次世代の個体生成に用いる個体の半数以上が達する値を用いることにより、制約条件を世代ごとに動的に変更する。
ここで、半数以上の個体が制約条件に適合している場合、次世代の個体は、確率的に制約条件を満たす方向に進化していく。そのため、制約条件算出部116は、計算量とのトレードオフを取って、例えば、当世代の個体の60(%)以上が達成する値や当世代の個体の70(%)以上が達成する値を制約条件暫定値L´としてもよい。
また、係数Kは、例えば、情報処理装置1のリソースや計算時間との関係に基づいて決定されるものであってよい。また、係数Kは、全ての世代で同一に設定されるものであってもよいし、世代ごとに更新されるものであってもよい。
なお、係数Kが大きい場合、個体の進化は速く進み、この値が小さい場合、個体の進化は緩やかに進む。具体的に、例えば、係数Kを0.3程度に抑えた場合には、安定した進化、すなわち、より制約条件を満たす個体の割合を増やすように進化を進めることが見込める。一方、例えば、係数Kを0.7程度まで上げた場合には、進化が早く進むようになり、計算時間を短縮することが見込める。
図11に戻り、最適化計算処理において実行されている処理が第1世代についての処理であると判定した場合(S21のNO)、制約条件算出部116は、S16の処理で特定した制約条件暫定値L´よりも小さい値を第1世代の制約条件値Lとして特定する(S23)。
続いて、制約条件算出部116は、S22の処理またはS23の処理で特定された第i世代の制約条件値Lが最終目標とする制約条件値Ltgt(以下、目標制約値Ltgtとも呼ぶ)よりも大きいか否かを判定する(S24)。
その結果、第i世代の制約条件値Lが目標制約値Ltgtよりも大きいと判定した場合(S24のYES)、制約条件算出部116は、目標制約値Ltgtを第i世代の制約条件値Lとして特定する(S25)。
一方、第i世代の制約条件値Lが目標制約値Ltgtよりも大きくないと判定した場合(S24のNO)、または、S25の処理の後、情報処理装置1の結果判定部117は、図12に示すように、S15の処理で評価処理を行った第i世代の個体のそれぞれについて、S22の処理等で特定した制約条件値Lを満たすか否かを判定する(S31)。以下、S31の処理の具体例について説明を行う。
[S31の処理の具体例]
図17は、S31の処理の具体例を説明する図である。図17に示す例は、図16で説明した符号情報132に、S31の処理の結果を示す情報が記憶される項目である「結果」が付加された情報である。なお、「結果」には、制約条件値Lを満たす個体であることを示す「〇」、または、制約条件値Lを満たさない個体であることを示す「×」が設定される。
具体的に、図17に示す例において、「設計変数」に「X(A)」が記憶されている情報(2行目の情報)や「設計変数」に「X(B)」が記憶されている情報(6行目の情報)には、「結果」として「×」がそれぞれ記憶されている。すなわち、図17に示す例は、第i世代の個体のうち、個体Aが制約条件を満たさない個体であったことを示している。
図12に戻り、情報処理装置1の評価変更部118は、S15の処理で評価処理を行った第i世代の個体のうち、S31の処理で制約条件値Lを満たさないと判定した個体の評価について評価変更処理を行う。(S32)。
具体的に、評価変更部118は、S31の処理で制約条件値Lを満たさないと判定した個体の評価結果を低下させる変更を行う。以下、S32の処理の具体例について説明を行う。
[S32の処理の具体例]
図18は、S32の処理の具体例を説明する図である。以下、2目的最適化のアルゴリズムとしてSPEA2(Strength Pareto Evolutionary Algorithm-2)を用いた場合について説明を行う。多目的最適化アルゴリズムでは、一般的に、解にランキングを付与することによって適合度判定を行う。この場合、数字が小さいほうが高ランクとなり、0がパレート最適解となる。
図18(A)は、磁界シミュレーションの直後に、目的関数をx軸(損失)、y軸(体積)として個体のプロットを行った場合の結果を説明する図である。図18(A)に示す例において、網掛けのプロットは、S31の処理で制約条件値Lを満たさないと判定した個体を示しており、白抜きのプロットは、S31の処理で制約条件値Lを満たすと判定した個体を示している。また、図18(A)に示す例において、各プロットの右肩には、評価値のランキングを示す数字が記載されている。
図18(A)に示すように、SPEA2では、左下に他の解が存在しない(少ない)個体(例えば、個体IやI)ほど、高評価となりランキングと呼ばれる指標が小さい値となる。しかしながら、例えば、個体IやIは、制約条件値Lを満たしていないにもかかわらず、ランキングが高位になってしまう。これに対し、例えば、個体Iは、制約条件値Lを満たしているにもかかわらず過小評価となる。
そこで、評価変更部118は、図18(B)に示すように、例えば、制約条件を満たさなかった個体を対象外にする。具体的には、情報処理装置1は、制約条件値Lを下回る個体を除外した後に、残った個体に対してランキングの付与を行う。具体的に、評価変更部118は、図18(B)に示すように、インダクタンスが制約条件値L未満である個体I,I,Iを除外する。この結果、図18(B)に示す例では、インダクタンスが制約条件値L以上である個体I,I,Iがパレート最適解となる。
このように、評価変更部118は、制約条件を満たさなかった個体に対して意図的に大きな(悪い評価)を与えることで、個体の淘汰を促進させる。
図12に戻り、情報処理装置1のオフセット決定部120は、情報格納領域130に記憶された符号情報132を参照し、S15の処理で評価処理を行った個体のうち、S22の処理等で特定した制約条件値Lを満たすと判定した個体についての符号を設計変数ごとに特定する(S33)。
そして、オフセット決定部120は、S33の処理で特定した符号の割合から設計変数ごとのオフセットを決定する(S34)。以下、S34の処理の具体例について説明を行う。
[S34の処理の具体例]
図19は、S34の処理の具体例を説明する図である。図19に示す例は、図17で説明した情報に、S31の処理で制約条件値Lを満たすと判定した個体の設計変数であって、S33の処理で特定された符号が正である設計変数の個数を設計変数ごとに記憶する「正値数」と、S31の処理で制約条件値Lを満たすと判定した個体の設計変数であって、S33の処理で特定された符号が負である設計変数の個数を設計変数ごとに記憶する「負値数」とが付加された情報である。
なお、以下、突然変異によって生成される子個体の数がN(個)であるものとし、設計変数Aから設計変数Jにそれぞれ与えた乱数の正値の割合がαA~Jであるものとして説明を行う。すなわち、以下、例えば、設計変数Aに与えた正値の乱数の個数がαN(個)であり、設計変数Aに与えた負値の乱数の個数が(1-α)N(個)であるものとして説明を行う。
具体的に、図19に示す情報において、設計変数Aに対応する情報(例えば、X(A)やX(A))が「設計変数」に記憶された情報の「正値数」及び「負値数」には、それぞれ「P」及び「Q」が記憶されている。
また、図19に示す情報において、設計変数Bに対応する情報(例えば、X(B)やX(B))が「設計変数」に記憶された情報の「正値数」及び「負値数」には、それぞれ「P」及び「Q」が記憶されている。図19に含まれる他の情報についての説明は省略する。
そして、オフセット決定部120は、S34の処理において、例えば、図19で説明した情報を参照し、設計変数ごとに、S33の処理で特定された符号が正である設計変数のうち、S31の処理で制約条件値Lを満たすと判定した個体の設計変数の割合(以下、第1割合とも呼ぶ)を算出する。
具体的に、例えば、図19に示すように、設計変数AからJのそれぞれに対応する「正値数」の欄に記憶された個数がPA~Jである場合、オフセット決定部120は、設計変数Aから設計変数Jのそれぞれに対応する第1割合として、PA~J/αA~JN(以下、これをSA~Jとも表記する)を算出する。
また、オフセット決定部120は、S34の処理において、例えば、図19で説明した情報を参照し、設計変数ごとに、S33の処理で特定された符号が負である設計変数のうち、S31の処理で制約条件値Lを満たすと判定した評価個体の設計変数の割合(以下、第2割合とも呼ぶ)を算出する。
具体的に、例えば、図19に示すように、設計変数AからJのそれぞれに対応する「負値数」の欄に記憶された個数がQA~Jである場合、オフセット決定部120は、設計変数Aから設計変数Jのそれぞれに対応する第2割合として、QA~J/(1-αA~J)N(以下、これをTA~Jとも表記する)を算出する。
その後、オフセット決定部120は、設計変数Aから設計変数Jのそれぞれに対応するオフセットηA~Jのうち、第1割合が第2割合よりも大きい設計変数に対応するオフセットを、正のオフセット量からなるオフセットに決定する。また、オフセット決定部120は、設計変数Aから設計変数Jのそれぞれに対応するオフセットηA~Jのうち、第2割合が第1割合よりも大きい設計変数に対応するオフセットを、負のオフセット量からなるオフセットに決定する。
具体的に、例えば、SがTよりも大きい場合、オフセット決定部120は、設計変数Aに対応するオフセットηを、正のオフセット量からなるオフセットに決定する。また、例えば、SがTよりも小さい場合、オフセット決定部120は、設計変数Aに対応するオフセットηを、負のオフセット量からなるオフセットに決定する。
同様に、例えば、SがTよりも大きい場合、オフセット決定部120は、設計変数Bに対応するオフセットηを、正のオフセット量からなるオフセットに決定する。また、例えば、SがTよりも小さい場合、オフセット決定部120は、設計変数Bに対応するオフセットηを、負のオフセット量からなるオフセットに決定する。
なお、オフセット決定部120は、S34の処理において、例えば、第1割合と第2割合との差に応じて、各設計変数に対応するオフセットηA~Jのオフセット量を決定するものであってよい。以下、各設計変数に対応するオフセットηA~Jのオフセット量の決定方法の具体例について説明する。
[オフセット量の決定方法の具体例]
図20は、設計変数Aに対応するオフセットηのオフセット量の決定方法の具体例について説明する図である。
具体的に、オフセット決定部120は、例えば、図20(A)に示すように、オフセットηのオフセット量がSとTとの差に比例するように、オフセット量を決定するものであってよい。
また、オフセット決定部120は、例えば、図20(B)に示すように、オフセットηのオフセット量に上下限を設けるものであってもよい。
さらに、オフセット決定部120は、例えば、図20(C)及び19(D)に示すように、SとTとの差の絶対値が所定値を上回るまでの間、オフセットηのオフセット量を0にする(すなわち、不感帯を設ける)ものであってもよい。
図12に戻り、情報処理装置1の解選択部119は、S15の処理で評価処理を行った個体と、情報格納領域130に記憶された解候補(一つ前の世代でパレート解候補とされた個体)との中からパレート解選択を行う(S35)。
そして、解選択部119は、図13に示すように、S35の処理において選択されたパレート解の個数が予め定められた解候補数(以下、アーカイブ数とも呼ぶ)以上であるか否かを判定する(S41)。
その結果、S35の処理において選択されたパレート解の個数が解候補数以上である場合(S41のYES)、解選択部119は、ランキングによる解候補選択を行う(S42)。
一方、S35の処理において選択されたパレート解の個数が解候補数未満である場合(S41のYES)、解選択部119は、端切り処理による解候補選択を行う(S43)。
その後、情報処理装置1の終了判定部122は、最適化計算処理を行った世代数が予め定められた上限に到達したか否かを判定する(S44)。
その結果、最適化計算処理を行った世代数が上限に到達したと判定した場合(S44のYES)、情報処理装置1は、最適化計算処理を終了する。なお、情報処理装置1は、この場合、最後の世代で選択された解候補を最適解として操作端末2等に出力するものであってもよい。
一方、最適化計算処理を行った世代数が上限に到達していないと判定した場合(S44のNO)、終了判定部122は、図14に示すように、iに1を加算する(S51)。
その後、情報管理部112は、S42の処理等で選択した解候補を情報格納領域130に記憶する(S52)。すなわち、情報管理部112は、S42の処理等で選択した解候補をアーカイブする。
そして、情報処理装置1のオフセット付加部121は、第i世代(次世代)の個体を生成する際に用いる乱数に対し、S34の処理で決定したオフセットを付加する(S53)。以下、S53の処理の詳細について説明を行う。
[S53の処理の詳細]
図21は、S53の処理の詳細について説明する図である。具体的に、図21は、目標制約値Ltgtに達するまで第32世代の計算を要した最適化計算処理における設計変数Cの分布状態をプロットしたものである。なお、図21に示す例では、各世代の個体数が100(個)であるものとして説明を行う。
図21に示すように、制約条件の更新が行われている間(第1世代から第32世代までの間)については、設計変数Cの値が大局的に大きくなる方向(すなわち、一方向)に変化している。このことから、情報処理装置1は、個体に対して突然変異を施す場合に、一様乱数よりも制約条件を満たす方向に推移させることが可能な乱数を用いることで、さらに少ない世代数で制約条件を満たすことが可能になると判断できる。
そのため、オフセット付加部121は、S53の処理において、次世代の個体を生成する際に用いる乱数に対し、S34の処理で決定したオフセットを付加することにより、より制約条件を満たす方向に推移させることが可能な乱数を生成することが可能になる。
図14に戻り、個体生成部113は、S52の処理でオフセットを付加した乱数を用いた突然変異を含む遺伝子操作を行うことによって、第i世代(次世代)の個体を生成する(S54)。
具体的に、個体生成部113は、例えば、バイナリトーナメント選択を行うことによって親個体を選択する。そして、個体生成部113は、選択した親個体に対して交叉や突然変異を施すことによって次世代の個体を生成する。
さらに、情報管理部112は、S54の処理で個体を生成する際に用いた乱数の符号情報132を情報格納領域130に記憶する(S55)。その後、情報処理装置1は、S14以降の処理を再度行う。
なお、情報処理装置1は、制約条件値Lの更新区間が終了した場合(第i世代の制約条件値Lが目標制約値Ltgtに到達した場合)、オフセットηA~Jを付加した乱数の使用を停止し、0中心の一様分布の乱数の使用を開始するものであってよい。また、情報処理装置は、第i世代の制約条件値Lが目標制約値Ltgtにある程度近付いた場合に、オフセットηA~Jを付加した乱数の使用を停止し、0中心の一様分布の乱数の使用を開始するものであってよい。
[適用結果]
次に、本実施の形態における最適化計算処理をインダクタコアの形状最適化に適用した場合の結果について説明を行う。図22は、本実施の形態における最適化計算処理をインダクタコアの形状最適化に適用した場合の結果を説明する図である。具体的に、図22は、最適化計算処理を行った場合の更新プロファイルを説明する図である。
図22に示す例では、各世代の個体数が100(個)であり、次世代の個体生成に用いる個体数(アーカイブ数)が50(個)であるものとして説明を行う。また、図22に示す例では、目標制約値Ltgtが45(μH)であるものとして説明を行う。なお、図22に示す例では、実線が本実施の形態における最適化計算処理を行った場合の更新プロファイルを示しており、破線が従来の最適化計算処理(特開2014-160399号公報に記載された処理)を行った場合の更新プロファイルを示している。
具体的に、図22の破線で示す例は、従来の最適化計算処理が行われた場合、制約条件値Lが目標制約値Ltgtに達するまでに第60世代以上の計算を要することを示している。一方、図22の実線で示す例は、本実施の形態における最適化計算処理が行われた場合、第30世代未満の計算で制約条件値Lが目標制約値Ltgtに達することを示している。
すなわち、図22に示す例は、本実施の形態における最適化計算処理を用いた場合、制約条件値Lが従来よりも速く目標制約値Ltgtに達することを示している。そのため、情報処理装置1は、本実施の形態における最適化計算処理を用いることで、従来よりも計算回数を削減することが可能になる。
このように、本実施の形態における情報処理装置1は、複数の個体を世代ごとに進化させながら最適解を求める遺伝的アルゴリズム等のアルゴリズムを用いることにより、前世代において選択された個体を親個体として当世代の個体を生成する。そして、情報処理装置1は、所定の評価関数を用いることにより、当世代の各個体を評価する。その後、前世代の制約条件値と、当世代の個体の半数以上が達成する制約条件暫定値とに基づいて、当世代の制約条件値を算出する。
さらに、本実施の形態における情報処理装置1は、当世代の各個体についての評価の結果が当世代の制約条件値を満たすか否かを判定し、評価の結果が当世代の制約条件値を満たす個体のうち、突然変異によって生成された各個体の属性に基づいて所定のオフセットを決定する。そして、情報処理装置1は、突然変異によって次世代の各個体を生成する際に用いる乱数に対して所定のオフセットを付加する。
これにより、情報処理装置1は、各個体の制約条件に対する不適合が評価後に判明する問題に対しても、効率的であってかつ再現が容易な最適化計算を行うことが可能になる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
複数の個体を世代ごとに進化させながら最適解を求めるアルゴリズムを用いることにより、前世代において選択された個体を親個体として当世代の個体を生成し、
所定の評価関数を用いることにより、前記当世代の各個体を評価し、
前記前世代の制約条件値と、前記当世代の個体の半数以上が達成する制約条件暫定値とに基づいて、前記当世代の制約条件値を算出し、
前記当世代の各個体についての前記評価の結果が前記当世代の制約条件値を満たすか否かを判定し、
前記評価の結果が前記当世代の制約条件値を満たす個体のうち、突然変異を発生させる処理によって生成された各個体の属性に基づいて所定のオフセットを決定し、
前記突然変異を発生させる処理によって次世代の各個体を生成する際に用いる乱数に対して前記所定のオフセットを付加する、
処理をコンピュータに実行させることを特徴とする最適化計算方法。
(付記2)
付記1において、
前記属性は、前記突然変異を発生させる処理において各個体に対して付加された前記乱数の符号である、
ことを特徴とする最適化計算方法。
(付記3)
付記2において、さらに、
前記当世代の個体のうち、前記突然変異を発生させる処理によって生成された各個体に対応する前記乱数の符号を記憶部に記憶する、
処理をコンピュータに実行させ、
前記決定する処理では、前記記憶部に記憶された前記符号を参照し、前記所定のオフセットの決定を行う、
ことを特徴とする最適化計算方法。
(付記4)
付記3において、
前記決定する処理では、
前記記憶部に記憶された前記符号が正である個体のうち、前記当世代の制約条件値を満たす個体の割合である第1割合と、前記記憶部に記憶された前記符号が負である個体のうち、前記当世代の制約条件値を満たす個体の割合である第2割合とを算出し、
前記第1割合が前記第2割合よりも大きい場合、前記所定のオフセットを正のオフセット量からなるオフセットに決定し、前記第2割合が前記第1割合よりも大きい場合、前記所定のオフセットを負のオフセット量からなるオフセットに決定する、
ことを特徴とする最適化計算方法。
(付記5)
付記4において、
前記決定する処理では、前記第1割合と前記第2割合との差に応じて、前記所定のオフセットのオフセット量を決定する、
ことを特徴とする最適化計算方法。
(付記6)
複数の個体を世代ごとに進化させながら最適解を求めるアルゴリズムを用いることにより、前世代において選択された個体を親個体として当世代の個体を生成する個体生成部と、
所定の評価関数を用いることにより、前記当世代の各個体を評価する個体評価部と、
前記前世代の制約条件値と、前記当世代の個体の半数以上が達成する制約条件暫定値とに基づいて、前記当世代の制約条件値を算出する制約条件算出部と、
前記当世代の各個体についての前記評価の結果が前記当世代の制約条件値を満たすか否かを判定する結果判定部と、
前記評価の結果が前記当世代の制約条件値を満たす個体のうち、突然変異を発生させる処理によって生成された各個体の属性に基づいて所定のオフセットを決定するオフセット決定部と、
前記突然変異を発生させる処理によって次世代の各個体を生成する際に用いる乱数に対して前記所定のオフセットを付加するオフセット付加部と、を有する、
ことを特徴とする最適化計算装置。
(付記7)
付記6において、
前記属性は、前記突然変異を発生させる処理において各個体に対して付加された前記乱数の符号である、
ことを特徴とする最適化計算装置。
(付記8)
付記7において、さらに、
前記当世代の個体のうち、前記突然変異を発生させる処理によって生成された各個体に対応する前記乱数の符号を記憶する記憶部を有し、
前記オフセット決定部は、前記記憶部に記憶された前記符号を参照し、前記所定のオフセットの決定を行う、
ことを特徴とする最適化計算装置。
(付記9)
付記8において、
前記オフセット決定部は、
前記記憶部に記憶された前記符号が正である個体のうち、前記当世代の制約条件値を満たす個体の割合である第1割合と、前記記憶部に記憶された前記符号が負である個体のうち、前記当世代の制約条件値を満たす個体の割合である第2割合とを算出し、
前記第1割合が前記第2割合よりも大きい場合、前記所定のオフセットを正のオフセット量からなるオフセットに決定し、前記第2割合が前記第1割合よりも大きい場合、前記所定のオフセットを負のオフセット量からなるオフセットに決定する、
ことを特徴とする最適化計算装置。
(付記10)
複数の個体を世代ごとに進化させながら最適解を求めるアルゴリズムを用いることにより、前世代において選択された個体を親個体として当世代の個体を生成し、
所定の評価関数を用いることにより、前記当世代の各個体を評価し、
前記前世代の制約条件値と、前記当世代の個体の半数以上が達成する制約条件暫定値とに基づいて、前記当世代の制約条件値を算出し、
前記当世代の各個体についての前記評価の結果が前記当世代の制約条件値を満たすか否かを判定し、
前記評価の結果が前記当世代の制約条件値を満たす個体のうち、突然変異を発生させる処理によって生成された各個体の属性に基づいて所定のオフセットを決定し、
前記突然変異を発生させる処理によって次世代の各個体を生成する際に用いる乱数に対して前記所定のオフセットを付加する、
処理をコンピュータに実行させることを特徴とする最適化計算プログラム。
(付記11)
付記10において、
前記属性は、前記突然変異を発生させる処理において各個体に対して付加された前記乱数の符号である、
ことを特徴とする最適化計算プログラム。
(付記12)
付記11において、さらに、
前記当世代の個体のうち、前記突然変異を発生させる処理によって生成された各個体に対応する前記乱数の符号を記憶部に記憶する、
処理をコンピュータに実行させ、
前記決定する処理では、前記記憶部に記憶された前記符号を参照し、前記所定のオフセットの決定を行う、
ことを特徴とする最適化計算プログラム。
(付記13)
付記12において、
前記決定する処理では、
前記記憶部に記憶された前記符号が正である個体のうち、前記当世代の制約条件値を満たす個体の割合である第1割合と、前記記憶部に記憶された前記符号が負である個体のうち、前記当世代の制約条件値を満たす個体の割合である第2割合とを算出し、
前記第1割合が前記第2割合よりも大きい場合、前記所定のオフセットを正のオフセット量からなるオフセットに決定し、前記第2割合が前記第1割合よりも大きい場合、前記所定のオフセットを負のオフセット量からなるオフセットに決定する、
ことを特徴とする最適化計算プログラム。
1:情報処理装置 2:操作端末
NW:ネットワーク 10:情報処理システム
20:インダクタコア 21:コイル
22:E型コア 23:I型コア

Claims (7)

  1. 複数の個体を世代ごとに進化させながら最適解を求めるアルゴリズムを用いることにより、前世代において選択された個体を親個体として当世代の個体を生成し、
    所定の評価関数を用いることにより、前記当世代の各個体を評価し、
    前記前世代の制約条件値と、前記当世代の個体の半数以上が達成する制約条件暫定値とに基づいて、前記当世代の制約条件値を算出し、
    前記当世代の各個体についての前記評価の結果が前記当世代の制約条件値を満たすか否かを判定し、
    前記評価の結果が前記当世代の制約条件値を満たす個体のうち、突然変異を発生させる処理によって生成された各個体の属性に基づいて所定のオフセットを決定し、
    前記突然変異を発生させる処理によって次世代の各個体を生成する際に用いる乱数に対して前記所定のオフセットを付加する、
    処理をコンピュータに実行させることを特徴とする最適化計算方法。
  2. 請求項1において、
    前記属性は、前記突然変異を発生させる処理において各個体に対して付加された前記乱数の符号である、
    ことを特徴とする最適化計算方法。
  3. 請求項2において、さらに、
    前記当世代の個体のうち、前記突然変異を発生させる処理によって生成された各個体に対応する前記乱数の符号を記憶部に記憶する、
    処理をコンピュータに実行させ、
    前記決定する処理では、前記記憶部に記憶された前記符号を参照し、前記所定のオフセットの決定を行う、
    ことを特徴とする最適化計算方法。
  4. 請求項3において、
    前記決定する処理では、
    前記記憶部に記憶された前記符号が正である個体のうち、前記当世代の制約条件値を満たす個体の割合である第1割合と、前記記憶部に記憶された前記符号が負である個体のうち、前記当世代の制約条件値を満たす個体の割合である第2割合とを算出し、
    前記第1割合が前記第2割合よりも大きい場合、前記所定のオフセットを正のオフセット量からなるオフセットに決定し、前記第2割合が前記第1割合よりも大きい場合、前記所定のオフセットを負のオフセット量からなるオフセットに決定する、
    ことを特徴とする最適化計算方法。
  5. 請求項4において、
    前記決定する処理では、前記第1割合と前記第2割合との差に応じて、前記所定のオフセットのオフセット量を決定する、
    ことを特徴とする最適化計算方法。
  6. 複数の個体を世代ごとに進化させながら最適解を求めるアルゴリズムを用いることにより、前世代において選択された個体を親個体として当世代の個体を生成する個体生成部と、
    所定の評価関数を用いることにより、前記当世代の各個体を評価する個体評価部と、
    前記前世代の制約条件値と、前記当世代の個体の半数以上が達成する制約条件暫定値とに基づいて、前記当世代の制約条件値を算出する制約条件算出部と、
    前記当世代の各個体についての前記評価の結果が前記当世代の制約条件値を満たすか否かを判定する結果判定部と、
    前記評価の結果が前記当世代の制約条件値を満たす個体のうち、突然変異を発生させる処理によって生成された各個体の属性に基づいて所定のオフセットを決定するオフセット決定部と、
    前記突然変異を発生させる処理によって次世代の各個体を生成する際に用いる乱数に対して前記所定のオフセットを付加するオフセット付加部と、を有する、
    ことを特徴とする最適化計算装置。
  7. 複数の個体を世代ごとに進化させながら最適解を求めるアルゴリズムを用いることにより、前世代において選択された個体を親個体として当世代の個体を生成し、
    所定の評価関数を用いることにより、前記当世代の各個体を評価し、
    前記前世代の制約条件値と、前記当世代の個体の半数以上が達成する制約条件暫定値とに基づいて、前記当世代の制約条件値を算出し、
    前記当世代の各個体についての前記評価の結果が前記当世代の制約条件値を満たすか否かを判定し、
    前記評価の結果が前記当世代の制約条件値を満たす個体のうち、突然変異を発生させる処理によって生成された各個体の属性に基づいて所定のオフセットを決定し、
    前記突然変異を発生させる処理によって次世代の各個体を生成する際に用いる乱数に対して前記所定のオフセットを付加する、
    処理をコンピュータに実行させることを特徴とする最適化計算プログラム。
JP2018243292A 2018-12-26 2018-12-26 最適化計算方法、最適化計算装置及び最適化計算プログラム Active JP7137074B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018243292A JP7137074B2 (ja) 2018-12-26 2018-12-26 最適化計算方法、最適化計算装置及び最適化計算プログラム
US16/661,265 US11386332B2 (en) 2018-12-26 2019-10-23 Optimization calculation method and information processing apparatus
EP19205458.3A EP3674959A1 (en) 2018-12-26 2019-10-25 Optimization calculation method and information processing apparatus
CN201911094251.XA CN111382540A (zh) 2018-12-26 2019-11-11 优化计算方法和信息处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018243292A JP7137074B2 (ja) 2018-12-26 2018-12-26 最適化計算方法、最適化計算装置及び最適化計算プログラム

Publications (2)

Publication Number Publication Date
JP2020106957A JP2020106957A (ja) 2020-07-09
JP7137074B2 true JP7137074B2 (ja) 2022-09-14

Family

ID=68382198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018243292A Active JP7137074B2 (ja) 2018-12-26 2018-12-26 最適化計算方法、最適化計算装置及び最適化計算プログラム

Country Status (4)

Country Link
US (1) US11386332B2 (ja)
EP (1) EP3674959A1 (ja)
JP (1) JP7137074B2 (ja)
CN (1) CN111382540A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7456298B2 (ja) * 2020-06-04 2024-03-27 富士通株式会社 最適化装置、最適化方法、及び最適化プログラム
CN112069703B (zh) * 2020-08-17 2022-06-14 武汉大学 一种电磁线圈发射系统的预测优化设计方法
CN113158580B (zh) * 2021-05-10 2021-12-10 南京林业大学 实木板材的一维排样方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014160399A (ja) 2013-02-20 2014-09-04 Mitsubishi Heavy Ind Ltd 解探索装置、解探索方法及びプログラム、スケジュール生成装置、スケジュール生成方法及びプログラム、並びに充電制御システム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185720A (ja) 1997-09-05 1999-03-30 Toshiba Corp 最適解探索方法及び最適解探索装置
US6766497B2 (en) 2002-01-25 2004-07-20 Hewlett-Packard Development Company, L.P. Method and system for reproduction in a genetic optimization process
EP2076874A4 (en) * 2006-05-13 2011-03-09 Sap Ag DERIVED CONSISTENT SET OF INTERFACES DERIVED FROM A BUSINESS OBJECT MODEL
US8458107B2 (en) * 2010-06-30 2013-06-04 International Business Machines Corporation Generating constraint-compliant populations in population-based optimization
US8761658B2 (en) * 2011-01-31 2014-06-24 FastTrack Technologies Inc. System and method for a computerized learning system
CA2831135A1 (en) * 2011-03-31 2012-10-04 Coral Networks, Inc. System and method for the structuring and interpretation of organic computer programs
GB201118618D0 (en) * 2011-10-27 2011-12-07 Jaguar Cars Genetic algorithm optimisation process
US10085024B2 (en) * 2012-04-13 2018-09-25 Qualcomm Incorporated Lookup table for rate distortion optimized quantization
US10691775B2 (en) * 2013-01-17 2020-06-23 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
US9792405B2 (en) * 2013-01-17 2017-10-17 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
US20160171153A1 (en) * 2013-01-17 2016-06-16 Edico Genome, Inc. Bioinformatics Systems, Apparatuses, And Methods Executed On An Integrated Circuit Processing Platform
WO2016086744A1 (en) * 2014-12-02 2016-06-09 Shanghai United Imaging Healthcare Co., Ltd. A method and system for image processing
CN106250650A (zh) * 2016-08-15 2016-12-21 北京理工大学 高通量仿真中模型的资源分配与优化方法
US20190265976A1 (en) * 2018-02-23 2019-08-29 Yuly Goryavskiy Additional Channel for Exchanging Useful Information
CN108647820A (zh) * 2018-05-09 2018-10-12 国网山东省电力公司菏泽供电公司 基于改进粒子群算法的分布式电源选址定容优化方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014160399A (ja) 2013-02-20 2014-09-04 Mitsubishi Heavy Ind Ltd 解探索装置、解探索方法及びプログラム、スケジュール生成装置、スケジュール生成方法及びプログラム、並びに充電制御システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
大島 弘敬,AIシミュレーションによりエネルギー損失を最小にする磁性体形状を自動設計する技術,OHM 第105巻 第11号 ,日本,株式会社オーム社,2018年11月06日,第105巻,pp.48-51

Also Published As

Publication number Publication date
CN111382540A (zh) 2020-07-07
EP3674959A1 (en) 2020-07-01
JP2020106957A (ja) 2020-07-09
US20200210853A1 (en) 2020-07-02
US11386332B2 (en) 2022-07-12

Similar Documents

Publication Publication Date Title
Bajpai et al. Genetic algorithm–an approach to solve global optimization problems
JP7137074B2 (ja) 最適化計算方法、最適化計算装置及び最適化計算プログラム
US8700548B2 (en) Optimization technique using evolutionary algorithms
CN114186749B (zh) 基于强化学习及遗传算法的柔性车间调度方法及模型
US20130275351A1 (en) Controlling quarantining and biasing in cataclysms for optimization simulations
Liu et al. An adaptive online parameter control algorithm for particle swarm optimization based on reinforcement learning
US11367005B2 (en) Optimization calculation method and optimization calculation apparatus
CN110059015A (zh) 种群进化多目标测试用例优先级排序方法
CN112180853A (zh) 基于多种群策略的柔性作业车间调度混合优化方法
Papa Parameter-less algorithm for evolutionary-based optimization: For continuous and combinatorial problems
CN116627241A (zh) 一种优化服务器能耗的方法、系统、设备和存储介质
CN115617690A (zh) 基于改进自适应遗传算法的并行测试任务调度方法
CN114819728A (zh) 一种自适应局部搜索的柔性车间生产调度方法
Lu et al. Adaptive online data-driven closed-loop parameter control strategy for swarm intelligence algorithm
WO2022147583A2 (en) System and method for optimal placement of interacting objects on continuous (or discretized or mixed) domains
CN114065896A (zh) 基于邻域调整和角度选择策略的多目标分解进化算法
Templier et al. A geometric encoding for neural network evolution
Andersson et al. Pareto optimization using the struggle genetic crowding algorithm
CN112148030B (zh) 一种基于启发式算法的水下滑翔机路径规划方法
Fedorchenko et al. Modified genetic algorithm to determine the location of the distribution power supply networks in the city
Suganthan et al. Adaptation methods in differential evolution: A review
Li et al. Author's Accepted Manuscript
CN113554144A (zh) 用于多目标进化特征选择算法的自适应种群初始化方法和存储设备
CN117077605B (zh) 基于系统封装的工艺设计方法、装置、设备及存储介质
Wang et al. A hybrid genetic algorithm for multiobjective structural optimization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210909

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220729

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220815

R150 Certificate of patent or registration of utility model

Ref document number: 7137074

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150