JPH06325038A - スケジュール作成装置 - Google Patents

スケジュール作成装置

Info

Publication number
JPH06325038A
JPH06325038A JP11296093A JP11296093A JPH06325038A JP H06325038 A JPH06325038 A JP H06325038A JP 11296093 A JP11296093 A JP 11296093A JP 11296093 A JP11296093 A JP 11296093A JP H06325038 A JPH06325038 A JP H06325038A
Authority
JP
Japan
Prior art keywords
schedule
condition
storage device
input
limit conditions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11296093A
Other languages
English (en)
Inventor
Akira Nakashige
亮 中重
Fuminari Kizawa
文成 鬼沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP11296093A priority Critical patent/JPH06325038A/ja
Publication of JPH06325038A publication Critical patent/JPH06325038A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 複数のスケジュール対象間の複雑な制約条件
を満足するスケジュールを容易に作成する。 【構成】 複雑な制約条件を簡易言語で表現した条件式
で指定する制約条件指定手段と、指定された制約条件を
解釈してスケジュール対象をスケジュール対象期間中の
時間に割り当てるスケジュール作成制御手段とを備え
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はスケジュール作成装置に
関し、特に、期日、時刻、時間割などスケジュール時間
に課せられる順序関係などの制約条件を満足するスケジ
ュールを作成するスケジュール作成装置に関するもので
ある。
【0002】
【従来の技術】時間的な順序関係の制約条件に従ってス
ケジュール対象を割り当てるという作業は、例えば、人
間の交替制勤務スケジュールの作成、工場の生産スケジ
ュールの作成、列車ダイヤの作成、輸送業務における配
車・配送計画の作成など、多種多様な分野で日常的に行
われている作業である。
【0003】従来、このような割り当て作業は専ら人手
により専門家のノウハウを用いて行われていたが、近年
コンピュータ技術の発達により機械による自動化が盛ん
に進められている。
【0004】この機械によるスケジュール作成の自動化
を実現するためには、必要な制約条件などを予め入力す
る必要があるが、この制約条件の中のスケジュール時間
を指定するためには、基本的にその順序関係を列挙する
手法を用いることになり、機械に対する入力作業が繁雑
になる。
【0005】これらの繁雑な入力作業を解決するため
に、例えば特開昭60−97428号公報に開示されて
いる技術として、スケジュールパターンと繰り返し回数
の組合せによる手法がある。
【0006】また、連続した数ケ月分の特定期日を一度
に指定する方法の公知例として、特開昭62−1431
69号公報に開示されたものがある。
【0007】さらに、特開昭62−143170号公報
においては、一定期間の曜日を一度に指定する技術が開
示されている。
【0008】
【発明が解決しようとする課題】しかしながら、前記従
来技術のスケジュール時間の入力方法は、周期的条件を
入力する作業を簡略化することのみを目的としているた
め、これ以外の時間的な制約条件はすべて列挙し入力す
るという方法であり、例えば以下のような条件が簡潔に
入力できないという問題がある。
【0009】(1)金曜日、ただし10日は除く。 (2)AはBの5日前ににスケジュールする。(関連条
件) (3)AとBは同じ日にスケジュールしてはならない。
(排他条件) 本発明の目的は、複数のスケジュール対象間の複雑な制
約条件を満足するスケジュールを容易に作成することを
可能とするスケジュール作成装置を提供することにあ
る。
【0010】
【課題を解決するための手段】前記課題を解決するため
に、本発明は、前記制約条件を簡易言語で表現した条件
式で指定する制約条件指定手段と、指定された制約条件
を解釈してスケジュール対象をスケジュール対象期間中
の時間に割り当てるスケジュール作成制御手段とを備え
るものである。
【0011】
【作用】前記手段によれば、まず、制約条件指定手段に
より、スケジュール対象の制約条件を簡易言語で表現し
た条件式で指定する。
【0012】前記スケジュール作成制御手段は、前記簡
易言語によって表現された条件式からスケジュール対象
の制約条件を解釈する。
【0013】そして、スケジュール作成制御手段は、こ
の解釈結果によりスケジュール対象をスケジュール対象
期間中の時間に割り当てる。
【0014】これにより、複数のスケジュール対象間の
制約条件が複雑であっても簡易言語で表現した条件式を
入力するだけで、最適なスケジュールが作成される。
【0015】
【実施例】以下、本発明の一実施例について図面を用い
て詳細に説明する。
【0016】なお、本実施例では、例えば複数の計算機
ジョブから成る一連の処理プログラムの実行日を、スケ
ジュール対象期間内にスケジュールする場合を想定して
説明する。
【0017】図1は本発明に係るスケジュール作成装置
の一実施例を示すブロック構成図である。
【0018】図1において、1は計算機ジョブ等のスケ
ジュール対象とそれに付随する制約条件を記憶するため
のスケジュール対象記憶装置、2は制約条件を入力する
際に必要な曜日、休日などの情報を記憶しておくための
スケジュール補助情報記憶装置、3はスケジュール作成
を行った後の結果を記憶しておくためのスケジュール結
果記憶装置である。
【0019】4は制約条件を満足するようにスケジュー
ルの作成を実行するスケジュール作成制御装置、5は制
約条件やスケジュール補助情報などを簡易言語による条
件式で入力するためのキーボードを含む入力装置、6は
制約条件やスケジュール作成結果を表示するための表示
装置および7はスケジュール結果を印刷するための印刷
装置である。
【0020】スケジュール作成制御装置4は、入力装置
5から簡易言語によって入力された条件式を受け付ける
スケジュール条件入力部41と、スケジュール条件入力
部41に入力された簡易言語による条件式を解釈するス
ケジュール条件解釈部42と、スケジュール条件解釈部
42によって解釈された制約条件に基づいてスケジュー
ル対象の割り当てを行うスケジュール割り当て決定部4
3および割り当て可能な日が存在しない場合、予め入力
した他の割り当て日にスケジュール対象を振り替える振
替スケジュール実行部44とから構成されている。
【0021】図1において、まず、スケジュール補助情
報記憶装置2には、簡易言語による制約条件の入力に用
いられる情報として、標準カレンダ設定関数により設定
される標準カレンダ情報21、この標準カレンダ情報2
1と組み合わせて使用するプリミティブ情報22、ユー
ザ独自の情報であるユーザ定義カレンダ情報23が格納
されている。
【0022】ここで、標準カレンダ情報21は、標準カ
レンダ情報設定関数により設定され、スケジュールの作
成開始時にこの関数をを呼び出すことにより、スケジュ
ール対象期間中の休日、曜日などが集合として設定され
る。
【0023】例えば、スケジュール対象期間を1992
年5月として標準カレンダ情報設定関数を呼び出すと、
簡易言語による休日を表す変数「HOLIDAY」として{5月
3日、5月4日、5月5日}が、また月曜日を表す変数「MON
DAY」として{5月4日、5月11日、5月18日、5月25日}が
設定される。他の曜日も同様に設定される。
【0024】また、プリミティブ情報22は、プリミテ
ィブ情報設定関数の集まりである。これらの関数は、標
準カレンダ情報21と組み合わせて使用するもので、例
えばプリミティブ情報設定関数のandとnotを用いて、
「(and (not HOLIDAY)MONDAY)」と入力すると、これは
「休日でない月曜日」を表している。
【0025】いま、1992年5月を対象期間としたス
ケジュールを作成する場合、スケジュール作成開始時
に、このプリミティブ情報設定関数を呼び出すと、スケ
ジュール対象期間中の「休日でない月曜日」として、
{5月11日、5月18日、5月25日}という日付の集合に展
開される。
【0026】図2にプリミティブ情報22として用意さ
れているプリミティブ情報設定関数の種類を示す。
【0027】図2において、プリミティブ情報22中の
201はプリミティブ情報設定関数の特徴、202は簡
易言語で表した名称、203は名称202の機能または
意味である。
【0028】また、プリミティブ情報設定関数の特徴2
01として、前後、最初、最後など時間的な順序に関係
する関数2001、特定の日付や区間を表す関数200
2、スケジュール日の集まりを集合として扱う集合演算
関数2003およびif文などの論理判定を表す論理判
定演算関数2004などのカテゴリーの関数を用意して
おく。
【0029】ユーザ定義カレンダ情報23はユーザ独自
の情報であり、例えば個々の事業所における営業日、第
1週に該当する週、月末日などを標準カレンダ情報21
とプリミティブ情報22とを用いて自由に設定すること
ができる。
【0030】例えば、ユーザ独自の営業日として、簡易
言語を用いて、 と定義することができる。
【0031】この例は「休日、日曜、土曜を除く勤務
日」という意味であり、スケジュール作成開始時に標準
カレンダ情報21とともに、スケジュール対象期間に対
して日付の集合として展開され「WORKING-DAY」という
変数にその集合が設定される。
【0032】以上のスケジュール補助情報記憶装置2に
格納されている各種情報を用いることにより、各スケジ
ュール対象の実行日に関する制約条件を入力する。
【0033】また、各スケジュール対象の制約条件は、
スケジュール実行時にスケジュール条件解釈部42によ
って具体的な日付の集合への条件としてチェックされ、
割り当て可能日を絞り込む条件となる。
【0034】図3は、スケジュール対象記憶装置1に格
納されているスケジュール対象としての複数の計算機ジ
ョブ一覧表31であり、複数のジョブ、例えばJob
A、JobBおよびJobCからなる一連の処理プログ
ラム「schedule−01」301などが格納され
ている。
【0035】図4は前記一連の処理プログラム「sch
edule−01」301などのスケジュール対象に対
してスケジュールを作成するための装置内部での入力フ
ォーマット40である。
【0036】この入力フォーマット40は、スケジュー
ルの作成開始時に表示装置6に適当な表示形式で表示さ
れ、ユーザは表示装置6の画面を見ながら簡易言語を使
用して制約条件を入力する。
【0037】図4の入力フォーマット40に従い、スケ
ジュール単位の名称401、スケジュール対象の組込日
402および失効日403を入力する。
【0038】また、実行期間情報404として、周期指
定4041、月指定4042および週指定4043を入
力する。
【0039】さらに、実行日情報405として、実行日
4051、実行回数4052、実行条件4053および
振替日情報4054などを入力する。
【0040】図5は入力フォーマット40に簡易言語を
用いて作成したスケジュール入力フォーマットの一例を
示す図である。
【0041】図5におけるスケジュール入力フォーマッ
ト50の意味は以下の通りである。なお、文頭の数字
は、スケジュール入力フォーマット50の入力欄を表し
ている。
【0042】501…スケジュール単位の名称はSCH
EDULE−01である。
【0043】502…このスケジュール対象をスケジュ
ール対象記憶装置1に組み込んだ日付は1992年3月
21日であり、失効予定日は、1992年9月20日で
ある。
【0044】503…スケジュール実行日の周期は2ケ
月間隔とし、6月から12月までのスケジュール対象期
間において、毎月第4週とする。
【0045】504…スケジュール実行日は前記周期
中、各週の第3営業日とする。
【0046】505…割り当てられた日に、1回実行す
る。
【0047】506…実行条件の指定なし。
【0048】507…振替日の指定なし。
【0049】図6は他のスケジュール対象との関連条
件、排他条件および振り替え条件の一例を示す図であ
る。
【0050】図5におけるスケジュール入力フォーマッ
ト50の「:cond ( )」506に図6(A)に示すよう
な他のスケジュール対象との関連条件を簡易言語を用い
て入力する。
【0051】図6(A)の例では、「SCHEDULE-03が今
日から3日以前にスケジュールされていれば」という意
味の関連条件を表している。
【0052】また、図6(B)のような他のスケジュー
ル対象との排他条件についても同様に、図5のスケジュ
ール入力フォーマット50の「:cond ( )」506に簡
易言語を用いて入力する。
【0053】例えば図6(B)は、「SCHEDULE-02とい
う名称のスケジュール対象が同一日に割り当てられてい
なければ」という意味の排他条件を表している。
【0054】さらに、スケジュール条件を全て満足する
ような割り当て日が存在しない場合のために、振り替え
日を予め入力しておく。
【0055】例えば、図5のスケジュール入力フォーマ
ット50の「:shift-date ( )」507に、図6(C)
に示すような振り替え条件を入力しておくことにより、
振り替え日として「月末で金曜日以外の日」を指定した
ことになる。
【0056】以上の入力操作により、スケジュール結果
記憶装置3には、スケジュール対象が実際にどの日に割
り当てられたかという結果が格納される。
【0057】また、この作成されたスケジュール結果
は、表示装置6により確認したり、必要であれば印刷装
置7によって印刷し、出力する。
【0058】このように、前記一連の入力操作により、
図5のスケジュール入力フォーマット50の入力結果と
して「SCHEDULE−01は5月20日に実行す
る」というスケジュール結果がスケジュール結果記憶装
置3に格納される。
【0059】図7は、スケジュール作成制御装置4の処
理手順を示すフローチャートである。
【0060】図7において、まず、入力装置5、表示装
置6を用いて、スケジュール作成制御装置4のスケジュ
ール条件入力部41に対し、標準カレンダ情報21とプ
リミティブ情報22を組み合わせてユーザ独自の情報で
あるユーザ定義カレンダ情報23を入力し、スケジュー
ル補助情報記憶装置2に格納しておく(ステップ70
1)。
【0061】同様に、各スケジュール対象をスケジュー
ル対象記憶装置1から読み出し、入力装置5を用い、ス
ケジュール条件入力部41に対して図4の入力フォーマ
ット40に従って割り当て日に関する条件、各スケジュ
ール対象間の関連条件、排他条件および振り替え条件な
どを入力してスケジュール対象記憶装置1に格納してお
く(ステップ702)。
【0062】次に、割り当て処理の前処理として、スケ
ジュール対象期間に対してスケジュール補助情報を設定
する(ステップ703)。
【0063】このステップ703により、スケジュール
対象期間中の休日・曜日およびユーザが定義した営業日
・月末などの情報が日付の集合として展開され、各種変
数を通じて参照することが出来るようになる。
【0064】この後、各スケジュール対象をスケジュー
ル対象記憶装置1から順次読み出し、スケジュール対象
が全てなくなるまで以下のスケジュール割り当て処理を
繰り返す(ステップ704、705)。
【0065】まず、選択された1つのスケジュール対象
についての制約条件をスケジュール条件解釈部42で解
釈し(ステップ706)、割り当て可能日を求める(ス
テップ707)。
【0066】この際、必要に応じてスケジュール補助情
報記憶装置2に格納してあるユーザが定義した営業日や
月末などのユーザ定義カレンダ情報23を参照する。
【0067】割り当て決定部43では求められた割り当
て可能日のうち、最も適した日を選び、スケジュール対
象の実行日として決定し、スケジュール結果記憶装置3
に格納する(ステップ708)。
【0068】また、割り当て可能日が存在しない場合
(ステップ707)や、これまでに作成したスケジュー
ル結果に関して不都合が生じた場合は、振替スケジュー
ル実行部44が該当スケジュール対象を選択し、予め入
力されている振り替え条件を新たな制約条件として変更
し(ステップ709)、スケジュール条件解釈部42に
より再び割り当て可能日を求める(ステップ706、7
07、708)。
【0069】振り替え日指定の入力形式は、実行日指定
の入力形式と同じになっているため、このような振り替
えスケジュールが可能となる。
【0070】すべてのスケジュール対象に対して割り当
て日が決定され、その内容がスケジュール結果記憶装置
3に格納された時に、スケジュール作成制御装置4の処
理が終了する(ステップ704)。
【0071】図8は図7における制約条件の解釈部分
(ステップ706)で行われる割り当て候補日の絞り込
みを図5のスケジュール入力フォーマット50に即し
て、さらに詳細に説明するためのフローチャートであ
る。
【0072】図8において、まず、対象とするスケジュ
ールのスケジュール対象期間が現在スケジュールを作成
中の期間内に入っているかをチェックする。この処理
は、図5のスケジュール入力フォーマット50の「:in
clude-date :expire-date」502を解釈すること
によって判定する(ステップ801)。
【0073】次に、図5のスケジュール入力フォーマッ
ト50の「:run-period」503のスケジュール周期情
報を解釈し、着目しているスケジュール対象がスケジュ
ール対象期間中にスケジュールされ、実行されるべきか
否かを判定し(ステップ802)、選別する(ステップ
803)。
【0074】スケジュール対象期間中に割り当てるべき
スケジュール対象については、スケジュール実行日に対
する条件である図5のスケジュール入力フォーマット5
0の「:date」504を解釈し、割り当て候補日を絞り
込む(ステップ804)。
【0075】さらに、図5のスケジュール入力フォーマ
ット50の「:cond ( )」506にある制約条件を解釈
して、割り当て候補日を絞り込む(ステップ805)。
この際、他のスケジュール対象との関連および排他条件
との関係で他の制約条件がある場合は、スケジュール結
果記憶装置3からスケジュール途中の割り当て状態を読
み出して確認し、その制約条件をチェックする(ステッ
プ806)。
【0076】最後に、前記絞り込みの過程で得られた割
り当て可能日の集合を図7の707のステップに返す
(ステップ807)。
【0077】このようにして、各スケジュール対象間の
複雑な時間的な順序関係やスケジュール対象間の関連お
よび排他条件を満足するスケジュールの作成が簡易言語
を用いて入力することにより可能となる。
【0078】また、予め振り替え条件を入力しておくこ
とにより、スケジュール作成中に割り当て日が存在しな
い場合でも、予め入力されている他の割り当て日に振り
替えるなどスケジュール対象間の複雑な制約条件を満足
する最適なスケジュールを作成することができる。
【0079】
【発明の効果】以上説明したように、本発明によれば、
制約条件を簡易言語で表現した条件式で指定する制約条
件指定手段と、指定された制約条件を解釈してスケジュ
ール対象をスケジュール対象期間中の時間に割り当てる
スケジュール作成制御手段とを備えているので、複数の
スケジュール対象間の制約条件が複雑であっても、簡易
言語で表現した条件式を入力することにより、最適なス
ケジュールを作成することができる。
【0080】また、本発明に係る簡易言語は、計算機言
語に比べてよりユーザ言語に近いので、スケジュール作
成時の入力操作におけるミスや間違いが少なくなるとい
う効果も期待できる。
【0081】また、スケジュール対象期間中に割り当て
日が存在しない場合でも、予め入力された他の割り当て
日に自動的に振り替えてスケジュールが作成される。
【0082】また、標準カレンダ情報とプリミティブ情
報を組み合わせることにより、ユーザ独自のカレンダ情
報を設定することができるので、例えば各営業所ごとの
スケジュールの作成などを容易に行うことができるとい
う効果がある。
【図面の簡単な説明】
【図1】本発明のスケジュール作成装置の一実施例の全
体構成を示すブロック構成図である。
【図2】実施例における簡易言語で表わしたプリミティ
ブ情報の具体例を示す図である。
【図3】実施例のスケジュール対象ジョブ一覧表を示す
図である。
【図4】実施例の入力フォーマットを示す図である。
【図5】実施例の簡易言語を用いてスケジュール条件を
入力した入力フォーマットを示す図である。
【図6】実施例の関連条件、排他条件および振り替え条
件を示す図である。
【図7】実施例のスケジュール作成制御装置の処理手順
を示すフローチャートである。
【図8】実施例のスケジュール条件解釈部の処理手順を
示すフローチャートである。
【符号の説明】
1…スケジュール対象記憶装置、2…スケジュール補助
情報記憶装置、3…スケジュール結果記憶装置、4…ス
ケジュール作成制御装置、5…入力装置、6…表示装
置、7…印刷装置、40…入力フォーマット、41…ス
ケジュール条件入力部、42…スケジュール条件解釈
部、43…割り当て決定部、44…振替スケジュール実
行部、50…スケジュール条件を入力した入力フォーマ
ット。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 時間的な順序関係の制約条件に従ってス
    ケジュール対象をスケジュール時間に割り当て、スケジ
    ュールを自動作成する装置において、 前記制約条件を簡易言語で表現した条件式で指定する制
    約条件指定手段と、指定された制約条件を解釈してスケ
    ジュール対象をスケジュール対象期間中の時間に割り当
    てるスケジュール作成制御手段とを備えることを特徴と
    するスケジュール作成装置。
  2. 【請求項2】 前記制約条件として、スケジュール対象
    間の関連条件および排他条件を指定することを特徴とす
    る請求項1記載のスケジュール作成装置。
  3. 【請求項3】 前記スケジュール作成制御手段は、制約
    条件を満足する時間が存在しなければ、予め設定されて
    いる他のスケジュール時間にスケジュール対象を振り替
    えて割り当てることを特徴とする請求項1および請求項
    2記載のいずれかのスケジュール作成装置。
JP11296093A 1993-05-14 1993-05-14 スケジュール作成装置 Pending JPH06325038A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11296093A JPH06325038A (ja) 1993-05-14 1993-05-14 スケジュール作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11296093A JPH06325038A (ja) 1993-05-14 1993-05-14 スケジュール作成装置

Publications (1)

Publication Number Publication Date
JPH06325038A true JPH06325038A (ja) 1994-11-25

Family

ID=14599851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11296093A Pending JPH06325038A (ja) 1993-05-14 1993-05-14 スケジュール作成装置

Country Status (1)

Country Link
JP (1) JPH06325038A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4024514A1 (de) * 1990-08-02 1992-02-06 Marina Kinkel Rakeln fuer druckmaschinen
JPWO2018235124A1 (ja) * 2017-06-19 2019-11-07 三菱電機株式会社 分散配置装置、分散配置システム、および、分散配置方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4024514A1 (de) * 1990-08-02 1992-02-06 Marina Kinkel Rakeln fuer druckmaschinen
JPWO2018235124A1 (ja) * 2017-06-19 2019-11-07 三菱電機株式会社 分散配置装置、分散配置システム、および、分散配置方法

Similar Documents

Publication Publication Date Title
US4896269A (en) Job shop scheduling and production method and apparatus
US5890134A (en) Scheduling optimizer
US5487144A (en) Scheduling system
WO1991018343A1 (en) Production system
EP0369430A2 (en) Control data input aparatus
US5767853A (en) Computer operating method and computer operated thereby
EP0540442A2 (en) Integrated display of project schedule and resource planning calendar
JPS59214964A (ja) 対話型スケジユ−リング方式
JPH06325038A (ja) スケジュール作成装置
US11656611B2 (en) Production plan creation device and non-transitory computer readable medium
JP3114149B2 (ja) スケジュール自動作成処理方法
JPH03218527A (ja) 計画型推論方法及びその装置
Ress et al. Development of an expert system for scheduling work content in a job shop environment
JPH0710486B2 (ja) 多品種生産スケジュール作成装置
JPH04184602A (ja) 生産計画作成システムおよび生産計画作成方法
JP2000322119A (ja) 代替ロット決定システム
JPH04123165A (ja) スケジューリング方法及びその装置
JPH06332909A (ja) 計画管理システム
JP2921991B2 (ja) 無人運転作業スケジューリング装置
EP0315172A2 (en) Automatic program generation method with a visual data structure display
Belton et al. Can multiple criteria methods help production scheduling?
JP2731079B2 (ja) スケジュール作成装置
JPH0195360A (ja) 作業計画支援装置
JPH06266726A (ja) 生産計画作成装置
JP2908076B2 (ja) スケジューリングシステム