(57)【要約】【課題】需要家が所持している食材の消費の促進を支援すること。【解決手段】献立提案装置は、食事の品目に関する各需要家の嗜好を示す情報と、各品目の調理に使用される食材を示す情報とを記憶した記憶部を参照して、前記各需要家の嗜好を複数のカテゴリに配分する配分部と、前記記憶部が記憶する情報及び前記配分部による配分結果に基づき、前記各需要家が品目に満足する確率を算出するためのパラメータを学習する学習部と、或る需要家の或る時期の食事について、当該需要家が所持する食材を消費期限内に消費するという制約条件の下、当該需要家が満足する確率が相対的に高い品目によって構成される献立を前記パラメータを用いて探索する探索部と、を有する。【選択図】図２
2019220001.tif 000002
【特許請求の範囲】
【請求項１】
食事の品目に関する各需要家の嗜好を示す情報と、各品目の調理に使用される食材を示す情報とを記憶した記憶部を参照して、前記各需要家の嗜好を複数のカテゴリに配分する配分部と、
前記記憶部が記憶する情報及び前記配分部による配分結果に基づき、前記各需要家が品目に満足する確率を算出するためのパラメータを学習する学習部と、
或る需要家の或る時期の食事について、当該需要家が所持する食材を消費期限内に消費するという制約条件の下、当該需要家が満足する確率が相対的に高い品目によって構成される献立を前記パラメータを用いて探索する探索部と、
を有することを特徴とする献立提案装置。
【請求項２】
前記探索部は、所定回数内の食事に類似する品目が含まれる場合に前記確率が低下するようにして、複数回の食事に関する献立を探索する、
ことを特徴とする請求項１記載の献立提案装置。
【請求項３】
前記探索部は、前記複数回の食事の各品目を前記需要家が満足する確率の積が最大となるように、前記複数回の食事に関する献立を探索する、
ことを特徴とする請求項２記載の献立提案装置。
【請求項４】
食事の品目に関する各需要家の嗜好を示す情報と、各品目の調理に使用される食材を示す情報とを記憶した記憶部を参照して、前記各需要家の嗜好を複数のカテゴリに配分する配分手順と、
前記記憶部が記憶する情報及び前記配分手順における配分結果に基づき、前記各需要家が品目に満足する確率を算出するためのパラメータを学習する学習手順と、
或る需要家の或る時期の食事について、当該需要家が所持する食材を消費期限内に消費するという制約条件の下、当該需要家が満足する確率が相対的に高い品目によって構成される献立を前記パラメータを用いて探索する探索手順と、
をコンピュータが実行することを特徴とする献立提案方法。
【請求項５】
前記探索手順は、所定回数内の食事に類似する品目が含まれる場合に前記確率が低下するようにして、複数回の食事に関する献立を探索する、
ことを特徴とする請求項４記載の献立提案方法。
【請求項６】
前記探索手順は、前記複数回の食事の各品目を前記需要家が満足する確率の積が最大となるように、前記複数回の食事に関する献立を探索する、
ことを特徴とする請求項５記載の献立提案方法。
【請求項７】
請求項４乃至６いずれか一項記載の献立提案方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、献立提案装置、献立提案方法及びプログラムに関する。
【背景技術】
【０００２】
日本における食品ロスは、年間６００万トン以上と推計され、その約半分は家庭から廃棄されている。家庭からの食品ロスを削減するため、所持している食材の在庫を考慮して、料理を支援するシステムがある（例えば、特許文献１）。また、個人の情報を考慮した個人レシピを作ること、料理を作る当日の都合に合わせた料理のつくり方をナビゲートするクッキングナビ技術がある（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３２１８８号公報
【特許文献２】特開２００６−３０９６２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、食に対する需要家の嗜好は多様である一方で、需要家ごとに嗜好を分析するためには多くの情報が必要となるためデータ不足の問題が発生しやすい。そのため、従来のシステムでは、需要家の嗜好を正確に分析できず、その結果、需要家が所持する食材の消費が促進されないという懸念がある。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、需要家が所持している食材の消費の促進を支援することを目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、献立提案装置は、食事の品目に関する各需要家の嗜好を示す情報と、各品目の調理に使用される食材を示す情報とを記憶した記憶部を参照して、前記各需要家の嗜好を複数のカテゴリに配分する配分部と、前記記憶部が記憶する情報及び前記配分部による配分結果に基づき、前記各需要家が品目に満足する確率を算出するためのパラメータを学習する学習部と、或る需要家の或る時期の食事について、当該需要家が所持する食材を消費期限内に消費するという制約条件の下、当該需要家が満足する確率が相対的に高い品目によって構成される献立を前記パラメータを用いて探索する探索部と、を有する。
【発明の効果】
【０００７】
需要家が所持している食材の消費の促進を支援することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態における献立提案装置１０のハードウェア構成例を示す図である。
【図２】本発明の実施の形態における献立提案装置１０の機能構成例を示す図である。
【図３】嗜好情報ＤＢ１２１の構成例を示す図である。
【図４】各需要家の嗜好の学習処理の処理手順の一例を説明するためのフローチャートである。
【図５】出現頻度行列Ｘを説明するための図である。
【図６】献立スケジュールの提案要求の受信に応じて献立提案装置１０が実行する処理手順の一例を説明するためのフローチャートである。
【図７】メタヒューリスティック手法における探索の処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における献立提案装置１０のハードウェア構成例を示す図である。図１の献立提案装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１０】
献立提案装置１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１１】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って献立提案装置１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１２】
図２は、本発明の実施の形態における献立提案装置１０の機能構成例を示す図である。図２において、献立提案装置１０は、情報受信部１１、クラスタリング部１２、嗜好学習部１３、最適スケジューリング部１４及び情報送信部１５等を有する。これら各部は、献立提案装置１０にインストールされた１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。すなわち、献立提案装置１０は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。献立提案装置１０は、また、嗜好情報ＤＢ１２１を利用する。嗜好情報ＤＢ１２１は、例えば、補助記憶装置１０２、又は献立提案装置１０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００１３】
情報受信部１１は、需要家が利用する情報通信端末（例えば、スマートフォン、タブレット端末又はＰＣ等）から、献立スケジュールの提案要求や、当該提案要求に対して生成された献立スケジュールに係る食事を構成する品目の中で需要家が気に入った（満足した）品目を示す情報等を受信する。なお、献立とは、１回の食事を構成する品目群を示す情報をいう。献立スケジュールは、１回以上の各食事を構成する品目群を時系列に示す（すなわち、献立の時系列を示す）情報をいう。
【００１４】
クラスタリング部１２は、嗜好情報ＤＢ１２１に記憶されている情報に基づいて、各需要家の嗜好（食材（調味料も含む。以下の食材についても同じ。）に関する嗜好）を複数のカテゴリにクラスタリング（配分又は分類）する。
【００１５】
図３は、嗜好情報ＤＢ１２１の構成例を示す図である。図３に示されるように、嗜好情報ＤＢ１２１には、嗜好テーブルＴ１及び品目テーブルＴ２等が記憶されている。
【００１６】
嗜好テーブルＴ１には、需要家ＩＤ及び品目ＩＤの組み合わせごとに、当該需要家ＩＤに係る需要家による当該品目ＩＤに係る品目（食事に関する品目）の満足度が記憶されている。満足度は、当該需要家が当該品目に満足した程度を示す情報である。図３において、満足度は、満足したか否かを示す。このように、満足度を２値（満足したか否か）だけとすれば、需要家による入力の手間を省力化できる。但し、満足度は、多値（３段階以上）に分けられた数値によって表現されてもよい。
【００１７】
品目テーブルＴ２には、食事に関する各品目の品目ＩＤに対応付けて、当該品目の調理に使用される食材を示す情報が記憶されている。
【００１８】
なお、献立提案装置１０の運用の初期においては、例えば、品目テーブルＴ２中の品目の中から、需要家が好む品目を選択させることで、嗜好テーブルＴ１が生成されてもよい。運用が進むにつれて、献立提案装置１０が需要家に対して提案した献立スケジュールに含まれる品目を当該需要家が食した後に、当該品目に満足したか否かがを示す情報が需要家の情報通信端末から送信され、当該情報に基づいて嗜好テーブルＴ１が更新されてもよい。
【００１９】
嗜好学習部１３は、嗜好情報ＤＢ１２１に記憶されている情報、及びクラスタリング部１２による各需要家の嗜好の配分結果（クラスタリングの結果）に基づいて、需要家が品目に満足する確率を算出するための評価パラメータを学習する。
【００２０】
最適スケジューリング部１４は、情報受信部１１によって受信された提案要求に応じ、当該提案要求に指定されている、需要家が所持する食材に関する情報と希望するスケジュールの情報と、嗜好学習部１３による学習結果とに基づいて、需要家が満足する確率が相対的に高い品目を含む１以上の献立スケジュール（品目のスケジュール）を探索する。
【００２１】
情報送信部１５は、最適スケジューリング部１４により探索された献立スケジュールを示す情報を、提案要求の送信元の情報通信端末（需要家）に送信する。
【００２２】
以下、献立提案装置１０が実行する処理手順について説明する。図４は、各需要家の嗜好の学習処理の処理手順の一例を説明するためのフローチャートである。
【００２３】
ステップＳ１０１において、クラスタリング部１２は、嗜好テーブルＴ１を参照することで特定される、各需要家が満足した品目を解析することにより、各需要家の嗜好をクラスタリングする。
【００２４】
具体的には、まず、クラスタリング部１２は、嗜好テーブルＴ１を参照して、需要家ごとに満足度フラグが立った（図３において「満足度」が○である）全ての品目を特定し、特定された各品目に用いられる食材を品目テーブルＴ２を参照して特定する。食材の特定結果に基づき、クラスタリング部１２は、各需要家が満足する品目に各食材が出現する頻度を要素とする出現頻度行列Ｘを生成する。
【００２５】
図５は、出現頻度行列Ｘを説明するための図である。図５に示されるように、出現頻度行列Ｘは、Ｄ行（Ｄは需要家数）、Ｍ列（Ｍは食材の種類数）の食材の出現頻度行列であり、ｄ行目の構成要素ｘ［ｄ］は、食材ｍ＝１〜Ｍが需要家ｄの満足度フラグが立った品目に現れた回数のベクトルである。
【００２６】
各需要家の嗜好をクラスタリングするに際し、本実施の形態では、或る需要家が何かの食材を美味しく食するために食材を選択するメカニズムを、以下のように仮定する。
【００２７】
各需要家は、その嗜好に応じてカテゴリへ分類されている。但し、１つの需要家は、１つのカテゴリに分類されているのではなく、複数のカテゴリへ或る確率で属するものとし、その配分率をθとする。各需要家について、全て（Ｋ個）のカテゴリの配分率の合計は、１となる。
【００２８】
需要家は、Ｋ個のカテゴリの中から、需要家ごとのカテゴリの配分率θに従って確率的に１つのカテゴリを選択する。需要家は、選択したカテゴリにおいて、カテゴリごとの食材の出現確率βに従って食材を１つ選択する。同じ品目に使われている他の食材又は別品目の食材を食するときは、カテゴリの選択から繰り返す。
【００２９】
Ｋ個のカテゴリは、以降に説明する解析によって自動的に決まるものであり、Ｋは、需要家数Ｄに比べて十分小さい値に設定される。すなわち、需要家ごとの嗜好テーブルＴ１からＫ個のカテゴリのバランスに情報が圧縮される。
【００３０】
以上のようなメカニズムを仮定すると、各需要家が品目を登録することによって食材の出現頻度行列Ｘが得られる尤度関数は以下の式１で表される。
【００３１】
【数１】
2019220001.tif 000003
ここで、β［ｋ］は、β（Ｋ×Ｍの行列）の構成要素であり、カテゴリｋにおける食材１〜Ｍの出現確率のベクトルである。また、θ［ｄ，ｋ］は、θ（Ｄ×Ｋの行列）の要素であり、需要家ｄの嗜好のカテゴリｋへの配分率である。すなわち、式１で示される尤度関数は、各需要家の嗜好情報ＤＢ１２１から食材の出現頻度ｘ［ｄ］が観測されるＤ個の確率の積となっている。
【００３２】
クラスタリング部１２は、この尤度が最大となるような配分率θと出現確率βとをベイズ推定する。この推定は、潜在ディリクレ配分法（ＬＤＡ）に基づいて行うことができ、事前確率分布にディリクレ分布を置いて、出現頻度行列Ｘが与えられることにより、θとβの事後確率分布がディリクレ分布で求められる。
【００３３】
クラスタリング部１２は、各パラメータの推定量として、求められた事後確率分布の期待値を採用する。こうして得られたθにより、需要家の嗜好がどんなカテゴリに配分されているかが分かり、需要家固有の嗜好が特徴づけられる。また、得られたβにより、各カテゴリにおいて出現確率が高い食材を概観すると、各カテゴリは、例えば「和食」、「健康志向」といったカテゴリであると意味づけられる。
【００３４】
ステップＳ１０１に続いて、嗜好学習部１３は、評価パラメータ（後述のｗ［ｄ］）の値を、嗜好情報ＤＢ１２１から学習する（Ｓ１０２）。需要家ｄが品目ｎに満足する確率Ｐｓ（ｄ，ｎ）は、以下の式２で表される。
【００３５】
【数２】
2019220001.tif 000004
ここで、ｗ［ｄ］は、需要家ｄの嗜好を決める特徴量のベクトル（特徴ベクトル）であり、例えば、特徴ベクトルの各要素は、品目ｎに含まれる食材２つの組み合わせに対応し、各要素の値は、当該要素に対応する食材の組み合わせに対する需要家ｄの嗜好の高さを示す特徴量（数値）である。この場合、特徴ベクトルの要素数はＭ（Ｍ−１）／２となる。食材３つ以上の組み合わせとしてもよいが、特徴量の数が膨大となり、学習に要する計算リソースがかかる。また、φ（ｎ）は、ｗ［ｄ］と同じ要素数のベクトルであり、φ（ｎ）の各要素もｗ［ｄ］を同じ品目の組み合わせに対応するが、各要素の値は品目ｎに使用される食材の２つの組み合わせの要素にのみ１（他は０）となるベクトルである。
【００３６】
ｗ［ｄ］は、カテゴリごとに独立な値を持つこととすれば、需要家ごとに独立であるとする場合に比べて、学習データ不足の問題への対策となる。そこで、本実施の形態では、需要家ｄの特徴ベクトルｗ［ｄ］は、カテゴリｋの特徴ベクトルＷ［ｋ］を用いて以下の式３で表される。なお、Ｗ［ｋ］の要素数及び各要素の意味は、ｗ［ｄ］と同じである。
【００３７】
【数３】
2019220001.tif 000005
この場合、嗜好学習部１３によって直接的に学習されるパラメータは、Ｗ［ｋ］となる。嗜好学習部１３によるＷ［ｋ］の学習は、嗜好情報ＤＢ１２１に記憶されているデータを学習データとして、ロジスティック回帰に基づき、確率的勾配降下法などを用いて行うことができる。確率的勾配降下法では、学習データをランダムにシャッフルし、１つ又は複数の登録された品目でＷ［ｋ］を更新する。但し、嗜好情報（嗜好テーブルＴ１のデータ）は需要家ごとに登録されているため、Ｗ［ｋ］の更新幅の制御には、以下の式４のように、学習率ηに需要家ｄのカテゴリ配分率θ［ｄ，ｋ］を乗じた値が用いられる。
【００３８】
【数４】
2019220001.tif 000006
ここで、ｔ（ｄ，ｎ）は、需要家ｄの品目ｎに対する満足度であり、０〜１の値を取る。式４では、カテゴリｋについてのみ記述しているが、実際にはｋ＝１〜ＫのＷ［ｋ］をまとめて更新する。嗜好学習部１３は、この更新を、収束判定を満たすか所定の反復回数まで繰り返す。以上説明したロジスティック回帰の代わりに、ニューラルネットワーク等を適用しても同様に学習できる。
【００３９】
なお、嗜好学習部１３は、学習したＷ［ｋ］に基づいて、需要家ｄごとに評価パラメータｗ［ｄ］を式３を用いて計算し、評価パラメータｗ［ｄ］を、例えば、補助記憶装置１０２等に記憶しておく。
【００４０】
その後、嗜好情報ＤＢ１２１に所定量の更新があれば（Ｓ１０３でＹｅｓ）、ステップＳ１０１以降が繰り返される。
【００４１】
続いて、いずれかの需要家の情報通信端末から送信される、献立スケジュールの提案要求の受信に応じて献立提案装置１０が実行する処理手順について説明する。
【００４２】
図６は、献立スケジュールの提案要求の受信に応じて献立提案装置１０が実行する処理手順の一例を説明するためのフローチャートである。
【００４３】
需要家ｄは、献立スケジュールの提案を受信したいタイミングで、現時点で所持している食材の種類及び量、並びに提案を希望する献立スケジュールの期間（例えば、開始時期及び終了時期）、当該期間における各食事の時期（タイミング）（曜日、朝、昼、夕、又は日時等）、各食事の人数等を示す情報を情報通信端末へ入力する。消費期限がある食材については、消費期限も入力される。また、現時点が買い物の前であるか否かを示す情報も入力される。なお、需要家が所持している食材の種類、量、消費期限等は、各食材に電子タグなどが貼付され、情報通信端末等が当該電子タグを読み取ることで入力されてもよい。
【００４４】
情報通信端末は、入力された情報を含む、需要家ｄに関する献立スケジュールの提案要求を献立提案装置１０へ送信する。現時点が買い物の前であることを示す情報が入力された場合、情報通信端末は、当該提案要求に不足食材リストの出力要求フラグを含める。不足食材リストの出力要求フラグとは、提案される品目に不足する食材のリストの出力要求を示すフラグをいう。
【００４５】
ステップＳ２０１において、情報受信部１１は、このような提案要求を受信する。続いて、最適スケジューリング部１４は、組み合わせ最適化アルゴリズムを用いて、複数の品目から構成され、需要家ｄに指定された期間における各献立のスケジュールを探索する（Ｓ２０２）。すなわち、当該期間における時系列の献立が探索される。なお、献立とは、１回の食事における品目の組み合わせをいう。
【００４６】
ここで、需要家ｄが品目ｎに満足する確率は、式２に示した通りでもよいし、類似の品目が連続するケースによる需要家の飽きを考慮する場合（所定回数内の食事に類似する品目が含まれる場合に満足する確率を低下させる場合）には、以下の式５が用いられてもよい。
【００４７】
【数５】
2019220001.tif 000007
ここで、Ｓ（ｎ，ｎ［ｓ］）は、品目ｎと所定回数内でそれより以前食事の品目ｎ［ｓ］との類似度である。類似度としては、例えば、φ（ｎ）の要素が共に１となる比率とする。類似度を評価するために使用する要素に絞り込むため、特徴ベクトルｗ［ｄ］の要素の絶対値が大きい要素を品目ごとに所定数選んで比較してもよい。このように、類似度も食材２つの組み合わせで評価することによって、消費期限のため使い切らなければならない食材を、別の食材と組み合わせた品目同士の類似度を下げることができる。また、何食前からの品目の類似度を考慮するかを示すパラメータｓ［ｄ］、及び重みづけパラメータｒ［ｄ］は、どの程度同じような品目が続いても満足できるかどうかにより需要家ごとに調整されればよい。なお、嗜好学習部１３も、式２の代わりに式５を用いてもよい。
【００４８】
最適化の目的関数は、需要家ｄが献立スケジュールに含まれる全ての品目ｎ［ｓ］に満足する確率の積であり、最適スケジューリング部１４は、以下の式６を最大化する献立スケジュールを探索する。
【００４９】
【数６】
2019220001.tif 000008
ここで、ｓの範囲は、献立スケジュールに含まれる品目の総数である。すなわち、式６は、献立スケジュールに含まれる各食事における各品目に対して需要家ｄが満足する確率の積和を示す。なお、式６の負の対数を取って最小化問題としても良い。
【００５０】
式６を用いて献立スケジュールを探索する際、最適スケジューリング部１４は、需要家ｄに関して学習され、補助記憶装置１０２等に記憶されている評価パラメータｗ［ｄ］を式５（又は式２）に当てはめることで、式６におけるＰｓ（ｄ，ｎ［ｓ］）を算出する。
【００５１】
制約条件としては、消費期限の有る食材を期限内に使い切る（消費される）という条件が設定される。すなわち、最適スケジューリング部１４は、当該制約条件の下、献立スケジュールを探索する。当該制約条件の充足の有無を判定するためには、各品目に使用される食材の量（例えば、一人分の量）を知る必要が有るが、当該量は、例えば、品目テーブルＴ２に食材ＩＤと共に記憶されてもよい。或る品目が或る時期の食事に採用される場合、当該品目に関する各食材の消費量は、当該食材に関して品目テーブルＴ２に記憶されている量に対して当該食事の人数を乗じることで得ることができる。
【００５２】
また、不足食材リストの出力要求が無い場合には、提案要求に指定された食材だけで調理できるという制約条件も加わる。また、いくつかの品目からなる１つの献立において、主要な栄養成分が所定値以上含まれるという制約条件を加えて、１食における栄養バランスが考慮されても良い。
【００５３】
上記した制約条件付き最適化問題を解くため、最適スケジューリング部１４は、目的関数が最良となるような献立スケジュールを探索する。
【００５４】
なお、需要家からは、複数回の食事に関する献立スケジュール（時系列な複数回の食事のそれぞれの品目群）の提案が要求されなくてもよい。例えば、今夜の夕食の品目群等、１回分の或る食事について献立スケジュールの提案が要求されてもよい。この場合、提案要求には、各食事の時期の代わりに、当該１回分の食事の時期を示す情報が指定されればよい。食事の時期を示す情報が必要なのは、消費期限のある食材を期限内に使い切るという制約条件の充足の有無を判定可能とするためである。
【００５５】
続いて、情報送信部１５は、最適スケジューリング部１４によって探索された献立スケジュールの複数の候補を、献立スケジュールの提案要求に対する応答として需要家ｄの情報通信端末（すなわち、献立スケジュールの提案要求の送信元の情報通信端末）へ送信する（Ｓ２０３）。不足食材リストの出力要求がある場合には不足食材リストも当該応答に含められる。なお、不足食材リストは、献立スケジュールごとに生成される。すなわち、最適スケジューリング部１４は、献立スケジュールごとに、需要家ｄが所持する食材に対して不足する食材の種類及び量が、不足食材リストとして生成する。
【００５６】
情報通信端末が当該応答を受信すると、需要家ｄは、候補の中から気に入った献立スケジュールを採用する。需要家ｄは、採用した献立スケジュールに係る各品目を実際に食した後、情報通信端末を用いて、品目ごとに満足度を含む情報を献立提案装置１０へ送信する。情報受信部１１は、当該情報を受信すると、嗜好情報ＤＢ１２１の品目テーブルＴ２を更新する。この更新によって図４のＳ１０３の条件が満たされると、図４のステップＳ１０１以降が再実行される。
【００５７】
続いて、図６のステップＳ２０２の詳細について説明する。最適化手法として様々なアルゴリズムを用いることができるが、複数の候補を提示して需要家ｄに選択してもらうため、メタヒューリスティック手法のうち多点探索の遺伝的アルゴリズムなどが好適である。
【００５８】
遺伝的アルゴリズムでは、複数の個体（献立スケジュール）について、目的関数値に基づいて適応度の計算を行い、その後、選択、交叉、突然変異からなる遺伝的オペレータと呼ばれる操作を行って、適応度の高い個体が生存され次世代に増殖する。
【００５９】
図７は、メタヒューリスティック手法における探索の処理手順の一例を説明するためのフローチャートである。
【００６０】
ステップＳ３０１において、最適スケジューリング部１４は、献立スケジュールの複数の初期個体を生成する。具体的には、最適スケジューリング部１４は、品目テーブルＴ２から、需要家ｄが所持する消費期限が迫っている（例えば、消費期限が、各食事の時期から所定日数（又は所定時間）以内である）食材を用いる品目や、評価パラメータを用いて需要家ｄが満足する確率が相対的に高い品目を優先的に選択し、乱数を用いながらそれら品目を組み合わせて多様な献立スケジュールの候補を複数個生成する。この個数は、適用する最適化アルゴリズム及び問題の規模によって適切な値があり、遺伝的アルゴリズムにおいては数十〜数百程度に設定される。
【００６１】
続いて、最適スケジューリング部１４は、評価パラメータｗ［ｄ］を用いて各献立スケジュールの適応度（目的関数値）を計算する（Ｓ３０２）。その後、所定の反復回数などの終了条件が満たされるまで（Ｓ３０３）、最適スケジューリング部１４は、当該各献立スケジュールにおいて１つあるいは連続する複数の品目を入れ替えるなどして、次世代の献立スケジュールを最適化アルゴリズムに基づき生成する（Ｓ３０４）。次世代の献立スケジュールの生成において、最適スケジューリング部１４は、適応度が高く制約条件を満たす献立スケジュールが高い確率で残るような選択を行う。
【００６２】
所定の反復回数などの終了条件が満たされると（Ｓ３０３でＹｅｓ）、最適スケジューリング部１４は、繰り返された全世代の中から適応度が高く制約条件を満たす複数の個体（スケジュール）を選択する（Ｓ３０５）。ここで選択された各個体が、献立スケジュールの複数の候補となる。
【００６３】
以上、需要家の嗜好を考慮した献立提案装置１０について説明したが、いくつかの変形例について説明する。需要家ｄの健康状態を考慮する場合、例えば、需要家ｄが高血圧とか糖尿病とかであれば、専門家によるそれぞれに良い品目及び悪い品目を予め嗜好情報ＤＢ１２１に登録しておく。良い品目は、需要家ｄの満足度が高いとして、悪い品目は需要家ｄの満足度が低いとして登録される。登録される品目の数によって、個人の嗜好と健康管理のバランスが取られてもよい。すなわち、嗜好を優先する場合には、健康状態を考慮した品目の登録数を少なくすればよいし、健康を優先する場合には、当該品目の登録数を多くすればよい。
【００６４】
また、需要家が発熱あるいは下痢となった場合には、それぞれの症状に良い品目及び悪い品目を一時的に嗜好情報ＤＢ１２１に登録し、回復すれば削除してもよい。この場合、需要家の情報通信端末から、症状を示す情報又は症状の回復を示す情報が献立提案装置１０に送信されてもよい。情報受信部１１は、症状を示す情報を受信すると、当該症状に良い品目及び悪い品目のレコードを、当該需要家の需要家ＩＤに対応付けて一時的に嗜好テーブルＴ１に登録する。情報受信部１１は、当該症状が回復したことを示す情報を受信すると、登録したレコードを嗜好テーブルＴ１から削除する。
【００６５】
このように、需要家の嗜好だけでなく健康状態なども考慮することができるため、需要家が安心して、献立提案装置１０が提案する献立スケジュールを採用する確率が高くなる。また、品目テーブルＴ２にｗｅｂにあるレシピ情報をリンクするなどして、献立スケジュールにレシピ情報を含めることによって、需要家は献立提案装置１０をさらに便利に使うことができる。
【００６６】
上述したように、本実施の形態によれば、需要家が所持している食材を用いた品目であって、需要家の嗜好に合った品目を含む献立スケジュールが需要家に提示される。したがって、当該献立スケジュールは、様々な嗜好を持つ需要家に採用される可能性が高くなる。その結果、需要家が所持している食材の消費の促進を支援することができ、需要家が所持している食材は廃棄されることがなくなるため、食品ロスが削減される。
【００６７】
また、食事の履歴が考慮されるため、前日と同じような料理など、需要家が満足できない品目を含む献立が提案される可能性を低下させることができる。
【００６８】
また、変形例によれば、需要家の健康状態等が考慮されるため、需要家がその日に食するには抵抗のある品目等、需要家が満足できない品目を含む献立が提案される可能性を低下させることができる。
【００６９】
なお、本実施の形態において、嗜好情報ＤＢ１２１は、記憶部の一例である。クラスタリング部１２は、配分部の一例である。嗜好学習部１３は、学習部の一例である。最適スケジューリング部１４は、探索部の一例である。
【００７０】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００７１】
１０          献立提案装置
１１          情報受信部
１２          クラスタリング部
１３          嗜好学習部
１４          最適スケジューリング部
１５          情報送信部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１２１        嗜好情報ＤＢ
Ｂ            バス
Ｔ１          嗜好テーブル
Ｔ２          品目テーブル
【図１】
2019220001.tif 000009
【図２】
2019220001.tif 000010
【図３】
2019220001.tif 000011
【図４】
2019220001.tif 000012
【図５】
2019220001.tif 000013
【図６】
2019220001.tif 000014
【図７】
2019220001.tif 000015