JP2020030691A - 最適化システム及び最適化方法 - Google Patents

最適化システム及び最適化方法 Download PDF

Info

Publication number
JP2020030691A
JP2020030691A JP2018156620A JP2018156620A JP2020030691A JP 2020030691 A JP2020030691 A JP 2020030691A JP 2018156620 A JP2018156620 A JP 2018156620A JP 2018156620 A JP2018156620 A JP 2018156620A JP 2020030691 A JP2020030691 A JP 2020030691A
Authority
JP
Japan
Prior art keywords
node
value
variable
calculated
function
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.)
Granted
Application number
JP2018156620A
Other languages
English (en)
Other versions
JP2020030691A5 (ja
JP6966395B2 (ja
Inventor
三浦 誓士
Seishi Miura
誓士 三浦
純一 宮越
Junichi Miyakoshi
純一 宮越
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018156620A priority Critical patent/JP6966395B2/ja
Priority to US16/410,217 priority patent/US11574165B2/en
Publication of JP2020030691A publication Critical patent/JP2020030691A/ja
Publication of JP2020030691A5 publication Critical patent/JP2020030691A5/ja
Application granted granted Critical
Publication of JP6966395B2 publication Critical patent/JP6966395B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】目的関数の定義が困難な最適化問題に適用可能な演算手法を提供する。【解決手段】複数のノードから構成される対象システムを最適化する最適化システムであって、ノードは、ADMMを用いて、ノードを制御するパラメータを表す決定変数の最適値を算出する演算処理部と、学習処理によって構築された演算モデルに基づいて、決定変数の値の入力を受け付け、目的関数の値を算出する関数値算出部と、を有し、演算処理部は、任意の決定変数の値を関数値算出部に入力し、関数値算出部によって算出された目的関数の値及び任意の決定変数の値を、第一最適化問題の双対変換した第二最適化問題に代入することによって双対変数の値を算出する処理を、双対変数の値が条件を満たすまで繰り返し実行し、自ノード及び他のノードが算出した双対変数の値に基づいて、自ノードの決定変数の最適値を算出する。【選択図】図2

Description

本発明は、対象システムの最適化を実現するシステム及び方法に関する。
近年、社会インフラ及びシステムの効率的な運用の要求が増大している。具体的には、渋滞情報及び在庫情報等を利用して利益若しくは効果を最大化する配送計画及び生産計画の作成、有限な社会資源の効率的な分配計画の作成、又は、複雑なシステムの状態の把握等が求められている。
前述したような問題は、独立したサブシステム(ノード)が互いに影響を与えながら制御及び行動等を行うシステムにおける最適化問題として扱うことができる。当該最適化問題は、サブシステムの制御変数の組合せ、順序、及び値を決定するための処理である。
例えば、生産計画の作成する場合、演算機構は、需給及び生産効率等が変動する環境において、電力コスト及び二酸化炭素排出量等のシステムに係る制約を満たすように、工場における製品の生産量及び出荷数、並びに、製造機器の稼働時間等に対応する制御変数の値を決定する。
大規模なシステムの最適化問題の解析手法として分散最適化方法が知られている。その一つとして、交互方向乗数法(ADMM)がある。ADMMは、例えば、式(1)で表される最適化問題の解析手法として知られている。
添字iはサブシステムの識別番号を表し、また、変数xはサブシステムの決定変数を表す。変数zは式(2)で定義される。また、関数fは添字iのサブシステムにおける目的関数を表し、関数gは制約関数を表す。制約関数gはシステム全体に対して与えられる。なお、最小値の代わりに最大値を求める最適化問題も同様の形式で表される。ADMMの具体的なアルゴリズムは、例えば、非特許文献1に記載されている。
Figure 2020030691
Figure 2020030691
ADMMでは式(1)を最小又は最大とする決定変数xを求めるための演算手法である。ADMMを利用した技術として特許文献1に記載の技術が知られている。
特許文献1には、複数のワーカーノードを使用して、ADMMを反復して実行し、停止基準が満たされるまで、分類器の学習を実行することが記載されている。
米国特許第2017/0147020号明細書
Stephen Boyd 他2名、「Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers」、Foundations and Trends in Machine Learning、Vol.3, No.1, pp.1-122 (2010)
ADMMの演算を実行するためには目的関数を定義する必要がある。目的関数を定義するためには、サブシステムの振る舞い及びのサブシステム間の相互作用等を予め把握している必要がある。
しかし、複雑のシステム又はサブシステムの振る舞いが未知のシステムの場合、目的関数を定義できない可能性がある。また、サブシステムの追加及び削除が動的に行われ、また、サブシステム間の相互作用が動的に変更する場合、目的関数を再度定義する必要がある。
したがって、従来技術では、目的関数の定義が困難なシステム及び目的関数が動的に変化するシステムにADMMを適用することが困難であった。
本発明では、目的関数の定義が困難なシステム及び目的関数が動的に変化するシステムに対して適用できる最適化問題の演算手法及び当該演算手法を実現するシステムを提供する。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有する複数のノードから構成される対象システムを最適化する最適化システムであって、前記複数のノードの各々は、交互方向乗数法を用いて、前記複数のノードの各々を制御するパラメータを表す決定変数を変数とする目的関数及び制約関数により与えられる第一最適化問題の解として前記決定変数の最適値を算出する演算処理部と、前記決定変数の値及び前記目的関数の値から構成される学習データを用いた学習処理によって構築された演算モデルに基づいて、前記決定変数の値の入力を受け付け、前記目的関数の値を算出する関数値算出部と、前記演算処理部によって算出された前記決定変数の最適値に基づいて前記ノードを制御する制御部と、を有し、前記演算処理部は、任意の前記決定変数の値を前記関数値算出部に入力し、前記関数値算出部によって算出された前記目的関数の値及び前記任意の決定変数の値を、前記第一最適化問題の双対変換によって、双対変数を変数とする関数及び前記目的関数により与えられる第二最適化問題に代入することによって前記双対変数の値を算出する処理を、前記双対変数の値が所定の条件を満たすまで繰り返し実行し、前記ネットワークインタフェースを介して、他のノードによって算出された前記双対変数の値を取得して、前記メモリに格納し、自ノード及び前記他のノードが算出した前記双対変数の値に基づいて、前記自ノードの前記決定変数の最適値を算出して、前記メモリに格納する。
本発明によれば、目的関数の定義が困難なシステム及び目的関数が動的に変化するシステムに適用できる最適化問題の演算手法を実現できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
実施例1の最適化対象のシステムの構成例を示す図である。 実施例1のノードの構成の一例を示す図である。 実施例1のノード接続情報のデータ構造の一例を示す図である。 実施例1のノードが実行するニューラルネットワークの構築処理の一例を説明するフローチャートである。 実施例1のノードが実行する決定変数算出処理の一例を示すフローチャートである。 実施例2のシステムに新規ノードが追加される場合に実行される処理の流れを説明するシーケンス図である。 実施例3のシステムから削除ノードが削除される場合に実行される処理の流れを説明するシーケンス図である。 実施例4のノードが実行する論理接続変更処理の概要を説明するフローチャートである。 実施例4のノードが生成する候補ノードリストのデータ構造の一例を示す図である。 実施例4のノードが実行する候補ノードリスト生成処理の一例を説明するフローチャートである。 実施例4のノードが実行する接続ノード選択処理の一例を説明するフローチャートである。
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
図1は、実施例1の最適化対象のシステムの構成例を示す図である。
システム10は、複数のノード100から構成される。図1のノード100の数字は、ノード100の識別情報(識別番号)を表す。複数のノード100は最適化の対象となるシステム(対象システム)を構成する。また、対象システムにおいて、相互作用するノード100間の接続はノードネットワークを形成する。
相互作用するノード100とは、後述する双対変数yの値を取得するノード100を表す。ノードネットワークは、LAN(Local Area Network)及びWAN(Wide Area Network)等の物理的な通信ネットワークとは異なるネットワークである。以下の説明では、相互作用するノード100間の接続を論理接続と記載する。また、任意のノード100と論理接続を介して接続されるノード100を接続ノード100と記載する。
ノード100は、最適化問題の演算を実行することによってノード100の行動及び処理等を制御するためのパラメータである決定変数の値を算出し、当該決定変数の値に基づいた制御を行う。具体的には、ノード100は、式(1)から算出される決定変数xの値に基づいて制御を行う。なお、本発明は、ノード100が行う制御の内容に限定されない。
実施例1では、最適化問題の解析手法としてADMMを用いる。実施例1のADMMでは、式(1)に示す主問題を式(3)に示す双対問題に変換し、双対問題から決定変数xの値を算出する。
Figure 2020030691
より具体的には、ノード100は、終了条件を満たすまで、決定変数x及び双対変数yを交互に更新することによって最適解となる決定変数xを算出する。当該アルゴリズムを実現する処理については図4で説明する。
従来は、予め目的関数f(x)を与える必要があった。実施例1では、目的関数f(x)をニューラルネットワークに置き換えることによって、目的関数f(x)の値(目的関数値)を算出する。
図2は、実施例1のノード100の構成の一例を示す図である。
ノード100は、ハードウェアとしてプロセッサ200、メモリ201、及びネットワークインタフェース202を備える。各ハードウェアは内部バスを介して互いに接続される。
プロセッサ200は、メモリ201に格納されるプログラムを実行する。プロセッサ200がプログラムにしたがって処理を実行することによって、特定の機能を実現するモジュールとして動作する。以下の説明では、モジュールを主語に処理を説明する場合、プロセッサ200が当該モジュールを実現するプログラムを実行していることを示す。
メモリ201は、プロセッサ200が実行するプログラム及びプログラムが使用する情報を格納する。また、メモリ201は、プログラムが一時的に使用するワーク襟を含む。メモリ201に格納されるプログラム及び情報については後述する。
ネットワークインタフェース202は、通信ネットワークを介して外部装置と通信するためのインタフェースである。
ここで、メモリ201に格納されるプログラム及び情報について説明する。メモリ201は、制御モジュール210、学習モジュール211、ADMM演算モジュール212、及び目的関数値算出モジュール213を実現するプログラムを格納する。また、メモリ201は、ノード接続情報220及び履歴情報221を格納する。
制御モジュール210は、ノード100全体を管理する。学習モジュール211は、目的関数値算出モジュール213が使用するニューラルネットワークを構築するための学習処理を実行する。ADMM演算モジュール212は、ADMMに基づいて決定変数xを算出する。目的関数値算出モジュール213は、学習処理によって構築された演算モデルであるニューラルネットワークを用いて、目的関数値を算出する。なお、各ノード100には、初期ニューラルネットワークが設定されている。ただし、学習モジュール211によってニューラルネットワークは更新される。
ノード接続情報220は、ノードネットワークを管理するための情報である。ノード接続情報220の詳細は図3を用いて後述する。履歴情報221は、過去に算出された決定変数xの値及び目的関数値を管理するための情報である。例えば、履歴情報221には、タイムスタンプと、決定変数xの値及び目的関数値とから構成される履歴データが格納される。
なお、ノード100が有する各モジュールについては、複数のモジュールを一つのモジュールにまとめてもよいし、一つのモジュールを機能毎に複数のモジュールに分けてもよい。例えば、制御モジュール210及びADMM演算モジュール212を一つのモジュールとしてもよいし、ADMM演算モジュール212及び目的関数値算出モジュール213を一つのモジュールとしてもよい。
図3は、実施例1のノード接続情報220のデータ構造の一例を示す図である。
ノード接続情報220は、自ノード100と相互作用するノード100、すなわち、自ノード100と論理接続を形成するノード100に対応するエントリを格納する。エントリは、ノードID301及びアドレス302から構成される。なお、エントリの構成は一例であって、これに限定されない。例えば、エントリは、相互作用の強さ(論理接続の強さ)及びノード100間の距離等を格納するフィールドを含んでもよい。
ノードID301は、自ノード100と相互作用するノード100の識別情報を格納するフィールドである。アドレス302は、ノードID301に対応するノード100と通信するためのアドレスを格納するフィールドである。
図4は、実施例1のノード100が実行するニューラルネットワークの構築処理の一例を説明するフローチャートである。
ノード100の制御モジュール210は、実行契機を検知した場合、学習モジュール211に学習処理の実行を指示する。例えば、制御モジュール210は、実行周期の経過、又は外部からの実行要求の受信を実行契機として検知する。
学習モジュール211は、履歴情報221から履歴データを取得する(ステップS101)。
学習モジュール211は、履歴情報221に格納される全ての履歴データを取得してもよいし、タイムスタンプが新しい順に所定の数の履歴データを取得してもよい。また、学習モジュール211は、タイムスタンプが任意の時間範囲に含まれる履歴データを取得してもよい。
なお、取得する履歴データは、ノード100の処理能力、ノード100の制御の開始までに要する時間等に応じて決定される。
次に、学習モジュール211は、履歴データを用いて、ニューラルネットワークを構築するための学習処理を実行する(ステップS102)。実施例1では、履歴データを学習データとして用いる学習処理が実行される。学習モジュール211は、決定変数xの値の入力に対して目的関数値を出力するニューラルネットワークを構築する。なお、学習処理は公知のものであるため詳細な説明は省略する。
次に、学習モジュール211は、構築されたニューラルネットワークを目的関数値算出モジュール213に出力し(ステップS103)、処理を終了する。
このとき、目的関数値算出モジュール213は、現在のニューラルネットワークを、新たなニューラルネットワークに更新する。目的関数値算出モジュール213は、ニューラルネットワークを保持していない場合、入力されたニューラルネットワークを設定する。
図5は、実施例1のノード100が実行する決定変数算出処理の一例を示すフローチャートである。
ノード100の制御モジュール210は、周期的に、又は、外部から指示を受け付けた場合、ADMM演算モジュール212に処理の実行を指示する。ADMM演算モジュール212は、変数sup_value、min_value、tmp_1、tmp_2、y_localを初期化した後、以下の処理を開始する。
ADMM演算モジュール212は、履歴情報221を参照して、双対変数yの値を選択する(ステップS201)。また、ADMM演算モジュール212は、決定変数xの値を選択する(ステップS202)。
なお、双対変数y及び決定変数xのそれぞれが取り得る値の範囲は予め設定されているものとする。
次に、ADMM演算モジュール212は、目的関数値の算出指示を目的関数値算出モジュール213に出力する(ステップS203)。このとき、目的関数値算出モジュール213は、ニューラルネットワークに決定変数xの値を入力することによって、目的関数値を算出する。
次に、ADMM演算モジュール212は、式(4)に目的関数値、決定変数xの値、及び双対変数yの値を代入して、tmp_1を算出する(ステップS204)。
Figure 2020030691
次に、ADMM演算モジュール212は、tmp_1がsup_valueより大きい場合、sup_valueをtmp_1に更新する(ステップS205)。なお、sup_valueに値が設定されていない場合、ADMM演算モジュール212は、sup_valueにtmp_1を設定する。
次に、ADMM演算モジュール212は、全ての決定変数xの値について処理が完了したか否かを判定する(ステップS206)。
全ての決定変数xの値について処理が完了していないと判定された場合、ADMM演算モジュール212は、ステップS202に戻り、同様の処理を実行する。
全ての決定変数xの値について処理が完了していないと判定された場合、ADMM演算モジュール212は、式(5)にsup_valueを代入して、tmp_2を算出する(ステップS207)。
Figure 2020030691
次に、ADMM演算モジュール212は、tmp_2がmin_valueより小さい場合、min_valueをtmp_2に更新し、また、y_localをステップS201において選択された双対変数yの値に更新する(ステップS208)。なお、min_valueに値が設定されていない場合、ADMM演算モジュール212は、min_valueにtmp_2を設定し、また、y_localにステップS201において選択された双対変数yの値を設定する。
次に、ADMM演算モジュール212は、全ての双対変数yの値について処理が完了したか否かを判定する(ステップS209)。
全ての双対変数yの値について処理が完了していないと判定された場合、ADMM演算モジュール212は、ステップS201に戻り、同様の処理を実行する。
全ての双対変数yの値について処理が完了したと判定された場合、ADMM演算モジュール212は、ノード接続情報220に基づいて、接続ノード100にy_localを送信し、また、当該接続ノード100から算出したy_localを取得する(ステップS210)。
具体的には、ADMM演算モジュール212は、接続ノード100にy_localを送信した後、待ち状態に移行する。全ての接続ノード100からy_localを取得した場合、ADMM演算モジュール212は、次のステップに進む。
なお、接続ノード100は、他のノード100からy_localを受信した場合、履歴情報221から最も新しい履歴データに格納されるy_localを取得し、他のノード100に送信してもよいし、また、決定変数算出処理を開始してもよい。
次に、ADMM演算モジュール212は、自ノード100及び接続ノード100によって算出されたy_localに基づいて、決定変数xの値を算出する(ステップS211)。
このとき、ADMM演算モジュール212は、決定変数xの値及び目的関数値を対応づけた履歴データを履歴情報221に格納する。
このように、ADMM演算モジュール212は、双対問題の最適解が得られるまでy_localを算出する処理を繰り返し実行し、自ノード100及び接続ノード100が算出したy_localを用いて決定変数xの最適値を算出する。
制御モジュール210は、算出された決定変数xの値に基づいて、ノード100を制御する。例えば、システム10が交通管理システムである場合、乗用車がノード100に対応し、移動経路が決定変数xに対応する。この場合、ノード100は、渋滞を回避し、かつ、最短時間で目的地に向かう移動経路を算出し、当該移動経路への移動をナビゲーションする。
実施例1によれば、目的関数f(x)を定義できない場合であっても、学習処理によってニューラルネットワークを構築し、当該ニューラルネットワークを用いることによって最適化問題を解くことができる。すなわち、各ノード100の制御の最適化を実現できる。
実施例2では、システム10にノード100が追加された場合に実行される処理について説明する。以下の説明では、システム10に新たに追加されるノード100を新規ノード100と記載する。
実施例2のシステム10の構成は実施例1と同一である。実施例2のノード100のハードウェア構成は実施例1と同一である。また、システム10内のノード100のソフトウェア構成は実施例1と同一である。
システム10に追加されるノード100のソフトウェア構成は実施例1と一部異なる。具体的には、システム10に追加されるノード100は、ノード接続情報220及び履歴情報221を保持していない。
図6は、実施例2のシステム10に新規ノード100が追加される場合に実行される処理の流れを説明するシーケンス図である。
新規ノード100の制御モジュール210は、システム10内の全てのノード100に対して参加要求を送信する(ステップS301)。
システム10内のノード100の制御モジュール210は、参加要求を受信した場合、自ノード100の識別情報及びアドレスを含む応答を新規ノード100に送信する(ステップS302)。
新規ノード100の制御モジュール210は、システム10内のノード100からの応答に基づいて、接続先のノード100を選択する(ステップS303)。
具体的には、制御モジュール210は、新規ノード100と他のノード100との間の通信時間又は物理的な距離が短い順に、所定の数のノード100を選択する。なお、隣接していないノード100からの影響を取り込むために、制御モジュール210は、隣接のノード100以外のノード100の中から、一つ以上のノード100を選択してもよい。
新規ノード100の制御モジュール210は、選択されたノード100に接続要求を送信する(ステップS304)。接続要求には、新規ノード100の識別情報及びアドレスが含まれる。
システム10内のノード100の制御モジュール210は、接続要求を受信した場合、新規ノード100に応答を送信し(ステップS305)、また、接続要求に含まれる情報に基づいてノード接続情報220を更新する(ステップS306)。
具体的には、制御モジュール210は、ノード接続情報220にエントリを追加し、追加されたエントリのノードID301及びアドレス302に、新規ノード100の識別情報及びアドレスを設定する。
新規ノード100の制御モジュール210は、選択されたノード100から応答を受信した後、ノード接続情報220を生成する(ステップS307)。
具体的には、制御モジュール210は、ノード接続情報220にエントリを追加し、追加されたエントリのノードID301及びアドレス302に、応答を送信したノード100の識別情報及びアドレスを設定する。なお、選択されたノード100が複数である場合、制御モジュール210は、各ノード100から応答を受信した場合に、同様の処理を実行する。
以上の処理によって、新規ノード100は選択されたノード100との間で論理接続を形成する。すなわち、ノードネットワークの構成が変更される。
新規ノード100の制御モジュール210は、選択されたノード100に履歴データ取得要求を送信する(ステップS308)。
選択されたノード100が複数である場合、制御モジュール210は、論理接続の特性、すなわち、相互作用の強さに基づいて、各ノード100から取得する履歴データのデータ量を決定する。制御モジュール210は、各ノード100にデータ量を含む履歴データの取得要求を送信する。
例えば、実施例2では、履歴データのデータ量を表す値として比率を用いる。制御モジュール210は、各ノード100から取得する履歴データのデータ量が同じになるように比率を決定する。また、制御モジュール210は、接続の強さを表す数値に基づいて、比率を決定する。なお、各ノード100の比率の合計値が100となるように比率は決定される。
新規ノード100は、接続ノード100と類似する振る舞いを行うものと考えられる。したがって、目的関数も類似しているものと推定される。そこで、新規ノード100は、接続ノード100の履歴データを用いた学習処理を実行することによってニューラルネットワークを構築する。
ノード100は、履歴データ取得要求を受信した場合、履歴情報221から履歴データを読み出し、履歴データを新規ノード100に送信する(ステップS309)。
履歴データの取得要求に比率が含まれる場合、制御モジュール210は、当該比率に基づいて、履歴情報221から所定の数の履歴データを読み出す。例えば、比率が50の場合、制御モジュール210は、履歴情報221の全データ量(エントリ数)の50パーセント分の履歴データを読み出す。
新規ノード100は、選択された全てのノード100から履歴データを取得した場合、受信した履歴データを用いてニューラルネットワークの構築処理を実行する(ステップS310)。実施例2のニューラルネットワークの構築処理は、実施例1と同一であるため説明を省略する。
なお、選択されたノード100は、ステップS309の処理が完了した後に、決定変数算出処理を実行してもよい。また、新規ノード100は、ステップS310の処理が完了した後、決定変数算出処理を実行してもよい。
実施例2によれば、システム10に新規ノード100を追加する場合、予め、目的関数を設定していなくても、ADMMの演算を実行することができる。また、システム10内のノード100は、新規ノード100の追加に伴うノードネットワークの構成の変化に応じてニューラルネットワークを更新し、当該変化に追従した制御の最適化を行うことができる。
実施例3では、システム10からノード100が削除された場合に実行される処理について説明する。以下の説明では、システム10から削除されるノード100を削除ノード100と記載する。
実施例3のシステム10の構成は実施例1と同一である。実施例3のノード100のハードウェア構成及びハードウェアは実施例1と同一である。
図7は、実施例3のシステム10から削除ノード100が削除される場合に実行される処理の流れを説明するシーケンス図である。
削除ノード100は、ノード接続情報220を参照し、接続ノード100に接続変更要求を送信する(ステップS401)。接続変更要求には、削除ノード100の識別情報及び削除ノード100が保持するノード接続情報220が含まれる。
接続ノード100は、接続変更要求を受信した場合、新たに接続するノード100を決定する(ステップS402)。
具体的には、制御モジュール210は、接続変更要求に含まれるノード接続情報220を参照し、各エントリのノードID301からノード100の識別情報を取得する。制御モジュール210は、自ノード100が保持するノード接続情報220のノードID301と取得したノード100の識別情報とを比較し、登録されていないノード100を特定する。制御モジュール210は、特定されたノード100を接続するノード100に決定する。
接続ノード100は、ノード接続情報220を更新する(ステップS403)。
具体的には、制御モジュール210は、ノードID301に削除ノード100の識別情報が設定されたエントリを検索し、当該エントリを削除する。制御モジュール210は、削除ノード100から受信したノード接続情報220を参照し、ノードID301に決定されたノード100の識別情報が設定されるエントリを取得する。制御モジュール210は、ノード接続情報220に取得したエントリを追加する。
当該処理によって、接続ノード100と削除ノード100との間の論理接続が削除される。すなわち、ノードネットワークから削除ノード100が削除される。さらに、接続ノード100は、削除ノード100が接続していた他のノード100との間で論理接続を形成する。
接続ノード100は、決定変数算出処理を実行する(ステップS404)。決定変数算出処理は実施例1と同一であるため説明を省略する。
実施例3によれば、接続ノード100は、システム10からのノード100の削除に伴って、ノードネットワークの構成を変更する。また、接続ノード100は、ノードネットワークの構成の変更に伴って決定変数xの値を算出する。したがって、システム10内のノード100は、削除ノード100の削除に伴うノードネットワークの構成の変化に応じてニューラルネットワークを更新し、当該変化に追従した制御の最適化を行うことができる。
実施例4では、ノード100が接続ノード100を動的に変更する場合に実行する処理について説明する。
実施例4のシステム10の構成は実施例1と同一である。実施例4のノード100のハードウェア構成及びハードウェアは実施例1と同一である。
図8は、実施例4のノード100が実行する論理接続変更処理の概要を説明するフローチャートである。
制御モジュール210は、候補ノードリスト生成処理を実行する(ステップS501)。当該処理によって候補ノードリスト900が生成される。候補ノードリスト900のデータ構造の詳細は図9を用いて説明する。また、候補ノードリスト生成処理の詳細は、図10を用いて説明する。
次に、制御モジュール210は、接続ノード選択処理を実行する(ステップS502)。接続ノード選択処理の詳細は図11を用いて説明する。
次に、制御モジュール210は、決定変数算出処理を実行する(ステップS503)。実施例3の決定変数算出処理は、実施例1と同一である。
図9は、実施例4のノード100が生成する候補ノードリスト900のデータ構造の一例を示す図である。
候補ノードリスト900は、論理接続変更処理において生成される情報である。論理接続変更処理が終了した後、候補ノードリスト900は削除される。
候補ノードリスト900は、ノードID901、アドレス902、階層903、及びフラグ904から構成されるエントリを格納する。接続ノード100の候補となるノード100に対して一つのエントリが存在する。
ノードID901は、候補ノード100として選択されたノード100の識別情報を格納するフィールドである。
アドレス902は、ノードID901に対応するノード100と通信するためのアドレスを格納するフィールドである。
階層903は、ノードネットワークにおいて、ノードID901に対応するノード100に到達するまでに経由したノード100の数を格納するフィールドである。
フラグ904は、候補ノードリスト生成処理において処理済のエントリであるか否かを示すフラグを格納するフィールドである。フラグ904には、処理済であることを示す「1」及び未処理であることを示す「0」のいずれかが格納される。
図10は、実施例4のノード100が実行する候補ノードリスト生成処理の一例を説明するフローチャートである。なお、ノードネットワーク内の探索範囲を示す階層変数Hの最大値としてHmaxが設定されているものとする。
制御モジュール210は、階層変数Hに初期値として「1」を設定する(ステップS601)。
次に、制御モジュール210は、自ノード100が保持するノード接続情報220に設定されたノード100を候補ノードリスト900に登録する(ステップS602)。具体的には、以下のような処理が実行される。
制御モジュール210は、候補ノードリスト900に、ノード接続情報220に格納されるエントリの数だけエントリを追加する。制御モジュール210は、追加された各エントリのノードID901及びアドレス902に、ノード接続情報220の各エントリのノードID301及びアドレス302の値を設定する。
また、制御モジュール210は、追加された各エントリの階層903に階層変数Hの値を設定し、フラグ904に「0」を設定する。以上がステップS602の処理の説明である。
次に、制御モジュール210は、候補ノードリスト900を参照し、階層903の値が階層変数Hの値に一致し、かつ、フラグ904が「0」であるエントリの中からターゲットエントリ(ターゲットノード100)を選択する(ステップS603)。
次に、制御モジュール210は、ターゲットノード100からノード接続情報220を取得する(ステップS604)。
具体的には、制御モジュール210は、ターゲットエントリのアドレス902に基づいて、ターゲットノード100にアクセスすることによってノード接続情報220を取得する。
次に、制御モジュール210は、ターゲットノード100から取得されたノード接続情報220に設定されたノード100を候補ノードリスト900に登録する(ステップS605)。具体的には、以下のような処理が実行される。
制御モジュール210は、候補ノードリスト900に、取得したノード接続情報220に格納されるエントリの数だけエントリを追加する。制御モジュール210は、追加された各エントリのノードID901及びアドレス902に、取得したノード接続情報220の各エントリのノードID301及びアドレス302の値を設定する。
制御モジュール210は、追加された各エントリの階層903に階層変数Hの値を設定する。
階層変数Hの値がHmaxである場合、制御モジュール210は、フラグ904に「1」を設定する。階層変数Hの値がHmaxでない場合、制御モジュール210は、フラグ904に「0」を設定する。以上がステップS605の処理の説明である。
次に、制御モジュール210は、階層903が階層変数Hの値に一致する全てのエントリについて処理が完了したか否かを判定する(ステップS606)。
具体的には、制御モジュール210は、階層903が階層変数Hの値に一致する全てのエントリのフラグ904が「1」であるか否かを判定する。前述の条件を満たす場合、制御モジュール210は、階層903が階層変数Hの値に一致する全てのエントリについて処理が完了したと判定する。
階層903が階層変数Hの値に一致する全てのエントリについて処理が完了していないと判定された場合、制御モジュール210は、ステップS603に戻り、同様の処理を実行する。
階層903が階層変数Hの値に一致する全てのエントリについて処理が完了したと判定された場合、制御モジュール210は、階層変数Hの値がHmaxであるか否かを判定する(ステップS607)。
階層変数Hの値がHmaxでないと判定された場合、制御モジュール210は、現在の階層変数Hの値に1を加算した値を、階層変数Hに設定する(ステップS608)。その後、制御モジュール210は、ステップS603に戻り、同様の処理を実行する。
階層変数Hの値がHmaxであると判定された場合、制御モジュール210は、処理を終了する。
図11は、実施例4のノード100が実行する接続ノード選択処理の一例を説明するフローチャートである。
制御モジュール210は、階層変数Hに初期値として「2」を設定する(ステップS701)。このとき、制御モジュール210は、階層903の値が2以上であるエントリのフラグ904に「0」を設定する。
次に、制御モジュール210は、候補ノードリスト900を参照し、階層903の値が階層変数Hの値に一致し、かつ、フラグ904が「0」であるエントリの中からターゲットエントリ(ターゲットノード100)を選択する(ステップS702)。
次に、制御モジュール210は、ターゲットノード100との間に論理接続を形成した場合の評価値を算出する(ステップS703)。例えば、制御モジュール210は関数g(z)の値を評価値として算出する。なお、本発明は評価値の種類に限定されない。
次に、制御モジュール210は、評価値に基づいて、ターゲットノード100との間に論理接続を形成するか否かを判定する(ステップS704)。
例えば、評価値又は評価値の変化率が閾値より大きい場合、制御モジュール210は、ターゲットノード100との間に論理接続を形成すると判定する。なお、本発明は評価値を用いた判定基準の内容に限定されない。
ターゲットノード100との間に論理接続を形成しないと判定された場合、制御モジュール210は、ステップS707に進む。
ターゲットノード100との間に論理接続を形成すると判定された場合、制御モジュール210は、ターゲットエントリのアドレス902に基づいて、ターゲットノード100に接続要求を送信する(ステップS705)。接続要求には、自ノード100の識別情報及びアドレスが含まれる。
このとき、ターゲットノード100は、ノード接続情報220に要求元のノード100に対応するエントリを追加する。
次に、制御モジュール210は、ターゲットノード100から接続要求に対する応答を受信した場合、ノード接続情報220を更新し(ステップS706)、その後、ステップS707に進む。
具体的には、制御モジュール210は、ノード接続情報220にエントリを追加し、追加されたエントリのノードID301及びアドレス302に、ターゲットエントリのノードID901及びアドレス902の値を設定する。
ステップS707では、制御モジュール210は、階層903が階層変数Hの値に一致する全てのエントリについて処理が完了したか否かを判定する(ステップS707)。
階層903が階層変数Hの値に一致する全てのエントリについて処理が完了していないと判定された場合、制御モジュール210は、ステップS702に戻り、同様の処理を実行する。
階層903が階層変数Hの値に一致する全てのエントリについて処理が完了したと判定された場合、制御モジュール210は、階層変数Hの値がHmaxであるか否かを判定する(ステップS708)。
階層変数Hの値がHmaxでないと判定された場合、制御モジュール210は、現在の階層変数Hの値に1を加算した値を、階層変数Hに設定する(ステップS709)。その後、制御モジュール210は、ステップS702に戻り、同様の処理を実行する。
階層変数Hの値がHmaxであると判定された場合、制御モジュール210は、処理を終了する。
制御モジュール210は、ステップS707の処理の後に、終了条件を満たすか否かを判定してもよい。例えば、評価値が閾値より大きい場合、終了条件を満たすと判定する。終了条件と満たす場合、制御モジュール210は処理を終了する。終了条件を満たさない場合、制御モジュール210は、ステップS708に進む。
図11では、制御モジュール210は、階層ごとに、接続ノード100を探索しているがこれに限定されたない。例えば、制御モジュール210は、候補ノードリスト900からランダムにターゲットエントリを選択してもよい。
また、ステップS708の判定結果がYESである場合、制御モジュール210は、現在、論理接続を形成している接続ノード100を削除した場合の評価値を算出し、当該評価値に基づいて論理接続を削除するか否かを判定してもよい。論理接続を削除すると判定された場合、制御モジュール210は、ターゲットノード100に削除要求を送信し、また、ノード接続情報220からターゲットノード100に対応するエントリを削除する。このとき、ターゲットノード100は、接続要求に基づいて、ノード接続情報220から要求元のノード100に対応するエントリを削除する。
制御モジュール210は、ノードネットワークの構成が変更された後の履歴データに基づいて、ニューラルネットワーク構築処理が実行する。これによって、更新後のノードネットワークに応じたニューラルネットワークが構築される。すなわち、ノードネットワークに応じた目的関数f(x)が自動的に設定される。
このように、実施例4では、ノードネットワークの構成及びノード100の制御の最適化を動的に行うことができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
10 システム
100 ノード
200 プロセッサ
201 メモリ
202 ネットワークインタフェース
210 制御モジュール
211 学習モジュール
212 ADMM演算モジュール
213 目的関数値算出モジュール
220 ノード接続情報
221 履歴情報

Claims (10)

  1. プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有する複数のノードから構成される対象システムを最適化する最適化システムであって、
    前記複数のノードの各々は、
    交互方向乗数法を用いて、前記複数のノードの各々を制御するパラメータを表す決定変数を変数とする目的関数及び制約関数により与えられる第一最適化問題の解として前記決定変数の最適値を算出する演算処理部と、
    前記決定変数の値及び前記目的関数の値から構成される学習データを用いた学習処理によって構築された演算モデルに基づいて、前記決定変数の値の入力を受け付け、前記目的関数の値を算出する関数値算出部と、
    前記演算処理部によって算出された前記決定変数の最適値に基づいて前記ノードを制御する制御部と、を有し、
    前記演算処理部は、
    任意の前記決定変数の値を前記関数値算出部に入力し、前記関数値算出部によって算出された前記目的関数の値及び前記任意の決定変数の値を、前記第一最適化問題の双対変換によって、双対変数を変数とする関数及び前記目的関数により与えられる第二最適化問題に代入することによって前記双対変数の値を算出する処理を、前記双対変数の値が所定の条件を満たすまで繰り返し実行し、
    前記ネットワークインタフェースを介して、他のノードによって算出された前記双対変数の値を取得して、前記メモリに格納し、
    自ノード及び前記他のノードが算出した前記双対変数の値に基づいて、前記自ノードの前記決定変数の最適値を算出して、前記メモリに格納することを特徴とする最適化システム。
  2. 請求項1に記載の最適化システムであって、
    前記複数のノードの各々は、前記演算モデルを構築する学習部を有し、
    前記複数のノードの各々は、前記関数値算出部によって算出された前記目的関数の値及び前記決定変数の最適値から構成される履歴データを蓄積し、
    前記学習部は、前記履歴データを前記学習データとして用いた学習処理を実行することによって前記演算モデルを構築することを特徴とする最適化システム。
  3. 請求項2に記載の最適化システムであって、
    前記演算モデルは、ニューラルネットワークであることを特徴とする最適化システム。
  4. 請求項2に記載の最適化システムであって、
    前記演算処理部は、前記自ノードと相互作用するノードにアクセスするための情報を格納するノード接続情報を管理し、
    前記対象システムに新たに追加される新規ノードの前記制御部は、
    前記自ノードと相互作用するノードを決定し、
    前記決定されたノードに接続要求を送信し、
    前記決定されたノードにアクセスするための情報を取得することによって前記ノード接続情報を生成し、
    前記決定されたノードから前記履歴データを取得し、
    前記新規ノードの前記学習部は、前記決定されたノードから取得した前記履歴データを用いた学習処理を実行することによって前記演算モデルを構築し、
    前記接続要求を受信したノードは、前記ノード接続情報に前記新規ノードにアクセスするための情報を追加することを特徴とする最適化システム。
  5. 請求項4に記載の最適化システムであって、
    前記新規ノードの前記制御部は、
    前記決定されたノードとの間の相互作用の強さに基づいて、前記決定されたノードから取得する前記履歴データのデータ量を算出し、
    前記算出された履歴データのデータ量を含む取得要求を、前記決定されたノードに送信することを特徴とする最適化システム。
  6. 複数のノードから構成される対象システムにおける最適化方法であって、
    前記ノードは、
    プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有し、
    交互方向乗数法を用いて、前記複数のノードの各々を制御するパラメータを表す決定変数を変数とする目的関数及び制約関数により与えられる第一最適化問題の解として前記決定変数の最適値を算出する演算処理部と、
    前記決定変数の値及び前記目的関数の値から構成される学習データを用いた学習処理によって構築された演算モデルに基づいて、前記決定変数の値の入力を受け付け、前記目的関数の値を算出する関数値算出部と、
    前記演算処理部によって算出された前記決定変数の最適値に基づいて前記ノードを制御する制御部と、を有し、
    前記最適化方法は、
    前記演算処理部が、任意の前記決定変数の値を前記関数値算出部に入力し、前記関数値算出部によって算出された前記目的関数の値及び前記任意の決定変数の値を、前記第一最適化問題の双対変換によって、双対変数を変数とする関数及び前記目的関数により与えられる第二最適化問題に代入することによって前記双対変数の値を算出する処理を、前記双対変数の値が所定の条件を満たすまで繰り返し実行するステップと、
    前記演算処理部が、前記ネットワークインタフェースを介して、他のノードによって算出された前記双対変数の値を取得して、前記メモリに格納するステップと、
    前記演算処理部が、自ノード及び前記他のノードが算出した前記双対変数の値に基づいて、前記自ノードの前記決定変数の最適値を算出して、前記メモリに格納するステップと、を含むことを特徴とする最適化方法。
  7. 請求項6に記載の最適化方法であって、
    前記複数のノードの各々は、前記演算モデルを構築する学習部を有し、
    前記複数のノードの各々は、前記関数値算出部によって算出された前記目的関数の値及び前記決定変数の最適値から構成される履歴データを蓄積し、
    前記最適化方法は、
    前記学習部が、前記履歴データを前記学習データとして用いた学習処理を実行することによって前記演算モデルを構築するステップを含むことを特徴とする最適化方法。
  8. 請求項7に記載の最適化方法であって、
    前記演算モデルは、ニューラルネットワークであることを特徴とする最適化方法。
  9. 請求項7に記載の最適化方法であって、
    前記演算処理部は、前記自ノードと相互作用するノードにアクセスするための情報を格納するノード接続情報を管理し、
    前記最適化方法は、
    前記対象システムに新たに追加される新規ノードの前記制御部が、前記自ノードと相互作用するノードを決定するステップと、
    前記新規ノードの前記制御部が、前記決定されたノードに接続要求を送信するステップと、
    前記新規ノードの前記制御部が、前記決定されたノードにアクセスするための情報を取得することによって前記ノード接続情報を生成するステップと、
    前記新規ノードの前記制御部が、前記決定されたノードから前記履歴データを取得するステップと、
    前記新規ノードの前記学習部が、前記決定されたノードから取得した前記履歴データを用いた学習処理を実行することによって前記演算モデルを構築するステップと、
    前記接続要求を受信したノードが、前記ノード接続情報に前記新規ノードにアクセスするための情報を追加するステップと、を含むことを特徴とする最適化方法。
  10. 請求項9に記載の最適化方法であって、
    前記決定されたノードから前記履歴データを取得するステップは、
    前記新規ノードの前記制御部が、前記決定されたノードとの間の相互作用の強さに基づいて、前記決定されたノードから取得する前記履歴データのデータ量を算出するステップと、
    前記新規ノードの前記制御部が、前記算出された履歴データのデータ量を含む取得要求を、前記決定されたノードに送信するステップと、を含むことを特徴とする最適化方法。
JP2018156620A 2018-08-23 2018-08-23 最適化システム及び最適化方法 Active JP6966395B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018156620A JP6966395B2 (ja) 2018-08-23 2018-08-23 最適化システム及び最適化方法
US16/410,217 US11574165B2 (en) 2018-08-23 2019-05-13 Optimization system and optimization method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018156620A JP6966395B2 (ja) 2018-08-23 2018-08-23 最適化システム及び最適化方法

Publications (3)

Publication Number Publication Date
JP2020030691A true JP2020030691A (ja) 2020-02-27
JP2020030691A5 JP2020030691A5 (ja) 2020-12-03
JP6966395B2 JP6966395B2 (ja) 2021-11-17

Family

ID=69583782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018156620A Active JP6966395B2 (ja) 2018-08-23 2018-08-23 最適化システム及び最適化方法

Country Status (2)

Country Link
US (1) US11574165B2 (ja)
JP (1) JP6966395B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113028613A (zh) * 2021-03-10 2021-06-25 浙江大学 基于快速admm的变风量系统分布式优化控制方法
WO2021253671A1 (zh) * 2020-06-18 2021-12-23 中国科学院深圳先进技术研究院 磁共振电影成像方法、装置、成像设备及存储介质
KR20220104595A (ko) * 2021-01-18 2022-07-26 성균관대학교산학협력단 중단 없는 기계학습 클러스터 재구성 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021179778A (ja) * 2020-05-13 2021-11-18 富士通株式会社 情報処理装置、求解方法、及び求解プログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000301262A (ja) * 1999-04-20 2000-10-31 Hitachi Metals Ltd 金型寿命の予測方法及びそれを用いた金型材の最適物性値の予測方法
JP2008022166A (ja) * 2006-07-11 2008-01-31 Canon Inc プロトコル差分学習結果転送システム、プロトコル差分学習結果転送方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体
JP2008062921A (ja) * 2006-09-06 2008-03-21 Soc De Technologie Michelin タイヤの最大摩擦係数を決定する方法
JP2013117921A (ja) * 2011-12-05 2013-06-13 Nippon Telegr & Teleph Corp <Ntt> ランキング関数学習装置、方法、及びプログラム
US20170147920A1 (en) * 2014-04-08 2017-05-25 Qiang Huo Deep learning using alternating direction method of multipliers
CN107370802A (zh) * 2017-07-10 2017-11-21 中国人民解放军国防科学技术大学 一种基于交替方向乘子法的协同存储调度方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9804617B2 (en) 2015-11-20 2017-10-31 Texas Instruments Incorporated Detecting an inductor coupled to a power control circuit
US10579926B2 (en) * 2015-12-21 2020-03-03 Disney Enterprises, Inc. Method and device for multi-agent path planning
US10210398B2 (en) * 2017-01-12 2019-02-19 Mitsubishi Electric Research Laboratories, Inc. Methods and systems for predicting flow of crowds from limited observations
US10740431B2 (en) * 2017-11-13 2020-08-11 Samsung Electronics Co., Ltd Apparatus and method of five dimensional (5D) video stabilization with camera and gyroscope fusion
WO2019186650A1 (en) * 2018-03-26 2019-10-03 Nec Corporation Kernel learning apparatus using transformed convex optimization problem
US11593634B2 (en) * 2018-06-19 2023-02-28 Adobe Inc. Asynchronously training machine learning models across client devices for adaptive intelligence
US10795330B2 (en) * 2018-07-30 2020-10-06 Mitsubishi Electric Research Laboratories, Inc. Symmetry alternating direction method of multipliers
US20200372363A1 (en) * 2019-05-23 2020-11-26 Kneron (Taiwan) Co., Ltd. Method of Training Artificial Neural Network Using Sparse Connectivity Learning
US20220129733A1 (en) * 2020-10-28 2022-04-28 Siemens Aktiengesellschaft Determining at least one node

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000301262A (ja) * 1999-04-20 2000-10-31 Hitachi Metals Ltd 金型寿命の予測方法及びそれを用いた金型材の最適物性値の予測方法
JP2008022166A (ja) * 2006-07-11 2008-01-31 Canon Inc プロトコル差分学習結果転送システム、プロトコル差分学習結果転送方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体
JP2008062921A (ja) * 2006-09-06 2008-03-21 Soc De Technologie Michelin タイヤの最大摩擦係数を決定する方法
JP2013117921A (ja) * 2011-12-05 2013-06-13 Nippon Telegr & Teleph Corp <Ntt> ランキング関数学習装置、方法、及びプログラム
US20170147920A1 (en) * 2014-04-08 2017-05-25 Qiang Huo Deep learning using alternating direction method of multipliers
CN107370802A (zh) * 2017-07-10 2017-11-21 中国人民解放军国防科学技术大学 一种基于交替方向乘子法的协同存储调度方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021253671A1 (zh) * 2020-06-18 2021-12-23 中国科学院深圳先进技术研究院 磁共振电影成像方法、装置、成像设备及存储介质
KR20220104595A (ko) * 2021-01-18 2022-07-26 성균관대학교산학협력단 중단 없는 기계학습 클러스터 재구성 방법
KR102549144B1 (ko) 2021-01-18 2023-06-30 성균관대학교산학협력단 중단 없는 기계학습 클러스터 재구성 방법
CN113028613A (zh) * 2021-03-10 2021-06-25 浙江大学 基于快速admm的变风量系统分布式优化控制方法
CN113028613B (zh) * 2021-03-10 2022-03-25 浙江大学 基于快速admm的变风量系统分布式优化控制方法

Also Published As

Publication number Publication date
US11574165B2 (en) 2023-02-07
JP6966395B2 (ja) 2021-11-17
US20200065652A1 (en) 2020-02-27

Similar Documents

Publication Publication Date Title
JP6966395B2 (ja) 最適化システム及び最適化方法
Arkhipov et al. A parallel genetic algorithm framework for transportation planning and logistics management
BR112016020103B1 (pt) Método e dispositivo de computação controlador para computação de programações de longo prazo para transferências de dados por uma rede de área ampla
CN113033800B (zh) 分布式深度学习方法、装置、参数服务器及主工作节点
CN113821318B (zh) 一种物联网跨域子任务组合协同计算方法及系统
Jawarneh et al. Sequential insertion heuristic with adaptive bee colony optimisation algorithm for vehicle routing problem with time windows
JP6894724B2 (ja) 電力設備計画方法、電力設備製造方法、電力設備計画装置およびプログラム
JP6414743B2 (ja) 電源制御装置、電源制御プログラム、電源制御方法及び電源制御システム
CN110703758A (zh) 一种路径规划方法和装置
JP2016081494A (ja) 分散コンピューティング環境におけるグラフデータの振り分け方法及び装置
US7962650B2 (en) Dynamic component placement in an event-driven component-oriented network data processing system
CN107203221B (zh) 无人机和有人机混合编队内的在线信息分发方法和装置
Asheralieva et al. Ultra-reliable low-latency slicing in space-air-ground multi-access edge computing networks for next-generation internet of things and mobile applications
EP3318934B1 (en) System control method and device, controller and control system
CN112799843A (zh) 一种基于边缘计算的在线自适应服务配置优化方法及装置
JP2019212043A (ja) 計算機システム及び学習制御方法
Liu et al. [Retracted] Emergency Scheduling Optimization Simulation of Cloud Computing Platform Network Public Resources
CN115460230A (zh) 一种数据迁移方法及统一协调系统
JP2019082857A (ja) 計算機システム及びデータ処理の制御方法
Chen et al. A surrogate-assisted dual-tree genetic programming framework for dynamic resource constrained multi-project scheduling problem
JP2018022281A (ja) 負荷分散制御プログラム、装置及び方法
JP2021068365A (ja) 計算機システム及びデータの管理方法
CN114615144B (zh) 网络优化方法及系统
JP2007264849A (ja) 配電系統拡張計画選定方法、及び配電系統拡張計画選定プログラム
CN116796506B (zh) 基于并行演化算法的热管约束组件布局优化方法和系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201020

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210831

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211005

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211021

R150 Certificate of patent or registration of utility model

Ref document number: 6966395

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150