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

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

▶ 東芝テック株式会社の特許一覧

特開2024-110699情報処理装置及び情報処理プログラム
<>
  • 特開-情報処理装置及び情報処理プログラム 図1
  • 特開-情報処理装置及び情報処理プログラム 図2
  • 特開-情報処理装置及び情報処理プログラム 図3
  • 特開-情報処理装置及び情報処理プログラム 図4
  • 特開-情報処理装置及び情報処理プログラム 図5
  • 特開-情報処理装置及び情報処理プログラム 図6
  • 特開-情報処理装置及び情報処理プログラム 図7
  • 特開-情報処理装置及び情報処理プログラム 図8
  • 特開-情報処理装置及び情報処理プログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024110699
(43)【公開日】2024-08-16
(54)【発明の名称】情報処理装置及び情報処理プログラム
(51)【国際特許分類】
   G06Q 50/12 20120101AFI20240808BHJP
【FI】
G06Q50/12
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023015438
(22)【出願日】2023-02-03
(71)【出願人】
【識別番号】000003562
【氏名又は名称】東芝テック株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】綿田 将悟
【テーマコード(参考)】
5L049
5L050
【Fターム(参考)】
5L049CC24
5L050CC24
(57)【要約】
【課題】 複数の客席間でのサービス提供レベルのばらつきを抑えられるような調理支援を可能とする。
【解決手段】 実施形態の情報処理装置は、管理手段及び決定手段を備える。管理手段は、調理開始待ちの料理を、その料理の注文がなされた客席に関連付けて管理する。決定手段は、管理手段により管理されている料理の調理に関する諸条件を考慮しつつ、かつ複数の客席のそれぞれでの料理提供の待機時間の平準化を図りつつ、管理手段により管理されている料理の調理開始順序を決定する。
【選択図】 図4
【特許請求の範囲】
【請求項1】
調理開始待ちの料理を、その料理の注文がなされた客席に関連付けて管理する管理手段と、
前記管理手段により管理されている料理の調理に関する諸条件を考慮しつつ、かつ複数の客席のそれぞれでの料理提供の待機時間の平準化を図りつつ、前記管理手段により管理されている料理の調理開始順序を決定する決定手段と、
を具備する情報処理装置。
【請求項2】
前記決定手段は、調理に関する諸条件としては、料理のカテゴリ、調理に要する標準的な時間、調理可能なスタッフの人数、該当の料理を同時に調理可能な数を考慮する、
請求項1に記載の情報処理装置。
【請求項3】
前記決定手段は、調理に関する諸条件としては、料理毎に予め定められルールを考慮する、請求項1に記載の情報処理装置。
【請求項4】
前記決定手段は、調理に関する諸条件を考慮して、互いに異なる複数の調理開始順序を候補順序として定め、これら複数の候補順序のうちで複数の客席のそれぞれの待機時間が平準化する候補順序を選択して調理開始順序として決定する、
請求項1に記載の情報処理装置。
【請求項5】
前記決定手段は、複数の候補順序のそれぞれに関して、複数の客席のそれぞれの待機時間の平均値及び最大値と、諸条件を満たさない度合いを表す値との総和を求めて、当該の総和がより小さな候補順序を選択して調理開始順序として決定する、
請求項4に記載の情報処理装置。
【請求項6】
コンピュータを、
調理開始待ちの料理を、その料理の注文がなされた客席に関連付けて管理する管理手段と、
前記管理手段により管理されている料理の調理に関する諸条件を考慮しつつ、かつ複数の客席のそれぞれでの料理提供の待機時間の平準化を図りつつ、前記管理手段により管理されている料理の調理開始順序を決定する決定手段と、
して機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【0002】
飲食店等における調理支援を行うシステムは提案されている。
しかしながら、従来のシステムにおいては、調理時間の短縮を目的として、効率的に調理を行い得るように支援するものであった。
このため、例えば一部の客席で注文された複数の料理が、別の客席で注文された料理よりも優先的に調理されてしまい、サービス提供レベルの客席毎でのばらつきを生じさせてしまう場合があった。
このような事情から、複数の客席間でのサービス提供レベルのばらつきを抑えられるような調理支援が望まれていた。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005-56050号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、複数の客席間でのサービス提供レベルのばらつきを抑えられるような調理支援を行える情報処理装置及び情報処理プログラムを提供することである。
【課題を解決するための手段】
【0005】
実施形態の情報処理装置は、管理手段及び決定手段を備える。管理手段は、調理開始待ちの料理を、その料理の注文がなされた客席に関連付けて管理する。決定手段は、管理手段により管理されている料理の調理に関する諸条件を考慮しつつ、かつ複数の客席のそれぞれでの料理提供の待機時間の平準化を図りつつ、管理手段により管理されている料理の調理開始順序を決定する。
【図面の簡単な説明】
【0006】
図1】一実施形態に係る調理支援装置の要部回路構成を示すブロック図。
図2図1中のメニューデータベースに含まれる1つのデータレコードのデータ構造を模式的に表す図。
図3図1中のポリシーデータベースに含まれる1つのデータレコードのデータ構造を模式的に表す図。
図4】支援処理のフローチャート。
図5図1中の注文データに含まれる1つのデータレコードのデータ構造を模式的に表す図。
図6図1中の履歴データベースに含まれる1つのデータレコードのデータ構造を模式的に表す図。
図7図1中の制約データに含まれる1つのデータレコードのデータ構造を模式的に表す図。
図8】待機時間のイメージを表す図。
図9】指示画面の一例を表す図。
【発明を実施するための形態】
【0007】
以下、実施の形態の一例について図面を用いて説明する。なお、本実施の形態では、複数の客席を備える飲食店で提供する料理の調理を支援するための調理支援装置を例に説明する。
図1は本実施形態に係る調理支援装置1の要部回路構成を示すブロック図である。
調理支援装置1は、通信ネットワーク4を介して通信可能とされた注文入力装置2及び調理者端末3とともに調理支援システムを構成する。
調理支援装置1は、調理待ちとなっている料理の調理開始順序を判定し、調理を行うスタッフを支援するための情報処理を実行する情報処理装置である。
【0008】
注文入力装置2は、料理の注文を入力するためのユーザインタフェース装置である。注文入力装置2は、例えば接客を担当する店員により持ち運ばれて、当該店員が操作者となるハンディタイプ、あるいは、客席に設置されて、当該客席を使用する客が操作者となる客席端末タイプなどの様々なタイプのいずれであってもよい。あるいは注文入力装置2としては、客が所持するスマートフォンなどの情報通信端末が用いられてもよい。
【0009】
調理者端末3は、調理を行うスタッフの個々に割り当てられ、そのスタッフによる調理を支援するためのユーザインタフェース装置である。調理者端末3としては、例えばタブレットコンピュータを用いることが想定される。
通信ネットワーク4は、インターネット、VPN(virtual private network)、LAN(local area network)、公衆通信網、移動体通信網などを、単独又は適宜に組み合わせて用いることができる。通信ネットワーク4としては、一例として、LANが用いられる。
【0010】
調理支援装置1は、CPU(central processing unit)11、メイン記憶ユニット12、補助記憶ユニット13、表示ユニット14、操作ユニット15、通信モジュール16及び伝送路17等を備える。CPU11、メイン記憶ユニット12、補助記憶ユニット13、表示ユニット14、操作ユニット15、通信モジュール16は、伝送路17を介して接続される。
【0011】
CPU11、メイン記憶ユニット12及び補助記憶ユニット13を伝送路17で接続することによって、調理支援装置1を制御するための情報処理を行うコンピュータを構成する。
CPU11は、上記コンピュータの中枢部分に相当する。CPU11は、オペレーティングシステム及びアプリケーションプログラムなどの情報処理プログラムに従って、調理支援装置1としての機能を実現するべく情報処理を実行する。
【0012】
メイン記憶ユニット12は、上記コンピュータの主記憶部分に相当する。メイン記憶ユニット12は、読み出し専用のメモリ領域と書き換え可能なメモリ領域とを含む。メイン記憶ユニット12は、読み出し専用のメモリ領域では上記の情報処理プログラムの一部を記憶する。またメイン記憶ユニット12は、CPU11が各部を制御するための処理を実行する上で必要なデータを読み出し専用のメモリ領域又は書き換え可能なメモリ領域で記憶する場合もある。メイン記憶ユニット12は、書き換え可能なメモリ領域を、CPU11によるワークエリアとして使用する。メイン記憶ユニット12は,ワークエリアとして使用するメモリ領域に、注文データDAA及び制約データDABを記憶する。注文データDAAは、注文されて調理開始待ちとなっている料理を、その料理の注文がなされた客席に関連付けて管理するためのデータである。制約データDABは、調理開始待ちとなっている料理の調理開始順序を決めるに当たっての制約を管理するためのデータである。注文データDAA及び制約データDABの詳細は後述する。
【0013】
補助記憶ユニット13は、上記コンピュータの補助記憶部分に相当する。補助記憶ユニット13は、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disc drive)、SSD(solid state drive)、あるいはその他の周知の各種の記憶デバイスを利用できる。補助記憶ユニット13は、CPU11が各種の処理を行う上で使用するデータと、CPU11での処理によって生成されたデータとを記憶する。補助記憶ユニット13は、上記の情報処理プログラムを記憶する場合もある。補助記憶ユニット13は、本実施形態では、情報処理プログラムの1つである調理支援プログラムPRAを記憶する。補助記憶ユニット13の記憶領域の一部は、メニューデータベースDBA、ポリシーデータベースDBB及び履歴データベースDBCを記憶する領域として利用される。
【0014】
表示ユニット14は、調理支援装置1の管理者などに対して各種の情報を提示するための表示を行う。表示ユニット14は、画面表示デバイス、文字表示デバイス、発光デバイスなどの周知の様々な表示デバイスを単独又は組み合わせて用いて構成されてよい。典型的には、表示ユニット14としては、液晶表示デバイス等の画面表示デバイスを備える。
【0015】
操作ユニット15は、操作者による操作を受ける。操作ユニット15は、タッチセンサ、キーボード、ポインティングデバイス、スイッチなどの周知の様々な操作デバイスを単独又は組み合わせて用いて構成されてよい。典型的には、操作ユニット15として、キーボードと、マウスなどのポインティングデバイスとを備える。
【0016】
通信モジュール16は、通信ネットワーク4を介したデータ通信を行うための通信処理を実行する。通信モジュール16は、例えばLAN(local area network)用の既存の通信デバイスを用いることができる。
伝送路17は、アドレスバス、データバス及び制御信号線等を含み、接続された各部の間で授受されるデータ及び制御信号を伝送する。
【0017】
調理支援装置1のハードウェアとしては、例えば汎用のサーバ装置を用いることができる。そして調理支援装置1は、ローカルサーバ及びクラウドサーバのいずれの形態として運用されても構わない。調理支援装置1の譲渡は、例えば調理支援プログラムPRAが補助記憶ユニット13に記憶された状態で行われる。しかしながら、調理支援プログラムPRAが補助記憶ユニット13に記憶されない状態のハードウェアと、調理支援プログラムPRAとが別々に譲渡された上で、調理支援プログラムPRAが補助記憶ユニット13に書き込まれるのでも構わない。調理支援プログラムPRAの譲渡は、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介して行われてよい。
【0018】
メニューデータベースDBAは、調理支援装置1が利用される飲食店にて提供され得る料理を管理するためのデータベースである。
図2はメニューデータベースDBAに含まれる1つのデータレコードREAのデータ構造を模式的に表す図である。
メニューデータベースDBAは、それぞれ別々の料理に関連付けられた図2に表すデータレコードREAの集合である。データレコードREAは、フィールドFAA,FAB,FAC,FAD,FAE,FAFを含む。
【0019】
フィールドFAAには、関連付けられた料理の識別子としての料理IDがセットされる。フィールドFABには、関連付けられた料理の料理名がセットされる。フィールドFACには、関連付けられた料理が属するカテゴリがセットされる。フィールドFADには、関連付けられた料理の調理に要する標準的な時間として定められた調理時間がセットされる。フィールドFAEには、関連付けられた料理の調理を担当するスタッフとして定められた調理可能スタッフの識別子としてのスタッフIDがセットされる。フィールドFAFには、関連付けられた料理を同時に調理することが可能な数として予め定められた同時調理数がセットされる。なお、この例では、料理に対して一意に調理時間及び同時調理数を定義する。しかしながら、例えばスタッフごとの調理スキルの差を考慮して、スタッフ毎に、あるいはスタッフのスキルレベルに応じて異なる調理時間及び同時調理数が設定されても構わない。
【0020】
なお、各フィールドにセットされる具体的なデータの内容は、店舗の管理者などによって適宜に定められてよい。一例として、あるデータレコードREAの各フィールドには、「FO101」「刺身の盛り合わせ」「刺身」「7分」「ST01」「2」がそれぞれセットされる。また一例として、別のあるデータレコードREAの各フィールドには、「FO205」「エビの天麩羅」「揚げ物」「6分」「ST01,ST02」「2」がそれぞれセットされる。なお、フィールドFACは、カテゴリの識別子としてのカテゴリIDがセットされても構わない。
メニューデータベースDBAは、調理支援装置1の外部に備えられた記憶デバイスに記憶されていても構わない。
【0021】
ポリシーデータベースDBBは、店舗ポリシーに基づく料理の提供に関わる制約を管理するためのデータベースである。
図3はポリシーデータベースDBBに含まれる1つのデータレコードREBのデータ構造を模式的に表す図である。
ポリシーデータベースDBBは、それぞれ別々の店舗ポリシーに関連付けられた図3に表すデータレコードREBの集合である。データレコードREBは、フィールドFBA,FBB,FBC,FBDを含む。
【0022】
フィールドFBAには、関連付けられた店舗ポリシーの識別子としてのポリシーIDがセットされる。フィールドFBBには、関連付けられた店舗ポリシーの対象となる料理の料理名がセットされる。フィールドFBCには、関連付けられた店舗ポリシーの対象となるカテゴリがセットされる。フィールドFBDには、関連付けられた店舗ポリシーに基づく制約の内容がセットされる。
【0023】
なお、各フィールドにセットされる具体的なデータの内容は、店舗の管理者などによって適宜に定められてよい。一例として、あるデータレコードREBの各フィールドには、「PO001」「」「刺身」「揚げ物カテゴリの料理よりも先に調理する」がそれぞれセットされる。また一例として、別のあるデータレコードREBの各フィールドには、「PO002」「」「デザート」「デザート以外の料理より後に調理する」がそれぞれセットされる。また一例として、別のあるデータレコードREBの各フィールドには、「PO003」「お子様ランチ」「」「注文受付から10分以内に調理する」がそれぞれセットされる。なお、フィールドFBCは、カテゴリの識別子としてのカテゴリIDがセットされても構わない。「」は、有意なデータがセットされていない状態を表す。
ポリシーデータベースDBBは、調理支援装置1の外部に備えられた記憶デバイスに記憶されていても構わない。
【0024】
メニューデータベースDBA及びポリシーデータベースDBBは、店舗のメニュー変更及び店舗ポリシーの変更に伴うメンテナンス作業によって更新されることはあるが、その頻度は低く、少なくとも後述する支援処理に伴って更新されるものではない。
履歴データベースDBCは、これまでに受けられた注文を管理するためのデータベースである。履歴データベースDBCの詳細については後述する。
【0025】
次に以上のように構成された調理支援装置1の動作について説明する。
CPU11は、調理支援装置1による調理支援の開始が、例えば操作ユニット15での操作により指示されると、調理支援プログラムPRAに従って、以下に説明する支援処理を行う。
図4は支援処理のフローチャートである。
なお、以下に説明する処理の内容は一例であって、一部の処理の順序の変更、一部の処理の省略、あるいは別の処理の追加などは適宜に可能である。
【0026】
ACT11としてCPU11は、新規の注文があったか否かを確認する。そしてCPU11は、該当の事象を確認できないならばNOと判定し、ACT12へと進む。
ACT12としてCPU11は、調理状況に変化が生じたか否かを確認する。そしてCPU11は、該当の事象を確認できないならばNOと判定し、ACT11へと戻る。
かくしてCPU11は、ACT11及びACT12としては、注文又は調理状況の変化を待ち受ける。
【0027】
店員は、客の注文を聞き取った上で、注文入力装置2を操作して注文された料理を指定する。あるいは客は、注文入力装置2を操作して、注文する料理を指定する。注文入力装置2は、このような操作に応じて、1つの料理が指定される毎に、あるいは複数の料理が指定された後、注文実行が指示されたことに応じて、指定された料理のそれぞれの料理IDを調理支援装置1に対して通信ネットワーク4を介して通知する。このときに注文入力装置2は、客が使用する客席の識別子としての客席IDも調理支援装置1に対して通知する。注文入力装置2は例えば、料理の指定に前後して店員により入力される客席IDを調理支援装置1に対して通知する。あるいは注文入力装置2は例えば、当該注文入力装置2が設置される客席に応じて予め設定されて記憶している客席IDを調理支援装置1に対して通知する。あるいは注文入力装置2は例えば、客席に表示されて客席IDを表したバーコードなどを読み取って、当該の客席IDを調理支援装置1に対して通知する。店員は、客の要望があるならばそれを聞き取った上で、注文入力装置2を操作して当該の要望を入力する。あるいは客は、注文入力装置2を操作して、要望を入力する。注文入力装置2は、このような操作がなされているならば、入力された要望も調理支援装置1に対して通知する。
【0028】
このような通知が調理支援装置1にて通信モジュール16により受けられると、CPU11は注文があったとしてACT11にてYESと判定し、ACT13へと進む。
ACT13としてCPU11は、新たな注文を管理の対象として追加するべく注文データDAAを更新する。CPU11は例えば、今回通知された1つ又は複数の料理のそれぞれに関連付けたデータレコードを注文データDAAに追加する。
かくして注文データDAAは、注文された料理のそれぞれに関連付けられたデータレコードの集合である。
【0029】
図5は注文データDAAに含まれる1つのデータレコードRECのデータ構造を模式的に表す図である。
データレコードRECは、フィールドFCA,FCB,FCC,FCD,FCE,FCF,FCGを含む。
【0030】
CPU11は例えば、既に利用されている注文IDとは別の注文IDを予め定められたルールに従って決定し、フィールドFCAにセットする。CPU11は例えば、該当の注文に関する受注時刻を予め定められたルールで決定し、フィールドCABにセットする。CPU11は例えば、注文入力装置2から通知された客席IDをフィールドFCCにセットする。CPU11は例えば、注文入力装置2から通知された料理IDの1つをフィールドFCDにセットする。CPU11は例えば、フィールドFCDに上記のようにセットした料理IDで識別される注文料理が注文された個数をフィールドFCFにセットする。CPU11は例えば、客の要望が通知されているならば、それをフィールドFCGにセットする。そしてCPU11は、これらによって生成されるデータレコードRECを含むように注文データDAAを更新する。
【0031】
CPU11は一例として、各フィールドを「OD001」「12:00」「SE01」「FO101」「刺身の盛り合わせ」「1」「」としたデータレコードRECを注文データDAAに追加する。CPU11は一例として、各フィールドを「OD002」「12:00」「SE01」「FO205」「エビの天麩羅」「1」「」としたデータレコードRECを注文データDAAに追加する。CPU11は一例として、各フィールドを「OD003」「12:05」「SE02」「FO302」「鶏のから揚げ」「2」「サラダよりも先に出す」としたデータレコードRECを注文データDAAに追加する。フィールドFDHは、例えば「>サラダ」のような形態のデータをセットされるのでも構わないし、予め定められた様々な要望事項のそれぞれに定めた識別子としての要望IDをセットされるのでも構わない。
【0032】
ACT14としてCPU11は、新たな注文を管理の対象として追加するべく履歴データベースDBCを更新する。CPU11は例えば、今回通知された1つ又は複数の注文料理のそれぞれに関連付けたデータレコードを履歴データベースDBCに追加する。
かくして履歴データベースDBCは、過去に注文された料理のそれぞれに関連付けられたデータレコードの集合である。
【0033】
図6は履歴データベースDBCに含まれる1つのデータレコードREDのデータ構造を模式的に表す図である。
データレコードREDは、フィールドFDA,FDB,FDC,FDD,FDE,FDF,FDG,FDH,FDIを含む。
【0034】
CPU11は、フィールドFDA,FDB,FDC,FDD,FDE,FDHには、同じ料理に関連付けて注文データDAAに追加したデータレコードRECのフィールドFCA,FCB,FCC,FCD,FCF,FCGにセットしたのと同様のデータをセットする。CPU11は、フィールドFDFには、関連付けられた料理の調理状態を表すデータとして「未着手」をセットする。CPU11は、フィールドFDGには、関連付けられた注文料理の調理の担当スタッフを表すものとして、いずれのスタッフIDもセットしない。CPU11は、フィールドFDIには、関連付けられた注文料理の客への提供時刻を表すものとして有意なデータをセットしない。そしてCPU11は、これらによって生成されるデータレコードREDを含むように履歴データベースDBCを更新する。
【0035】
CPU11は一例として、各フィールドを「OD001」「12:00」「SE01」「FO101」「1」「未着手」「」「」「」としたデータレコードREDを履歴データベースDBCに追加する。CPU11は一例として、各フィールドを「OD002」「12:00」「SE01」「FO205」「1」「未着手」「」「」「」としたデータレコードREDを履歴データベースDBCに追加する。CPU11は一例として、各フィールドを「OD003」「12:00」「SE02」「FO302」「2」「未着手」「」「サラダよりも先に出す」「」としたデータレコードREDを履歴データベースDBCに追加する。
【0036】
一方、スタッフは、注文されている料理の調理を開始する場合には、対象となる料理に関する調理開始を宣言するための予め定められた操作を、当該のスタッフに割り当てられた調理者端末3にて行う。スタッフは、調理を完了した場合には、対象となる料理に関する調理完了を宣言するための予め定められた操作を、当該のスタッフに割り当てられた調理者端末3にて行う。調理者端末3は、これらの操作に応じて、対象となる料理に関する注文IDと、調理者端末3の識別子としての端末IDとの通知を伴って、調理開始又は調理完了を調理支援装置1に対して通信ネットワーク4を介して通知する。
【0037】
このような通知が調理支援装置1にて通信モジュール16により受けられると、CPU11は調理状況に変化があったとして図4のACT12にてYESと判定し、ACT15へと進む。
ACT15としてCPU11は、管理している調理状況を通知に応じて変更するべく履歴データベースDBCを更新する。
CPU11は例えば、調理開始が通知されたならば、通知された注文IDがフィールドFDAにセットされているデータレコードREDを履歴データベースDBCから探し出し、該当のデータレコードのフィールドFDFを「調理中」に書き換えるとともに、通知された端末IDに予め関連付けられたスタッフIDをフィールドFDGにセットする。なお、端末IDとスタッフIDとの関連付けは、複数の調理者端末3のそれぞれをどのスタッフに割り当てるかに応じて予め定められて、例えば補助記憶ユニット13に記憶されるデータテーブルにより管理される。ただし、調理者端末3の個々にスタッフIDを記憶させておき、調理開始の通知に際してスタッフIDを調理者端末3から調理支援装置1に通知するのでもよい。
【0038】
CPU11は例えば、調理完了が通知されたならば、通知された注文IDがフィールドFDAにセットされているデータレコードREDを履歴データベースDBCから探し出し、該当のデータレコードのフィールドFDFを「調理完了」に書き換えるとともに、フィールドFDIに現在時刻をセットする。なお、ここでフィールドFDIにセットする時刻は、調理完了した料理が客に提供されるまでに要する時間を考慮して予め定められた補正時間が現在時刻から経過した時刻としてもよい。またCPU11は、ここではフィールドFDIには何らのデータもセットせず、例えば注文入力装置2から通知された提供完了時刻、あるいは注文入力装置2から提供完了が通知された時刻を、その通知に応じてフィールドFDIにセットするのでも構わない。この場合は例えば、接客を担当するスタッフが、料理を客席に提供した旨を宣言するための予め定められた操作を注文入力装置2で行うようにする。あるいは客が、料理が提供された旨を宣言するための予め定められた操作を注文入力装置2で行うようにする。そして当該の操作に応じて注文入力装置2が、上記の通知を行うようにすればよい。
【0039】
ACT16としてCPU11は、今回の通知が調理開始であるか否かを確認する。そしてCPU11は、調理開始の通知であったならばYESと判定し、ACT17へと進む。
ACT17としてCPU11は、調理が開始された注文の管理を終了するべく注文データDAAを更新する。CPU11は例えば、通知された注文IDがフィールドFCAにセットされているデータレコードRECを注文データDAAから削除する。かくしてCPU11は、注文データDAAを用いて、調理開始待ちの料理を、その料理の注文がなされた客席に関連付けて管理する。つまり調理支援プログラムPRAに基づく情報処理をCPU11が実行することによって、CPU11を中枢部分とするコンピュータは管理手段として機能する。
【0040】
CPU11は、ACT14又はACT17を終えると、ACT18へと進む。またCPU11は、調理完了が通知されているためにACT16にてNOと判定したならば、ACT17をパスしてACT18へと進む。つまりCPU11は、調理状況が「未着手」である注文に関して何らかの変化が生じた場合、つまり調理開始待ちの状況が変化した場合には、ACT18へと進む。
【0041】
そしてCPU11は、ACT18~ACT26で、最適化機能を用いて、各種の制約条件を満たしつつ、各客席の待機時間のばらつきを小さく抑えられるような調理順及びスタッフ割り当てを決定する。本実施形態では、最適化機能として、局所探索法を使用する。局所探索法は、適当な初期解から出発し、解の近傍にそれより優位な解があれば置き換える、という処理を繰り返し実行して、更新が行われなくなったときの解を最適解とする。なお、この図4に表す支援処理は、一部の処理を調理支援プログラムPRAとは別の情報処理プログラムに基づいて実行しても構わない。例えばCPU11は、図4のACT18~ACT26の処理は、調理支援プログラムPRAとは別の調理順番決定プログラムに基づいて実行しても構わない。
【0042】
ACT18としてCPU11は、変化した後の調理開始待ちの状況に応じて、未着手である注文についての調理順及びスタッフ割り当てを決定するための制約条件を、例えば以下の例のように設定する。CPU11は、注文データDAAに含まれるデータレコードRECのそれぞれについて、メニューデータベースDBAを参照の上で、調理を担当するスタッフに関する制約(以下、スタッフ制約と称する)を抽出する。CPU11は、注文データDAAに含まれるデータレコードRECのそれぞれについて、メニューデータベースDBA及びポリシーデータベースDBBを参照の上で、店舗ポリシーに基づく制約(以下、ポリシー制約と称する)を抽出する。CPU11は、注文データDAAに含まれるデータレコードRECのうちでフィールドFCGに有意なデータがセットされているデータレコードRECのそれぞれについて、客要望に基づく制約(以下、要望制約と称する)を抽出する。制約の内容は、「調理割り当てはスタッフSTAである」などの条件文、あるいはそれを表現する条件式とされる。さらにCPU11は、抽出した制約のそれぞれに関して、違反ペナルティを定義する。違反ペナルティは、設計パラメータとして事前に定義しておけばよく、できれば違反したくない弱い制約については違反ペナルティを小さく、必ず違反したくない強い制約については違反ペナルティを大きく設定しておくことが想定される。
そしてCPU11は、これら抽出した各種の制約のそれぞれを制約条件として設定する。CPU11は、設定した制約条件を管理するために、制約データDABを生成する。制約データDABは、制約条件の個々に関連付けたデータレコードの集合となる。
【0043】
図7は制約データDABに含まれる1つのデータレコードREEのデータ構造を模式的に表す図である。
データレコードREEは、フィールドFEA,FEB,FEC,FED,FEEを含む。CPU11は、制約データDABに含まれるデータレコードREEの個々を識別可能に、予め定められたルールに従って識別子を決定し、これを制約IDとしてフィールドFEAにセットする。CPU11は例えば、関連付けられた制約が、スタッフ制約、ポリシー制約及び要望制約のいずれであるかの区分を表すデータをフィールドFEBにセットする。CPU11は例えば、関連付けられた制約の対象となる注文の注文IDをフィールドFECにセットする。CPU11は例えば、関連付けられた制約の内容をフィールドFEDにセットする。CPU11は例えば、関連付けられた制約に関して定義した違反ペナルティをフィールドFEEにセットする。
【0044】
これによりデータレコードREEは、各フィールドに、例えば「CO001」「スタッフ制約」「OD001」「調理割り当てはスタッフSTAである」「100」といった具合に、あるいは例えば「CO002」「ポリシー制約」「OD001」「揚げ物よりも先に出す」「30」といった具合に、あるいは例えば「CO005」「要望制約」「OD003」「サラダよりも先に出す」「50」といった具合に、各データがセットされたものとなる。
【0045】
図4中のACT19としてCPU11は、調理開始待ちとなっている注文に関する調理順番及びスタッフへの割当に関する初期の候補解を生成する。CPU11は例えば、注文データDAAに含まれる全てのデータレコードRECのフィールドFCAにセットされている注文IDを抽出する。次にCPU11は例えば、抽出した注文IDを、スタッフに対応した複数の順列リストのデータ構造にランダムに振り分ける。具体例としてCPU11は、「OD02」「OD03」「OD04」「OD05」「OD06」なる5つの注文IDを抽出した場合に、これを例えばスタッフSTAに対応する順列リストとして{OD04,OD02}、スタッフSTBに対応する順列リストとして{OD03,OD06,OD05}のようにランダムに振り分ける。ここで{OD04,OD02}のように表される順列リストは、対応するスタッフSTAが、まず注文IDが「OD04」である注文の対象となっている料理を調理し、その後に注文IDが「OD02」である注文の対象となっている料理を調理することを意味する。
【0046】
ACT20としてCPU11は、候補解に関するエネルギ関数を評価する。CPU11は、メニューデータベースDBAの各データレコードREAのフィールドFADにセットされている調理時間を参照し、候補解を各スタッフの調理スケジュールに変換することで、各客席の待機時間を算出する。具体的にはCPU11は例えば、スタッフごとに候補解での調理順に調理時間を積み上げることにより、各料理の提供時刻を求める。CPU11はこの際、候補解には含まれない、該当のスタッフが調理中である注文の残りの調理時間も考慮する。またCPU11は、順番が連続する複数の注文の対象となる料理が同じであれば、複数の注文を1つにまとめることで、1つの注文分の調理時間とする。ただし、まとめられる注文個数は、その料理にメニューデータベースDBAにて関連付けられているデータレコードREAのフィールドFAFにセットされた同時調理数を上限とする。つまりCPU11は例えば、同時調理数が「3」の料理に対して、その料理の注文が5つ連続していた場合は、3つと2つの2回分の調理時間とする。このようにすることで、得られる解に同時調理が可能か否かを考慮することができる。そしてCPU11は例えば、客席毎に、上記の処理によって求めた各料理の提供時刻の最も早い時刻と、既に料理を提供済みの注文に履歴データベースDBCにて関連付けられているデータレコードのフィールドFDIにセットされている提供時刻のうちの最も遅い提供時刻との差分として待機時間を算出する。
【0047】
図8はこのように算出される待機時間のイメージを表す図である。
図8は、上述の具体例のように、スタッフSTAに対応する順列リストとして{OD04,OD02}、スタッフSTBに対応する順列リストとして{OD03,OD06,OD05}が設定されている場合である。そして、注文IDが「OD02」である注文は客席IDが「SE01」である客席での注文であり、注文IDが「OD03」及び「OD05」である注文は客席IDが「SE02」である客席での注文であり、注文IDが「OD06」である注文は客席IDが「SE03」である客席での注文である場合である。そして、客席IDが「SE01」である客席は待機時間WTa、客席IDが「SE02である客席は待機時間WTb、客席IDが「SE03」である客席は待機時間WTcとなる。
【0048】
CPU11は次に、全ての制約条件に対して、候補解が意味する調理順及び担当割り当てがその制約条件を満たしているかチェックし、制約条件を満たしていない制約条件に対して定義されている違反ペナルティの総和として、ペナルティ値を算出する。CPU11は例えば、メニューデータベースDBAにて担当スタッフとして設定されていないスタッフに調理が割り当てられている場合は制約違反であるから、該当の制約条件に対して定義されている違反ペナルティをペナルティ値に計上する。かくしてペナルティ値は、各料理の調理順序の決定に考慮する諸条件を満たさない度合いを表す値の一例である。
【0049】
CPU11は次に、各客席の待機時間とペナルティ値とから、候補解のエネルギ関数の出力値を求める。エネルギ関数は、制約条件を満たし、各客席の待機時間が短くなるほど出力値が小さく、高評価を意味する。例えばCPU11は、エネルギ関数の出力値を以下のような数式により算出する。ただし、Taveは各客席の待機時間の平均値である。Tmaxは各客席の待機時間のうちの最大値である。Vpはペナルティ値である。
出力値=Tave+Tmax+Vp
なお、以下においては、候補解に関するエネルギ関数の出力値を、候補出力値と称することとする。
【0050】
ACT21としてCPU11は、候補解から近傍解を生成する。CPU11は例えば、候補解に対して、ランダムに選択した1つの注文を、ランダムに選択した別の割り振り位置へ移動する。あるいはCPU11は例えば、候補解に対して、ランダムに選択した2つの注文の割り振り位置を交換する。これらの移動及び交換は、どちらか一方を実行するのでも、あるいは両方を実行されるのでも構わない。さらには上記の移動及び交換の少なくとも一方が、複数回繰り返して実行されるのでも構わない。一般的に近傍解の生成における解の変更操作は、確率的に決定されるとよいとされる。
【0051】
ACT22としてCPU11は、近傍解に関するエネルギ関数を評価する。ここでのCPU11の処理は、処理の対象が候補解から近傍解に変更される他は、ACT20と同様な処理であってよい。そして以下においては、近傍解に関するエネルギ関数の出力値を、近傍出力値と称することとする。
【0052】
ACT23としてCPU11は、候補解に対して近傍解が優位であるか否かを確認する。CPU11は例えば、候補出力値と近傍出力値とに関して予め定められた判定条件が成立する場合に、近傍解が優位であると判定する。上記の判定条件は、例えば調理支援装置1の設計者又は調理支援プログラムPRAの作成者などによって適宜に定められて構わないが、一例として[候補近傍値>近傍出力値]が成立することとする。そしてCPU11は、近傍解が優位であるならばYESと判定しACT24へと進む。
【0053】
ACT24としてCPU11は、候補解及び候補出力値を更新する。つまりCPU11は、近傍解及び近傍出力値を、新たな候補解及び候補出力値とする。そしてCPU11はこののち、ACT25へと進む。なおCPU11は、近傍解が優位であると判定できないためにACT23にてNOと判定したならば、ACT24をパスしてACT25へと進む。つまりCPU11は、近傍解が優位であると判定できない場合には、候補解及び候補出力値を更新しない。
【0054】
ACT25としてCPU11は、後述するように予め定められた終了条件が成立したか否かを確認する。そしてCPU11は、終了条件が成立していないならばNOと判定し、ACT21以降を繰り返す。これにより、上記のように更新後の候補解に対する近傍解の生成と、近傍解が優位である場合の候補解の更新とを繰り返す。
終了条件は、例えば調理支援装置1の設計者又は調理支援プログラムPRAの作成者などによって適宜に定められて構わないが、一例として、ACT21~ACT25のループを繰り返す中で、5回連続で候補解の更新が行われなかった場合とすることが想定される。つまりCPU11は、ACT23にてNOと判定してACT25へと進むことが5回連続した場合に、ACT25にてYESと判定し、ACT26へと進む。
【0055】
ACT26としてCPU11は、調理者端末3のそれぞれで表示させる指示画面を更新する。指示画面は、候補解が意味する調理順及び担当割り当てを各スタッフに通知するとともに、調理開始及び調理完了の宣言のための操作を受けるためのGUI(graphical user interface)画面である。つまりCPU11は、スタッフのそれぞれに対応する個別の内容の指示画面をそれぞれ生成し、各指示画面の表示を、対応するスタッフに割り当てられた調理者端末3に対して指示することで、調理者端末3で表示される指示画面を更新させる。つまりCPU11は、終了条件が成立した時点における候補解を、探索結果としての最終の解、すなわち最適解とし、この最適解が意味する調理順及び担当割り当てを指示画面により各スタッフに通知する。
【0056】
かくして調理支援プログラムPRAに基づく情報処理をCPU11が実行することによって、CPU11を中枢部分とするコンピュータは調理開始順序を決定する決定手段として機能する。そしてこの機能に関してCPU11は、調理開始順序についての複数の候補となる初期の候補解及び近傍解の中から複数の客席のそれぞれでの待機時間が平準化する解を採用することで、調理開始順序を決定している。
なお、全ての制約を満たす調理順が存在しない場合もあり得るため、最適解としては、ペナルティ値の小さい制約違反のある解が選ばれる場合もあり得る。
【0057】
図9は指示画面SCAの一例を表す図である。
指示画面SCAは、テーブルTAA、ボタンBUA,BUBを表す。
CPU11は、1人のスタッフに関して割り当てる料理のそれぞれについての料理名、個数、客席ID、調理時間及び調理状態を並べた行を、調理順に列方向に並べてテーブルTAAを生成する。CPU11は、テーブルTAAに表す各情報は、調理時間を除いて履歴データベースDBCから得ればよい。CPU11は、調理時間はメニューデータベースDBAから得る。なお図9においては、料理名を「AAAAAA」のように簡略化して表しているが、実際には「刺身の盛り合わせ」のような文字列が表される。CPU11は、調理状態が「未着手」である料理に関する行においては、調理状態の欄を空欄とする。しかしながらCPU11は、該当の欄に、例えば「未着手」のような文字列を表すのでも構わない。
【0058】
CPU11は、調理状態が「調理中」である料理に関する行の横に、ボタンBUAを表す。ボタンBUAは、横に並ぶ行に表された料理の調理完了をスタッフが宣言するためのソフトキーである。CPU11は、調理状態が「未着手」である料理に関する行の横に、ボタンBUBを表す。ボタンBUBは、横に並ぶ行に表された料理の調理開始をスタッフが宣言するためのソフトキーである。かくしてボタンBUA,BUBのそれぞれの表示数及び表示位置は、各料理の調理状態に応じて様々に変化する。ボタンBUA,BUBは、ある時点の指示画面SCAにおいては1つも表されない場合もある。
【0059】
そしてCPU11は、調理者端末3のそれぞれにて表示される指示画面SCAを更新し終えたならば、図4中のACT11及びACT12の待ち受け状態に戻る。かくしてCPU11は、ボタンBUAをタップする操作を、ACT12にて調理完了を宣言するための予め定められた操作として受ける。またCPU11は、ボタンBUBをタップする操作を、ACT12にて調理開始を宣言するための予め定められた操作として受ける。そこで調理者端末3は、ボタンBUA又はボタンBUBがタップされたならば、ボタンが操作されたことを、指示画面SCAに表されたボタンBUA,BUBのいずれが操作されたかを判別可能に通知する。そしてCPU11は、この通知に基づいて、前述のようにACT15の処理を実行する。
【0060】
以上のように調理支援装置1は、複数の客席から入った注文について、店舗のポリシーや顧客の要望になるべく沿いつつも、各客席のそれぞれでの料理提供の待機時間の平準化を図れるような調理順を決定する。かくして、このように決定された調理順に従ってスタッフが調理することによって、各客席に偏りなく料理を提供することができ、複数の客席間でのサービス提供レベルのばらつきを抑えることができる。そして、これにより、客に不公平感を与えないことにより、店舗利用に関する客の満足度を向上させることができる。
【0061】
この実施形態は、次のような種々の変形実施が可能である。
前記実施形態では、最適化機能として局所探索法を用いて説明した。しかしながら、使用する最適化機能及び設計方法はこれに限らず実現が可能である。例えば、イジングモデルなどの数理モデルに定式化して汎用的なソルバで求解する方法を用いても構わない。
【0062】
複数の情報処理装置の協働によって調理支援装置1としての機能が実現されるのでも構わない。例えば、図4中のACT11~ACT17及びACT26の処理と、ACT18~ACT26の処理とは、互いに連携しながら別々の情報処理装置により実行されても構わない。
【0063】
図4中のACT13及びACT17での注文データの更新は、POS端末などの販売処理装置での登録処理と連携して、当該の登録処理で生成される注文リストを参照することで行われても構わない。
【0064】
指示画面は、図9に表すような指示画面SCAに代えて、複数のスタッフが担当する料理を混在して表すとともに、各料理を調理すべきスタッフを認識可能とした画面としても構わない。
【0065】
情報処理によりCPU11が実現する各機能は、その一部又は全てをロジック回路などのようなプログラムに基づかない情報処理を実行するハードウェアにより実現することも可能である。また上記の各機能のそれぞれは、上記のロジック回路などのハードウェアにソフトウェア制御を組み合わせて実現することも可能である。
【0066】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0067】
1…調理支援装置、2…注文入力装置、3…調理者端末、4…通信ネットワーク、11…CPU、12…メイン記憶ユニット、13…補助記憶ユニット、14…表示ユニット、15…操作ユニット、16…通信モジュール、17…伝送路。
図1
図2
図3
図4
図5
図6
図7
図8
図9