(57)【要約】  スケジュール対象に関する決定済みのスケジュールデータとスケジュール対象の特徴とに基づいて、スケジュール対象のスケジュールデータの生成に利用する目的関数を算出する。スケジュール未決定のスケジュール対象の特徴と、目的関数とを用いて、スケジュール未決定のスケジュール対象のスケジュールデータを生成する。
2020157913.tif 000002
【特許請求の範囲】
【請求項１】
スケジュール対象に関する決定済みのスケジュールデータと前記スケジュール対象の特徴とに基づいて、前記スケジュール対象のスケジュールデータの生成に利用する目的関数を算出する学習部と、
スケジュール未決定のスケジュール対象の特徴と、前記目的関数とを用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成するスケジューリング部と、
を備えるスケジューリング装置。
【請求項２】
前記学習部は、過去に生成された前記決定済みのスケジュールデータに基づいて、逆最適化の手法を用いて、前記決定済みのスケジュールデータを生成した作業者のスケジューリング手法特有のパラメータを含む前記目的関数を算出する
請求項１に記載のスケジューリング装置。
【請求項３】
前記学習部は、前記スケジュール対象ごとに、前記目的関数を算出する
請求項１または請求項２に記載のスケジューリング装置。
【請求項４】
前記学習部は、前記スケジュール対象の特徴に基づいて前記スケジュール対象を複数のグループに決定し、そのグループ毎に、前記目的関数を算出する
請求項１または請求項２に記載のスケジューリング装置。
【請求項５】
前記スケジューリング部は、前記スケジュール未決定のスケジュール対象の特徴に基づいて、前記グループを特定し、当該グループについて算出された前記目的関数を用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成する
請求項４に記載のスケジューリング装置。
【請求項６】
前記スケジュール対象が広告放送であり、
前記スケジュールデータが前記スケジュール対象の放送のスケジュールであり、
前記スケジューリング部は、前記広告放送の前記スケジュールデータを生成する
請求項１から請求項５の何れか一項に記載のスケジューリング装置。
【請求項７】
スケジュール対象に関する決定済みのスケジュールデータと前記スケジュール対象の特徴とに基づいて、前記スケジュール対象のスケジュールデータの生成に利用する目的関数を算出し、
スケジュール未決定のスケジュール対象の特徴と、前記目的関数とを用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成する
スケジューリング方法。
【請求項８】
コンピュータを、
スケジュール対象に関する決定済みのスケジュールデータと前記スケジュール対象の特徴とに基づいて、前記スケジュール対象のスケジュールデータの生成に利用する目的関数を算出する学習手段、
スケジュール未決定のスケジュール対象の特徴と、前記目的関数とを用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成するスケジューリング手段、
として機能させるプログラムを記録する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スケジューリング装置、スケジューリング方法、記録媒体に関する。
【背景技術】
【０００２】
スケジュール対象をその特徴に基づいてスケジュールすることに多くの労力が割かれている。例えば広告放送を行う日時を決定する作業は、作業者に多くの労力をかけている。【０００３】
関連する技術として、特許文献１には、ユーザの嗜好や状況に応じて、ユーザに配信する複数のコンテンツの時間的な配列を定める番組表を作成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００５／０９６６２９号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述のようなスケジューリングの作業において、一般の作業者が、熟練した作業者に類似するスケジュールデータを自動生成することができる技術が望まれている。
【課題を解決するための手段】
【０００６】
本発明の一実施形態によるスケジューリング装置は、スケジュール対象に関する決定済みのスケジュールデータと前記スケジュール対象の特徴とに基づいて、前記スケジュール対象のスケジュールデータの生成に利用する目的関数と制約条件とを算出する学習部と、スケジュール未決定のスケジュール対象の特徴と、前記目的関数と、前記制約条件とを用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成するスケジューリング部と、を備えることを特徴とする。【０００７】
また本発明の一実施形態によるスケジューリング方法は、スケジュール対象に関する決定済みのスケジュールデータと前記スケジュール対象の特徴とに基づいて、前記スケジュール対象のスケジュールデータの生成に利用する目的関数と制約条件とを算出し、スケジュール未決定のスケジュール対象の特徴と、前記目的関数と、前記制約条件とを用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成することを特徴とする。【０００８】
また本発明の一実施形態による記録媒体は、コンピュータを、スケジュール対象に関する決定済みのスケジュールデータと前記スケジュール対象の特徴とに基づいて、前記スケジュール対象のスケジュールデータの生成に利用する目的関数と制約条件とを算出する学習手段、スケジュール未決定のスケジュール対象の特徴と、前記目的関数と、前記制約条件とを用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成するスケジューリング手段、として機能させることを特徴とするプログラムを記録する。
【発明の効果】
【０００９】
本発明によれば、スケジューリングの作業に熟練した作業者に類似するスケジュールデータを自動生成するスケジューリング装置、スケジューリング方法、記録媒体を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】スケジューリングシステムの概要を示す図である。
【図２】スケジューリング装置のハードウェア構成を示す図である。
【図３】スケジューリング装置の機能ブロック図である。
【図４】第一の実施形態によるスケジューリング装置の処理フローを示す図である。
【図５】第二の実施形態によるスケジューリング装置の処理フローを示す図である。
【図６】スケジューリング装置の最小構成を示す図である。
【図７】最小構成のスケジューリング装置の処理フローを示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の一実施形態によるスケジューリング装置を図面を参照して説明する。
図１は同実施形態によるスケジューリング装置を備えたスケジューリングシステムの概要を示す図である。
この図で示すようにスケジューリングシステム１００は、スケジューリング装置１と端末２とが通信接続されて構成される。端末２は作業者からの入力情報をスケジューリング装置１へ出力する。スケジューリング装置１は、作業者の指示を示す入力情報に基づいて、スケジューリングの作業に熟練した作業者に類似するスケジューリング対象のスケジュールデータを自動生成する。
【００１２】
図２はスケジューリング装置１のハードウェア構成を示す図である。
この図が示すようにスケジューリング装置１は、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、データベース１０４、通信モジュール１０５等の各ハードウェアを備えたコンピュータである。端末２も同様のハードウェアを備えたコンピュータである。
【００１３】
図３はスケジューリング装置の機能ブロック図である。
スケジューリング装置１のＣＰＵ１０１は電源が投入されると起動し、予め記憶するスケジューリングプログラムを実行する。これによりスケジューリング装置１は、制御部１１、学習部１２、スケジューリング部１３、の各機能を発揮する。
【００１４】
制御部１１は、スケジューリング装置１の他の機能を制御する。
学習部１２は、スケジュール対象に関する決定済みのスケジュールデータとスケジュール対象の特徴とに基づいて、スケジュール対象のスケジュールデータの生成に利用する目的関数と制約条件とを算出する。
スケジューリング部１３は、スケジュール未決定のスケジュール対象の特徴と、目的関数と、制約条件と、を用いて、スケジュール未決定のスケジュール対象のスケジュールデータを生成する。
【００１５】
ここで本実施形態においては、スケジュール対象が広告放送であり、スケジュールデータが番組の放送と広告放送のスケジュールを示す。このような場合、学習部１２は、広告放送ごとに、目的関数を算出してよい。また学習部１２は、広告放送の特徴に基づいて決定されたグループ毎に、目的関数と制約条件とを算出してよい。またスケジューリング部１３は、新た広告放送の特徴に基づいて、グループを特定し、当該グループについて算出された目的関数と制約条件とを用いて、スケジュール未決定の広告放送のスケジュールデータを生成する。
【００１６】
＜第一の実施形態＞
図４は第一の実施形態によるスケジューリング装置の処理フローを示す図である。
次に、第一の実施形態によるスケジューリング装置１の処理フローについて説明する。
スケジューリング装置１のデータベース１０４は、過去に熟練作業者等の作業者によって生成されたスケジュールデータを記憶する。学習部１２は、処理開始の指示情報を取得する。当該処理開始の指示情報は、端末２を用いて作業者が入力し、通信ネットワークを介してスケジューリング装置１が受信してもよい。または作業者はスケジューリング装置１に備わる入力装置を用いて処理開始の指示情報を直接、スケジューリング装置１に入力してもよい。
【００１７】
学習部１２は、指示情報の取得に基づいて、熟練作業者等の作業者によって過去に生成された期間スケジュールデータＸｅ＝｛ｘ１，ｘ２，ｘ３，…ｘＭ｝をデータベース１０４から取得する（ステップＳ１０１）。期間スケジュールデータＸｅには、少なくとも広告放送ごとの広告スケジュールｘ（ｘ１，ｘ２，ｘ３，…ｘＭ）が含まれる。学習部１２は、練作業者によって過去に生成された期間スケジュールデータＸｅに含まれる広告放送ごとの広告スケジュールｘを、１つずつ順に取得してもよい。熟練作業者等の作業者によって過去に生成された期間スケジュールデータＸｅ＝｛ｘ１，ｘ２，ｘ３，…ｘＭ｝は、所定の放送契約期間において割り当てられた各広告放送のスケジュールを含む。広告スケジュールｘには、広告放送の個別のスケジュールの情報や広告放送の特徴情報が含まれる。期間スケジュールデータＸｅには、広告スケジュールｘの情報の他、番組の日時や特徴を含む番組情報が含まれてもよい。
【００１８】
ここで、熟練作業者等の作業者によって過去に生成された期間スケジュールデータＸｅは、以下の数理最適化を説いた結果であると仮定する。
【００１９】
【数１】
2020157913.tif 000003
【００２０】
式（１）においてθは熟練作業者等の作業者に応じた固有パラメータあり、熟練作業者等の作業者のスケジューリング手法を決定づける特有のパラメータである。式（１）においてθの値のみ未知である。φは広告スケジュールｘの特徴情報と制約条件とを表す。特徴情報には、一例としては、広告放送がターゲットとする年齢層、性別、放送する曜日、広告の内容種別、広告放送の放送時間に前後して放送される番組の種別、などの情報が含まれる。制約条件には、一例としては、必ず放送する時間帯、当該広告放送を行う前または後に放送される番組の種別などの情報が含まれる。式（１）は、θＴφ（ｘ）の値が最大になる広告放送のスケジュールｘを熟練作業者等の作業者が作成していることを意味する。
【００２１】
学習部１２は、熟練作業者等の作業者によって過去に生成された期間スケジュールデータＸｅ＝｛ｘ１，ｘ２，ｘ３，…ｘＭ｝を用いて逆最適化により熟練作業者等の作業者の固有パラメータθを推定する。より具体的には、学習部１２は、最尤法に基づいて逆最適化を行う。
【００２２】
【数２】
2020157913.tif 000004
【００２３】
熟練作業者等の作業者によって過去に生成された期間スケジュールデータＸｅが与えられている状況において、尤度ｐ（Ｘｅ｜θ）を最大にするようなパラメータθ＊を熟練作業者等の作業者のパラメータとする。尤度ｐ（Ｘｅ｜θ）は、例えば以下の式（３）を用いる。
【００２４】
【数３】
2020157913.tif 000005
【００２５】
熟練作業者等の作業者によって過去に生成された期間スケジュールデータＸｅ＝｛ｘ１，ｘ２，ｘ３，…ｘＭ｝が独立同分布から生成されていると仮定して対数を取ると、式（２）は以下の式（４）となる。
【００２６】
【数４】
2020157913.tif 000006
【００２７】
学習部１２は、パラメータθ＊をアップデートしたθｎｅｗを、最急上昇法を用いて算出する。
【００２８】
【数５】
2020157913.tif 000007
【００２９】
学習部１２はαについてステップサイズで任意の値に決めることができる。また学習部１２は、尤度ｐを表す式として式（３）を採用している場合、パラメータのアップデートは以下の式（６）のように行う。
【００３０】
【数６】
2020157913.tif 000008
【００３１】
上記式（６）においてφ（ｘｉ）は、熟練作業者等の作業者によって過去に生成された期間スケジュールデータＸｅのうち処理対象の広告放送の広告スケジュールｘから抽出した特徴量である。またφ（ｘｉ）は、パラメータθｏｌｄの下での生成された広告スケジュールｘの特徴量である。学習部１２は、練作業者によって過去に生成された期間スケジュールデータＸｅに含まれる広告放送ごとの広告スケジュールｘを順に別々に取得してもよく、この場合、その取得の度に、熟練作業者等の作業者の固有パラメータの更新を上記の処理により順次行う。そして学習部１２は、熟練作業者等の作業者によって過去に生成された期間スケジュールデータＸｅに含まれる広告放送全体についての、パラメータθｎｅｗを含む目的関数を生成する（ステップＳ１０２）。
【００３２】
このような状態において、新たな作業者が、端末２を用いて新しい広告放送のスケジューリングを行う。このとき端末２は、作業者の操作により、スケジューリング装置１と通信接続する。また端末２は、作業者の操作により、スケジューリング装置１へ広告放送に関するＣＭデータを含むスケジューリング要求を出力する。ＣＭデータには広告放送に関する特徴情報や制約条件が含まれる。上述したように、特徴情報には、広告放送がターゲットとする年齢層、性別、放送する曜日、広告の内容種別、広告放送の放送時間に前後して放送される番組の種別、などの情報が含まれる。制約条件は、必ず放送する時間帯、当該広告放送を行う前または後に放送される番組の種別などであってよい。制約条件は、予めスケジューリング装置１が記憶して、この制約条件が用いられてもよい。
【００３３】
スケジューリング装置１は、端末２からスケジューリング要求を受信する（ステップＳ１０３）。スケジューリング装置１のスケジューリング部１３は、受信したスケジューリング要求に含まれるＣＭデータを取得する。スケジューリング部１３は、ＣＭデータから、当該広告放送の特徴情報や制約条件を取得する。スケジューリング部１３は、学習部１２の生成した目的関数を取得する。スケジューリング部１３は、目的関数（式（７））に、特徴情報と制約条件と、当該広告放送をスケジュールする期間やその期間に既に設定されている広告放送や広告放送の日時を含むスケジュールの全体データ（ｓｃｈｅｄｕｌｅ）を入力する。スケジューリング部１３は、その結果、スケジューリング要求に含まれるＣＭデータに対応する広告放送の最適なスケジュールを算出する（ステップＳ１０４）。当該スケジュールは広告放送の日時の情報が少なくとも含まれる。
【００３４】
【数７】
2020157913.tif 000009
【００３５】
スケジューリング部１３は、スケジュールが算出できない場合には、その広告放送のＣＭデータに含まれる制約条件や特徴情報の修正を受け付けてもよい。例えばスケジューリング部１３は、算出したスケジュールのデータを端末２へ送信する。端末２を利用する作業者は、広告放送について算出されたスケジュールのデータを確認し、その日時が、既に他の広告放送によって埋まっている時間であるかを判定する。そして作業者は、ＣＭデータに含まれる特徴情報や制約条件などのパラメータを更新し、スケジューリング要求の再要求を行う。すると、端末２はパラメータを更新したスケジューリング要求をスケジューリング装置１へ送信する。スケジューリング部１３はパラメータの更新が行われたかを判定する（ステップＳ１０５）。この時、スケジューリング部１３は、再度、スケジューリング要求に含まれる情報に基づいてパラメータの更新が行われたことを判定する。パラメータの更新が行われた場合、スケジューリング装置１は上述のステップＳ１０４のスケジュールの算出の処理を繰り返す。
【００３６】
スケジューリング部１３は、広告放送について算出したスケジュールのデータが、既に他の広告放送によって埋まっている時間であるかを自動判定してもよい。この場合、スケジューリング部１３は、ＣＭデータに含まれる特徴情報や制約条件などのパラメータΦを、規定の更新処理により更新し、スケジュールの算出処理を繰り返す。そしてスケジューリング部１３は、スケジューリング要求で特定される広告放送のスケジュールの算出ができたかを判定する（ステップＳ１０６）。スケジューリング部１３は、所定回数のパラメータΦの更新が行われても広告放送のスケジュールが算出できない場合、全体のスケジュールデータにおける空き時間のうち広告放送を適用できる時間がない場合、作業者の操作に基づいて端末２から終了要求を受信した場合、などはスケジュールの算出ができないと判定し、終了する。
【００３７】
スケジューリング部１３は、スケジューリング要求で特定される広告放送のスケジュールの算出ができたと判定した場合、スケジュール修正を行うかを判定する（ステップＳ１０７）。例えばスケジューリング部１３は、端末２へスケジュール修正要否の問い合わせ情報を送信する。当該情報には、算出されたスケジュールのデータが含まれる。端末２はスケジュールのデータをモニタ等に出力する。作業者は、スケジュールのデータ内容を確認し、修正を行うか否かを判定する。作業者はスケジュールを修正する場合には、その修正情報を端末２に入力する。当該修正を行う作業者は熟練作業者等の作業者であるとする。修正情報は、スケジュール未決定のスケジュールを示す日時などである。そして作業者の操作に基づいて端末２は修正後のスケジュールデータをスケジューリング装置１へ送信する。
【００３８】
スケジューリング部１３は、修正後のスケジュールデータを取得する（ステップＳ１０８）。スケジューリング部１３は、修正後のスケジュールデータを受信した場合には、目的関数の更新を行うと判定する。スケジューリング部１３は、ステップＳ１０２の処理と同様に、修正後のスケジュールのデータを用いて、パラメータθｎｅｗを含む目的関数を生成し、目的関数を更新する（ステップＳ１０９）。
【００３９】
そして、スケジューリング部１３は、ステップＳ１０４で算出されたスケジュールのデータ、またはステップＳ１０７で取得した修正後のスケジュールのデータを含む、複数の広告放送や番組のスケジュールを示す全体の期間スケジュールデータを更新する（ステップＳ１１０）。
【００４０】
以上の処理により、スケジューリング装置１は、スケジュール対象に関する決定済みのスケジュールデータとスケジュール対象の特徴とに基づいて、スケジュール対象のスケジュールデータの生成に利用する目的関数を算出する。この時、スケジューリング装置１は、過去に生成された決定済みのスケジュールデータに基づいて、逆最適化の手法を用いて、決定済みのスケジュールデータを生成した作業者（熟練作業者等）のスケジューリング手法特有のパラメータを含む目的関数を算出する。そして、スケジューリング装置１は、スケジュール未決定のスケジュール対象の特徴と、目的関数とを用いて、スケジュール未決定のスケジュール対象のスケジュールデータを生成する。
このような処理により、スケジューリング装置１は、決定済みのスケジュールデータを生成した作業者（熟練作業者等）に類似するスケジュールデータを自動生成するスケジューリング装置を提供することができる。
【００４１】
＜第二の実施形態＞
図５は第二の実施形態によるスケジューリング装置の処理フローを示す図である。
次に、第二の実施形態によるスケジューリング装置の処理フローについて説明する。
スケジューリング装置１のデータベース１０４は、過去に熟練作業者等の作業者によって生成されたスケジュールデータを記憶する。学習部１２は、処理開始の指示情報を取得する。当該処理開始の指示情報は、端末２を用いて作業者が入力し、通信ネットワークを介してスケジューリング装置１が受信してもよい。または作業者はスケジューリング装置１に備わる入力装置を用いて指示情報を直接、スケジューリング装置１に入力してもよい。
【００４２】
学習部１２は、指示情報の取得に基づいて、熟練作業者等の作業者によって過去に生成された期間スケジュールデータＸｅ＝｛ｘ１，ｘ２，ｘ３，…ｘＭ｝をデータベース１０４から取得する（ステップＳ２０１）。期間スケジュールデータＸｅには、少なくとも広告放送ごとの広告スケジュールｘ（ｘ１，ｘ２，ｘ３，…ｘＭ）が含まれる。学習部１２は、練作業者によって過去に生成された期間スケジュールデータＸｅに含まれる広告放送ごとの広告スケジュールｘを、１つずつ順に取得してもよい。熟練作業者等の作業者によって過去に生成された期間スケジュールデータＸｅ＝｛ｘ１，ｘ２，ｘ３，…ｘＭ｝は、所定の放送契約期間において割り当てられた各広告放送のスケジュールを含む。広告スケジュールｘには、広告放送の個別のスケジュールの情報や広告放送の特徴情報が含まれる。期間スケジュールデータＸｅには、広告スケジュールｘの情報の他、番組の日時や特徴を含む番組情報が含まれてもよい。
【００４３】
学習部１２は取得した期間スケジュールデータＸｅに含まれる各広告スケジュールｘを複数のグループに分類する（ステップＳ２０２）。例えば学習部１２は、各広告スケジュールｘの特徴情報に基づいて、Ｋ−Ｍｅａｎｓクラスタリングの手法等を用いてクラスタリングして分類を行う。学習部１２は、熟練作業者等の作業者が作成した過去のスケジュールデータを基に、複数のグループに分類してもよい。この場合、学習部１２は、スケジュールデータから特徴量を抽出し, その特徴量を基にして、各広告スケジュールｘを複数のグループに分類する。当該特徴量としては、各曜日に獲得した視聴率や、各時間帯に獲得した視聴率等などであってよい。なお、過去のスケジュールデータを基に分類を行う場合、新規の広告放送に対しては過去のスケジュールがないため、グループ割当を行うことが出来ない。このため広告スケジュールｘそれぞれの複数のグループへの分類は作業者が行うようにしてもよい。
【００４４】
学習部１２は、各広告スケジュールｘを複数のグループに分類する処理が完了すると、グループに含まれる各広告スケジュールｘの特徴情報を用いて、第一の実施形態と同様に、逆最適化の処理を行う。そして学習部１２は、熟練作業者等の作業者によって過去に生成された各広告スケジュールｘを含むグループについてのパラメータθｎｅｗを含む目的関数を、第一の実施形態と同様に生成する（ステップＳ２０３）。学習部１２は、全てのグループについて目的関数を算出したかを判定する（ステップＳ２０４）。学習部１２は、全てのグループについての目的関数を算出するまで処理を繰り返す。学習部１２は、各広告スケジュールｘを複数のグループに分類する処理を行った後に、直ちに目的関数の算出処理を行ってもよいし、異なるタイミングで各処理を行ってもよい。学習部１２は、各広告スケジュールｘを複数のグループに分類する処理を行った後に、直ちに目的関数の算出処理を行う場合には同じ特徴情報を用いてそれらの処理を行ってよい。学習部１２は、各広告スケジュールｘを複数のグループに分類する処理と、目的関数の算出処理とを異なるタイミングで行う場合には、異なる特徴情報を用いてそれらの処理を行ってよい。
【００４５】
このような状態において、新たな作業者が、端末２を用いて新しい広告放送のスケジューリングを行う。このとき端末２は、作業者の操作により、スケジューリング装置１と通信接続する。また端末２は、作業者の操作により、スケジューリング装置１へ広告放送に関するＣＭデータを含むスケジューリング要求を出力する。ＣＭデータには広告放送に関する特徴情報や制約条件が含まれる。上述したように、特徴情報には、広告放送がターゲットとする年齢層、性別、放送する曜日、広告の内容種別、広告放送の放送時間に前後して放送される番組の種別、などの情報が含まれる。制約条件は、必ず放送する時間帯、当該広告放送を行う前または後に放送される番組の種別などであってよい。制約条件は、予めスケジューリング装置１が記憶して、この制約条件が用いられてもよい。
【００４６】
スケジューリング装置１は、端末２からスケジューリング要求を受信する（ステップＳ２０５）。スケジューリング装置１のスケジューリング部１３は、受信したスケジューリング要求に含まれるＣＭデータを取得する。スケジューリング部１３は、ＣＭデータから、当該広告放送の特徴情報や制約条件を取得する。スケジューリング部１３は、ＣＭデータから取得した特徴情報や制約条件に基づいてグループを特定する（ステップＳ２０６）。例えばスケジューリング部１３は、ＣＭデータから取得した特徴情報や制約条件に類似する、特徴情報や制約条件に基づいて同一分類された各広告スケジュールを含むグループを特定する。当該グループの特定は、作業者が端末２を用いて行ってもよい。例えば、作業者の指示に基づいて端末２がグループＩＤをスケジューリング装置１に送信し、スケジューリング部１３はそのグループＩＤに基づいて、グループを特定してもよい。
【００４７】
そしてスケジューリング部１３は、特定したグループについて学習部１２で算出された目的関数を取得する（ステップＳ２０７）。スケジューリング部１３は、目的関数（式（７））に、特徴情報と制約条件と、当該広告放送をスケジュールする期間やその期間に既に設定されている広告放送や広告放送の日時を含むスケジュールの全体データ（ｓｃｈｅｄｕｌｅ）を入力する。スケジューリング部１３は、その結果、スケジューリング要求に含まれるＣＭデータに対応する広告放送の最適なスケジュールを算出する（ステップＳ２０８）。当該スケジュールは広告放送の日時の情報が少なくとも含まれる。以降、スケジューリング部１３は、第一の実施形態の、ステップＳ１０５〜ステップＳ１１０と同様の処理を行う。
【００４８】
このような処理により、スケジューリング装置１は、スケジュール未決定の広告放送の属するグループについて特有の目的関数を用いて、スケジューリングの作業に熟練した作業者に類似するスケジュールデータを精度良く自動生成するスケジューリング装置を提供することができる。
【００４９】
上述の処理によれば、広告放送のスケジューリングをする場合の例を用いて説明しているが、スケジューリング装置１は、上記第一の実施形態や第二の実施形態と同様の処理を用いて、従業員のシフトをスケジューリングする装置であってもよい。
【００５０】
例えば、スケジューリング装置１は、従業員の店舗や工場における作業のシフトスケジュールに関する決定済みのスケジュールデータと、スケジュール対象である従業員の特徴とに基づいて、当該従業員のスケジュールデータの生成に利用する目的関数を算出する。この時、スケジューリング装置１は、熟練作業者等の作業者によって過去に生成された決定済みのスケジュールデータに基づいて、逆最適化の手法を用いて熟練作業者等の作業者のスケジューリング手法特有のパラメータを含む目的関数を算出する。この目的関数の算出において、スケジューリング装置１は、従業員の特徴に基づいて決定されたグループ毎に、目的関数を算出してよい。そして、スケジューリング装置１は、スケジュール未決定の従業員の特徴と、目的関数とを用いて、スケジュール未決定の従業員のスケジュールデータを生成する。スケジューリング装置１は、スケジュール未決定の従業員の特徴に基づいて、グループを特定し、当該グループについて算出された目的関数を用いて、スケジュール未決定の従業員のスケジュールデータを生成してよい。
【００５１】
テレフォンアポインター等の職場における従業員の人数は非常に多く、また個々人により出勤不可の条件が異なる。このため、全ての禁止事項を守りながら従業員のシフトを人手で設計することは、とても労力がかかる。またこのシフトの設計を、数理最適化を用いた関連する自動スケジューリングソフトウェアを用いて行う場合でも、その設計段階で「出勤不可では無いがなるべく避けたい日」や「出来たら特定の曜日に集中させてほしい」といった従業員ごとの細かい条件など、明確に定式化できないような条件が有る場合、人手による設計で表現しなければならない。このようなさぎょうもまたとても労力がかかる。従って関連する技術では、従業員の細かい条件を満たすスケジューリングを行うことは難しい。しかしながら、上述のような本願の処理を用いて、逆最適化による従業員ごとに目的関数を学習することで、スケジューリングの際に用いる目的関数を自動で設計できる。また上述のような明確に記載できない制約条件等への重みも従業員の特徴から学習することができる。これにより各従業員の要求に沿ったスケジューリングを行うことが可能となる。また新規の従業員への対応として従業員のグルーピングを用いることにより、従業員を特徴(希望時間帯等)によって仲間分けし、グルーピングすることができる。新規従業員に対しては、まずどのグループに属するのかを判定し、そのグループに紐付いた目的関数を用いてスケジューリングを行う。
【００５２】
スケジューリング装置１は、さらに、スケジューリング装置１は、上記第一の実施形態や第二の実施形態と同様の処理を用いて、複数の機械に、複数の仕事を割り当てる場合に、どの機械にどの仕事をどの順に割り当てるかを規定したスケジュールの生成を行うようにしてもよい。
【００５３】
この場合、スケジューリング装置１は、複数の異なる仕事を機械へ割り当てたシフトスケジュールに関する決定済みのスケジュールデータと、スケジュール対象である仕事の特徴とに基づいて、当該仕事のスケジュールデータの生成に利用する目的関数を算出する。この時、スケジューリング装置１は、熟練作業者等の作業者によって過去に生成された決定済みのスケジュールデータに基づいて、逆最適化の手法を用いて熟練作業者等の作業者のスケジューリング手法特有のパラメータを含む目的関数を算出する。この目的関数の算出において、スケジューリング装置１は、仕事の特徴に基づいて決定されたグループ毎に、目的関数を算出してよい。そして、スケジューリング装置１は、スケジュール未決定の仕事の特徴と、目的関数とを用いて、スケジュール未決定の仕事のスケジュールデータを生成する。スケジューリング装置１は、スケジュール未決定の仕事の特徴に基づいて、グループを特定し、当該グループについて算出された目的関数を用いて、スケジュール未決定の仕事を割り当てる機械や時間のスケジュールデータを生成してよい。これにより、複数の機械に、複数の仕事を割り当てる場合に、どの機械にどの仕事をどの順に割り当てるかを規定したスケジュールの生成を行うことができる。
【００５４】
図６は、スケジューリング装置の最小構成を示す図である。
図７は、最小構成のスケジューリング装置の処理フローを示す図である。
図６で示すように、スケジューリング装置は、少なくとも、学習部１２、スケジューリング部１３の機能を発揮する。
学習部１２は、スケジュール対象に関する決定済みのスケジュールデータとスケジュール対象の特徴とに基づいて、スケジュール対象のスケジュールデータの生成に利用する目的関数を算出する（ステップＳ４０１）。
スケジューリング部１３は、スケジュール未決定のスケジュール対象の特徴と、目的関数とを用いて、スケジュール未決定のスケジュール対象のスケジュールデータを生成する（ステップＳ４０２）。
【００５５】
上述のスケジューリング装置１は内部に、コンピュータシステムを有している。そして、上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００５６】
上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００５７】
１・・・スケジューリング装置
２・・・端末
１１・・・制御部
１２・・・学習部
１３・・・スケジューリング部
１００・・・スケジューリングシステム
【図１】
2020157913.tif 000010
【図２】
2020157913.tif 000011
【図３】
2020157913.tif 000012
【図４】
2020157913.tif 000013
【図５】
2020157913.tif 000014
【図６】
2020157913.tif 000015
【図７】
2020157913.tif 000016
【手続補正書】
【提出日】令和3年6月30日(2021.6.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
スケジュール対象に関する決定済みのスケジュールデータと前記スケジュール対象の特徴とに基づいて、前記スケジュール対象のスケジュールデータの生成に利用する目的関数を算出する学習部と、
スケジュール未決定のスケジュール対象の特徴と、前記目的関数とを用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成するスケジューリング部と、
を備えるスケジューリング装置。
【請求項２】
前記学習部は、過去に生成された前記決定済みのスケジュールデータに基づいて、逆最適化の手法を用いて、前記決定済みのスケジュールデータを生成した作業者のスケジューリング手法特有のパラメータを含む前記目的関数を算出する
請求項１に記載のスケジューリング装置。
【請求項３】
前記学習部は、前記スケジュール対象ごとに、前記目的関数を算出する
請求項１または請求項２に記載のスケジューリング装置。
【請求項４】
前記学習部は、前記スケジュール対象の特徴に基づいて前記スケジュール対象を複数のグループに決定し、そのグループ毎に、前記目的関数を算出する
請求項１または請求項２に記載のスケジューリング装置。
【請求項５】
前記スケジューリング部は、前記スケジュール未決定のスケジュール対象の特徴に基づいて、前記グループを特定し、当該グループについて算出された前記目的関数を用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成する
請求項４に記載のスケジューリング装置。
【請求項６】
前記スケジュール対象が広告放送であり、
前記スケジュールデータが前記スケジュール対象の放送のスケジュールであり、
前記スケジューリング部は、前記広告放送の前記スケジュールデータを生成する
請求項１から請求項５の何れか一項に記載のスケジューリング装置。
【請求項７】
スケジュール対象に関する決定済みのスケジュールデータと前記スケジュール対象の特徴とに基づいて、前記スケジュール対象のスケジュールデータの生成に利用する目的関数を算出し、
スケジュール未決定のスケジュール対象の特徴と、前記目的関数とを用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成する
スケジューリング方法。
【請求項８】
コンピュータを、
スケジュール対象に関する決定済みのスケジュールデータと前記スケジュール対象の特徴とに基づいて、前記スケジュール対象のスケジュールデータの生成に利用する目的関数を算出する学習手段、
スケジュール未決定のスケジュール対象の特徴と、前記目的関数とを用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成するスケジューリング手段、
として機能させるプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、スケジューリング装置、スケジューリング方法、プログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
また本発明の一実施形態によるプログラムは、コンピュータを、スケジュール対象に関する決定済みのスケジュールデータと前記スケジュール対象の特徴とに基づいて、前記スケジュール対象のスケジュールデータの生成に利用する目的関数と制約条件とを算出する学習手段、スケジュール未決定のスケジュール対象の特徴と、前記目的関数と、前記制約条件とを用いて、前記スケジュール未決定のスケジュール対象のスケジュールデータを生成するスケジューリング手段、として機能させることを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明によれば、スケジューリングの作業に熟練した作業者に類似するスケジュールデータを自動生成するスケジューリング装置、スケジューリング方法、プログラムを提供することができる。
【国際調査報告】
2020157913.tif 000017
2020157913.tif 000018
2020157913.tif 000019