JP2004145814A - スケジューリング方法及びプログラム - Google Patents
スケジューリング方法及びプログラム Download PDFInfo
- Publication number
- JP2004145814A JP2004145814A JP2002312676A JP2002312676A JP2004145814A JP 2004145814 A JP2004145814 A JP 2004145814A JP 2002312676 A JP2002312676 A JP 2002312676A JP 2002312676 A JP2002312676 A JP 2002312676A JP 2004145814 A JP2004145814 A JP 2004145814A
- Authority
- JP
- Japan
- Prior art keywords
- job
- day
- resource
- end time
- overtime
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- General Factory Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】スケジュール作成者の負荷を軽減し、納期達成率を向上させることができるスケジューリング方法及びプログラムを提供する。
【解決手段】ロット情報、ジョブ情報、資源情報、資源処理能力、稼働時間内カレンダー及び稼働時間外カレンダーを登録し、全ジョブの遅れ解消可否フラグをTrueとする(ステップS1、S2)。次に、各ジョブの最遅終了時刻を計算する(ステップS3)。稼働時間カレンダー及び稼働時間外カレンダーに対してスケジュールを作成し(ステップS4)、全ロットの納期が達成、または遅れジョブの遅れ解消可否フラグがFalseで解消不能と判断されるまで、稼働時間外カレンダーに対して稼働時間外計画を設定して、再度稼動時間計画を設定し直す(ステップS5〜S9)。
【選択図】 図1
【解決手段】ロット情報、ジョブ情報、資源情報、資源処理能力、稼働時間内カレンダー及び稼働時間外カレンダーを登録し、全ジョブの遅れ解消可否フラグをTrueとする(ステップS1、S2)。次に、各ジョブの最遅終了時刻を計算する(ステップS3)。稼働時間カレンダー及び稼働時間外カレンダーに対してスケジュールを作成し(ステップS4)、全ロットの納期が達成、または遅れジョブの遅れ解消可否フラグがFalseで解消不能と判断されるまで、稼働時間外カレンダーに対して稼働時間外計画を設定して、再度稼動時間計画を設定し直す(ステップS5〜S9)。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、スケジューリング方法及びプログラムに関し、特に、作業者の人数や稼働時間等の処理能力の制約がある工程において、複数のジョブを割り付けるスケジューリング方法及びプログラムに関する。
【0002】
【従来の技術】
複数のロットに関するジョブを複数の資源にて処理する際、どのジョブをどの資源に割り付けてどのような順番で処理するかについてのスケジュールが予め作成されることが多い。ここで、ロットとは、受注単位を意味し、ジョブとは、各ロットを製造するのに必要な工程ごとに展開したときの作業1つ1つを意味する。また、資源とは、機械や作業者等、ジョブを処理する設備や人を指す。このスケジュールの作成(以下、「スケジューリング」と略する。)は、従来、スケジュール作成者により手作業で行われていたが、スケジュール作成者の負担軽減及び納期達成率の向上のため、コンピュータによって、自動的に行うことができる技術が開発されている。
【0003】
従来のスケジューリングとして、例えば、非特許文献1に記載されたジョブ・ショップ・スケジューリング及びジョブ・ショップ・シミュレーションという手法がある。非特許文献1の技術においては、スケジューリングの最適化を行うため、ジョブの優先順位等により、前詰めでジョブを配置するものである。ところが、この非特許文献1の技術においては、通常の処理能力をもってしても通常の稼働日、稼動時間内にジョブを終了することができず、ロットの納期遅れを発生してしまう場合がある。
【0004】
そこで、例えば、納期達成率の向上を目的としたスケジューリング方法であって、納期遅れが発生した場合に休日出勤や作業者の補填で納期遅れを解消させる技術が、特許文献1に記載されている。特許文献1の技術においては、まず、工場の作業日情報と、作業者個々の作業可能日情報と、複数作業の優先度と各作業の終了日(納期)と各作業の必要作業日数とからなる作業要件情報を入力する。そして、作業要件情報から最も優先度の低い最低優先度作業を検索し、この作業の作業終了日(次工程の作業開始日の前日。最終工程の場合は納期。)、作業日情報、作業者個々の作業可能日情報及び作業情報(作業責任者、必要作業日数等)から作業開始日を決定する。これを優先度の低い順に繰り返し、それぞれの作業開始日を決定する。このとき、割り当てた日の作業者数が作業の最少対応人数に満たない場合は、応援が必要な日と人数をテーブルに吐き出す(最大人数)。また、休日出勤の指定は、作業責任者の平日の勤務予定日だけでは納期を達成できない場合に行う(作業責任者が休日出勤設定をした場合は、再度不足人数の設定を行う。)。作業責任者の休日出勤や不足人数の設定だけでは納期を達成することができない場合、エラーを表示させ、終了する。以上により得られたスケジュールを人が確認し、満足する結果であればスケジュールを確定する。得られたスケジュールが満足できない場合やエラーが発生した場合は、作業要件を入力し直す。一方、スケジュールを確定した場合は、スケジュール表の作成を行う。
【0005】
【特許文献1】
特開平5−143606号公報(図1、図7)
【非特許文献1】
人見勝人著「生産管理工学」コロナ社出版、昭和53年8月10日(初版第1刷発行)、昭和63年6月10日(初版第5刷発行)、p.124−129
【0006】
【発明が解決しようとする課題】
しかしながら、特許文献1に記載している技術によれば、納期遅れが発生した場合、休日出勤や作業者の補填で補っているため、建設現場のような作業責任者以外の作業者数が自由に変更できる工程でのスケジューリングには適しているが、資源能力である作業者の人数(有技能者数)が限られている場合が多く、また、休日出勤ではなく時間外労働によって補う場合が多い組み立て加工などの作業現場では、適用することが難しい。即ち、特許文献1に記載している技術を適用すれば、時間外労働の指示はスケジュール作成者が手動で設定し、満足する計画結果が得られるまでスケジューリングを繰り返すという手間がかかる。そのため、作業者数(資源能力)が多い場合や、計画期間が長い場合等は試行のパターンが非常に多くなり、スケジュール作成者の負荷が大きくなってしまう。また、特許文献1に記載している技術を組み立て加工などの作業現場に適用すると、例えば、納期が休日を挟まない直近の場合、工場の多くは受注量を極端に上回る資源能力を保持していないため、納期を達成するのが難しいという問題がある。
【0007】
また、特許文献1に記載している技術によれば、完全に納期を守れる計画以外はエラーとなってしまい、このような場合は手介入によって修正し、納期を守れる計画が作成するまでエラーを解除することができない。即ち、やむをえない納期遅れが発生する場合にスケジューリングを作成することができないという問題がある。
【0008】
更に、特許文献1に記載している技術によれば、工程の優先度とその納期(時間制約)のみを考慮して計画を作成しており、ロットの優先度については考慮されておらず、ロット全体の納期達成率という観点から見た場合の最適なスケジュールを作成することが難しいという問題がある。
【0009】
本発明は、上記問題点に鑑みてなされたものであり、スケジュール作成者の負荷を軽減し、納期達成率を向上させることができる、実際の現場の状況に即したスケジューリング方法及びプログラムを提供するものである。
【0010】
【課題を解決するための手段】
上記課題を解決するために、請求項1のスケジューリング方法は、複数のロットについて、少なくともロットの納期の情報を含んだロットの情報を記憶するロット情報記憶ステップと、前記各ロットを通過する工程順に展開した複数のジョブについて、ジョブの特性を記憶するジョブ情報記憶ステップと、前記複数のジョブのいずれかを処理することが可能な資源の処理能力を記憶する資源処理能力記憶ステップと、前記各資源について、時間内労働の勤務日及び勤務時間が登録される稼動時間カレンダーを記憶する稼動時間カレンダー記憶ステップと、前記各資源について、時間外労働が可能な勤務日及び勤務時間が登録される稼働時間外カレンダーを記憶する稼働時間外カレンダー記憶ステップと、前記各ジョブについて、前記ジョブの特性及び前記資源の処理能力に基づいて、前記納期を達成するために完了すべき最遅終了時刻を計算する最遅終了時刻計算ステップと、前記ジョブの特性及び前記資源の処理能力に基づいて、各ジョブを前記資源に仮に割り付けて、稼動時間カレンダー及び稼働時間外カレンダーに対してスケジュールを作成するスケジュール作成ステップと、前記スケジュールにおいて、前記各ジョブについて前記最遅終了時刻を満たすか評価する評価ステップと、前記評価結果により最遅終了時刻を満たさないと判断された各ジョブについて、最遅終了時刻を満たす又は最遅終了時刻を満たすことが不能と判断されるまで、当該ジョブが割り付けられた資源に対して稼働時間外カレンダーに時間外労働日を設定する稼働時間外計画作成ステップと、を備えていることを特徴とする。
【0011】
請求項6のプログラムは、複数のロットについて、少なくともロットの納期の情報を含んだロットの情報を記憶するロット情報記憶手段、前記各ロットを通過する工程順に展開した複数のジョブについて、ジョブの特性を記憶するジョブ情報記憶手段、前記複数のジョブのいずれかを処理することが可能な資源の処理能力を記憶する資源処理能力記憶手段、前記各資源について、時間内労働の勤務日及び勤務時間が登録される稼動時間カレンダーを記憶する稼動時間カレンダー記憶手段、前記各資源について、時間外労働が可能な勤務日及び勤務時間が登録される稼働時間外カレンダーを記憶する稼働時間外カレンダー記憶手段、前記各ジョブについて、前記ジョブの特性及び前記資源の処理能力に基づいて、前記納期を達成するために完了すべき最遅終了時刻を計算する最遅終了時刻計算手段、前記ジョブの特性及び前記資源の処理能力に基づいて、各ジョブを前記資源に割り付けて、稼動時間カレンダーに対してスケジュールを作成するスケジュール作成手段、前記スケジュールにおいて、前記各ジョブについて前記最遅終了時刻を満たすか評価する評価手段、前記評価結果により最遅終了時刻を満たさないと判断された各ジョブについて、最遅終了時刻を満たす又は最遅終了時刻を満たすことが不能と判断されるまで、当該ジョブが割り付けられた資源に対して稼働時間外カレンダーに時間外労働日を設定する稼働時間外計画作成手段、としてコンピュータを機能させることを特徴とする。
【0012】
請求項1、6によると、ジョブの最遅終了時刻を確認することにより、稼働時間内にはロットの納期が達成されないと判断された場合に、稼働時間外の時間外労働日にジョブを設定することとしている。従って、時間外労働によって、ロットの納期遅れが低減され、実情に即したスケジュールが自動的に作成される。この結果、スケジュール作成者の負荷を軽減することができるとともに、納期達成率を向上することができる。また、時間外労働を予め計画することにより、直近に時間外労働の指示がなされることを回避することができる。更に、資源の処理能力を変更することを前提としていないため、組み立て加工など資源の処理能力が制限される作業現場においても対応することができる。
【0013】
請求項2のスケジューリング方法は、請求項1に記載のスケジューリング方法であって、前記稼働時間外計画作成ステップは、前記各資源について、前記評価結果により最遅終了時刻を満たさないと判断されたジョブの中で、前工程のジョブの終了時刻が最も早いジョブを稼働時間外割付対象ジョブと設定する稼働時間外割付対象ジョブ設定ステップと、前記稼働時間外割付対象ジョブの前工程のジョブが割り付けられている日を割付候補日とする割付候補日抽出ステップと、前記割付候補日が時間外労働可能かどうかを判断して、時間外労働可能と判断されるまで割付候補日を1日ずつ後ろにずらして割付日とする割付日抽出ステップと、前記割付日と前記稼働時間外割付対象ジョブが割り付けられている日とが異なる場合、前記稼働時間外割付対象ジョブを処理する資源について、稼働時間外カレンダーの前記割付日を時間外労働日として設定する時間外労働日設定ステップと、前記割付日と前記稼働時間外割付対象ジョブが割り付けられている日とが同じ場合、前記稼働時間外割付対象ジョブ及び前記稼働時間外割付対象ジョブと同資源で同日に開始予定となっているジョブについて、最遅終了時刻を満たすことが不能であることをジョブ情報として記憶するジョブ情報修正ステップと、を備えていることを特徴とする。
【0014】
請求項7のプログラムは、請求項6に記載のプログラムであって、前記稼働時間外計画作成手段は、前記各資源について、前記評価結果により最遅終了時刻を満たさないと判断されたジョブの中で、前工程のジョブの終了時刻が最も早いジョブを稼働時間外割付対象ジョブと設定する稼働時間外割付対象ジョブ設定手段と、前記稼働時間外割付対象ジョブの前工程のジョブが割り付けられている日を割付候補日とする割付候補日抽出手段、前記割付候補日が時間外労働可能かどうかを判断して、時間外労働可能と判断されるまで割付候補日を1日ずつ後ろにずらして割付日とする割付日抽出手段、前記割付日と前記稼働時間外割付対象ジョブが割り付けられている日とが異なる場合、前記稼働時間外割付対象ジョブを処理する資源について、稼働時間外カレンダーの前記割付日を時間外労働日として設定する時間外労働日設定手段、前記割付日と前記稼働時間外割付対象ジョブが割り付けられている日とが同じ場合、前記稼働時間外割付対象ジョブ及び前記稼働時間外割付対象ジョブと同資源で同日に開始予定となっているジョブについて、最遅終了時刻を満たすことが不能であることをジョブ情報として記憶するジョブ情報修正手段、としてコンピュータをさらに機能させることを特徴とする。
【0015】
請求項2、7によると、ジョブが最遅終了時刻を満たすことが不能であることをジョブ情報として記憶する。従って、ロットの納期遅れを減らしながら、設備の処理能力及び時間外労働を超える部分については、ロットの納期遅れが発生することを許容することにより、現実に近い予測を得ることができる。
【0016】
請求項3のスケジューリング方法は、請求項1又は2に記載のスケジューリング方法であって、前記各ジョブの最遅終了時刻を、前記納期の他に、下工程のジョブとのリードタイムを考慮して計算することを特徴とする。
【0017】
請求項8のプログラムは、請求項6又は7に記載のプログラムであって、前記各ジョブの最遅終了時刻を、前記納期の他に、下工程のジョブとのリードタイムを考慮して計算することを特徴とする。
【0018】
請求項3、8によると、最遅終了時刻の計算に後工程のジョブとのリードタイムを考慮している。従って、より実情に即したスケジュールを作成することができる。
【0019】
請求項4のスケジューリング方法は、請求項1〜3に記載のスケジューリング方法であって、前記複数のジョブが抽出される順番を予め記憶しておくための割付順記憶ステップをさらに備えていることを特徴とする。
【0020】
請求項9のプログラムは、請求項6〜8に記載のプログラムであって、前記複数のジョブが抽出される順番を予め記憶しておくための割付順記憶手段をさらに備えていることを特徴とする。
【0021】
請求項4、9によると、前記複数のジョブが抽出される順番をジョブの特性に基づいて予め入力するので、複数のジョブから1つのジョブを容易に抽出することができる。
【0022】
請求項5のスケジューリング方法は、請求項1〜4に記載のスケジューリング方法であって、前記最遅終了時刻計算ステップ及び前記スケジュール作成ステップは、前記ジョブのいずれかを処理することが可能な資源が複数存在する場合に、各ジョブを前記複数の資源のいずれに仮に割り付けるかを決定する仮割付資源決定ステップを更に有することを特徴とする。
【0023】
請求項10のプログラムは、請求項6〜9に記載のプログラムであって、前記最遅終了時刻計算手段及び前記スケジュール作成手段は、前記ジョブのいずれかを処理することが可能な資源が複数存在する場合に、各ジョブを前記複数の資源のいずれに仮に割り付けるかを決定する仮割付資源決定手段を更に有することを特徴とする。
【0024】
請求項5、10によると、代替資源が存在する場合に、資源を割り付ける基準を設けることによって、ジョブを最適な資源に割り付けることができる。
【0025】
尚、請求項5〜10の夫々に記載されているプログラムは、CD−ROM(Compact Disc Read Only Memory)、FD(Flexible Disk)、MO(Magneto−Optic)などのリムーバブル型記録媒体やハードディスクなどの固定型記録媒体に記録して配布可能である他、有線又は無線の電気通信手段によってインターネットなどの通信ネットワークを介して配布可能である。
【0026】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の好適な実施の形態を説明する。
【0027】
まず、本実施形態に係るスケジューリング方法を、具体的な一例に即して説明する。図1は、本実施の形態によるスケジューリング方法の手順について説明したフローチャートである。図2は、本例でのロットとこれを工程毎に展開したジョブの関係を描いた模式図である。図3は、最遅終了時刻を計算するための手順について説明したフローチャートである。図4は、ジョブの最遅終了時刻を計算する例を描いたガントチャートであり、(a)は仮の最遅終了時刻を設定した例を描いたガントチャートであり、(b)は(a)において一点鎖線で囲まれた一部のジョブを拡大したガントチャートである。図5は、稼動時間外計画を作成するための手順について説明したフローチャートである。図6は、残業設定候補日を選択する例を描いたガントチャートである。
【0028】
図2に示すように、本例において、ロットはA、B、C、Dの4種類あり、ロットA〜Dに対して対象工程は工程1〜3の3工程である。従って、当該工程で処理すべきジョブはジョブA1〜A3、ジョブB1〜3、ジョブC1〜C4、ジョブD1〜D4であり、合計で12ジョブがある。また、ジョブA1、B1、C1、D1を処理可能な資源は資源1であり、ジョブA2、B2、C2、D2を処理可能な資源は資源2であり、ジョブA3、B3、C3、D3を処理可能な資源は資源3であり、ジョブA4、B4、C4、D4を処理可能な資源は資源4である。
【0029】
まず、本実施の形態によるスケジューリング方法の手順について、図1に基づいて、説明する。
【0030】
ステップS1(ロット情報記憶ステップ、ジョブ情報記憶ステップ、資源処理能力記憶ステップ、稼働時間カレンダー記憶ステップ、稼働時間外カレンダー記憶ステップ)において、ロット情報として、A、B、C、Dの4種類のロットと、その納期を登録する。また、ジョブ情報として、A1〜A3、B1〜B3、C1〜C3、D1〜D3の12ジョブと、ジョブの特性であるその処理量を登録する。また、資源情報として、資源1、2、3の3種類を登録する。さらに、資源1〜3の処理能力として、ジョブA1、B1、C1、D1は資源1で処理可能であること、ジョブA2、B2、C2、D2は資源2で処理可能であること、ジョブA3、B3、C3、D3は資源3で処理可能であること、ジョブA4、B4、C4、D4は資源4で処理可能であること、及び、資源1〜4の処理能力をジョブ資源能力として登録する。尚、本実施例において、資源1〜4の処理能力は全て等しく1とする。
また、稼動時間カレンダーに資源と対応して各資源の通常の稼働日及び稼働時間を登録し、稼働時間外カレンダーに資源と対応して各資源の稼働時間外の稼動可能日及び稼働可能時間を登録する。尚、本実施例では、予め時間外労働を行うことは決まっていないため、稼働時間外カレンダーに時間外労働日は設定登録しない。一方、予め時間外労働を行うことが決まっている場合は、時間外労働日を稼働時間外カレンダーに設定登録しておく。
【0031】
そして、ステップS2において、全ジョブの割付資源及び最遅終了時刻を未決定として初期設定する。また、全ジョブの遅れ解消可否フラグを「True」と設定する。ここで、最遅終了時刻とは、ロットがその納期を達成するために、各ジョブが処理を完了すべき時刻である。また、遅れ解消可否フラグとは、最遅終了時刻を満たすか否かを判断するためのフラグであり、最遅終了時刻を満たす可能性があるジョブに対しては「True」とされ、最遅終了時刻を満たすことができないと判断されたジョブに対しては「False」とされる。
【0032】
次に、ステップS3(最遅終了時刻計算ステップ)において、各ジョブの最遅終了時刻を設定する。ここで、ジョブの最遅終了時刻の計算の手順について、図3及び図4に基づいて説明する。
【0033】
まず、ステップS301において、ジョブの仮の最遅終了時刻を求める。仮の最遅終了時刻の計算は、ロット単位で、稼働時間カレンダーに対して、各ロットのジョブの資源への割付を、下工程のジョブから順にロットの納期から後詰め(バックワード)で行う。この際、同一資源においては資源能力を無視し、図4(a)に示すように、各ロットのジョブを山積みして割り付ける。そして、割り付けられた各ジョブについて処理が終了する時刻を、当該ジョブの仮の最遅終了時刻として設定する。ここで、本実施例の場合は、ジョブを処理することができる資源が決まっているため、ジョブを仮に割り付ける資源の選択は行わない。代替資源が存在する場合は、ジョブを仮に割り付ける資源を所定の基準に基づいて選択し(仮割付資源決定ステップ)、仮の最遅終了時刻を設定する。所定の基準とは、例えば、処理能力が高い資源ほど選択されるように順番が決定される。
具体的には、図4中、各日程(稼働日)の中で網掛けになっている部分が稼働時間である。また、各ジョブをロット毎に異なる模様を付して記載している。更に、三角印は各ロットの納期をロットごとに異なる模様を付して表している。
尚、本実施例では、時間外労働を行うことが決まっていない場合であり、稼働時間カレンダーのみに対して、仮の最遅終了時刻が計算される。一方、予め時間外労働を行うことが決まっており、ステップS1で予め時間外労働日の設定登録が行われている場合は、仮の最遅終了時刻の計算は、稼働時間カレンダー及び予め時間外労働日の設定登録が行われている稼働時間外カレンダーに対して行われる。
【0034】
次に、ステップS302において、ステップS301で山積みされて仮の最遅終了時刻が計算された全てのジョブに対して、資源毎に、山積みされたジョブの負荷及び資源の処理能力を考慮してジョブの最遅終了時刻の計算を行う。
具体的には、最遅終了時刻の計算は次式のとおりとなる。
【0035】
【数1】
【0036】
本実施例では、図4(a)、(b)に示すように、まず、ロットA、B、Cの最も下工程であるジョブA3、B3、C3が割り付けられている稼動カレンダーの最終日の資源3に注目し、これらのジョブA3、B3、C3の最遅終了時刻の変更を行う。即ち、図4(b)に示すように、ジョブA3とジョブB3(重複時間はt1)、ジョブB3とジョブC3(重複時間はt2)が重複している。また、資源3の処理能力は1である。従って、ジョブA3、B3、C3の仮の最遅終了時刻をTlet_A3、Tlet_B3、Tlet_C3とすると、ジョブA3、B3、C3の最遅終了時刻Tle_A3、Tle_B3、Tle_C3は、それぞれ次式で計算される値となる。
Tle_A3=Tlet_A3−t2(2−1)/1
Tle_B3=Tlet_B3−[t2(2−1)/1+t1(2−1)/1]
Tle_C3=Tlet_C3−t1(2−1)/1
尚、本実施例では、時間外労働を行うことが決まっていない場合であり、稼働時間カレンダーのみに対して、最遅終了時刻が計算される。一方、予め時間外労働を行うことが決まっており、ステップS1で予め時間外労働日の設定登録が行われている場合は、最遅終了時刻の計算は、稼働時間カレンダー及び予め時間外労働日の設定登録が行われている稼働時間外カレンダーに対して行われる。
【0037】
次に、ステップS303では、全資源についてステップS302以降の最遅終了時刻を計算したかを判断する。全資源についてステップS302以降の最遅終了時刻の計算が行われていない場合は(ステップS303:NO)、ステップS304で、対象を別の資源にして、ステップS302に戻る。一方、全資源についてステップS302の最遅終了時刻の計算が行われている場合は(ステップS303:YES)、ステップS305に進む。
【0038】
ステップS305以降では、上記で求めた全てのジョブの最遅終了時刻について、ロット単位で上下工程ジョブの整合性をとる。まず、ステップS305において、ロット単位で、下工程のジョブから順に、上工程ジョブの最遅終了時刻と(下工程ジョブの最遅終了時刻−下工程ジョブの処理時刻)とを比較し、次式を満たすかを判断する。
上工程ジョブの最遅終了時刻>下工程ジョブの最遅終了時刻−下工程ジョブの処理時刻
そして、ステップS305の式を満たす場合(ステップS305:YES)は、ステップS306において、上工程ジョブの最遅終了時刻を次式により修正する。
上工程ジョブの最遅終了時刻=下工程ジョブの最遅終了時刻−下工程ジョブの処理時刻
一方、ステップS305の式を満たさない場合(ステップS305:NO)は、ステップS307に進む。
【0039】
ステップS307では、ステップS305で比較した上工程ジョブがロットの最上工程のジョブかどうかを判断する。
ステップS305で比較した上工程ジョブがロットの最上工程のジョブでない場合(ステップS307:NO)は、上工程ジョブに比較対象を移し(ステップS308)、ステップS305に戻る。
一方、ステップS305で比較した上工程ジョブがロットの最上工程のジョブである場合(ステップS307:YES)は、全ロットについてステップS305の比較を行ったかを判断する(ステップS309)。
全ロットについてステップS305の比較が行われていない場合は(ステップS309:NO)、ステップS310で、対象のロットを別のロットにして、ステップS305に戻る。一方、全ロットについてステップS305の比較が行われている場合は(ステップS309:YES)、ステップS311に進む。
ステップS311では、以上により計算された最遅終了時刻を、ジョブの最遅終了時刻として設定して終了する。
【0040】
以上によりジョブの最遅終了時刻が設定され、次に、ステップS4(スケジュール作成ステップ)において、各ジョブの割付順及び資源の処理能力に基づいて、全ジョブを資源に仮割付を行い、稼働時間カレンダー及び稼働時間外カレンダーに対してスケジュールを作成する。尚、稼働時間外カレンダーについては、ステップS1において予め時間外労働日と設定登録されている日及び後述するステップS8において時間外労働日として設定される日についてのみジョブの割付が可能なものとしてスケジュールを作成する。
この仮割付では、従来技術として行われているスケジューリングの手法(例えば、上述の非特許文献1に記載するようなジョブの優先順位を考慮して、前詰めでジョブを配置する手法等)を用いて行う。具体的には、まず資源に割り付けるジョブを、優先度を基にして抽出する。例えば、納期が早いロットのジョブほど、あるいは、最遅終了時刻までの余裕が短いジョブほど早く割り付けられるように優先度が高く設定される。そして、最も優先度の高いジョブが最も早く抽出され、最も優先度の低いジョブが最も遅く抽出される。また、代替資源が存在する場合、所定の基準を基にしてジョブを仮に割り付ける資源を決定する(仮割付資源決定ステップ)。所定の基準とは、例えば、処理能力が高い資源ほど選択されるように順番が決定される。本例では、代替資源がないため、ジョブを仮に割り付ける資源は選択されない。尚、上述の割付順及び所定の基準は自動で設定されても良いし、手動で設定されても良い。
そして、資源に割り付ける対象とするジョブを上述の割付順に抽出し、稼働時間カレンダー及び稼働時間外カレンダーに対して前詰め(フォワード)で、抽出したジョブを資源に仮に割り付けてスケジュールを作成する。
尚、本実施例では、予めステップS1で時間外労働日として設定登録されている日がないため、始めは稼働時間カレンダーのみに対してスケジュールが作成され、ステップS8において時間外労働日が設定された場合に稼働時間カレンダー及び時間外労働日を設定した稼働時間外カレンダーに対してスケジュールが作成される。一方、予めステップS1で時間外労働日が設定登録されている日がある場合は、始めから稼働時間カレンダー及びステップS1で時間外労働日が設定登録された稼働時間外カレンダーについてスケジュールが作成され、ステップS8において時間外労働日が更に設定された場合は、稼働時間カレンダー及びステップS1で登録された時間外労働日に加えてステップS8で追加した時間外労働日が設定された稼働時間外カレンダーに対してスケジュールが作成される。
【0041】
そして、ステップS5(評価ステップ)において、作成されたスケジュールについて、全ロットが納期を達成しているかどうかを判断する。
全ロットが納期を達成している場合(ステップS5:YES)は、ステップS9において、各ジョブについて仮に割り付けた資源を割付資源として決定し、スケジューリングを終了する。
一方、全ロットが納期を達成していない場合(ステップS5:NO)は、ステップS6において、納期遅れジョブを検出する。ここで、納期遅れジョブとは、ジョブの終了時刻が設定した最遅終了時刻よりも遅いジョブ、即ち、最遅終了時刻を満たしていないジョブのことを意味する。
【0042】
次に、ステップS7において、検出した納期遅れジョブが、納期遅れ解消、即ち、最遅終了時刻を満たす可能性があるジョブであるかどうかを判断する。判断は検出したジョブの遅れ解消フラグにより行う。
遅れ解消フラグが「True」となっているジョブについては、最遅終了時刻を満たす可能性があるジョブであると判断し(ステップS7:YES)、ステップS8(稼働時間外計画作成ステップ)において、稼働時間外計画を設定する。一方、遅れ解消フラグが「False」となっているジョブについては、最遅終了時刻を満たすことが不能であるジョブであると判断し(ステップS7:NO)、ステップS9において、最遅終了時刻を満たすことが不能であるジョブが含まれるロットについてはやむをえない納期遅れであることを表示し、各ジョブについて仮に割り付けた資源を割付資源として決定し、スケジューリングを終了する。
【0043】
ここで、ステップS8の稼働時間外計画の設定の手順について、図5及び図6に基づいて説明する。
【0044】
まず、ステップS801(稼働時間外割付対象ジョブ設定ステップ、割付候補日抽出ステップ)において、各資源について、納期解消フラグが「True」となっている検出した納期遅れジョブの中で、その上工程のジョブの処理終了時刻が最も早いジョブを稼働時間外割付対象ジョブとし、その上工程のジョブの処理終了日を稼働時間外労働の割付候補日とする。具体的には、図6に示すように、資源3に注目して、納期遅れジョブがX3、Y3の2つある場合、それらの上工程のジョブX2、Y1の処理終了時刻を見て、上工程のジョブY1の処理終了時刻が早いジョブY3を稼働時間外割付対象ジョブとし、Y1が割り付けられている日を割付候補日とする。
【0045】
次に、ステップS802(割付日抽出ステップ)及びステップS803(割付日抽出ステップ)において、割付候補日が時間外労働可能かどうかを判断する。まず、ステップS802では、割付候補日が時間外労働不可であるかどうか、即ち、割付候補日が稼働時間外カレンダーで稼動可能日と設定されていないかどうかを判断する。割付候補日が稼働時間外カレンダーで稼動可能日と設定されていない場合(ステップS802:YES)、ステップS805に進む。一方、割付候補日が稼働時間外カレンダーで稼動可能日と設定されている場合(ステップS802:NO)、ステップS803に進む。
ステップS803では、割付候補日が既に稼働時間外カレンダーで時間外労働設定済みであるかどうかを判断する。割付候補日が既に稼働時間外カレンダーで時間外労働設定済みである場合(ステップS803:YES)、ステップS805(割付日抽出ステップ)に進む。一方、割付候補日が稼働時間外カレンダーで時間外労働の設定がされていない場合(ステップS803:NO)、ステップS804(時間外労働日設定ステップ)に進む。ステップS804では、まず、割付候補日を割付日と設定する。そして、割付日を時間外労働日として設定し、ステップS808に進む。
【0046】
ステップS805では、割付候補日が時間外労働可能でないため、割付候補日を1日後ろにずらして、ステップS806(割付日抽出ステップ)で新たな割付候補日が稼働時間外割付対象ジョブの処理開始日と同日かどうかを判断する。
【0047】
新たな割付候補日が稼働時間外割付対象ジョブの処理開始日と同日でない場合(ステップS806:NO)は、ステップS802に戻る。
一方、新たな割付候補日が稼働時間外割付対象ジョブの処理開始日と同日である場合(ステップS806:YES)は時間外労働を設定することが不能であり、ステップS807(ジョブ情報修正ステップ)において、稼働時間外割付対象ジョブ及び稼働時間外割付対象ジョブと同資源で同日に開始予定となっている納期遅れジョブの遅れ解消可否フラグを「False」と変更し、ステップS808に進む。
【0048】
ステップS808では、全ての資源について上述のステップを行ったかどうかが判断される。
全ての資源について行われていない場合には(ステップS808:NO)、ステップS809において、対象を別の資源として、ステップS801に戻る。
一方、全ての資源について行われていない場合には(ステップS808:YES)、稼働時間外計画の設定を終了する。
【0049】
以上によりジョブの稼働時間外計画が設定され、次に、ステップS4に戻り、稼働時間カレンダー及び稼働時間外計画で時間外労働日が設定された稼働時間外カレンダー(予めステップS1で時間外労働日が設定登録されている場合は、ステップS1で登録された時間外労働日に加えて稼働時間外計画で追加した時間外労働日が設定された稼働時間外カレンダー)に基づいて、再度、スケジュールの作成を行う。具体的には、稼働時間外計画で時間外労働日が設定されている日(予めステップS1で時間外労働日が設定登録されている場合は、ステップS1で時間外労働日が設定登録された日及び稼働時間外計画で時間外労働日が設定されている日)は、時間内労働の勤務時間に加えて、時間外労働が可能な勤務時間全てにジョブを割り付けることができるものとしてスケジュールの作成を行う。
【0050】
次に、本発明のプログラムについて、図7に基づいて説明する。図7は、本実施の形態によるプログラムのブロック図である。
【0051】
図7に示すように、本実施の形態によるプログラム1は、記憶部10と、演算部20と、から構成されている。そして、記憶部10に記憶されている情報は、適宜、インターフェース部30により出力することができる。
【0052】
記憶部10は、ロット情報記憶部(ロット情報記憶手段)11と、ジョブ情報記憶部(ジョブ情報記憶手段)12と、資源情報記憶部13と、資源処理能力記憶部(資源処理能力記憶手段)14と、稼動時間カレンダー記憶部(稼動時間カレンダー記憶手段)15と、稼働時間外カレンダー記憶部(稼働時間外カレンダー記憶手段)16と、スケジュール記憶部17と、を有している。
【0053】
ロット情報記憶部11は、図示されない入力装置から入力された、複数のロットの情報、例えば、納期等をロットごとに記憶する。また、ロット情報記憶部11は、後述する最遅終了時刻計算部21に対して、これらのロットの情報を出力する。
【0054】
ジョブ情報記憶部12は、図示されない入力装置から入力された、複数のジョブの特性、例えば処理量、最早着手時刻等をジョブごとに記憶する。そして、後述するジョブ情報修正部26eから出力されたジョブ情報を記憶する。また、ジョブ情報記憶部12は、後述する最遅終了時刻計算部21及び抽出ジョブ決定部22に対して、これら複数のジョブの特性に関する情報を出力する。
【0055】
資源情報記憶部13は、入力装置から入力された、複数のジョブのいずれかを処理することが可能な複数の資源情報(資源名)を記憶する。また、資源情報記憶部13は、後述する資源処理能力記憶部14に対して、資源情報を出力する。
【0056】
資源処理能力記憶部14は、入力装置から入力された、資源名記憶部13に資源名が記憶された資源の処理能力、例えば、ジョブの処理可能性、単位時間当たりのジョブ処理量等を資源ごとに記憶する。資源処理能力記憶部14は各資源の処理能力がジョブごとに異なる場合には、ジョブごとに処理能力を記憶することが好ましい。また、資源処理能力記憶部14は、後述する抽出ジョブ決定部22及び仮割付資源決定部23に対して、資源処理能力に関する情報を出力する。
【0057】
稼働時間カレンダー記憶部15は、入力装置から入力された、時間内労働の勤務日及び勤務時間を資源ごとに記憶する。また、稼働時間カレンダー記憶部15は、後述するスケジュール作成部24に対して、記憶している時間内労働の勤務日及び勤務時間を出力する。
【0058】
稼働時間外カレンダー記憶部16は、入力装置から入力された、時間外労働が可能な勤務日及び勤務時間を資源ごとに記憶する。また、入力装置から入力された、予め時間外労働を行う予定である時間外労働日の設定登録情報を記憶する。そして、後述する稼働時間外計画作成部26から供給された時間外労働日の設定情報を記憶する。また、稼働時間外カレンダー記憶部16は、後述するスケジュール作成部24に対して、記憶している設定された時間外労働日及びその勤務時間を出力する。
【0059】
スケジュール記憶部17は、後述するスケジュール作成部24から供給されたスケジュールを記憶する。また、スケジュール記憶部17は、後述する評価部25に対して、記憶しているスケジュールを出力する。さらに、スケジュール記憶部17は、全ジョブに対して割り付けられる資源が決定した場合に、後述するスケジュール結果出力インターフェース31に対して、最終的に決定されたスケジュールを出力する。
【0060】
演算部20は、最遅終了時刻計算部(最遅終了時刻計算手段)21と、抽出ジョブ決定部22と、仮割付資源決定部23と、スケジュール作成部(スケジュール作成手段)24と、評価部(評価手段)25と、稼働時間外計画作成部(稼働時間外計画作成手段)26と、資源決定部27と、を有している。
【0061】
最遅終了時刻計算部21は、稼働時間カレンダー記憶部15から出力された稼働時間カレンダー及び稼働時間外カレンダー16から出力された稼働時間外カレンダーを基にして、ロット情報記憶部11から供給されたロットの納期情報を達成するために完了すべきジョブの最遅終了時刻を計算する。最遅終了時刻の計算は、ジョブ情報記憶部12から供給されたジョブの特性及び仮割付資源決定部23から供給された仮割付基準を考慮しつつ行われる。
【0062】
抽出ジョブ決定部22は、ジョブ情報記憶部12から供給されたジョブの特性及び資源処理能力記憶部14から供給された資源処理能力により定められる優先度に基づいて、資源に割り付けるために抽出する1つのジョブを決定して、スケジュール作成部24に出力する。例えば、抽出ジョブ決定部22は、ジョブ情報記憶部12からジョブの特性として各ジョブの納期情報を受け取り、また、資源処理能力記憶部14から処理能力を受け取り、これらに従って割付可能期間の最も短いものが優先度の高いジョブとして、抽出ジョブを決定する。
【0063】
仮割付資源決定部23は、ジョブ情報記憶部12から供給されたジョブの処理量及び資源処理能力記憶部14から供給された資源処理能力により定められる仮割付基準に基づいて、各ジョブを複数の資源のいずれに仮に割り付けるかについて決定して、最遅終了時刻決定部21及びスケジュール作成部24に出力する。例えば、仮割付資源決定部23は、資源処理能力記憶部14から処理能力を受け取り、これらに従って処理可能な資源に前詰めで割り付けた場合に、最も早くジョブが終了する資源であることを仮割付基準として、仮に割り付ける資源を決定する。
【0064】
スケジュール作成部24は、抽出ジョブ決定部22から供給された優先度と、仮割付資源決定部23から供給された仮割付基準とにより、稼働時間カレンダー記憶部15から出力された稼働時間カレンダー及び稼働時間外カレンダー16から出力された稼働時間外カレンダーを基にして、スケジュールを作成する。即ち、まず、割り付けられる資源が未決定のジョブのうち優先度が一番高いジョブ(以下、「抽出ジョブ」と称する)を、資源の処理能力から判断して処理可能な全ての資源のそれぞれに仮に割り付ける。そして、当該抽出ジョブを処理することが可能な全ての資源のそれぞれに仮に割り付けた各場合について、割り付けられる資源が決定済みのジョブ以外のジョブを優先度の高いジョブから順に、仮割付基準によりいずれかの資源に仮割り付けし、1つのスケジュールを作成する。スケジュール作成部24では、資源使用可能期間の開始時刻から前方詰めで各ジョブが割り付けられる。また、スケジュール作成部24は、作成したスケジュールをスケジュール記憶部17に順次出力する。
【0065】
評価部25は、スケジュール記憶部17から供給された、スケジュールを評価する。評価部25では、スケジュールにおいて、各ジョブが最遅終了時刻を満たすか否かを評価する。各ジョブが最遅終了時刻を満たさない場合は、その結果を稼働時間外計画作成部26に出力し、各ジョブが最遅終了時刻を満たす又は満たすことが不能と判断された場合は、その結果を後述する資源決定部25に出力する。
【0066】
稼働時間外計画作成部26は、評価部25から供給された各ジョブが最遅終了時刻を満たさないとの評価結果に基づいて、最遅終了時刻を満たす又は最遅終了時刻を満たすことが不能と判断されるまで、最遅終了時刻を満たさないジョブが割り付けられた資源に対して稼働時間外カレンダーに時間外労働日を設定する。
【0067】
稼働時間外計画作成部26は、稼働時間外割付対象ジョブ設定部26aと、割付候補日抽出部26bと、割付日抽出部26cと、時間外労働設定部26dと、ジョブ情報修正部26eと、から構成される。
【0068】
稼働時間外割付対象ジョブ設定部26aは、各資源について、評価部25から供給された最遅終了時刻を満たさないと判断されたジョブの中で、上工程のジョブの終了時刻が最も早いジョブを稼働時間外割付対象ジョブと設定して、割付候補日抽出部26b及び時間外労働設定日26d及びジョブ情報修正部26eに出力する。
【0069】
割付候補日抽出部26bは、稼働時間外割付対象ジョブ設定部26aから供給された稼働時間外割付対象ジョブの上工程のジョブが割り付けられている日を割付候補日と設定して、後述する割付日抽出部26cに出力する。
【0070】
割付日抽出部26cは、割付候補日抽出部26bから供給された割付候補日が時間外労働可能かどうかを判断して、時間外労働可能と判断されるまで割付候補日を1日ずつ後ろにずらして割付日と設定して、後述する時間外労働設定部26d及びジョブ情報修正部26eに出力する。
【0071】
時間外労働設定部26dは、割付日抽出部26cから供給された割付日と稼働時間外割付対象ジョブ設定部26aから供給されている稼働時間外割付対象ジョブが割り付けられている日とを比較して、それらが異なる場合、稼働時間外割付対象ジョブを処理する資源について、稼働時間外カレンダーの割付日を時間外労働日として設定して、稼働時間外カレンダー記憶部16に出力する。
【0072】
ジョブ情報修正部26eは、割付日抽出部26cから供給された割付日と稼働時間外割付対象ジョブ設定部26aから供給されている稼働時間外割付対象ジョブが割り付けられている日とを比較して、それらが同じ場合、稼働時間外割付対象ジョブ及び稼働時間外割付対象ジョブと同資源で同日に開始予定となっているジョブについて、最遅終了時刻を満たすことが不能であることをジョブ情報としてジョブ情報記憶部12に出力する。
【0073】
資源決定部27は、評価部25から供給された各ジョブが最遅終了時刻を満たす又は満たすことが不能であるとの評価結果に基づいて、作成されたスケジュールで抽出ジョブに仮割付された資源を、割り付けるための資源と決定する。また、資源決定部27は、スケジュール記憶部17に対して、各ジョブとその割付資源に関する情報を出力する。
【0074】
インターフェース装置30は、スケジュール結果出力インターフェース31と、プリンタ32と、ディスプレイ33とを有している。インターフェース出力I/F31は、スケジュール記憶部17から供給された最終的に得られたスケジュール結果を、プリンタ32またはディスプレイ33に出力する。
【0075】
ここで、図7に示されているプログラム1の各部10、20は、例えば汎用のパーソナルコンピュータによって構成されている。かかるパーソナルコンピュータには、CPU、ROM、RAM、ハードディスク、FDやCDの駆動装置などのハードウェアが収納されており、ハードディスクには、プログラム(このプログラムは、CD−ROMやFD、MOなどのリムーバブルな記憶媒体に記録しておくことにより、様々なコンピュータにインストールすることが可能である)を含む各種のソフトウェアが記録されている。そして、これらのハードウェアおよびソフトウェアが組み合わされることによって、上述の各部10、20が構築されている。
【0076】
このように、本実施形態のスケジューリング方法及びプログラムによれば、ジョブの最遅終了時刻を確認することにより(ステップS5)、稼働時間内にはロットの納期が達成されないと判断された場合に、稼働時間外にジョブを設定することとしている(ステップS8)。従って、時間外労働によって、ロットの納期遅れが低減され、実情に即したスケジュールが自動的に作成される。この結果、スケジュール作成者の負荷を軽減することができるとともに、納期達成率を向上することができる。また、時間外労働を予め計画することにより、直近に時間外労働の指示がなされることを回避することができる。更に、資源の処理能力を変更することを前提としていないため、組み立て加工など資源の処理能力が制限される作業現場においても対応することができる。
【0077】
また、ジョブが最遅終了時刻を満たすことが不能であることをジョブ情報として記憶する(ステップS807)。従って、ロットの納期遅れを減らしながら、設備の処理能力及び時間外労働を超える部分については、ロットの納期遅れが発生することを許容することにより、現実に近い予測を得ることができる。
【0078】
また、代替資源が存在する場合に、資源を割り付ける基準を設けて資源の選択を行う(仮割付資源決定部23)。従って、ジョブを最適な資源に割り付けることができる。
【0079】
以上、本発明の好適な実施の形態について説明したが、本発明は、前記実施の形態に限定されるものではなく、特許請求の範囲に記載した限りにおいてさまざまな変更が可能なものである。
【0080】
上述の実施の形態では、ステップS4のスケジュール作成において、ステップS804で設定された稼働時間外カレンダーの設定された時間外労働日の時間外労働が可能な勤務時間の全てに、1または2以上のジョブを割り付けているが、それに限られない。例えば、時間外労働日の時間外労働が可能な勤務時間内には1つのジョブのみを設定できるようにし、時間外労働日の時間外労働が可能な勤務時間内1つのジョブが完了した場合に残りの時間外労働日の時間外労働が可能な勤務時間内にジョブを割り付けないようにしても良い。
【0081】
また、ジョブの最遅終了時刻の計算を上述の実施の形態以外の計算により行っても良い。例えば、上述の実施の形態におけるジョブの最遅終了時刻の計算において、更に、下工程のジョブとのリードタイムを考慮して、ジョブの最遅終了時刻の計算を行っても良い。
この場合、より実情に即したスケジュールを作成することができる。
【0082】
また、複数のジョブが抽出される順番を予め記憶させるようにしておいてもよい。例えば、納期が早いロットのジョブほど、あるいは、最遅終了時刻までの余裕が短いジョブほど早く割り付けられるように優先度が高く設定し、最も優先度の高いジョブの順番が最も早く、最も優先度の低いジョブの順番が最も遅くなるように決定し、予め記憶部10の割付順記憶部に記憶する(割付順記憶ステップ)。
この場合、複数のジョブが抽出される順番をジョブの特性に基づいて予め入力するので、複数のジョブから1つのジョブを容易に抽出することができる。
【0083】
【発明の効果】
以上に説明したように、本発明によると、稼働時間計画の他に、稼働時間外計画を作成することにより、実際の現場の状況に即したスケジューリングができるので、スケジュール作成者の負荷を軽減し、納期達成率を向上させることができる。
【図面の簡単な説明】
【図1】本実施の形態によるスケジューリング方法の手順について説明したフローチャートである。
【図2】本例でのロットとこれを工程毎に展開したジョブの関係を描いた模式図である。
【図3】最遅終了時刻を計算するための手順について説明したフローチャートである。
【図4】ジョブの最遅終了時刻を計算する例を描いたガントチャートであり、(a)は仮の最遅終了時刻を設定した例を描いたガントチャートであり、(b)は(a)において一点鎖線で囲まれた一部のジョブを拡大したガントチャートである。
【図5】稼動時間外計画を作成するための手順について説明したフローチャートである。
【図6】残業設定候補日を選択する例を描いたガントチャートである。
【図7】本実施の形態によるプログラムのブロック図である。
【符号の説明】
1 プログラム
11 ロット情報記憶部(ロット情報記憶手段)
12 ジョブ情報記憶部(ジョブ情報記憶手段)
14 資源処理能力記憶部(資源処理能力記憶手段)
15 稼動時間カレンダー記憶部(稼動時間カレンダー記憶手段)
16 稼働時間外カレンダー記憶部(稼働時間外カレンダー記憶手段)
21 最遅終了時刻計算部(最遅終了時刻計算手段)
24 スケジュール作成部(スケジュール作成手段)
25 評価部(評価手段)
26 稼働時間外計画作成部(稼働時間外計画作成手段)
【発明の属する技術分野】
本発明は、スケジューリング方法及びプログラムに関し、特に、作業者の人数や稼働時間等の処理能力の制約がある工程において、複数のジョブを割り付けるスケジューリング方法及びプログラムに関する。
【0002】
【従来の技術】
複数のロットに関するジョブを複数の資源にて処理する際、どのジョブをどの資源に割り付けてどのような順番で処理するかについてのスケジュールが予め作成されることが多い。ここで、ロットとは、受注単位を意味し、ジョブとは、各ロットを製造するのに必要な工程ごとに展開したときの作業1つ1つを意味する。また、資源とは、機械や作業者等、ジョブを処理する設備や人を指す。このスケジュールの作成(以下、「スケジューリング」と略する。)は、従来、スケジュール作成者により手作業で行われていたが、スケジュール作成者の負担軽減及び納期達成率の向上のため、コンピュータによって、自動的に行うことができる技術が開発されている。
【0003】
従来のスケジューリングとして、例えば、非特許文献1に記載されたジョブ・ショップ・スケジューリング及びジョブ・ショップ・シミュレーションという手法がある。非特許文献1の技術においては、スケジューリングの最適化を行うため、ジョブの優先順位等により、前詰めでジョブを配置するものである。ところが、この非特許文献1の技術においては、通常の処理能力をもってしても通常の稼働日、稼動時間内にジョブを終了することができず、ロットの納期遅れを発生してしまう場合がある。
【0004】
そこで、例えば、納期達成率の向上を目的としたスケジューリング方法であって、納期遅れが発生した場合に休日出勤や作業者の補填で納期遅れを解消させる技術が、特許文献1に記載されている。特許文献1の技術においては、まず、工場の作業日情報と、作業者個々の作業可能日情報と、複数作業の優先度と各作業の終了日(納期)と各作業の必要作業日数とからなる作業要件情報を入力する。そして、作業要件情報から最も優先度の低い最低優先度作業を検索し、この作業の作業終了日(次工程の作業開始日の前日。最終工程の場合は納期。)、作業日情報、作業者個々の作業可能日情報及び作業情報(作業責任者、必要作業日数等)から作業開始日を決定する。これを優先度の低い順に繰り返し、それぞれの作業開始日を決定する。このとき、割り当てた日の作業者数が作業の最少対応人数に満たない場合は、応援が必要な日と人数をテーブルに吐き出す(最大人数)。また、休日出勤の指定は、作業責任者の平日の勤務予定日だけでは納期を達成できない場合に行う(作業責任者が休日出勤設定をした場合は、再度不足人数の設定を行う。)。作業責任者の休日出勤や不足人数の設定だけでは納期を達成することができない場合、エラーを表示させ、終了する。以上により得られたスケジュールを人が確認し、満足する結果であればスケジュールを確定する。得られたスケジュールが満足できない場合やエラーが発生した場合は、作業要件を入力し直す。一方、スケジュールを確定した場合は、スケジュール表の作成を行う。
【0005】
【特許文献1】
特開平5−143606号公報(図1、図7)
【非特許文献1】
人見勝人著「生産管理工学」コロナ社出版、昭和53年8月10日(初版第1刷発行)、昭和63年6月10日(初版第5刷発行)、p.124−129
【0006】
【発明が解決しようとする課題】
しかしながら、特許文献1に記載している技術によれば、納期遅れが発生した場合、休日出勤や作業者の補填で補っているため、建設現場のような作業責任者以外の作業者数が自由に変更できる工程でのスケジューリングには適しているが、資源能力である作業者の人数(有技能者数)が限られている場合が多く、また、休日出勤ではなく時間外労働によって補う場合が多い組み立て加工などの作業現場では、適用することが難しい。即ち、特許文献1に記載している技術を適用すれば、時間外労働の指示はスケジュール作成者が手動で設定し、満足する計画結果が得られるまでスケジューリングを繰り返すという手間がかかる。そのため、作業者数(資源能力)が多い場合や、計画期間が長い場合等は試行のパターンが非常に多くなり、スケジュール作成者の負荷が大きくなってしまう。また、特許文献1に記載している技術を組み立て加工などの作業現場に適用すると、例えば、納期が休日を挟まない直近の場合、工場の多くは受注量を極端に上回る資源能力を保持していないため、納期を達成するのが難しいという問題がある。
【0007】
また、特許文献1に記載している技術によれば、完全に納期を守れる計画以外はエラーとなってしまい、このような場合は手介入によって修正し、納期を守れる計画が作成するまでエラーを解除することができない。即ち、やむをえない納期遅れが発生する場合にスケジューリングを作成することができないという問題がある。
【0008】
更に、特許文献1に記載している技術によれば、工程の優先度とその納期(時間制約)のみを考慮して計画を作成しており、ロットの優先度については考慮されておらず、ロット全体の納期達成率という観点から見た場合の最適なスケジュールを作成することが難しいという問題がある。
【0009】
本発明は、上記問題点に鑑みてなされたものであり、スケジュール作成者の負荷を軽減し、納期達成率を向上させることができる、実際の現場の状況に即したスケジューリング方法及びプログラムを提供するものである。
【0010】
【課題を解決するための手段】
上記課題を解決するために、請求項1のスケジューリング方法は、複数のロットについて、少なくともロットの納期の情報を含んだロットの情報を記憶するロット情報記憶ステップと、前記各ロットを通過する工程順に展開した複数のジョブについて、ジョブの特性を記憶するジョブ情報記憶ステップと、前記複数のジョブのいずれかを処理することが可能な資源の処理能力を記憶する資源処理能力記憶ステップと、前記各資源について、時間内労働の勤務日及び勤務時間が登録される稼動時間カレンダーを記憶する稼動時間カレンダー記憶ステップと、前記各資源について、時間外労働が可能な勤務日及び勤務時間が登録される稼働時間外カレンダーを記憶する稼働時間外カレンダー記憶ステップと、前記各ジョブについて、前記ジョブの特性及び前記資源の処理能力に基づいて、前記納期を達成するために完了すべき最遅終了時刻を計算する最遅終了時刻計算ステップと、前記ジョブの特性及び前記資源の処理能力に基づいて、各ジョブを前記資源に仮に割り付けて、稼動時間カレンダー及び稼働時間外カレンダーに対してスケジュールを作成するスケジュール作成ステップと、前記スケジュールにおいて、前記各ジョブについて前記最遅終了時刻を満たすか評価する評価ステップと、前記評価結果により最遅終了時刻を満たさないと判断された各ジョブについて、最遅終了時刻を満たす又は最遅終了時刻を満たすことが不能と判断されるまで、当該ジョブが割り付けられた資源に対して稼働時間外カレンダーに時間外労働日を設定する稼働時間外計画作成ステップと、を備えていることを特徴とする。
【0011】
請求項6のプログラムは、複数のロットについて、少なくともロットの納期の情報を含んだロットの情報を記憶するロット情報記憶手段、前記各ロットを通過する工程順に展開した複数のジョブについて、ジョブの特性を記憶するジョブ情報記憶手段、前記複数のジョブのいずれかを処理することが可能な資源の処理能力を記憶する資源処理能力記憶手段、前記各資源について、時間内労働の勤務日及び勤務時間が登録される稼動時間カレンダーを記憶する稼動時間カレンダー記憶手段、前記各資源について、時間外労働が可能な勤務日及び勤務時間が登録される稼働時間外カレンダーを記憶する稼働時間外カレンダー記憶手段、前記各ジョブについて、前記ジョブの特性及び前記資源の処理能力に基づいて、前記納期を達成するために完了すべき最遅終了時刻を計算する最遅終了時刻計算手段、前記ジョブの特性及び前記資源の処理能力に基づいて、各ジョブを前記資源に割り付けて、稼動時間カレンダーに対してスケジュールを作成するスケジュール作成手段、前記スケジュールにおいて、前記各ジョブについて前記最遅終了時刻を満たすか評価する評価手段、前記評価結果により最遅終了時刻を満たさないと判断された各ジョブについて、最遅終了時刻を満たす又は最遅終了時刻を満たすことが不能と判断されるまで、当該ジョブが割り付けられた資源に対して稼働時間外カレンダーに時間外労働日を設定する稼働時間外計画作成手段、としてコンピュータを機能させることを特徴とする。
【0012】
請求項1、6によると、ジョブの最遅終了時刻を確認することにより、稼働時間内にはロットの納期が達成されないと判断された場合に、稼働時間外の時間外労働日にジョブを設定することとしている。従って、時間外労働によって、ロットの納期遅れが低減され、実情に即したスケジュールが自動的に作成される。この結果、スケジュール作成者の負荷を軽減することができるとともに、納期達成率を向上することができる。また、時間外労働を予め計画することにより、直近に時間外労働の指示がなされることを回避することができる。更に、資源の処理能力を変更することを前提としていないため、組み立て加工など資源の処理能力が制限される作業現場においても対応することができる。
【0013】
請求項2のスケジューリング方法は、請求項1に記載のスケジューリング方法であって、前記稼働時間外計画作成ステップは、前記各資源について、前記評価結果により最遅終了時刻を満たさないと判断されたジョブの中で、前工程のジョブの終了時刻が最も早いジョブを稼働時間外割付対象ジョブと設定する稼働時間外割付対象ジョブ設定ステップと、前記稼働時間外割付対象ジョブの前工程のジョブが割り付けられている日を割付候補日とする割付候補日抽出ステップと、前記割付候補日が時間外労働可能かどうかを判断して、時間外労働可能と判断されるまで割付候補日を1日ずつ後ろにずらして割付日とする割付日抽出ステップと、前記割付日と前記稼働時間外割付対象ジョブが割り付けられている日とが異なる場合、前記稼働時間外割付対象ジョブを処理する資源について、稼働時間外カレンダーの前記割付日を時間外労働日として設定する時間外労働日設定ステップと、前記割付日と前記稼働時間外割付対象ジョブが割り付けられている日とが同じ場合、前記稼働時間外割付対象ジョブ及び前記稼働時間外割付対象ジョブと同資源で同日に開始予定となっているジョブについて、最遅終了時刻を満たすことが不能であることをジョブ情報として記憶するジョブ情報修正ステップと、を備えていることを特徴とする。
【0014】
請求項7のプログラムは、請求項6に記載のプログラムであって、前記稼働時間外計画作成手段は、前記各資源について、前記評価結果により最遅終了時刻を満たさないと判断されたジョブの中で、前工程のジョブの終了時刻が最も早いジョブを稼働時間外割付対象ジョブと設定する稼働時間外割付対象ジョブ設定手段と、前記稼働時間外割付対象ジョブの前工程のジョブが割り付けられている日を割付候補日とする割付候補日抽出手段、前記割付候補日が時間外労働可能かどうかを判断して、時間外労働可能と判断されるまで割付候補日を1日ずつ後ろにずらして割付日とする割付日抽出手段、前記割付日と前記稼働時間外割付対象ジョブが割り付けられている日とが異なる場合、前記稼働時間外割付対象ジョブを処理する資源について、稼働時間外カレンダーの前記割付日を時間外労働日として設定する時間外労働日設定手段、前記割付日と前記稼働時間外割付対象ジョブが割り付けられている日とが同じ場合、前記稼働時間外割付対象ジョブ及び前記稼働時間外割付対象ジョブと同資源で同日に開始予定となっているジョブについて、最遅終了時刻を満たすことが不能であることをジョブ情報として記憶するジョブ情報修正手段、としてコンピュータをさらに機能させることを特徴とする。
【0015】
請求項2、7によると、ジョブが最遅終了時刻を満たすことが不能であることをジョブ情報として記憶する。従って、ロットの納期遅れを減らしながら、設備の処理能力及び時間外労働を超える部分については、ロットの納期遅れが発生することを許容することにより、現実に近い予測を得ることができる。
【0016】
請求項3のスケジューリング方法は、請求項1又は2に記載のスケジューリング方法であって、前記各ジョブの最遅終了時刻を、前記納期の他に、下工程のジョブとのリードタイムを考慮して計算することを特徴とする。
【0017】
請求項8のプログラムは、請求項6又は7に記載のプログラムであって、前記各ジョブの最遅終了時刻を、前記納期の他に、下工程のジョブとのリードタイムを考慮して計算することを特徴とする。
【0018】
請求項3、8によると、最遅終了時刻の計算に後工程のジョブとのリードタイムを考慮している。従って、より実情に即したスケジュールを作成することができる。
【0019】
請求項4のスケジューリング方法は、請求項1〜3に記載のスケジューリング方法であって、前記複数のジョブが抽出される順番を予め記憶しておくための割付順記憶ステップをさらに備えていることを特徴とする。
【0020】
請求項9のプログラムは、請求項6〜8に記載のプログラムであって、前記複数のジョブが抽出される順番を予め記憶しておくための割付順記憶手段をさらに備えていることを特徴とする。
【0021】
請求項4、9によると、前記複数のジョブが抽出される順番をジョブの特性に基づいて予め入力するので、複数のジョブから1つのジョブを容易に抽出することができる。
【0022】
請求項5のスケジューリング方法は、請求項1〜4に記載のスケジューリング方法であって、前記最遅終了時刻計算ステップ及び前記スケジュール作成ステップは、前記ジョブのいずれかを処理することが可能な資源が複数存在する場合に、各ジョブを前記複数の資源のいずれに仮に割り付けるかを決定する仮割付資源決定ステップを更に有することを特徴とする。
【0023】
請求項10のプログラムは、請求項6〜9に記載のプログラムであって、前記最遅終了時刻計算手段及び前記スケジュール作成手段は、前記ジョブのいずれかを処理することが可能な資源が複数存在する場合に、各ジョブを前記複数の資源のいずれに仮に割り付けるかを決定する仮割付資源決定手段を更に有することを特徴とする。
【0024】
請求項5、10によると、代替資源が存在する場合に、資源を割り付ける基準を設けることによって、ジョブを最適な資源に割り付けることができる。
【0025】
尚、請求項5〜10の夫々に記載されているプログラムは、CD−ROM(Compact Disc Read Only Memory)、FD(Flexible Disk)、MO(Magneto−Optic)などのリムーバブル型記録媒体やハードディスクなどの固定型記録媒体に記録して配布可能である他、有線又は無線の電気通信手段によってインターネットなどの通信ネットワークを介して配布可能である。
【0026】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の好適な実施の形態を説明する。
【0027】
まず、本実施形態に係るスケジューリング方法を、具体的な一例に即して説明する。図1は、本実施の形態によるスケジューリング方法の手順について説明したフローチャートである。図2は、本例でのロットとこれを工程毎に展開したジョブの関係を描いた模式図である。図3は、最遅終了時刻を計算するための手順について説明したフローチャートである。図4は、ジョブの最遅終了時刻を計算する例を描いたガントチャートであり、(a)は仮の最遅終了時刻を設定した例を描いたガントチャートであり、(b)は(a)において一点鎖線で囲まれた一部のジョブを拡大したガントチャートである。図5は、稼動時間外計画を作成するための手順について説明したフローチャートである。図6は、残業設定候補日を選択する例を描いたガントチャートである。
【0028】
図2に示すように、本例において、ロットはA、B、C、Dの4種類あり、ロットA〜Dに対して対象工程は工程1〜3の3工程である。従って、当該工程で処理すべきジョブはジョブA1〜A3、ジョブB1〜3、ジョブC1〜C4、ジョブD1〜D4であり、合計で12ジョブがある。また、ジョブA1、B1、C1、D1を処理可能な資源は資源1であり、ジョブA2、B2、C2、D2を処理可能な資源は資源2であり、ジョブA3、B3、C3、D3を処理可能な資源は資源3であり、ジョブA4、B4、C4、D4を処理可能な資源は資源4である。
【0029】
まず、本実施の形態によるスケジューリング方法の手順について、図1に基づいて、説明する。
【0030】
ステップS1(ロット情報記憶ステップ、ジョブ情報記憶ステップ、資源処理能力記憶ステップ、稼働時間カレンダー記憶ステップ、稼働時間外カレンダー記憶ステップ)において、ロット情報として、A、B、C、Dの4種類のロットと、その納期を登録する。また、ジョブ情報として、A1〜A3、B1〜B3、C1〜C3、D1〜D3の12ジョブと、ジョブの特性であるその処理量を登録する。また、資源情報として、資源1、2、3の3種類を登録する。さらに、資源1〜3の処理能力として、ジョブA1、B1、C1、D1は資源1で処理可能であること、ジョブA2、B2、C2、D2は資源2で処理可能であること、ジョブA3、B3、C3、D3は資源3で処理可能であること、ジョブA4、B4、C4、D4は資源4で処理可能であること、及び、資源1〜4の処理能力をジョブ資源能力として登録する。尚、本実施例において、資源1〜4の処理能力は全て等しく1とする。
また、稼動時間カレンダーに資源と対応して各資源の通常の稼働日及び稼働時間を登録し、稼働時間外カレンダーに資源と対応して各資源の稼働時間外の稼動可能日及び稼働可能時間を登録する。尚、本実施例では、予め時間外労働を行うことは決まっていないため、稼働時間外カレンダーに時間外労働日は設定登録しない。一方、予め時間外労働を行うことが決まっている場合は、時間外労働日を稼働時間外カレンダーに設定登録しておく。
【0031】
そして、ステップS2において、全ジョブの割付資源及び最遅終了時刻を未決定として初期設定する。また、全ジョブの遅れ解消可否フラグを「True」と設定する。ここで、最遅終了時刻とは、ロットがその納期を達成するために、各ジョブが処理を完了すべき時刻である。また、遅れ解消可否フラグとは、最遅終了時刻を満たすか否かを判断するためのフラグであり、最遅終了時刻を満たす可能性があるジョブに対しては「True」とされ、最遅終了時刻を満たすことができないと判断されたジョブに対しては「False」とされる。
【0032】
次に、ステップS3(最遅終了時刻計算ステップ)において、各ジョブの最遅終了時刻を設定する。ここで、ジョブの最遅終了時刻の計算の手順について、図3及び図4に基づいて説明する。
【0033】
まず、ステップS301において、ジョブの仮の最遅終了時刻を求める。仮の最遅終了時刻の計算は、ロット単位で、稼働時間カレンダーに対して、各ロットのジョブの資源への割付を、下工程のジョブから順にロットの納期から後詰め(バックワード)で行う。この際、同一資源においては資源能力を無視し、図4(a)に示すように、各ロットのジョブを山積みして割り付ける。そして、割り付けられた各ジョブについて処理が終了する時刻を、当該ジョブの仮の最遅終了時刻として設定する。ここで、本実施例の場合は、ジョブを処理することができる資源が決まっているため、ジョブを仮に割り付ける資源の選択は行わない。代替資源が存在する場合は、ジョブを仮に割り付ける資源を所定の基準に基づいて選択し(仮割付資源決定ステップ)、仮の最遅終了時刻を設定する。所定の基準とは、例えば、処理能力が高い資源ほど選択されるように順番が決定される。
具体的には、図4中、各日程(稼働日)の中で網掛けになっている部分が稼働時間である。また、各ジョブをロット毎に異なる模様を付して記載している。更に、三角印は各ロットの納期をロットごとに異なる模様を付して表している。
尚、本実施例では、時間外労働を行うことが決まっていない場合であり、稼働時間カレンダーのみに対して、仮の最遅終了時刻が計算される。一方、予め時間外労働を行うことが決まっており、ステップS1で予め時間外労働日の設定登録が行われている場合は、仮の最遅終了時刻の計算は、稼働時間カレンダー及び予め時間外労働日の設定登録が行われている稼働時間外カレンダーに対して行われる。
【0034】
次に、ステップS302において、ステップS301で山積みされて仮の最遅終了時刻が計算された全てのジョブに対して、資源毎に、山積みされたジョブの負荷及び資源の処理能力を考慮してジョブの最遅終了時刻の計算を行う。
具体的には、最遅終了時刻の計算は次式のとおりとなる。
【0035】
【数1】
【0036】
本実施例では、図4(a)、(b)に示すように、まず、ロットA、B、Cの最も下工程であるジョブA3、B3、C3が割り付けられている稼動カレンダーの最終日の資源3に注目し、これらのジョブA3、B3、C3の最遅終了時刻の変更を行う。即ち、図4(b)に示すように、ジョブA3とジョブB3(重複時間はt1)、ジョブB3とジョブC3(重複時間はt2)が重複している。また、資源3の処理能力は1である。従って、ジョブA3、B3、C3の仮の最遅終了時刻をTlet_A3、Tlet_B3、Tlet_C3とすると、ジョブA3、B3、C3の最遅終了時刻Tle_A3、Tle_B3、Tle_C3は、それぞれ次式で計算される値となる。
Tle_A3=Tlet_A3−t2(2−1)/1
Tle_B3=Tlet_B3−[t2(2−1)/1+t1(2−1)/1]
Tle_C3=Tlet_C3−t1(2−1)/1
尚、本実施例では、時間外労働を行うことが決まっていない場合であり、稼働時間カレンダーのみに対して、最遅終了時刻が計算される。一方、予め時間外労働を行うことが決まっており、ステップS1で予め時間外労働日の設定登録が行われている場合は、最遅終了時刻の計算は、稼働時間カレンダー及び予め時間外労働日の設定登録が行われている稼働時間外カレンダーに対して行われる。
【0037】
次に、ステップS303では、全資源についてステップS302以降の最遅終了時刻を計算したかを判断する。全資源についてステップS302以降の最遅終了時刻の計算が行われていない場合は(ステップS303:NO)、ステップS304で、対象を別の資源にして、ステップS302に戻る。一方、全資源についてステップS302の最遅終了時刻の計算が行われている場合は(ステップS303:YES)、ステップS305に進む。
【0038】
ステップS305以降では、上記で求めた全てのジョブの最遅終了時刻について、ロット単位で上下工程ジョブの整合性をとる。まず、ステップS305において、ロット単位で、下工程のジョブから順に、上工程ジョブの最遅終了時刻と(下工程ジョブの最遅終了時刻−下工程ジョブの処理時刻)とを比較し、次式を満たすかを判断する。
上工程ジョブの最遅終了時刻>下工程ジョブの最遅終了時刻−下工程ジョブの処理時刻
そして、ステップS305の式を満たす場合(ステップS305:YES)は、ステップS306において、上工程ジョブの最遅終了時刻を次式により修正する。
上工程ジョブの最遅終了時刻=下工程ジョブの最遅終了時刻−下工程ジョブの処理時刻
一方、ステップS305の式を満たさない場合(ステップS305:NO)は、ステップS307に進む。
【0039】
ステップS307では、ステップS305で比較した上工程ジョブがロットの最上工程のジョブかどうかを判断する。
ステップS305で比較した上工程ジョブがロットの最上工程のジョブでない場合(ステップS307:NO)は、上工程ジョブに比較対象を移し(ステップS308)、ステップS305に戻る。
一方、ステップS305で比較した上工程ジョブがロットの最上工程のジョブである場合(ステップS307:YES)は、全ロットについてステップS305の比較を行ったかを判断する(ステップS309)。
全ロットについてステップS305の比較が行われていない場合は(ステップS309:NO)、ステップS310で、対象のロットを別のロットにして、ステップS305に戻る。一方、全ロットについてステップS305の比較が行われている場合は(ステップS309:YES)、ステップS311に進む。
ステップS311では、以上により計算された最遅終了時刻を、ジョブの最遅終了時刻として設定して終了する。
【0040】
以上によりジョブの最遅終了時刻が設定され、次に、ステップS4(スケジュール作成ステップ)において、各ジョブの割付順及び資源の処理能力に基づいて、全ジョブを資源に仮割付を行い、稼働時間カレンダー及び稼働時間外カレンダーに対してスケジュールを作成する。尚、稼働時間外カレンダーについては、ステップS1において予め時間外労働日と設定登録されている日及び後述するステップS8において時間外労働日として設定される日についてのみジョブの割付が可能なものとしてスケジュールを作成する。
この仮割付では、従来技術として行われているスケジューリングの手法(例えば、上述の非特許文献1に記載するようなジョブの優先順位を考慮して、前詰めでジョブを配置する手法等)を用いて行う。具体的には、まず資源に割り付けるジョブを、優先度を基にして抽出する。例えば、納期が早いロットのジョブほど、あるいは、最遅終了時刻までの余裕が短いジョブほど早く割り付けられるように優先度が高く設定される。そして、最も優先度の高いジョブが最も早く抽出され、最も優先度の低いジョブが最も遅く抽出される。また、代替資源が存在する場合、所定の基準を基にしてジョブを仮に割り付ける資源を決定する(仮割付資源決定ステップ)。所定の基準とは、例えば、処理能力が高い資源ほど選択されるように順番が決定される。本例では、代替資源がないため、ジョブを仮に割り付ける資源は選択されない。尚、上述の割付順及び所定の基準は自動で設定されても良いし、手動で設定されても良い。
そして、資源に割り付ける対象とするジョブを上述の割付順に抽出し、稼働時間カレンダー及び稼働時間外カレンダーに対して前詰め(フォワード)で、抽出したジョブを資源に仮に割り付けてスケジュールを作成する。
尚、本実施例では、予めステップS1で時間外労働日として設定登録されている日がないため、始めは稼働時間カレンダーのみに対してスケジュールが作成され、ステップS8において時間外労働日が設定された場合に稼働時間カレンダー及び時間外労働日を設定した稼働時間外カレンダーに対してスケジュールが作成される。一方、予めステップS1で時間外労働日が設定登録されている日がある場合は、始めから稼働時間カレンダー及びステップS1で時間外労働日が設定登録された稼働時間外カレンダーについてスケジュールが作成され、ステップS8において時間外労働日が更に設定された場合は、稼働時間カレンダー及びステップS1で登録された時間外労働日に加えてステップS8で追加した時間外労働日が設定された稼働時間外カレンダーに対してスケジュールが作成される。
【0041】
そして、ステップS5(評価ステップ)において、作成されたスケジュールについて、全ロットが納期を達成しているかどうかを判断する。
全ロットが納期を達成している場合(ステップS5:YES)は、ステップS9において、各ジョブについて仮に割り付けた資源を割付資源として決定し、スケジューリングを終了する。
一方、全ロットが納期を達成していない場合(ステップS5:NO)は、ステップS6において、納期遅れジョブを検出する。ここで、納期遅れジョブとは、ジョブの終了時刻が設定した最遅終了時刻よりも遅いジョブ、即ち、最遅終了時刻を満たしていないジョブのことを意味する。
【0042】
次に、ステップS7において、検出した納期遅れジョブが、納期遅れ解消、即ち、最遅終了時刻を満たす可能性があるジョブであるかどうかを判断する。判断は検出したジョブの遅れ解消フラグにより行う。
遅れ解消フラグが「True」となっているジョブについては、最遅終了時刻を満たす可能性があるジョブであると判断し(ステップS7:YES)、ステップS8(稼働時間外計画作成ステップ)において、稼働時間外計画を設定する。一方、遅れ解消フラグが「False」となっているジョブについては、最遅終了時刻を満たすことが不能であるジョブであると判断し(ステップS7:NO)、ステップS9において、最遅終了時刻を満たすことが不能であるジョブが含まれるロットについてはやむをえない納期遅れであることを表示し、各ジョブについて仮に割り付けた資源を割付資源として決定し、スケジューリングを終了する。
【0043】
ここで、ステップS8の稼働時間外計画の設定の手順について、図5及び図6に基づいて説明する。
【0044】
まず、ステップS801(稼働時間外割付対象ジョブ設定ステップ、割付候補日抽出ステップ)において、各資源について、納期解消フラグが「True」となっている検出した納期遅れジョブの中で、その上工程のジョブの処理終了時刻が最も早いジョブを稼働時間外割付対象ジョブとし、その上工程のジョブの処理終了日を稼働時間外労働の割付候補日とする。具体的には、図6に示すように、資源3に注目して、納期遅れジョブがX3、Y3の2つある場合、それらの上工程のジョブX2、Y1の処理終了時刻を見て、上工程のジョブY1の処理終了時刻が早いジョブY3を稼働時間外割付対象ジョブとし、Y1が割り付けられている日を割付候補日とする。
【0045】
次に、ステップS802(割付日抽出ステップ)及びステップS803(割付日抽出ステップ)において、割付候補日が時間外労働可能かどうかを判断する。まず、ステップS802では、割付候補日が時間外労働不可であるかどうか、即ち、割付候補日が稼働時間外カレンダーで稼動可能日と設定されていないかどうかを判断する。割付候補日が稼働時間外カレンダーで稼動可能日と設定されていない場合(ステップS802:YES)、ステップS805に進む。一方、割付候補日が稼働時間外カレンダーで稼動可能日と設定されている場合(ステップS802:NO)、ステップS803に進む。
ステップS803では、割付候補日が既に稼働時間外カレンダーで時間外労働設定済みであるかどうかを判断する。割付候補日が既に稼働時間外カレンダーで時間外労働設定済みである場合(ステップS803:YES)、ステップS805(割付日抽出ステップ)に進む。一方、割付候補日が稼働時間外カレンダーで時間外労働の設定がされていない場合(ステップS803:NO)、ステップS804(時間外労働日設定ステップ)に進む。ステップS804では、まず、割付候補日を割付日と設定する。そして、割付日を時間外労働日として設定し、ステップS808に進む。
【0046】
ステップS805では、割付候補日が時間外労働可能でないため、割付候補日を1日後ろにずらして、ステップS806(割付日抽出ステップ)で新たな割付候補日が稼働時間外割付対象ジョブの処理開始日と同日かどうかを判断する。
【0047】
新たな割付候補日が稼働時間外割付対象ジョブの処理開始日と同日でない場合(ステップS806:NO)は、ステップS802に戻る。
一方、新たな割付候補日が稼働時間外割付対象ジョブの処理開始日と同日である場合(ステップS806:YES)は時間外労働を設定することが不能であり、ステップS807(ジョブ情報修正ステップ)において、稼働時間外割付対象ジョブ及び稼働時間外割付対象ジョブと同資源で同日に開始予定となっている納期遅れジョブの遅れ解消可否フラグを「False」と変更し、ステップS808に進む。
【0048】
ステップS808では、全ての資源について上述のステップを行ったかどうかが判断される。
全ての資源について行われていない場合には(ステップS808:NO)、ステップS809において、対象を別の資源として、ステップS801に戻る。
一方、全ての資源について行われていない場合には(ステップS808:YES)、稼働時間外計画の設定を終了する。
【0049】
以上によりジョブの稼働時間外計画が設定され、次に、ステップS4に戻り、稼働時間カレンダー及び稼働時間外計画で時間外労働日が設定された稼働時間外カレンダー(予めステップS1で時間外労働日が設定登録されている場合は、ステップS1で登録された時間外労働日に加えて稼働時間外計画で追加した時間外労働日が設定された稼働時間外カレンダー)に基づいて、再度、スケジュールの作成を行う。具体的には、稼働時間外計画で時間外労働日が設定されている日(予めステップS1で時間外労働日が設定登録されている場合は、ステップS1で時間外労働日が設定登録された日及び稼働時間外計画で時間外労働日が設定されている日)は、時間内労働の勤務時間に加えて、時間外労働が可能な勤務時間全てにジョブを割り付けることができるものとしてスケジュールの作成を行う。
【0050】
次に、本発明のプログラムについて、図7に基づいて説明する。図7は、本実施の形態によるプログラムのブロック図である。
【0051】
図7に示すように、本実施の形態によるプログラム1は、記憶部10と、演算部20と、から構成されている。そして、記憶部10に記憶されている情報は、適宜、インターフェース部30により出力することができる。
【0052】
記憶部10は、ロット情報記憶部(ロット情報記憶手段)11と、ジョブ情報記憶部(ジョブ情報記憶手段)12と、資源情報記憶部13と、資源処理能力記憶部(資源処理能力記憶手段)14と、稼動時間カレンダー記憶部(稼動時間カレンダー記憶手段)15と、稼働時間外カレンダー記憶部(稼働時間外カレンダー記憶手段)16と、スケジュール記憶部17と、を有している。
【0053】
ロット情報記憶部11は、図示されない入力装置から入力された、複数のロットの情報、例えば、納期等をロットごとに記憶する。また、ロット情報記憶部11は、後述する最遅終了時刻計算部21に対して、これらのロットの情報を出力する。
【0054】
ジョブ情報記憶部12は、図示されない入力装置から入力された、複数のジョブの特性、例えば処理量、最早着手時刻等をジョブごとに記憶する。そして、後述するジョブ情報修正部26eから出力されたジョブ情報を記憶する。また、ジョブ情報記憶部12は、後述する最遅終了時刻計算部21及び抽出ジョブ決定部22に対して、これら複数のジョブの特性に関する情報を出力する。
【0055】
資源情報記憶部13は、入力装置から入力された、複数のジョブのいずれかを処理することが可能な複数の資源情報(資源名)を記憶する。また、資源情報記憶部13は、後述する資源処理能力記憶部14に対して、資源情報を出力する。
【0056】
資源処理能力記憶部14は、入力装置から入力された、資源名記憶部13に資源名が記憶された資源の処理能力、例えば、ジョブの処理可能性、単位時間当たりのジョブ処理量等を資源ごとに記憶する。資源処理能力記憶部14は各資源の処理能力がジョブごとに異なる場合には、ジョブごとに処理能力を記憶することが好ましい。また、資源処理能力記憶部14は、後述する抽出ジョブ決定部22及び仮割付資源決定部23に対して、資源処理能力に関する情報を出力する。
【0057】
稼働時間カレンダー記憶部15は、入力装置から入力された、時間内労働の勤務日及び勤務時間を資源ごとに記憶する。また、稼働時間カレンダー記憶部15は、後述するスケジュール作成部24に対して、記憶している時間内労働の勤務日及び勤務時間を出力する。
【0058】
稼働時間外カレンダー記憶部16は、入力装置から入力された、時間外労働が可能な勤務日及び勤務時間を資源ごとに記憶する。また、入力装置から入力された、予め時間外労働を行う予定である時間外労働日の設定登録情報を記憶する。そして、後述する稼働時間外計画作成部26から供給された時間外労働日の設定情報を記憶する。また、稼働時間外カレンダー記憶部16は、後述するスケジュール作成部24に対して、記憶している設定された時間外労働日及びその勤務時間を出力する。
【0059】
スケジュール記憶部17は、後述するスケジュール作成部24から供給されたスケジュールを記憶する。また、スケジュール記憶部17は、後述する評価部25に対して、記憶しているスケジュールを出力する。さらに、スケジュール記憶部17は、全ジョブに対して割り付けられる資源が決定した場合に、後述するスケジュール結果出力インターフェース31に対して、最終的に決定されたスケジュールを出力する。
【0060】
演算部20は、最遅終了時刻計算部(最遅終了時刻計算手段)21と、抽出ジョブ決定部22と、仮割付資源決定部23と、スケジュール作成部(スケジュール作成手段)24と、評価部(評価手段)25と、稼働時間外計画作成部(稼働時間外計画作成手段)26と、資源決定部27と、を有している。
【0061】
最遅終了時刻計算部21は、稼働時間カレンダー記憶部15から出力された稼働時間カレンダー及び稼働時間外カレンダー16から出力された稼働時間外カレンダーを基にして、ロット情報記憶部11から供給されたロットの納期情報を達成するために完了すべきジョブの最遅終了時刻を計算する。最遅終了時刻の計算は、ジョブ情報記憶部12から供給されたジョブの特性及び仮割付資源決定部23から供給された仮割付基準を考慮しつつ行われる。
【0062】
抽出ジョブ決定部22は、ジョブ情報記憶部12から供給されたジョブの特性及び資源処理能力記憶部14から供給された資源処理能力により定められる優先度に基づいて、資源に割り付けるために抽出する1つのジョブを決定して、スケジュール作成部24に出力する。例えば、抽出ジョブ決定部22は、ジョブ情報記憶部12からジョブの特性として各ジョブの納期情報を受け取り、また、資源処理能力記憶部14から処理能力を受け取り、これらに従って割付可能期間の最も短いものが優先度の高いジョブとして、抽出ジョブを決定する。
【0063】
仮割付資源決定部23は、ジョブ情報記憶部12から供給されたジョブの処理量及び資源処理能力記憶部14から供給された資源処理能力により定められる仮割付基準に基づいて、各ジョブを複数の資源のいずれに仮に割り付けるかについて決定して、最遅終了時刻決定部21及びスケジュール作成部24に出力する。例えば、仮割付資源決定部23は、資源処理能力記憶部14から処理能力を受け取り、これらに従って処理可能な資源に前詰めで割り付けた場合に、最も早くジョブが終了する資源であることを仮割付基準として、仮に割り付ける資源を決定する。
【0064】
スケジュール作成部24は、抽出ジョブ決定部22から供給された優先度と、仮割付資源決定部23から供給された仮割付基準とにより、稼働時間カレンダー記憶部15から出力された稼働時間カレンダー及び稼働時間外カレンダー16から出力された稼働時間外カレンダーを基にして、スケジュールを作成する。即ち、まず、割り付けられる資源が未決定のジョブのうち優先度が一番高いジョブ(以下、「抽出ジョブ」と称する)を、資源の処理能力から判断して処理可能な全ての資源のそれぞれに仮に割り付ける。そして、当該抽出ジョブを処理することが可能な全ての資源のそれぞれに仮に割り付けた各場合について、割り付けられる資源が決定済みのジョブ以外のジョブを優先度の高いジョブから順に、仮割付基準によりいずれかの資源に仮割り付けし、1つのスケジュールを作成する。スケジュール作成部24では、資源使用可能期間の開始時刻から前方詰めで各ジョブが割り付けられる。また、スケジュール作成部24は、作成したスケジュールをスケジュール記憶部17に順次出力する。
【0065】
評価部25は、スケジュール記憶部17から供給された、スケジュールを評価する。評価部25では、スケジュールにおいて、各ジョブが最遅終了時刻を満たすか否かを評価する。各ジョブが最遅終了時刻を満たさない場合は、その結果を稼働時間外計画作成部26に出力し、各ジョブが最遅終了時刻を満たす又は満たすことが不能と判断された場合は、その結果を後述する資源決定部25に出力する。
【0066】
稼働時間外計画作成部26は、評価部25から供給された各ジョブが最遅終了時刻を満たさないとの評価結果に基づいて、最遅終了時刻を満たす又は最遅終了時刻を満たすことが不能と判断されるまで、最遅終了時刻を満たさないジョブが割り付けられた資源に対して稼働時間外カレンダーに時間外労働日を設定する。
【0067】
稼働時間外計画作成部26は、稼働時間外割付対象ジョブ設定部26aと、割付候補日抽出部26bと、割付日抽出部26cと、時間外労働設定部26dと、ジョブ情報修正部26eと、から構成される。
【0068】
稼働時間外割付対象ジョブ設定部26aは、各資源について、評価部25から供給された最遅終了時刻を満たさないと判断されたジョブの中で、上工程のジョブの終了時刻が最も早いジョブを稼働時間外割付対象ジョブと設定して、割付候補日抽出部26b及び時間外労働設定日26d及びジョブ情報修正部26eに出力する。
【0069】
割付候補日抽出部26bは、稼働時間外割付対象ジョブ設定部26aから供給された稼働時間外割付対象ジョブの上工程のジョブが割り付けられている日を割付候補日と設定して、後述する割付日抽出部26cに出力する。
【0070】
割付日抽出部26cは、割付候補日抽出部26bから供給された割付候補日が時間外労働可能かどうかを判断して、時間外労働可能と判断されるまで割付候補日を1日ずつ後ろにずらして割付日と設定して、後述する時間外労働設定部26d及びジョブ情報修正部26eに出力する。
【0071】
時間外労働設定部26dは、割付日抽出部26cから供給された割付日と稼働時間外割付対象ジョブ設定部26aから供給されている稼働時間外割付対象ジョブが割り付けられている日とを比較して、それらが異なる場合、稼働時間外割付対象ジョブを処理する資源について、稼働時間外カレンダーの割付日を時間外労働日として設定して、稼働時間外カレンダー記憶部16に出力する。
【0072】
ジョブ情報修正部26eは、割付日抽出部26cから供給された割付日と稼働時間外割付対象ジョブ設定部26aから供給されている稼働時間外割付対象ジョブが割り付けられている日とを比較して、それらが同じ場合、稼働時間外割付対象ジョブ及び稼働時間外割付対象ジョブと同資源で同日に開始予定となっているジョブについて、最遅終了時刻を満たすことが不能であることをジョブ情報としてジョブ情報記憶部12に出力する。
【0073】
資源決定部27は、評価部25から供給された各ジョブが最遅終了時刻を満たす又は満たすことが不能であるとの評価結果に基づいて、作成されたスケジュールで抽出ジョブに仮割付された資源を、割り付けるための資源と決定する。また、資源決定部27は、スケジュール記憶部17に対して、各ジョブとその割付資源に関する情報を出力する。
【0074】
インターフェース装置30は、スケジュール結果出力インターフェース31と、プリンタ32と、ディスプレイ33とを有している。インターフェース出力I/F31は、スケジュール記憶部17から供給された最終的に得られたスケジュール結果を、プリンタ32またはディスプレイ33に出力する。
【0075】
ここで、図7に示されているプログラム1の各部10、20は、例えば汎用のパーソナルコンピュータによって構成されている。かかるパーソナルコンピュータには、CPU、ROM、RAM、ハードディスク、FDやCDの駆動装置などのハードウェアが収納されており、ハードディスクには、プログラム(このプログラムは、CD−ROMやFD、MOなどのリムーバブルな記憶媒体に記録しておくことにより、様々なコンピュータにインストールすることが可能である)を含む各種のソフトウェアが記録されている。そして、これらのハードウェアおよびソフトウェアが組み合わされることによって、上述の各部10、20が構築されている。
【0076】
このように、本実施形態のスケジューリング方法及びプログラムによれば、ジョブの最遅終了時刻を確認することにより(ステップS5)、稼働時間内にはロットの納期が達成されないと判断された場合に、稼働時間外にジョブを設定することとしている(ステップS8)。従って、時間外労働によって、ロットの納期遅れが低減され、実情に即したスケジュールが自動的に作成される。この結果、スケジュール作成者の負荷を軽減することができるとともに、納期達成率を向上することができる。また、時間外労働を予め計画することにより、直近に時間外労働の指示がなされることを回避することができる。更に、資源の処理能力を変更することを前提としていないため、組み立て加工など資源の処理能力が制限される作業現場においても対応することができる。
【0077】
また、ジョブが最遅終了時刻を満たすことが不能であることをジョブ情報として記憶する(ステップS807)。従って、ロットの納期遅れを減らしながら、設備の処理能力及び時間外労働を超える部分については、ロットの納期遅れが発生することを許容することにより、現実に近い予測を得ることができる。
【0078】
また、代替資源が存在する場合に、資源を割り付ける基準を設けて資源の選択を行う(仮割付資源決定部23)。従って、ジョブを最適な資源に割り付けることができる。
【0079】
以上、本発明の好適な実施の形態について説明したが、本発明は、前記実施の形態に限定されるものではなく、特許請求の範囲に記載した限りにおいてさまざまな変更が可能なものである。
【0080】
上述の実施の形態では、ステップS4のスケジュール作成において、ステップS804で設定された稼働時間外カレンダーの設定された時間外労働日の時間外労働が可能な勤務時間の全てに、1または2以上のジョブを割り付けているが、それに限られない。例えば、時間外労働日の時間外労働が可能な勤務時間内には1つのジョブのみを設定できるようにし、時間外労働日の時間外労働が可能な勤務時間内1つのジョブが完了した場合に残りの時間外労働日の時間外労働が可能な勤務時間内にジョブを割り付けないようにしても良い。
【0081】
また、ジョブの最遅終了時刻の計算を上述の実施の形態以外の計算により行っても良い。例えば、上述の実施の形態におけるジョブの最遅終了時刻の計算において、更に、下工程のジョブとのリードタイムを考慮して、ジョブの最遅終了時刻の計算を行っても良い。
この場合、より実情に即したスケジュールを作成することができる。
【0082】
また、複数のジョブが抽出される順番を予め記憶させるようにしておいてもよい。例えば、納期が早いロットのジョブほど、あるいは、最遅終了時刻までの余裕が短いジョブほど早く割り付けられるように優先度が高く設定し、最も優先度の高いジョブの順番が最も早く、最も優先度の低いジョブの順番が最も遅くなるように決定し、予め記憶部10の割付順記憶部に記憶する(割付順記憶ステップ)。
この場合、複数のジョブが抽出される順番をジョブの特性に基づいて予め入力するので、複数のジョブから1つのジョブを容易に抽出することができる。
【0083】
【発明の効果】
以上に説明したように、本発明によると、稼働時間計画の他に、稼働時間外計画を作成することにより、実際の現場の状況に即したスケジューリングができるので、スケジュール作成者の負荷を軽減し、納期達成率を向上させることができる。
【図面の簡単な説明】
【図1】本実施の形態によるスケジューリング方法の手順について説明したフローチャートである。
【図2】本例でのロットとこれを工程毎に展開したジョブの関係を描いた模式図である。
【図3】最遅終了時刻を計算するための手順について説明したフローチャートである。
【図4】ジョブの最遅終了時刻を計算する例を描いたガントチャートであり、(a)は仮の最遅終了時刻を設定した例を描いたガントチャートであり、(b)は(a)において一点鎖線で囲まれた一部のジョブを拡大したガントチャートである。
【図5】稼動時間外計画を作成するための手順について説明したフローチャートである。
【図6】残業設定候補日を選択する例を描いたガントチャートである。
【図7】本実施の形態によるプログラムのブロック図である。
【符号の説明】
1 プログラム
11 ロット情報記憶部(ロット情報記憶手段)
12 ジョブ情報記憶部(ジョブ情報記憶手段)
14 資源処理能力記憶部(資源処理能力記憶手段)
15 稼動時間カレンダー記憶部(稼動時間カレンダー記憶手段)
16 稼働時間外カレンダー記憶部(稼働時間外カレンダー記憶手段)
21 最遅終了時刻計算部(最遅終了時刻計算手段)
24 スケジュール作成部(スケジュール作成手段)
25 評価部(評価手段)
26 稼働時間外計画作成部(稼働時間外計画作成手段)
Claims (10)
- 複数のロットについて、少なくともロットの納期の情報を含んだロットの情報を記憶するロット情報記憶ステップと、
前記各ロットを通過する工程順に展開した複数のジョブについて、ジョブの特性を記憶するジョブ情報記憶ステップと、
前記複数のジョブのいずれかを処理することが可能な資源の処理能力を記憶する資源処理能力記憶ステップと、
前記各資源について、時間内労働の勤務日及び勤務時間が登録される稼動時間カレンダーを記憶する稼動時間カレンダー記憶ステップと、
前記各資源について、時間外労働が可能な勤務日及び勤務時間が登録される稼働時間外カレンダーを記憶する稼働時間外カレンダー記憶ステップと、
前記各ジョブについて、前記ジョブの特性及び前記資源の処理能力に基づいて、前記納期を達成するために完了すべき最遅終了時刻を計算する最遅終了時刻計算ステップと、
前記ジョブの特性及び前記資源の処理能力に基づいて、各ジョブを前記資源に仮に割り付けて、稼動時間カレンダー及び稼働時間外カレンダーに対してスケジュールを作成するスケジュール作成ステップと、
前記スケジュールにおいて、前記各ジョブについて前記最遅終了時刻を満たすか評価する評価ステップと、
前記評価結果により最遅終了時刻を満たさないと判断された各ジョブについて、最遅終了時刻を満たす又は最遅終了時刻を満たすことが不能と判断されるまで、当該ジョブが割り付けられた資源に対して稼働時間外カレンダーに時間外労働日を設定する稼働時間外計画作成ステップと、を備えていることを特徴とするスケジューリング方法。 - 前記稼働時間外計画作成ステップは、
前記各資源について、前記評価結果により最遅終了時刻を満たさないと判断されたジョブの中で、前工程のジョブの終了時刻が最も早いジョブを稼働時間外割付対象ジョブと設定する稼働時間外割付対象ジョブ設定ステップと、
前記稼働時間外割付対象ジョブの前工程のジョブが割り付けられている日を割付候補日とする割付候補日抽出ステップと、
前記割付候補日が時間外労働可能かどうかを判断して、時間外労働可能と判断されるまで割付候補日を1日ずつ後ろにずらして割付日とする割付日抽出ステップと、
前記割付日と前記稼働時間外割付対象ジョブが割り付けられている日とが異なる場合、前記稼働時間外割付対象ジョブを処理する資源について、稼働時間外カレンダーの前記割付日を時間外労働日として設定する時間外労働日設定ステップと、
前記割付日と前記稼働時間外割付対象ジョブが割り付けられている日とが同じ場合、前記稼働時間外割付対象ジョブ及び前記稼働時間外割付対象ジョブと同資源で同日に開始予定となっているジョブについて、最遅終了時刻を満たすことが不能であることをジョブ情報として記憶するジョブ情報修正ステップと、を備えていることを特徴とする請求項1に記載のスケジューリング方法。 - 前記各ジョブの最遅終了時刻を、前記納期の他に、後工程のジョブとのリードタイムを考慮して計算することを特徴とする請求項1又は2に記載のスケジューリング方法。
- 前記複数のジョブが抽出される順番を予め記憶しておくための割付順記憶ステップをさらに備えていることを特徴とする請求項1〜3に記載のスケジューリング方法。
- 前記最遅終了時刻計算ステップ及び前記スケジュール作成ステップは、前記ジョブのいずれかを処理することが可能な資源が複数存在する場合に、各ジョブを前記複数の資源のいずれに仮に割り付けるかを決定する仮割付資源決定ステップを更に有することを特徴とする請求項1〜4に記載のスケジューリング方法。
- 複数のロットについて、少なくともロットの納期の情報を含んだロットの情報を記憶するロット情報記憶手段、
前記各ロットを通過する工程順に展開した複数のジョブについて、ジョブの特性を記憶するジョブ情報記憶手段、
前記複数のジョブのいずれかを処理することが可能な資源の処理能力を記憶する資源処理能力記憶手段、
前記各資源について、時間内労働の勤務日及び勤務時間が登録される稼動時間カレンダーを記憶する稼動時間カレンダー記憶手段、
前記各資源について、時間外労働が可能な勤務日及び勤務時間が登録される稼働時間外カレンダーを記憶する稼働時間外カレンダー記憶手段、
前記各ジョブについて、前記ジョブの特性及び前記資源の処理能力に基づいて、前記納期を達成するために完了すべき最遅終了時刻を計算する最遅終了時刻計算手段、
前記ジョブの特性及び前記資源の処理能力に基づいて、各ジョブを前記資源に割り付けて、稼動時間カレンダーに対してスケジュールを作成するスケジュール作成手段、
前記スケジュールにおいて、前記各ジョブについて前記最遅終了時刻を満たすか評価する評価手段、
前記評価結果により最遅終了時刻を満たさないと判断された各ジョブについて、最遅終了時刻を満たす又は最遅終了時刻を満たすことが不能と判断されるまで、当該ジョブが割り付けられた資源に対して稼働時間外カレンダーに時間外労働日を設定する稼働時間外計画作成手段、としてコンピュータを機能させるプログラム。 - 前記稼働時間外計画作成手段は、
前記各資源について、前記評価結果により最遅終了時刻を満たさないと判断されたジョブの中で、前工程のジョブの終了時刻が最も早いジョブを稼働時間外割付対象ジョブと設定する稼働時間外割付対象ジョブ設定手段と、
前記稼働時間外割付対象ジョブの前工程のジョブが割り付けられている日を割付候補日とする割付候補日抽出手段、
前記割付候補日が時間外労働可能かどうかを判断して、時間外労働可能と判断されるまで割付候補日を1日ずつ後ろにずらして割付日とする割付日抽出手段、前記割付日と前記稼働時間外割付対象ジョブが割り付けられている日とが異なる場合、前記稼働時間外割付対象ジョブを処理する資源について、稼働時間外カレンダーの前記割付日を時間外労働日として設定する時間外労働日設定手段、
前記割付日と前記稼働時間外割付対象ジョブが割り付けられている日とが同じ場合、前記稼働時間外割付対象ジョブ及び前記稼働時間外割付対象ジョブと同資源で同日に開始予定となっているジョブについて、最遅終了時刻を満たすことが不能であることをジョブ情報として記憶するジョブ情報修正手段、としてコンピュータをさらに機能させることを特徴とする請求項6に記載のプログラム。 - 前記各ジョブの最遅終了時刻を、前記納期の他に、後工程のジョブとのリードタイムを考慮して計算することを特徴とする請求項6又は7に記載のプログラム。
- 前記複数のジョブが抽出される順番を予め記憶しておくための割付順記憶手段をさらに備えていることを特徴とする請求項6〜8に記載のプログラム。
- 前記最遅終了時刻計算手段及び前記スケジュール作成手段は、前記ジョブのいずれかを処理することが可能な資源が複数存在する場合に、各ジョブを前記複数の資源のいずれに仮に割り付けるかを決定する仮割付資源決定手段を更に有することを特徴とする請求項6〜9に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002312676A JP2004145814A (ja) | 2002-10-28 | 2002-10-28 | スケジューリング方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002312676A JP2004145814A (ja) | 2002-10-28 | 2002-10-28 | スケジューリング方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004145814A true JP2004145814A (ja) | 2004-05-20 |
Family
ID=32457505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002312676A Pending JP2004145814A (ja) | 2002-10-28 | 2002-10-28 | スケジューリング方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004145814A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007157124A (ja) * | 2005-11-09 | 2007-06-21 | Kobe Steel Ltd | スケジュール修正装置及びスケジュール修正プログラム、並びにスケジュール修正方法 |
JP2011076131A (ja) * | 2009-09-29 | 2011-04-14 | Kobe Steel Ltd | 生産計画作成方法及び生産計画作成プログラム、並びに生産計画作成装置 |
JP2016207061A (ja) * | 2015-04-27 | 2016-12-08 | 株式会社神戸製鋼所 | 生産計画作成方法及び生産計画作成プログラム、並びに生産計画作成装置 |
JP2017072927A (ja) * | 2015-10-06 | 2017-04-13 | 株式会社神戸製鋼所 | スケジュール修正支援装置および方法 |
-
2002
- 2002-10-28 JP JP2002312676A patent/JP2004145814A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007157124A (ja) * | 2005-11-09 | 2007-06-21 | Kobe Steel Ltd | スケジュール修正装置及びスケジュール修正プログラム、並びにスケジュール修正方法 |
JP2011076131A (ja) * | 2009-09-29 | 2011-04-14 | Kobe Steel Ltd | 生産計画作成方法及び生産計画作成プログラム、並びに生産計画作成装置 |
JP2016207061A (ja) * | 2015-04-27 | 2016-12-08 | 株式会社神戸製鋼所 | 生産計画作成方法及び生産計画作成プログラム、並びに生産計画作成装置 |
JP2017072927A (ja) * | 2015-10-06 | 2017-04-13 | 株式会社神戸製鋼所 | スケジュール修正支援装置および方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5657189B2 (ja) | スケジュール修正装置及びスケジュール修正プログラム、並びにスケジュール修正方法 | |
Tavakkoli-Moghaddam et al. | A computer simulation model for job shop scheduling problems minimizing makespan | |
EP1716509A1 (en) | A project management method and system | |
JP2002279132A (ja) | 要員配置システムおよび要員配置プログラム | |
Hatchuel et al. | Towards a new planning and scheduling approach for multistage production systems | |
JP2004145814A (ja) | スケジューリング方法及びプログラム | |
JPH09101987A (ja) | プロジェクト進行管理装置 | |
JP5234818B2 (ja) | 生産計画作成方法及び生産計画作成プログラム、並びに生産計画作成装置 | |
JP5442524B2 (ja) | スケジュール作成方法及びスケジュール作成プログラム、並びにスケジュール作成装置 | |
JP4648136B2 (ja) | 生産計画作成方法及び生産計画作成装置、並びにプログラム | |
CN116151582A (zh) | 一种基于资源标识的版本自动排期方法、装置及存储介质 | |
JP2006146530A (ja) | スケジューリング支援システム | |
JP2006202082A (ja) | 生産ライン管理システムと生産ライン管理プログラムと記録媒体及び生産ライン管理方法 | |
JP4969059B2 (ja) | 生産日程計画方法 | |
JP4319026B2 (ja) | スケジュール作成方法及びスケジュール作成システム、並びにプログラム | |
JP2013109681A (ja) | スケジュール作成方法及びスケジュール作成プログラム、並びにスケジュール作成装置 | |
JP6382766B2 (ja) | 生産計画作成方法及び生産計画作成プログラム、並びに生産計画作成装置 | |
JP4777419B2 (ja) | スケジューリング装置、スケジューリング方法及び記録媒体 | |
JPH1086044A (ja) | 作業者裁量活用日程計画方法及び作業者裁量活用日程計画装置 | |
JP2000040099A (ja) | スケジュール作成装置及び方法、ジョブの選択方法並びにスケジュール作成用ソフトウェアを記録した記録媒体 | |
JP2005182685A (ja) | 生産計画作成方法及びプログラム | |
JP2008226044A (ja) | オルタネートスキルスケジューリングシステム、スケジューリング方法およびプログラム | |
JP2005190062A (ja) | 生産計画作成方法及びプログラム、並びに生産計画作成システム | |
JP2007317103A (ja) | 作業人員有効活用システム、作業人員有効活用方法、作業人員有効活用プログラムおよび作業人員有効活用プログラムを格納した記録媒体 | |
JP2011170705A (ja) | 作業計画管理装置、作業計画管理方法及び作業計画管理装置の制御プログラム |