JP6778942B1 - スケジューリング問題の近似解を算出する方法およびプログラム - Google Patents

スケジューリング問題の近似解を算出する方法およびプログラム Download PDF

Info

Publication number
JP6778942B1
JP6778942B1 JP2020113421A JP2020113421A JP6778942B1 JP 6778942 B1 JP6778942 B1 JP 6778942B1 JP 2020113421 A JP2020113421 A JP 2020113421A JP 2020113421 A JP2020113421 A JP 2020113421A JP 6778942 B1 JP6778942 B1 JP 6778942B1
Authority
JP
Japan
Prior art keywords
solution
operations
calculation step
solution calculation
computer
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
JP2020113421A
Other languages
English (en)
Other versions
JP2022011972A (ja
Inventor
文雄 石▲崎▼
文雄 石▲崎▼
Original Assignee
株式会社モーダルステージ
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 株式会社モーダルステージ filed Critical 株式会社モーダルステージ
Priority to JP2020113421A priority Critical patent/JP6778942B1/ja
Application granted granted Critical
Publication of JP6778942B1 publication Critical patent/JP6778942B1/ja
Publication of JP2022011972A publication Critical patent/JP2022011972A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • General Factory Administration (AREA)

Abstract

【課題】複数のオペレーションのそれぞれを複数のタイムスロットのどこで実行するかのスケジューリング問題の近似解を算出する方法を提供する。【解決手段】複数のオペレーションに課される制約条件を満たし、かつ、予め与えられた終了時間Tuで複数のオペレーションを終了できる実行可能解を見つける解算出ステップと、解算出ステップで実行可能解が見つかった場合に、終了時間TuをTu−1に更新して解算出ステップを繰り返す繰返ステップと、解算出ステップで実行可能解が見つからなかった場合に、繰返ステップを終了する終了ステップと、実行可能解を出力する出力ステップとを備え、解算出ステップにおいて、終了時間までのタイムスロットで実行するオペレーションを貪欲法で決定する。【選択図】図6

Description

本発明は、スケジューリング問題の近似解を算出する方法およびプログラムに関する。
非特許文献1には、TDMAスケジューリング問題が記載されている。
[先行技術文献]
[非特許文献]
[非特許文献1] M. Sasaki et al "TDMA scheduling problem avoiding interference in multi-hop wireless sensor network," Journal of Advanced Mechanical Design, Systems, and Manufacturing, vol. 10, 2016.
本発明の第1の態様においては、複数のオペレーションのそれぞれを複数のタイムスロットのどこで実行するかのスケジューリング問題の近似解を算出する方法であって、複数のオペレーションに課される制約条件を満たし、かつ、予め与えられた終了時間Tuで複数のオペレーションを終了できる実行可能解を見つける解算出ステップと、解算出ステップで実行可能解が見つかった場合に、終了時間TuをTu−1に更新して解算出ステップを繰り返す繰返ステップと、解算出ステップで実行可能解が見つからなかった場合に、繰返ステップを終了する終了ステップと、実行可能解を出力する出力ステップとを備え、解算出ステップにおいて、終了時間までのタイムスロットt(t=1、・・・、Tu)で実行するオペレーションを貪欲法で決定する。
本発明の第2の態様においては、コンピュータで、複数のオペレーションのそれぞれを複数のタイムスロットのどこで実行するかのスケジューリング問題の近似解を算出するプログラムであって、複数のオペレーションに課される制約条件を満たし、かつ、予め与えられた終了時間Tuで複数のオペレーションを終了できる実行可能解を見つける解算出ステップと、解算出ステップで実行可能解が見つかった場合に、終了時間TuをTu−1に更新して解算出ステップを繰り返す繰返ステップと、解算出ステップで実行可能解が見つからなかった場合に、繰返ステップを終了する終了ステップと、実行可能解を出力する出力ステップとを実行させ、解算出ステップにおいて、終了時間までのタイムスロットt(t=1、・・・、Tu)で実行するオペレーションを貪欲法で決定する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本実施形態の方法を適用するための計算システム100を概念的に示す。 計算システム100を用いて近似解を算出する問題の一例を説明する概略図である。 上記スケジューリング問題を定式化するのに用いられる決定変数を説明するための模式図である。 順序制約をグラフ理論で説明する模式図である。 同時処理制約をグラフ理論で説明する模式図である。 本実施形態で近似解を算出する動作のフローの一例を示す。 与えられた収集時間の上界値で実行可能解を見つける方法をより詳細に示した動作フローの一例である。 図6のステップS103で決定変数を枝刈りした結果を模式的に示す。 イジングモデル200の模式図である。 本実施形態の方法と比較例の方法で計算にかかった時間を示すグラフである。 それぞれの方法で得られた最小の収集時間を示す表である。 上記実施例において枝刈りをした場合としない場合とで、センサーノードの数に対する決定変数の数を比較したグラフである。 計算システム100を用いて近似解を算出する問題の他の例を説明する概略図である。 順序制約をグラフ理論で説明する模式図である。 同時処理制約をグラフ理論で説明する模式図である。 本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ1200の例を示す。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は本実施形態の方法を適用するための計算システム100を概念的に示す。本実施形態では、複数のオペレーションのそれぞれを複数のタイムスロットのどこで実行するかというスケジューリング問題の近似解を算出する。
計算システム100は、コンピュータ102とイジングマシン120とを備える。コンピュータ102はパーソナルコンピュータなどの古典的な計算機である。ここで「古典的な」とは、擬似的または実際の量子力学的効果を利用した計算機であるイジングマシン120と区別するための表現である。
コンピュータ102は、設定部110、格納部112及び決定部114を有する。設定部110はキーボード等の入力インターフェースによりユーザから、本実施形態で近似解を得ようとする問題の入力を受け付ける。設定部110はさらに、入力された問題に応じた情報を格納部112から読み出し、決定部114で計算が可能な問題を設定する。
決定部114は、設定部110により設定された問題に対する近似解を算出する。その場合に、決定部114はイジングマシン120を用いる。決定部114はさらに、算出した近似解を表示装置等の出力インターフェースによりユーザに提示する。それに加えてまたはそれに代えて、決定部114は、近似解を他の情報機器が読み取り可能なデータとして出力してもよい。
格納部112は、ユーザから入力された情報、設定部110および決定部114から参照される情報、例えば計算ライブラリなど、を格納する。格納部112はさらに決定部114で算出された近似解も格納する。
イジングマシン120は、後述するイジングモデルについて、与えられた物理量で基底状態を計算する装置である。その場合に、量子アニーリングを用いる。アニーリングを用いているので、イジングマシン120はアニーリングマシンとも呼ばれる。
図2は、計算システム100を用いて近似解を算出する問題の一例を説明する概略図である。図2はセンサーネットワークモデルと呼ばれるものの一例を示している。
センサーネットワークモデルでは、図中で番号が付された黒丸で示すセンサーノードで生成された全てのデータを、図中でBSと記されたベースステーションに集める。各センサーノードで生成されるデータは、例えば、気圧や温度などの物理量を計測したものである。図2の例で12個のセンサーノードが示されているが、これは説明のための例であって、11個以下でもよいし、13個以上でもよい。
生成されたデータのパケットはツリー状のネットワークを通じて下記の通りベースステーションに運ばれる。当該ツリーは近似解の算出に先立って与えられており、最小全域木を構成している。なお、ツリー構造になっていれば必ずしも最小全域木でなくてよい。
子ノードを有しているセンサーノードは、自身の全ての子ノードからデータを受信するまで、自身が生成したデータを含むパケットを自身の親ノードに送信するのを待たなければならない。自身の全ての子ノードからデータを受信した後に、当該センサーノードは子ノードから受信した全てのデータと自身で生成したデータとを一つのパケットに集約して、当該パケットを自身の親ノードに送信する。この処理が繰り返され、センサーノードで生成された全てのデータがツリーの根にあたるベースステーションに最終的に集められる。ここで、センサーノードで生成された全てのデータがベースステーションに集められるまでに要する時間を収集時間と呼ぶ。この収集時間は短いほど好ましい。
媒体アクセス制御には、TDMA(すなわち時分割多重アクセス方式)が採用される。ここで、1つのパケットの伝送時間を1つのタイムスロットとする。センサーノードは1つの無線チャンネルを共用しているので、伝送スケジュールはセンサーノード間の干渉を避ける必要がある。なお、干渉がない限り伝送は常に成功するものと仮定する。
各センサーノードの伝送半径を一様にrとすると、干渉は下記の条件で生じる。あるタイムスロットにおいてセンサーノードiからセンサーノードjにパケットを送るとする。センサーノードiとセンサーノードjとの距離はr以下である(隣接している、ともいう)。センサーノードjに隣接する他のセンサーノードが存在して、同じタイムスロットで当該他のセンサーノードがパケットを送信する場合にのみ、センサーノードiからセンサーノードjへの伝送に対して干渉が生じる。
図2の例を用いて干渉が生じる場合と生じない場合とを説明する。同じタイムスロットにおいて、センサーノード1、4および9がそれぞれの親ノード5、8および7にパケットを伝送すると仮定する。図2において(5)、(7)および(8)の破線はそれぞれセンサーノード5、7および8の伝送半径を示す。
センサーノード9はセンサーノード7にパケットを送るが、センサーノード7はセンサーノード1とも隣接しており(すなわち受信側であるセンサーノード7の伝送半径以内に、受信すべき送信側のセンサーノード9以外に送信側のセンサーノード1も入っており)、センサーノード1も同じタイムスロットでパケットを送る。したがって、センサーノード7において、センサーノード1とセンサーノード9との間に干渉が生じる。
一方、センサーノード4はセンサーノード8にパケットを送るが、センサーノード1はセンサーノード8とは隣接していない(すなわち受信側であるセンサーノード8の伝送半径内に、受信すべき送信側のセンサーノード4は入っているが、他の送信側であるセンサーノード1は入っていない)。したがって、センサーノード4とセンサーノード1とが同じタイムスロットでパケットを送っても、センサーノード8においてそれらの間に干渉は生じない。
以上の通り、図2に示すようなセンサーネットワークモデルに対するスケジューリング問題を整数計画法として定式化することができる。この問題で目標とするのは、干渉が生じないという条件の下で、複数のセンサーノードからの全てのデータをできるだけ早くベースステーションに集めるようなスケジュールを決定することである。付言すれば、当該スケジューリング問題は、複数のオペレーションとしての複数のセンサーノードからの伝送のそれぞれを複数のタイムスロットのどこで実行するか、というスケジューリング問題になっている。
定式化のために下記の通り変数を定義する。
図3は上記スケジューリング問題を定式化するのに用いられる決定変数xitを説明するための模式図である。決定変数xitは0か1かのいずれかの値を取る。決定変数xitは、センサーノードiがタイムスロットtでパケットを送る場合は値1を取り、それ以外は値0を取る。決定変数xitは図3に示すように、センサーノードの数×タイムスロットの数の行列の要素であるともいえる。
決定変数xitを用いると、TDMAスケジューリング問題は下記の通り定式化される。
目的関数(1)は、収集時間を最小化することに対応している。制約条件(2)は、干渉を生じるいかなるセンサーノードの組も同時に伝送できないことに対応している。制約条件(3)は、いずれのセンサーノードも自身の子ノードのすべてが伝送を完了するまでパケットを伝送できないことに対応している。制約条件(4)は、いずれのセンサーノードも1からTまでのタイムスロットの間にただ1回だけパケットを送ることに対応している。制約条件(5)は、すべての決定変数は0か1かの値を取ることに対応している。
上記数2で与えられるようなスケジューリング問題は決定変数の数が多く、NP困難である。NP困難な問題の近似解を得る方法として貪欲法がある。貪欲法は、当該スケジューリング問題に適用すると、制約条件を満たしつつ各々のタイムスロットで最も多くの数のセンサーノードからパケットを送ることができるようなノード伝送のスケジューリングを選ぶことに相当する。
スケジューリング問題に貪欲法を適用する場合に、具体的な解法としてグラフ理論におけるMIS(Maximum Independent Set)問題を用いることができる。
図4は、順序制約をグラフ理論で説明する模式図である。図4は図2のネットワークモデルに対応したグラフである。当該順序制約は、センサーノードがパケットを送る順序に関する制約条件であって、制約条件(3)に対応する。
順序制約はグラフ理論上で有向グラフとして表される。TDMAスケジューリング問題の場合には、順序制約の有向グラフは図4に例示するように連結成分は1つで、その成分はツリー構造になる。
図5は、同時処理制約をグラフ理論で説明する模式図である。図5は図2のネットワークモデルに対応したグラフである。当該同時処理制約は、複数のセンサーノード間での干渉に関する制約条件であって、制約条件(2)に対応する。
同時処理制約のグラフ理論上のグラフは、伝送半径内にあるセンサーノード間をエッジ(線)で結んだものであり、センサーノードの配置と伝送半径とによってさまざまな形になり得る。干渉に関する制約条件は、当該グラフにおいてエッジで結ばれたセンサーノードの組は同じタイムスロットにおいて選択できないことに対応する。
図4および図5を利用したMIS問題は、図4の順序を満足しつつ、図5で互いにエッジで結ばれないようなセンサーノードをできるだけ多く選択することに対応する。
MIS問題を用いた貪欲法を適用すると決定すべき決定変数の数は大幅に減る。しかしながら、MIS問題自体もNP困難であるから、MIS問題を用いた貪欲法を適用したスケジューリング問題も依然としてNP困難である。そこで本実施形態では図6以降で説明するように、ある収集時間で実行可能解の算出を試み、実行可能解が見つかったら収集時間を短くして改めて実行可能解の算出を試みることを繰り返すことにより、近似解を算出する。
図6は、本実施形態で近似解を算出する動作のフローの一例を示す。まず、問題を設定する(S101)。この場合に、設定部110はユーザから問題の種類、当該問題で用いられる変数、制約条件等の入力を受け付ける。図2に示す例の場合、問題として「TDMAスケジューリング問題」、当該問題で用いられる変数であるセンサーノードの数とその配置、および、上記(2)から(5)の制約条件の入力を受け付ける。センサーネットワークのツリーは、ユーザから直接入力されてもよいし、設定部110がセンサーノードの数とその配置に基づいて計算してもよく、例えば最小全域木を構成するように計算してもよい。
設定部110はさらに繰り返し計算のための初期値を設定する(S102)。具体的には、収集時間Tの上界値Tuをセンサーノードの数と同じNとする。なお、ノードの数Nよりも小さい上界値で実行可能解が存在することが予め分かっている場合には、当該上界値を初期値として用いてもよい。
設定部110はさらに、当該問題に対して決定変数の数を減らすための枝刈りを行う(S103)。設定部110はさらに、上界値Tuで伝送が終了する実行可能解を見つける試みをした回数kを0に初期設定する(S104)。決定部114は枝刈りで残った決定変数について、実行可能解を算出する(S105)。実行可能解は、複数のセンサーノードからの伝送に課される制約条件を満たし、かつ、予め与えられた収集時間の上界値Tu以内で全ての伝送を終了できるスケジュールである。
実行可能解が見つかった場合に(S107:Yes)、収集時間の上界値Tuを1つ短くした値Tu−1に更新し(S111)、ステップS103からS107を繰り返す。決定部114は見つけた実行可能解を、その時の上界値Tuに対応付けて格納部112に格納する。
一方、実行可能解が見つからない場合には(S107:No)、予め設定された上限回Kまで(S113:No)、回数kに1を加えて、ステップS105からS107を繰り返す(S117)。上限回Kまで試みたにも関わらず実行可能解が見つからなかった場合に(S107:No,S113:Yes)、繰り返しを終了し、決定部114は格納部112に格納されている実行可能解を近似解として出力する(S115)。この近似解は、最後に試みた上界値Tuの1つ前に試みた上界値Tu+1を収集時間Tとした実行可能解である。
図7は与えられた上界値Tuで実行可能解を見つける方法(図6のステップ105)をより詳細に示した動作フローの一例である。まず、タイムスロットtの初期値を1に設定する(S201)。当該タイムスロットtにおいて、貪欲法で、すなわち、送信可能なできるだけ多くのノードiを選択する(S203)。「送信可能な」とは制約条件を満たして、ということに相当する。
式で示すと下記のように表せる。
ここで、(15)が目的関数であり、(16)から(18)は制約条件である。なお、0から上界値Tuまでのあるタイムスロットt(t=0、1、・・・、Tu)に注目しているので、決定変数はzのように、添え字tの記載を省略することができる(図3も参照)。またfjkは干渉行列Fのjk成分であり、制約条件(16)が制約条件(2)に対応するように設定される。
(i)は、タイムスロットiの時点で、未送信かつ自身の子ノードがすべて送信済であるセンサーノードの集合である。すなわち、タイムスロットiの送信候補の集合である。図4と対応させると下記の通りである。図4のツリーのグラフからすでに送信したセンサーノードを除いた部分グラフを考える。その部分グラフもツリーを構成しており、そのツリーのリーフノードの集合がV(i)である。
(i)は、遅くともタイムスロットiまでに送信しなければならないセンサーノードの集合である。すなわち、送信時間の上界値がiであるノードの集合である。
上界値Tuまでのタイムスロットtの各段階で貪欲法が適用される(S205、S207:No)。これにより、1から上界値Tuまでのタイムスロットtに対する実行可能解が算出される。なお、タイムスロットtが上界値Tuに達するまでのいずれかの時点で送信可能なセンサーノードiが選択できなくなった場合には、「実行可能解なし」として計算を中止する。
図8は、図6のステップS103で決定変数を枝刈りした結果を模式的に示す。決定変数の枝刈りとは、言い換えれば、実行可能解を算出するのに先立って、制約条件から解析的に決定される、または、既知の、決定変数とその値を特定することにより、実行可能解を算出する計算から当該決定変数に関する計算を除くことである。これにより、実行可能解の算出において、計算すべき決定変数の数を減らすことである。
枝刈りは各制約条件に基づいて行われる。例えば、図4の順序制約から各センサーノードiの下界l(i)を決定する。当該下界l(i)は、センサーノードiがいつのタイムスロットまでスロットを送ることができないか、を示している。例えば、図4に示す例のうちの、センサーノード8は順序制約からセンサーノード10とセンサーノード4の伝送の後でなければパケットを送ることができない。したがって、タイムスロット2が下界となる。
さらに、図4の順序制約から各ノードiの上界u(i)を決定する。当該上界u(i)は、センサーノードiがいつのタイムスロットまでにスロットを送っていなければならないか、を示している。例えば、図4に示す例のうちの、センサーノード3は、順序制約からベースステーションBSまでセンサーノード6を経由しなければならないから、収集時間Tの上界値Tuに対してタイムスロット(Tu−1)までにスロットを送っていなければならない。したがって、タイムスロット(Tu−1)が下界となる。
このように、ノードiごとに、順序制約から上界u(i)および上界u(i)が決まり、当該下界以前のタイムスロットt(t<l(i))の決定変数、および、上界以後のタイムスロットt(u(i)<t)の決定変数xitが0であることが解析的にわかる。よって、当該決定変数(より具体的には、当該決定変数xitに対応するタイムスロットtの決定変数z)は図6のステップS105の計算から除く。図8では図3の決定変数のうち、そのように枝刈りされた部分がグレーで表示されている。
なお、図6のステップS111で収集時間Tの上界値Tuを減らすことも、計算すべき決定変数を減らす枝刈りになっている。すなわち、上界値Tu以後のタイムスロットt(Tu<t)の決定変数xitは0であることが明らかであって、計算不要である。この場合には、当該変数枝刈りは順序制約と同時処理制約の両方の条件に基づいているといえる。
図7のステップS203で用いられる目的関数(15)は、制約条件(16)をペナルティ項として加えた下記数4のH(i)を最小化することに対応する。
ここで、γ (i)は上界u(i)に近いセンサーノードiほど選択されやすくするための重み付け係数であり、下記数5で表される。また、αはペナルティ項自体の重み付け係数である。
上記目的関数H(i)は、0または1の2値のいずれかをとるzを変数とする高々2次の関数である。よって、目的関数H(i)を最小にするzの組み合わせを見つけるという問題が、2つの状態のいずれかをとり得る複数のビットからなる物理的な系の、目的関数Hに対応するエネルギーの最小値すなわち基底状態をとるときの各ビットの状態の組み合わせを見つける問題に帰着する。2つの状態のいずれかをとり得る複数のビットからなる物理的な系の一例として、イジングモデルがある。
図9は、イジングモデル200の模式図である。イジングモデル200は、広義には、2つの量子化された状態のいずれかをとり得る、離散的に配された、複数のビットの集合である。イジングモデル200のハードウェアの例は、格子状の各点に配され、+1または−1のスピン状態σのいずれかをとり得る複数の磁気素子である。j番目の磁気素子とk番目の磁気素子とは結合定数Jjkで相互作用する。隣接していない磁気素子間にも相互作用があってよい。また、j番目の磁気素子には外部磁場hが働く。
ここで、決定変数zから状態σへは、σ=1−2zで変数変換できる。よって、上記数4の目的関数Hは下記数6の目的関数Hと等価であるといえる。なお数6において、σに依らない定数項は以降の計算に影響を与えないので省略した。
当該評価関数Hはイジングモデル200におけるハミルトニアンであるともいえる。上記変数変換は線形なので、上記数6の評価関数Hも、σの高々2次の関数である。これにより、あるタイムスロットtにおいて、ネットワークモデルの複数のセンサーノードjにおけるオペレーション、すなわち、伝送するかしないかを、イジングモデル200の複数のビット202、204のアップ(σ=+1)またはダウン(σ=−1)に対応させた評価関数Hが設定された。
付言すれば、タイムスロットtで複数のオペレーションをそれぞれ実行するか否かを示す決定変数の値を、イジングモデルの複数のビットの複数の状態に対応させ、貪欲法に対応しかつ制約条件に基づいた目的関数を複数のビットの関数として設定する設定ステップが実行されたことになる。その場合に、オペレーションの時間的な優先度と制約条件に基づいて、量子アニーリングにおける複数のビットの間の結合定数に相当する物理量と各ビットに作用する外場に相当する物理量が決定されているといえる。
図9の例では、ビット202がスピン状態「−1」である状態が示されており、これは当該ビットに対応する決定変数の値が「1」であることに対応する。一方、ビット202がスピン状態「+1」である状態が示されており、これは当該ビットに対応する決定変数の値が「0」であることに対応する。
決定部114は、上記数6で示された目的関数Hをイジングマシン120で評価する(S113)。より具体的には、イジングモデル200において目的関数Hに対応するエネルギーが最小値となる基底状態を、イジングマシン120で計算する。本実施形態ではイジングマシン120として量子アニーリングに特化した計算機を用いる。量子アニーリングに特化した計算機では、初期状態から基底状態への状態遷移が量子力学に裏付けられた物理現象として計算機内で現実に発現することで計算が実行される。
量子アニーリングでは、イジングモデルの各スピンの状態を横磁場項の固有状態であるスピン+1とスピン−1の均等な重ね合わせ状態に初期設定する。その後徐々に横磁場項を小さくし、結合定数Ji jと外場hの影響を相対的に大きくしていくと、イジングモデルのハミルトニアン(すなわち評価関数H)の基底状態を構成する各スピンが+1または−1のいずれかの状態に近づいていく。最終的に横磁場項をゼロにすると基底状態が選ばれる。
決定部114は、イジングマシン120の計算結果に基づいて、ネットワークモデルの各センサーノードの決定変数の値を決定する。この場合、上記のσ=1−2ξの関係から、イジングモデル2040における計算結果におけるj番目のビットのスピン状態σを、計算の対象としているタイムスロットtにおけるネットワークモデルのセンサーノードjの決定変数zに割り当てる。付言すれば、目的関数をイジングマシンで評価した結果に含まれる複数のビットの状態に基づいて、複数のオペレーションのそれぞれを、タイムスロットtで実行すべきかを決定する決定段階が実行されたといえる。
以上、本実施形態によれば、NP困難なスケジューリング問題に対し、複数のオペレーションに課される制約条件を満たし、かつ、予め与えられた終了時間Tuで複数のオペレーションを終了できる実行可能解を見つけ、見つかった場合に、終了時間TuをTu−1に更新して実行可能解を見つけることを繰り返すことにより近似解を算出する。これにより、最適解に近い近似解を現実的な時間内で算出することができる。
さらに、実行可能解を見つける計算に先立って制約条件から決定変数を予め枝刈りする。よって、計算すべき組み合わせの数を減らして計算の時間をさらに短くすることができる。さらに、実行可能解を見つける計算においてイジングモデルの基底状態を算出する量子アニーリングを用いることにより古典的なコンピュータで現実的な時間内で算出できない数の決定変数に対しても実行可能解を算出することができる。
[実施例]
図10は本実施形態の方法と比較例の方法で計算にかかった時間を示すグラフである。図11はそれぞれの方法で得られた最小の収集時間を示す表である。
図10および図11において、QA(1)は本実施形態においてα=2.5、K=1とした計算例である。QA(2)は本実施形態においてα=2.5、K=2とした計算例である。G(opt)はGurobi Optimizerと呼ばれるソルバーをTDMA問題に適用したものであり、TDMA問題の最適解を得ることができる。G(MIS)は、TDMA問題の近似解を貪欲法で算出するにあたり、各タイムスロットtのMIS問題にGurobi Optimizerを適用したものである。よって、各MIS問題に対しては最適解が得られるが、その解がTDMA問題の最適解であるとは限らない。SFUIは、非特許文献1で提案されている方法である。NXは、Pythonのパッケージとして提供されているNetworkXを、TDMA問題の近似解を貪欲法で算出するにあたり、各タイムスロットtのMIS問題に適用したものである。
センサーネットワークの領域として、頂点[0,0]、[0,1]、[1,0]および[1,1]で囲まれる正方形を考えた。センサーノードは当該領域内に一様に分布し、伝送半径を0.4と仮定した。ベースステーションBSは[0.5,1.05]にあるとした。センサーネットワークのツリーは最小全域木を仮定した。センサーノードの数は、16、28、40、52、64、76、88とした。
計算にはいずれも同一の古典的コンピュータを用いた。QA(1)およびQA(2)についてはさらにイジングマシンとして超電導閉回路でビットが構成されている量子アニーリングマシンを用いた。
図10は、各方法について5回ずつ計算をした計算時間の結果を示している。エラーバーは5回のうちの最大値と最小値を示している。この結果によれば、QA(1)、QA(2)およびNXは、G(Opt)、SFUIおよびG(MIS)に比べて非常によい。G(Opt)の計算時間はセンサーノードの数が増えると急激に長くなる。これに対して、QA(1)、QA(2)およびNXの計算時間もセンサーノードの数が増えると長くはなるものの、G(Opt)に比べれば非常に小さい。
図11は、各方法で計算して得られた近似解を示している。QA(1)およびQA(2)については、5回の結果の平均値、最小値および最大値を載せた。問題のサイズが小さいと(センサーノードの数が28まで)、全ての方法で最適解が得られている。センサーノードの数が52になると、QA(1)、QA(2)およびG(MIS)は最適解を得られているが、SFUIおよびNXは得られていない。センサーノードの数が76になると、QA(2)は依然として5回の結果の中で最適解が得られているが、QA(1)、G(MIS)、SFUIおよびNXでは得られていない。
上記実施例によれば、本実施形態の方法は、TDMAスケジューリング問題において、センサーノードの数が多くても最適解そのものまたはそれに近い近似解を現実的な時間内で算出することができる。
図12は、上記実施例において枝刈りをした場合としない場合とで、センサーノードの数に対する決定変数の数を比較したグラフである。図12に示すように、枝刈りをしない場合にはセンサーノードの数が増えるに従い、決定変数の数も急激に増える。一方、枝刈りをすることにより、センサーノードの数が増えても、決定変数の数の増加を抑えることができている。
図13は、計算システム100を用いて近似解を算出する問題の他の例を説明する概略図である。図13はジョブショップスケジューリング問題と呼ばれるものの一例を示している。
ジョブショップスケジューリング問題は、複数のジョブを複数の機械を用いてなるべく早く処理するスケジューリングを考えるものである。それぞれのジョブは複数のオペレーションからなっており、オペレーションのそれぞれには使うべき機械とかかる時間とが設定されている。図13の例は3つのジョブを3つの機械を用いて処理する問題の例になっている。ジョブショップスケジューリング問題も、オペレーションを図2のセンサーノードに対応させて考えれば、TDMAスケジューリング問題と同様の方法により近似解を得ることができる。
図14は、図13のジョブショップスケジューリング問題の順序制約をグラフ理論で説明する模式図である。丸の中の番号はオペレーションの番号を示す。順序制約の有向グラフは図14に例示するように連結成分はジョブの数と同じだけあり、それぞれの成分はシンプルなツリー構造になる。
図15は、図13のジョブショップスケジューリング問題の同時処理制約をグラフ理論で説明する模式図である。同時処理制約のグラフは図15に例示するように連結成分は機械の数と同じだけあり、それぞれの成分は完全グラフを構成している。
ジョブショップスケジューリング問題においても、図14および図15を利用してMIS問題を解くことにより、近似解を得ることができる。付言すれば、本実施形態の方法は、下記のように統合されて一般化した問題に適応できる。
・ジョブは1つまたは複数で、各ジョブは複数のオペレーションからなるツリー構造。
・オペレーションごとに処理時間は同じであっても異なっていてもよい。
・制約条件1:ジョブを構成するオペレーションの順序制約。
・制約条件2:オペレーションの同時処理制約。
・制約条件3:各オペレーションはちょうど1回ずつ処理される。
上記実施形態においては、イジングマシン120として、量子アニーリングに特化した計算機を用いた。しかしながら、イジングマシン120はこれに限られず、例えば、シミュレーテッドアニーリングに特化した計算機を用いてもよい。シミュレーテッドアニーリングに特化した計算機は、シミュレーテッドアニーリングを高速に実行できる計算機を含む。
シミュレーテッドアニーリングは、イジングモデルの各スピンの状態に対応するビットを古典的なコンピュータ上で表し、熱ゆらぎを表す古典的な確率過程で最適解を探索する方法である。この場合に、上記Jijは複数のビットの間の積に掛ける係数であり、hは各ビットに掛ける係数に相当する量である。
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
図16は、本発明の複数の態様が全体的または部分的に具現化されてよい古典的なコンピュータ1200の例を示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ1200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU1212によって実行されてよい。
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、グラフィックコントローラ1216、およびディスプレイデバイス1218を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、ハードディスクドライブ1224、DVD−ROMドライブ1226、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ1220を介してホストコントローラ1210に接続されている。コンピュータはまた、ROM1230およびキーボード1242のようなレガシの入/出力ユニットを含み、それらは入/出力チップ1240を介して入/出力コントローラ1220に接続されている。
CPU1212は、ROM1230およびRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等またはそれ自体の中にCPU1212によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
通信インターフェース1222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ1224は、コンピュータ1200内のCPU1212によって使用されるプログラムおよびデータを格納する。DVD−ROMドライブ1226は、プログラムまたはデータをDVD‐ROM1201から読み取り、ハードディスクドライブ1224にRAM1214を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、および/またはコンピュータ1200のハードウェアに依存するプログラムを格納する。入/出力チップ1240はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ1220に接続してよい。
プログラムが、DVD−ROM1201またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ1224、RAM1214、またはROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ1200の使用に従い情報の操作または処理を実現することによって構成されてよい。
例えば、通信がコンピュータ1200および外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェース1222に対し、通信処理を命令してよい。通信インターフェース1222は、CPU1212の制御下、RAM1214、ハードディスクドライブ1224、DVD‐ROM1201、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
また、CPU1212は、ハードディスクドライブ1224、DVD‐ROMドライブ1226(DVD‐ROM1201)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックする。
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ1200上またはコンピュータ1200近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
100 計算システム、102 コンピュータ、110 設定部、112 格納部、114 決定部、120 イジングマシン、200 イジングモデル、202、204 ビット

Claims (8)

  1. 複数のオペレーションのそれぞれを複数のタイムスロットのどこで実行するかのスケジューリング問題の近似解を算出する方法であって、
    前記複数のオペレーションに課される制約条件を満たし、かつ、予め与えられた終了時間Tuで前記複数のオペレーションを終了できる実行可能解を見つける解算出ステップと、
    前記解算出ステップで実行可能解が見つかった場合に、終了時間TuをTu−1に更新して前記解算出ステップを繰り返す繰返ステップと、
    前記解算出ステップで実行可能解が見つからなかった場合に、前記繰返ステップを終了する終了ステップと、
    前記実行可能解を出力する出力ステップと
    を備え、
    前記解算出ステップにおいて、前記終了時間までのタイムスロットt(t=1、・・・、Tu)で実行するオペレーションを貪欲法で決定する、方法。
  2. 前記解算出ステップは、
    前記タイムスロットtで前記複数のオペレーションをそれぞれ実行するか否かを示す決定変数の値を、イジングモデルの複数のビットの複数の状態に対応させ、前記貪欲法に対応しかつ前記制約条件に基づいた目的関数を前記複数のビットの関数として設定する設定ステップと、
    前記目的関数をイジングマシンで評価した結果に含まれる前記複数のビットの状態に基づいて、前記複数のオペレーションのそれぞれを、前記タイムスロットtで実行すべきかを決定する決定ステップと
    を含む請求項1に記載の方法。
  3. 前記設定ステップにおいて、オペレーションの時間的な優先度と前記制約条件に基づいて、量子アニーリングにおける前記複数のビットの間の結合定数に相当する物理量と各ビットに作用する外場に相当する物理量を決定し、
    前記決定ステップで前記イジングマシンとして前記量子アニーリングに特化した計算機を用いる請求項2に記載の方法。
  4. 前記設定ステップにおいて、オペレーションの時間的な優先度と前記制約条件に基づいて、シミュレーテッドアニーリングにおける前記複数のビットの間の積に掛ける係数と各ビットに掛ける係数に相当する量を決定し、
    前記決定ステップで前記イジングマシンとして前記シミュレーテッドアニーリングに特化した計算機を用いる請求項2に記載の方法。
  5. 前記解算出ステップの繰り返しに先立って、前記制約条件から解析的に決定される決定変数を前記解算出ステップで決定する決定変数から除く変数枝刈りを行う変数刈りステップをさらに備える請求項1から4のいずれか1項に記載の方法。
  6. 前記変数刈りステップで用いられる前記制約条件には、前記複数のオペレーションの順序の制約の条件、および、同時処理の制約の条件の少なくとも一方が含まれる請求項5に記載の方法。
  7. 前記貪欲法としてグラフ理論におけるMIS(Maximum Independent Set)問題を用いる請求項1から6のいずれか1項に記載の方法。
  8. コンピュータで、複数のオペレーションのそれぞれを複数のタイムスロットのどこで実行するかのスケジューリング問題の近似解を算出するプログラムであって、
    前記複数のオペレーションに課される制約条件を満たし、かつ、予め与えられた終了時間Tuで前記複数のオペレーションを終了できる実行可能解を見つける解算出ステップと、
    前記解算出ステップで実行可能解が見つかった場合に、終了時間TuをTu−1に更新して前記解算出ステップを繰り返す繰返ステップと、
    前記解算出ステップで実行可能解が見つからなかった場合に、前記繰返ステップを終了する終了ステップと、
    前記実行可能解を出力する出力ステップと
    を実行させ、
    前記解算出ステップにおいて、前記終了時間までのタイムスロットt(t=1、・・・、Tu)で実行するオペレーションを貪欲法で決定する、プログラム。
JP2020113421A 2020-06-30 2020-06-30 スケジューリング問題の近似解を算出する方法およびプログラム Active JP6778942B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020113421A JP6778942B1 (ja) 2020-06-30 2020-06-30 スケジューリング問題の近似解を算出する方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020113421A JP6778942B1 (ja) 2020-06-30 2020-06-30 スケジューリング問題の近似解を算出する方法およびプログラム

Publications (2)

Publication Number Publication Date
JP6778942B1 true JP6778942B1 (ja) 2020-11-04
JP2022011972A JP2022011972A (ja) 2022-01-17

Family

ID=73022344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020113421A Active JP6778942B1 (ja) 2020-06-30 2020-06-30 スケジューリング問題の近似解を算出する方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6778942B1 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018166292A (ja) * 2017-03-28 2018-10-25 トヨタ自動車株式会社 情報収集システムおよび情報収集装置
US10542540B2 (en) * 2017-11-17 2020-01-21 Kabushiki Kaisha Toshiba Network device and method for wireless local area network scheduling
JP2019213000A (ja) * 2018-06-01 2019-12-12 日本電信電話株式会社 スケジューリング装置および方法

Also Published As

Publication number Publication date
JP2022011972A (ja) 2022-01-17

Similar Documents

Publication Publication Date Title
US11783217B2 (en) Quantum circuit optimization
Gagliolo et al. Learning dynamic algorithm portfolios
JP2021518024A (ja) 機械学習アルゴリズムのためのデータを生成する方法、システム
US20210174246A1 (en) Adaptive learning system utilizing reinforcement learning to tune hyperparameters in machine learning techniques
CN109891438B (zh) 数值量子实验方法和系统
US9177250B2 (en) Method and system for determining configuration rules based on configurations of complex systems
JP2016012285A (ja) 情報処理装置、情報処理方法、及びプログラム
US20220083914A1 (en) Learning apparatus, learning method, and a non-transitory computer-readable storage medium
CN107831740A (zh) 一种应用于笔记本零件的分布式生产制造过程中的优化调度方法
CN112243509A (zh) 从异构源生成数据集用于机器学习的系统和方法
Yang et al. Logic synthesis optimization sequence tuning using RL-based LSTM and graph isomorphism network
Liskowski et al. Program synthesis as latent continuous optimization: Evolutionary search in neural embeddings
JP6778942B1 (ja) スケジューリング問題の近似解を算出する方法およびプログラム
Agnesina et al. Improving FPGA-based logic emulation systems through machine learning
Alur et al. Ranking automata and games for prioritized requirements
Santander-Jiménez et al. Asynchronous non-generational model to parallelize metaheuristics: a bioinformatics case study
Zhao et al. AMSFuzz: An adaptive mutation schedule for fuzzing
JP2022531982A (ja) 特徴ベクトル実現可能性推定
EP3610387B1 (en) Distributed data structures for sliding window aggregation or similar applications
US20220083913A1 (en) Learning apparatus, learning method, and a non-transitory computer-readable storage medium
US20220083822A1 (en) Classification apparatus, classification method, a non-transitory computer-readable storage medium
US20220164659A1 (en) Deep Learning Error Minimizing System for Real-Time Generation of Big Data Analysis Models for Mobile App Users and Controlling Method for the Same
Li et al. A parallel adaptive quantum genetic algorithm for the controllability of arbitrary networks
Jian et al. AN IMPROVED VIRUS EVOLUTIONARY GENETIC ALGORITHM FOR WORKFLOW MINING.
Wang et al. Monte carlo tree search for task mapping onto heterogeneous platforms

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200630

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200630

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20200715

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200904

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201002

R150 Certificate of patent or registration of utility model

Ref document number: 6778942

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250