(57)【特許請求の範囲】
【請求項１】
時間割を作成する時間割作成装置において、
それぞれの科目に対応する教室の種類を含み、それぞれの科目に関する情報を記憶する科目情報記憶手段と、
曜日、時限及び教室情報で規定されるコマに対して科目を割り当てる第１割当処理及び、日付、時限及び教室情報で規定されるコマに対して科目を割り当てる第２割当処理のいずれかを選択する選択手段と、
複数の科目のいずれかの選択を受け付ける科目受付手段と、
前記選択手段が選択した割当処理で、前記科目受付手段が選択を受け付けた科目を割り当てるコマの選択を受け付けるコマ受付手段と、
該コマ受付手段が選択を受け付けたコマに対して、前記科目受付手段が選択を受け付けた科目を割り当てる割当手段と、
前記選択手段が第１割当処理を選択している状況で、前記割当手段が前記コマ受付手段が選択を受け付けたコマに対して前記科目受付手段が選択を受け付けた科目を割り当てた場合に、未割当の各科目に対応して前記科目情報記憶手段に記憶してある教室の種類及び未割当の各コマの教室情報に基づいて、教室の種類毎に未割当の各科目を割り当てることができるコマが余っているか否かを判断する手段と、
余っていないと判断した場合に、前記未割当の各科目が、割り当てができない状態にあると判断する手段と、
該手段が割り当てができない状態にあると判断した未割当の科目の数を計数する計数手段と、
該計数手段が計数した科目の数が所定数以上である場合に、前記第１割当処理から前記第２割当処理への切替を促す情報を出力する手段と
を備えることを特徴とする時間割作成装置。
【請求項２】
時間割を作成する時間割作成装置において、
曜日、時限及び教室情報で規定されるコマに対して科目を割り当てる第１割当処理及び、日付、時限及び教室情報で規定されるコマに対して科目を割り当てる第２割当処理のいずれかを選択する選択手段と、
複数の科目のいずれかの選択を受け付ける科目受付手段と、
前記選択手段が選択した割当処理で、前記科目受付手段が選択を受け付けた科目を割り当てるコマの選択を受け付けるコマ受付手段と、
該コマ受付手段が選択を受け付けたコマに対して、前記科目受付手段が選択を受け付けた科目を割り当てる割当手段と、
前記選択手段が第１割当処理を選択している状況で、前記科目受付手段が科目の選択を受け付けた場合に、それぞれの科目毎に選択された回数を計数する選択回数計数手段と、
該選択回数計数手段が計数した回数が所定数以上である場合に、前記第１割当処理から前記第２割当処理への切替を促す情報を出力する手段と
を備えることを特徴とする時間割作成装置。
【請求項３】
時間割を作成する時間割作成装置において、
曜日、時限及び教室情報で規定されるコマに対して科目を割り当てる第１割当処理及び、日付、時限及び教室情報で規定されるコマに対して科目を割り当てる第２割当処理のいずれかを選択する選択手段と、
複数の科目のいずれかの選択を受け付ける科目受付手段と、
前記選択手段が選択した割当処理で、前記科目受付手段が選択を受け付けた科目を割り当てるコマの選択を受け付けるコマ受付手段と、
該コマ受付手段が選択を受け付けたコマに対して、前記科目受付手段が選択を受け付けた科目を割り当てる割当手段と、
前記選択手段が第１割当処理を選択している状況で、前記科目受付手段が科目の選択を受け付けた場合に、選択された科目に対応して、該科目が前記科目受付手段にて何回目に選択を受け付けたかを示す受付回数を逐次記憶する受付回数記憶手段と、
該受付回数記憶手段に記憶された受付回数のうちで、現在の受付回数との差が所定回数以上である受付回数に対応する科目に割り当てられたコマを仮決定する手段とを備え、
前記コマ受付手段は、仮決定されていないコマのいずれかのコマの選択を受け付けるように構成してあること
を特徴とする時間割作成装置。
【請求項４】
コンピュータを用いて時間割を作成する際の時間割作成方法において、
曜日、時限及び教室情報で規定されるコマに対して科目を割り当てる第１割当処理及び、日付、時限及び教室情報で規定されるコマに対して科目を割り当てる第２割当処理のいずれかを選択するステップと、
選択された割当処理で、複数のコマから選択されたコマに対して、複数の科目から選択された科目を割り当てるステップと、
前記第１割当処理を選択している状況で、選択された前記コマに対して選択された前記科目を割り当てた場合に、未割当の各科目に対応する教室の種類及び未割当の各コマの教室情報に基づいて、教室の種類毎に未割当の各科目を割り当てることができるコマが余っているか否かを判断するステップと、
余っていないと判断した場合に、前記未割当の各科目が、割り当てができない状態にあると判断するステップと、
割り当てができない状態にあると判断した未割当の科目の数を計数するステップと、
計数した科目の数が所定数以上である場合に、前記第１割当処理から前記第２割当処理への切替を促す情報を出力するステップと
を含むことを特徴とする時間割作成方法。
【請求項５】
コンピュータに、時間割を作成させるためのコンピュータプログラムにおいて、
コンピュータに、
曜日、時限及び教室情報で規定されるコマに対して科目を割り当てる第１割当処理及び、日付、時限及び教室情報で規定されるコマに対して科目を割り当てる第２割当処理のいずれかを選択するステップと、
選択された割当処理で、複数のコマから選択されたコマに対して、複数の科目から選択された科目を割り当てるステップと、
前記第１割当処理を選択している状況で、選択された前記コマに対して選択された前記科目を割り当てた場合に、未割当の各科目に対応する教室の種類及び未割当の各コマの教室情報に基づいて、教室の種類毎に未割当の各科目を割り当てることができるコマが余っているか否かを判断するステップと、
余っていないと判断した場合に、前記未割当の各科目が、割り当てができない状態にあると判断するステップと、
割り当てができない状態にあると判断した未割当の科目の数を計数するステップと、
計数した科目の数が所定数以上である場合に、前記第１割当処理から前記第２割当処理への切替を促す情報を出力するステップと
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時間割の各コマに対して科目を割り当てて時間割を作成する時間割作成装置、時間割作成方法及び前記時間割作成装置をコンピュータによって実現するためのコンピュータプログラムに関する。
【背景技術】
【０００２】
従来では、週間の時間割を作成する場合、作成者が、曜日・時限・教室によって規定される各コマに対して各科目を手作業で割り当てていた。また、大学は一般的に複数の学部・学科・専攻を有しており、開講科目数が多いため、多くの大学では、時間割作成のエキスパートが、例えば、同一曜日・同一時限における同一教室の重複使用の回避、同一専攻、同一回生又は同一クラスにおける科目の同一コマへの重複割り当ての回避、各教員の出講希望日等の制約条件を参照し、また教員と交渉して調整を図る等しながら各科目をそれぞれのコマに割り当てて時間割を作成していた。
【０００３】
しかし、エキスパートが時間割を作成する場合でも、同一曜日・同一時限に同一教員の科目が重複割り当てされた状況、同一曜日・同一時限・同一教室に複数の科目が重複割り当てされた状況等が発生する可能性は高い。このような状況を解消するためには、既にコマに割り当てられている科目を再度別のコマに割り当て直す等の試行錯誤を繰り返す必要があるが、最終的にどのコマにも割り当てできなかった科目が残る可能性はある。また、最終的にどのコマにも割り当てできなかった科目が残ってしまった場合、これを解決することは困難であり、このような科目については、制約条件を無視して無理やり各コマに割り当てていた。
【０００４】
また、同一曜日・同一時限に同一教員の科目が重複割り当てされた状況、同一曜日・同一時限・同一教室に複数の科目が重複割り当てされた状況等の発生を把握するために、作成した時間割の完成度を検証する必要がある。しかし、検証に用いる比較対象として複数パターンの時間割を作成することは困難であり、完成度の検証は実質的に不可能であった。
【０００５】
従って、このような時間割作成を自動で行なう装置を構築する試みが行なわれてきた（例えば、特許文献１参照）。時間割を自動で作成する装置は、時間割を作成する際の各種の制約条件を予め登録しておき、この制約条件を満たすような時間割を自動で作成する。よって、時間割を作成する際に必要な高度な技術を有しない作成者によっても時間割を作成することができ、また時間割作成に要する時間を短縮することができるので、複数パターンの時間割を作成して各時間割の完成度を検証することも可能となる。
【特許文献１】特許第３３３３９０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上述したように、時間割を自動で作成する装置では、複雑で多岐にわたる制約条件を完全に網羅することは困難である上、制約条件を完全に網羅した場合でも、制約条件が多過ぎると、制約条件同士の矛盾発生等によって自動で割り当てできる科目数が減るので自動割り当ての精度としては低いものにしかならないという問題を有する。一般的な大学における時間割については、自動で割り当てることができる科目数は、全科目数の１割程度であり、最終的には手作業で各コマに対する各科目の割り当てを行なっているのが現状である。
【０００７】
本発明は斯かる事情に鑑みてなされたものであり、その目的とするところは、手作業によって時間割を作成する際の効率を向上させる時間割作成装置、時間割作成方法及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本時間割作成装置の特徴は、曜日、時限及び教室情報で規定されるコマに対して科目を割り当てる第１割当処理と、日付、時限及び教室情報で規定されるコマに対して科目を割り当てる第２割当処理とを選択できるように構成されている点にある。また、本時間割作成装置の特徴は、選択された第１割当処理又は第２割当処理に対して、割り当て対象として複数の科目から選択された科目の選択と、この科目を割り当てるコマの選択とを受け付け、選択されたコマに対して、選択された科目を割り当てることによって時間割を作成する点にある。
【０００９】
本時間割作成装置によれば、曜日、時限及び教室情報で規定されるコマに対して科目を割り当てる第１割当処理と、日付、時限及び教室情報で規定されるコマに対して科目を割り当てる第２割当処理とを切り替え、それぞれの割当処理によって各コマに各科目を割り当てることが可能である。
【発明の効果】
【００１０】
本時間割作成装置では、第１割当処理を行なうことにより、年間、半期（前期・後期）又は学期（１学期・２学期・３学期）等の所定の期間において、同一曜日・同一時限・同一教室の各コマに対する科目の割り当てができる。また、本時間割作成装置では、第２割当処理を行なうことにより、曜日、時限又は教室が異なる各コマに対する科目の割り当てができる。更に、本時間割作成装置では、第１割当処理及び第２割当処理の切り替えが可能であり、例えば、第１割当処理において、同一曜日・同一時限・同一教室の各コマに対する科目の割り当てが行き詰まった場合、又は行き詰まる可能性がある場合等に第２割当処理に切り替えて日付単位での割当処理を行なうことにより、確実に各科目を各コマに割り当てることができる。
【００１１】
よって、第１割当処理によっては適切なコマに割り当てることが困難な科目であっても、第２割当処理によって適切なコマに割り当てることが可能となる。具体的には、通常であれば週に１時限の授業を割り当てるところを、例えば週に複数時限の授業を割り当てる等の調整を行なうことが可能となり、同一曜日・同一時限・同一教室の各コマに対する重複割り当てを回避しつつ、それぞれの科目に必要な授業回数を割り当てることができる。
【００１２】
これにより、自動で時間割を作成する装置を用いてある程度まで作成した時間割を手作業で完成させる際に、第１割当処理と第２割当処理とを適宜切り替えて利用することによって、手作業での時間割作成処理を効率よく行なうことができる。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明に係る時間割作成装置をその実施形態を示す図面に基づいて詳述する。図１は本発明に係る時間割作成装置の構成を示すブロック図である。本実施形態の時間割作成装置１０は、本発明に係るコンピュータプログラムを例えば公知のパーソナルコンピュータに読み取らせて実行させることによって、本発明の時間割作成装置の機能を実現する。なお、専用の装置によって本実施形態の時間割作成装置１０を構成するようにしてもよい。
【００１４】
本実施形態の時間割作成装置１０は、制御部１、Read Only Memory（ＲＯＭ）２、Random Access Memory（ＲＡＭ）３、Hard Disk Drive（ＨＤＤ）４、操作部５、表示部６等を備え、これらのハードウェア各部はそれぞれバス１ａを介して相互に接続されている。
【００１５】
制御部１は、Central Processing Unit（ＣＰＵ）又はMicro Processor Unit（ＭＰＵ）等であり、ＲＯＭ２又はＨＤＤ４に予め格納されている制御プログラムを適宜ＲＡＭ３に読み出して実行すると共に、上述したハードウェア各部の動作を制御する。ＲＯＭ２は、時間割作成装置１０を本発明の時間割作成装置として動作させるために必要な種々の制御プログラムを予め格納している。ＲＡＭ３はＳＲＡＭ又はフラッシュメモリ等であり、制御部１による制御プログラムの実行時に発生する種々のデータを一時的に記憶する。
【００１６】
ＨＤＤ４は大容量の記憶装置である。ＨＤＤ４は、時間割作成装置１０を本発明の時間割作成装置として動作させるために必要な種々の制御プログラム、時間割作成装置１０のユーザに対して各種の情報を通知するための画面情報等を格納する。具体的には、ＨＤＤ４は、時間割作成処理プログラム、図２（ａ）に示すような教室情報テーブル４ａ、図２（ｂ）に示すような教員情報テーブル４ｂ、図２（ｃ）に示すような科目情報テーブル４ｃ、図３に示すような操作情報テーブル４ｄ、図４に示すような時間割情報テーブル４ｅ等を格納する。
【００１７】
操作部５は、マウス及びキーボード等であり、ユーザが時間割作成装置１０を操作するために必要な各種の操作キーを備えている。ユーザにより各操作キーが操作された場合、操作部５は操作された操作キーに対応した制御信号を制御部１へ送出し、制御部１は操作部５から取得した制御信号に対応した処理を実行する。表示部６は、液晶ディスプレイ又はCathode Ray Tube（ＣＲＴ）ディスプレイ等であり、制御部１からの指示に従って、時間割作成装置１０の動作状態、操作部５を介して入力された情報、ユーザに対して通知すべき情報等を表示する。
【００１８】
図２は各テーブル４ａ，４ｂ，４ｃの登録内容を示す模式図である。教室情報テーブル４ａは、図２（ａ）に示すように、各教室毎に、それぞれの教室に割り当てられた教室コード、教室名、種類等を含む教室情報が登録されている。教室の種類の欄には、各教室が講義室（大講義室又は小講義室）であるか、所定の器具が設置してある演習室であるか、コンピュータが設置してあるコンピュータ室であるか、運動場又は体育館であるか等を示す情報が登録される。
【００１９】
教室情報テーブル４ａの登録内容は、新たに利用可能となった教室ができた場合、又は利用可能であった教室が利用できなくなった場合に、各教室の管理を行なう担当者、時間割の作成を行なう作成者等が操作部５を介して教室情報を入力する都度、制御部１によって登録又は削除される。なお、利用可能であった教室が利用できなくなった場合に、教室情報テーブル４ａから教室情報を削除する構成のほかに、教室情報テーブル４ａに登録してある各教室の教室情報に、利用できないことを示す情報を追加登録するようにしてもよい。
【００２０】
教員情報テーブル４ｂは、図２（ｂ）に示すように、各教員毎に、それぞれの教員に割り当てられた教員コード、氏名、その他の情報等を含む教員情報が登録されている。教員情報テーブル４ｂの登録内容は、科目を担当する教員が新たに追加された場合、教員の管理を行なう担当者、時間割の作成を行なう作成者等が操作部５を介して教員情報を入力する都度、制御部１によって登録される。
【００２１】
科目情報テーブル（科目情報記憶手段）４ｃには、図２（ｃ）に示すように、各科目毎に、それぞれの科目に割り当てられた科目コード、科目名、種類、教室コード、教員コード、教員の出講希望情報等を含む科目情報（科目に関する情報）が登録されている。科目の種類の欄には、各科目が講義であるのか、演習であるのか、体育であるのか等を示す情報が登録される。教室コードの欄には、各科目が講義であるのか、演習であるのか、体育であるのか等に対応して各科目の授業が可能な教室の教室コードが登録される。なお、教室コードの欄には教室コードだけでなく、例えば教室の種類を登録しておいてもよく、授業可能な教室が複数ある場合には複数の教室コードを登録しておいてもよい。
【００２２】
科目情報テーブル４ｃの教員コードの欄には、各科目の担当教員が複数いる場合には複数の教員の教員コードが登録される。出講希望情報の欄には、各科目の担当教員が希望する希望日（曜日及び／又は時限）が登録される。なお、出講希望情報の欄には、担当教員が複数の希望日のいずれかを希望する場合には複数の希望日が登録される。科目情報テーブル４ｃの登録内容は、各科目の担当教員が決定した場合、各担当教員の出講希望情報を得られた場合に、時間割の作成を行なう作成者等が操作部５を介して科目情報を入力する都度、制御部１によって登録される。
【００２３】
図３は操作情報テーブル４ｄの登録内容を示す模式図である。操作情報テーブル４ｄは、図３に示すように、時間割を作成する際のユーザ（作成者、担当者）の操作毎に、操作回数、科目コード、コマ情報、試行錯誤回数、最終操作順番、行き詰まり科目数等が登録されている。操作情報テーブル４ｄの登録内容は、制御部１が時間割作成処理を実行し、後述する曜日割当モードでの割当処理を実行しているときに、ユーザが時間割を作成する際に必要な操作を行なう都度、制御部１によって登録又は更新される。
【００２４】
操作情報テーブル４ｄの科目コードの欄には、曜日割当モードで時間割を作成する際にユーザが選択した科目の科目コードが登録され、コマ情報の欄には、ユーザが選択したコマの情報として、曜日、時限及び教室の情報が登録される。試行錯誤回数の欄には、各科目がユーザによって初めて選択された場合、即ち、各科目に関する情報が操作情報テーブル４ｄに登録された場合は、試行錯誤回数「１」が登録される。また、各科目がユーザによって複数回選択された場合、その都度、試行錯誤回数の欄に登録された試行錯誤回数に「１」が加算されて更新される。
【００２５】
操作情報テーブル４ｄの最終操作順番の欄には、各科目が、時間割作成処理を開始してから何番目の操作によって割り当てられたかを示す順番（番号）が登録される。行き詰まり科目数の欄には、曜日割当モードで時間割を作成するためにユーザが任意の科目及びコマを選択する都度、この時点でどのコマにも割り当てができない状態にある科目の数を制御部１によって計数されて登録される。
【００２６】
図４は時間割情報テーブル４ｅの登録内容を示す模式図である。時間割情報テーブル４ｅは、図４に示すように、日付、時限及び教室コードに対応させて、科目コード及び仮決定状態等が登録されている。時間割情報テーブル４ｅの日付の欄、時限の欄及び教室コードの欄には予め各情報が登録されており、科目コードの欄及び仮決定状態の欄には、時間割作成装置１０が時間割作成処理を行なった場合に各情報が逐次登録される。なお、仮決定状態の欄には、日付、時限及び教室コードによって規定される各コマに対して、科目コードの欄に登録された各科目の割り当てが仮決定された場合に、その旨をしめす情報として「仮決定」が登録される。
【００２７】
以下に、上述した構成の時間割作成装置１０が行なう時間割の作成処理について説明する。なお、以下では、各科目の授業を週に１時限（１コマ）ずつ割り当てて時間割を作成する構成を例に説明するが、例えば任意の科目の授業を週に２時限（２コマ）割り当てる場合、２コマのそれぞれに同一科目を割り当てればよい。即ち、科目「英語」の授業を週に３コマ割り当てる場合、例えば、月曜日・１時限・Ａ教室のコマに科目「英語」を割り当て、水曜日・１時限・Ａ教室のコマに科目「英語」を割り当て、金曜日・１時限・Ａ教室のコマに科目「英語」を割り当てればよい。
【００２８】
図５は表示画面の構成を示す模式図である。時間割の作成処理を実行したいユーザは、操作部５を操作することによって、ＨＤＤ４に格納されている時間割作成処理プログラムを制御部１に実行させる。制御部１は、時間割作成処理プログラムをＨＤＤ４からＲＡＭ３に読み出して順次実行し、図５に示す表示画面を表示部６に表示させる。
【００２９】
図５に示す表示画面は、曜日割当モードでの割当処理（第１割当処理）を行なう際の曜日割当モード画面５０である。曜日割当モード画面５０は、割当対象の科目を選択するための科目表示欄５１、割当対象のコマを選択するためのコマ表示欄５２，５２…等を表示する。なお、コマ表示欄５２，５２…は、教室毎に１週間分の時間割表を表示するように構成してあり、コマ表示欄５２，５２…の各画面を切り替えることにより、各教室毎の時間割表を最前面に表示させることができる。
【００３０】
なお、曜日割当モードでの割当処理における割当対象のコマは、曜日、時限及び教室によって規定される。また、曜日割当モード画面５０は、図８に示す表示画面（日付割当モード画面８０）へ切り替えるための「日付割当モードへ移行」ボタン、時間割の作成処理を終了するためのＯＫボタンを表示する。
【００３１】
曜日割当モード画面５０において、科目表示欄５１には、科目情報テーブル４ｃに登録されている全ての科目毎に、科目名、教員の氏名、試行錯誤回数（ｐ）、最終操作順番（ｑ）が表示されている。なお、各科目の試行錯誤回数及び最終操作順番は、各科目が割当処理を行われていない場合（未割当の状態である場合）には「p=0,q=0」が表示され、各科目が既に割当処理を行なわれている場合には、操作情報テーブル４ｄに登録されている試行錯誤回数及び最終操作順番が表示される。
【００３２】
ユーザは、操作部５を操作することによって、科目表示欄５１に表示された任意の科目を選択することができる。ユーザが、科目表示欄５１に表示された任意の科目を選択した場合、制御部１は、科目表示欄５１に表示された任意の科目の選択を受け付ける科目受付手段として動作し、選択された科目に応じたコマ表示欄５２の表示情報を生成して表示部６に表示させる。具体的には、制御部１は、選択された科目の科目情報を科目情報テーブル４ｃから読み出し、読み出した科目情報の教室コードの教室に対するコマ表示欄５２を最前面に表示させる。
【００３３】
コマ表示欄５２には、各コマに対して既に割り当てられている科目が表示されており、図５に示したコマ表示欄５２は、Ａ０１教室に対する火曜日の１時限に科目「物理Ｉ」が既に割り当てられている状態を示している。なお、科目表示欄５１を介して選択された科目に対する教室コードが科目情報テーブル４ｃに複数登録されている場合、制御部１は、登録されているそれぞれの教室コードの教室に対するコマ表示欄５２を最前面から順に表示すればよい。
【００３４】
コマ表示欄５２は、科目表示欄５１を介して選択された科目に対して割り当てることができるコマと、割り当てることができないコマとを区別できるように、各コマを表示する。例えば、選択された科目の教員が担当する他の科目が、最前面に表示されたコマ表示欄５２の教室以外の教室のコマに対して既に割り当てられている場合、最前面に表示されたコマ表示欄５２においては、当該コマを選択できないように表示する。これにより、同一曜日・同一時限において、同一教員による複数の科目を異なる教室に重複割り当てすることを回避することができる。
【００３５】
また、コマ表示欄５２は、例えば１年間、半期間、学期間等の所定期間における全ての同一曜日・同一時限・同一教室のコマについて、科目を割り当てることができるコマのみを選択できるように表示する。例えば、2008年4月7日（月）のみに対して１時限・Ａ０１教室に科目Ａが割り当てられた場合であっても、Ａ０１教室に対応するコマ表示欄５２は、月曜日・１時限のコマを選択できないように表示する。これにより、各コマに対する科目の重複割り当てを確実に回避することができる。
【００３６】
また、制御部１は、コマ表示欄５２を表示させる際に、科目表示欄５１を介して選択された科目に対する教員の出講希望情報を科目情報テーブル４ｃから読み出し、読み出した出講希望情報に基づいて、担当教員が希望しているコマがどのコマであるかを明確にするように各コマを表示させてもよい。この場合、時間割を作成する作成者は、選択が可能な複数のコマからより適切なコマを効率よく選択することができる。
【００３７】
ユーザは、操作部５を操作することによって、コマ表示欄５２に、選択できるように表示されたコマから任意のコマを選択することができる。ユーザが任意のコマを選択した場合、制御部１は、コマ表示欄５２に表示された任意のコマの選択を受け付けるコマ受付手段として動作する。制御部１は、曜日割当モード画面５０において、科目表示欄５１から任意の科目が選択され、コマ表示欄５２から任意のコマが選択された場合、選択されたコマに対して、選択された科目を割り当てる割当手段として動作する。具体的には、制御部１は、操作情報テーブル４ｄ及び時間割情報テーブル４ｅの登録内容を更新する。
【００３８】
以下に、制御部１による操作情報テーブル４ｄの登録処理について説明する。図６は操作情報テーブル４ｄの登録処理を説明するための模式図である。なお、制御部１は、曜日割当モードでの割当処理の実行中に、ユーザによって任意の科目及びコマが選択される都度、ユーザの操作回数（受付回数）をカウントしてＲＡＭ３に記憶している。
【００３９】
制御部１は、科目表示欄５１から任意の科目が選択され、コマ表示欄５２から任意のコマが選択された場合、選択された科目の科目コードが既に操作情報テーブル４ｄに登録されているか否かを判断する。登録されていないと判断した場合、制御部１は、この時点の操作回数、ユーザによって選択された科目の科目コード及びコマ情報を操作情報テーブル４ｄの対応する欄にそれぞれ登録する。また、制御部１は、操作情報テーブル４ｄの試行錯誤回数の欄に「１」を登録し、最終操作順番の欄にこの時点の操作回数を登録する。
【００４０】
これにより、制御部１は、曜日割当モードでの割当処理を実行されている状況で、曜日割当モード画面５０の科目表示欄５１を介して各科目が選択された場合に、科目毎に、選択された回数（試行錯誤回数）を計数する選択回数計数手段として動作し、計数した回数を操作情報テーブル４ｄに登録させる。また、操作情報テーブル４ｄは、曜日割当モードでの割当処理を実行されている状況で、曜日割当モード画面５０の科目表示欄５１を介して選択された各科目が、ユーザが何回目の操作によって選択したのかを示す操作回数（受付回数）を逐次記憶する受付回数記憶手段として動作する。
【００４１】
更に、制御部１は、この時点で、まだコマを割り当てられていない科目（未割当の科目）のそれぞれについて、割り当てできない状態（行き詰まり状態）にあるか否かを判断する。制御部１は、行き詰まり状態にある未割当の科目の数を計数する計数手段として動作し、計数した行き詰まり科目数を、操作情報テーブル４ｄの行き詰まり科目数の欄に登録する。図６（ａ）には、ユーザが１回目の操作において、火曜日・１時限・Ａ０１教室のコマに科目コード1001の科目を割り当てた場合に操作情報テーブル４ｄに登録される操作情報を示している。
【００４２】
なお、未割当の科目のそれぞれが行き詰まり状態にあるか否かを判断する処理としては、例えば、未割当の科目に対して科目情報テーブル４ｃに登録されている教室コード（又は教室の種類）と、未割当のコマの教室情報とに基づいて、未割当の科目に割り当てることができるコマがあるか否かを判断する。より具体的には、各教室（教室コード又は教室の種類）毎に、未割当の各科目を割り当てることができるコマが余っているか否かを判断し、余っていない場合、この科目は行き詰まり状態であると判断する。また、各教員毎に、未割当の各科目を割り当てることができるコマが余っているか否かを判断し、余っていない場合、この科目は行き詰まり状態であると判断する。
【００４３】
制御部１は、曜日割当モード画面５０の科目表示欄５１を介して選択された科目の科目コードが既に操作情報テーブル４ｄに登録されていると判断した場合、既に登録されている科目コードに対応させて、この時点の操作回数、ユーザによって選択されたコマのコマ情報を操作情報テーブル４ｄの対応する欄にそれぞれ上書き（更新）する。また、制御部１は、操作情報テーブル４ｄの試行錯誤回数の欄に登録されている試行錯誤回数に「１」を加算して更新し、最終操作順番の欄に登録されている最終操作順番を、この時点の操作回数に更新する。
【００４４】
また、制御部１は、この時点での未割当の科目のそれぞれについて、行き詰まり状態にあるか否かを判断し、行き詰まり状態にある未割当の科目の数を計数し、操作情報テーブル４ｄの行き詰まり科目数の欄に登録されている行き詰まり科目数を更新する。
【００４５】
図６（ｂ）には、ユーザが１回目の操作において、火曜日・１時限・Ａ０１教室のコマに科目コード1001の科目を割り当て、２回目の操作において、火曜日・２時限・Ａ０２教室のコマに科目コード1002の科目を割り当てた場合に操作情報テーブル４ｄに登録される操作情報を示している。図６（ｂ）に示した操作情報では、２回目の操作でユーザによって選択された科目（科目コードが1002の科目）は、初めて選択された科目であるので、試行錯誤回数の欄には「１」が登録され、この時点での操作回数が２回であるので、最終操作順番の欄には「２」が登録されている。なお、制御部１が、この時点での行き詰まり科目はないと判断したので、行き詰まり科目数の欄には「０」が登録されている。
【００４６】
図６（ｃ）には、ユーザが１回目の操作において、火曜日・１時限・Ａ０１教室のコマに科目コード1001の科目を割り当て、２回目の操作において、火曜日・２時限・Ａ０２教室のコマに科目コード1002の科目を割り当て、３回目の操作において、金曜日・３時限・Ｚ１０教室のコマに科目コード1003を割り当てた場合に操作情報テーブル４ｄに登録される操作情報を示している。図６（ｃ）に示した操作情報では、３回目の操作でユーザによって選択された科目（科目コードが1003の科目）は、初めて選択された科目であるので、試行錯誤回数の欄には「１」が登録され、この時点での操作回数が３回であるので、最終操作順番の欄には「３」が登録されている。なお、制御部１が、この時点での行き詰まり科目はないと判断したので、行き詰まり科目数の欄には「０」が登録されている。
【００４７】
図６（ｄ）には、ユーザが１回目の操作において、火曜日・１時限・Ａ０１教室のコマに科目コード1001の科目を割り当て、２回目の操作において、火曜日・２時限・Ａ０２教室のコマに科目コード1002の科目を割り当て、３回目の操作において、金曜日・３時限・Ｚ１０教室のコマに科目コード1003を割り当て、４回目の操作において、水曜日・２時限・Ａ０２教室のコマに科目コード1002の科目を割り当てた場合に操作情報テーブル４ｄに登録される操作情報を示している。即ち、２回目の操作で火曜日・２時限・Ａ０２教室のコマに割り当てた科目コード1002の科目を、４回目の操作で水曜日・２時限・Ａ０２教室のコマに割り当てなおした場合の操作情報を示している。
【００４８】
図６（ｄ）に示した操作情報では、４回目の操作でユーザによって選択された科目（科目コードが1002の科目）は、２回選択されているので、科目コード1002に対応する試行錯誤回数に１が加算されて「２」に更新され、この時点での操作回数が４回であるので、科目コード1002に対応する最終操作順番は「４」に更新される。なお、制御部１が、この時点での行き詰まり科目はないと判断したので、行き詰まり科目数の欄には「０」が登録されている。
【００４９】
上述したように、制御部１は、ユーザの操作に基づく操作情報を操作情報テーブル４ｄに登録した場合、操作情報テーブル４ｄに登録した操作情報のコマ情報が示すコマに対応する日付、時限及び教室コードに対応させて、時間割情報テーブル４ｅの科目コードの欄に、操作情報の科目コードを登録する。
【００５０】
従って、図５に示した曜日割当モード画面５０を介して割当対象の科目及びコマが選択された場合、時間割情報テーブル４ｅにおいて、同一曜日の全ての日付、同一時限及び同一教室に対応して同一科目コードが登録される。なお、この時点では、制御部１は、時間割情報テーブル４ｅの仮決定情報の欄には何も登録しない。
【００５１】
また、制御部１は、操作情報テーブル４ｄに対して上述した操作情報の登録を完了した場合、この時点（現在）での操作回数と、操作情報テーブル４ｄに登録されている操作情報のそれぞれの最終操作順番とを比較する。そして、制御部１は、その差が所定値以上である操作情報の科目について、操作情報が示すコマ情報に対する割り当てを仮決定する。なお、仮決定された場合、各科目に対して割り当てられたコマの変更ができなくなる。
【００５２】
具体的には、制御部１は、操作情報テーブル４ｄに登録されている各操作情報の最終操作順番と、現在の操作回数との差が所定値以上であると判断した場合、その操作情報の科目コード及びコマ情報を操作情報テーブル４ｄから読み出す。そして、制御部１は、読み出したコマ情報が示すコマ（日付、時限及び教室コード）及び、読み出した科目コードに対応する仮決定状態として、「仮決定」を時間割情報テーブル４ｅに登録する。
【００５３】
従って、制御部１は、時間割情報テーブル４ｅの登録内容に基づいて、図５に示した曜日割当モード画面５０のコマ表示欄５２に表示させる情報を生成する際に、仮決定状態の欄に「仮決定」が登録されたコマについては、ユーザが選択できないように表示させる情報を生成する。これにより、割り当てが仮決定されたコマに対して、他の科目を重複して割り当てることを回避することができ、ユーザは、仮決定されていないコマのいずれかを選択すればよい。
【００５４】
また、制御部１は、操作情報テーブル４ｄに対して上述した操作情報の登録を完了した場合、操作情報テーブル４ｄに登録した操作情報の行き詰まり科目数が所定数よりも多いか否かを判断する。制御部１は、行き詰まり科目数が所定数よりも多くないと判断した場合、そのまま曜日割当モードでの割当処理を継続する。一方、制御部１は、行き詰まり科目数が所定数よりも多いと判断した場合、図７に示すように、日付、時限及び教室によって規定されるコマに対して科目を割り当てる日付割当モードへの移行を促すメッセージを、曜日割当モード画面５０に重ね合わせて表示部６に表示（出力）させる。
【００５５】
図７は表示画面の構成を示す模式図である。図７に示す表示画面は、曜日割当モードでの割当処理を継続することは困難であることと、日付割当モードでの割当処理への切り替えをすすめることとを表示している。また、図７に示す表示画面は、曜日割当モードでの割当処理を継続するための「曜日割当モードを継続」ボタンと、日付割当モードへ移行するための「日付割当モードへ移行」ボタンとを表示する。
【００５６】
行き詰まり科目数が多い場合、このまま曜日割当モードでの割当処理を継続しても、行き詰まり科目数が増加するだけで、効率よく未割当の科目の割当処理を行なうことはできない。一方で、曜日割当モードで再度割当処理を実行させたいという状況もあり、ユーザは、図７に示すようなメッセージが表示された場合、「曜日割当モードを継続」ボタン又は「日付割当モードへ移行」ボタンのいずれかを選択する。
【００５７】
図７に示す表示画面において、ユーザが「曜日割当モードを継続」ボタンを選択した場合、制御部１は、図５に示す曜日割当モード画面５０に表示を戻し、科目表示欄５１及びコマ表示欄５２を介してユーザが任意の科目及びコマを選択するまで待機する。
【００５８】
図７に示す表示画面において、ユーザが「日付割当モードへ移行」ボタンを選択した場合、制御部（選択手段）１は、日付割当モードでの割当処理（第２割当処理）を選択し、図８に示す表示画面を表示部６に表示させる。図８は表示画面の構成を示す模式図である。図８に示す表示画面は、日付割当モードでの割当処理（第２割当処理）を行なう際の日付割当モード画面８０である。なお、図５に示した曜日割当モード画面５０において、ユーザが、「日付割当モードへ移行」ボタンを操作した場合にも、制御部１は、図８に示す表示画面を表示部６に表示させる。
【００５９】
日付割当モード画面８０は、割当対象の科目を選択するための科目表示欄８１、割当対象のコマを選択するためのコマ表示欄８２，８２…等を表示する。なお、コマ表示欄８２，８２…は、教室毎に時間割表を表示するように構成してあり、コマ表示欄８２，８２…の各画面を切り替えることにより、各教室毎の時間割表を最前面に表示させることができる。
【００６０】
なお、日付割当モードでの割当処理における割当対象のコマは、日付、時限及び教室によって規定される。また、日付割当モード画面８０は、図５に示す表示画面（曜日割当モード画面５０）へ切り替えるための「曜日割当モードへ移行」ボタン、時間割の作成処理を終了するためのＯＫボタンを表示する。
【００６１】
日付割当モード画面８０において、科目表示欄８１には、曜日割当モード画面５０の科目表示欄５１と同様に、科目情報テーブル４ｃに登録されている全ての科目毎に、科目名、教員の氏名、試行錯誤回数（ｐ）、最終操作順番（ｑ）が表示されている。なお、表示された試行錯誤回数及び最終操作順番によって、各科目に対する割当処理が何回実行されたかを知ることができる。しかし、日付割当モードでの割当処理では、試行錯誤回数及び最終操作順番等は必要ないので、日付割当モード画面８０の科目表示欄８１には、各科目の科目名及び教員の氏名のみが表示されていればよい。
【００６２】
ユーザは、操作部５を操作することによって、科目表示欄８１に表示された任意の科目を選択することができる。ユーザが、科目表示欄８１に表示された任意の科目を選択した場合、制御部１は、選択された科目に応じたコマ表示欄８２の表示情報を生成して表示部６に表示させる。具体的には、制御部１は、選択された科目の科目情報を科目情報テーブル４ｃから読み出し、読み出した科目情報の教室コードの教室に対するコマ表示欄８２を最前面に表示させる。コマ表示欄８２には、各コマに対して既に割り当てられている科目が表示されており、図８に示したコマ表示欄８２は、Ａ０１教室に対する日付「４／８（火）」の１時限に科目「物理Ｉ」が既に割り当てられている状態を示している。
【００６３】
なお、科目表示欄８１を介して選択された科目に対する教室コードが科目情報テーブル４ｃに複数登録されている場合、制御部１は、登録されているそれぞれの教室コードの教室に対するコマ表示欄８２を最前面から順に表示すればよい。
【００６４】
コマ表示欄８２は、科目表示欄８１を介して選択された科目に対して割り当てることができるコマと、割り当てることができないコマとを区別できるように、各コマを表示する。例えば、選択された科目の教員が担当する他の科目が、最前面に表示されたコマ表示欄８２の教室以外の教室のコマに対して既に割り当てられている場合、最前面に表示されたコマ表示欄８２においては、当該コマを選択できないように表示する。これにより、同一日付・同一時限において、同一教員による複数の科目を異なる教室に重複割り当てすることを回避することができる。
【００６５】
また、制御部１は、コマ表示欄８２を表示させる際に、科目表示欄８１を介して選択された科目に対する教員の出講希望情報を科目情報テーブル４ｃから読み出し、読み出した出講希望情報に基づいて、担当教員が希望しているコマがどのコマであるかを明確にするように各コマを表示させてもよい。この場合、時間割を作成する作成者は、選択が可能な複数のコマからより適切なコマを効率よく選択することができる。
【００６６】
ユーザは、操作部５を操作することによって、コマ表示欄８２に、選択できるように表示されたコマから任意のコマを選択することができる。日付割当モード画面８０において、科目表示欄８１から任意の科目が選択され、コマ表示欄８２から任意のコマが選択された場合、制御部１は、選択されたコマに対して、選択された科目を割り当てる。具体的には、制御部１は、時間割情報テーブル４ｅの登録内容を更新する。
【００６７】
なお、日付割当モード画面８０を介して選択された科目及びコマを時間割情報テーブル４ｅに登録する場合、制御部１は、時間割情報テーブル４ｅにおいて、コマ表示欄８２を介してユーザによって選択されたコマ（日付、時限及び教室コード）のそれぞれに対応する科目コードの欄に、科目表示欄８１を介してユーザによって選択された科目の科目コードを登録する。
【００６８】
図８に示す表示画面において、ユーザが「曜日割当モードへ移行」ボタンを選択した場合、制御部（選択手段）１は、曜日割当モードでの割当処理（第１割当処理）を選択し、図５に示す表示画面を表示部６に表示させる。これにより、ユーザは、曜日割当モードでの割当処理と、日付割当モードでの割当処理とを適宜切り替えて実行することにより、手作業での時間割作成処理を効率よく行なうことができる。
【００６９】
具体的には、曜日割当モードでの割当処理において各コマに対する科目の割り当てが行き詰まった場合、又は行き詰まる可能性がある場合等に日付割当モードでの割当処理に切り替えて日付単位で各コマに科目を割り当てることにより、確実に各科目を各コマに割り当てることができる。なお、日付単位で各科目を割り当てる場合、通常であれば週に１時限の授業を割り当てるところを、例えば週に複数時限の授業を割り当てる等の調整を行なうことができるので、同一コマに対する重複割り当てを回避しつつ、それぞれの科目に必要な授業回数を割り当てることができる。
【００７０】
以下に、本実施形態の時間割作成装置１０による時間割作成処理についてフローチャートに基づいて説明する。図９乃至図１１は時間割作成処理の手順を示すフローチャートである。なお、以下の処理は、時間割作成装置１０のＲＯＭ２又はＨＤＤ４に格納されている各種の制御プログラムに従って制御部１によって実行される。
【００７１】
時間割の作成を行なうユーザ（作成者）が、操作部５を操作することによって、時間割作成装置１０の制御部１に時間割作成処理を実行させた場合、制御部１は、ＲＡＭ２に記憶してある操作回数を０に初期化する（Ｓ１）。なお、操作回数は、曜日割当モードでの割当処理によって時間割を作成する際にユーザが任意の科目及びコマを選択した回数を示す。
【００７２】
制御部１は、図５に示す曜日割当モード画面５０を表示部６に表示させる（Ｓ２）。曜日割当モード画面５０の科目表示欄５１に表示された任意の科目をユーザが選択した場合、制御部１は、ユーザによって選択された割当対象の科目の選択を受け付ける（Ｓ３）。制御部１は、選択された科目に応じたコマ表示欄５２の表示情報を生成して表示部６に表示させる（Ｓ４）。
【００７３】
曜日割当モード画面５０のコマ表示欄５２に表示された任意のコマをユーザが選択した場合、制御部１は、ユーザによって選択された割当対象のコマの選択を受け付ける（Ｓ５）。制御部１は、ＲＡＭ２に記憶してある操作回数に１を加算する（Ｓ６）。また制御部１は、この時点で、未割当の科目のそれぞれについて、行き詰まり状態にあるか否かを判断し、行き詰まり状態にある未割当の科目の数（行き詰まり科目数）を計数する（Ｓ７）。
【００７４】
制御部１は、ステップＳ３で選択を受け付けた割当対象の科目及びステップＳ５で選択を受け付けた割当対象のコマに基づいて、このような選択を行なったユーザの操作の操作情報を操作情報テーブル４ｄに登録する（Ｓ８）。具体的には、制御部１は、ステップＳ３で選択を受け付けた科目の科目コードが既に操作情報テーブル４ｄに登録されているか否かを判断する。
【００７５】
そして、登録されていないと判断した場合、制御部１は、この時点でＲＡＭ２に記憶してある操作回数、ステップＳ３で選択を受け付けた科目の科目コード、ステップＳ５で選択を受け付けたコマの情報を操作情報テーブル４ｄの対応する欄にそれぞれ登録する。また、制御部１は、試行錯誤回数「１」、この時点でＲＡＭ２に記憶してある操作回数、ステップＳ７で計数した行き詰まり科目数を操作情報テーブル４ｄの試行錯誤回数の欄、最終操作順番の欄、行き詰まり科目数の欄にそれぞれ登録する。
【００７６】
また、制御部１は、ステップＳ３で選択を受け付けた科目の科目コードが既に操作情報テーブル４ｄに登録されていると判断した場合、既に登録されている科目コードに対応させて、この時点でＲＡＭ２に記憶してある操作回数、ステップＳ５で選択を受け付けたコマの情報を操作情報テーブル４ｄの対応する欄にそれぞれ更新する。また、制御部１は、試行錯誤回数に１を加算して操作情報テーブル４ｄの試行錯誤回数の欄に登録する。更に、制御部１は、この時点でＲＡＭ２に記憶してある操作回数、ステップＳ７で計数した行き詰まり科目数を操作情報テーブル４ｄの最終操作順番の欄、行き詰まり科目数の欄にそれぞれ登録する。
【００７７】
次に制御部１は、時間割情報テーブル４ｅにおいて、ステップＳ５で選択を受け付けたコマが示す日付、時限及び教室コードに対応して、ステップＳ３で選択を受け付けた科目コードを登録し、時間割情報テーブル４ｅを更新する（Ｓ９）。制御部１は、操作情報テーブル４ｄ及び時間割情報テーブル４ｅを更新した場合、操作情報テーブル４ｄに登録してある操作情報のうちで、それぞれの操作情報の最終操作順番と、この時点でＲＡＭ２に記憶してある操作回数との差が所定数以上である操作情報について仮決定を実行する（Ｓ１０）。
【００７８】
具体的には、制御部１は、操作情報テーブル４ｄに登録してある操作情報のうちで、ＲＡＭ２に記憶してある操作回数との差が所定数以上の最終操作順番の操作情報の科目コード及びコマ情報を操作情報テーブル４ｄから読み出す。そして、制御部１は、読み出したコマ情報が示すコマ及び、読み出した科目コードに対応する仮決定状態として、「仮決定」を時間割情報テーブル４ｅの仮決定状態の欄に登録する。
【００７９】
制御部１は、ステップＳ７で計数した行き詰まり科目数が所定数よりも多いか否かを判断する（Ｓ１１）。制御部１は、行き詰まり科目数が所定数よりも多いと判断した場合（Ｓ１１：ＹＥＳ）、図７に示すように、日付割当モードへの移行を促すメッセージを表示部６に表示させる（Ｓ１２）。制御部１は、行き詰まり科目数が所定数よりも多くないと判断した場合（Ｓ１１：ＮＯ）、ステップＳ１２の処理をスキップする。
【００８０】
ユーザが、図７に示す表示画面において「日付割当モードへ移行」ボタンを選択した場合、又は図５に示す曜日割当モード画面５０において「日付割当モードへ移行」ボタンを選択した場合、制御部１は、日付割当モードへの移行を受け付ける。従って、制御部１は、日付割当モードへの移行を受け付けたか否かを判断する（Ｓ１３）。日付割当モードへの移行を受け付けていないと判断した場合（Ｓ１３：ＮＯ）、即ち、ユーザが図７に示す表示画面において「曜日割当モードを継続」ボタンを選択した場合、制御部１は、図５に示す曜日割当モード画面５０においてユーザがＯＫボタンを選択することによって、時間割作成処理の終了が指示されたか否かを判断する（Ｓ１４）。
【００８１】
制御部１は、時間割作成処理の終了が指示されたと判断した場合（Ｓ１４：ＹＥＳ）、上述した時間割作成処理を終了する。制御部１は、時間割作成処理の終了が指示されていないと判断した場合（Ｓ１４：ＮＯ）、ステップＳ２へ処理を戻し、図５に示す曜日割当モード画面５０を表示部６に表示させ（Ｓ２）、ステップＳ３以降の処理を繰り返す。
【００８２】
制御部１は、日付割当モードへの移行を受け付けたと判断した場合（Ｓ１３：ＹＥＳ）、図８に示す日付割当モード画面８０を表示部６に表示させる（Ｓ１５）。日付割当モード画面８０の科目表示欄８１に表示された任意の科目をユーザが選択した場合、制御部１は、ユーザによって選択された割当対象の科目の選択を受け付ける（Ｓ１６）。制御部１は、選択された科目に応じたコマ表示欄８２の表示情報を生成して表示部６に表示させる（Ｓ１７）。
【００８３】
日付割当モード画面８０のコマ表示欄８２に表示された任意のコマをユーザが選択した場合、制御部１は、ユーザによって選択された割当対象のコマの選択を受け付ける（Ｓ１８）。制御部１は、時間割情報テーブル４ｅにおいて、ステップＳ１８で選択を受け付けたコマが示す日付、時限及び教室コードに対応して、ステップＳ１６で選択を受け付けた科目コードを登録し、時間割情報テーブル４ｅを更新する（Ｓ１９）。
【００８４】
ユーザが、図８に示す日付割当モード画面８０において「曜日割当モードへ移行」ボタンを選択した場合、制御部１は、曜日割当モードへの移行を受け付ける。従って、制御部１は、曜日割当モードへの移行を受け付けたか否かを判断する（Ｓ２０）。曜日割当モードへの移行を受け付けていないと判断した場合（Ｓ２０：ＮＯ）、制御部１は、図８に示す日付割当モード画面８０においてユーザがＯＫボタンを選択することによって、時間割作成処理の終了が指示されたか否かを判断する（Ｓ２１）。
【００８５】
制御部１は、時間割作成処理の終了が指示されたと判断した場合（Ｓ２１：ＹＥＳ）、上述した時間割作成処理を終了する。制御部１は、時間割作成処理の終了が指示されていないと判断した場合（Ｓ２１：ＮＯ）、ステップＳ１５へ処理を戻し、図８に示す日付割当モード画面８０の表示を継続し（Ｓ１５）、ステップＳ１６以降の処理を繰り返す。
【００８６】
制御部１は、曜日割当モードへの移行を受け付けたと判断した場合（Ｓ２０：ＹＥＳ）、ステップＳ２へ処理を戻し、図５に示す曜日割当モード画面５０を表示部６に表示させ（Ｓ２）、ステップＳ３以降の処理を繰り返す。
【００８７】
上述したように、本実施形態の時間割作成措置１０は、図５に示す曜日割当モード画面５０を介した曜日割当モードでの割当処理と、図８に示す日付割当モード画面８０を介した日付割当モードでの割当処理とを切り替え、いずれかの割当処理によって各科目を適切なコマに割り当てることにより、各コマに対する科目の割当率及び手作業による時間割作成処理の効率を向上させることができる。
【００８８】
上述した実施形態では、行き詰まり科目数が所定数よりも多くなった場合に、曜日割当モードから日付割当モードへの移行を促すメッセージを表示部６に表示させる構成を例に説明した。これに対して、例えば、操作情報テーブル４ｄに登録されたいずれかの操作情報の試行錯誤回数が所定数よりも多くなった場合に、曜日割当モードから日付割当モードへの移行を促すメッセージを表示部６に表示させる構成としてもよい。また、日付割当モードへの移行を促すメッセージを表示部６に表示させるだけでなく、強制的に日付割当モードへ移行させるように構成してもよい。
【００８９】
上述した実施形態では、本発明に係る時間割作成装置１０を用いてはじめから時間割を作成する処理を例に説明した。しかし、時間割を自動で作成する装置を用いてある程度作成した時間割に対して、修正又は微調整等を行なう際に、本発明に係る時間割作成装置１０を用いた場合であっても、各コマに対する科目の割当率及び手作業による時間割作成処理の効率を向上させることができる。
【００９０】
上述した実施形態に関し、更に以下の付記を開示する。
【００９１】
（付記１）
時間割を作成する時間割作成装置において、
曜日、時限及び教室情報で規定されるコマに対して科目を割り当てる第１割当処理及び、日付、時限及び教室情報で規定されるコマに対して科目を割り当てる第２割当処理のいずれかを選択する選択手段と、
複数の科目のいずれかの選択を受け付ける科目受付手段と、
前記選択手段が選択した割当処理で、前記科目受付手段が選択を受け付けた科目を割り当てるコマの選択を受け付けるコマ受付手段と、
該コマ受付手段が選択を受け付けたコマに対して、前記科目受付手段が選択を受け付けた科目を割り当てる割当手段と
を備えることを特徴とする時間割作成装置。
【００９２】
（付記２）
それぞれの科目に関する情報を記憶する科目情報記憶手段と、
前記選択手段が第１割当処理を選択している状況で、前記割当手段が前記コマ受付手段が選択を受け付けたコマに対して前記科目受付手段が選択を受け付けた科目を割り当てた場合に、未割当の科目に関して前記科目情報記憶手段に記憶してある情報及び未割当のコマの情報に基づいて、割り当てができない状態にある未割当の科目の数を計数する計数手段と、
該計数手段が計数した科目の数が所定数以上である場合に、前記第１割当処理から前記第２割当処理への切替を促す情報を出力する手段と
を備えることを特徴とする付記１に記載の時間割作成装置。
【００９３】
（付記３）
前記科目情報記憶手段は、各科目に対応する教室の種類を記憶しており、
前記計数手段は、未割当の科目に対応して前記科目情報記憶手段に記憶してある教室の種類及び未割当のコマの教室情報に基づいて、未割当の科目のそれぞれが、割り当てができない状態にあるか否かを判断する手段を備え、割り当てができない状態にあると判断した未割当の科目の数を計数するように構成してあることを特徴とする付記２に記載の時間割作成装置。
【００９４】
（付記４）
前記選択手段が第１割当処理を選択している状況で、前記科目受付手段が科目の選択を受け付けた場合に、それぞれの科目毎に選択された回数を計数する選択回数計数手段と、
該選択回数計数手段が計数した回数が所定数以上である場合に、前記第１割当処理から前記第２割当処理への切替を促す情報を出力する手段と
を備えることを特徴とする付記１乃至３のいずれかひとつに記載の時間割作成装置。
【００９５】
（付記５）
前記選択手段が第１割当処理を選択している状況で、前記科目受付手段が科目の選択を受け付けた場合に、選択された科目に対応して、該科目が前記科目受付手段にて何回目に選択を受け付けたかを示す受付回数を逐次記憶する受付回数記憶手段と、
該受付回数記憶手段に記憶された受付回数のうちで、現在の受付回数との差が所定回数以上である受付回数に対応する科目に割り当てられたコマを仮決定する手段とを備え、
前記コマ受付手段は、仮決定されていないコマのいずれかのコマの選択を受け付けるように構成してあること
を特徴とする付記１乃至４のいずれかひとつに記載の時間割作成装置。
【００９６】
（付記６）
前記選択手段は、前記計数手段が計数した科目の数が所定数以上である場合に、前記第２割当処理を選択するように構成してあることを特徴とする付記２又は３に記載の時間割作成装置。
【００９７】
（付記７）
コンピュータを用いて時間割を作成する際の時間割作成方法において、
曜日、時限及び教室情報で規定されるコマに対して科目を割り当てる第１割当処理及び、日付、時限及び教室情報で規定されるコマに対して科目を割り当てる第２割当処理のいずれかを選択するステップと、
選択された割当処理で、複数のコマから選択されたコマに対して、複数の科目から選択された科目を割り当てるステップと
を含むことを特徴とする時間割作成方法。
【００９８】
（付記８）
コンピュータに、時間割を作成させるためのコンピュータプログラムにおいて、
コンピュータに、
曜日、時限及び教室情報で規定されるコマに対して科目を割り当てる第１割当処理及び、日付、時限及び教室情報で規定されるコマに対して科目を割り当てる第２割当処理のいずれかを選択するステップと、
選択された割当処理で、複数のコマから選択されたコマに対して、複数の科目から選択された科目を割り当てるステップと
を実行させるためのコンピュータプログラム。
【図面の簡単な説明】
【００９９】
【図１】本発明に係る時間割作成装置の構成を示すブロック図である。
【図２】各テーブルの登録内容を示す模式図である。
【図３】操作情報テーブルの登録内容を示す模式図である。
【図４】時間割情報テーブルの登録内容を示す模式図である。
【図５】表示画面の構成を示す模式図である。
【図６】操作情報テーブルの登録処理を説明するための模式図である。
【図７】表示画面の構成を示す模式図である。
【図８】表示画面の構成を示す模式図である。
【図９】時間割作成処理の手順を示すフローチャートである。
【図１０】時間割作成処理の手順を示すフローチャートである。
【図１１】時間割作成処理の手順を示すフローチャートである。
【符号の説明】
【０１００】
１０  時間割作成装置
１  制御部（選択手段、科目受付手段、コマ受付手段、割当手段、計数手段、選択回数計数手段）
４  ＨＤＤ
４ｃ  科目情報テーブル（科目情報記憶手段）
４ｄ  操作情報テーブル（受付回数記憶手段）
【図１】
0005067195.tif 000002
【図２】
0005067195.tif 000003
【図３】
0005067195.tif 000004
【図４】
0005067195.tif 000005
【図５】
0005067195.tif 000006
【図６】
0005067195.tif 000007
【図７】
0005067195.tif 000008
【図８】
0005067195.tif 000009
【図９】
0005067195.tif 000010
【図１０】
0005067195.tif 000011
【図１１】
0005067195.tif 000012