IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キナクシス インコーポレイテッドの特許一覧

特表2023-512738離散制約を有する目的を最適化するための方法及びシステム
<>
  • 特表-離散制約を有する目的を最適化するための方法及びシステム 図1
  • 特表-離散制約を有する目的を最適化するための方法及びシステム 図2
  • 特表-離散制約を有する目的を最適化するための方法及びシステム 図3
  • 特表-離散制約を有する目的を最適化するための方法及びシステム 図4
  • 特表-離散制約を有する目的を最適化するための方法及びシステム 図5
  • 特表-離散制約を有する目的を最適化するための方法及びシステム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-03-29
(54)【発明の名称】離散制約を有する目的を最適化するための方法及びシステム
(51)【国際特許分類】
   G06Q 10/04 20230101AFI20230322BHJP
   G06N 99/00 20190101ALI20230322BHJP
【FI】
G06Q10/04
G06N99/00 180
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021559116
(86)(22)【出願日】2021-01-20
(85)【翻訳文提出日】2021-12-09
(86)【国際出願番号】 CA2021050057
(87)【国際公開番号】W WO2021146802
(87)【国際公開日】2021-07-29
(31)【優先権主張番号】62/963,762
(32)【優先日】2020-01-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521084851
【氏名又は名称】キナクシス インコーポレイテッド
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】ケン、ブライアン
(72)【発明者】
【氏名】ゴロブ、アンニヤ
(72)【発明者】
【氏名】へー、イーフェン
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA04
(57)【要約】
データセットを使用して離散制約を有する目的を最適化するためのシステム及び方法であって、データセットは、目的に関連する複数のアスペクトを含む。本方法は、データセットと、目的と、制約のうちの少なくとも1つが離散値を含む制約とを受け取ることと、少なくとも制約のための初期値を含む自明解を受け取ることと、所定のしきい値に達するまで繰り返し実行することであって、制約充足問題の決定を使用して離散値を有する制約の各々についての制約空間を決定すること、及び最適化モデルを使用して目的の最適化された値を決定することであって、最適化モデルがデータセット及び制約空間を入力として取る、最適化された値を決定することを、繰り返し実行することと、最適化された目的を出力することとを含む。
【特許請求の範囲】
【請求項1】
データセットを使用して離散制約を有する目的を最適化するための方法であって、前記データセットが、前記目的に関連する複数のアスペクトを含み、前記方法は少なくとも1つの処理ユニット上で実行され、前記方法は、
前記データセットと、前記目的と、離散制約のセットを含む制約とを受け取ることと、
前記目的に鑑みて、前記離散制約に対する自明解を受け取ることと、
基準に達するまで最適化を繰り返し実行することと
を含み、
前記繰り返しが、
制約充足問題の決定を使用して前記離散制約の各々についての制約空間を決定することと、
最適化モデルを使用して前記目的の最適化された値を決定することであって、前記最適化モデルが、前記データセット及び前記制約空間を入力として取る、最適化された値を決定することと
を含み、
前記方法は、
前記基準に達すると、前記最適化された目的を出力すること
を含む、方法。
【請求項2】
前記制約充足問題がブール充足可能性問題又は充足可能性モジュロ理論ソルバーである、請求項1に記載の方法。
【請求項3】
前記最適化モデルが逐次最適化技法又は強化学習技法を使用する、請求項1に記載の方法。
【請求項4】
前記最適化モデルがパルツェンのツリー推定器技法を使用する、請求項3に記載の方法。
【請求項5】
前記最適化モデルが、非同期アドバンテージ・アクター・クリティック(A3C)手法、又はアドバンテージ推定を用いるA3C手法を使用する、請求項3に記載の方法。
【請求項6】
前記最適化モデルが前記データセットの連続特徴を含む、請求項1に記載の方法。
【請求項7】
前記基準が所定の回数の繰り返し又は最適化された目的のいずれかであり、前記最適化された目的が、第1の所定のしきい値を下回る損失関数の最小化、又は第2の所定のしきい値を上回る報酬の最大化のいずれかである、請求項1に記載の方法。
【請求項8】
データセットを使用して離散制約を有する目的を最適化するための計算装置であって、前記データセットが、前記目的に関連する複数のアスペクトを含み、前記システムは、
プロセッサと、
命令を記憶するメモリと
を備え、前記命令は、
前記プロセッサによって実行されたとき、
前記データセットと、前記目的と、離散制約のセットを含む制約とを受け取ることと、
前記目的に鑑みて、前記離散制約に対する自明解を受け取ることと、
基準に達するまで最適化を繰り返し実行することであって、
前記繰り返しが、
制約充足問題の決定を使用して前記離散制約の各々についての制約空間を決定することと、
最適化モデルを使用して前記目的の最適化された値を決定することであって、前記最適化モデルが前記データセット及び前記制約空間を入力として取る、最適化された値を決定することと
を含む、最適化を繰り返し実行することと、
前記基準に達すると、前記最適化された目的を出力することと
を行うように前記装置を構成する、計算装置。
【請求項9】
前記制約充足問題がブール充足可能性問題又は充足可能性モジュロ理論ソルバーである、請求項8に記載の計算装置。
【請求項10】
前記最適化モデルが逐次最適化技法又は強化学習技法を使用する、請求項8に記載の計算装置。
【請求項11】
前記最適化モデルがパルツェンのツリー推定器技法を使用する、請求項10に記載の計算装置。
【請求項12】
前記最適化モデルが、非同期アドバンテージ・アクター・クリティック(A3C)手法、又はアドバンテージ推定を用いるA3C手法を使用する、請求項10に記載の計算装置。
【請求項13】
前記最適化モデルが前記データセットの連続特徴を含む、請求項8に記載の計算装置。
【請求項14】
前記基準が所定の回数の繰り返し又は最適化された目的のいずれかであり、前記最適化された目的が、所定のしきい値を下回る損失関数の最小化、又は所定のしきい値を上回る報酬の最大化のいずれかである、請求項8に記載の計算装置。
【請求項15】
非一時的コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体が命令を含み、前記命令は、コンピュータによって実行されたとき、
データセットと、目的と、離散制約のセットを含む制約とを受け取ることと、
前記目的に鑑みて、前記離散制約に対する自明解を受け取ることと、
基準に達するまで最適化を繰り返し実行することであって、
前記繰り返しが、
制約充足問題の決定を使用して前記離散制約の各々についての制約空間を決定することと、
最適化モデルを使用して前記目的の最適化された値を決定することであって、前記最適化モデルが前記データセット及び前記制約空間を入力として取る、最適化された値を決定することと
を含む、最適化を繰り返し実行することと、
前記基準に達すると、前記最適化された目的を出力することと
を前記コンピュータに行わせる、非一時的コンピュータ可読記憶媒体。
【請求項16】
前記制約充足問題がブール充足可能性問題又は充足可能性モジュロ理論ソルバーである、請求項15に記載のコンピュータ可読記憶媒体。
【請求項17】
前記最適化モデルが逐次最適化技法又は強化学習技法を使用する、請求項15に記載のコンピュータ可読記憶媒体。
【請求項18】
前記最適化モデルがパルツェンのツリー推定器技法を使用する、請求項17に記載のコンピュータ可読記憶媒体。
【請求項19】
前記最適化モデルが、非同期アドバンテージ・アクター・クリティック(A3C)手法、又はアドバンテージ推定を用いるA3C手法を使用する、請求項17に記載のコンピュータ可読記憶媒体。
【請求項20】
前記基準が所定の回数の繰り返し又は最適化された目的のいずれかであり、前記最適化された目的が、第1の所定のしきい値を下回る損失関数の最小化、又は第2の所定のしきい値を上回る報酬の最大化のいずれかである、請求項15に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
以下は、概して、データ処理に関し、より詳細には、離散制約(discrete constraint)を有する目的(objective)を最適化するための方法及びシステムに関する。
【背景技術】
【0002】
プリスクリプティブ(prescriptive)アナリティクスは高度アナリティクスの一形態である。プリスクリプティブ・アナリティクスは、一般に、予測モデル化などの予測アナリティクスと、予測モデルに基づく最適化などの最適意思決定とを含む。一般に、プリスクリプティブ・アナリティクスは、予測モデルが陽関数(explicit function)として表され得る場合、又は予測モデルが陽関数として表され得ない場合として分類され得る。一般に、そのようなカテゴリーの混合又は組合せがモデルの特徴又は制約中に存在するプリスクリプティブ・アナリティクスを生成することに大きな課題がある。
【発明の概要】
【0003】
態様では、データセットを使用して離散制約を有する目的(objective)を最適化するためのシステム及び方法が提供され、データセットは、目的に関連する複数のアスペクトを含む。本方法は、データセットと、目的と、制約(constraints)のうちの少なくとも1つが離散値を含む制約とを受け取ることと、少なくとも制約のための初期値を含む自明解(seed solution)を受け取ることと、所定のしきい値に達するまで実行することであって、制約充足問題(constraint satisfaction problem)の決定を使用して離散値を有する制約の各々についての制約空間(constraint space)を決定すること、及び最適化モデルを使用して目的の最適化された値を決定することであって、最適化モデルがデータセット及び制約空間を入力として取る、最適化された値を決定することを繰り返し実行することと、最適化された目的を出力することとを含む。
【0004】
一態様では、データセットを使用して離散制約を有する目的を最適化するための方法であって、データセットは、目的に関連する複数のアスペクトを含み、本方法は少なくとも1つの処理ユニット上で実行され、本方法は、データセットと、目的と、制約とを受け取ることを含み、制約は離散制約のセットを含む。本方法はまた、目的に鑑みて、離散制約に対する自明解を受け取ることを含む。本方法はまた、基準に達するまで最適化を繰り返し実行することを含み、繰り返しは、制約充足問題の決定を使用して離散制約の各々についての制約空間を決定することと、最適化モデルを使用して目的の最適化された値を決定することであって、最適化モデルがデータセット及び制約空間を入力として取る、最適化された値を決定することとを含む。本方法はまた、基準に達すると、最適化された目的を出力することを含む。
【0005】
本方法は、制約充足問題がブール充足可能性問題(Boolean satisfiability problem)又は充足可能性モジュロ理論ソルバー(satisfiability modulo theories solver)である場合をも含み得る。本方法は、最適化モデルが逐次最適化(sequential optimization)技法又は強化学習(reinforcement learning)技法を使用する場合をも含み得る。本方法は、最適化モデルがデータセットの連続特徴を含む場合をも含み得る。本方法は、基準が所定の回数の繰り返し又は最適化された目的のいずれかであり、最適化された目的が、第1の所定のしきい値を下回る損失関数の最小化、又は第2の所定のしきい値を上回る報酬の最大化のいずれかである場合をも含み得る。
【0006】
一態様では、目的を最適化するための計算装置は、データセットを使用して離散制約を有し、データセットは、目的に関連する複数のアスペクトを含み、システムはプロセッサを含む。計算装置はまた、命令を記憶するメモリを含み、命令は、プロセッサによって実行されたとき、データセットと、目的と、制約とを受け取るように装置を構成し、制約は離散制約のセットを含む。計算装置はまた、命令を記憶するメモリを含み、命令は、プロセッサによって実行されたとき、目的に鑑みて、離散制約に対する自明解を受け取るように装置を構成する。計算装置はまた、命令を記憶するメモリを含み、命令は、プロセッサによって実行されたとき、基準に達するまで最適化を繰り返し実行するように装置を構成し、繰り返しは、制約充足問題の決定を使用して離散制約の各々についての制約空間を決定することと、最適化モデルを使用して目的の最適化された値を決定することであって、最適化モデルがデータセット及び制約空間を入力として取る、最適化された値を決定することとを含む。計算装置はまた、命令を記憶するメモリを含み、命令は、プロセッサによって実行されたとき、基準に達すると、最適化された目的を出力するように装置を構成する。
【0007】
計算装置は、制約充足問題がブール充足可能性問題又は充足可能性モジュロ理論ソルバーである場合をも含み得る。計算装置は、最適化モデルが逐次最適化技法又は強化学習技法を使用する場合をも含み得る。計算装置は、最適化モデルがデータセットの連続特徴を含む場合をも含み得る。計算装置は、基準が所定の回数の繰り返し又は最適化された目的のいずれかであり、最適化された目的が、所定のしきい値を下回る損失関数の最小化、又は所定のしきい値を上回る報酬の最大化のいずれかである場合をも含み得る。
【0008】
一態様では、非一時的コンピュータ可読記憶媒体、コンピュータ可読記憶媒体は命令を含み、命令は、コンピュータによって実行されたとき、コンピュータにデータセットと、目的と、制約とを受け取らせ、制約は離散制約のセットを含む。非一時的コンピュータ可読記憶媒体はまた、目的に鑑みて、離散制約に対する自明解を受け取るを含む。非一時的コンピュータ可読記憶媒体はまた、基準に達するまで最適化を繰り返し実行するを含み、繰り返しは、制約充足問題の決定を使用して離散制約の各々についての制約空間を決定すると、最適化モデルを使用して目的の最適化された値を決定するであって、最適化モデルがデータセット及び制約空間を入力として取る、最適化された値を決定するとを含む。非一時的コンピュータ可読記憶媒体はまた、基準に達すると、最適化された目的を出力するを含む。
【0009】
コンピュータ可読記憶媒体は、制約充足問題がブール充足可能性問題又は充足可能性モジュロ理論ソルバーである場合をも含み得る。コンピュータ可読記憶媒体は、最適化モデルが逐次最適化技法又は強化学習技法を使用する場合をも含み得る。コンピュータ可読記憶媒体は、最適化モデルがデータセットの連続特徴を含む場合をも含み得る。コンピュータ可読記憶媒体は、基準が所定の回数の繰り返し又は最適化された目的のいずれかであり、最適化された目的が、第1の所定のしきい値を下回る損失関数の最小化、又は第2の所定のしきい値を上回る報酬の最大化のいずれかである場合をも含み得る。他の技術的特徴は、以下の図、説明、及び特許請求の範囲から、当業者には容易に明らかであり得る。本方法は、最適化モデルがパルツェンのツリー推定器(Tree of Parzen Estimator)技法を使用する場合をも含み得る。本方法は、最適化モデルが非同期アドバンテージ・アクター・クリティック(asynchronous advantage actor-critic)(A3C)手法、又はアドバンテージ推定を用いるA3C手法を使用する場合をも含み得る。計算装置は、最適化モデルがパルツェンのツリー推定器技法を使用する場合をも含み得る。計算装置は、最適化モデルが非同期アドバンテージ・アクター・クリティック(A3C)手法、又はアドバンテージ推定を用いるA3C手法を使用する場合をも含み得る。コンピュータ可読記憶媒体は、最適化モデルがパルツェンのツリー推定器技法を使用する場合をも含み得る。コンピュータ可読記憶媒体は、最適化モデルが非同期アドバンテージ・アクター・クリティック(A3C)手法又はアドバンテージ推定を用いるA3C手法を使用する場合をも含み得る。
【0010】
これら及び他の実施例が企図され、それらについて本明細書で説明する。上記の概要は、熟達した読者が以下の詳細な説明を理解することを支援するためにシステム及び方法の代表的な態様を提示していることが諒解されよう。
【図面の簡単な説明】
【0011】
いかなる特定の要素又は行為の説明をも容易に識別するために、参照番号中の最上位の1つ又は複数の数字は、その要素が最初に導入される図番号を指す。本発明の特徴は、添付の図面を参照する以下の詳細な説明においてより明らかになろう。
図1】一実施例による、離散制約を有する目的を最適化するためのシステムの概略図を示す図である。
図2】一実施例による主題の態様を示し、一実施例による、離散制約を有する目的を最適化するための方法のフローチャートである。
図3】強化学習手法の概略実例を示す図である。
図4図3の強化学習手法のための環境シミュレータの概略実例を示す図である。
図5】小売り促進実例のための状態ベクトルの実例を示す図である。
図6図3の強化学習手法のためのアクターのニューラル・ネットワーク実例を示す図である。
【発明を実施するための形態】
【0012】
次に、図を参照しながら実施例について説明する。説明の簡単及び明快のために、適切であると考えられる場合、対応する又は類似する要素を示すために、参照番号が図の間で繰り返され得る。さらに、本明細書で説明する実施例の完全な理解を与えるために、多数の具体的な詳細が記載されている。しかしながら、本明細書で説明する実施例はこれらの具体的な詳細なしに実施され得ることが当業者によって理解されよう。他の事例では、本明細書で説明する実施例を不明瞭にないように、よく知られている方法、手順及び構成要素については詳細に説明していない。また、説明は、本明細書で説明する実施例の範囲を限定するものと考えるべきでない。
【0013】
コンテキストが別段に示さない限り、本明細書全体にわたって使用される様々な用語は以下のように読まれ、理解され得る。全体にわたって使用される「又は(or)」は、「及び/又は(and/or)」と書かれるかのように包括的であり、全体にわたって使用される単数冠詞及び代名詞は、それらの複数形を含み、その逆も同様である。同様に、性の区別のある(gendered)代名詞は、それらの対応代名詞を含み、したがって、代名詞は、本明細書で説明するいかなるものをも単一の性によって使用、実装、実施などに限定するものとして理解されるべきでない。「例示的な(exemplary)」は、「例示的な(illustrative)」又は「例示的な(exemplifying)」として理解されるべきであり、必ずしも他の実施例よりも「好ましい(preferred)」とは限らない。用語についてのさらなる定義は本明細書に記載され得る。これらは、本明細書を一読すれば理解されるように、それらの用語の前の及び後の用例に適用され得る。
【0014】
命令を実行する、本明細書で例示される、いかなるモジュール、ユニット、構成要素、サーバ、コンピュータ、端末、エンジン又はデバイスも、記憶媒体、コンピュータ記憶媒体、又は、たとえば、磁気ディスク、光ディスク、又はテープなどのデータ記憶デバイス(リムーバブル及び/又は非リムーバブル)など、コンピュータ可読媒体を含み得るか、又はその他の方法でコンピュータ可読媒体へのアクセスを有し得る。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュール、又は他のデータなど、情報の記憶のための任意の方法又は技術において実装される、揮発性及び不揮発性、リムーバブル及び非リムーバル媒体を含み得る。コンピュータ記憶媒体の実例は、RAM、ROM、EEPROM、フラッシュ・メモリ又は他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)又は他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージ又は他の磁気記憶デバイス、或いは、所望の情報を記憶するために使用され得、アプリケーション、モジュール、又は両方によってアクセスされ得る任意の他の媒体を含む。いずれのそのようなコンピュータ記憶媒体もデバイスの一部或いはそれにアクセス可能又は接続可能であり得る。さらに、コンテキストが別段に明示しない限り、本明細書に記載されるいかなるプロセッサ又はコントローラも単数のプロセッサとして又は複数のプロセッサとして実装され得る。複数のプロセッサはアレイ配列されるか又は分散され得、本明細書で言及されるいかなる処理機能も、単一のプロセッサが例示され得るとしても、1つずつ又は複数のプロセッサによって実行され得る。本明細書で説明するいかなる方法、アプリケーション又はモジュールも、そのようなコンピュータ可読媒体によって記憶されるか又はその他の方法で保持され得、1つ又は複数のプロセッサによって実行され得る、コンピュータ可読/実行可能命令を使用して実装され得る。
【0015】
以下は、一般に、データ処理に関し、より詳細には、離散制約を有する目的を最適化するための方法及びシステムに関する。
【0016】
説明の明快のために、以下の開示は小売り促進最適化の実例に対する本実施例の実装に関し得るが、本明細書で説明する実施例は、離散制約を有するプリスクリティブ・アナリティクスのいかなる好適なアプリケーションのためにも使用され得ることを諒解されたい。実例として、小売り取り揃え(どの特定の製品を店舗棚上に陳列すべきか)の用途のために、及び広告配置(どの広告をどのマーケットにおいて、どのくらい長く、及びどのような順序で入れるべきか)の用途のために。
【0017】
プリスクリプティブ・アナリティクスは、一般に、予測モデルに基づいて2つのカテゴリーに分割され得る。第1のカテゴリーでは、(線形モデル又は多項式モデルなどの)陽関数として表され得る予測モデルがある。予測モデル関数に基づいて、その場合、最適意思決定のために最適化問題が定式化され得る。定式化される最適化問題がNP困難(NP hard)である場合、その最適化問題は、効率的に解かれ得る近似問題に変換され得る。しかしながら、場合によっては、各決定との大きい相互依存性のために、問題の規模が各変数とともに組合せ論的に(combinatorically)増大し、それにより近似が極めて困難になる。第2のカテゴリーでは、(コンピュータ・シミュレーション、或いは離散関数(discrete function)又は微分不可能関数(non-differentiable function)を含む問題など)陽関数として容易に表され得ない予測モデルがある。そのような場合、制約の離散的性質により、目的関数がある場合でも、一般に、最適化問題を完全に数学的に表すことは不可能である。有利なことに、本実施例は、困難な制約をもつ最適化問題に対処するための手法を提供する。
【0018】
次に図1を参照すると、一実施例による、離散制約を有する目的を最適化するためのシステム100が示されている。この実施例では、システム100はサーバ上で実行される。さらなる実施例では、システム100は、任意の他の計算デバイス、たとえば、デスクトップ・コンピュータ、ラップトップ・コンピュータ、スマートフォン、タブレット・コンピュータ、モバイル・デバイス、スマートウォッチなどの上で実行され得る。
【0019】
いくつかの実施例では、システム100の構成要素は、単一のコンピュータ・システムによって記憶され、単一のコンピュータ・システム上で実行される。他の実施例では、システム100の構成要素は、ローカルに又はリモートに分散され得る2つ又はそれ以上のコンピュータ・システム間で分散される。
【0020】
図1は、システム100の一実施例の様々な物理的及び論理的構成要素を示す。図示のように、システム100は、(1つ又は複数のプロセッサを含む)中央処理ユニット(「CPU」)102と、ランダム・アクセス・メモリ(「RAM」)104と、入力インターフェース106と、出力インターフェース108と、ネットワーク・インターフェース110と、不揮発性ストレージ112と、CPU102が他の構成要素と通信することを可能にするローカル・バス114とを含む、いくつかの物理的及び論理的構成要素を有する。CPU102は、以下でより詳細に説明するように、オペレーティング・システムと、様々なモジュールとを実行する。RAM104は、比較的応答性の高い揮発性ストレージをCPU102に与える。入力インターフェース106は、アドミニストレータ又はユーザが、入力デバイス、たとえば、キーボード及び/又はマウスを介して入力を与えることを可能にする。出力インターフェース108は、出力デバイス、たとえば、ディスプレイ及び/又はスピーカーに情報を出力する。ネットワーク・インターフェース110は、一般的なクラウドベース・アクセス・モデルのためになど、システム100からリモートに位置する、他の計算デバイス及びサーバなど、他のシステムとの通信を可能にする。不揮発性ストレージ112は、オペレーティング・システム及びモジュールを実装するためのコンピュータ実行可能命令を含む、オペレーティング・システム及びプログラム、並びにこれらのサービスによって使用される任意のデータを記憶する。追加の記憶されるデータはデータベース116中に記憶され得る。システム100の動作中、オペレーティング・システム、モジュール、及び関係するデータは、不揮発性ストレージ112から取り出され、実行を容易にするためにRAM104中に入れられ得る。
【0021】
一実施例では、システム100は、初期化モジュール(initialization module)118と、制約モジュール(constraint module)120と、最適化モジュール(optimization module)122と、目的モジュール(objective module)124とをさらに含む。場合によっては、モジュール118、120、122、124はCPU110上で実行され得る。さらなるケースでは、モジュール118、120、122、124の機能のうちのいくつかは、サーバ上、クラウド・コンピューティング・リソース上、又は他のデバイス上で実行され得る。場合によっては、モジュール118、120、122、124のいずれかの機能のいくつか又はすべては他のモジュール上で実行され得る。
【0022】
多くの手法において、予測最適化(forecasting optimization)が線形計画問題(linear programming problem)又は2次計画問題(quadratic programming problem)のいずれかとして定式化される。目的関数は全体的目的にマッピングし、制約が予測とユーザ指定制約の両方をモデル化する。しかしながら、そのような問題定式化を使用する予測モデルは、定義によって、線形モデル又は2次モデルを使用する。問題の複雑な非線形相互作用のうちのいくつかを捕らえることは不可能であるので、そのモデルは、多くのコンテキストに対して最適以下の精度をもつ比較的簡単なモデルである。これらの手法では、離散(困難な)制約を明らかにするために、システム設計者は、制約によってはトリビアルではない、制約について最適化するための変形損失関数(altered loss function)又は報酬関数(reward function)を設計しなければならない。すなわち、システム設計者は、候補解を生成し、そのような解を繰り返し試すための探索に多大な労力を費やさなければならない。
【0023】
システム100は、有利には、困難な制約を顧慮しながら、他の手法と比較して比較的高い精度を与える手法における最適化に対処する。本明細書で説明するように、システム100は、強化学習又は逐次最適化技法或いは両方を使用する(連続的である)目的の最適化とともに、制約充足問題を使用する離散制約の処理を分離する。これらの2つの分岐したステップは、所定のしきい値又は繰り返し回数を満たす最適化された目的に到達するまで繰り返され得る。
【0024】
図2を見ると、一実施例による、離散制約を有する目的を最適化するための方法200のためのフローチャートが示されている。最適化は、たとえば、データベース116中に記憶されるか又は別の方法で受け取られるデータセットに基づく。
【0025】
ブロック202において、初期化モジュール118は、データセットと、データセットに基づいて最適化されるべき1つ又は複数の目的と、1つ又は複数の離散制約とを、入力インターフェース106、ネットワーク・インターフェース110、及び/又は不揮発性ストレージ112から受け取る。
【0026】
ブロック204において、初期化モジュール118は、目的に鑑みて、離散制約に対する自明解(又は初期解)を受け取る。一般に、これは、最適化されていない、最初から(ab initio)仮定されている解又は試験解である。
【0027】
ブロック206において、制約モジュール120は、自明解に近接する制約の各々についての範囲(又はオプションのセット又は特定の値)を決定する。制約モジュール120は、自明解中に与えられたそれらの値の周りにそのような範囲の制約空間を生成することによって、そのような近接度を決定する。その範囲は、任意の好適な制約充足問題(CSP)、たとえば、ブール充足可能性問題(ブールSAT)、充足可能性モジュロ理論(SMT)ソルバーなどを使用して決定され得る。場合によっては、制約モジュール120は、各制約についての範囲を別個に決定することができる。
【0028】
CSPは、一般に、所与の変数に対する制約の所与のリストを満たす解を見つけることを目標とする。異なる手法間の解決手法は、変数のドメインに応じて異なり得る(たとえば、SATの場合はブール、又はSMTの場合はより一般的なタイプ)。一般に、CSPは、(線形計画手法又は2次計画手法とは反対に)目的関数を明示的に考慮に入れず、一般に少なくともNP困難である。困難さは、一般に、制約及び目的の微分不可能/不連続性質による。したがって、CSPは、一般に、(1)許容できる解を見つけ、(2)目的推定器(たとえば、シミュレーション又は複雑なモデル)によってその解を処理する、という2ステップ手法を伴う。2つのステップは、その場合、探索空間に追加の制約を加えることによって繰り返され得る。場合によっては、追加の制約は、存在する解を探索しないことと同程度に簡単であり得る。さらなるケースでは、追加の制約は、様々なルールと目的とに基づいて、たとえば、以下のブロック208において説明する最適化技法を使用して、より複雑になり得る。
【0029】
ブロック208において、最適化モジュール122は、最適化モデルを使用して最適化を実行する。最適化モデルは、制約モジュール120によって決定される、データセットと制約空間とを入力として取る。最適化モデルは、制約空間を入力として使用して、目的に対する最適化された解を決定する。最適化モデルは、たとえば、逐次最適化技法又は強化学習技法を使用することができる。場合によっては、最適化モデルの入力は、連続的(すなわち、非離散)であるデータセットのいかなる特徴をもさらに含む。
【0030】
1つの手法では、逐次最適化技法、たとえば、パルツェンのツリー推定器(TPE)技法が使用され得る。そのような技法を利用すると、最適化モジュール122は、一般に、完全に最適化するための変数として最適化の探索空間を符号化するだけで済み、その場合、最良の一致を見つけるためにTPE技法が使用され得る。制約は、予測モデルの照会の前の制約モジュール120による各提案された候補解のプルーニング(pruning)により、効率的にモデル化されている。これは、一般に、候補解が、初期化モジュール118によって受け取られる制約を満たすことを保証する。
【0031】
一般に、逐次最適化技法は、(たとえば、逐次最適化又は強化学習を使用して)一般にブラック・ボックスとして処理され得る目的を扱う最適化問題を解くための繰り返し手法の一部類である。TPEなど、いくつかの技法は、ブラック・ボックス目的は決定に比較的費用がかかると仮定しており、したがってあらゆる可能なシナリオをシミュレートすることを試みるのは実際的でない。代わりに、その技法は、良好な解を見つけるために次の繰り返しにおいて何を試みるべきかに関するスマートな推定を繰り返し見つけることを伴う。TPEは、解がより良い結果をもたらすかどうかを繰り返し推定するために、ノンパラメトリック・モデル(パルツェン推定器)を使用する。それは、(解空間の新しい部分を探査する)探査と、(明らかに利益をもたらすが、極小値(local minimum)につながり得る、空間の部分を最適化することを試みる)利用との間で平衡する。
【0032】
別の手法では、たとえば、非同期アドバンテージ・アクター・クリティック(A3C)手法を使用して、最適解を見つけるために強化学習(RL)モデルが使用され得る。A3C手法は、並列化を可能にするそれの非同期機能により、有利であり得る。さらに、アドバンテージ推定とともにアクター/クリティックRLモデルを使用することの安定性(より低い分散)は比較的より良い結果を与えることができる。
【0033】
ブロック210において、目的モジュール124は、最適化された目的に達したかどうか、たとえば、所定のしきい値を下回る損失関数の最小化、又は所定のしきい値を上回る報酬の最大化を決定する。そのような最適化された目的に達していない場合、ブロック206~210が別の繰り返しのために繰り返される。そのような最適化された目的に達している場合、ブロック212において、最適化された目的が出力インターフェース108、ネットワーク・インターフェース110、及び/又は不揮発性ストレージ112に出力される。さらなるケースでは、目的モジュール124は、ブロック206~210を所定の回数繰り返すことができ、したがって上記の所定のしきい値との比較は必要でない。
【0034】
場合によっては、目的モジュール124の損失関数の評価は、(たとえば、ニューラル・ネットワーク又はランダム・フォレストのような1つ又は複数のモデル)によって容易に区別され得ないブラック・ボックスがあると仮定することができる。目的モジュール124は、モデルの出力を使用し、それらを任意の目的関数に組み合わせることができる。しかしながら、そのようなモデルへの入力は制約され、自由でない。したがって、それを試みる前に、許容できる解を見つけるためにCSP又は他の手法が使用されることに留意されたい。
【0035】
場合によっては、各繰り返し中に、制約は変化することができる。例示の目的で、以下は、追加され得る制約の例である。
・存在する探索されたいかなる解をも再び見つけられないようにブロックする。
【0036】
・それがより良い解を生成する確率に基づいて、解空間の一部をブロックする(たとえば、TPE又はRLを利用する)。
【0037】
・個々の問題と戻された実際の解とに応じて特定のルールを生成する。
【0038】
有利なことに、方法200の繰り返し性質は、ユーザに対するシステム100の出力の理解及び説明可能性(explainability)の向上を可能にする。システム100は、制約空間又は報酬関数に対する変化など、各繰り返しをログし、出力することができ、したがって、ユーザは、システム100がどのようにして最適化された解に到達したかをたどり、理解することができる。この透過性は、システム100の解に信用を加えることができる。以下で説明する小売りプロモーションの実例では、ただプロモーション・プラン(promotion plan)を人に与えた場合、彼らは、その解がなぜ財務上道理にかなうのかについて完全に当惑し得、したがってその解を信用したがらない。一方、システムがどのようにしてその解に到達したのかをシステムが示すことができる場合、システムは、はるかにより信用できる解を生成することができる。
【0039】
小売りプロモーション最適化の実例では、システム100は、製品と、プロモーション・メカニクスと、時間期間と、制約との所与のセットにわたって最適プロモーション・プランを(目的として)決定することができる。この最適化を決定するためのいくつかの重要な課題がある。たとえば、(1)プロモーション・プランの数はプロモーション・メカニクスの数及び時間期間とともに組合せ論的に増大し、(2)より大きい結合された最適化問題を必要とする、プロモーションされる製品間の大きい相互依存性(たとえば、カニバリゼーション(cannibalization)及びハロー効果(halo effect))並びに時間依存性(たとえば、促進無促進間効果(promotion to no-promotion effect))があり得、(3)プロモーション・プランは、いくつかの困難な制約を満たさなければならない(たとえば、製品は高々半分の期間しかプロモーションされ得ない)。
【0040】
システム100は、局所的に最適なプロモーション・プランに収斂するために使用され得る。この手法のアドバンテージは、モデルの線形同等物と比較して、より多くの特徴と相互依存性とを含むことができる、より正確な需要予測モデルを活用することができることである。システム100の繰り返し性質により、場合によっては、システム100は別個のプロセッサ上で並列化され得、それにより、必要とされるだけの計算能力が得られる。
【0041】
たとえば、w週間の長さをもつ今からD日前のプロモーション中にプロモーションされるべき初期ユニットをもつ(Sとして示された)SKUと呼ばれる製品のセットを所与とすると、システム100は、プロモーション・イベント中に獲得されるべき総利益を最大にするために、プロモーション週ごとに、SKUごとに、最適なプロモーションを見つけるために使用され得る。データセットは、様々なプロモーション・イベント/レベルが適用された、SKUのセットについての販売履歴データを含むことができる。さらに、入力としての利用可能なバジェットを所与とすると、システム100は、(1)各SKUについていくつのユニットがプロモーションのためにベンダーから購入されるべきか、(2)プロモーションにおける総利益を最大にするために、何が各SKUと各週とについて適用されるべき最適プロモーションであるかを決定するために使用され得る。たとえば以下のような、最適プロモーション目的を決定するためのいくつかの重要な技術的課題がある。
【0042】
・SKUの間のカニバリゼーション。1つのSKUのプロモーションは他のSKUの需要を「食べ」尽くし得る。総利益を最大にするためにSKUのセットの間のプロモーション割当てを最適化することは技術的に困難である。
【0043】
・異なる時間におけるSKUについてのプル・フォワード効果(pull forward effect)。プル・フォワード効果とは、消費者がセール中のアイテムを買いだめし、プロモーション中には売上高の急上昇を引き起こし、プロモーション後には売上高の下落を引き起こすことを指す。したがって、プロモーション期間全体にわたってSKUについての総利益を最大にすることは技術的に困難である。
【0044】
・売上高最大化ではなく利益最大化。プロモーションを適用することは、販売ユニットの増加につながるが、総利益を増加させないことがある。目的は、どちらかと言えば、総収入と販売された商品の総費用との間の差である、総利益を最大にすることである。
【0045】
・在庫切れ/在庫過剰問題。より高いプロモーションは在庫切れを引き起こし得るが、より低いプロモーションは在庫過剰を引き起こし得る。在庫切れも在庫過剰も利益損失につながる。
【0046】
・時間制約。高いキャッシュ・フローを維持するために、システム100は、プロモーション・イベントの終了までにすべてのSKUが売り尽くされると仮定することができる。このようにして、目的は、プロモーション期間中に獲得される総利益を最大にすることである。
【0047】
小売りプロモーション最適化の実例では、データセットからの入力は、取引高、在庫、過去のプロモーション・メカニクス、製品特質、店舗属性、2次シェルフ(店舗内のプロモーション中の製品の位置)、ベンダー資金供給、製品原価/販売利益、ユーザ定義の目的及び制約などのようなデータを含むことができる。
【0048】
この小売りプロモーション最適化の実例では、自明解は、以前の年のプロモーション・スケジュール、又は小売店のメンバーによって創られた将来のプロモーション・スケジュールであり得る。この実例では、制約モジュール120によって処理されるべき離散制約は、どの製品をプロモーションにかけるべきか、プロモーション・メカニクス、製品/店舗属性などを含むことができる。最適化モジュール122によって処理され得る連続変数制約は、在庫と、価格と、プロモーションの日付とを含むことができる。
【0049】
この小売りプロモーション最適化の実例では、プロモーション・スロットを有する各週は、所与のオファー又はプロモーションがその週にアクティブであるかどうかを示す関連付けられたブール変数を有することができる。このケースにおける制約の実例は以下の通りであり得る。
【0050】
・各週、X回のプロモーションのみが許容される(たとえば、ai+bi+Ci=1であり、ここで、aiは、週i中にオファーされるプロモーションaである)、
【0051】
=1,・ある製品のための1プロモーションを2週連続して実行することはできない(たとえば、a1+a2<=1、a2+a3<=1、以下同様)。
【0052】
CSPを用いて十分な解を見つけた後に、最適化モジュール122は、損失関数を評価するために解上でモデルを使用することができる。
【0053】
最適化モジュール122は、最適プロモーション目的を決定するために、1つの手法において、上記で説明したように、強化学習を使用することができる。図3に示されているように、一実例では、エージェントは、プロモーション目的を最適化するためにトレーニングされ得る。エージェントは、プロモーション期間全体における総利益を最大にすることを目標として、環境との対話からエージェントの計画ポリシーを学習する。有利なことに、エージェントによって行われた最適プロモーション決定は、上記の課題に対処するために使用され得る。この実例では、エージェントが環境と対話するために、環境シミュレータが構築され得、それの一実例が図4に示されている。この実例では、環境は十分に観測可能であり、したがって観測01は状態s1に等しいことが仮定されている。SKUセット中に2つの競合するSKUがあるケースについて最初に検討する。2SKUのケースのための方法は、行動空間と状態空間とにおいてより高い次元をもつ複数SKUのケースに拡張され得る。各プロモーション・レベルはパーセンテージ割引によって表される。状態は、図5中に例示されているように状態ベクトルによって表される。さらなるケースでは、特に強化学習のために、環境のシミュレーションが機械学習予測モデルであり得る。強化学習の各時間ステップにおける各決定が所与の制約を満たすことを保証するために、CSPは、有利には、システム100が小売りプロモーション解を決定する際に、(本明細書で説明するように)強化学習とインターリーブされる。
【0054】
両方のSKUの特徴は、それらの間のカニバリゼーションを捕らえるために1つの状態ベクトルに入れられ、以前の週の販売情報は、プル・フォワード効果を捕らえるために加えられる。回帰モデル(たとえば、ランダム・フォレスト・リグレッサ(random forest regressor)又はニューラル・ネットワーク・リグレッサ)への入力として行動ベクトルと状態ベクトルとを連結することによって、最適化モジュール122は、プロモーション週中に販売されるべきユニットを推定することができる。SKU-1及びSKU-2についての予測されたユニットは、即時報酬を決定し、状態を更新するために使用される。即時報酬は
【数1】

によって決定される。
【0055】
ここで、rは時間tにおける報酬であり、
【数2】

は、時間tにおけるSKU-mについての販売されたユニットであり、
【数3】

は、時間tにおけるSKU-mについての割引パーセンテージであり、c(m)はSKU-mの原価である。
【0056】
概念上のエージェントは、環境と対話し、それのポリシーを対話経験から学習する。プロモーション期間はH個のプロモーション週に分割され得る。各プロモーション週の初めに、エージェントは、状態を観測し、行動を実行し、プロモーション週の終わりまでに即時報酬を受け取る。プロセスは全プロモーション期間の終了まで繰り返される。エピソードはH回の対話からなる(たとえば、週当たり1回の対話)。1エピソードについての累積報酬は、
【数4】

によって与えられる。
【0057】
ここで、γは正の割引ファクタ(discount factor)(たとえば、γ=0.99)であり、rは、週hにおいて受け取られる即時報酬である。一実例では、エージェントは、図6に例示されているように、ニューラル・ネットワーク(NN)によって表され得る。NNは、3つの部分、すなわち、表現と、アクターと、クリティックとを含むことができる。アクターの出力は、エージェントによって取られるべき行動である。クリティックの出力は、出力行動のアドバンテージを評価するために使用されるアドバンテージ値である。一実例では、予想されるエピソード報酬を最大にすることができる行動を生成することを目標として、NNの重みを更新するために、確率的勾配降下法(stochastic gradient descent)が使用され得る。
【0058】
本発明者らは、0%引きと50%引きとの間の公正なプロモーション割引を用いて、4週の時間期間の間、10個の製品にわたる小売りプロモーションの実例について、システム100の実例実験を行った。その際の目的は、利益最大化であった。最適化モデルは製品のクロスプライス(cross-price)効果をモデル化した。システム100には、各時間期間において各製品について最適なプロモーション・メカニックを選定することを課した。ただし、環境は需要予測モデルからなり、報酬は、予測モデルによって与えられた、予測される販売されるユニットの数に対する利益であった。実例実験により、以前の手法に勝る正確さの向上が証明された。
【0059】
本発明についていくつかの特定の実施例に関して説明したが、本明細書に添付される特許請求の範囲に概説されているように、本発明の趣旨及び範囲から逸脱することなく、本発明の様々な改変が当業者にとって明らかになろう。上記で具陳されたすべての参照の開示全体が参照により本明細書に組み込まれる。
図1
図2
図3
図4
図5
図6
【国際調査報告】