JP7034528B1 - 方法、データ構造およびプログラム - Google Patents

方法、データ構造およびプログラム Download PDF

Info

Publication number
JP7034528B1
JP7034528B1 JP2021560741A JP2021560741A JP7034528B1 JP 7034528 B1 JP7034528 B1 JP 7034528B1 JP 2021560741 A JP2021560741 A JP 2021560741A JP 2021560741 A JP2021560741 A JP 2021560741A JP 7034528 B1 JP7034528 B1 JP 7034528B1
Authority
JP
Japan
Prior art keywords
mathematical
node
optimization problem
formula
data structure
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
JP2021560741A
Other languages
English (en)
Other versions
JPWO2021256046A1 (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.)
JIJ Inc
Original Assignee
JIJ Inc
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 JIJ Inc filed Critical JIJ Inc
Publication of JPWO2021256046A1 publication Critical patent/JPWO2021256046A1/ja
Priority to JP2022025183A priority Critical patent/JP2022067101A/ja
Application granted granted Critical
Publication of JP7034528B1 publication Critical patent/JP7034528B1/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
    • 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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/20Models of quantum computing, e.g. quantum circuits or universal quantum computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms

Abstract

Figure 0007034528000001
【課題】最適化問題を解くためにかかる負荷や時間を低減させること。
【解決手段】本開示による方法は、数理最適化問題を数理計画問題のオブジェクトプログラムに変換する処理に係る方法であって、プロセッサが、前記数理最適化問題に対応する数理モデルを表現する数式を構成する要素ごとに分解された要素の各々の情報をオブジェクトの各々に格納し、前記数理モデルに対応するオブジェクトをルートノードとし、分解された前記数式の前記要素の各々に係るオブジェクトをリーフノードとする木構造として、前記オブジェクトの各々を節点ノードにより関連付けて保持する。
【選択図】図3

Description

本開示は、方法、データ構造およびプログラムに関する。
いわゆる最適化問題を解く手法として、量子アニーリング手法が注目されている。例えば、下記特許文献1には、量子アニーリング計算を行うための処理方法が開示されている。
特表2019-513276号公報
アニーリングマシン等において最適化問題に対応する数理モデルを解く場合に、いわゆる2値最適化問題のモデルに変換し、そのパラメータを探索するという手法が用いられている。しかしながら、かかるモデルに変換する際には、数理モデルを全てシリアライズしてコンパイルすることが行われているため、最適化対象の指標のサイズによっては、一連の最適化問題を解くための負荷や時間が長大となってしまう。
そこで、本開示は上記問題点に鑑みてなされたものであり、その目的は、最適化問題を解くためにかかる負荷や時間を低減させることが可能な、方法、データ構造およびプログラムを提供することである。
本開示によれば、数理最適化問題を数理計画問題のオブジェクトプログラムに変換するための方法であって、プロセッサが、前記数理最適化問題に対応する数理モデルを表現する数式に係る情報を取得することと、前記数式を構成する要素ごとに分解し、要素の各々の情報をオブジェクトの各々に格納することと、前記数式の要素について、前記数理モデルに対応するオブジェクトをルートノードとし、分解された前記数式の前記要素の各々に係るオブジェクトをリーフノードとする木構造のデータ構造として前記オブジェクトの各々を節点ノードにより関連付けることと、を含む方法が提供される。
また、本開示によれば、コンピュータにより数理最適化問題を数理計画問題のオブジェクトプログラムに変換する処理に供されるデータ構造であって、前記数理最適化問題に対応する数理モデルを表現する数式を構成する要素ごとに分解された要素の各々の情報をオブジェクトの各々に格納し、前記数理モデルに対応するオブジェクトをルートノードとし、分解された前記数式の前記要素の各々に係るオブジェクトをリーフノードとする木構造として、前記オブジェクトの各々を節点ノードにより関連付けて保持する、データ構造が提供される。
また、本開示によれば、コンピュータを、数理最適化問題を数理計画問題のオブジェクトプログラムに変換する処理に供するためのプログラムであって、前記コンピュータを、前記数理最適化問題に対応する数理モデルを表現する数式に係る情報を取得する取得部と、前記数式を構成する要素ごとに分解し、要素の各々の情報をオブジェクトの各々に格納するオブジェクト格納部と、前記数式の要素について、前記数理モデルに対応するオブジェクトをルートノードとし、分解された前記数式の前記要素の各々に係るオブジェクトをリーフノードとする木構造のデータ構造として前記オブジェクトの各々を節点ノードにより関連付けるデータ処理部と、として機能させるプログラムが提供される。
本開示によれば、最適化問題を解くためにかかる負荷や時間を低減させることができる。
本開示の一実施形態に係るシステム1の構成例を示す図である。 同実施形態に係るデータ処理サーバ10を実現するコンピュータのハードウェア構成例を示す図である。 同実施形態に係るデータ処理サーバ10のソフトウェア構成例を示す図である。 同実施形態に係るオブジェクト格納部113においてオブジェクトごとに格納される要素の分解例を示す図である。 同実施形態に係るデータ処理部114による木構造T1の構築処理の一例を示す図である。 同実施形態に係るシステム1における一連の制御に係るフローチャート図である。 他の実施形態に係るデータ処理サーバ10’のソフトウェア構成例を示す図である。 同実施形態に係るデータ処理部1014による木構造T2の構築処理の一例を示す図である。 同実施形態に係る第1変換部1015による木構造T2から木構造T3への変換処理の一例を示す図である。 同実施形態に係るシステム1’における一連の制御に係るフローチャート図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
図1は、本開示の一実施形態に係るシステム1の構成例を示す図である。図示するように、本実施形態に係るシステム1は、データ処理サーバ10と、端末20と、解析サーバ30と、を備える。また、データ処理サーバ10と、端末20と、解析サーバ30とは、ネットワークNWを介して通信可能に接続されている。なお、本構成は一例であり、ある構成が他の構成を兼ね備えていたり、他の構成が含まれていたりしてもよい。
本実施形態においてネットワークNWはインターネットを想定している。ネットワークNWは、例えば、公衆電話回線網、携帯電話回線網、無線通信網、イーサネット(登録商標)などにより構築される。
データ処理サーバ10は、例えば、最適化問題に対応する数理モデルを2値最適化問題のオブジェクトプログラムに変換(コンパイル)するためのコンピュータである。かかるデータ処理サーバ10は、例えば、ワークステーションまたはパーソナルコンピュータのような汎用コンピュータとしてもよいし、或いはクラウドコンピューティングによって論理的に実現されてもよい。
端末20は、例えば、数理モデルに対応する数式を入力する際に用いられる端末である。例えば、端末20は、携帯電話、スマートフォン、タブレットコンピュータまたはパーソナルコンピュータ等であり得る。端末20は、ユーザ端末の一例である。
解析サーバ30は、例えば、変換されたオブジェクトプログラムを実行して、最適化問題における最適パラメータを探索する解析処理を行うサーバである。解析サーバ30は、例えば、一般的な解析用のサーバであってもよいし、シミュレーテッドアニーリングマシン、量子アニーリングマシンおよび量子ゲート型コンピュータの少なくともいずれかであってもよい。
本実施形態に係るシステム1の概要について説明する。最適化問題の数理モデルを例えば2値化最適化問題等の数理計画問題として解く場合、解析サーバ30において、数理計画問題に対応する式を解く必要がある。例えば、数理計画問題が2値最適化問題である場合は、数理モデルをQUBO(制約なし2次2値最適化問題)にマッピングをして解くとき、QUBOのモデリングにおいて定式化しようとすると、コスト関数に加えて、ペナルティ法やラグランジュの未定乗数法等に基づく制約項が付加され得る。これらの定式を従来の手法で解こうとすると、数式を全て展開する必要があるため、計算におけるミスや開発コストが大きくなる、という問題がある。
そのため、例えば、プログラミング言語等で数理モデルを記述してQUBOのオブジェクトに変換する手法が開発されている。しかしながら、かかる手法においては、やはり上述したすべての項に関する情報が、総和の演算子Σ等が展開されている状態で変換されるため、その変換処理にかかる時間がデータの大きさに依存する。そのため、最適化問題を解くためにかかる時間が大きくなり得る。
本実施形態に係るシステム1によれば、数理モデルに対応する数式を要素ごとに分解されており、各々の要素ごとにオブジェクトとして格納されるが、かかるオブジェクト間が木構造として保持され得る。各オブジェクトには、数式の演算子や変数等の情報がそのまま格納される。そして、各オブジェクトは、数理モデルを表現する情報を格納するオブジェクトをルートノードとして、各オブジェクトを接続する節点ノードを介し、各要素に係る情報を格納するオブジェクトをリーフノードとして、木構造により保持され得る。
このような各要素に係る情報を格納するオブジェクトを木構造で持つことにより、数式の要素間の関連を保持したまま、オブジェクトプログラムに変換することができる。この場合、各項について総和演算子に囲われた要素を展開する必要がないため、変換により得られるオブジェクトプログラムのサイズを大きくしなくてよくなる。
また、各要素のうち特に最適化問題の解く指標については、オブジェクトをプレースホルダにしておき、指標については別途他のデータとして保持しておくことにより、指標の有するサイズに関わらず、オブジェクトプログラムの変換にかかる負荷を増加させないようにすることができる。
また、ユーザが端末20を使用して最適化問題を解く際に、ユーザは単に端末20に対して数理モデルに対応する数式の情報を入力するだけで、上記の木構造のデータ構造を生成し、自動的に最適化問題を解くためのオブジェクトプログラムを得て、最適化問題を解くことができる。なお、本実施形態では、数理最適化問題を2値最適化問題に変換して解くことを前提としているが、本技術はかかる例に限定されない。例えば、本実施形態に係るシステム1は、2値最適化問題以外にも、線形計画問題、混合整数計画問題および二次計画等の数理計画問題に変換して解くことも可能である。ここでいう数理計画問題は、例えば、その問題を処理するアルゴリズム、ハードウェアで解釈可能な数理計画問題を意味する。
以下、本実施形態の詳細について説明する。
図2は、本実施形態に係るデータ処理サーバ10を実現するコンピュータのハードウェア構成例を示す図である。データ処理サーバ10は、少なくとも、制御部11、メモリ12、ストレージ13、通信部14および入出力部15等を備える。これらはバス16を通じて相互に電気的に接続される。
制御部11は、データ処理サーバ10全体の動作を制御し、各要素間におけるデータの送受信の制御、及びアプリケーションの実行及び認証処理に必要な情報処理等を行う演算装置である。例えば制御部11は、CPU(Central Processing Unit)等のプロセッサであり、ストレージ13に格納されメモリ12に展開されたプログラム等を実行して各情報処理を実施する。
メモリ12は、DRAM(Dynamic Random Access Memory)等の揮発性記憶装置で構成される主記憶と、フラッシュメモリまたはHDD(Hard Disc Drive)等の不揮発性記憶装置で構成される補助記憶と、を含む。メモリ12は、制御部11のワークエリア等として使用され、また、データ処理サーバ10の起動時に実行されるBIOS(Basic Input/Output System)、及び各種設定情報等を格納する。
ストレージ13は、アプリケーション・プログラム等の各種プログラムを格納する。各処理に用いられるデータを格納したデータベースがストレージ13に構築されていてもよい。
通信部14は、データ処理サーバ10をネットワークに接続する。通信部14は、例えば、有線LAN(Local Area Network)、無線LAN、Wi-Fi(Wireless Fidelity、登録商標)、赤外線通信、Bluetooth(登録商標)、近距離または非接触通信等の方式で、外部機器と直接またはネットワークアクセスポイントを介して通信する。
入出力部15は、例えば、キーボード、マウス、タッチパネル等の情報入力機器、及びディスプレイ等の出力機器である。
バス16は、上記各要素に共通に接続され、例えば、アドレス信号、データ信号及び各種制御信号を伝達する。
本実施形態に係る端末20および解析サーバ30を実現するコンピュータやスマートフォン等の端末のハードウェア構成は、図2に示すデータ処理サーバ10のハードウェア構成例と同様であるため、説明を省略する。
図3は、本実施形態に係るデータ処理サーバ10のソフトウェア構成例を示す図である。データ処理サーバ10の制御部11は、表示制御部111、取得部112、オブジェクト格納部113、データ処理部114および変換部115を備える。
表示制御部111は、端末20に、数理モデルを表現する数式を入力させるための表示を制御する機能を有する。例えば、表示制御部111は、数式を入力するためのフォームを端末20の画面に表示させてもよい。かかるフォームは、フリーフォームであってもよいし、所定の選択肢等から選択させて入力させる形式のものであってもよい。また、表示制御部111は、数理モデルの数式を規定したファイル等を読み込むためのインタフェースを端末20の画面に表示してもよい。このように、数理モデルの数式を入力させるために表示するオブジェクトや、該数式の入力に用いられるフォーマット等は、特に限定されない。
取得部112は、数理モデルを表現する数式に係る情報を取得する機能を有する。例えば、本実施形態にかかる取得部112は、端末20に対して入力された数式に係る情報を取得しうる。また、予め任意のストレージ等に数式に係る情報が入力されている場合は、取得部112は、該ストレージ等から該情報を取得してもよい。取得部112による処理は、例えば、端末20に数式を入力したユーザの操作に基づく指示等により開始されてもよい。具体的には、端末20にユーザが数式を入力し、その入力作業が完了した際に処理を開始させるためのオブジェクトをユーザが操作したときに、取得部112がかかる数式に係る情報を端末20から取得してもよい。
なお、数式に係る情報は、例えば、最適化問題を表現する数式の構成および該構成の要素に係る情報を含み得る。本実施形態では、数式の一例として、以下の数式(1)のような数理モデルに対応するコスト関数の数式を用いることとする。このとき、左辺はコスト関数、右辺の第1項はコスト項、右辺の第2項は制約項と称する。対象とする数理モデルは、例えば巡回セールスマン問題のような最適化問題に対応する数理モデルであり得る。また、数理モデルに対応する2値最適化問題は、例えば、QUBO(制約なし2次2値最適化問題)、PUBO(多項式制約なし2値最適化問題)、HUBO(高次数制約なし2値最適化問題)および制約付き2値最適化問題の少なくともいずれかを含む。以下の数式(1)は、QUBOに対応する数式である。どの2値最適化問題を採用するかは、例えば問題を解くためのハードウェアのアーキテクトや、問題を解くためのアルゴリズムによって適宜決定される。
Figure 0007034528000002
オブジェクト格納部113は、取得した数式を構成する要素ごとに分解し、分解した要素の各々の情報を、オブジェクトの各々に格納する機能を有する。ここでいう「要素」とは、例えば、数式の演算子、変数、文字式、指数部、係数および定数を少なくとも含みうる。演算子とは、例えばΣのような総和演算子や括弧等である。
図4は、本実施形態に係るオブジェクト格納部113においてオブジェクトごとに格納される要素の分解例を示す図である。図4に示すように、例えば、数式は、コスト関数Eの要素201と、Σtの要素202と、Σijの要素203と、複数の文字式および変数の要素204と、λの要素205と、Σtに含まれる項の要素206と、Σiに含まれる項の要素207と、に分解され得る。さらに、図4の破線に示すように、要素204、206および207は、さらに変数、定数、文字式および指数ごとに分解され得る。このように、数式は上述するような要素ごとに分解され、それぞれが単独のオブジェクトに格納される。このとき、オブジェクトに格納される情報は、数式に示す演算子や変数等の情報そのものである。また、演算子(例えばΣ等)においては、メタ情報として、添字の情報も併せて格納され得る。これにより、他のオブジェクトに格納された文字式等の添字との関係性を維持したまま、後述する木構造のデータ構造を得ることができる。すなわち、演算子の項の展開をすることなく、演算子に係る情報をオブジェクトとして保持することが可能である。
また、詳細は後述するが、数式の制約項における制約条件208に係る情報も、上述したオブジェクトとして格納することができる。このような制約条件に係る情報をオブジェクトに格納しておくことで、最適化問題を解くうえで、様々な制約条件を扱うことができる。このように、演算子の添字や制約条件に係る情報を、本明細書においてはメタ情報と称する。かかるメタ情報は、リーフノード同士の関係を規定し得るものである。また、制約条件は、本実施形態においては等式制約に係る条件に限定されず、不等式制約に係る条件であってもよい。以下に示す木構造においては、このような制約条件においても抽象化してオブジェクト化することができるため、様々な制約条件における最適化問題を解くことが可能となる。
データ処理部114は、分解したオブジェクトの各々を木構造のデータ構造として構築し、それぞれのオブジェクトを保持する処理を行う機能を有する。具体的には、データ処理部114は、数理モデルに対応するオブジェクトをルートノードとし、分解された数式の要素の各々に係るオブジェクトをリーフノードとする木構造を構築し、オブジェクトの各々を節点ノードにより関連付ける機能を有する。
図5は、本実施形態に係るデータ処理部114による木構造T1の構築処理の一例を示す図である。図5に示すように、まず、木構造T1のルートノード300には、数理モデルを表現する例としてコスト関数Eに係る情報が格納される。なお、ルートノード300は、コスト関数Eの他にも、例えば、数理モデルそのものを規定する数式に係る情報が格納されていてもよい。より具体的には、コスト関数Eの他に、またはコスト関数Eに代えて、ルートノードには、数理モデルを規定する下記数式(2)および数式(3)に係る情報が格納されていてもよい。
Figure 0007034528000003
ここで、{x}は全変数の組を表し、Ecost({x})は数理モデルにおけるコスト関数を表し、f({x})は任意の関数を表し、aは任意の定数を表す。また、s.t.の制約項を構成する制約式は、複数であってもよい。
ルートノード300からは、2本の枝が別れて、子ノードである節点ノード351、354が設けられる。節点ノード351の子ノードとして、演算子Σtに係る情報を格納するリーフノード301と、節点ノード352とが設けられる。節点ノード352の子ノードとして、演算子Σiに係る情報を格納するリーフノード302と、節点ノード353とが設けられる。節点ノード353の子ノードとして、文字式di,j、変数qi,t、qi,t+1に係る情報を格納するリーフノード303、304、305が設けられる。同様に、節点ノード354の子ノードとして、変数λ、制約条件(=0)に係る情報を格納するリーフノード306、307と、節点ノード355とが設けられる。節点ノード355の子ノードとして、演算子Σt、定数、括弧付き指数に係る情報を格納するリーフノード308、309、310と、節点ノード356とが設けられる。節点ノード356の子ノードとして、演算子Σi、変数qi,tに係る情報を格納するリーフノード311、312が設けられる。
節点ノードは、親子ノードの関係および該節点ノードを共有する子ノード間の関係を規定する情報が格納され得る。例えば、節点ノード351以下のリーフノード等により構成される数式の項はコスト項であり、節点ノード354以下のリーフノード等により構成される数式の項は制約項である。節点ノード351は、リーフノード301に係る演算子Σtが、節点ノード352以下のノードに対応する数式の要素をネストする関係であることを規定する情報を格納し得る。また、節点ノード352は、リーフノード302に係る演算子Σiが、節点ノード353以下のノードに対応する数式の要素をネストする関係であることを規定する情報を格納し得る。また、節点ノード353は、リーフノード303、304および305に対応する要素をそれぞれ乗算することを規定する情報を格納し得る。このように、節点ノードには、例えば、四則演算および指数の関係性、演算子の入れ子構造の関係性および該節点ノード以下のノードにより構成される数式の項に対する条件を規定することを示す情報が格納され得る。
同様に、節点ノード354は、リーフノード306に係る変数λと、節点ノード355以下のノードに対応する数式の要素とを乗算すること、およびリーフノード307に示される制約条件を制約項に課していることを示す情報とを格納し得る。また、節点ノード355は、リーフノード308に係る演算子Σtが、節点ノード356以下のノードに対応する数式の要素と、リーフノード309、310に係る定数および括弧付き指数をネストする関係であることを規定する情報を格納し得る。また、節点ノード356は、リーフノード311に係る演算子Σiが、リーフノード312に係る変数qi,tをネストする関係であることを規定する情報を格納し得る。
このように、木構造T1に示すように、演算子の入れ子構造の関係性や、四則演算および指数等の関係に応じて、分解された要素のオブジェクトが、それぞれ節点ノードを介して接続され得る。このような木構造のオブジェクトに要素に係る情報を格納することで、数理モデルを数式として定式化した際の数式の構造により表現される意図がそのままデータ構造として保持することができる。
また、di,jにより表現される最適化問題における最適化対象の指標(例えば、巡回セールスマン問題における都市間の距離に相当するパラメータ)を表すデータを規定する文字式について、該文字式により規定される指標のデータセットは、木構造のデータ構造とは異なるデータ構造において設けられていてもよい。すなわち、図5に示すように「di,j」のリーフノード303が設けられるが、かかる文字式はプレースホルダによるオブジェクトに格納されるものであってもよい。その際、指標のデータセットは、他のデータベース等に格納され得る。そして、後述する変換部115においてオブジェクトプログラムに変換された後に、適切な形でdi,jのデータセットが該オブジェクトプログラムの対応するオブジェクトに代入され得る。このように、木構造においてdi,jに直接データセットを格納せず、プレースホルダに対してあとで参照する形とする(すなわち遅延評価をする)ことで、変換処理におけるデータセットのサイズに応じた処理の負荷が増えにくくなる。これにより、例えばAPI等を経由して最適化問題を解く場合に、データサイズに依らずに安定した計算速度を得ることができる。
また、添字の関係性や制約条件等の詳細な情報を含むメタ情報をオブジェクトとして木構造(特に、節点ノードを共有する親または子のノードに対応するオブジェクト)に関連付けることで、最適化問題を解析サーバ30において解く際に、かかるメタ情報を考慮した処理を行うことができる。また例えば、演算子や文字式に係るオブジェクトに添字の情報を併せて格納することで、演算子の展開をせずに、後述する変換処理を行うことができる。これにより、変換処理における計算負荷を低減させることができる。
変換部115は、木構造により規定されるリーフノードのオブジェクトを読み取り、オブジェクトと節点ノードを介して接続される他のリーフノードのオブジェクトとの関連に関する情報を含めて、オブジェクトの各々を2値化最適化問題のオブジェクトプログラムに変換する機能を有する。かかるオブジェクトプログラムは、解析サーバ30において実行され得る。なお、変換部115を実現するコンパイラは、例えば、解析サーバ30を実現するハードウェアの種類(例えば量子アニーリングマシンやシミュレーテッドアニーリングマシン等を含む最適化用マシンやアルゴリズムの種類)に応じて、適宜設定され得る。また、他のリーフノードのオブジェクトとの関連は、上述したように、互いに共有する節点ノードに格納される情報により規定され得る。なお、変換部115は、本実施形態において設けられなくてもよい。
例えば、演算子等が抽象化され、オブジェクトとして格納され、木構造により各オブジェクトの関連性を規定し、指標のデータセットに係るオブジェクトをプレースホルダとして扱い数理モデルと分離することで、変換部115における数理モデルの変換処理にかかる負荷が小さくなる。これにより、高速での変換処理が実現され、最適化問題における総合的な計算時間を短縮することができる。
図6は、本実施形態に係るシステム1における一連の制御に係るフローチャート図である。まず、データ処理サーバ10の表示制御部111は、端末20に数理モデルを表現する数式を入力させるための画面を表示させ、ユーザに数式を入力させる(ステップSQ101)。つぎに取得部112が取得した数式を要素ごとに分解し、オブジェクト格納部113は要素の各々をオブジェクトの各々に格納する(ステップSQ103)。なお、数式の取得は、上述したユーザによる数式の入力に限定されず、例えば予めデータ処理サーバ10等に記憶されている数式の情報を取得することによるものであってもよい。
次に、データ処理部114は、オブジェクトのそれぞれを、コスト関数等の数理モデルを表現するオブジェクトをルートノードとし、各要素をリーフノードとし、要素間の関係に基づく木構造のデータ構造を構築する(ステップSQ105)。そして、変換部115は、得られた各オブジェクトについて木構造に基づき変換処理(コンパイル)を行い、2値最適化問題を解析サーバ30で解くためのオブジェクトプログラムを生成する(ステップSQ107)。
以上説明したように、本実施形態に係るシステム1によれば、解くべき数理モデルについて2値最適化問題としてアニーリングマシン等による解析にかける前段階として、数理モデルに対応する数式を要素ごとに分解し、それぞれの要素に対応するオブジェクトについて、該数式の表現に基づく木構造によるデータ構造を得ることができる。かかるデータ構造を用いて変換処理を行う際、演算子等の情報が抽象化された状態で保持されるため、従来のような演算子の展開が必須ではなく、数式をシリアライズすることなく、数理モデルのサイズの大きさに依らず安定的に変換処理を行うことができる。すなわち、最適化問題を解くための計算に係る負荷や時間を低減させることができる。
また、最適化問題における最適化の対象である指標のデータセットを、上述のデータ構造とは別のデータとして保持しておき、指標に対応するオブジェクトはプレースホルダとすることで、指標のデータセットをそのまま変換処理に供することなく、変換後のオブジェクトプログラムに代入するだけで済む。これにより、指標のデータセットのデータの大きさに依存せず、数理モデルのサイズにより計算の負荷等が決定される。よって、指標のデータセットのデータの大きさに関係なく、安定した計算時間を得ることができる。
次に、他の実施形態に係るデータ処理サーバ10’について説明する。上記実施形態においては、最適化問題を表現する数式を入力してデータ構造に変換する場合に、かかる数式は最適化問題を量子アニーリング等の手法により解くことに予め適した数式(例えば、QUBOなど)が入力情報として用いられたが、本実施形態では、例えば、制約付き最適化問題を表現する数式など、最適化問題としてそのまま解くには適していない式を入力情報として最適化問題を解くための構成について説明する。図7は、他の実施形態に係るデータ処理サーバ10’のソフトウェア構成例を示す図である。データ処理サーバ10’の制御部11’は、表示制御部1011、取得部1012、オブジェクト格納部1013、データ処理部1014、第1変換部1015および第2変換部1016を備える。
表示制御部1011は、上記実施形態に係る表示制御部111と同様の機能を有するため、説明を省略する。
取得部1012は、数理モデルを表現する数式に係る情報を取得する機能を有する。例えば、本実施形態にかかる取得部112は、端末20に対して入力された数式に係る情報を取得しうる。本実施形態では、取得対象である数理モデルを表現する数式は、上記実施形態のようなQUBOやPUBO、HUBO等の2値最適化問題を解くのに適した数理モデルに対応する式ではなく、例えば、制約条件の数式と、目的関数の数式とを合わせた制約付き最適化問題に対応する数式が想定され得る。目的関数の数式は例えばf(x)等の数式により表現される。また、制約条件の数式は、g(x)=0等の数式により表現され得る。それぞれの数式の構成等は特に限定されない。
オブジェクト格納部1013は、取得した数式を構成する要素ごとに分解し、分解した要素の各々の情報を、オブジェクトの各々に格納する機能を有する。要素や演算子等の定義は、上記実施形態と同様であるため省略する。
オブジェクト格納部1013は、例えば、下記に示す制約条件の数式(4)について、それぞれの要素ごとに分解し、単独のオブジェクトに格納する。
Figure 0007034528000004
なおここには示されていないが、目的関数の数式についても同様に、オブジェクト格納部1013は該数式を要素ごとに分解してオブジェクトに格納し得る。
データ処理部1014は、分解したオブジェクトの各々を木構造のデータ構造として構築し、それぞれのオブジェクトを保持する処理を行う機能を有する。本実施形態に係るデータ処理部1014は、各要素に分解された制約条件の数式に対応するデータ構造を構築しうる。かかるデータ構造の構築処理、およびオブジェクトの保持処理については、上記実施形態と同様である。また、本実施形態に係るデータ処理部1014は、目的関数の数式に対応するデータ構造を構築し得る。
図8は、本実施形態に係るデータ処理部1014による木構造T2の構築処理の一例を示す図である。図8に示す木構造T2は、上記の数式(4)を要素ごとに分解したものである。ルートノード400は演算子である等号に係る情報を格納する。ルートノード400からは、2本の枝が分かれて、子ノードであるリーフノード401、402が設けられる。リーフノード401は演算子Σxに係る情報を格納する。リーフノード402は定数+1に係る情報を格納する。
第1変換部1015は、第1の数式に係るデータ構造を、第2の数式に係るデータ構造に変換する(トランスパイル)機能を有する。ここで、第1の数式とは、例えば、制約付き最適化問題に対応する数式であり、第2の数式とは、例えば、2値最適化問題に対応する数式であり得る。例えば、上記の数式(4)をQUBO表現の数式(5)に変換する場合を想定する。図9は、本実施形態に係る第1変換部1015による木構造T2から木構造T3への変換処理の一例を示す図である。図9に示す木構造T3は、数式(4)に示す制約付き最適化問題に対応する数式を数式(5)に示すQUBO表現に対応する数式に変換した際の、QUBO表現に対応する木構造T3である。
Figure 0007034528000005
ルートノード500は、演算子であるPower(冪)に係る情報を格納する。ルートノード500からは、2本の枝が分かれて、子ノードである節点ノード551とリーフノード503が設けられる。節点ノード551からは、2本の枝が分かれて、子ノードであるリーフノード501、502が設けられる。
リーフノード501は演算子Σxに係る情報を格納する。リーフノード502は定数-1に係る情報を格納する。リーフノード503は定数+2に係る情報を格納する。節点ノード551は、リーフノード501、502に対応する要素をそれぞれ足し合わせることを規定する情報を格納し得る。なお、図8および図9に示す各ノードの機能は、上記実施形態と同様である。
第1変換部1015は、図8に示すような木構造T2を、所定の規則やテーブル等に従って、木構造T3に変換し得る。かかる所定の規則やテーブルは、例えば入力される制約付き最適化問題に対応する数式と2値最適化問題に対応する数式との関連等により定められるものであってもよいし、かかる規則やテーブルは、機械学習における学習モデルに対応するものであってもよい。
なお、図8および図9に示す例は、上記数式(4)に示す制約条件の数式をデータ構造化し、2値最適化問題に係るQUBO表現のデータ構造に変換した例である。第1変換部1015は、目的関数の数式をデータ構造化したものを、QUBO表現のデータ構造に変換してもよい。また、第1変換部1015は、制約条件に対応するデータ構造と目的関数に対応するデータ構造とを組み合わせて、最適化問題に対応するデータ構造を構築してもよい。かかるデータ構造は、変換処理の前に組み合わせれた後に第1変換部1015によりQUBO表現に対応するデータ構造に変換されるものであってもよいし、第1変換部1015により制約条件のデータ構造と目的関数のデータ構造とがQUBO表現のデータ構造にそれぞれ変換された後に、変換後のデータ構造が組み合わされたものであってもよい。
第2変換部1016は、木構造により規定されるリーフノードのオブジェクトを読み取り、オブジェクトと節点ノードを介して接続される他のリーフノードのオブジェクトとの関連に関する情報を含めて、オブジェクトの各々を2値化最適化問題のオブジェクトプログラムに変換する機能を有する。すなわち、本実施形態に係る第2変換部1016は、上記実施形態の変換部115に対応する。
図10は、本実施形態に係るシステム1’における一連の制御に係るフローチャート図である。まず、データ処理サーバ10’の表示制御部1011は、端末20に制約付き最適化問題の数式を入力させるための画面を表示させ、ユーザに数式を入力させる(ステップSQ201)。つぎに取得部1012が取得した数式を要素ごとに分解し、オブジェクト格納部1013は要素の各々をオブジェクトの各々に格納する(ステップSQ203)。なお、数式の取得は、上述したユーザによる数式の入力に限定されず、例えば予めデータ処理サーバ10’等に記憶されている数式の情報を取得することによるものであってもよい。
次に、データ処理部1014は、オブジェクトのそれぞれを、制約条件の数式や目的関数の数式等の数理モデルを表現するオブジェクトをルートノードとし、各要素をリーフノードとし、要素間の関係に基づく木構造のデータ構造を構築する(ステップSQ205)。次に、第1変換部1015は、構築したデータ構造を、2値最適化問題を解くための数式に対応するデータ構造に変換するための変換処理(トランスパイル)を行う(ステップS207)。そして、第2変換部1016は、得られた各オブジェクトについて木構造に基づき変換処理(コンパイル)を行い、2値最適化問題を解析サーバ30で解くためのオブジェクトプログラムを生成する(ステップSQ209)。
以上説明したように、本実施形態に係るシステム1’によれば、一般的な最適化問題に係る数式を入力するだけで、自動的に2値最適化問題を解くためのデータ構造に変換され、アニーリングマシン等による解析にかけることが可能となる。そのため、2値最適化問題を解くために必要な数理モデルについてユーザが詳しくなくても、最適化問題の数式を入力するだけで、より簡単に最適化問題を解くことが可能となる。また、最適化問題を解くために必要な表現に変換する際にデータ構造の形を維持したまま変換処理が行われるので、最適化問題を解くための計算に係る負荷や時間を低減させることができる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
本明細書において説明した装置は、単独の装置として実現されてもよく、一部または全部がネットワークで接続された複数の装置(例えばクラウドサーバ)等により実現されてもよい。例えば、データ処理サーバ10の制御部11およびストレージ13は、互いにネットワークで接続された異なるサーバにより実現されてもよい。また、データ処理サーバ10の機能の全部または一部は、端末20において発揮されてもよい。
本明細書において説明した装置による一連の処理は、ソフトウェア、ハードウェア、及びソフトウェアとハードウェアとの組合せのいずれを用いて実現されてもよい。本実施形態に係るデータ処理サーバ10の各機能を実現するためのコンピュータプログラムを作製し、PC等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
また、本明細書においてフローチャート図を用いて説明した処理は、必ずしも図示された順序で実行されなくてもよい。いくつかの処理ステップは、並列的に実行されてもよい。また、追加的な処理ステップが採用されてもよく、一部の処理ステップが省略されてもよい。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(項目1)
数理最適化問題を数理計画問題のオブジェクトプログラムに変換するための方法であって、
プロセッサが、
前記数理最適化問題に対応する数理モデルを表現する数式に係る情報を取得することと、
前記数式を構成する要素ごとに分解し、要素の各々の情報をオブジェクトの各々に格納することと、
前記数式の要素について、前記数理モデルに対応するオブジェクトをルートノードとし、分解された前記数式の前記要素の各々に係るオブジェクトをリーフノードとする木構造のデータ構造として前記オブジェクトの各々を節点ノードにより関連付けることと、
を含む方法。
(項目2)
項目1に記載の方法であって、
前記木構造を構成するリーフノードのオブジェクトは、前記要素に関するメタ情報を含む、方法。
(項目3)
項目2に記載の方法であって、
前記メタ情報は、前記節点ノードを共有する少なくとも1のオブジェクトに格納される前記数式の要素と関連付けられる、方法。
(項目4)
項目3に記載の方法であって、
前記節点ノードの下位にあるリーフノードのオブジェクトは、前記数式のうち制約条件に係る項を構成する要素を含み、
前記メタ情報は、前記制約条件に関する情報を含む、方法。
(項目5)
項目4に記載の方法であって、
前記制約条件は、等式制約に係る条件および不等式制約に係る条件の少なくともいずれかを含む、方法。
(項目6)
項目2~5のいずれか1項に記載の方法であって、
前記数式の要素は、演算子および文字式の少なくともいずれかを含み、
前記メタ情報は、前記演算子および前記文字式の少なくともいずれかにそれぞれ添えられる添字に関する情報を含む、方法。
(項目7)
項目1~6のいずれか1項に記載の方法であって、
前記数式の要素は、前記数理最適化問題における最適化対象の指標を表すデータを規定する文字式を含み、
前記文字式により規定される前記指標のデータセットは、前記文字式に係る情報をリーフにおいて格納する前記木構造のデータ構造とは異なるデータ構造において設けられる、方法。
(項目8)
項目1~7のいずれか1項に記載の方法であって、
前記数理計画問題は2値最適化問題を含む、方法。
(項目9)
項目8に記載の方法であって、
前記2値最適化問題は、QUBO(制約なし2次2値最適化問題)、PUBO(多項式制約なし2値最適化問題)、HUBO(高次数制約なし2値最適化問題)および制約付き2値最適化問題の少なくともいずれかを含む、方法。
(項目10)
項目1~9のいずれか1項に記載の方法であって、
前記データ構造は、シミュレーテッドアニーリングマシン、量子アニーリングマシンおよび量子ゲート型コンピュータの少なくともいずれかにおける前記数理最適化問題を解くための処理に供されるためのデータ構造である、方法。
(項目11)
項目1~10のいずれか1項に記載の方法であって、
前記ルートノードに格納される前記数理モデルに対応するオブジェクトは、前記数理モデルを表現する数式に関するオブジェクトまたは該数理モデルに対応するコスト関数に関するオブジェクトを含む、方法。
(項目12)
項目1~11のいずれか1項に記載の方法であって、
取得される前記数理最適化問題に対応する数理モデルを表現する数式は、制約付き最適化問題に対応する数式を含み、
前記データ構造を、2値最適化問題に対応するデータ構造に変換することをさらに含む、方法。
(項目13)
コンピュータにより数理最適化問題を数理計画問題のオブジェクトプログラムに変換する処理に供されるデータ構造であって、
前記数理最適化問題に対応する数理モデルを表現する数式を構成する要素ごとに分解された要素の各々の情報をオブジェクトの各々に格納し、
前記数理モデルに対応するオブジェクトをルートノードとし、分解された前記数式の前記要素の各々に係るオブジェクトをリーフノードとする木構造として、前記オブジェクトの各々を節点ノードにより関連付けて保持する、データ構造。
(項目14)
コンピュータを、数理最適化問題を数理計画問題のオブジェクトプログラムに変換する処理に供するためのプログラムであって、
前記コンピュータを、
前記数理最適化問題に対応する数理モデルを表現する数式に係る情報を取得する取得部と、
前記数式を構成する要素ごとに分解し、要素の各々の情報をオブジェクトの各々に格納するオブジェクト格納部と、
前記数式の要素について、前記数理モデルに対応するオブジェクトをルートノードとし、分解された前記数式の前記要素の各々に係るオブジェクトをリーフノードとする木構造のデータ構造として前記オブジェクトの各々を節点ノードにより関連付けるデータ処理部と、
として機能させるプログラム。
1 システム
10 データ処理サーバ
20 端末
30 解析サーバ
111 表示制御部
112 取得部
113 オブジェクト格納部
114 データ処理部
115 変換部

Claims (13)

  1. ロセッサが、
    理最適化問題に対応する数理モデルを表現する数式に係る情報を取得することと、
    前記数式を構成する要素ごとに分解し、要素の各々の情報をオブジェクトの各々に格納することと、
    前記数式の要素について、前記数理モデルに対応するオブジェクトをルートノードとし、分解された前記数式の前記要素の各々に係るオブジェクトをリーフノードとする木構造のデータ構造として前記オブジェクトの各々を節点ノードにより関連付けることと、
    を含む方法。
  2. 請求項1に記載の方法であって、
    前記木構造を構成するリーフノードのオブジェクトは、前記要素に関するメタ情報を含む、方法。
  3. 請求項2に記載の方法であって、
    前記メタ情報は、前記節点ノードを共有する少なくとも1のオブジェクトに格納される前記数式の要素と関連付けられる、方法。
  4. 請求項3に記載の方法であって、
    前記節点ノードの下位にあるリーフノードのオブジェクトは、前記数式のうち制約条件に係る項を構成する要素を含み、
    前記メタ情報は、前記制約条件に関する情報を含む、方法。
  5. 請求項4に記載の方法であって、
    前記制約条件は、等式制約に係る条件および不等式制約に係る条件の少なくともいずれかを含む、方法。
  6. 請求項2~5のいずれか1項に記載の方法であって、
    前記数式の要素は、演算子および文字式の少なくともいずれかを含み、
    前記メタ情報は、前記演算子および前記文字式の少なくともいずれかにそれぞれ添えられる添字に関する情報を含む、方法。
  7. 請求項1~6のいずれか1項に記載の方法であって、
    前記数式の要素は、前記数理最適化問題における最適化対象の指標を表すデータを規定する文字式を含み、
    前記文字式により規定される前記指標のデータセットは、前記文字式に係る情報をリーフにおいて格納する前記木構造のデータ構造とは異なるデータ構造において設けられる、方法。
  8. 請求項1~7のいずれか1項に記載の方法であって、
    前記数理計画問題は2値最適化問題を含む、方法。
  9. 請求項8に記載の方法であって、
    前記2値最適化問題は、QUBO(制約なし2次2値最適化問題)、PUBO(多項式制約なし2値最適化問題)、HUBO(高次数制約なし2値最適化問題)および制約付き2値最適化問題の少なくともいずれかを含む、方法。
  10. 請求項1~9のいずれか1項に記載の方法であって、
    前記データ構造は、シミュレーテッドアニーリングマシン、量子アニーリングマシンおよび量子ゲート型コンピュータの少なくともいずれかにおける前記数理最適化問題を解くための処理に供されるためのデータ構造である、方法。
  11. 請求項1~10のいずれか1項に記載の方法であって、
    前記ルートノードに格納される前記数理モデルに対応するオブジェクトは、前記数理モデルを表現する数式に関するオブジェクトまたは該数理モデルに対応するコスト関数に関するオブジェクトを含む、方法。
  12. 請求項1~11のいずれか1項に記載の方法であって、
    取得される前記数理最適化問題に対応する数理モデルを表現する数式は、制約付き最適化問題に対応する数式を含み、
    前記データ構造を、2値最適化問題に対応するデータ構造に変換することをさらに含む、方法。
  13. ンピュータを、
    理最適化問題に対応する数理モデルを表現する数式に係る情報を取得する取得部と、
    前記数式を構成する要素ごとに分解し、要素の各々の情報をオブジェクトの各々に格納するオブジェクト格納部と、
    前記数式の要素について、前記数理モデルに対応するオブジェクトをルートノードとし、分解された前記数式の前記要素の各々に係るオブジェクトをリーフノードとする木構造のデータ構造として前記オブジェクトの各々を節点ノードにより関連付けるデータ処理部と、
    として機能させるプログラム。
JP2021560741A 2020-06-16 2021-03-29 方法、データ構造およびプログラム Active JP7034528B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022025183A JP2022067101A (ja) 2020-06-16 2022-02-22 方法、データ構造およびプログラム

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2020103540 2020-06-16
JP2020103540 2020-06-16
JP2020216152 2020-12-25
JP2020216152 2020-12-25
PCT/JP2021/013273 WO2021256046A1 (ja) 2020-06-16 2021-03-29 方法、データ構造およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022025183A Division JP2022067101A (ja) 2020-06-16 2022-02-22 方法、データ構造およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2021256046A1 JPWO2021256046A1 (ja) 2021-12-23
JP7034528B1 true JP7034528B1 (ja) 2022-03-14

Family

ID=79267824

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021560741A Active JP7034528B1 (ja) 2020-06-16 2021-03-29 方法、データ構造およびプログラム
JP2022025183A Pending JP2022067101A (ja) 2020-06-16 2022-02-22 方法、データ構造およびプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022025183A Pending JP2022067101A (ja) 2020-06-16 2022-02-22 方法、データ構造およびプログラム

Country Status (4)

Country Link
US (1) US20230195837A1 (ja)
EP (1) EP4167151A4 (ja)
JP (2) JP7034528B1 (ja)
WO (1) WO2021256046A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05158911A (ja) * 1991-07-12 1993-06-25 Hitachi Ltd 粒子シミュレーションプログラム生成方法
JP5158911B2 (ja) 2010-08-27 2013-03-06 古河電気工業株式会社 銅合金板材およびその製造方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3017275C (en) 2016-03-11 2023-05-23 1Qb Information Technologies Inc. Methods and systems for quantum computing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05158911A (ja) * 1991-07-12 1993-06-25 Hitachi Ltd 粒子シミュレーションプログラム生成方法
JP5158911B2 (ja) 2010-08-27 2013-03-06 古河電気工業株式会社 銅合金板材およびその製造方法

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
ROBERT NYSTROM(ロバート ナイストロム)著,武舎 広幸 監訳, 「GAME PROGRAMMING PATTERNS - ソフトウェア開発の問題解決メニュー」, vol. 初版, JPN6022004662, 21 September 2015 (2015-09-21), JP, pages 173 - 179, ISSN: 0004698774 *
Robert Nystrom(ロバート ナイストロム)著,武舎 広幸 監訳,「Game Programming Patterns - ソフトウェア開発の問題解決メニュー」,初版,日本,株式会社インプレス,2015年09月21日,第173~179頁,ISBN: 978-4-8443-3890-1.
TANAHASHI, Kotaro, et al.,"Application of Ising Machines and a Software Development for Ising Machines",Journal of the Physical Society of Japan,2019年05月20日,Vol.88, No.6,Pages 1-10,Article number: 061010, ISSN: 1347-4073, <DOI: 10.7566/JPSJ.88.061010>.
TANAHASHI, KOTARO, ET AL.: ""Application of Ising Machines and a Software Development for Ising Machines"", JOURNAL OF THE PHYSICAL SOCIETY OF JAPAN, vol. 88, no. 6, JPN6021021263, 20 May 2019 (2019-05-20), pages 1 - 10, ISSN: 0004669448 *
T-QARD Crews,「PyQUBO によるアニーリングマシン利活用の効率化」,T-Wave,日本,東北大学量子アニーリング研究開発センター,2018年10月31日,[online], [令和4年1月12日検索],インターネット,<URL: https://qard.is.tohoku.ac.jp/T-Wave/?p=1136>.
T-QARD CREWS: "「PyQUBO によるアニーリングマシン利活用の効率化」", T-WAVE, JPN6022004668, 31 October 2018 (2018-10-31), JP, ISSN: 0004698772 *
石上 達也,「JBASICへの道 第8回 木構造を用いた数式処理」,JAVA Developer,日本,ソフトバンク パブリッシング株式会社,2003年03月01日,No.8,第154~161頁,(UNIX USER 2003年3月号増刊).
石上 達也: "「JBASICへの道 第8回 木構造を用いた数式処理」", JAVA DEVELOPER, JPN6022004663, 1 March 2003 (2003-03-01), JP, pages 154 - 161, ISSN: 0004698773 *

Also Published As

Publication number Publication date
JPWO2021256046A1 (ja) 2021-12-23
EP4167151A4 (en) 2023-12-13
JP2022067101A (ja) 2022-05-02
EP4167151A1 (en) 2023-04-19
US20230195837A1 (en) 2023-06-22
WO2021256046A1 (ja) 2021-12-23

Similar Documents

Publication Publication Date Title
US20120203806A1 (en) Building information management system
US10176236B2 (en) Systems and methods for a distributed query execution engine
US9575950B2 (en) Systems and methods for managing spreadsheet models
JP7206419B2 (ja) 人工知能推奨モデルの特徴処理方法、装置、電子機器、及びコンピュータプログラム
EP3163436A1 (en) Visual software modeling method based on software meta-view for constructing software view
AU2014201014A1 (en) Automated business system generation
Steinbrink et al. Smart grid co-simulation with MOSAIK and HLA: a comparison study
US11557088B2 (en) Generating space models from map files
CN112199086A (zh) 自动编程控制系统、方法、装置、电子设备及存储介质
CN112463159B (zh) 编译方法、装置、电子设备和存储介质
Ferenc et al. Deep-water framework: The Swiss army knife of humans working with machine learning models
US8296725B2 (en) Framework for variation oriented analysis for service-oriented architecture
Dekkati et al. React Native for Android: Cross-Platform Mobile Application Development
Flotyński et al. Customization of 3D content with semantic meta-scenes
Ball et al. An open source analysis framework for large-scale building energy modeling
CN114341795A (zh) 用于系统设计的会话设计机器人
CN114741085A (zh) 数据处理方法、装置、设备及存储介质
JP7034528B1 (ja) 方法、データ構造およびプログラム
Becheler et al. The quetzal coalescence template library: a C++ programmers resource for integrating distributional, demographic and coalescent models
Walczak et al. Inference-based creation of synthetic 3D content with ontologies
Korongo et al. A Review Paper on Application of Model-Driven Architecture in Use-Case Driven Pervasive Software Development
KR20230142799A (ko) 다수의 부모 노드들을 갖는 자식 노드들의 도표화
Quammen Scientific Data Analysis and Visualization with Python, VTK, and ParaView.
Nassehi et al. Modeling of machine tools using smart interlocking software blocks
EP2774049A1 (en) Sql constructs ported to non-sql domains

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211012

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20211012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211223

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220124

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: 20220203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220222

R150 Certificate of patent or registration of utility model

Ref document number: 7034528

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150