(57)【要約】【課題】状況、環境に対応しつつ、連続する印刷ジョブの開始から完了までの所要時間が短くなるように、自動的、自立的に印刷ジョブの実行順を調整する。【解決手段】画像形成装置は、入力部、印刷部、記憶部、制御部を含む。制御部は、各蓄積ジョブの複数の第１項目値を並べた第１リストを生成する。制御部は第１リストに基づき第１入力データを生成し、第１ニューラルネットワークに入力する。制御部は、第１ニューラルネットワークを用いて第１確率を求める。第１確率は、第１リストの並び順で蓄積ジョブを実行した場合、全蓄積ジョブの実行に要する第１全体時間が、第１全体時間の標準値と予め定められた許容値とを加算した値よりも長くなる確率である。【選択図】図４
2019171774.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブの実行に用いるジョブデータを取得する入力部と、
前記ジョブデータに基づき印刷する印刷部と、
前記入力部が取得した前記ジョブデータを記憶する記憶部と、
前記印刷ジョブの実行順を調整する制御部と、を含み、
前記記憶部は、
未実行の前記印刷ジョブである蓄積ジョブの前記ジョブデータを保持し、
自機用の第１ニューラルネットワークを構築するための第１ニューラルネットワークデータを記憶し、
前記制御部は、
所定個数の前記蓄積ジョブが前記記憶部に蓄積されたとき、それぞれの前記蓄積ジョブの前記ジョブデータに基づき、複数の所定項目の値である第１項目値を定め、
前記蓄積ジョブ単位、かつ、予め定められた項目順で前記第１項目値を並べた第１リストを生成し、
前記第１リストに含まれる前記第１項目値に基づき第１入力データを生成し、
生成した前記第１入力データを前記第１ニューラルネットワークに入力し、
前記第１ニューラルネットワークを用いて第１確率を求め、
前記第１確率が予め定められた閾値以下のとき、前記第１リストでの前記蓄積ジョブの並び順に沿って、前記印刷部に前記蓄積ジョブを行わせ、
前記第１確率は、前記第１リストでの前記蓄積ジョブの並び順で前記蓄積ジョブを実行した場合、前記第１リストに含まれる全ての前記蓄積ジョブの実行に要する第１全体時間が、前記第１全体時間の標準値と予め定められた許容値とを加算した値よりも長くなる確率であることを特徴とする画像形成装置。
【請求項２】
前記制御部は、
求めた前記第１確率が前記閾値を超えているとき、新たな前記第１リストを生成し、
同じ前記蓄積ジョブについて、前に生成した前記第１リストと前記蓄積ジョブの並び順が異なるように、新たな前記第１リストを生成し、
新たな前記第１リストを生成したとき、新たな前記第１リストに含まれる前記第１項目値に基づき新たな前記第１入力データを生成し、
新たな前記第１入力データを生成したとき、新たな前記第１入力データを前記第１ニューラルネットワークに入力し、
求められた前記第１確率が前記閾値以下となるまで、新たな前記第１リストの生成を繰り返すことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記蓄積ジョブを前記所定個数連続して実行する学習連続ジョブを実行したとき、
前記制御部は、
前記学習連続ジョブの実行開始から終了までの時間である第１実測時間を測り、
実行したそれぞれの前記蓄積ジョブについて、前記第１項目値を定め、
前記蓄積ジョブ単位、かつ、実行順に前記第１項目値を並べ、さらに、予め定められた項目順で前記第１項目値を並べた第１学習用リストを生成し、
前記第１学習用リストに基づき、前記第１学習用入力データを生成し、
全ての前記学習連続ジョブの実行に要する時間の標準値である前記第１標準時間を定め、
前記第１実測時間が前記第１標準時間と前記許容値とを加算した値よりも長いか否かを判定し、
当該判定の結果と前記第１学習用入力データを含む第１トレーニングデータセットを生成し、
生成した前記第１トレーニングデータセットを用いて、前記第１ニューラルネットワークの学習を行うことを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記記憶部は、前記蓄積ジョブの並び替えの規則を定めた規則情報を記憶し、
新たな前記第１リストを生成するとき、
前記制御部は、前記規則に反しないように、前記蓄積ジョブの並び順を替えることを特徴とする請求項１乃至３の何れか１項に記載の画像形成装置。
【請求項５】
他の画像形成装置と通信する通信部を含み、
生成し得る全てのパターンについて、前記第１リストを生成しても前記第１確率が前記閾値以下にならないとき、
前記制御部は、
他の画像形成装置に向けて、前記第１リストに含まれる前記蓄積ジョブの前記ジョブデータを前記通信部に送信させ、
前記他の画像形成装置に前記蓄積ジョブを実行させることを特徴とする請求項１乃至４の何れか１項に記載の画像形成装置。
【請求項６】
前記制御部は、制御回路と、ニューラルネットワークに関する演算を行うための演算処理装置を含むことを特徴とする請求項１乃至５の何れか１項に記載の画像形成装置。
【請求項７】
前記所定項目は、用紙サイズ、用紙向き、用紙種類、カラー設定のうち、複数を含むことを特徴とする請求項１乃至６の何れか１項に記載の画像形成装置。
【請求項８】
請求項１乃至７の何れか１項に記載の画像形成装置である指揮装置と、
前記指揮装置と通信する画像形成装置である従属装置を含み、
前記指揮装置は、
前記従属装置ごとに、第２ニューラルネットワークを構築するための第２ニューラルネットワークデータを記憶し、
前記従属装置は、
前記ジョブデータを取得し、
取得した前記ジョブデータを記憶し、
所定個数の前記蓄積ジョブを蓄積したとき、それぞれの前記蓄積ジョブに基づき、複数の前記所定項目の値である第２項目値を定め、
前記蓄積ジョブ単位で前記第２項目値を並べ、かつ、予め定められた項目順で前記第２項目値を並べた第２リストを生成し、
生成した前記第２リストを前記指揮装置に送信し、
前記指揮装置の前記制御部は、
前記第２リストに含まれる前記第２項目値に基づき第２入力データを生成し、
生成した前記第２入力データを、前記第２リストを送信した前記従属装置に対応する前記第２ニューラルネットワークに入力し、
前記第２ニューラルネットワークを用いて第２確率を求め、
前記第２確率が前記閾値以下の前記第２リストを前記従属装置に与え、
前記従属装置は、与えられた前記第２リストの前記蓄積ジョブの並び順で、前記蓄積ジョブの印刷を行い、
前記第２確率は、前記第２リストでの前記蓄積ジョブの並び順で前記蓄積ジョブを実行した場合、前記第２リストに含まれる全ての前記蓄積ジョブの実行に要する第２全体時間が、前記第２全体時間の標準値と前記許容値とを加算した値よりも長くなる確率であることを特徴とする印刷制御システム。
【請求項９】
前記指揮装置の制御部は、
前記第２確率が前記閾値を超えているとき、新たな前記第２リストを生成し、
同じ前記蓄積ジョブについて、前に生成した前記第２リストと前記蓄積ジョブの並び順が異なるように、新たな前記第２リストを生成し、
新たな前記第２リストを生成したとき、新たな前記第２リストに含まれる前記第２項目値に基づき新たな前記第２入力データを生成し、
新たな前記第２入力データを生成したとき、新たな前記第２入力データを対応する前記第２ニューラルネットワークに入力し、
求められた前記第２確率が前記閾値以下となるまで、新たな前記第２リストの生成を繰り返すことを特徴とする請求項８に記載の印刷制御システム。
【請求項１０】
前記蓄積ジョブを前記所定個数連続して実行する学習連続ジョブを実行したとき、
前記従属装置は、
前記学習連続ジョブの実行開始から終了までの時間である第２実測時間を測り、
実行したそれぞれの前記蓄積ジョブについて、前記第２項目値を定め、
前記蓄積ジョブ単位、かつ、実行順に前記第２項目値を並べ、更に、予め定められた項目順で前記第２項目値を並べた第２ジョブ結果リストを生成し、
前記第２実測時間、前記第２ジョブ結果リストを前記指揮装置に送信し、
前記指揮装置の前記制御部は、
受信した前記第２ジョブ結果リストに基づき、前記第２学習入力データを生成し、
受信した前記第２ジョブ結果リストに基づき、全ての前記学習連続ジョブの実行に要する時間の標準値である第２標準時間を定め、
前記第２実測時間が前記第２標準時間と前記許容値とを加算した値よりも長いか否かを判定し、
当該判定の結果と前記第２学習入力データに基づいて、第２トレーニングデータセットを生成し、
生成した前記第２トレーニングデータセットを用いて、前記第２ニューラルネットワークの学習を行うことを特徴とする請求項８又は９に記載の印刷制御システム。
【請求項１１】
前記指揮装置の前記記憶部は、前記蓄積ジョブの並び替えの規則を定めた規則情報を記憶し、
新たな前記第２リストを生成するとき、
前記指揮装置の前記制御部は、前記規則に反しないように、前記第２リストの前記蓄積ジョブの並び順を替えることを特徴とする請求項８乃至１０の何れか１項に記載の印刷制御システム。
【請求項１２】
生成し得る全てのパターンについて、前記第２リストを生成しても前記第２確率が前記閾値以下にならないとき、
前記指揮装置の前記制御部は、
生成した前記第２リストのうち、最も前記第２確率が小さくなった前記第２リストを対応する前記従属装置に与え、
前記従属装置は、与えられた前記第２リストの前記蓄積ジョブの並び順で、前記蓄積ジョブの印刷を行うことを特徴とする請求項８乃至１１の何れか１項に記載の印刷制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、未実行の印刷ジョブの実行順を調整する画像形成装置と印刷制御システムに関する。
【背景技術】
【０００２】
通信ネットワークに複数の画像処理装置が接続されることがある。例えば、画像処理装置はプリンターである。例えば、通信ネットワークは社内ＬＡＮである。特定の画像処理装置に印刷ジョブが集中することがある。この場合、その画像処理装置では、印刷完了までの待ち時間が長くなる。そこで、印刷ジョブを分散する技術の一例が特許文献１に記載されている。
【０００３】
具体的に、特許文献１には、他の画像処理装置とデータ通信可能に接続され、ネットワーク上の個々の画像処理装置を識別する識別情報、個々の画像処理装置の性能情報、個々の画像処理装置の稼働状況を管理し、自装置で処理できない作業の有無を判定し、自装置で処理できない作業が有る場合に、各情報に基づき作業の代行先装置を検索し、検索した代行先装置に対し処理を代行させる画像処理装置が記載されている。この構成により、自装置にて処理できない作業を他の装置に割り振り、自装置での処理停滞を回避し、作業効率を良くしようとする（特許文献１：請求項１、段落［０２００］等参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１３５５０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
印刷の実行中に、新たな印刷ジョブが画像形成装置に入力されることがある。新たな印刷ジョブの実行を直ちに開始することはできない。新たな印刷ジョブを実行するためのデータは画像形成装置で保留される。複数の印刷ジョブが保留されることもある。従来、画像形成装置は、溜まっている印刷ジョブを１つずつ、入力順（先着順）で実行する。
【０００６】
連続的に印刷する場合、途中で印刷設定が変わることがある。印刷設定が変わる場合、画像形成装置は印刷を開始するための事前準備を行う。速やかに事前準備できる場合もあれば、事前準備にある程度、時間を要する場合もある。複数の印刷ジョブを連続して実行する場合、各印刷ジョブ間の事前準備が長くなることがある。印刷設定により、事前準備に要する時間は変わる。印刷ジョブの組み合わせによっては、最初の印刷ジョブの開始から最後の印刷ジョブが完了するまでの時間が長くなることがある。
【０００７】
複数の印刷ジョブの開始から完了までの時間が長いとき、使用者が不満を感じることがある。不満を感じた使用者は、サービスマンを呼び出すことがある。サービスマンは、画像形成装置のメンテナンス担当会社から派遣される。サービスマンは、画像形成装置に関する専門的知識が豊富である。呼び出されたサービスマンは、印刷時間が短くなるような画像形成装置の使い方をアドバイスすることもある。
【０００８】
しかし、画像形成装置の環境、よく用いる印刷設定は、顧客によって様々である。従って、サービスマンが個別具体的に適切なアドバイスをすることは難しい。また、画像形成装置が共用されているとき、印刷ジョブの画像形成装置への入力順をコントロールすることも難しい。画像形成装置の性能、使用状況、環境にあうように、印刷ジョブの実行順を調整することは難しいという問題がある。
【０００９】
ここで、特許文献１記載の技術では、印刷ジョブの実行順を調整しない。印刷ジョブの印刷設定によっては、連続して印刷ジョブを行う場合、最初の印刷ジョブの開始から最後の印刷ジョブの完了までに要する時間が長くなることがある。従って、特許文献１記載の技術では、上記の問題点を解決することができない。
【００１０】
本発明は上記従来技術の問題点に鑑み、状況、環境に対応しつつ、連続する印刷ジョブの開始から完了までの所要時間が短くなるように、自動的、自立的に印刷ジョブの実行順を調整する。
【課題を解決するための手段】
【００１１】
本発明に係る画像形成装置は、入力部、印刷部、記憶部、制御部を含む。前記入力部は、印刷ジョブの実行に用いるジョブデータを取得する。前記印刷部は、前記ジョブデータに基づき印刷する。前記記憶部は、前記入力部が取得した前記ジョブデータを記憶する。前記制御部は、前記印刷ジョブの実行順を調整する。前記記憶部は、未実行の前記印刷ジョブである蓄積ジョブの前記ジョブデータを保持する。前記記憶部は、自機用の第１ニューラルネットワークを構築するための第１ニューラルネットワークデータを記憶する。前記制御部は、所定個数の前記蓄積ジョブが前記記憶部に蓄積されたとき、それぞれの前記蓄積ジョブの前記ジョブデータに基づき、複数の所定項目の値である第１項目値を定める。前記制御部は、前記蓄積ジョブ単位、かつ、予め定められた項目順で前記第１項目値を並べた第１リストを生成する。前記制御部は、前記第１リストに含まれる前記第１項目値に基づき第１入力データを生成する。前記制御部は、生成した前記第１入力データを前記第１ニューラルネットワークに入力する。前記制御部は、前記第１ニューラルネットワークを用いて第１確率を求める。前記第１確率が予め定められた閾値以下のとき、前記制御部は、前記第１リストでの前記蓄積ジョブの並び順に沿って、前記印刷部に前記蓄積ジョブを行わせる。前記第１確率は、前記第１リストでの前記蓄積ジョブの並び順で前記蓄積ジョブを実行した場合、前記第１リストに含まれる全ての前記蓄積ジョブの実行に要する第１全体時間が、前記第１全体時間の標準値と予め定められた許容値とを加算した値よりも長くなる確率である。
【発明の効果】
【００１２】
本発明によれば、状況、環境に対応しつつ、自動的、自立的に印刷ジョブの実行順を画像形成装置に調整させることができる。そして、連続する印刷ジョブの開始から完了の所要時間を短くすることができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係る印刷制御システムの一例の概要を示す図である。
【図２】実施形態に係る指揮装置の一例を示す図である。
【図３】実施形態に係る従属装置の一例を示す図である。
【図４】実施形態に係る指揮装置でのジョブ実行順の調整の流れの一例を示す図である。
【図５】実施形態に係る第１記憶部の記憶内容の一例を示す図である。
【図６】実施形態に係る第１リストの一例を示す図である。
【図７】実施形態に係る第１入力データの一例を示す図である。
【図８】実施形態に係る畳み込みニューラルネットワークの一例を示す図である。
【図９】実施形態に係る第１トレーニングデータセットの生成の一例を示す図である。
【図１０】実施形態に係る第１ニューラルネットワークの学習の一例を示す図である。
【図１１】実施形態に係る従属装置のジョブ実行順の調整の流れの一例を示す図である。
【図１２】実施形態に係る第２リストの一例を示す図である。
【図１３】実施形態に係る第２入力データの一例を示す図である。
【図１４】実施形態に係る第２トレーニングデータセットの生成の一例を示す図である。
【図１５】実施形態に係る第２ニューラルネットワークの学習の一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図１〜図１５を用いて本発明の実施形態を説明する。以下の説明では、実施形態に係る印刷制御システム１００を例に挙げて説明する。但し、本実施の形態に記載されている構成、配置等の各要素は、発明の範囲を限定するものではなく単なる説明例にすぎない。
【００１５】
（印刷制御システム１００の概要）
まず、図１を用いて、実施形態に係る印刷制御システム１００の一例を説明する。図１は、実施形態に係る印刷制御システム１００の一例の概要を示す図である。
【００１６】
印刷制御システム１００は、指揮装置１（第１の画像形成装置）と従属装置２（第２の画像形成装置）を含む。指揮装置１と従属装置２は何れも印刷を行える。従属装置２は複数でもよい。
【００１７】
指揮装置１は、指揮装置１が行う印刷ジョブの実行順を調整する。指揮装置１は、第１ニューラルネットワーク７を用いて、印刷ジョブの実行順を調整する。また、指揮装置１は、従属装置２と通信する。指揮装置１は、第２ニューラルネットワーク８を用いて、従属装置２の印刷ジョブの実行順を調整する。指揮装置１は印刷ジョブの実行順を従属装置２に指示する。
【００１８】
第１ニューラルネットワーク７は第１確率を求めるためのものである。第１確率は、全ての蓄積ジョブの実行に要する第１全体時間が、第１全体時間の標準値と予め定められた許容値とを加算した値よりも長くなる確率である。第１確率は、蓄積ジョブの印刷が遅くなる確率といえる。
【００１９】
第２ニューラルネットワーク８は第２確率を求めるためのものである。第２確率は、従属装置２において、全ての蓄積ジョブの実行に要する第２全体時間が、第２全体時間の標準値と予め定められた許容値とを加算した値よりも長くなる確率である。第２確率は、蓄積ジョブの印刷が遅くなる確率といえる。
【００２０】
第１ニューラルネットワーク７と第２ニューラルネットワーク８は、畳み込みニューラルネットワークである。指揮装置１は、第１ニューラルネットワーク７を構築するための第１ニューラルネットワークデータ７ｄと、第２ニューラルネットワーク８を構築するための第２ニューラルネットワークデータ８ｄを、不揮発的に記憶する。
【００２１】
（指揮装置１）
次に、図２に基づき、実施形態に係る指揮装置１（第１の画像形成装置）の一例を説明する。図２は、実施形態に係る指揮装置１の一例を示す図である。本説明では、指揮装置１が複合機である場合を説明する。なお、指揮装置１は、プリンターのような複合機以外の画像形成装置でもよい。
【００２２】
指揮装置１は第１制御部１０（制御部に相当）、第１記憶部１１（記憶部に相当）、第１画像読取部１２（入力部に相当）、第１操作パネル１３、第１印刷部１４（印刷部に相当）、第１通信部１５（入力部に相当）を含む。第１制御部１０は指揮装置１の動作を制御する。第１制御部１０は第１制御回路１０ａ、第１画像処理回路１０ｂ、第１計時回路１０ｃ、演算処理装置３を含む。第１制御回路１０ａは、指揮装置１に関する制御、演算を行う集積回路である。第１制御回路１０ａは、例えば、ＣＰＵである。第１記憶部１１は制御用のプログラム、データを記憶する。第１記憶部１１は第１ＲＯＭ１１ａ、第１ＲＡＭ１１ｂ、第１ストレージ１１ｃ（ＨＤＤ）を含む。第１記憶部１１のプログラムやデータに基づき、第１制御回路１０ａは指揮装置１の制御、演算を行う。第１計時回路１０ｃは時間を測る回路である。第１計時回路１０ｃのかわりに第１制御回路１０ａが時間を測ってもよい。
【００２３】
演算処理装置３は第１確率を求めるための演算を行う。また、演算処理装置３は第２確率を求めるための演算を行う。つまり、演算処理装置３は、ニューラルネットワークを用いた推測値を求めるための演算を行う。演算処理装置３は、第１ニューラルネットワーク７の学習のための演算を行う。演算処理装置３は、第２ニューラルネットワーク８の学習のための演算も行う。ニューラルネットワーク（ディープラーニング）の学習、推測では、行列計算が行われる。演算処理装置３は、高速に行列計算を行うための回路（基板）である。例えば、演算処理装置３は、第１制御回路１０ａよりも単精度浮動小数点演算を高速に行える。演算処理装置３には、市販されるＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を流用することができる。
【００２４】
コピージョブ（印刷ジョブ）のとき、第１制御部１０は、搬送原稿、又は、載置読取用コンタクトガラスにセットされた原稿を第１画像読取部１２に読み取らせる（スキャンさせる）。第１画像読取部１２は読み取った原稿の画像データを生成する。第１画像読取部１２は、コピージョブの実行に用いる画像データ（ジョブデータ）を取得する。第１画像処理回路１０ｂは、原稿の画像データを処理する。第１画像処理回路１０ｂは、印刷に用いる画像データを生成する。
【００２５】
第１操作パネル１３は、第１表示パネル１３ａ、第１タッチパネル１３ｂを含む。第１制御部１０は、各種設定画面、操作用画像を第１表示パネル１３ａに表示させる。操作用画像は、例えば、ボタン、キー、タブである。第１表示パネル１３ａに第１タッチパネル１３ｂが取り付けられる。第１タッチパネル１３ｂはタッチ位置を検知する。第１タッチパネル１３ｂの出力に基づき、第１制御部１０は操作された操作用画像を認識する。第１操作パネル１３を操作することにより、コピージョブに関する各種設定を行うことができる。例えば、第１操作パネル１３は、印刷に用いる用紙のサイズ、向き、種類の設定を受け付ける。また、例えば、第１操作パネル１３は、印刷色（モノクロ、カラー）の設定を受け付ける。
【００２６】
第１印刷部１４は、第１給紙部１４ａ、第１搬送部１４ｂ、第１画像形成部１４ｃ、第１定着部１４ｄを含む。指揮装置１は複数の第１給紙部１４ａを含む。第１制御部１０は、給紙、用紙搬送、トナー像の形成、転写、定着のような印刷関連処理を制御する。印刷ジョブのとき、第１制御部１０は、用紙を１枚ずつ何れかの第１給紙部１４ａに供給させる。第１制御部１０は、供給された用紙を第１搬送部１４ｂに搬送させる。第１制御部１０は、画像データに基づくトナー像を第１画像形成部１４ｃに形成させる。第１画像形成部１４ｃは、カラーのトナー像を形成できる。また、第１画像形成部１４ｃは、モノクロのトナー像も形成できる。第１制御部１０は、搬送される用紙へのトナー像の転写を第１画像形成部１４ｃに行わせる。第１制御部１０は用紙のトナー像を第１定着部１４ｄに定着させる。第１搬送部１４ｂは定着後の用紙を機外に排出する。印刷済の用紙は排出トレイ（不図示）に排出される。
【００２７】
第１通信部１５は通信用の各種ソケット、通信用回路、通信用ソフトウェアを備える。第１通信部１５は、ネットワークを介して、コンピューター２００と通信する。コンピューター２００は、例えば、ＰＣやサーバーである。第１通信部１５は、コンピューター２００から送信された印刷用データを受信する。第１通信部１５は、プリントジョブに用いるデータ（プリントジョブデータ）を取得する。プリントジョブデータはページ記述言語で記述されたデータを含む。第１画像処理回路１０ｂはページ記述言語で記述されたデータから画像データを生成する。第１画像処理回路１０ｂは、印刷に用いる画像データを生成する。第１制御部１０は、受信したプリントジョブデータに基づく印刷を第１印刷部１４に行わせる。
【００２８】
また、指揮装置１は第１温度センサー１６と第１湿度センサー１７を含む。第１温度センサー１６と第１湿度センサー１７は温湿度センサーとして一体化されたものでもよい。第１温度センサー１６は指揮装置１の機内の温度に応じた電圧を出力する。例えば、第１温度センサー１６は、第１画像形成部１４ｃに含まれる部材の近傍に設けられる。第１温度センサー１６の出力は、第１制御部１０に入力される。第１温度センサー１６の出力に基づき、第１制御部１０は、指揮装置１の機内温度を認識する。第１湿度センサー１７は指揮装置１の機内の湿度に応じた電圧を出力する。例えば、第１湿度センサー１７は、第１画像形成部１４ｃに含まれる部材の近傍に設けられる。第１湿度センサー１７の出力は、第１制御部１０に入力される。第１湿度センサー１７の出力に基づき、第１制御部１０は、指揮装置１の機内湿度を認識する。
【００２９】
（従属装置２）
次に、図３に基づき、実施形態に係る従属装置２（第２の画像形成装置）の一例を説明する。図３は、実施形態に係る従属装置２の一例を示す図である。本説明では、従属装置２が複合機である場合を説明する。なお、従属装置２は、プリンターのような複合機以外の画像形成装置でもよい。
【００３０】
従属装置２は、第２制御部２０、第２記憶部２１、第２画像読取部２２、第２操作パネル２３、第２印刷部２４、第２通信部２５を含む。第２制御部２０は従属装置２の動作を制御する。第２制御部２０は第２制御回路２０ａ、第２画像処理回路２０ｂ、第２計時回路２０ｃを含む。第２制御回路２０ａは、従属装置２に関する制御、演算を行う集積回路である。第２制御回路２０ａは、例えば、ＣＰＵである。第２記憶部２１は制御用のプログラム、データを記憶する。第２記憶部２１は第２ＲＯＭ２１ａ、第２ＲＡＭ２１ｂ、第２ストレージ２１ｃ（ＨＤＤ）を含む。第２記憶部２１のプログラムやデータに基づき、第２制御回路２０ａは従属装置２に関する制御、演算を行う。第２計時回路２０ｃは時間を測る回路である。第２計時回路２０ｃのかわりに第２制御回路２０ａが時間を測ってもよい。なお、ニューラルネットワークに関する演算は指揮装置１が行う。そのため、従属装置２には、演算処理装置３は搭載されない。
【００３１】
コピージョブのとき、第２制御部２０は、搬送原稿、又は、載置読取用コンタクトガラスにセットされた原稿を第２画像読取部２２に読み取らせる（スキャンさせる）。第２画像読取部２２は読み取った原稿の画像データを生成する。第２画像読取部２２は、印刷ジョブ（コピージョブ）の実行に用いる画像データ（ジョブデータ）を取得する。第２画像処理回路２０ｂは、原稿の画像データを処理する。第２画像処理回路２０ｂは、印刷に用いる画像データを生成する。
【００３２】
第２操作パネル２３は、第２表示パネル２３ａ、第２タッチパネル２３ｂを含む。第２制御部２０は、各種設定画面、操作用画像を第２表示パネル２３ａに表示させる。操作用画像は、例えば、ボタン、キー、タブである。第２表示パネル２３ａに第２タッチパネル２３ｂが取り付けられる。第２タッチパネル２３ｂはタッチ位置を検知する。第２タッチパネル２３ｂの出力に基づき、第２制御部２０は操作された操作用画像を認識する。第２操作パネル２３を操作することにより、コピージョブに関する各種設定を行うことができる。例えば、第２操作パネル２３は、印刷に用いる用紙のサイズ、向き、種類の設定を受け付ける。また、例えば、第２操作パネル２３は、印刷色（モノクロ、カラー）の設定を受け付ける。
【００３３】
第２印刷部２４は、第２給紙部２４ａ、第２搬送部２４ｂ、第２画像形成部２４ｃ、第２定着部２４ｄを含む。従属装置２は複数の第２給紙部２４ａを含む。第２制御部２０は、給紙、用紙搬送、トナー像の形成、転写、定着のような印刷関連処理を制御する。印刷ジョブのとき、第２制御部２０は、用紙を１枚ずつ何れかの第２給紙部２４ａに供給させる。制御部１は、供給された用紙を第２搬送部２４ｂに搬送させる。制御部１は、画像データに基づくトナー像を第２画像形成部２４ｃに形成させる。第２画像形成部２４ｃは、カラーのトナー像を形成できる。また、第２画像形成部２４ｃは、モノクロのトナーも形成できる。第２制御部２０は、搬送される用紙へのトナー像の転写を第２画像形成部２４ｃに行わせる。第２制御部２０は用紙のトナー像を第２定着部２４ｄに定着させる。第２搬送部２４ｂは定着後の用紙を機外に排出する。印刷済の用紙は排出トレイ（不図示）に排出される。
【００３４】
第２通信部２５は通信用の各種ソケット、通信用回路、通信用ソフトウェアを備える。第２通信部２５は、ネットワークを介して、コンピューター２００と通信する。コンピューター２００は、例えば、ＰＣやサーバーである。第２通信部２５は、コンピューター２００から送信された印刷用データを受信する。第２通信部２５は、印刷ジョブ（プリントジョブ）に用いるデータ（プリントジョブデータ）を取得する。プリントジョブデータはページ記述言語で記述されたデータを含む。第２画像処理回路２０ｂはページ記述言語で記述されたデータから画像データを生成する。第２画像処理回路２０ｂは、印刷に用いる画像データを生成する。第２制御部２０は、受信したプリントジョブデータに基づく印刷を第２印刷部２４に行わせる。
【００３５】
また、従属装置２は第２温度センサー２６と第２湿度センサー２７を含む。第２温度センサー２６と第２湿度センサー２７は、温湿度センサーとして一体化されたものでもよい。第２温度センサー２６は従属装置２の機内の温度に応じた電圧を出力する。例えば、第２温度センサー２６は、第２画像形成部２４ｃに含まれる部材の近傍に設けられる。第２温度センサー２６の出力は、第２制御部２０に入力される。第２温度センサー２６の出力に基づき、第２制御部２０は、従属装置２の機内温度を認識する。第２湿度センサー２７は従属装置２の機内の湿度に応じた電圧を出力する。例えば、第２湿度センサー２７は、第２画像形成部２４ｃに含まれる部材の近傍に設けられる。第２湿度センサー２７の出力は、第２制御部２０に入力される。第２湿度センサー２７の出力に基づき、第２制御部２０は、従属装置２の機内湿度を認識する。
【００３６】
（指揮装置１のジョブ実行順の調整）
次に、図４〜図８を用いて、実施形態に係る指揮装置１でのジョブ実行順の調整の一例を説明する。図４は、実施形態に係る指揮装置１でのジョブ実行順の調整の流れの一例を示す図である。図５は、実施形態に係る第１記憶部１１の記憶内容の一例を示す図である。図６は、実施形態に係る第１リスト４１の一例を示す図である。図７は、実施形態に係る第１入力データ５１の一例を示す図である。図８は、実施形態に係る畳み込みニューラルネットワークの一例を示す図である。
【００３７】
ある印刷ジョブの実行中に、新たなジョブが指揮装置１に入力されることがある。例えば、コピージョブのため、第１画像読取部１２が原稿の読み取りを開始することがある。プリントジョブデータが第１通信部１５に入力されることがある。印刷ジョブの実行中なので、新たに入力されたデータに基づいて印刷ジョブを開始することができない。
【００３８】
未実行（実行待ち）の印刷ジョブのジョブデータは第１記憶部１１に蓄積（保存、保持）される。以下の説明では、実行待ちの印刷ジョブを蓄積ジョブと称する。第１記憶部１１はジョブ保持領域６１を含む。第１制御部１０は、蓄積ジョブのジョブデータをジョブ保持領域６１に記憶させる。蓄積ジョブの開始待ちの間、第１制御部１０は、蓄積ジョブのジョブデータを第１記憶部１１に保持させる。蓄積ジョブの個数は複数に及ぶことがある。例えば、連続的に複数のプリントジョブデータを受信したとき、蓄積ジョブが複数に及ぶことがある。
【００３９】
図４のスタートは、所定個数の蓄積ジョブが第１記憶部１１に蓄積された時点である。所定個数は適宜定められる。所定個数は３以上とできる。本実施形態の説明では、所定個数が５である場合を説明する。所定個数は、４以下でもよいし、５より多くてもよい。
【００４０】
まず、第１制御部１０は、それぞれの蓄積ジョブのジョブデータに基づき、複数の所定項目の値（第１項目値４１ａ）を定める（ステップ♯１１）。所定項目は、複数の印刷に関する項目のなかから、予め選ばれる。例えば、用紙サイズ、用紙の向き、用紙の種別、印刷色（カラー、モノクロ）、機内温度、機内湿度が所定項目とされる。第１温度センサー１６と第１湿度センサー１７の出力に基づき、第１制御部１０は現在の機内温度と機内湿度を認識する。第１制御部１０は現在の機内温度と機内湿度を第１項目値４１ａとする。なお、所定項目はこれらに限られない。印刷解像度のような他の項目が所定項目に含まれてもよい。
【００４１】
次に、第１制御部１０は第１リスト４１を生成する（ステップ♯１２）。第１リスト４１は蓄積ジョブ単位で第１項目値４１ａを並べたものである。また、第１リスト４１は予め定められた項目順で第１項目値４１ａを並べたものである。最初に第１リスト４１を生成するとき、第１制御部１０は、受付順（入力順）で蓄積ジョブの順番を並べる。図６は第１リスト４１の一例を示す。図６の第１リスト４１のジョブＩＤは、蓄積ジョブの受付順（入力順）を示す。図６は、最初に生成される第１リスト４１の一例を示す。第１リスト４１では、１列に１つの蓄積ジョブの各第１項目値４１ａが並べられている。
【００４２】
次に、第１制御部１０は第１入力データ５１を生成する（ステップ♯１３）。第１制御部１０は、第１リスト４１に含まれる第１項目値４１ａに基づき、第１入力データ５１を生成する。第１入力データ５１は第１ニューラルネットワーク７に入力するデータである。第１制御部１０は、各第１項目値４１ａを数値化する。第１項目値４１ａに対応する数値は予め定められる。第１記憶部１１は第１生成用データ６２を記憶する（図５参照）。第１生成用データ６２は各第１項目値４１ａと数値の対応関係を示すデータである。第１生成用データ６２では、第１リスト４１に含まれ得る第１項目値４１ａに対応する数値が定義される。例えば、印刷色の場合、モノクロに対応する数値は０と定義される。カラーに対応する数値は１とされる。図７は、第１入力データ５１の一例を示す。第１入力データ５１の大きさ（マトリクスのサイズ）は予め定められる。第１制御部１０は縦と横のサイズが一定の第１入力データ５１を生成する。例えば、第１制御部１０はマトリクス状のデータを生成する。画像データのように、第１入力データ５１には、蓄積ジョブの特徴を示す値が格納される。
【００４３】
そして、第１制御部１０は、生成した第１入力データ５１を第１ニューラルネットワーク７に入力する（ステップ♯１４）。図８は、実施形態にかかるニューラルネットワーク（第１ニューラルネットワーク７、第２ニューラルネットワーク８）の一例を示す。第１ニューラルネットワーク７は、入力層９１、複数の隠れ層９２、出力層９３を含む。各層は複数のユニット（図８における○印）を含む。入力層９１内の各ユニットには、第１入力データ５１がセットされる。ユニットとユニットを繋ぐ破線は前段のユニットから後段のユニットへの関数を示す。
【００４４】
各隠れ層９２は畳み込み層を含む。各隠れ層９２はプーリング層を含んでもよいし、含まなくてもよい。畳み込み層では、畳み込みの演算が関数として行われる。第１制御部１０は、入力されたデータにフィルターによる畳み込み処理を行う。隠れ層９２の各ユニットのフィルターはそれぞれ異なる。１つの隠れ層９２に、十数〜数十のフィルター（ユニット）を含めてもよい。畳み込み処理により、第１制御部１０は特徴マップを生成する。
【００４５】
フィルターは所定のサイズとされる（例えば、３×３）。第１制御部１０は第１入力データ５１にフィルターを重ねる。第１入力データ５１の各要素とフィルターの各要素の積の和が特徴マップの１つのセルの値となる。フィルターの位置を１又は複数個ずらして、畳み込み処理が行われる。第１制御部１０は、得られた特徴マップの周りにゼロを付し、特徴マップのサイズを調整してもよい（ゼロパディング）。
【００４６】
第１ニューラルネットワークデータ７ｄは、例えば、層数、各層（各ユニット）の入力サイズ、各層（各ユニット）の出力サイズ、各ユニットの活性化関数、損失関数、重みの更新方法、学習係数を定義したデータを含む。また、第１ニューラルネットワークデータ７ｄは、各フィルターの重み（フィルター内の数値）を含む。各ユニットの演算結果に活性化関数を乗じた値がユニットの出力となる。活性化関数は適宜設定される。例えば、活性化関数にＲｅＬＵ関数、恒等写像、シグモイド関数、ｔａｎｈ関数、Ｌｅａｋｙ  ＲｅＬＵ関数を用いることができる。また、出力層９３には、ソフトマックス関数を用いることができる。
【００４７】
第１制御部１０は、第１ニューラルネットワーク７を用いて第１確率を求める（ステップ♯１５）。第１確率は、第１全体時間（所定個数の蓄積ジョブの実行に要する時間）が、第１全体時間の標準値と許容値の合計よりも長くなる確率である。１から第１確率を減ずることで、第１制御部１０は長くならない確率を求めることもできる。出力クラス数は１である（図８参照）。第１ニューラルネットワーク７を用いることにより、第１入力データ５１のうち、ジョブを遅らせる要素が特徴として抽出される。抽出された特徴に基づき、第１確率が求められる。
【００４８】
第１制御部１０は、第１全体時間の標準値を求めることができる。指揮装置１の全体時間の標準値を求めるため、第１記憶部１１は、第１標準決定用データ６３を記憶する。第１標準決定用データ６３は、用紙サイズ、用紙の向き、用紙の種類ごとに、指揮装置１で１ページの印刷に要する時間を定義したデータである。指揮装置１の仕様上の１ページあたりの印刷時間に基づき、第１標準決定用データ６３は定められる。第１制御部１０は第１標準決定用データ６３を参照する。第１制御部１０は、各蓄積ジョブの各ページの印刷に必要な時間を認識する。第１制御部１０は認識した時間を合計して、第１全体時間の標準値を求める。許容値は適宜定められる。実際の印刷時の第１全体時間と許容値を考慮して、第１ニューラルネットワーク７の学習が行われる（詳細は後述）。
【００４９】
第１制御部１０は、第１確率が予め定められた閾値以下であるか否かを確認する（ステップ♯１６）。閾値は適宜定められる。閾値は、例えば、５０％以下とされる。なお、操作パネルは閾値の設定を受け付けてもよい。第１制御部１０は、設定された閾値を用いる。第１確率が閾値以下のとき（ステップ♯１６のＹｅｓ）、第１リスト４１の順でジョブを行っても、第１全体時間は長くなりにくいと判断できる。そこで、第１制御部１０は、第１リスト４１での蓄積ジョブの並び順に沿って、印刷部に蓄積ジョブを行わせる（ステップ♯１７）。そして、本フローは終了する（エンド）。
【００５０】
一方、第１確率が閾値を超えているとき（ステップ♯１６のＮｏ）、今の第１リスト４１の順でジョブを行うと、第１全体時間（所定個数の蓄積ジョブの実行に必要な時間）は長くなる可能性が高い。そこで、求めた第１確率が閾値を超えているとき（ステップ♯１６のＹｅｓ）、第１制御部１０は生成し得る全てのパターンについて、第１リスト４１を生成済か否かを確認する（ステップ♯１８）。
【００５１】
まだ全パターンを生成していないとき（ステップ♯１８のＮｏ）、第１制御部１０は、新たな第１リスト４１を生成する（ステップ♯１９）。新たな第１リスト４１を生成するとき、第１制御部１０は、同じ蓄積ジョブについて、前に生成した第１リスト４１と蓄積ジョブの並び順が異なるように、新たな第１リスト４１を生成する。つまり、第１リスト４１ごとに蓄積ジョブの並び順を異ならせる。
【００５２】
そして、フローは、ステップ♯１３に戻る。新たな第１リスト４１を生成したとき、第１制御部１０は、新たな第１リスト４１に含まれる第１項目値４１ａに基づき、新たな第１入力データ５１を生成する。新たな第１入力データ５１を生成したとき、第１制御部１０は、新たな第１入力データ５１を第１ニューラルネットワーク７に入力する。従って、第１確率が閾値以下となるまで、新たな第１リスト４１の生成が繰り返される。
【００５３】
ここで、第１制御部１０は、予め定められた規則に反しないように、新たな第１リスト４１を生成する。規則に反しないように、第１制御部１０は、蓄積ジョブの並び順を替える。第１記憶部１１は規則情報６４を記憶する。規則情報６４は、蓄積ジョブの並び替えの規則を定めたデータである。例えば、規則情報６４は、許可する並べ方や禁止される並べ方が定義されたデータである。操作パネルは、規則の設定を受け付ける。例えば、カラーとモノクロを交互にする並べ方を禁止することができる。第１制御部１０は、設定された規則を規則情報６４として第１記憶部１１に記憶させる。
【００５４】
全パターンを生成済のとき（ステップ♯１８のＹｅｓ）、第１制御部１０は、他の画像形成装置に向けて、第１リスト４１に含まれる蓄積ジョブのジョブデータを転送させる（ステップ♯１１０）。他の画像形成装置に蓄積ジョブを実行させることができる。具体的に、第１制御部１０は、所定個数の蓄積ジョブのジョブデータを第１通信部１５に送信させる。これにより、指揮装置１ではジョブ間の準備時間が長くなる複数の印刷ジョブ（不得意な複数の印刷ジョブ）を他の画像形成装置に行わせることができる。そして、第１制御部１０は、他の画像形成装置に蓄積ジョブを実行させる（ステップ♯１１１）。他の画像形成装置は、従属装置２でもよい。他の画像形成装置は、従属装置２以外の画像形成装置でもよい。そして、本フローは終了する（エンド）。操作パネルは、ジョブデータの転送先を予め受け付けてもよい。この場合、第１制御部１０は、予め設定された転送先（画像形成装置）にジョブデータを転送する。
【００５５】
（第１ニューラルネットワーク７の学習）
次に、図９、図１０を用いて、実施形態に係る第１ニューラルネットワーク７の学習の一例を説明する。図９は、実施形態に係る第１トレーニングデータセット６７の生成の流れの一例を示す図である。図１０は、実施形態に係る第１ニューラルネットワーク７の学習の流れの一例を示す図である。
【００５６】
第１制御部１０は、学習により第１ニューラルネットワーク７に含まれる各フィルターの重み（係数）を更新する。これにより、第１確率の正確性を高めることができる。つまり、学習により、第１制御部１０は、第１ニューラルネットワークデータ７ｄを更新する。第１ニューラルネットワーク７の各フィルターの係数（重み）の初期値は、ランダムに設定してもよい。第１記憶部１１は、ランダムに各フィルターの係数を定めるアルゴリズム（プログラム）を記憶する。第１制御部１０は、アルゴリズムを用いて、フィルターの各セルの値を決定する。なお、使用当初から第１確率の正確性を高くするため、ある程度学習を進めた第１ニューラルネットワークデータ７ｄを第１記憶部１１にインストールしてもよい。
【００５７】
第１制御部１０は、学習のため、第１トレーニングデータセット６７を生成する。第１制御部１０は、実際の印刷結果に基づき、第１トレーニングデータセット６７を生成する。生成した第１トレーニングデータセット６７を第１記憶部１１に不揮発的に記憶させる。図９を用いて、第１トレーニングデータセット６７の生成の流れの一例を説明する。図９のスタートは、第１記憶部１１が蓄積ジョブを所定個数蓄積した時点である。以下の説明では、所定個数連続して実行する蓄積ジョブを学習連続ジョブと称する。
【００５８】
まず、第１制御部１０は第１実測時間を測る（ステップ♯２１）。第１実測時間は、学習連続ジョブの実行開始から終了までの時間である。例えば、実行開始時点は、学習連続ジョブの最初の蓄積ジョブの実行を開始した時点である。例えば、実行終了時点は、最後の蓄積ジョブの用紙の後処理や排出が完了した時点である。
【００５９】
第１制御部１０は第１項目値４１ａを定める（ステップ♯２２）。第１項目値４１ａは、各蓄積ジョブにおける複数の所定項目の値である。第１制御部１０は、学習連続ジョブに含まれるそれぞれの蓄積ジョブのジョブデータに基づき、第１項目値４１ａを定める。温度、湿度のパラメーターについては、第１制御部１０は、各蓄積ジョブの開始時の温度と湿度を第１項目値４１ａとする。
【００６０】
次に、第１制御部１０は第１学習用リストを生成する（ステップ♯２３）。第１制御部１０は、蓄積ジョブ単位、かつ、実行順に第１項目値４１ａを並べる。第１制御部１０は、予め定められた項目順で第１項目値４１ａを並べる。第１リスト４１と第１学習用リストとでの第１項目値４１ａの並べ方は同じである。図６と同様のリストが生成される。
【００６１】
第１学習用リストに基づき、第１制御部１０は、第１学習用入力データ６５を生成する（ステップ♯２４）。第１制御部１０は各第１項目値４１ａを数値化する。第１入力データ５１と同様に、第１制御部１０は、第１生成用データ６２に基づき、各第１項目値４１ａを数値化する。第１制御部１０はマトリクス状の第１学習用入力データ６５を生成する。第１学習用入力データ６５は、学習用の第１入力データ５１である。第１学習用入力データ６５は第１入力データ５１と同じ大きさ（マトリクスのサイズ）である。第１制御部１０は縦横のサイズが第１入力データ５１と同じデータを生成する。第１制御部１０は、第１入力データ５１と同じ規則で第１学習用入力データ６５を生成する。第１学習用入力データ６５は、画像データのように、学習連続ジョブの特徴を示す値を格納する。
【００６２】
また、第１制御部１０は第１標準時間を定める（ステップ♯２５）。第１標準時間は学習連続ジョブの実行に要する時間（全体時間）の標準値である。第１制御部１０は、第１標準決定用データ６３を参照する。第１制御部１０は、学習連続ジョブの各蓄積ジョブの各ページの印刷に必要な時間を認識する。第１制御部１０は認識した時間を合計して第１標準時間を求める。
【００６３】
そして、第１制御部１０は、第１実測時間が第１標準時間と許容値とを加算した値よりも長いか否かを判定する（ステップ♯２６）。つまり、第１制御部１０は、学習連続ジョブに要した時間が第１標準時間を超え、かつ、超えた時間が、許容値よりも長いか否かを確認する。実際に学習連続ジョブに要した時間に基づき、第１制御部１０は、第１教師データ６６（正しい答え、判定の結果）を得る。第１教師データ６６は、第１実測時間が第１標準時間と許容値とを加算した値よりも長いか否かを示す。第１教師データ６６は１ビット（１又はゼロ）のデータである。第１制御部１０は第１トレーニングデータセット６７を生成する（ステップ♯２７）。第１トレーニングデータセット６７は、第１学習用入力データ６５と第１教師データ６６（当該判定の結果）を含む。第１制御部１０は、生成した第１トレーニングデータセット６７を第１記憶部１１に記憶させる（ステップ♯２８）。そして、本フローは終了する（エンド）。
【００６４】
次に、図１０を用いて、第１ニューラルネットワーク７の学習の流れの一例を説明する。図１０のスタートは、未学習の第１トレーニングデータセット６７が一定個数になった時点である。一定個数は複数である。
【００６５】
まず、第１制御部１０は、誤差逆伝搬法を用いて、学習（重みの更新、フィルターの係数の更新）を行う。第１制御部１０は、未学習の第１トレーニングデータセット６７を読み出す（ステップ♯３１）。第１制御部１０は、読み出したデータのうち、第１学習用入力データ６５を第１ニューラルネットワーク７に入力する（ステップ♯３２）。第１制御部１０は第１学習用入力データ６５に対応する第１確率を求める（ステップ♯３３）。
【００６６】
次に、第１制御部１０は、求めた第１確率と第１学習用入力データ６５に基づき、各ユニットの重みを更新する（ステップ♯３４）。言い換えると、学習により、第１制御部１０は、各ユニットのフィルターの係数を更新する。確率的勾配降下法と誤差逆伝搬法に基づき、第１制御部１０は学習を行う。誤差逆伝搬法では、出力層９３側から入力層９１側に向けて誤差を求めていく。言い換えると、逆向きに誤差を伝搬してゆく。そこで、最初に、第１制御部１０は、第１確率と正しいと判定結果（教師データ）の誤差Ｅを求める。
【００６７】
第１制御部１０は、損失関数を用いて、誤差Ｅを求める。損失関数には、二乗誤差を用いてもよい。二乗誤差を用いて、１つのサンプルデータ（第１トレーニングデータセット６７）の誤差Ｅは、以下の（式１）で求めることができる。
（式１）  Ｅｎ＝１／２（Ｙｎ−Ｔｎ）２
ｎ：サンプル番号
Ｙｎ：出力データ（０〜１）
Ｔｎ：教師データ（０または１）
【００６８】
また、第１教師データ６６は、第１実測時間＞（第１標準時間＋許容値）がＹｅｓかＮｏ（１又はゼロ）を示す。つまり、教師データは１又はゼロである。そのため、損失関数には、２値クロスエントロピー関数を用いてもよい。
【００６９】
次に、第１制御部１０は、重みｗに対する誤差Ｅの勾配ΔＥ（誤差Ｅのｗでの微分）を求める。勾配ΔＥが正のとき、第１制御部１０は、重みｗを負の方向に更新する。勾配ΔＥが負のとき、第１制御部１０は、重みｗを正の方向に更新する。重みｗの更新式を（式２）に示す。
（式２）  ｗ  ←  ｗ−εΔＥ
εは学習係数である。１回の重みの更新幅は大きすぎないことが好ましい。学習係数は、例えば、０．１〜０．００１のような値が設定される。第１制御部１０は繰り返し、少しずつ重みｗを更新する。
【００７０】
誤差Ｅは、重み（関数）、活性化関数、損失関数に基づき求まる。従って、勾配ΔＥは、合成関数の微分により求められる。重みは行列で表現できるので、勾配ΔＥも行列で求められる。第１制御部１０は、出力層９３とその前段の隠れ層９２（ｎ層目）の重みに対する勾配ΔＥを求める。第１制御部１０は、ΔＥと学習係数を乗じた値を、ｎ層目の隠れ層９２の現在の重みに加える、又は、減じる。これにより、出力層９３の前段の隠れ層９２の重みの更新が完了する。
【００７１】
次に、第１制御部１０は、（ｎ−１）番目の隠れ層９２とｎ番目の隠れ層９２の間の重みを更新する。第１制御部１０は、ｎ番目の隠れ層９２の正しい出力と、ｎ番目の隠れ層９２の実際の出力の誤差Ｅを求める。このとき、ｎ番目の隠れ層９２の重み更新の計算結果の一部を用いて、誤差Ｅを求めることができる。第１制御部１０は、（ｎ−１）番目の隠れ層９２の重みの勾配ΔＥを求める。求めた勾配ΔＥに基づき、（ｎ−１）番目の隠れ層９２の重みを更新する。
【００７２】
第１制御部１０は、最も出力層９３に近い隠れ層９２から先頭の（最も入力側の）隠れ層９２まで、勾配ΔＥに基づく更新を繰り返す。第１制御部１０は、第１ニューラルネットワークデータ７ｄ内のフィルターの係数の更新を繰り返す。最終的に、第１ニューラルネットワークデータ７ｄの更新が完了する（ステップ♯３５）。これにより、第１ニューラルネットワーク７の１回の学習が終了する（エンド）。
【００７３】
（従属装置２のジョブ実行順の調整）
次に、図１１〜図１３を用いて、実施形態に係る従属装置２のジョブ実行順の調整の一例を説明する。図１１は、実施形態に係る従属装置２のジョブ実行順の調整の流れの一例を示す図である。図１２は、実施形態に係る第２リスト４２の一例を示す図である。図１３は実施形態に係る第２入力データ５２の一例を示す図である。
【００７４】
ある印刷ジョブの実行中に、新たなジョブが従属装置２に入力されることがある。例えば、コピージョブのため、第２画像読取部２２が原稿の読み取りを開始することがある。プリントジョブデータが第２通信部２５に入力されることがある。印刷ジョブの実行中なので、新たに入力されたデータに基づく印刷ジョブを開始することができない。
【００７５】
従属装置２でも、未実行（実行待ち）の印刷ジョブのジョブデータは第２記憶部２１に蓄積（保存、保持）される。蓄積ジョブの開始待ちの間、第２制御部２０は蓄積ジョブのジョブデータを第２記憶部２１に保持させる。蓄積ジョブの個数は複数に及ぶことがある。例えば、連続的に複数のプリントジョブデータを受信したとき、蓄積ジョブが複数に及ぶことがある。
【００７６】
ここで、ニューラルネットワークに関する演算は、演算量が多くなることがある。従属装置２では、演算能力が足りない場合がある（例えば、従属装置２が低価格帯のプリンターの場合）。そこで、指揮装置１（第１制御部１０）が従属装置２用のニューラルネットワークに関する演算を代行する。そして、第１制御部１０は、従属装置２の蓄積ジョブの実行順を定める。従属装置２（第２制御部２０）は、指揮装置１が定めた実行順で蓄積ジョブを第２印刷部２４に印刷させる。
【００７７】
図１１のスタートは、所定個数の蓄積ジョブが第２記憶部２１に蓄積された時点である。以下の説明では、所定個数は指揮装置１と同じ数（５個）である場合を説明する。所定個数は、４以下でもよいし、５より多くてもよい。
【００７８】
まず、第２制御部２０は、それぞれの蓄積ジョブのジョブデータに基づき、複数の所定項目の値（第２項目値４２ａ）を定める（ステップ♯４１）。所定項目は、複数の印刷に関する項目のなかから、予め選ばれる。例えば、用紙サイズ、用紙の向き、用紙の種別、印刷色（カラー、モノクロ）、機内温度、機内湿度が所定項目とされる。所定項目は所定項目と同じでもよいし、異なっていてもよい。第２温度センサー２６、第２湿度センサー２７の出力に基づき、第２制御部２０は、現在の機内温度と機内湿度を認識する。第２制御部２０は現在の機内温度と機内湿度を第２項目値４２ａとする。なお、所定項目はこれらに限られない。印刷解像度のような他の項目が所定項目に含まれてもよい。
【００７９】
次に、第２制御部２０は第２リスト４２を生成し、送信する（ステップ♯４２）。第２リスト４２は蓄積ジョブ単位で第２項目値４２ａを並べたものである。また、第２リスト４２は、予め定められた項目順で第２項目値４２ａを並べたものである。最初に第２リスト４２を生成するとき、第２制御部２０は、受付順（入力順）で蓄積ジョブの順番を並べる。第２制御部２０は、指揮装置１（第１通信部１５）に向けて、生成した第２リスト４２を第２通信部２５に送信させる。第２項目値４２ａの並べ方は、第１リスト４１と同様でよい。
【００８０】
図１２は第２リスト４２の一例を示す。図１２の第２リスト４２のジョブＩＤは、蓄積ジョブの受付順（入力順）を示す。つまり、図１２は、最初に生成される第２リスト４２の一例を示す。第２リスト４２では、１列に１つの蓄積ジョブの各第２項目値４２ａが並べられている。受信した第２リスト４２に基づき、指揮装置１（第１制御部１０）は第２入力データ５２を生成する（ステップ♯４３）。第１制御部１０は、第２リスト４２に含まれる第２項目値４２ａに基づき、第２入力データ５２を生成する。第２入力データ５２は第２ニューラルネットワーク８に入力するデータである。
【００８１】
第１制御部１０は、各第２項目値４２ａを数値化する。第２項目値４２ａに対応する数値は予め定められる。第１記憶部１１は第２生成用データ６８を記憶する（図５参照）。第２生成用データ６８は各第２項目値４２ａと数値の対応関係を示すデータである。第２生成用データ６８では、第２リスト４２に含まれ得る第２項目値４２ａに対応する数値が定義される。例えば、印刷色の場合、モノクロに対応する数値は０と定義される。カラーに対応する数値は１とされる。
【００８２】
図１３は、第２入力データ５２の一例を示す。第２入力データ５２の大きさ（マトリクスのサイズ）は予め定められる。第２入力データ５２と第１入力データ５１は同じサイズでもよい。第１制御部１０は縦と横のサイズが一定の第２入力データ５２を生成する。例えば、第１制御部１０はマトリクス状のデータを生成する。画像データのように、第２入力データ５２には、蓄積ジョブの特徴を示す値が格納される。
【００８３】
そして、第１制御部１０は、生成した第２入力データ５２を第２ニューラルネットワーク８に入力する（ステップ♯４４）。第２ニューラルネットワーク８は、第１ニューラルネットワーク７と同様のニューラルネットワークである。第２ニューラルネットワーク８は畳み込みニューラルネットワークの一種である（図８参照）。第２ニューラルネットワーク８は、従属装置２ごとに用意される。演算処理装置３が第２ニューラルネットワーク８に関する演算を行う。
【００８４】
第２ニューラルネットワーク８も、入力層９１、複数の隠れ層９２、出力層９３を含む。各層は複数のユニットを含む。入力層９１内の各ユニットには、第２入力データ５２がセットされる。ユニットとユニットを繋ぐ破線は、前段のユニットから後段のユニットへの関数を示す。各隠れ層９２は畳み込み層を含む。各隠れ層９２はプーリング層を含んでもよいし、含まなくてもよい。畳み込み層では、畳み込みの演算が関数として行われる。第１制御部１０は、入力されたデータにフィルターによる畳み込み処理を行う。隠れ層９２の各ユニットのフィルターはそれぞれ異なる。１つの隠れ層９２には、十数〜数十のフィルター（ユニット）を含めてもよい。畳み込み処理により、第１制御部１０は特徴マップを生成する。
【００８５】
第２ニューラルネットワーク８でも、フィルターは所定のサイズとされる（例えば、３×３）。第１制御部１０は第２入力データ５２にフィルターを重ねる。第２入力データ５２の各要素とフィルターの各要素の積の和が特徴マップの１つのセルの値となる。フィルターの位置をずらして、畳み込み処理が行われる。第１制御部１０は、得られた特徴マップの周りにゼロを付し、特徴マップのサイズを調整してもよい（ゼロパディング）。
【００８６】
第２ニューラルネットワークデータ８ｄは、例えば、層数、各層（各ユニット）の入力サイズ、各層（各ユニット）の出力サイズ、各ユニットの活性化関数、損失関数、重みの更新方法、学習係数を定義したデータを含む。また、第２ニューラルネットワークデータ８ｄは、各フィルターの重み（フィルター内の数値）を含む。各ユニットの演算結果に活性化関数を乗じた値がユニットの出力となる。活性化関数は適宜設定される。例えば、活性化関数にＲｅＬＵ関数、恒等写像、シグモイド関数、ｔａｎｈ関数、Ｌｅａｋｙ  ＲｅＬＵ関数を用いることができる。また、出力層９３には、ソフトマックス関数を用いることができる。第２ニューラルネットワークデータ８ｄは、第１ニューラルネットワークデータ７ｄと、各フィルターの係数のみが異なるデータとできる。
【００８７】
第１制御部１０は、第２ニューラルネットワーク８を用いて第２確率を求める（ステップ♯１５）。第２確率は、第２全体時間が、第２全体時間の標準値と許容値の合計よりも長くなる確率である。１から第２確率を減ずることで、第１制御部１０は長くならない確率を求めることもできる。出力クラス数は１である（図８参照）。第２ニューラルネットワーク８を用いることにより、第２入力データ５２のうち、ジョブを遅らせる要素が特徴として抽出される。抽出された特徴に基づき、第２確率が求められる。第２ニューラルネットワーク８を用いることにより、第２入力データ５２のうち、ジョブを遅らせる要素が特徴として抽出される。抽出された特徴に基づき、標準値よりも許容値を超えて長くなる確率が求められる。
【００８８】
第１制御部１０は、従属装置２についても、第２全体時間（所定個数の蓄積ジョブの実行に要する時間）の標準値を求めることができる。従属装置２の全体時間の標準値を求めるため、第１記憶部１１は、第２標準決定用データ６９を記憶する。第２標準決定用データ６９は、用紙サイズ、用紙の向き、用紙の種類ごとに、従属装置２での１ページの印刷に要する時間を定義したデータである。従属装置２の仕様上の１ページあたりの印刷時間に基づき、第２標準決定用データ６９は定められる。第１制御部１０は、第２標準決定用データ６９を参照する。第１制御部１０は、各蓄積ジョブの各ページの印刷に必要な時間を認識する。第１制御部１０は認識した時間を合計して、第２全体時間の標準値を求める。実際の印刷時の第２全体時間と許容値を考慮して、第２ニューラルネットワーク８の学習が行われる。
【００８９】
第１制御部１０、第２確率が閾値以下であるか否かを確認する（ステップ♯４６）。閾値は、例えば、５０％以下とされる。第２確率が閾値以下のとき（ステップ♯４６のＹｅｓ）、従属装置２では、第２リスト４２の順でジョブを行っても、第２全体時間（所定個数の蓄積ジョブの所要時間）は長くなりにくいと判断できる。そこで、第１制御部１０は、第２リスト４２での蓄積ジョブの並び順に沿って、印刷部に蓄積ジョブを行わせる（ステップ♯４７）。そして、本フローは終了する（エンド）。
【００９０】
一方、第２確率が閾値を超えているとき（ステップ♯４６のＮｏ）、従属装置２で、今の第２リスト４２では、第２全体時間が長くなる可能性が高い。そこで、求めた第２確率が閾値を超えているとき（ステップ♯４６のＹｅｓ）、第１制御部１０は生成し得る全てのパターンについて、第２リスト４２を生成済か否かを確認する（ステップ♯４８）。
【００９１】
まだ全パターンを生成していないとき（ステップ♯４８のＮｏ）、第１制御部１０は、新たな第２リスト４２を生成する（ステップ♯４９）。新たな第２リスト４２を生成するとき、第１制御部１０は、同じ蓄積ジョブについて、前に生成した第２リスト４２と蓄積ジョブの並び順が異なるように、新たな第２リスト４２を生成する。つまり、第２リスト４２ごとに蓄積ジョブの並び順を異ならせる。
【００９２】
そして、フローは、ステップ♯４３に戻る。新たな第２リスト４２を生成したとき、第１制御部１０は、新たな第２リスト４２に含まれる第２項目値４２ａに基づき、新たな第２入力データ５２を生成する。新たな第２入力データ５２を生成したとき、第１制御部１０は、新たな第２入力データ５２を第２ニューラルネットワーク８に入力する。従って、第２確率が閾値以下となるまで、新たな第２リスト４２の生成が繰り返される。ここで、第１制御部１０は、規則に反しないように、蓄積ジョブの並び順を替える。第１制御部１０は、第１記憶部１１の規則情報６４を参照する。操作パネルは、従属装置２用の規則を受け付けてもよい。この場合、第１制御部１０は、設定された規則を従属装置２用の規則情報６４として第１記憶部１１に記憶させる。
【００９３】
全パターンを生成済のとき（ステップ♯４８のＹｅｓ）、第１制御部１０は、生成した第２リスト４２のうち、最も第２確率が小さくなった第２リスト４２を対応する従属装置２に送信する（ステップ♯４１０）。第１制御部１０は、従属装置２で蓄積ジョブを実行させる（ステップ♯４１１）。そして、本フローは終了する（エンド）。
【００９４】
（第２ニューラルネットワーク８の学習）
次に、図１４、図１５を用いて、実施形態に係る第２ニューラルネットワーク８の学習の一例を説明する。図１４は、実施形態に係る第２トレーニングデータセット６１２の生成の流れの一例を示す図である。図１５は、実施形態に係る第２ニューラルネットワーク８の学習の流れの一例を示す図である。
【００９５】
第１制御部１０は、第２ニューラルネットワーク８に含まれる各フィルターの重み（係数）を更新する。つまり、従属装置２のためのニューラルネットワークの学習を、指揮装置１が行う。これにより、第２確率の正確性を高めることができる。学習により、第１制御部１０は、第２ニューラルネットワークデータ８ｄを更新する。第２ニューラルネットワーク８の各フィルターの係数（重み）の初期値はランダムに設定してもよい。この場合、第１記憶部１１は、ランダムに各フィルターの係数を定めるアルゴリズム（プログラム）を記憶する。第１制御部１０は、アルゴリズムを用いて、フィルターの各セルの値を決定する。なお、使用当初から第２確率の正確性を高くするため、ある程度学習を進めた第２ニューラルネットワークデータ８ｄを第１記憶部１１にインストールしてもよい。
【００９６】
第１制御部１０は、学習のため、第２トレーニングデータセット６１２を生成する。第１制御部１０は、実際の印刷結果に基づき、第２トレーニングデータセット６１２を生成する。生成した第２トレーニングデータセット６１２を第１記憶部１１に不揮発的に記憶させる。
【００９７】
図１４を用いて、第２トレーニングデータセット６１２の生成の流れの一例を説明する。図１４のスタートは、第２記憶部２１が蓄積ジョブを所定個数蓄積した時点である。つまり、従属装置２が学習連続ジョブを蓄積した時点である。
【００９８】
まず、従属装置２（第２制御部２０）は、第２実測時間を測る（ステップ♯５１）。第２実測時間は従属装置２での学習連続ジョブの実行開始から終了までの時間である。第２制御部２０は第２項目値４２ａを定める（ステップ♯５２）。第２制御部２０は、学習連続ジョブに含まれるそれぞれの蓄積ジョブのジョブデータに基づき、第２項目値４２ａを定める。温度、湿度のパラメーターについては、第２制御部２０は、各蓄積ジョブの開始時の温度と湿度を第２項目値４２ａとする。
【００９９】
次に、第２制御部２０は、第２学習連続ジョブリストを生成、送信する（ステップ♯５３）。第２制御部２０は、蓄積ジョブ単位、かつ、実行順に第２項目値４２ａを並べる。さらに、第２制御部２０は、予め定められた項目順で第２項目値４２ａを並べる。第２学習連続ジョブリストと第２リスト４２での第２項目値４２ａの並べ方は同じである。図１２と同様のリストが生成される。そして、第２制御部２０は、生成した第２学習連続ジョブリストを指揮装置１（第１通信部１５）に送信する。
【０１００】
第１制御部１０は、受信した第２学習連続ジョブリストに基づき、第２学習用入力データ６１０を生成する（ステップ♯５４）。第１制御部１０は各第２項目値４２ａを数値化する。第２入力データ５２と同様に、第１制御部１０は、第２生成用データ６８に基づき、各第２項目値４２ａを数値化する。第２制御部２０はマトリクス状の第２学習用入力データ６１０を生成する。第２学習用入力データ６１０は、学習用（従属装置２用）の第２入力データ５２である。第２学習用入力データ６１０は、第２入力データ５２と同じ大きさ（マトリクスのサイズ）である。第２制御部２０は、縦と横のサイズが第２入力データ５２と同じデータを生成する。第２制御部２０は、第２入力データ５２と同じ規則で第２学習用入力データ６１０を生成する。第２学習用入力データ６１０は、画像データのように、学習連続ジョブの特徴を示す値を格納する。
【０１０１】
また、第１制御部１０は第２標準時間を定める（ステップ♯５５）。第２標準時間は、従属装置２での学習連続ジョブの実行に要する時間（全体時間）の標準値である。第１制御部１０は、第２標準決定用データ６９を参照する。第１制御部１０は、従属装置２で、学習連続ジョブの各蓄積ジョブの各ページの印刷に必要な時間を認識する。第１制御部１０は認識した時間を合計して第２標準時間を求める。
【０１０２】
次に、第１制御部１０は、第２実測時間が第２標準時間と許容値とを加算した値よりも長いか否かを判定する（ステップ♯５６）。つまり、第１制御部１０は、学習連続ジョブに要した時間が第２標準時間を超え、かつ、超えた時間が、許容値よりも長いか否かを確認する。実際に学習連続ジョブに要した時間に基づき、第１制御部１０は、教師データ（正しい答え、判定結果）を得る。
【０１０３】
第１制御部１０は、第２トレーニングデータセット６１２を生成する（ステップ♯５７）。第２トレーニングデータセット６１２は、第２学習用入力データ６１０と第２教師データ６１１（判定の結果）を含む。第２教師データ６１１は、第２実測時間が第２標準時間と許容値とを加算した値よりも長いか否かを示す。第２教師データ６１１は１ビット（１又はゼロ）のデータである。第１制御部１０は生成した第２トレーニングデータセット６１２を第１記憶部１１に記憶させる（ステップ♯５８）。そして、本フローは終了する（エンド）。
【０１０４】
次に、図１５を用いて、従属装置２のための第２ニューラルネットワーク８の学習の流れの一例を説明する。図１５のスタートは、未学習の第２トレーニングデータセット６１２が一定個数になった時点である。
【０１０５】
まず、第１制御部１０は、誤差逆伝搬法を用いて、学習（重みの更新、フィルターの係数の更新）を行う。第１制御部１０は、未学習の第２トレーニングデータセット６１２を読み出す（ステップ♯６１）。第１制御部１０は、読み出したデータのうち、第２学習用入力データ６１０を第２ニューラルネットワーク８に入力する（ステップ♯６２）。そして、第２学習用入力データ６１０に基づき、第１制御部１０は第２確率を求める（ステップ♯６３）。
【０１０６】
次に、第１制御部１０は、求めた第２確率と第２学習用入力データ６１０に基づき、各ユニットの重みを更新する（ステップ♯６４）。言い換えると、学習により、第１制御部１０は、第２ニューラルネットワーク８の各ユニットのフィルターの係数を更新する。確率的勾配降下法と誤差逆伝搬法に基づき、第１制御部１０は学習を行う。誤差逆伝搬法では、最初に、第１制御部１０は、第２ニューラルネットワーク８の出力層９３の前段の隠れ層９２（ｍ層目）の重みに関する誤差Ｅを求める。
【０１０７】
第１制御部１０は、損失関数を用いて誤差Ｅを求める。損失関数には、二乗誤差を用いてもよい。二乗誤差を用いて、１つのサンプルデータ（第２トレーニングデータセット６１２）の誤差Ｅは、上述の（式１）で求めることができる。なお、第２教師データ６１１は１又はゼロである。そのため、損失関数には、２値クロスエントロピー関数を用いてもよい。
【０１０８】
次に、第１制御部１０は、重みｗに対する誤差Ｅの勾配ΔＥ（誤差Ｅのｗでの微分）を求める。勾配ΔＥが正のとき、第１制御部１０は、重みｗを負の方向に更新する。勾配ΔＥが負のとき、第１制御部１０は、重みｗを正の方向に更新する。重みｗの更新式は上述の（式２）と同様である。
【０１０９】
誤差Ｅは、重み（関数）、活性化関数、損失関数に基づき求まる。第１ニューラルネットワーク７と同様に、第１制御部１０は、第２ニューラルネットワーク８の出力層９３の前段（ｍ層目）の隠れ層９２の勾配ΔＥを求める。第１制御部１０は、ΔＥと学習係数を乗じた値を、ｍ層目の隠れ層９２の現在の重みに加える、又は、減じる。これにより、ｍ層目の隠れ層９２の重みの更新が完了する。
【０１１０】
次に、第１制御部１０は、（ｍ−１）番目の隠れ層９２とｍ番目の隠れ層９２の間の重みを更新する。第１制御部１０は、ｍ番目の隠れ層９２の正しい出力と、ｍ番目の隠れ層９２の実際の出力の誤差Ｅを求める。このとき、ｍ層目の隠れ層９２の間の重み更新時の計算結果の一部を用いて、誤差Ｅを求めることができる。そして、第１制御部１０は、（ｍ−１）番目の隠れ層９２の重みの勾配ΔＥを求める。求めた勾配ΔＥに基づき、（ｍ−１）番目の隠れ層９２の重みを更新する。
【０１１１】
第１制御部１０は、最も出力層９３に近い隠れ層９２から先頭の（最も入力側の）隠れ層９２まで、勾配ΔＥに基づく更新を繰り返す。第１制御部１０は、第１ニューラルネットワークデータ７ｄ内のフィルターの係数の更新を繰り返す。最終的に、第１ニューラルネットワークデータ７ｄの更新が完了する（ステップ♯３５）。これにより、第１ニューラルネットワーク７の１回の学習が終了する（エンド）。
【０１１２】
このようにして、実施形態に係る画像形成装置（指揮装置１）は、入力部（第１画像読取部１２、第１通信部１５）、印刷部（第１印刷部１４）、記憶部（第１記憶部１１）、制御部（第１制御部１０）を含む。入力部は、印刷ジョブの実行に用いるジョブデータを取得する。印刷部は、ジョブデータに基づき印刷する。記憶部は、入力部が取得したジョブデータを記憶する。制御部は、印刷ジョブの実行順を調整する。記憶部は、未実行の印刷ジョブである蓄積ジョブのジョブデータを保持する。記憶部は、自機用の第１ニューラルネットワーク７を構築するための第１ニューラルネットワークデータ７ｄを記憶する。制御部は、所定個数の蓄積ジョブが記憶部に蓄積されたとき、それぞれの蓄積ジョブのジョブデータに基づき、複数の所定項目の値である第１項目値４１ａを定める。制御部は、蓄積ジョブ単位、かつ、予め定められた項目順で第１項目値４１ａを並べた第１リスト４１を生成する。制御部は、第１リスト４１に含まれる第１項目値４１ａに基づき第１入力データ５１を生成する。制御部は、生成した第１入力データ５１を第１ニューラルネットワーク７に入力する。制御部は、第１ニューラルネットワーク７を用いて第１確率を求める。第１確率が予め定められた閾値以下のとき、制御部は、第１リスト４１での蓄積ジョブの並び順に沿って、印刷部に蓄積ジョブを行わせる。第１確率は、第１リスト４１での蓄積ジョブの並び順で蓄積ジョブを実行した場合、第１リスト４１に含まれる全ての蓄積ジョブの実行に要する第１全体時間が、第１全体時間の標準値と予め定められた許容値とを加算した値よりも長くなる確率である。
【０１１３】
この構成によれば、所定個数の蓄積ジョブの実行順は、最初の蓄積ジョブの開始から最後の蓄積ジョブの完了までの時間が長くなりにくい順番とされる。第１全体時間が短くなるように、実行順を調整することができる。蓄積ジョブの実行順を自動的に調整することができる。その結果、印刷の所要時間は短くなりやすい。これにより、画像形成装置の印刷の生産性（印刷速度）を高めることができる。
【０１１４】
また、制御部は、求めた第１確率が閾値を超えているとき、新たな第１リスト４１を生成する。制御部は、同じ蓄積ジョブについて、前に生成した第１リスト４１と蓄積ジョブの並び順が異なるように、新たな第１リスト４１を生成する。新たな第１リスト４１を生成したとき、制御部は、新たな第１リスト４１に含まれる第１項目値４１ａに基づき新たな第１入力データ５１を生成する。新たな第１入力データ５１を生成したとき、制御部は、新たな第１入力データ５１を第１ニューラルネットワーク７に入力する。制御部は、求められた第１確率が閾値以下となるまで、新たな第１リスト４１の生成を繰り返す。第１確率が閾値を下回るまで第１リスト４１の生成を繰り返すことができる。蓄積ジョブの並べ方を柔軟に変えることができる。最初の蓄積ジョブの開始から最後の蓄積ジョブの完了までに要する時間が短くなるように、蓄積ジョブの実行順を定めることができる。
【０１１５】
蓄積ジョブを所定個数連続して実行する学習連続ジョブを実行したとき、制御部は、学習連続ジョブの実行開始から終了までの時間である第１実測時間を測る。制御部は、実行したそれぞれの蓄積ジョブについて、第１項目値４１ａを定める。制御部は、蓄積ジョブ単位、かつ、実行順に第１項目値４１ａを並べ、さらに、予め定められた項目順で第１項目値４１ａを並べた第１学習用リストを生成する。制御部は、第１学習用リストに基づき、第１学習用入力データ６５を生成する。制御部は、全ての学習連続ジョブの実行に要する時間の標準値である第１標準時間を定める。制御部は、第１実測時間が第１標準時間と許容値とを加算した値よりも長いか否かを判定する。制御部は、当該判定の結果と第１学習用入力データ６５を含む第１トレーニングデータセット６７を生成する。制御部は、生成した第１トレーニングデータセット６７を用いて、第１ニューラルネットワーク７の学習を行う。ジョブの実行結果を用いて、第１ニューラルネットワーク７の学習を行うことができる。第１ニューラルネットワーク７に含まれる各層のユニットの重み（各フィルターの係数）を適切に更新することができる。ジョブの実行結果に基づき学習を行うので、画像形成装置の使用環境、経年劣化、顧客の設定傾向を反映した第１ニューラルネットワーク７を構築することができる。第１確率の正確性を高めることができる。
【０１１６】
記憶部は、蓄積ジョブの並び替えの規則を定めた規則情報６４を記憶する。新たな第１リスト４１を生成するとき、制御部は、規則に反しないように、蓄積ジョブの並び順を替える。規則に反する順番で蓄積ジョブが実行されることを防ぐことができる。
【０１１７】
指揮装置１は、他の画像形成装置と通信する通信部を含む。生成し得る全てのパターンについて、第１リスト４１を生成しても第１確率が閾値以下にならないとき、制御部は、他の画像形成装置に向けて、第１リスト４１に含まれる蓄積ジョブのジョブデータを通信部に送信させる。制御部は、他の画像形成装置に蓄積ジョブを実行させる。どのような蓄積ジョブの実行順でも、全蓄積ジョブの実行に時間がかかる可能性が高い場合、他の画像形成装置に蓄積ジョブを実行させることができる。全ての蓄積ジョブの印刷所要時間の短縮化につながる。
【０１１８】
制御部は、制御回路と、ニューラルネットワークに関する演算を行うための演算処理装置３を含む。ニューラルネットワークに関する演算は多くなることがある。通常の制御回路だけでは、演算時間が長くなる可能性がある。専用の演算処理装置３を設けることにより、高速にニューラルネットワークに関する演算を行うことができる。
【０１１９】
所定項目は、用紙サイズ、用紙向き、用紙種類、カラー設定のうち、複数を含む。この構成によれば、使用者の印刷設定の傾向や、画像形成装置の使用環境を反映させて、第１確率を求める（推測する）ことができる。
【０１２０】
印刷制御システム１００は、指揮装置１と、指揮装置１と通信する画像形成装置である従属装置２を含む。指揮装置１は、従属装置２ごとに、第２ニューラルネットワーク８を構築するための第２ニューラルネットワークデータ８ｄを記憶する。従属装置２はジョブデータを取得する。従属装置２は取得したジョブデータを記憶する。所定個数の蓄積ジョブを蓄積したとき、従属装置２はそれぞれの蓄積ジョブに基づき、複数の所定項目の値である第２項目値４２ａを定める。従属装置２は、蓄積ジョブ単位で第２項目値４２ａを並べ、かつ、予め定められた項目順で第２項目値４２ａを並べた第２リスト４２を生成する。従属装置２は生成した第２リスト４２を指揮装置１に送信する。指揮装置１の制御部（第１制御部１０）は、第２リスト４２に含まれる第２項目値４２ａに基づき第２入力データ５２を生成する。指揮装置１の制御部は、生成した第２入力データ５２を、第２リスト４２を送信した従属装置２に対応する第２ニューラルネットワーク８に入力する。指揮装置１の制御部は、第２ニューラルネットワーク８を用いて第２確率を求める。指揮装置１の制御部は第２確率が閾値以下の第２リスト４２を従属装置２に与える。従属装置２は、与えられた第２リスト４２の蓄積ジョブの並び順で、蓄積ジョブの印刷を行う。第２確率は、第２リスト４２での蓄積ジョブの並び順で蓄積ジョブを実行した場合、第２リスト４２に含まれる全ての蓄積ジョブの実行に要する第２全体時間が、第２全体時間の標準値と許容値とを加算した値よりも長くなる確率である。
【０１２１】
この構成によれば、従属装置２において、複数の蓄積ジョブがある場合、蓄積ジョブの実行順は、最初の蓄積ジョブの開始から最後の蓄積ジョブの完了までの時間が長くなりにくい順番とされる。第２全体時間が短くなるように、実行順を調整することができる。蓄積ジョブの実行順を自動的に調整することができる。印刷の所要時間は短くなりやすい。従って、画像形成装置の印刷の生産性（印刷速度）を高めることができる。従属装置２の演算処理能力が低くても、ニューラルネットワークを用いて蓄積ジョブの実行順を定めることができる。
【０１２２】
指揮装置１の制御部は、第２確率が閾値を超えているとき、新たな第２リスト４２を生成する。指揮装置１の制御部は、同じ蓄積ジョブについて、前に生成した第２リスト４２と蓄積ジョブの並び順が異なるように、新たな第２リスト４２を生成する。新たな第２リスト４２を生成したとき、指揮装置１の制御部は、新たな第２リスト４２に含まれる第２項目値４２ａに基づき新たな第２入力データ５２を生成する。新たな第２入力データ５２を生成したとき、指揮装置１の制御部は、新たな第２入力データ５２を対応する第２ニューラルネットワーク８に入力する。指揮装置１の制御部は、求められた第２確率が閾値以下となるまで、新たな第２リスト４２の生成を繰り返す。第２確率が閾値を下回るまで第２リスト４２の生成を繰り返すことができる。蓄積ジョブの並べ方を柔軟に変えることができる。従属装置２において、第２全体時間が短くなるように、蓄積ジョブの実行順を定めることができる。
【０１２３】
蓄積ジョブを所定個数連続して実行する学習連続ジョブを実行したとき、従属装置２は、学習連続ジョブの実行開始から終了までの時間である第２実測時間を測る。従属装置２は、実行したそれぞれの蓄積ジョブについて、第２項目値４２ａを定める。従属装置２は、蓄積ジョブ単位、かつ、実行順に第２項目値４２ａを並べ、更に、予め定められた項目順で第２項目値４２ａを並べた第２ジョブ結果リストを生成する。従属装置２は、第２実測時間、第２ジョブ結果リストを指揮装置１に送信する。指揮装置１の制御部は、受信した第２ジョブ結果リストに基づき、第２学習用入力データ６１０を生成する。指揮装置１の制御部は、受信した第２ジョブ結果リストに基づき、全ての学習連続ジョブの実行に要する時間の標準値である第２標準時間を定める。指揮装置１の制御部は、第２実測時間が第２標準時間と許容値とを加算した値よりも長いか否かを判定する。当該判定の結果と第２学習用入力データ６１０に基づいて、指揮装置１の制御部は、第２トレーニングデータセット６１２を生成する。生成した第２トレーニングデータセット６１２を用いて、指揮装置１の制御部は、第２ニューラルネットワーク８の学習を行う。従属装置２のジョブの実行結果を用いて、第２ニューラルネットワーク８の学習を行うことができる。第２ニューラルネットワーク８に含まれる各層のユニットの重み（各フィルターの係数）を適切に更新することができる。従属装置２のジョブの実行結果に基づき学習を行うので、従属装置２の使用環境、経年劣化、顧客の設定傾向を反映した第２ニューラルネットワーク８を構築することができる。第２確率の正確性を高めることができる。
【０１２４】
指揮装置１の記憶部は、蓄積ジョブの並び替えの規則を定めた規則情報６４を記憶する。新たな第２リスト４２を生成するとき、指揮装置１の制御部は、規則に反しないように、第２リスト４２の蓄積ジョブの並び順を替える。規則に反する順番で蓄積ジョブが実行されることを防ぐことができる。
【０１２５】
生成し得る全てのパターンについて、第２リスト４２を生成しても第２確率が閾値以下にならないとき、指揮装置１の制御部は、生成した第２リスト４２のうち、最も第２確率が小さくなった第２リスト４２を対応する従属装置２に与える。従属装置２は、与えられた第２リスト４２の蓄積ジョブの並び順で、蓄積ジョブの印刷を行う。どのような蓄積ジョブの実行順でも、従属装置２で全蓄積ジョブの実行に時間がかかる可能性が高い場合、第２全体時間が最も長くなりにくい順番で蓄積ジョブを実行させることができる。できるだけ早く印刷が終わるように、蓄積ジョブの実行順を定めることができる。
【０１２６】
本発明の実施形態を説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。
【０１２７】
上記の説明では、印刷ジョブ単位で第１項目値４１ａを並べ、第１制御部１０が第１リスト４１を生成する例を説明した。しかし、１ページ単位で第１項目値４１ａを並べ、第１リスト４１を生成してもよい。また、印刷ジョブ単位で第２項目値４２ａを並べ、第２制御部２０が第２リスト４２を生成する例を説明した。しかし、１ページ単位で第１項目値４１ａを並べ、第２リスト４２を生成してもよい。これらの場合、複数ページの印刷ジョブは１ページ単位に分解される。
【産業上の利用可能性】
【０１２８】
本発明は、画像形成装置や画像形成装置を含む印刷制御システムに使用可能である。
【符号の説明】
【０１２９】
１００  印刷制御システム              １      指揮装置（画像形成装置）
１０    第１制御部（制御部）          １１    第１記憶部（記憶部）
１２    第１画像読取部（入力部）      １４    第１印刷部（印刷部）
１５    第１通信部（入力部）          ２      従属装置
３      演算処理装置                  ４１    第１リスト
４２    第２リスト                    ５１    第１入力データ
５２    第２入力データ                ６４    規則情報
６５    第１学習用入力データ          ６６    第１教師データ（判定結果）
６７    第１トレーニングデータセット  ６１０  第２学習用入力データ
６１１  第２教師データ（判定結果）    ６１２  第２トレーニングデータセット
７      第１ニューラルネットワーク    ７ｄ    第１ニューラルネットワークデータ
８      第２ニューラルネットワーク    ８ｄ    第２ニューラルネットワークデータ
【図１】
2019171774.tif 000003
【図２】
2019171774.tif 000004
【図３】
2019171774.tif 000005
【図４】
2019171774.tif 000006
【図５】
2019171774.tif 000007
【図６】
2019171774.tif 000008
【図７】
2019171774.tif 000009
【図８】
2019171774.tif 000010
【図９】
2019171774.tif 000011
【図１０】
2019171774.tif 000012
【図１１】
2019171774.tif 000013
【図１２】
2019171774.tif 000014
【図１３】
2019171774.tif 000015
【図１４】
2019171774.tif 000016
【図１５】
2019171774.tif 000017